| CPC H04L 9/088 (2013.01) [G06F 13/20 (2013.01)] | 1 Claim |

|
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.
|