IP Library › Granted Patent US 11,593,528
Granted Patent B2
US 11,593,528 · App. 16/842,306 · Granted Feb 28, 2023

Compact key with reusable common key for encryption

Inventor: Hamid R. Sadjadpour (Santa Cruz, CA)
Assignee: THE REGENTS OF THE UNIVERSITY OF CALIFORNIA
G06F21/78G06F21/602H04L9/0869H04L9/0897
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,593,528
App. No.
16/842,306
Granted
Feb 28, 2023
Kind
B2
Abstract

Techniques for secure public exposure of digital data include extracting first digital data comprising one or more batches, each batch comprising a plurality of no more than a number T of packets, each packet containing a plurality of a number n of bits. A random binary matrix A consisting of T rows and n columns is generated. For a first batch, a first random n-bit temporary key is generated. For a packet in the first batch, a first packet vector key is generated based on random non-overlapping pairs of bit positions for both the temporary key and for a first packet-corresponding row of matrix A. An encrypted packet is generated for the packet based on the packet and the first packet vector key. The encrypted packet is exposed publicly.

Claims (54)

1. A method implemented on a hardware processor for secure remote digital storage, the method comprising:

a. extracting first digital data comprising one or more batches, each batch comprising a plurality of no more than a number T of packets, each packet containing a plurality of a number n of bits;

b. generating a random binary matrix A consisting of T rows and n columns;

c. for a first batch of the batches, generating a secret first random n-bit temporary key; and

d. for a first packet in the first batch,

generating a first packet vector key with each element j=1 to n of the first packet vector key equal to an element from the temporary key combined using an exclusive OR function with a corresponding element from a first packet-corresponding row of matrix A,

generating a first encrypted packet based on the first packet and the first packet vector key, and

causing the first encrypted packet to be exposed publicly.

2. The method as recited in claim 1 , further comprising performing step d for all packets of the plurality of packets in the first batch.

3. The method as recited in claim 2 , further comprising storing on a computer readable medium, on a secure device, key data that indicates the matrix A and the temporary key and the random non-overlapping pairs of bit positions for all packets in the first batch.

4. The method as recited in claim 1 , further comprising performing steps c and d for all batches of the one or more batches.

5. The method as recited in claim 1 , further comprising storing in a computer readable medium, on a secure device, key data that indicates the matrix A and the first temporary key and the random non-overlapping pairs of bit positions.

6. The method as recited in claim 5 , further comprising decoding the encrypted packet based on the key data.

7. The method as recited in claim 1 , wherein the hardware processor is a local device with physical security and causing the first encrypted packet to be exposed publicly further comprises storing the first encrypted packet at a remote device without physical security.

8. The method as recited in claim 1 , wherein the random non-overlapping pairs of bit positions are produced separately for each packet of the plurality of packets in each batch of the one or more batches.

9. The method as recited in claim 1 , wherein the random n-bit temporary key is produced separately for each batch of the one or more batches.

10. The method of claim 1 , further comprising exchanging bit positions of the first packet vector key elements responsive to a predetermined relationship between each element of the temporary key combined using an exclusive OR function with a corresponding element from the first packet-corresponding row of matrix A.

11. A non-transitory computer-readable medium carrying one or more sequences of instructions for secure remote digital storage, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:

a. extracting first digital data comprising one or more batches, each batch comprising a plurality of no more than a number T of packets, each packet containing a plurality of a number n of bits;

b. generating a random binary matrix A consisting of T rows and n columns;

c. for a first batch of the batches, generating a secret first random n-bit temporary key; and

d. for a first packet in the first batch,

generating a first packet vector key with each element j=1 to n of the first packet vector key equal to an element from the temporary key combined using an exclusive OR function with a corresponding element from a first packet-corresponding row of matrix A,

generating a first encrypted packet based on the first packet and the first packet vector key, and

causing the first encrypted packet to be exposed publicly.

12. The non-transitory computer-readable medium as recited in claim 11 , wherein execution of the one or more sequences of instructions by the one or more processors further causes the one or more processors to perform step d for all packets of the plurality of packets in the first batch.

13. The non-transitory computer-readable medium as recited in claim 12 , wherein execution of the one or more sequences of instructions by the one or more processors further causes the one or more processors to perform storing on a computer readable medium, on a secure device, key data that indicates the matrix A and the temporary key and the random non-overlapping pairs of bit positions for all packets in the first batch.

