Claims
- 1. A method for secure transmission of a data message between a sender and a receiver, the method comprising:
locking, at the sender, the data message using a first lock; transmitting the locked data message to the receiver; double-locking, at the receiver, the locked data message using a second lock; transmitting the double-locked data message back to the sender; unlocking, at the sender, the first lock of the double-locked data message using a first key, leaving the data message single-locked by the second lock; transmitting the single-locked data message back to the receiver; and unlocking, at the receiver, the second lock of the single-locked data message using a second key to generate the data message.
- 2. The method of claim 1, wherein the secure transmission of the data message occurs without a public key exchange.
- 3. The method of claim 1, further comprising, prior to locking the data message at the sender, encoding the data message.
- 4. The method of claim 3, wherein the encoding utilizes a code table.
- 5. The method of claim 3, further comprising, subsequent to unlocking the second lock of the single-locked and encoded data message, decoding the encoded data message to generate the data message.
- 6. The method of claim 1, further comprising transmitting to the receiver a computer program capable of performing the double-locking of the locked data message, and the unlocking of the second lock of the single-locked data message, at the receiver.
- 7. The method of claim 6, wherein the computer program is a Java applet.
- 8. The method of claim 1, further comprising transmitting to the sender a computer program capable of performing the locking of the data message, and the unlocking of the first lock of the double-locked data message, at the sender.
- 9. The method of claim 8, wherein the computer program is a Java applet.
- 10. The method of claim 1, wherein the data message is a secret key.
- 11. The method of claim 1, wherein the data message is a digital signature.
- 12. The method of claim 1, wherein the data message is a digital envelope.
- 13. A method for secure key exchange between a sender and a receiver, the method comprising:
encrypting, at the sender, a secret key to be transmitted from the sender to the receiver, using one or more locks of a plurality of sender lock-key pairs; transmitting the sender-encrypted secret key to the receiver; encrypting, at the receiver, the sender-encrypted secret key using one or more locks of a plurality of receiver lock-key pairs; transmitting the receiver- and sender-encrypted secret key back to the sender; decrypting, at the sender, the sender-encrypted portion of the receiver- and sender-encrypted secret key, using one or more keys of the plurality of sender lock-key pairs, leaving the secret key receiver-encrypted; transmitting the receiver-encrypted secret key back to the receiver; and decrypting, at the receiver, the receiver-encrypted secret key using one or more keys of the plurality of receiver lock-key pairs, to generate the secret key.
- 14. The method of claim 13, wherein the secret key is used to encrypt a data message, at the sender, which is sent to the receiver, and further wherein the secret-key-encrypted message is decrypted, at the receiver, using the secret key.
- 15. The method of claim 13, further comprising generating the plurality of sender lock-key pairs and the plurality of receiver lock-key pairs.
- 16. The method of claim 15, wherein the generating occurs periodically.
- 17. The method of claim 15, wherein the generating occurs using one or more algorithms, and a plurality of random values as variables for the one or more algorithms.
- 18. The method of claim 17, wherein the plurality of random values are generated by a random number generator.
- 19. The method of claim 17, wherein the plurality of random values are generated at least in part by user input.
- 20. The method of claim 13, wherein the method is used in a portable electronic device, and wherein the generating occurs at least when batteries for the portable electronic device are recharging.
- 21. The method of claim 13, wherein each lock of the plurality of sender lock-key pairs comprises a plurality of values capable of forming a lock matrix, and further wherein each key corresponding to each lock of the plurality of sender lock-key pairs comprises a plurality of values capable of forming a key matrix, and further wherein the key matrix is the inverse of the lock matrix.
- 22. The method of claim 13, wherein each lock of the plurality of receiver lock-key pairs comprises a plurality of values capable of forming a lock matrix, and further wherein each key corresponding to each lock of the plurality of receiver lock-key pairs comprises a plurality of values capable of forming a key matrix, and further wherein the key matrix is the inverse of the lock matrix.
- 23. The method of claim 13, wherein, before encrypting the secret key at the sender, the secret key is partitioned into a plurality of partitioned blocks, and further wherein the encrypting at the sender comprises multiplying each partitioned block of the plurality of partitioned blocks against an encrypting lock of the one or more locks of the plurality of sender lock-key pairs.
- 24. The method of claim 13, wherein a representation of each of the plurality of sender lock-key pairs corresponding to the one or more locks used to encrypt the secret key are stored in a memory.
- 25. The method of claim 13, wherein a representation of each of the plurality of receiver lock-key pairs corresponding to the one or more locks used to encrypt the sender-encrypted secret key are stored in a memory.
- 26. The method of claim 13, wherein the decrypting of the sender-encrypted portion of the receiver- and sender-encrypted secret key utilizes commutative mathematic operations.
- 27. The method of claim 13, wherein, prior to the decrypting at the sender, the sender verifies that the receiver- and sender-encrypted secret key was transmitted by the receiver.
- 28. The method of claim 13, wherein the secure key exchange occurs between a sender and a plurality of receivers, and further wherein, prior to the decrypting at the sender, the sender verifies that each receiver of the plurality of receivers has transmitted a receiver- and sender-encrypted secret key, and further comprising decrypting, at the sender, the sender-encrypted portion of each of the receiver- and sender-encrypted secret keys transmitted from each receiver of the plurality of receivers.
- 29. The method of claim 28, wherein if, prior to the decrypting at the sender, the sender receives a greater number of receiver- and sender-encrypted secret keys than the number of the plurality of receivers, the plurality of receivers are warned of a possible adversary and the secure key exchange is canceled.
- 30. The method of claim 28, wherein if, prior to the decrypting at the sender, the sender receives a lesser number of receiver- and sender-encrypted secret keys than the number of the plurality of receivers, the plurality of receivers are warned of a possible adversary and the secure key exchange is canceled.
- 31. The method of claim 13, further comprising, prior to encrypting the secret key at the sender, encoding the secret key.
- 32. The method of claim 31, wherein the encoding utilizes a code table.
- 33. The method of claim 31, further comprising, subsequent to decrypting the receiver-encrypted and encoded secret key, decoding the encoded secret key to generate the secret key.
- 34. The method of claim 13, further comprising transmitting to the receiver a computer program capable of performing the encrypting of the sender-encrypted secret key, and the decrypting of the receiver-encrypted secret key, at the receiver.
- 35. The method of claim 34, wherein the computer program is a Java applet.
- 36. The method of claim 13, further comprising transmitting to the sender a computer program capable of performing the encrypting of the secret key, and the decrypting of the sender-encrypted portion of the receiver- and sender-encrypted secret key, at the sender.
- 37. The method of claim 36, wherein the computer program is a Java applet.
- 38. A secure transmission module for securely transmitting a data message to at least one receiver, the module comprising:
a plurality of lock-key pairs; an encryption module for encrypting a data message using one or more locks of the plurality of lock-key pairs; a commutative decryption module for decrypting encryption applied by the encryption module to the data message, using one or more keys of the plurality of lock-key pairs, after the data message has been additionally encrypted at least once more at the at least one receiver; and a communication module for transmitting encrypted data messages and commutatively-decrypted data messages to the at least one receiver, and for receiving additionally-encrypted data messages from the at least one receiver.
- 39. The secure transmission module of claim 38, wherein the secure transmission of the data message occurs without a public key exchange.
- 40. The secure transmission module of claim 38, further comprising a lock-key pair generator for generating the plurality of lock-key pairs, using one or more algorithms and a plurality of random values as variables for the one or more algorithms.
- 41. The secure transmission module of claim 38, further comprising an encoder for encoding the data message prior to initially encrypting the data message.
- 42. A secure receiver module for securely receiving a data message from a sender, the module comprising:
a plurality of lock-key pairs; a double-encryption module for encrypting an already-encrypted data message using one or more locks of the plurality of lock-key pairs; a decryption module for decrypting encryption applied by the double-encryption module to a data message, utilizing one or more keys of the plurality of lock-key pairs, to generate the data message from the sender, the decryption occurring after the already-encrypted portion of the data message has been commutatively decrypted at the sender; and a communication module for receiving already-encrypted data messages and commutatively-decrypted data messages from the sender, and for transmitting double-encrypted data messages to the sender.
- 43. The secure receiver module of claim 42, wherein the secure receipt of the data message occurs without a public key exchange.
- 44. The secure receiver module of claim 42, further comprising a lock-key pair generator for generating the plurality of lock-key pairs, using one or more algorithms and a plurality of random values as variables for the one or more algorithms.
- 45. The secure receiver module of claim 42, wherein the data message is encoded, and further comprising a decoder for decoding the data message upon finally decrypting the data message.
RELATED APPLICATIONS
[0001] This application claims priority to U.S. Provisional Application No. 60/344,842, filed Oct. 22, 2001, which is hereby incorporated by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60344842 |
Oct 2001 |
US |