Claims
- 1. A method for encrypting information for communication between a first device and a second device, said method comprising:
generating a random number; subjecting the random number to a logical XOR component; transmitting the XOR'ed random number to a linear-feedback-shift register (LFSR) accumulator; and providing bits from the LFSR accumulator to a register.
- 2. A method in accordance with claim 1 further comprising utilizing taps to provide the bits from the LFSR accumulator to the register.
- 3. A method in accordance with claim 1 further comprising providing bits from the LFSR to the register through the XOR component.
- 4. A method in accordance with claim 1 further comprising:
receiving and storing the contents of the register in a multiplexer; and selectively outputting the contents of the multiplexer.
- 5. A method in accordance with claim 1 wherein the register is located at a first device and the first device register has a first bit sequence having pre-determined number of values, the first bit sequence representing a secret key α, said method further comprising the steps of:
shifting the first bit sequence at least one bit position to generate a first at least one additional value; loading the first at least one additional value onto the first device register; and generating a second bit sequence with the first device register utilizing the first at least one additional value.
- 6. A method in accordance with claim 5 further comprising the steps of:
shifting the second bit sequence at least one position to generate a second at least one additional value; loading the second at least one additional value onto the first device register; and generating a third bit sequence with the first device register utilizing the second at least one additional value.
- 7. A method in accordance with claim 5 further comprising subjecting the secret key α to a conventional Diffie Hellman equation to generate a public key Yα, wherein the Diffie Hellman equation is characterized by the equation, Yα=Gα mod p, where Yα is the public key; g is a generator sequence of ones and zeros known to the first device and the second device, and p is a large prime number known to the first device and the second device.
- 8. A method in accordance with claim 7 further comprising communicating the public key Yα from the first device to the second device.
- 9. A method in accordance with claim 7 wherein the register is located at a second device and the second device register has a first bit sequence having pre-determined number of values, the second device register first bit sequence representing a secret key β, further comprising subjecting the secret key β to a conventional Diffie Hellman equation to generate a public key Yβ, wherein the Diffie Hellman equation is characterized by the equation, Yβ=gβ mod p, where Yβ is the public key; g is the generator sequence, and p is the large prime number.
- 10. A method in accordance with claim 9 further comprising communicating the public key Yβ from the second device to the first device.
- 11. A method in accordance with claim 9 further comprising processing, at the second device, the public key Yα to generate a shared secret key Yαβ utilizing the equation Yαβ=(Yα)β mod p.
- 12. A method in accordance with claim 11 further comprising processing, at the first device, the public key Yβ to generate a shared secret key Yαβ utilizing the equation Yαβ=(Yβ)α mod p.
- 13. A method in accordance with claim 12 further comprising:
subjecting the second bit sequence to a secure hashing algorithm to generate a DEK-0 at the first device; and communicating the DEK-0 from the first device to the second device.
- 14. A method in accordance with claim 5 further comprising:
subjecting the second bit sequence to a secure hashing algorithm to generate a DEK-0 at the first device; and communicating the DEK-0 from the first device to the second device.
- 15. A method in accordance with claim 13 further comprising XOR'ing the DEK-0 at the first device with the shared secret key Yαβ to encrypt the DEK-0.
- 16. A method in accordance with claim 15 further comprising XOR'ing the received DEK-0 at the second device to decrypt the encrypted DEK-0.
- 17. A method in accordance with claim 13 further comprising:
subjecting the shared secret key Yαβ to the secure hashing algorithm to generate a shared secret key digest; and XOR'ing the shared secret key digest with the DEK-0 to encrypt the DEK-0.
- 18. A method in accordance with claim 17 further comprising XOR'ing, at the second device, the DEK-0 with the shared secret key digest to decrypt the DEK-0.
- 19. A system for generating information for secure transmission from a first device to a second device, said system comprising:
a key scheduler for generating a dynamic secret key; a synchronization generator for generating a synchronization sequence and controlling the frequency of the dynamic secret key; a padding generator for generating a padding sequence; and a DEK generator for generating encrypted text, said system generating a stream of encrypted information that includes the synchronization sequence, the encrypted text, and the padding sequence.
- 20. A system in accordance with claim 19 wherein said key scheduler includes:
an XOR component that receives a stream of information; a secure hashing component connected to the XOR component; a register coupled to the secure hashing component; a first linear-feedback-shift register (LFSR) accumulator coupled to the register; and a second LFSR coupled to the first LFSR.
- 21. A system in accordance with claim 20 wherein said first LFSR is coupled to said second LFSR via a summing unit and said XOR component, said first LFSR and said second LFSR comprise a maximum bit length of 160 bits.
- 22. A system in accordance with claim 20 wherein said synchronization generator comprises:
a register comprising a first portion and a second portion, said first portion coupled to said key scheduler XOR component, said second portion coupled to said key scheduler second LFSR; a secure hashing component coupled to said synchronization generator register; a synchronization generator XOR component coupled to said synchronization generator secure hashing component; a feed forward loop coupled to said synchronization generator XOR component; and a formatter module coupled to said synchronization generator XOR component which generates a synchronization sequence.
- 23. A system in accordance with claim 22 wherein said synchronization generator XOR component receives a plurality of outputs from said synchronization generator secure hashing component and XORs the synchronization generator secure hashing component outputs with values provided by said feed forward loop to generate synchronization values.
- 24. A system in accordance with claim 23 wherein said synchronization generator formatter module receives the synchronization values.
- 25. A system in accordance with claim 22 wherein said padding generator comprises:
a register comprising a first portion and a second portion, said second portion coupled to said key scheduler second LFSR; a secure hashing component coupled to said padding generator register; a padding generator XOR component coupled to said padding generator secure hashing component; and a feed forward loop coupled to said padding generator XOR component, said padding generator XOR component generating a padding sequence.
- 26. A system in accordance with claim 25 wherein said DEK generator comprises:
a register comprising a first portion and a second portion, said second portion coupled to said key scheduler second LFSR; a secure hashing component coupled to said DEK generator register; a first DEK generator XOR component coupled to said DEK generator secure hashing component; a feed forward loop coupled to said first DEK generator XOR component; and a second DEK generator XOR component coupled to said first DEK generator XOR component.
- 27. A system in accordance with claim 26 wherein said second DEK generator XOR component receives a message and combines the message with the output of the first DEK generator XOR component to generate an encrypted message.
- 28. A system in accordance with claim 27 wherein said system generates a stream of encrypted information that includes the synchronization sequence, the encrypted message, and the padding sequence.
- 29. A method for encrypting information for communication between a first device and a second device, said method comprising:
generating a first key to be utilized for at least one of encrypting and decrypting information; generating at least one encrypted synchronization sequence; generating at least one encrypted padding sequence; generating at least one encrypted cipher text message; and generating a stream of encrypted information that includes the at least one synchronization sequence, the at least one cipher text message, and the at least one padding sequence.
- 30. A method in accordance with claim 29 wherein the stream of encrypted information includes the at least one synchronization sequence adjacent the at least one cipher text message.
- 31. A method in accordance with claim 29 wherein the stream of encrypted information includes the at least one cipher text message adjacent the at least one padding sequence.
- 32. A method in accordance with claim 29 wherein the stream of encrypted information includes the at least one synchronization sequence adjacent the at least one padding sequence.
- 33. A method in accordance with claim 29 wherein the stream of encrypted information includes the at least one synchronization sequence prior to and adjacent the at least one cipher text message, the stream of encrypted information also includes the at least one cipher text message prior to and adjacent the at least one padding sequence.
- 34. A method in accordance with claim 29 further comprising:
generating a dynamic key and a first digital sequence; utilizing the dynamic key and the first digital sequence to generate a randomized value; utilizing the randomized value to generate a synchronization sequence; utilizing the synchronization sequence to control the frequency of the dynamic key generation; and inserting the synchronization sequence within the stream of encrypted information to indicate a synchronization position within the stream of encrypted information.
- 35. A method in accordance with claim 29 further comprising:
receiving a random digital sequence and a dynamic key; utilizing the dynamic key and the first digital sequence to generate a randomized value; utilizing the randomized value to generate a padding sequence; and inserting the padding sequence within the stream of encrypted information.
- 36. A method in accordance with claim 29 further comprising:
receiving an encryption code and a dynamic key; utilizing the dynamic key and the encryption code to generate a randomized value; receiving a message to be encrypted; utilizing the randomized value to encrypt the message to be encrypted; and inserting the encrypted message within the stream of encrypted information.
- 37. A method in accordance with claim 29 further comprising:
generating a dynamic key and a first digital sequence; utilizing the dynamic key and the first digital sequence to generate a first randomized value; utilizing the first randomized value to generate a synchronization sequence; utilizing the synchronization sequence to control the frequency of the dynamic key generation; and inserting the synchronization sequence within the stream of encrypted information to indicate a synchronization position within the stream of encrypted information.
- 38. A method in accordance with claim 37 further comprising:
generating a second digital sequence; utilizing the dynamic key and the second digital sequence to generate a second randomized value; utilizing the second randomized value to generate a padding sequence; and inserting the padding sequence within the stream of encrypted information.
- 39. A method in accordance with claim 38 further comprising:
receiving an encryption code; utilizing the dynamic key and the encryption code to generate a third randomized value; receiving a message to be encrypted; utilizing the third randomized value to encrypt the message to be encrypted; and inserting the encrypted message within the stream of encrypted information.
- 40. A system for encrypting information for communication between a plurality of devices, said system comprising:
a first communication device and a second communication device; said first communication device comprising a random number generator; a logical XOR component coupled to said random number generator; a linear-feedback-shift register (LFSR) accumulator coupled to said logical XOR component; and a register coupled to said LFSR; and a multiplexer coupled to said register.
- 41. A system in accordance with claim 40 further comprising a summing unit, said LFSR comprising a plurality of taps adapted to provide bits from said LFSR to said summing unit.
- 42. A system in accordance with claim 41 wherein said register is located at said first device and includes a first bit sequence having a pre-determined number of values, the first bit sequence representing a first key α, said system configured to:
shift the first bit sequence at least one bit position to generate a first additional value; load the first additional value onto said first device register; and generate a second bit sequence with said first device register utilizing the first additional value.
- 43. A system in accordance with claim 42 further configured to:
shift the second bit sequence at least one position to generate a second additional value; load the second additional value onto said first device register; and generate a third bit sequence with said first device register utilizing the second additional value.
- 44. A system in accordance with claim 42 further configured to subject the first key α to a conventional Diffie Hellman equation to generate a second key Yα, wherein the Diffie Hellman equation is characterized by the equation, Yα=gα mod p, where Yα is the second key; g is a generator sequence of ones and zeros known to said first device and said second device, and p is a large prime number known to said first device and said second device.
- 45. A system in accordance with claim 44 wherein said second device comprises a register having a first bit sequence having pre-determined number of values, the second device register first bit sequence representing a third key β, said system further configured to subject the third key β to a conventional Diffie Hellman equation to generate a fourth key Yβ, wherein the Diffie Hellman equation is characterized by the equation, Yβ=gβ mod p, where Yβ is the fourth key; g is the generator sequence, and p is the large prime number.
- 46. A system in accordance with claim 45 further configured to:
process, at said second device, the second key Yα to generate a shared secret key Yαβ utilizing the equation Yαβ=(Yα)β mod p; and process, at said first device, the fourth key Yβ to generate a shared secret key Yαβ utilizing the equation Yαβ=(Yβ)α mod p.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application Number 60/282,536 filed Apr. 7, 2001, which is hereby incorporated by reference in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60282536 |
Apr 2001 |
US |