Cryptographic engine using logic and base conversions
First Claim
1. Encryption/Decryption apparatus comprising:
- a. means for retrieving information to be encoded/decoded, said information defining an array D1 of first elements,b. means for combining of the first elements of D1 by concatentation of at least one to another of said first elements of D1, wherein said concatenation results in formation of second elements of an array D2, and wherein the number of second elements is less than the number of first elements, but where at least one of the second elements is larger than at least one of the first elements,c. means for barrel rotating and modifying at least one of the second elements of D2, andd. means for converting and decatenating said modified second elements of array D2 back into the first elements of D1, ande. an array of R elements, said R elements arranged to provide information for directing and controlling one or more of elements b, c, and d.
0 Assignments
0 Petitions
Accused Products
Abstract
Apparatus and method for encrypting and decrypting using permutation, concatenation and decatenation together with rotation and arithmetic and logic combining with elements or digits or characters from random, pseudo-random, or arbitrary sources wherein the plaintext may be partitioned, block-by-block, the block size being a user selectable power of 2 in size. The data bytes in the input block are selected M bytes at a time, where M≧2, with permuted addressing to form a single concatenated data byte, CDB. The CDB is modified by rotating (or barrel shifting) a random bit distance. The CDB may also be modified before or after rotation by simple arithmetic/logic operations. After modification, the CDB is broken up into M bytes and each of the M bytes is placed into the output block with permuted addressing. The output block, or ciphertext, may again be used as an input block and the process repeated with a new output block. This scheme may be used as an encryption method by itself or in conjunction other block encryption methods. The latter may be accomplished by using this scheme between successive stages of other encryption methods on blocked data, or between an internal stage of these other methods. The sources of random numbers used to determine the distance for the random rotation operation can be from: a pseudo-random number generator, sampled music CD-ROMs, entries in tables, arrays, buffers, or any other digital source.
-
Citations
18 Claims
-
1. Encryption/Decryption apparatus comprising:
-
a. means for retrieving information to be encoded/decoded, said information defining an array D1 of first elements, b. means for combining of the first elements of D1 by concatentation of at least one to another of said first elements of D1, wherein said concatenation results in formation of second elements of an array D2, and wherein the number of second elements is less than the number of first elements, but where at least one of the second elements is larger than at least one of the first elements, c. means for barrel rotating and modifying at least one of the second elements of D2, and d. means for converting and decatenating said modified second elements of array D2 back into the first elements of D1, and e. an array of R elements, said R elements arranged to provide information for directing and controlling one or more of elements b, c, and d. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for encryption/decryption comprising the steps of:
-
a. retrieving information to be encoded/decoded, said information defining an array D1 of first elements, b. combining of the first elements of D1 by concatenation of said first elements of D1, one to another, wherein said concatenation results in formation of second elements of an array D2, wherein the number of second elements is less than the number of first elements, but where at least one of the second elements is larger than at least one of the first elements, c. barrel rotating and modifying at least one of the second elements of array D2, and d. converting and decatenating said modified second elements of array D2 back into the first elements of D1, and e. providing an array of R elements, said R elements arranged to provide information for directing and controlling one or more of elements b, c, and d. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
Specification