Claims
- 1. A method of encryption to be performed by a computer, comprising:
- (a) providing a block of clear text data, the block comprising m bits of data, the block of data being sub-divided into n sub-blocks of data, the sub-blocks being assigned to n individual substitution boxes;
- (b) partially encrypting the n sub-blocks by assigning each of the n sub-blocks to one of n substitution boxes;
- (c) reassembling the partially encrypted n sub-blocks into an m-bit block;
- (d) selecting one of a quick trickle permutation or a quasi quick trickle permutation;
- (e) applying the permutation to the m bits of data;
- (f) dividing the permuted m bits of data into n sub-blocks of data;
- (g) repeating steps (b) to (f) for a predetermined number of rounds; and
- (h) displaying the encrypted data provided in (g).
- 2. The method of claim 1, wherein m is even.
- 3. The method of claim 2, wherein in (d), selecting the permutation comprises:
- (d)(1) selecting a quasi-sequencing {0, a.sub.1, a.sub.2, . . . , a.sub.c-1 } which is a sequence of elements {a.sub.i } of a group of c elements {0, a.sub.1, a.sub.2, . . . ,a.sub.c-1 }, where the following occurs: the group element a.sub.i such that a.sub.i =a.sub.i.sup.-1 occurs once and for each other group element: either (i) a.sub.i occurs twice and a.sub.i.sup.-1 does not occur, or, (ii) a.sub.i and a.sub.i.sup.-1 each occurs once, or (iii) a.sub.i.sup.-1 occurs twice and a.sub.i does not occur; where the group of c elements is arranged such that the sequence of partial sums b.sub.0 =0, b.sub.1,=a.sub.1, b.sub.2 =a.sub.1 +a.sub.2, . . . , b.sub.c-1 are all different;
- (d)(2) locating all pairs of elements a.sub.i and a.sub.j in the quasi-sequencing where a.sub.i =a.sub.j ;
- (d)(3) adding a constant c to a.sub.i, for all such pairs, replacing a.sub.i with a.sub.i +c and modifying the quasi-sequencing to {0,a.sub.1,a.sub.2, . . . ,a.sub.c-1 } where a.sub.i =a.sub.i +c;
- (d)(4) constructing a sequencing of size 2c, where the sequencing is {0,a.sub.1,a.sub.2, . . . ,a.sub.c-1,c, 2c-a.sub.c-1, . . . 2c-a.sub.2,2c-a.sub.1 };
- (d)(5) repeating step (d)(3);
- (d)(6) constructing a sequencing of size 4c, where {0,a.sub.1, . . . ,a.sub.c-1,c,2c-a.sub.c-1, . . . ,2c-a.sub.1,2c, 4c-�2c-a.sub.1 ! . . . ,4c-a.sub.1 };
- (d)(7) repeating step (d)(3) k times to obtain a sequencing of size m=c2.sup.k ; and
- (d)(8) providing the permutation corresponding to the sequencing.
- 4. The method of claim 1, wherein in (d), selecting the permutation comprises:
- (d)(1) selecting a quasi-sequencing {0, a.sub.1, a.sub.2, . . . , a.sub.c-1 } which is a sequence of elements {a.sub.i } of a group of c elements {0,a.sub.1,a.sub.2, . . . ,a.sub.c-1 } where the following occurs: the group element a.sub.i such that a.sub.i =a.sub.i.sup.-1 occurs once and for each other group element: either (i) a.sub.i occurs twice and a.sub.i.sup.-1 does not occur, or, (ii) a.sub.i and a.sub.i.sup.-1 each occurs once, or (iii) a.sub.i.sup.-1 occurs twice and a.sub.i, does not occur; where the group of c elements is arranged such that the sequence of partial sums b.sub.0 =0, b.sub.1,=a.sub.1, b.sub.2 =a.sub.1 +a.sub.2, . . . , b.sub.c-1, are all different;
- (d)(2) selecting one or more but not all pairs of elements a.sub.i and a.sub.j in the quasi-sequencing where a.sub.i =a.sub.j ;
- (d)(3) adding a constant c to a.sub.j for all such selected pairs, replacing a.sub.j with a.sub.j +c and modifying the quasi-sequencing to {0,a.sub.1,a.sub.2, . . . ,a.sub.c-1 } where a.sub.j =a.sub.j +c;
- (d)(4) constructing a quasi sequencing of size 2c, where the quasi sequencing is {0,a.sub.1,a.sub.2, . . . ,a.sub.c-1,c, 2c-a.sub.c-1, . . . 2c-a.sub.2,2c-a.sub.1 };
- (d)(5) repeating step (d)(3);
- (d)(6) constructing a quasi sequencing of size 4c, where {0,a.sub.1, . . . ,a.sub.c-1,c,2c-a.sub.c-1, . . . ,2c-a.sub.1,2c, 4c-�2c-a.sub.1 ! . . . ,4c-a.sub.1 };
- (d)(7) repeating step (d)(3) k times to obtain a quasi sequencing of size m=c2.sup.k ; and
- (d)(8) providing the permutation corresponding to the quasi sequencing.
- 5. The method of claim 1 wherein m is odd.
- 6. The method of claim 5 wherein in (d) selecting the quasi-quick trickle permutation comprises:
- (d)(1) selecting a quasi-sequencing {0, a.sub.1, a.sub.2, . . . , a.sub.c-1 } which is a sequence of elements {a.sub.i } of a group of m elements {0, a.sub.1, a.sub.2, . . . ,a.sub.m-1 }, where the following occurs: the group element a.sub.i such that a.sub.i =a.sub.i.sup.-1 occurs once and for any other group element, a.sub.i one of the following occurs: either (i) a.sub.i occurs twice and a.sub.i.sup.-1 does not occur, or (ii) a.sub.i and a.sub.i.sup.-1 each occurs once, or (iii) a.sub.i.sup.-1 occurs twice and a.sub.i does not occur; where the group of elements are arranged in such an order that the sequence of partial sums b.sub.0 =0, b.sub.1,=a.sub.1, b.sub.2 =a.sub.1 +a.sub.2, b.sub.3 =a1+a.sub.2 +a.sub.3, . . . , b.sub.m-1 are all different, wherein the sequence of distinct elements b.sub.i is called a terrace, and wherein the quasi-quick trickle permutation is one in which a totality of spacings from a location of an element i to a location of an element i+1 constitute a quasi-sequencing.
Parent Case Info
This is a Divisional Application of application Ser. No. 08/584,523, filed Jan. 11, 1996.
US Referenced Citations (26)
Divisions (1)
|
Number |
Date |
Country |
Parent |
584523 |
Jan 1996 |
|