Secret key cryptosystem and method utilizing factorizations of permutation groups of arbitrary order 2.sup.l
First Claim
1. A system for receiving input vectors, of length L, and outputting encrypted vector, versions of said input vectors, of length L, each of said input and output vectors consisting of a sequential plurality of binary digits, said system comprising, in functional combination:
- a) a vector accepting means for receiving input binary digit vectors; and
b) a data key expanding pseudo-random number generator means for accepting a user provided input data key, and generating and outputting a data key dependent sequence of pseudo-random numbers; and
c) a first logarithmic signature containing storage means which comprises memory for containing a first logarithmic signature, said first logarithmic signature consisting of a plurality of mathematical construct blocks, each of said mathematical construct blocks containing at least two permutations of a sequential plurality of numbers; and
d) a second logarithmic signature containing storage means which comprises memory for containing a second logarithmic signature, said second logarithmic signature consisting of a plurality of mathematical construct blocks, each of said mathematical construct blocks containing at least two permutations of a sequential plurality of numbers;
wherein said first and second logarithmic signatures are characterized by a requirement that logarithmic signatures be a collection of ordered mathematical construct blocks in which each input vector encrypted by utilization thereof can be uniquely represented as one, and only one, composition of permutations which are present in said logarithmic signature, one such permutation subjected to composition being selected from each of said ordered mathematical construct blocks; and
e) a primary mathematical operations means which comprises;
means for accepting a sequence of pseudo-random numbers;
means for accessing said first logarithmic signature containing storage means;
means for accessing said second logarithmic signature containing storage means; and
means for applying a sequence of pseudo-random numbers to a first logarithmic signature, said first logarithmic signature being stored in said first logarithmic signature containing storage means, and producing at least a second logarithmic signature, and storing it in said second logarithmic signature containing storage means; and
f) a primary factorization means for identifying, accessing and concatenating into a primary factorization means output vector, binary pointers which identify locations of permutations in a second logarithmic signature stored in said second logarithmic signature containing storage means, which permutations, when sequentially composed, duplicate a vector input into said primary factorization means;
said system being functionally structured such that inputting a user defined data key to said data key expanding pseudo-random number generator means, results in said data key expanding pseudo-random number generator means outputting a sequence of pseudo-random numbers in response; and
said system being further functionally structured such that after receipt of a sequence of pseudo-random numbers by said primary mathematical operations means, mathematical manipulation of a first logarithmic signature stored in said first logarithmic signature containing storage means is performed to form a second logarithmic signature, which second logarithmic signature is then stored in said second logarithmic signature containing storage means, while preserving the requirement that logarithmic signatures be a collection of ordered mathematical construct blocks in which each input vector encrypted by utilization thereof can be uniquely represented as one, and only one composition of permutations which are present in said logarithmic signature, one such permutation subjected to composition being selected from each of said ordered mathematical construct blocks; and
said system being further functionally structured such that after entering at least one input vector to said primary factorization means from said vector accepting means for receiving input binary digit vectors, said primary factorization means identifies permutations present in said mathematical construct blocks of said second logarithmic signature, stored in said second logarithmic signature storage means, which when sequentially composed result in said at least one input vector; and
said system being further functionally structured such that said primary factorization means further assigns identified permutations in each of said mathematical construct blocks of a second logarithmic signature, stored in said second logarithmic signature containing storage means, a binary digit pointer which identifies the permutation location within said second logarithmic signature, andsaid system being further functionally structured such that said primary factorization means further sequentially concatenates identified binary digit location pointers into a once encrypted vector, of length L, of said at least one input vector, of length L, which is input to said vector accepting means for receiving input binary digit vectors, and makes said once encrypted vector, of length L, of said at least one input vector of length L, available as output therefrom, at an output means thereof.
0 Assignments
0 Petitions
Accused Products
Abstract
A secret-key block-cipher utilizing the principles of factorization and composition with respect to general logarithmic signatures in permutation groups of arbitrary size 2l, and methods of use thereof are disclosed. The preferred embodiment uses two encryption/decryption stages from composition and factorization means including novel and efficient circuits for multiplication and inversion of permutations, operating in their compact form representation. The system is scalable to any input/output block size l and performs encryption/decryption at very high data rates.
106 Citations
25 Claims
-
1. A system for receiving input vectors, of length L, and outputting encrypted vector, versions of said input vectors, of length L, each of said input and output vectors consisting of a sequential plurality of binary digits, said system comprising, in functional combination:
-
a) a vector accepting means for receiving input binary digit vectors; and b) a data key expanding pseudo-random number generator means for accepting a user provided input data key, and generating and outputting a data key dependent sequence of pseudo-random numbers; and c) a first logarithmic signature containing storage means which comprises memory for containing a first logarithmic signature, said first logarithmic signature consisting of a plurality of mathematical construct blocks, each of said mathematical construct blocks containing at least two permutations of a sequential plurality of numbers; and d) a second logarithmic signature containing storage means which comprises memory for containing a second logarithmic signature, said second logarithmic signature consisting of a plurality of mathematical construct blocks, each of said mathematical construct blocks containing at least two permutations of a sequential plurality of numbers; wherein said first and second logarithmic signatures are characterized by a requirement that logarithmic signatures be a collection of ordered mathematical construct blocks in which each input vector encrypted by utilization thereof can be uniquely represented as one, and only one, composition of permutations which are present in said logarithmic signature, one such permutation subjected to composition being selected from each of said ordered mathematical construct blocks; and e) a primary mathematical operations means which comprises; means for accepting a sequence of pseudo-random numbers; means for accessing said first logarithmic signature containing storage means; means for accessing said second logarithmic signature containing storage means; and means for applying a sequence of pseudo-random numbers to a first logarithmic signature, said first logarithmic signature being stored in said first logarithmic signature containing storage means, and producing at least a second logarithmic signature, and storing it in said second logarithmic signature containing storage means; and f) a primary factorization means for identifying, accessing and concatenating into a primary factorization means output vector, binary pointers which identify locations of permutations in a second logarithmic signature stored in said second logarithmic signature containing storage means, which permutations, when sequentially composed, duplicate a vector input into said primary factorization means; said system being functionally structured such that inputting a user defined data key to said data key expanding pseudo-random number generator means, results in said data key expanding pseudo-random number generator means outputting a sequence of pseudo-random numbers in response; and said system being further functionally structured such that after receipt of a sequence of pseudo-random numbers by said primary mathematical operations means, mathematical manipulation of a first logarithmic signature stored in said first logarithmic signature containing storage means is performed to form a second logarithmic signature, which second logarithmic signature is then stored in said second logarithmic signature containing storage means, while preserving the requirement that logarithmic signatures be a collection of ordered mathematical construct blocks in which each input vector encrypted by utilization thereof can be uniquely represented as one, and only one composition of permutations which are present in said logarithmic signature, one such permutation subjected to composition being selected from each of said ordered mathematical construct blocks; and said system being further functionally structured such that after entering at least one input vector to said primary factorization means from said vector accepting means for receiving input binary digit vectors, said primary factorization means identifies permutations present in said mathematical construct blocks of said second logarithmic signature, stored in said second logarithmic signature storage means, which when sequentially composed result in said at least one input vector; and said system being further functionally structured such that said primary factorization means further assigns identified permutations in each of said mathematical construct blocks of a second logarithmic signature, stored in said second logarithmic signature containing storage means, a binary digit pointer which identifies the permutation location within said second logarithmic signature, and said system being further functionally structured such that said primary factorization means further sequentially concatenates identified binary digit location pointers into a once encrypted vector, of length L, of said at least one input vector, of length L, which is input to said vector accepting means for receiving input binary digit vectors, and makes said once encrypted vector, of length L, of said at least one input vector of length L, available as output therefrom, at an output means thereof. - View Dependent Claims (2, 3, 4)
-
-
5. A system for receiving input vectors, of length L, and outputting encrypted vector versions of said input vectors, of length L, each of said input and output vectors consisting of a sequential plurality of binary digits, said system comprising, in functional combination:
-
a) a vector accepting means for receiving input binary digit vectors; and b) a data key expanding pseudo-random number generator means for accepting a user provided input data key, and generating and outputting a data key dependent sequence of pseudo-random numbers; and c) a first logarithmic signature containing storage means which comprises memory for containing a first logarithmic signature, said first logarithmic signature consisting of a plurality of mathematical construct blocks, each of said mathematical construct blocks containing at least two permutations of a sequential plurality of numbers; and d) a second logarithmic signature containing storage means which comprises memory for containing a second logarithmic signature, said second logarithmic signature consisting of a plurality of mathematical construct blocks, each of said mathematical construct blocks containing at least two permutations of a sequential plurality of numbers; wherein said first and second logarithmic signatures are characterized by a requirement that logarithmic signatures be a collection of ordered mathematical construct blocks in which each input vector encrypted by utilization thereof can be uniquely represented as one, and only one, composition of permutations which are present in said logarithmic signature, one such permutation subjected to composition being selected from each of said ordered mathematical construct blocks; and e) a primary mathematical operations means which comprises; means for accepting a sequence of pseudo-random numbers; means for accessing said first logarithmic signature containing storage means; means for accessing said second logarithmic signature containing storage means; and means for applying a sequence of pseudo-random numbers to a first logarithmic signature, said first logarithmic signature being stored in said first logarithmic signature containing storage means, and producing at least a second logarithmic signature, and storing it in said second logarithmic signature containing storage means; and f) a primary composition means which comprises means for identifying, accessing and sequentially multiplying a plurality of permutations, of a sequential plurality of binary digits, in a second logarithmic signature stored in said second logarithmic signature containing storage means, to provide a primary composition means output vector; said system being functionally structured such that inputting a user defined data key to said data key expanding pseudo-random number generator means, results in said data key expanding pseudo-random number generator means outputting a sequence of pseudo-random numbers in response; and said system being further functionally structured such that after receipt of a sequence of pseudo-random numbers by said primary mathematical operations means, mathematical manipulation of a first logarithmic signature stored in said first logarithmic signature containing storage means is performed to form a second logarithmic signature which is then stored in said second logarithmic signature containing storage means, while preserving the requirement that logarithmic signatures be a collection of ordered mathematical construct blocks in which each input vector encrypted by utilization thereof can be uniquely represented as one, and only one composition of permutations which are present in said logarithmic signature, one such permutation subjected to composition being selected from each of said ordered mathematical construct blocks; and said system being further functionally structured such that after entering at least one input vector to said primary composition means from said vector accepting means for receiving input binary digit vectors, said primary composition means identifies a permutation in each of said mathematical construct blocks of said second logarithmic signature, stored in said second logarithmic signature containing storage means; and said system being further functionally structured such that said identified permutations in each of said mathematical construct blocks of said second logarithmic signature, stored in said second logarithmic signature containing storage means, are then caused to be sequentially multiplied in said primary composition means; and said system being further functionally structured such that said primary composition means makes the results of said sequential multiplication available, as a once encrypted vector, version of said at least one input vector, of length L, entered to said vector accepting means for receiving input binary digit vectors, as output therefrom, at an output means thereof. - View Dependent Claims (6, 7, 8, 9)
-
-
10. A method of receiving input vectors of length L, and outputting encrypted vectors, of length L, each of which input and output vectors consists of a sequential plurality of binary digits, said method comprising the steps of:
-
A) providing an electronic system for receiving input vectors, of length L, and outputting encrypted vector, of length L, versions of said input vectors, each of said input and output vectors consisting of a sequential plurality of binary digits, said electronic system comprising, in functional combination; A1) a system for receiving input vectors, of length L, and outputting encrypted vector, of length L, versions of said input vectors, each of said input and output vectors consisting of a sequential plurality of binary digits, said system comprising, in functional combination; a) a vector accepting means for receiving input binary digit vectors; and b) a data key expanding pseudo-random number generator means for accepting a user provided input data key, and generating and outputting a data key dependent sequence of pseudo-random numbers; and c) a first logarithmic signature containing storage means which comprises memory for containing a first logarithmic signature, said first logarithmic signature consisting of a plurality of mathematical construct blocks, each of said mathematical construct blocks containing at least two permutations of a sequential plurality of numbers; and d) a second logarithmic signature containing storage means which comprises memory for containing a second logarithmic signature, said second logarithmic signature consisting of a plurality of mathematical construct blocks, each of said mathematical construct blocks containing at least two permutations of a sequential plurality of numbers; wherein said first and second logarithmic signatures are characterized by a requirement that logarithmic signatures be a collection of ordered mathematical construct blocks in which each input vector encrypted by utilization thereof can be uniquely represented as one, and only one, composition of permutations which are present in said logarithmic signature, one such permutation subjected to composition being selected from each of said ordered mathematical construct blocks; and e) a primary mathematical operations means which comprises; means for accepting a sequence of pseudo-random numbers; means for accessing said first logarithmic signature containing storage means; means for accessing said second logarithmic signature containing storage means; and means for applying a sequence of pseudo-random numbers to a first logarithmic signature, said first logarithmic signature being stored in said first logarithmic signature containing storage means, and producing at least a second logarithmic signature, and storing it in said second logarithmic signature containing storage means; and f) a primary factorization means for identifying, accessing and concatenating in to a primary factorization means output vector, binary pointers which identify locations of permutations in a second logarithmic signature stored in said second logarithmic signature containing storage means, which permutations, when sequentially composed, duplicate a vector input into said primary factorization means; said system being functionally structured such that inputting a user defined data key to said data key expanding pseudo-random number generator means, results in said data key expanding pseudo-random number generator means outputting a sequence of pseudo-random numbers in response; and said system being further functionally structured such that after receipt of a sequence of pseudo-random numbers by said primary mathematical operations means, mathematical manipulation of a first logarithmic signature stored in said first logarithmic signature containing storage means is performed to form a second logarithmic signature, which second logarithmic signature is then stored in said second logarithmic signature containing storage means, while preserving the requirement that logarithmic signatures be a collection of ordered mathematical construct blocks in which each input vector encrypted by utilization thereof can be uniquely represented as one, and only one composition of permutations which are present in said logarithmic signature, one such permutation subjected to composition being selected from each of said ordered mathematical construct blocks; and said system being further functionally structured such that after entering at least one input vector to said primary factorization means from said vector accepting means for receiving input binary digit vectors, said primary factorization means identifies permutations present in said mathematical construct blocks of said second logarithmic signature, stored in said second logarithmic signature storage means, which when sequentially composed result in said at least one input vector; and said system being further functionally structured such that said primary factorization means further assigns identified permutations in each of said mathematical construct blocks of a second logarithmic signature, stored in said second logarithmic signature containing storage means, a binary digit pointer which identifies the permutation location within said second logarithmic signature, and said system being further functionally structured such that said primary factorization means further sequentially concatenates identified binary digit location pointers into a once encrypted vector, of length L, of said at least one input vector, of length L, which is input to said vector accepting means for receiving input binary digit vectors, and makes said once encrypted vector, of length L, of said at least one input vector of length L, available as output therefrom, at an output means thereof; B) entering a first logarithmic signature to said first logarithmic containing storage means, and entering a data key to said data key expanding pseudo-random number generator means for accepting a user provided input data key; C) entering at least one input vector to said primary factorization means from said vector accepting means for receiving input binary digit vectors; and D) outputting a once encrypted vector, of length L, version of the input vector, of length L, of said at least one input vector, of length L, input to said vector accepting means for receiving input binary digit vectors, at the output means of said primary factorization means. - View Dependent Claims (16, 18, 19, 20, 21, 22)
-
-
11. A method of receiving input vectors of length L, and outputting encrypted vectors of length L, each of which input and output vectors consists of a sequential plurality of binary digits, said method comprising the steps of:
-
A) providing an electronic system for receiving input vectors, of length L, and outputting encrypted vector, of length L, versions of said input vectors, each of said input and output vectors consisting of a sequential plurality of binary digits, said electronic system comprising, in functional combination; A1) a system for receiving input vectors, of length L, and outputting encrypted vector, of length L, versions of said input vectors, each of said input and output vectors consisting of a sequential plurality of binary digits, said system comprising, in functional combination; a) a vector accepting means for receiving input binary digit vectors; and b) a data key expanding pseudo-random number generator means for accepting a user provided input data key, and generating and outputting a data key dependent sequence of pseudo-random numbers; and c) a first logarithmic signature containing storage means which comprises memory for containing a first logarithmic signature, said first logarithmic signature consisting of a plurality of mathematical construct blocks, each of said mathematical construct blocks containing at least two permutations of a sequential plurality of numbers; and d) a second logarithmic signature containing storage means which comprises memory for containing a second logarithmic signature, said second logarithmic signature consisting of a plurality of mathematical construct blocks, each of said mathematical construct blocks containing at least two permutations of a sequential plurality of numbers; wherein said first and second logarithmic signatures are characterized by a requirement that logarithmic signatures be a collection of ordered mathematical construct blocks in which each input vector encrypted by utilization thereof can be uniquely represented as one, and only one, composition of permutations which are present in said logarithmic signature, one such permutation subjected to composition being selected from each of said ordered mathematical construct blocks; and e) a primary mathematical operations means which comprises; means for accepting a sequence of pseudo-random numbers; means for accessing said first logarithmic signature containing storage means; means for accessing said second logarithmic signature containing storage means; and means for applying a sequence of pseudo-random numbers to a first logarithmic signature, said first logarithmic signature being stored in said first logarithmic signature containing storage means, and producing at least a second logarithmic signature, and storing it in said second logarithmic signature containing storage means; and f) a primary composition means which comprises means for identifying, accessing and sequentially multiplying a plurality of permutations, of a sequential plurality of binary digits, in a second logarithmic signature stored in said second logarithmic signature containing storage means, to provide a primary composition means output vector; said system being functionally structured such that inputting a user defined data key to said data key expanding pseudo-random number generator means, results in said data key expanding pseudo-random number generator means outputting a sequence of pseudo-random numbers in response; and said system being further functionally structured such that after receipt of a sequence of pseudo-random numbers by said primary mathematical operations means, mathematical manipulation of a first logarithmic signature stored in said first logarithmic signature containing storage means is performed to form a second logarithmic signature which is then stored in said second logarithmic signature containing storage means, while preserving the requirement that logarithmic signatures be a collection of ordered mathematical construct blocks in which each input vector encrypted by utilization thereof can be uniquely represented as one, and only one composition of permutations which are present in said logarithmic signature, one such permutation subjected to composition being selected from each of said ordered mathematical construct blocks; and said system being further functionally structured such that after entering at least one input vector to said primary composition means from said vector accepting means for receiving input binary digit vectors, said primary composition means identifies a permutation in each of said mathematical construct blocks of said second logarithmic signature, stored in said second logarithmic signature containing storage means; and said system being further functionally structured such that said identified permutations in each of said mathematical construct blocks of said second logarithmic signature, stored in said second logarithmic signature containing storage means, are then caused to be sequentially multiplied in said primary composition means; and said system being further functionally structured such that said primary composition means makes the results of said sequential multiplication available, as a once encrypted vector, version of said at least one input vector, of length L, entered to said vector accepting means for receiving input binary digit vectors, as output therefrom, at an output means thereof; B) entering a first logarithmic signature to said first logarithmic signature containing storage means, and entering a data key to said data key expanding pseudo-random number generator means for accepting a user provided input data key; C) entering at least one input vector to said primary factorization means from said vector accepting means for receiving input binary digit vectors; and D) outputting a once encrypted vector, of length L, version of the input vector, of length L, of said at least one input vector, input to said vector accepting means for receiving input binary digit vectors, at the output means of said primary composition means. - View Dependent Claims (17)
-
-
12. A method of encrypting input vectors of length L, and outputting encrypted vectors of length L, each of which input and output vectors consists of a sequential plurality of binary digits, said method comprising the steps of:
-
A) providing an electronic system for receiving input vectors of length L, and outputting encrypted vectors of length L, each of which input and output vectors consists of a sequential plurality of binary digits, said system comprising; A1) a system for receiving input vectors, of length L, and outputting encrypted vector, of length L, versions of said input vectors, each of said input and output vectors consisting of a sequential plurality of binary digits, said system comprising, in functional combination; a) a vector accepting means for receiving input binary digit vectors; and b) a data key expanding pseudo-random number generator means for accepting a user provided input data key, and generating and outputting a data key dependent sequence of pseudo-random numbers; and c) a first logarithmic signature containing storage means which comprises memory for containing a first logarithmic signature, said first logarithmic signature consisting of a plurality of mathematical construct blocks, each of said mathematical construct blocks containing at least two permutations of a sequential plurality of numbers; and d) a second logarithmic signature containing storage means which comprises memory for containing a second logarithmic signature, said second logarithmic signature consisting of a plurality of mathematical construct blocks, each of said mathematical construct blocks containing at least two permutations of a sequential plurality of numbers; wherein said first and second logarithmic signatures are characterized by a requirement that logarithmic signatures be a collection of ordered mathematical construct blocks in which each input vector encrypted by utilization thereof can be uniquely represented as one, and only one, composition of permutations which are present in said logarithmic signature, one such permutation subjected to composition being selected from each of said ordered mathematical construct blocks; and e) a primary mathematical operations means which comprises; means for accepting a sequence of pseudo-random numbers; means for accessing said first logarithmic signature containing storage means; means for accessing said second logarithmic signature containing storage means; and means for applying a sequence of pseudo-random numbers to a first logarithmic signature, said first logarithmic signature being stored in said first logarithmic signature containing storage means, and producing at least a second logarithmic signature, and storing it in said second logarithmic signature containing storage means; and f) a primary factorization means for identifying, accessing and concatenating into, a primary factorization means output vector, binary pointers which identify locations of permutations in a second logarithmic signature stored in said second logarithmic signature containing storage means, which permutations, when sequentially composed, duplicate a vector input into said primary factorization means; said system being functionally structured such that inputting a user defined data key to said data key expanding pseudo-random number generator means, results in said data key expanding pseudo-random number generator means outputting a sequence of pseudo-random numbers in response; and said system being further functionally structured such that after receipt of a sequence of pseudo-random numbers by said primary mathematical operations means, mathematical manipulation of a first logarithmic signature stored in said first logarithmic signature containing storage means is performed to form a second logarithmic signature, which second logarithmic signature is then stored in said second logarithmic signature containing storage means, while preserving the requirement that logarithmic signatures be a collection of ordered mathematical construct blocks in which each input vector encrypted by utilization thereof can be uniquely represented as one, and only one composition of permutations which are present in said logarithmic signature, one such permutation subjected to composition being selected from each of said ordered mathematical construct blocks; and said system being further functionally structured such that after entering at least one input vector to said primary factorization means from said vector accepting means for receiving input binary digit vectors, said primary factorization means identifies permutations present in said mathematical construct blocks of said second logarithmic signature, stored in said second logarithmic signature storage means, which when sequentially composed result in said at least one input vector; and said system being further functionally structured such that said primary factorization means further assigns identified permutations in each of said mathematical construct blocks of a second logarithmic signature, stored in said second logarithmic signature containing storage means, a binary digit pointer which identifies the permutation location within said second logarithmic signature, and said system being further functionally structured such that said primary factorization means further sequentially concatenates identified binary digit location pointers into a once encrypted vector, of length L, of said at least one input vector, of length L, which is input to said vector accepting means for receiving input binary digit vectors, and makes said once encrypted vector, of length L, of said at least one input vector of length L, available as output therefrom, at an output means thereof; said electronic system for receiving input vectors of length L, and outputting encrypted vectors of length L, each of which input and output vectors consists of a sequential plurality of binary digits, further comprising additional structure selected from the group consisting of A2 and A3, in which said A2 and A3 are; A2) said system for receiving input vectors of length L, and outputting encrypted vectors of length L, as described supra in A1, which further functionally comprises; g) a third logarithmic signature containing storage means which comprises memory for containing a third logarithmic signature, said third logarithmic signature consisting of a plurality of mathematical construct blocks, each of said mathematical construct blocks containing at least two permutations of a sequential plurality of numbers; wherein said third logarithmic signature is characterized by the requirement that logarithmic signatures be a collection of ordered mathematical construct blocks in which each input vector encrypted by utilization thereof can be uniquely represented as one, and only one, composition of permutations which are present in said logarithmic signature, one such permutation subjected to, composition being selected from each of said ordered mathematical construct blocks; and h.) a composition means which comprises means for identifying, accessing and sequentially multiplying a plurality of permutations, of a sequential plurality of binary digits, in a third logarithmic signature stored in said third logarithmic signature containing storage means, to provide a composition means output vector; said system being functionally structured such that after inputting a sequence of pseudo-random numbers produced by said pseudo-random number generator means, to a selection from the group consisting of; said primary mathematical operations means; and a mathematical operations means other than said primary mathematical operations means which is functionally equivalent to said primary mathematical operations means; which selection comprises; means for accepting a sequence of pseudo-random numbers; means for accessing said first logarithmic signature containing storage means; means for accessing said third logarithmic signature containing storage means; and means for applying a sequence of pseudo-random numbers to a first logarithmic signature, said first logarithmic signature being stored in said first logarithmic signature containing storage means, and producing a third logarithmic signature, and storing it in said third logarithmic signature containing storage means; said selection performs mathematical manipulation of a first logarithmic signature stored in said first logarithmic signature containing storage means, to form a third logarithmic signature, said third logarithmic signature being non-identical to said second logarithmic signature, and which third logarithmic signature is then stored in said third logarithmic signature containing storage means, while preserving the property of logarithmic signatures requiring that logarithmic signatures be a collection of ordered mathematical construct blocks in which each input vector encrypted by utilization thereof can be uniquely represented as one, and only one composition of permutations which are present in said logarithmic signature, one such permutation subjected to composition being selected from each of said ordered mathematical construct blocks; and said system being further functionally structured such that after the entering of, said once encrypted vector version of said at least one input vector output by said primary factorization means, to said composition means, said once encrypted vector version of at least one input vector output by said primary factorization means is applied to said third logarithmic signature stored in said third logarithmic signature containing storage means, such that a permutation in each of said mathematical construct blocks of said third logarithmic signature is identified; and said system being further functionally structured such that said identified permutations in each of said mathematical construct blocks of said third logarithmic signature are then sequentially multiplied in said composition means, and said system being further functionally structured such that said composition means makes the results of said sequential multiplication available as a twice encrypted vector, of length L, version of said at least one input vector, of length L, entered to said vector accepting means for receiving input binary digit vectors, as output therefrom, at a second stage output means thereof; and A3) said system for receiving input vectors of length L, and outputting encrypted vectors of length L, as described supra in A1, which further functionally comprises; g.) a third logarithmic signature containing storage means which comprises memory for containing a third logarithmic signature, said third logarithmic signature consisting of a plurality of mathematical construct blocks, each of said mathematical construct blocks containing at least two permutations of a sequential plurality of numbers; wherein said third logarithmic signature is characterized by the requirement that logarithmic signatures be a collection of ordered mathematical construct blocks in which each input vector encrypted by utilization thereof can be uniquely represented as one, and only one, composition of permutations which are present in said logarithmic signature, one such permutation subjected to composition being selected from each of said ordered mathematical construct blocks; and h.) a secondary factorization means for identifying, accessing and concatenating into a secondary factorization means output vector, binary pointers which identify locations of permutations in a third logarithmic signature stored in said third logarithmic signature containing storage means, which permutations, when sequentially composed, duplicate a vector input into said secondary factorization means; said system being functionally structured such that after inputting a sequence of pseudo-random numbers produced by said pseudo-random number generator means to a selection from the group consisting of; said primary mathematical operations means; and a mathematical operations means other than said primary mathematical operations means which is functionally equivalent to said primary mathematical operations means; which selection comprises; means for accepting a sequence of pseudo-random numbers; means for accessing said first logarithmic signature containing storage means; means for accessing said third logarithmic signature containing storage means; and means for applying a sequence of pseudo-random numbers to a first logarithmic signature, said first logarithmic signature being stored in said first logarithmic signature containing storage means, and producing a third logarithmic signature, and storing it in said third logarithmic signature containing storage means; said selection performs mathematical manipulation of a first logarithmic signature stored in said first logarithmic signature containing storage means, to form a third logarithmic signature, said third logarithmic signature being non-identical to said second logarithmic signature, and which third logarithmic signature is then stored in said third logarithmic signature containing storage means, while preserving the property of logarithmic signatures requiring that logarithmic signatures be a collection of ordered mathematical construct blocks in which each input vector encrypted by utilization thereof can be uniquely represented as one, and only one composition of permutations which are present in said logarithmic signature, one such permutation subjected to composition being selected from each of said ordered mathematical construct blocks; and said system being further functionally structured such that after the entering of, said once encrypted vector version of said at least one input vector output by said primary factorization means, to said secondary factorization means, said once encrypted vector version of at least one input vector output be said primary factorization means is applied to said third logarithmic signature stored in said third logarithmic signature containing storage means, and permutations present in said mathematical construct blocks of said third logarithmic signature are identified which when sequentially composed result in said at least one once encrypted vector version input thereto; and said system being further functionally structured such that said secondary factorization means further assigns identified permutations in each of said mathematical construct blocks of said third logarithmic signature stored in said third logarithmic signature containing storage means, a binary digit pointer which identifies the permutation location within said third logarithmic signature, and said system being further functionally structured such that said secondary factorization means further sequentially concatenates said identified binary digit location pointers into a twice encrypted vector, of length L, version of said at least one input vector, of length L, input to said vector accepting means for receiving input binary digit vectors, and makes said twice encrypted vector, of length L, version of said at least one input vector, of length L, entered to said vector accepting means for receiving input binary digit vectors, available as output therefrom, at a second stage output means thereof; and said method further comprising the steps of; B) entering a first logarithmic signature to said first logarithmic signature containing storage means, and entering a data key to said data key expanding pseudo-random number generator means for accepting a user provided input data key; C) entering at least one input vector into said primary factorization means, via said means for receiving input binary digit vectors; and D) outputting a twice encrypted vector, of length L, version of said at least one input vector, of length L, input to said vector accepting means for receiving input binary digit vectors, at said second stage output means. - View Dependent Claims (14)
-
-
13. A method of encrypting input vectors of length L, and outputting encrypted vectors of length L, each of which input and output vectors consists of a sequential plurality of binary digits, said method comprising the steps of:
-
A) providing an electronic system for receiving input vectors of length L, and outputting encrypted vectors of length L, each of which input and output vectors consists of a sequential plurality of binary digits, said system comprising; A1) a system for receiving input vectors, of length L, and outputting encrypted vector, of length L, versions of said input vectors, each of said input and output vectors consisting of a sequential plurality of binary digits, said system comprising, in functional combination; a) a vector accepting means for receiving input binary digit vectors; and b) a data key expanding pseudo-random number generator means for accepting a user provided input data key, and generating and outputting a data key dependent sequence of pseudo-random numbers; and c) a first logarithmic signature containing storage means which comprises memory for containing a first logarithmic signature, said first logarithmic signature consisting of a plurality of mathematical construct blocks, each of said mathematical construct blocks containing at least two permutations of a sequential plurality of numbers; and d) a second logarithmic signature containing storage means which comprises memory for containing a second logarithmic signature, said second logarithmic signature consisting of a plurality of mathematical construct blocks, each of said mathematical construct blocks containing at least two permutations of a sequential plurality of numbers; wherein said first and second logarithmic signatures are characterized by a requirement that logarithmic signatures be a collection of ordered mathematical construct blocks in which each input vector encrypted by utilization thereof can be uniquely represented as one, and only one, composition of permutations which are present in said logarithmic signature, one such permutation subjected to composition being selected from each of said ordered mathematical construct blocks; and e) a primary mathematical operations means which comprises; means for accepting a sequence of pseudo-random numbers; means for accessing said first logarithmic signature containing storage means; means for accessing said second logarithmic signature containing storage means; and means for applying a sequence of pseudo-random numbers to a first logarithmic signature, said first logarithmic signature being stored in said first logarithmic signature containing storage means, and producing at least a second logarithmic signature, and storing it in said second logarithmic signature containing storage means; and f) a primary composition means which comprises means for identifying, accessing and sequentially multiplying a plurality of permutations, of a sequential plurality of binary digits, in a second logarithmic signature stored in said second logarithmic signature containing storage means, to provide a primary composition means out put vector; said system being functionally structured such that inputting a user defined data key to said data key expanding pseudo-random number generator means, results in said data key expanding pseudo-random number generator means outputting a sequence of pseudo-random numbers in response; and said system being further functionally structured such that after receipt of a sequence of pseudo-random numbers by said primary mathematical operations means, mathematical manipulation of a first logarithmic signature stored in said first logarithmic signature containing storage means is performed to form a second logarithmic signature which is then stored in said second logarithmic signature containing storage means, while preserving the requirement that logarithmic signatures be a collection of ordered mathematical construct blocks in which each input vector encrypted by utilization thereof can be uniquely represented as one, and only one composition of permutations which are present in said logarithmic signature, one such permutation subjected to composition being selected from each of said ordered mathematical construct blocks; and said system being further functionally structured such that after entering at least one input vector to said primary composition means from said vector accepting means for receiving input binary digit vectors, said primary composition means identifies a permutation in each of said mathematical construct blocks of said second logarithmic signature, stored in said second logarithmic signature containing storage means; and said system being further functionally structured such that said identified permutations in each of said mathematical construct blocks of said second logarithmic signature, stored in said second logarithmic signature containing storage means, are then caused to be sequentially multiplied in said primary composition means; and said system being further functionally structured such that said primary composition means makes the results of said sequential multiplication available, as a once encrypted vector, of length L, version of said at least one input vector, of length L, entered to said vector accepting means for receiving input binary digit vectors, as output therefrom, at an output means thereof; and said electronic system for receiving input vectors of length L, and outputting encrypted vectors of length L, each of which input and output vectors consists of a sequential plurality of binary digits, further comprising additional structure selected from the group consisting of A2 and A3 in which said A2 and A3 are; A2) said system for receiving input vectors of length L, and outputting encrypted vectors of length L, as described supra in A1, which further functionally comprises; g.) a third logarithmic signature containing storage means which comprises memory for containing a third logarithmic signature, said third logarithmic signature consisting of a plurality of mathematical construct blocks, each of said mathematical construct blocks containing at least two permutations of a sequential plurality of numbers; wherein said third logarithmic signature is characterized by the requirement that logarithmic signatures be a collection of ordered mathematical construct blocks in which each input vector encrypted by utilization thereof can be uniquely represented as one, and only one, composition of permutations which are present in said logarithmic signature, one such permutation subjected to composition being selected from each of said ordered mathematical construct blocks; and h.) a factorization means for identifying, accessing and concatenating into a factorization means output vector, binary pointers which identify locations of permutations in a third logarithmic signature stored in said third logarithmic signature containing storage means, which permutations, when sequentially composed, duplicate a vector caused to be input into said factorization means; said system being functionally structured such that after inputting a sequence of pseudo-random numbers produced by said pseudo--random number generator means to a selection from the group consisting of; said primary mathematical operations means; and a mathematical operations means other than said primary mathematical operations means which is functionally equivalent to said primary mathematical operations means; which selection comprises; means for accepting a sequence of pseudo-random numbers; means for accessing said first logarithmic signature containing storage means; means for accessing said third logarithmic signature containing storage means; and means for applying a sequence of pseudo-random numbers to a first logarithmic signature, said first logarithmic signature being stored in said first logarithmic signature containing storage means, and producing a third logarithmic signature, and storing it in said third logarithmic signature containing storage means; said selection performs mathematical manipulation of a first logarithmic signature stored in said first logarithmic signature containing storage means to form a third logarithmic signature, said third logarithmic signature being non-identical to said second logarithmic signature, and which third logarithmic signature is then stored in said third logarithmic signature containing storage means, while preserving the property of logarithmic signatures requiring that logarithmic signatures be a collection of ordered mathematical construct blocks in which each input vector encrypted by utilization thereof can be uniquely represented as one, and only one composition of permutations which are present in said logarithmic signature, one such permutation subjected to composition being selected from each of said ordered mathematical construct blocks; and said system being further functionally structured such that after the entering of, said once encrypted vector version of at least one input vector output by said primary composition means, to said factorization means, said once encrypted vector version of at least one input vector output by said primary composition means is applied to said third logarithmic signature stored in said third logarithmic signature containing storage means, and permutations present in said mathematical construct blocks of said third logarithmic signature are identified which when sequentially composed result in said at least one once encrypted vector, of length L, version input thereto from said primary composition means; and said system being further functionally structured such that said factorization means further assigns identified permutations in each of said mathematical construct blocks of said third logarithmic signature stored in said third logarithmic signature containing storage means, a binary digit pointer which identifies the permutation location within said third logarithmic signature, and said system being further functionally structured such that said factorization means further sequentially concatenates said identified binary digit location pointers into a twice encrypted vector, of length L, version of said at least one input vector, of length L, input to said vector accepting means for receiving input binary digit vectors, and makes said twice encrypted vector, of length L, version of said at least one input vector, of length L, entered to said vector accepting means for receiving input binary digit vectors, available as output therefrom, at a second stage output means thereof; and A3) said system for receiving input vectors of length L, and outputting encrypted vectors of length L, as described supra in A1, which further functionally comprises; a) a third logarithmic signature containing storage means which comprises memory for containing a third logarithmic signature, said third logarithmic signature consisting of a plurality of mathematical construct blocks, each of said mathematical construct blocks containing at least two permutations of a sequential plurality of numbers; wherein said third logarithmic signature is characterized by the requirement that logarithmic signatures be a collection of ordered mathematical construct blocks in which each input vector encrypted by utilization thereof can be uniquely represented as one, and only one, composition of permutations which are present in said logarithmic signature, one such permutation subjected to composition being selected from each of said ordered mathematical construct blocks; and b) a secondary composition means which comprises means for identifying, accessing and sequentially multiplying a plurality of permutations, of a sequential plurality of binary digits, in a third logarithmic signature stored in said third logarithmic signature containing storage means, to provide a secondary composition means output vector; said system being functionally structured such that after inputting a sequence of pseudo-random numbers produced by said pseudo-random number generator means to a selection from said group consisting of; said primary mathematical operations means; and a mathematical operations means other than said primary mathematical operations means which is functionally equivalent to said primary mathematical operations means which selection comprises; means for accepting a sequence of pseudo-random numbers; means for accessing said first logarithmic signature containing storage means; means for accessing said third logarithmic signature containing storage means; and means for applying a sequence of pseudo-random numbers to a first logarithmic signature, said first logarithmic signature being stored in said first logarithmic signature containing storage means, and producing a third logarithmic signature, and storing it in said third logarithmic signature containing storage means; said selection performs mathematical manipulation of a first logarithmic signature stored in said first logarithmic signature containing storage means, to form a third logarithmic signature, said third logarithmic signature being non-identical to said second logarithmic signature, and which third logarithmic signature is then stored in said third logarithmic signature containing storage means, while preserving the property of logarithmic signatures requiring that logarithmic signatures be a collection of ordered mathematical construct blocks in which each input vector encrypted by utilization thereof can be uniquely represented as one, and only one composition of permutations which are present in said logarithmic signature, one such permutation subjected to composition being selected from each of said ordered mathematical construct blocks; and said system being further functionally structured such that after the entering of, said once encrypted vector, of length L, version of at least one input vector, of length L, output by said primary composition means, to said secondary composition means, said once encrypted vector version of at least one input vector output by said primary composition means is applied to said third logarithmic signature stored in said third logarithmic signature containing storage means, such that a permutation in each of said mathematical construct blocks of said third logarithmic signature is identified; and said system being further functionally structured such that said identified permutations in each of said mathematical construct blocks of said third logarithmic signature are then caused to be sequentially multiplied in said composition means, and said system being further functionally structured such that said secondary composition means makes the results of said sequential multiplication available as a twice encrypted vector, of length L, version of said at least one input vector, of length L, entered to said vector accepting means for receiving input binary digit vectors, as output therefrom, at a second stage output means thereof; and said method further comprising the steps of; B) entering a first logarithmic signature to said first logarithmic signature containing storage means, and entering a data key to said data key expanding pseudo-random number generator means for accepting a user provided input data key; C) entering at least one input vector into said primary composition means, via said means for receiving input binary digit vectors; and D) outputting a twice encrypted vector, of length L, version of said at least one input vector, of length L, input to said vector accepting means for receiving input binary digit vectors, at said second stage output means. - View Dependent Claims (15)
-
-
23. A system for receiving input vectors, of length L, and outputting encrypted vector, of length L, versions of said input vectors each of said input and output vectors consisting of a sequential plurality of binary digits, which system can also be used as a pseudo-random number generator means, said system functionally comprising a first logarithmic signature containing storage means and a second logarithmic signature containing storage means for containing first and second logarithmic signatures, respectively;
- said first and second logarithmic signature containing storage means having first and second non-identical logarithmic signatures, respectively, stored therewithin;
logarithmic signatures being a collection of ordered mathematical construct blocks in which each input vector data key encrypted by utilization thereof can be uniquely represented as one, and only one composition of permutations which are present in said logarithmic signature, one such permutation being composed being selected from each of said logarithmic signature ordered mathematical construct blocks; anda vector data input means for inputting a user provided input vector data key thereinto; said system being functionally structured such that after inputting a user provided input vector/data key thereto at said vector/data input means, said system for receiving input vectors and outputting encrypted vector versions of said input vectors each of said input and output vectors consisting of a sequential plurality of binary digits, said first logarithmic signature stored in said first logarithmic signature containing storage means is utilized in a procedure selected from the group consisting of; factorization; and composition, so that a once encrypted version of said user provided input vector data key is produced; and such that said once encrypted version of said input vector data key is then applied to said second logarithmic signature stored in said second logarithmic signature containing storage means by a procedure selected independently selected from the group consisting of; factorization; and composition; so that a twice encrypted version of said input vector data key is produced. - View Dependent Claims (24, 25)
- said first and second logarithmic signature containing storage means having first and second non-identical logarithmic signatures, respectively, stored therewithin;
Specification