US 12,225,125 B2
Method and apparatus for using a picture and shared secret to create replicable high quality pools of entropy for keys for encryption, authentication and one time pads for images, data and message encoding
Robert B. Roessler, Jr., Coupeville, WA (US); Christopher J. Daly, Dallas, TX (US); Anthony V. Valentino, Richardson, TX (US); and Max Fleming, Addison, TX (US)
Assigned to Amera IoT Inc., Addison, TX (US)
Filed by Amera IoT Inc., Addison, TX (US)
Filed on Aug. 8, 2024, as Appl. No. 18/798,510.
Application 18/798,510 is a continuation in part of application No. 18/662,603, filed on May 13, 2024.
Application 18/662,603 is a continuation of application No. 18/137,778, filed on Apr. 21, 2023, granted, now 11,997,202, issued on May 28, 2024.
Application 18/137,778 is a continuation of application No. 17/676,678, filed on Feb. 21, 2022, granted, now 11,637,698, issued on Apr. 25, 2023.
Application 17/676,678 is a continuation of application No. 16/917,583, filed on Jun. 30, 2020, granted, now 11,258,602, issued on Feb. 22, 2022.
Application 16/917,583 is a continuation in part of application No. 16/888,815, filed on May 31, 2020, granted, now 10,817,590, issued on Oct. 27, 2020.
Claims priority of provisional application 62/981,996, filed on Feb. 26, 2020.
Prior Publication US 2024/0405984 A1, Dec. 5, 2024
Int. Cl. H04L 9/08 (2006.01); G06F 13/20 (2006.01)
CPC H04L 9/088 (2013.01) [G06F 13/20 (2013.01)] 1 Claim
OG exemplary drawing
 
1. A method for encoding and decoding a message with One Time Pad (OTP) process, comprising steps of:
receiving a message to be encoded;
receiving an ordered dataset;
parameterizing a Pseudo Random Number Generator (PRNG) with an initial seed value, wherein the seed value is changed in a sequence of known values;
in a harvesting operation:
selecting data from the ordered dataset with the PRNG, and creating a current entropy plane having a defined size comprised of the selected data from the ordered dataset associated with the seed value, wherein an encoding operation requires a plurality of entropy planes that comprise an entropy pool for the encoding operation, and wherein incrementing of the seed value create new current entropy planes;
in the encoding operation:
1) selecting a portion of the received message,
2) scanning the current entropy plane in a predetermined pattern;
3) selecting data from the current entropy plane corresponding to the selected portion of the received message,
4) determining a location of the selected data from the current entropy plane and marking that location as used,
5) assembling the location associated with the current entropy plane in an encoded message,
6) repeating steps 1)-5) until no unmarked data is present in the current entropy plane, wherein the unmarked data is determined based on determining whether a data in the current entropy plane was selected in step 3) previously, and
7) requesting from the harvesting operation a new current entropy plane of the new current entropy planes and repeating steps 1)-6) until all portions of the received message have been processed and an associated location information comprising locations determined and assembled in steps 4) and 5) is assembled in the encoded message; and
decoding the encoded message by steps of:
operating the harvesting operation with the PRNG and the seed value to create identical entropy planes used for the encoding operation, for each generated entropy plane of the identical entropy planes, using the location information in the encoded message to map to corresponding data that generated the each entropy plane, assembling a decoded message from the mapped corresponding data in the each generated entropy plane, and generating the new current entropy planes until all of mapped locations in the location information have been processed in the encoded message.