Claims
- 1. A method of encoding a stream of data, comprising:
applying a multilevel transform to the stream of data, each level of the transform producing one or more transform coefficients for each block of a sequence of blocks comprising the stream of data; and encrypting at least a subset of the transform coefficients produced by a least one level of the multilevel transform to generate encrypted transform coefficients; the applying including applying at least one level of the multilevel transform to the encrypted transform coefficients to produce other transform coefficients; the applying and encrypting generating a result set of transform coefficients.
- 2. The method of claim 2, wherein the encrypting includes encrypting using a symmetric key encryption.
- 3. The method of claim 1, wherein the encrypting is performed using only add, subtract and bit shift operations.
- 4. The method of claim 3, wherein the applying is performed using only add, subtract and bit shift operations.
- 5. The method of claim 1, wherein the applying is performed using only add, subtract and bit shift operations.
- 6. The method of claim 1, wherein the method is performed in real time, producing the output data stream at a same rate as the stream of data is presented for encoding.
- 7. The method of claim 6, further including
encrypting the result set of transform coefficients, using a symmetric key encryption, to generate an output data stream; and transmitting the output data stream from a sending device to a receiving device.
- 8. The method of claim 7, wherein the encrypting of the result set of transform coefficients is performed by reordering values in the result set of transform coefficients in accordance with an encryption key.
- 9. The method of claim 8, wherein the encryption key is derived from a secret message known to both the sending device and receiving device.
- 10. The method of claim 9, wherein the secret message is conveyed from the sending device to the receiving device by locking the secret message with a first key known to the sending device to produce a locked message and transmitting the locked message to the receiving device, receiving from the receiving device a doubly locked message corresponding to the locked message, decrypting the doubly locked message with a second key corresponding to the first key to produce a singly locked message and transmitting the singly locked message to the receiving device, wherein the singly locked message can be decrypted, using a key known by the receiving device, to produce the secret message.
- 11. The method of claim 1, wherein the multilevel transform is selected from the set consisting of a multilevel wavelet transform and a multilevel wavelet-like transform.
- 12. The method of claim 1, wherein the multilevel transform is selected from the set consisting of a multilevel wavelet transform, a multilevel wavelet-like transform, a discrete cosine transform, and a discrete sine transform.
- 13. A system for encoding a stream of data, comprising:
a transform module for applying a multilevel transform to the stream of data, each level of the transform producing one or more transform coefficients for each block of a sequence of blocks comprising the stream of data; and one or more encryption modules configured to encrypting at least a subset of the transform coefficients produced by a least one level of the multilevel transform to generate encrypted transform coefficients; the transform module configured to apply at least one level of the multilevel transform to the encrypted transform coefficients to produce other transform coefficients; the transform module and encryption module configured to work together to generate a result set of transform coefficients.
- 14. The encoding system of claim 13, wherein the one or more encryption modules are configured to use a symmetric key encryption.
- 15. The encoding system of claim 13, wherein the one or more encryption modules are configured to encrypt the at least a subset of the transform coefficients using only add, subtract and bit shift operations.
- 16. The encoding system of claim 15, wherein the transform module is configured to apply the multilevel transform to the stream of data using only add, subtract and bit shift operations.
- 17. The encoding system of claim 13, wherein the transform module is configured to apply the multilevel transform to the stream of data using only add, subtract and bit shift operations.
- 18. The encoding system of claim 13, wherein the transform module and one or more encryption modules are configured operate in real time, producing the output data stream at a same rate as the stream of data is presented for encoding.
- 19. The encoding system of claim 13, further including
a transform output encryption module, coupled to the transform module and configured to encrypt the result set of transform coefficients, using a symmetric key encryption, to generate an output data stream.
- 20. The encoding system of claim 19, wherein the transform output encryption module is configured to encrypt the result set of transform coefficients by reordering values in the result set of transform coefficients in accordance with an encryption key.
- 21. The encoding system of claim 20, wherein the encryption key is derived from a secret message known to both the sending device and receiving device.
- 22. The encoding system of claim 21, including secret key conveying means configured to convey the secret message from the sending device to the receiving device by locking the secret message with a first key known to the sending device to produce a locked message and transmitting the locked message to the receiving device, receiving from the receiving device a doubly locked message corresponding to the locked message, decrypting the doubly locked message with a second key corresponding to the first key to produce a singly locked message and transmitting the singly locked message to the receiving device, wherein the singly locked message can be decrypted, using a key known by the receiving device, to produce the secret message.
- 23. The encoding system of claim 13, wherein the multilevel transform is selected from the set consisting of a multilevel wavelet transform and a multilevel wavelet-like transform.
- 24. The encoding system of claim 13, wherein the multilevel transform is selected from the set consisting of a multilevel wavelet transform, a multilevel wavelet-like transform, a discrete cosine transform, and a discrete sine transform.
RELATED APPLICATIONS
[0001] This application claims priority to U.S. provisional application No. 60/344,842, filed Oct. 22, 2001, and U.S. utility patent application Ser. No. 10/154,795, filed on May 23, 2002, which are both hereby incorporated by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60344842 |
Oct 2001 |
US |