14. The non-transitory computer-readable medium as recited in claim 11 , wherein execution of the one or more sequences of instructions by the one or more processors further causes the one or more processors to perform steps c and d for all batches of the one or more batches.

15. The non-transitory computer-readable medium as recited in claim 11 , wherein execution of the one or more sequences of instructions by the one or more processors further causes the one or more processors to perform storing in a computer readable medium, on a secure device, key data that indicates the matrix A and the first temporary key and the random non-overlapping pairs of bit positions.

16. The non-transitory computer-readable medium as recited in claim 15 , wherein execution of the one or more sequences of instructions by the one or more processors further causes the one or more processors to perform decoding the encrypted packet based on the key data.

17. The non-transitory computer-readable medium as recited in claim 11 , wherein the hardware processor is a local device with physical security and causing the first encrypted packet to be exposed publicly further comprises storing the first encrypted packet at a remote device without physical security.

18. The non-transitory computer-readable medium as recited in claim 11 , wherein the random non-overlapping pairs of bit positions are produced separately for each packet of the plurality of packets in each batch of the one or more batches.

19. The non-transitory computer-readable medium as recited in claim 11 , wherein the random n-bit temporary key is produced separately for each batch of the one or more batches.

20. The method of claim 11 , further comprising exchanging bit positions of the first packet vector key elements responsive to a predetermined relationship between each element of the temporary key combined using an exclusive OR function with a corresponding element from the first packet-corresponding row of matrix A.

21. A system for secure remote digital storage comprising:

at least one processor; and

at least one memory including one or more sequences of instructions,

the at least one memory and the one or more sequences of instructions configured to, with the at least one processor, cause the system to perform at least the following,

a. extracting first digital data comprising one or more batches, each batch comprising a plurality of no more than a number T of packets, each packet containing a plurality of a number n of bits;

b. generating a random binary matrix A consisting of T rows and n columns;

c. for a first batch of the batches, generating a secret first random n-bit temporary key; and

d. for a first packet in the first batch,

generating a first packet vector key with each element j=1 to n of the first packet vector key equal to an element from the temporary key combined using an exclusive OR function with a corresponding element from a first packet-corresponding row of matrix A,

generating a first encrypted packet based on the first packet and the first packet vector key, and

causing the first encrypted packet to be exposed publicly.

22. The system as recited in claim 21 , wherein execution of the one or more sequences of instructions by the one or more processors further causes the one or more processors to perform step d for all packets of the plurality of packets in the first batch.

23. The system as recited in claim 22 , wherein execution of the one or more sequences of instructions by the one or more processors further causes the one or more processors to perform storing on a computer readable medium, on a secure device, key data that indicates the matrix A and the temporary key and the random non-overlapping pairs of bit positions for all packets in the first batch.

24. The system as recited in claim 21 , wherein execution of the one or more sequences of instructions by the one or more processors further causes the one or more processors to perform steps c and d for all batches of the one or more batches.

25. The system as recited in claim 21 , wherein execution of the one or more sequences of instructions by the one or more processors further causes the one or more processors to perform storing in a computer readable medium, on a secure device, key data that indicates the matrix A and the first temporary key and the random non-overlapping pairs of bit positions.

26. The system as recited in claim 25 , wherein execution of the one or more sequences of instructions by the one or more processors further causes the one or more processors to perform decoding the encrypted packet based on the key data.

27. The system as recited in claim 21 , wherein the hardware processor is a local device with physical security and causing the first encrypted packet to be exposed publicly further comprises storing the first encrypted packet at a remote device without physical security.

28. The system as recited in claim 21 , wherein the random non-overlapping pairs of bit positions are produced separately for each packet of the plurality of packets in each batch of the one or more batches.

29. The system as recited in claim 21 , wherein the random n-bit temporary key is produced separately for each batch of the one or more batches.

30. The method of claim 21 , further comprising exchanging bit positions of the first packet vector key elements responsive to a predetermined relationship between each element of the temporary key combined using an exclusive OR function with a corresponding element from the first packet-corresponding row of matrix A.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2021
From: SADJADPOUR, HAMID R.
To: THE REGENTS OF THE UNIVERSITY OF CALIFORNIA
Reel/Frame 055012/0962 →
Continuity (2)
Provisional Application 62830912 · Apr 8, 2019
Related Publication 20200320227A1 · Oct 8, 2020