Method and apparatus for a robust high-speed cryptosystem
OwnerJinglong F Zhanginventor
Life of this patent
Estimating the term…
Abstract
A cryptographic information and communication system of the knapsack type characterized by secret logical segregation of the key sets into sections by different construction methods, where different transformations are applied to different sections, and characterized by non-constant number of subset sum solutions to ciphertext, where resolution protocols are employed when necessary to resolve non-unique subset sum solutions at the decryptor.
Claims17
A cryptographic method comprising the steps of:
- providing a plurality of key section construction methods;
- deriving a decryption key including a decryption key set of identifiables logically segregated into sections, each said section generated by one of a plurality of construction methods and said segregation is kept secret;
- deriving from said decryption key an encryption key, each section of said decryption key set is transformed to a corresponding section of said encryption key set and at least two said sections are transformed under different transformation methods, and previously generated and transformed sections are transformed together with the currently generated section;
- accepting a message in the form of an input sequence of integers;
- converting said encryption key set to a key vector and converting said input sequence of integers to at least one data vector having the same dimensions as said key vector;
- generating ciphertext by computation that includes calculating the inner product of each of said data vectors with said key vector;
- accepting a ciphertext;
- and
- decrypting said ciphertext to recover said message.
A cryptographic method which securely communicates data from a first party S to a second party R comprising the steps of:
- deriving cryptographic keys at party R comprising:
- providing a plurality of key section construction methods;
- deriving a decryption key to be kept secret at party R including a decryption key set of identifiables logically segregated into sections, each section generated by one of a plurality of construction methods and said segregation is kept secret;
- deriving from said decryption key an encryption key, each section of said decryption key set is transformed to a corresponding section of said encryption key set, and at least two sections are transformed under different transformation methods, and previously generated and transformed sections are
- transformed together with the currently generated section;
- distributing said encryption key from party R to party S;
- receiving said encryption key at party S;
- generating ciphertext at party S comprising:
- accepting a message in the form of an input sequence of integers;
- converting said encryption key set to a key vector and converting said input sequence of integers to at least one data vector having the same dimensions as said key vector;
- and
- generating ciphertext by computation that includes calculating the inner product of each of said data vectors with said key vector;
- transmitting said ciphertext from party S to party R over a communication channel;
- receiving said ciphertext at party R;
- and
- decrypting said ciphertext at party R to recover said message.
A cryptographic method comprising the steps of:
- deriving a decryption key by generating a decryption key set of identifiables logically segregated into k>1 sections:
- ##EQU5## and a decryption fuzzy residue set with corresponding sections to K.sub.d :
- G=G.sub.1 .orgate.G.sub.2 .orgate. . . . .orgate.G.sub.k
- and a wrinkling set with corresponding sections to K.sub.d :
- B=B.sub.1 .orgate.B.sub.2 .orgate. . . . .orgate.B.sub.k
- where K.sub.d, G and B are to be kept secret and each section i, for 1.ltoreq.i.ltoreq.k is K.sub.d is generated by at least one of the following constructions:
- 1) standard
- 2) submerged
- 3) wrinkled
- 4) individually mapped
- 5) multiply mapped
- and for a submerged section i
- d.sub.i,j =2.sup.h(j-1) *m.sub.i, for 1.ltoreq.j.ltoreq.z.sub.i, where subscript i in m.sub.l is defined to be:
- i.tbd.i, 0.tbd.i-1, z.sub.i-1
- and for a wrinkled section i
- .sigma.=sum(.eta..sub..theta. * .vertline..theta..vertline.)+r
- d.sub.i,j =.sigma.+.PSI..sub.i-1 (b.sub.i,j), for 1.ltoreq.j.ltoreq.z.sub.i
- and for a section of any of the other types:
- ##EQU6## where r is a non-zero positive ranged random number, .eta..sub..theta. is the maximum applicable multiple of .theta..epsilon..THETA..sub.i-1, and .THETA..sub.i is defined to be ##EQU7## where C.sub.u,v ({.mu..sub.1, .mu..sub.2, . . . , .mu..sub.n })={C.sub.u,v (.mu..sub.1), C.sub.u,v (.mu..sub.2), . . . , C.sub.u,v (.mu..sub.n)} denotes a complementation function for the construction of the entire encryption key and C.sub.u,v (.mu.), for any number .mu., is either defined to be:
- ##EQU8## and g.epsilon.G is a ranged random number;
- deriving fuzzy residue mapping FM( ), whereby elements of said key sets are associated with elements of said fuzzy residue set, and FM( ), for a section i having at least one element individually mapped, is defined to be:
- ##EQU9## satisfying IM(.mu.-1)=(.mu.-1)*d.sub.i,j <IM(.mu.)+.mu.*d.sub.i,j <IM(.mu.+1)+(.mu.+1)*d.sub.i,j, where X=X.sub.1 .orgate.X.sub.2 .orgate. . . . .orgate.X.sub.k is a set of integers in the ranges of [0, 2.sup.h) input to FM( ) and x.sub.i,j corresponds to e.sub.i,j and IM(x.sub.i,j) equals the value of applied residues mapped to by x.sub.i,j,
- and FM( ), for a section i having elements multiply mapped, is defined to be:
- FM(X)=FM(X.sub.1 .orgate.X.sub.2 .orgate. . . . .orgate.X.sub.k)=FM(X.sub.1)+FM(X.sub.2)+ . . . +FM(X.sub.k)
- where FM(X.sub.i)=SM(.SIGMA.IM(x.sub.i,j)) for 1.ltoreq.j.ltoreq.z.sub.i and IM(x.sub.i,j) equals x.sub.i,j if e.sub.i,j is mapped and equals zero otherwise, and SM(.mu.) returns .alpha.*g.sub.i,j for some integer .alpha. corresponding to the value of .mu. satisfying:
- SM(.mu.-1)<SM(.mu.)<SM(.mu.+1);
- deriving from said decryption key an encryption key .theta..sub.k, inheriting said fuzzy residue mapping;
- generating ciphertext comprising:
- accepting a message in the form of an input sequence of integers in the range of [0, 2.sup.h);
- converting said encryption key set to a key vector and converting said input sequence of integers to at least one data vector X having the same dimensions as said key vector;
- and
- generating ciphertext by computation that includes calculating the inner product of each of said data vectors with said key vector defined by:
- .gamma.=K.sub.e .times.X+FM(X)
- if fuzzy residues have been generated for said encryption key, and defined by:
- .gamma.=K.sub.e .times.X
- otherwise;
- obtaining a decryption key;
- decrypting said ciphertext to recover said message via decrypting each of the ciphertext block of said ciphertext, and corresponding to a standard section i of said encryption key set, the decryption is carried out according to:
- ##EQU10## and after obtaining all y.sub.i,j for 1.ltoreq.j.ltoreq.z.sub.i, is adjusted by:
- ##EQU11## and corresponding to a submerged section i, the decryption is carried out according to:
- ##EQU12## where .OMEGA. is the set of elements in .theta..sub.i-1 that are tranformed from said decryption key set and Y' is the decrypted {y.sub.1,1, y.sub.1,2, . . . y.sub.i-1,.mu. }, where .mu.=z.sub.1-1,
- and corresponding to a wrinkled section i, the decryption is carried out according to:
- ##EQU13## where b'.sub.i,j is the decoded multiple of identifiable b.sub.i,j contained in .gamma.', and after obtaining q.sub.i, .gamma.' is adjusted by:
- .gamma.'<.gamma.'-q.sub.i *d.sub.i,1.
- and corresponding to an individually mapped section i, the decryption is carried out, for j=z.sub.i down to 1, according to:
- .gamma.'<.GAMMA..sub.i.sup.-1 (.gamma.')
- y.sub.i,j <q,
- satisfying:
- FM(q-1)+(q-1)*d.sub.i,j .ltoreq.FM(q)+q*d.sub.i,j <FM(q+1)+(q+1)*d.sub.i,j
- and after obtaining each y.sub.i,j, .gamma.' is adjusted by:
- .gamma.'<.gamma.'-FM(y.sub.i,j)-y.sub.i,j *d.sub.i,j
- and corresponding to a multiply mapped section i, the decryption is carried out, for j=z.sub.i down to 1, according to:
- .gamma.'<.GAMMA..sub.i.sup.-1 (.gamma.')
- y.sub.i,j <q, satisfying:
- FM(q)+q*d.sub.i,j .ltoreq..gamma.'
- and after obtaining each y.sub.i,j, .gamma.' is adjusted by:
- ##EQU14## where for the decryption of section k, the last generated section of the decryption key set, .gamma.' equals the ciphertext .gamma. to be decrypted and
- .GAMMA..sub.i.sup.-1 =.GAMMA..sub.i,1.sup.-1 .degree..GAMMA..sub.i,2.sup.-1 .degree. . . . .degree..GAMMA..sub.i,t.sbsb.i.sup.-1
- .GAMMA..sub.u,v.sup.- (.mu.)=C.sub.u,v.sup.-1 ((w.sub.u,v.sup.-1 *.mu.).XI.m.sub.u,v)
- C.sub.u,v.sup.-1 denotes the reverse of C.sub.u,v, where C.sub.u,v.sup.-1 (.mu.), for any number .mu., is defined as:
- ##EQU15##
A cryptographic system comprising:
- means for providing a plurality of key section construction methods;
- means for deriving a decryption key including a decryption key set of identifiables logically segregated into sections, each said section generated by one of a plurality of construction methods and said segregation is kept secret;
- means for deriving from said decryption key an encryption key, each section of said decryption key set is transformed to a corresponding section of said encryption key set and at least two said sections are transformed under different transformation methods, and previously generated and transformed sections are transformed together with the currently generated section;
- means for accepting a message in the form of an input sequence of integers;
- means for converting said encryption key set to a key vector and converting said input sequence of integers to at least one data vector having the same dimensions as said key vector;
- means for generating ciphertext by computation that includes calculating the inner product of each of said data vectors with said key vector.
- means for accepting a ciphertext;
- and
- means for decrypting said ciphertext to recover said message.
A cryptographic system which securely communicates data from a first party S to a second party R comprising:
- means for deriving cryptographic keys at party R comprising:
- means for providing a plurality of key section construction methods;
- means for deriving a decryption key to be kept secret at party R including a decryption key set of identifiables logically segregated into sections, each section generated by one of a plurality of construction methods and said segregation is kept secret;
- means for deriving from said decryption key an encryption key, each section of said decryption key set is transformed to a corresponding section of said encryption key set, and at least two sections are transformed under different transformation methods, and previously generated and transformed sections are transformed together with the currently generated section;
- means for distributing said encryption key from party R to party S;
- means for obtaining said encryption key at party S;
- means for generating ciphertext at party S comprising:
- means for accepting a message in the form of an input sequence of integers;
- means for converting said encryption key set to a key vector and converting said input sequence of integers to at least one data vector having the same dimensions as said key vector;
- and
- means for generating ciphertext by computation that includes calculating the inner product of each of said data vectors with said key vector;
- means for transmitting said ciphertext from party S to party R over a communication channel;
- means for receiving said ciphertext at party R;
- and
- means for decrypting said ciphertext at party R to recover said message.
A cryptographic system comprising:
- means for deriving a decryption key by generating a decryption key set of identifiables logically segregated into k>1 sections:
- ##EQU16## and a decryption fuzzy residue set G=G.sub.1 .orgate.G.sub.2 .orgate. . . . .orgate.G.sub.k and a wrinkling set B=B.sub.1 .orgate.B.sub.2 .orgate. . . . .orgate.B.sub.k with sections corresponding to those in K.sub.d, wherein K.sub.d, G and B are to be kept secret and each section i, for 1.ltoreq.i.ltoreq.k of K.sub.d is generated by at least one of the following constructions:
- 1) standard
- 2) submerged
- 3) wrinkled
- 4) individually mapped
- 5) multiply mapped
- and for a submerged section i
- d.sub.i,j =2.sup.h(j-1) *m.sub.i, for 1.ltoreq.j.ltoreq.z.sub.i, where subscript i and m.sub.i is defined to be:
- i.tbd.i, 0.tbd.i-1, z.sub.i-1
- and for a wrinkled section i
- .sigma.=sum(.eta..sub..theta. *.vertline..theta..vertline.)+r
- d.sub.i,j =.sigma.+.PSI..sub.i-1 (b.sub.i,j), for 1.ltoreq.j.ltoreq.z.sub.i
- and for a section of any of the other types:
- ##EQU17## where r is a non-zero positive ranged random number, .eta..sub..theta. is the maximum applicable multiple of .theta..epsilon..THETA..sub.i-1, and .THETA..sub.i is defined to be ##EQU18## where C.sub.u,v {.mu..sub.1, .mu..sub.2, . . . , .mu..sub.n })={C.sub.u,v (.mu..sub.1), C.sub..mu.,.nu.(.mu..sub.2), . . . , C.sub.u,v(.mu..sub.n)} denotes a complementation function for the construction of the entire encryption key and C.sub.u,v (.mu.), for any number .mu., is either defined to be:
- ##EQU19## and g .epsilon.G is a ranged random number;
- means for deriving fuzzy residue mapping FM( ), whereby elements of said key sets are associated with elements of said fuzzy residue set, and FM( ), for a section i having at least one element individually mapped, is defined to be:
- ##EQU20## satisfying IM(.mu.-1)+(.mu.-1)*d.sub.i,j <IM(.mu.)+.mu.*d.sub.i,j <IM(.mu.+1)+(.mu.+1)*d.sub.i,j, where X=X.sub.1 .orgate.X.sub.2 .orgate. . . . .orgate.X.sub.k is a set of integers in the ranges of [0, 2.sup.h) input to FM( ) and x.sub.i,j corresponds to e.sub.i,j and IM(x.sub.i,j) equals the value of applied residues mapped to by x.sub.i,j,
- and FM( ), for a section i having elements multiply mapped, is defined to be:
- FM(X)=FM(X.sub.1 .orgate.X.sub.2 .orgate. . . . .orgate.X.sub.k)=FM(X.sub.1)+FM(X.sub.2)+ . . . +FM(X.sub.k) where FM(X.sub.i)=SM(.SIGMA.IM(x.sub.i,j)) for 1.ltoreq.j.ltoreq.z.sub.i and IM(x.sub.i,j) equals x.sub.i,j if e.sub.i,j is mapped and equals zero otherwise, and SM(.mu.) returns .alpha.*g.sub.i,1 for some integer .alpha. corresponding to the value of .mu. satisfying:
- SM(.mu.-1)<SM(.mu.)<SM(.parallel.+1);
- means for deriving from said decryption key an encryption key .THETA..sub.k, inheriting said fuzzy residue mapping,
- means for obtaining an encryption key;
- means for generating ciphertext comprising:
- means for accepting a message in the form of an input sequence of integers in the range of [0, 2.sup.h);
- means for converting said encryption key set to a key vector and converting said input sequence of integers to at least one data vector having the same dimensions as said key vector;
- and
- means for generating ciphertext by computation that includes calculating the inner product of each of said data vectors with said key vector defined by:
- .gamma.=K.sub.e .times.X+FM(X)
- if fuzzy residues have been generated for said encryption key, and defined by:
- .gamma.=K.sub.e .times.X
- otherwise.
- means for accepting a ciphertext;
- means for obtaining a decryption key corresponding to said encryption key;
- means for decrypting said ciphertext to recover said message via decrypting each of the blocks of said ciphertext, and corresponding to a standard section i of said encryption key set, the decryption is carried out according to:
- ##EQU21## and after obtaining all y.sub.i,j for 1.ltoreq.j.ltoreq.z.sub.i, .gamma.' is adjusted by:
- ##EQU22## and corresponding to a submerged section i, the decryption is carried out according to:
- ##EQU23## where .OMEGA. is the set of element in .THETA..sub.i-1 that are transformed from said decryption key set and Y' is the decrypted {y.sub.1,1, y.sub.1,2, . . . , y.sub.i-1,u }, where u=z.sub.i-1,
- and corresponding to a wrinkled section i, the decryption is carried out according to:
- ##EQU24## where b'.sub.i,j is decoded multiple of identifiable b.sub.i,j contained in .gamma.', and after obtaining q.sub.i, .gamma.' is adjusted by:
- .gamma.'<.gamma.'-q.sub.i *d.sub.i,1.
- and corresponding to an individually mapped section i, the decryption is carried out, for j=z.sub.1 down to 1, according to:
- .gamma.'<.GAMMA..sub.i.sup.-1 (.gamma.')
- y.sub.i,j <q, satisfying:
- FM(q-1)+(q-1)*d.sub.i,j .ltoreq.FM(q)+q*d.sub.i,j <FM(q+1)+(q+1)*d.sub.i,j
- and after obtaining each y.sub.i,j, .gamma.' is adjusted by:
- .gamma.'<.gamma.'-y.sub.i,j *d.sub.i,j -FM(y.sub.i,j)
- and corresponding to a multiply mapped section i, the decryption is carried out, for j=z.sub.i down to 1, according to:
- .gamma.'<.GAMMA..sub.i.sup.-1 (.gamma.')
- y.sub.i,j <q, for the largest q satisfying:
- FM(q)+q*d.sub.i,j .ltoreq..gamma.'
- and after obtaining each y.sub.i,j, .gamma.' is adjusted by:
- ##EQU25## where fore the decryption of section k, the last generated section of the decryption key set, .gamma.' equals the ciphertext .gamma. to be decrypted and
- .GAMMA..sub.i.sup.-1 =.GAMMA..sub.i,1.sup.-1 .degree..GAMMA..sub.i,2.sup.-1 .degree. . . . .degree..GAMMA..sub.i,y.sbsb.i
- .GAMMA..sub.u,v.sup.- (.mu.)=C.sub.u,v.sup.-1 ((w.sub.u,v.sup.-1 *.mu.).XI.m.sub.u,v)
- C.sub.u,v.sup.-1 denotes the reverse of C.sub.u,v, where C.sub.u,v.sup.-1 (.mu.), for any number .mu., is defined as:
- ##EQU26##
Dependencies are inferred from the claim text.