Patent ID: 6035042
Filing Date: 2000-03-07
Classification: H04L

Abstract:
A method of encryption to be performed by a computer, comprising the steps of:(a) receiving a first table comprising a set of 2.sup.n distinct n-bit input numbers and a first set of 2.sup.n distinct n-bit output numbers, the first set of 2.sup.n, n-bit output numbers being a one-to-one mapping of the set of 2.sup.n, n-bit input numbers;(b) receiving a second table comprising of the set of 2.sup.n distinct n-bit input numbers and a second set of 2.sup.n distinct n-bit output numbers, the second set of 2.sup.n, n-bit output numbers being a one-to-one mapping of the set of 2.sup.n, n-bit input numbers, the second mapping of 2.sup.n, n-bit output numbers being disjoint from the first mapping of 2.sup.n, n-bit output numbers;(c) combining the first and the second tables to provide a third table having 2.sup.n pairs of n-bit input numbers and 2.sup.n pairs of n-bit output numbers, the third table having a predetermined order in which identical input numbers are arranged in pairs and identical output numbers are arranged in pairs;(d) generating a fourth table of 2.sup.n pairs of (n+1)-bit numbers by converting each of the 2.sup.n pairs of n-bit input numbers and each of the 2.sup.n pairs of n-bit output numbers in the third table, to (n+1)-bit numbers by inserting a bit position containing a zero in each of the 2.sup.n pairs of n-bit input numbers and in each of the 2.sup.n pairs of n-bit output numbers;(e) generating a supplemental (n+1)-bit number containing a one in the same bit position and a zero in the remaining n-bit positions;(f) adding the supplemental (n+1)-bit number to one of each pair of the 2.sup.n pairs of (n+1)-bit input numbers and to one of each pair of the 2.sup.n pairs of (n+1)-bit output numbers to obtain a fifth table comprising a set of 2.sup.n+1 distinct (n+1)-bit input numbers and a set of 2.sup.n+1 distinct (n+1)-bit output numbers, the set of 2.sup.n+1, (n+1)-bit output numbers being a one-to-one mapping of the 2.sup.n+1, (n+1)-bit input numbers; and(g) encrypting clear text data by providing (n+1)-bit clear text data as inputs to the fifth table to obtain the corresponding (n+1)-bit output number as a cipher text.