Patent ID: 7508935

Claim:
A method for encoding plaintext to create ciphertext using an Oommen-Rueda tree, which Oommen-Rueda tree has a root, branches and leaves, comprising the steps of: (a) receiving a first character of plaintext; (b) traversing the Oommen-Rueda tree between the root of the Oommen-Rueda tree, and a leaf of the Oommen-Rueda tree corresponding to the first character of plaintext, and recording an Assignment Value of at least one branch of the Oommen-Rueda tree so traversed; (c) calculating a character of ciphertext related to the Assignment Value of the at least one branch of the Oommen-Rueda tree so traversed; (d) calculating an Assignment Value for at least one other branch of the Oommen-Rueda tree related to a distribution of the ciphertext previously calculated; (e) receiving a next character of plaintext; (f) traversing the Oommen-Rueda tree between the root of the Oommen-Rueda tree and a further leaf of the Oommen-Rueda tree corresponding to a next character of plaintext; (g) calculating a further Assignment Value for at least one further traversed branch of the Oommen-Rueda tree related to a further distribution of the further ciphertext previously calculated; (h) calculating a further character of ciphertext relating to the further Assignment Value for the at least one further traversed branch of the Oommen-Rueda tree; (i) repeating steps (e) through (h) until all of the plaintext has been processed; (j) outputting the ciphertext; and wherein the Assignment Value for at least one branch traversed is determined in accordance with a Branch Assignment Rule.