Claims
- 1. A method of encryption to be performed by a computer, comprising:
- (a) receiving successive blocks of data, each block of data being sub-divided into n sub-blocks of data, where n is an integer, the sub-block being assigned to n individual substitution boxes;
- (b) selecting one of a quick trickle or a quasi quick trickle permutation as a base permutation;
- (c) determining if a set of preselected exponents is to be applied to the base permutation;
- (d) generating the set of preselected exponents from one of a quick trickle or a quasi quick trickle permutation;
- (e)(1) applying the set of preselected exponents to the base permutation if step (c) determines that a preselected set of exponents is to be applied, to obtain a sequence of permutations, otherwise (e)(2) applying an integer k as an exponent to the base permutation for the kth round of encryption to obtain a resulting permutation;
- (f) for each round in a predetermined number of rounds, if (e)(1) is applied, applying a corresponding one of the permutations to the partially encrypted sub-blocks, assigning each partially encrypted sub-block as an input to the substitution box whose number is indicated by the the corresponding one of the sequence of permutations, and if (e)(2) is applied, applying the resulting permutation to the partially encrypted sub-blocks, assigning each partially encrypted sub-block as an input to the substitution box whose number is indicated by the resulting kth permutation; and
- (g) repeating (e) and (f) for the predetermined number of rounds; and
- (h) displaying the encrypted data provided in step (g).
- 2. The method of claim 1, wherein in (a), n is even.
- 3. The method of claim 2, wherein in (b), the 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 are all different and constitute a sequencing.
- 4. The method of claim 3, wherein (b) comprises selecting the quick trickle permutation and generating the quick trickle permutation by:
- providing a sequencing {0,a.sub.1,a.sub.2, . . . ,a.sub.n-1 } which is a sequence of all of the elements of a group of n elements 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 =a.sub.1 +a.sub.2 +a.sub.3, . . . , b.sub.n-1, are all different, which when applied as exponents to a permutation g provides a sequence of permutations g.sup.0, g.sup.a.sbsp.1, g.sup.a.sbsp.2, . . . , g.sup.a.sbsp.n-1, and where g.sup.0, g.sup.0 .smallcircle.g.sup.a.sbsp.1 =g.sup.b.sbsp.1, g.sup.0 .smallcircle.g.sup.a.sbsp.1 .smallcircle.g.sup.a.sbsp.2 =g.sup.b.sbsp.2, . . . , such that the sequence of exponents {0,b.sub.1 b.sub.2, . . . ,b.sub.n-1 } is a directed terrace; and
- wherein in step (d) the step of applying the set of preselected exponents comprises the step of applying successive integers of the directed terrace as the set of preselected exponents of the permutation.
- 5. The method of claim 4, wherein the number of rounds is multiple of n.
- 6. The method of claim 1, wherein (b) comprises selecting the quasi quick trickle permutation and generating the quasi quick trickle permutation by:
- providing a quasi-sequencing which is a sequence of elements {a.sub.i } of a group of n elements {0,a.sub.1,a.sub.2, . . . ,a.sub.n-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 elements are arranged in such an order that the sequence of partial sums b.sub.0 =0, b.sub.1 =a.sub.1 +a.sub.2, b.sub.3 =a.sub.1 +a.sub.2 +a.sub.3, . . . , b.sub.n-1, are all different, which when applied as exponents to a permutation g provides a sequence of permutations g.sup.0, g.sup.a.sbsp.1, g.sup.a.sbsp.2, . . . , g.sup.a.sbsp.n-1, and where g.sup.0, g.sup.0 .smallcircle.g.sup.a.sbsp.1 =g.sup.b.sbsp.1, g.sup.0 .smallcircle.g.sup.a.sbsp.1 .smallcircle.g.sup.a.sbsp.2 =g.sup.b.sbsp.2, . . . , such that the sequence of exponents {0,b.sub.1,b.sub.2, . . . ,b.sub.n-1 } is a terrace; and
- wherein in (d) the step of applying the set of preselected exponents comprises the step of applying successive integers of the directed terrace as the set of preselected exponents of the permutation.
- 7. The method of claim 1, wherein in (b), 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 are either different or occur no more than twice and constitute a quasi sequencing.
- 8. The method of claim 1, wherein in (a), n is odd.
- 9. The method of claim 1, wherein in (g), the number of rounds is multiple of n.
Parent Case Info
This is a Divisional Application of Application Ser. No. 08/584,523, filed Jan. 11, 1996.
US Referenced Citations (24)
Divisions (1)
|
Number |
Date |
Country |
Parent |
584523 |
Jan 1996 |
|