System for encryption of partitioned data blocks utilizing public key methods and random numbers
First Claim
1. A method, using a first processor at a first user and a second processor at a second user, for encrypting and decrypting data having a plurality of blocks, with each block having a multiplicity of sub-blocks, with the first user having a first secret key and a first public key generated from the first secret key, and with the second user having a second secret key and a second public key generated from the second secret key, comprising the steps of:
- generating, using the first processor, a global key from the second public key and the first secret key;
scrambling, for each block of data, using the first processor, the multiplicity of sub-blocks by exclusive-ORing sequential sub-blocks of the data, and partitioning each block of scrambled data into a first portion and a second portion, thereby generating a block of scrambled data having the first portion and the second portion;
generating a random number, using an algorithm in the first processor, from the first portion of the block of scrambled data;
exclusive-ORing, using the first processor, the second portion of the block of scrambled data with the random number to generate a scrambled second portion and exclusive-ORing, using the first processor, the global key with the first portion of the block of scrambled data to generate a scrambled first portion, thereby generating encrypted data comprising the scrambled second portion concatenated with the scrambled first portion;
sending the encrypted data from the first processor to the second processor;
generating, using the second processor, the global key from the first public key and the second secret key;
exclusive-ORing, using the second processor, the global key with the scrambled first portion, thereby generating the first portion;
generating, using the second processor, the random number from the first portion;
exclusive-ORing, using the second processor, the random number with the scrambled second portion, thereby generating the second portion; and
descrambling, at the second processor, the block of scrambled data comprising the first portion and the second portion, thereby generating the block of data.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for encryption wide-bandwidth video, using a first processor for encrypting the video and a second processor for decrypting the video. Data is taken in blocks. A block of data is scrambled to generate scrambled data, then partitioned into a first portion and a second portion. A global key is generated at the first processor and the second processor, using public key technology. At the first processor, the global key is exclusively-ORed with the first portion, thereby generating a encrypted second portion. At the first processor, a random number is generated from the first portion and exclusively-ORed with the second portion to generate an encrypted second portion. At the second processor, the global key is exclusively-ORed with the encrypted first portion. At the second processor, the random number is recovered from the decrypted first portion and exclusively-ORed with the encrypted second portion to decrypt it. The scrambled data are descrambled, thereby recovering the data.
114 Citations
22 Claims
-
1. A method, using a first processor at a first user and a second processor at a second user, for encrypting and decrypting data having a plurality of blocks, with each block having a multiplicity of sub-blocks, with the first user having a first secret key and a first public key generated from the first secret key, and with the second user having a second secret key and a second public key generated from the second secret key, comprising the steps of:
-
generating, using the first processor, a global key from the second public key and the first secret key; scrambling, for each block of data, using the first processor, the multiplicity of sub-blocks by exclusive-ORing sequential sub-blocks of the data, and partitioning each block of scrambled data into a first portion and a second portion, thereby generating a block of scrambled data having the first portion and the second portion; generating a random number, using an algorithm in the first processor, from the first portion of the block of scrambled data; exclusive-ORing, using the first processor, the second portion of the block of scrambled data with the random number to generate a scrambled second portion and exclusive-ORing, using the first processor, the global key with the first portion of the block of scrambled data to generate a scrambled first portion, thereby generating encrypted data comprising the scrambled second portion concatenated with the scrambled first portion; sending the encrypted data from the first processor to the second processor; generating, using the second processor, the global key from the first public key and the second secret key; exclusive-ORing, using the second processor, the global key with the scrambled first portion, thereby generating the first portion; generating, using the second processor, the random number from the first portion; exclusive-ORing, using the second processor, the random number with the scrambled second portion, thereby generating the second portion; and descrambling, at the second processor, the block of scrambled data comprising the first portion and the second portion, thereby generating the block of data.
-
-
2. A method, using a first processor at a first user and a second processor at a second user, for encrypting and decrypting data having a plurality of blocks, with the first user having a first secret key and a first public key generated from the first secret key and with the second user having a second secret key and a second public key generated from the second secret key, comprising the steps of:
-
generating, using the first processor, a global key from the second public key and the first secret key; scrambling, using the first processor, a block of data; partitioning the block of scrambled data into a first portion and a second portion, thereby generating a block of scrambled data having the first portion and the second portion; generating a random number, using an algorithm in the first processor, from the first portion of the block of scrambled data; combining, using the first processor, the second portion of the block of scrambled data with the random number to generate a scrambled second portion and combining, using the first processor, the global key with the first portion of the block of scrambled data to generate a scrambled first portion, thereby generating encrypted data comprising the scrambled second portion concatenated with the scrambled first portion; sending the encrypted data from the first processor to the second processor; generating, using the second processor, the global key from the first public key and the second secret key; combining, using the second processor, the global key with the scrambled first portion, thereby generating the first portion; generating, using the second processor, the random number from the first portion; combining, using the second processor, the random number with the scrambled second portion, thereby generating the second portion; and descrambling, using the second processor, the block of scrambled data comprising the first portion and the second portion, thereby generating the block of data. - View Dependent Claims (3, 4, 5, 6)
-
-
7. A method, using a first processor at a first user for encrypting data having a plurality of blocks, with the first user having a global key and with a second user having the global key, comprising the steps of:
-
scrambling a block of the data and partitioning the block of scrambled data into a first portion and a second portion thereby generating a block of scrambled data having the first portion and the second portion; generating a random number, using an algorithm, from the first portion of the block of scrambled data; combining the second portion of the block of scrambled data with the random number to generate a scrambled second portion, and combining the global key with the first portion of the block of scrambled data to generate a scrambled first portion, thereby generating encrypted data comprising the scrambled second portion concatenated with the scrambled first portion. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A system for encrypting and decrypting data having a plurality of blocks, with a first user having a first secret key and a first public key generated from the first secret key and with a second user having a second secret key and a second public key generated from the second secret key, comprising:
-
a first processor, located at the first user, for generating a global key from the second public key and the first secret key, for scrambling and partitioning a block of the data, thereby generating a block of scrambled data having a first portion and a second portion, for generating a random number from the first portion of the scrambled data using an algorithm, for combining the second portion of the block of scrambled data with the random number to generate a scrambled second portion, and for combining the global key with the first portion of the block of scrambled data to generate a scrambled first portion, thereby generating encrypted data comprising the scrambled second portion concatenated with the scrambled first portion; and a second processor located at the second user, for generating the global key from the first public key and the second secret key, for combining the global key with the scrambled first portion, thereby generating the first portion, for generating the random number from the first portion, for combining the random number with the scrambled second portion, thereby generating the second portion, and for descrambling the block of scrambled data having the first portion and the second portion, thereby generating the block of data. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A system for encrypting and decrypting data having a plurality of blocks, with a first user having a first secret key and a first public key generated from the first secret key, and with a second user having a second secret key and a second public key generated from the second secret key, comprising:
-
first means, located at the first user, for generating a global key from the second public key and the first secret key, said first means for scrambling and partitioning a block of the data, thereby generating a block of scrambled data having a first portion and a second portion, said first means for generating a random number from the first portion of the scrambled data using an algorithm, said first means for combining the second portion of the block of scrambled data with the random number to generate a scrambled second portion, and said first means for combining the global key with the first portion of the block of scrambled data to generate a scrambled first portion, thereby generating encrypted data comprising the scrambled second portion concatenated with the scrambled first portion; and second means located at the second user, for generating the global key from the first public key and the second secret key, said second means for combining the global key with the scrambled first portion, thereby generating the first portion, said second means for generating the random number from the first portion, said second means for combining the random number with the scrambled second portion, thereby generating the second portion, and said second means for descrambling the block of scrambled data having the first portion and the second portion, thereby generating the block of data. - View Dependent Claims (19, 20, 21, 22)
-
Specification