US 12,007,908 B2
Method and apparatus to dynamically encode data at runtime
Rafie Shamsaasef, San Diego, CA (US); and Lex Aaron Anderson, Auckland (NZ)
Assigned to ARRIS Enterprises LLC, Suwanee, GA (US)
Filed by ARRIS Enterprises LLC, Suwanee, GA (US)
Filed on Dec. 14, 2017, as Appl. No. 15/841,743.
Prior Publication US 2019/0188157 A1, Jun. 20, 2019
Int. Cl. G06F 21/00 (2013.01); G06F 8/41 (2018.01); G06F 9/54 (2006.01); G06F 12/14 (2006.01); G06F 21/14 (2013.01); G06F 21/54 (2013.01); G06F 21/60 (2013.01); H04L 9/06 (2006.01); H04L 65/75 (2022.01); H04L 9/40 (2022.01)
CPC G06F 12/1408 (2013.01) [G06F 8/423 (2013.01); G06F 9/544 (2013.01); G06F 21/14 (2013.01); G06F 21/54 (2013.01); G06F 21/60 (2013.01); H04L 9/0631 (2013.01); H04L 65/75 (2022.05); G06F 2221/2125 (2013.01); H04L 63/0428 (2013.01); H04L 2209/16 (2013.01)] 16 Claims
OG exemplary drawing
 
1. A method comprising:
randomly selecting at least one dynamic encoding algorithm at runtime during execution of a program by a processor when the processor performs at least one of encoding, decoding and/or re-encoding a data flow of the program, the selecting at runtime made randomly from a pool of encoding algorithms injected into the program at build-time, where the encoding algorithms in the pool each comprise at least one function for encoding, decoding and/or re-encoding the data flow by altering a data value without altering a data type associated with said data value;
wherein the selected at least one dynamic encoding algorithm is associated with at least one tagged data element in the program for encoding, decoding or re-encoding data stored in the tagged data element; and
wherein:
unencoded data is encoded by the selected at least one dynamic encoding algorithm when the unencoded data is copied to the tagged data element;
encoded data is re-encoded by the selected at least one dynamic encoding algorithm when the encoded data is copied from a differently tagged data element to the tagged data element; or
encoded data is decoded by the selected at least one dynamic encoding algorithm when the encoded data is copied from the tagged data element to an untagged data element.