9270462

Method and System for Conducting High Speed, Symmetric Stream Cipher Encryption

PublishedFebruary 23, 2016
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
21 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A computer-implemented method performed by one or more data processors, for processing a digital information set having a plurality of digital information bytes, the computer-implemented method comprising: initializing a set of state variables and storing the set of state variables in a non-transitory storage medium; generating, using the one or more data processors, a set of cryptors comprising a plurality of cryptors and storing the plurality of cryptors in the non-transitory storage medium, each cryptor being a virtual dynamic array containing a monoalphabetic cipher and having an associated index value representing a rotational position of the cryptor; pseudo-randomly modifying, using the one or more data processors, one or more values included within one or more of the set consisting of: the state variables, and the plurality of cryptors; pseudo-randomly selecting, based on the state variables and using the one or more data processors, an ordered cryptor subset of the plurality of cryptors to be sequentially applied to a digital information byte; pseudo-randomly setting the index value for each cryptor in the ordered cryptor subset; processing, using the one or more data processors, a selected one of the plurality of digital information bytes using the ordered cryptor subset to produce a processed digital information byte, wherein the action of processing a selected one of the plurality of digital information bytes includes: sequentially applying each cryptor in the ordered cryptor subset to an input byte, the input byte for a first cryptor application being the selected one of the plurality of information bytes and for each subsequent cryptor application, the input byte being a resultant output byte from the preceding cryptor application, the processed information byte being the output byte from a final cryptor application; repeating the actions of pseudo-randomly modifying, pseudo-randomly selecting, pseudo-randomly setting, and processing for each remaining digital information byte of the digital information set, each performance cycle of the actions of pseudo-randomly modifying, pseudo-randomly selecting, pseudo-randomly setting, and processing constituting a process iteration; and assembling the processed digital information bytes from all process iterations to form an output digital information set, wherein the action of pseudo-randomly modifying the plurality of cryptors includes modifying at least one cryptor of the plurality of cryptors independently of each other cryptor of the plurality of cryptors.

2

2. A method according to claim 1 , wherein the information bytes are plaintext bytes or ciphertext bytes produced from plaintext bytes, and wherein if the information bytes are plaintext bytes, then each processed information byte is a ciphertext byte and if the information bytes are ciphertext bytes, then each processed information byte is a plaintext byte.

3

3. A method according to claim 1 wherein the action of applying each cryptor includes: combining the input byte with the index value associated with the cryptor being applied to create an intermediate output byte, and using the intermediate output byte as an index into the cryptor virtual array to obtain the output byte for the cryptor application.

4

4. A method according to claim 3 wherein the action of combining the input byte with the index value associated with the cryptor includes at least one of the set consisting of adding the input byte and the index value, applying a Boolean exclusive-or operator to the input byte and the index value, and subtracting the index value from the input byte.

5

5. A method according to claim 1 wherein the action of applying each cryptor includes: using the input byte as an index into the cryptor virtual array to obtain an intermediate output byte, and combining the intermediate output byte with the index value associated with the cryptor being applied to produce the output byte for the cryptor application.

6

6. A method according to claim 1 further comprising: generating a plurality of inverse cryptors equal in number to the plurality of cryptors, each inverse cryptor containing a unique monoalphabetic cipher that reverses an encryption effect of a corresponding one of the plurality of cryptors and having the same associated index value as the corresponding one of the plurality of cryptors.

7

7. A method according to claim 6 wherein the information set is a ciphertext message comprising information bytes that are each ciphertext bytes, the ciphertext message being a result of a previous encryption of a plaintext message based on the initialization parameters and the output information set being a reproduced version of the plaintext message, and wherein the action of processing a selected one of the plurality of information bytes includes: sequentially applying, in reverse order, the inverse cryptor corresponding with each cryptor in the ordered cryptor subset to an input byte, the input byte for a first inverse cryptor application being the selected one of the plurality of information bytes and for each subsequent inverse cryptor application, the input byte being a resultant output byte from the preceding inverse cryptor application, the processed information byte being the output byte from a final inverse cryptor application.

8

8. A method according to claim 7 wherein the action of applying the inverse cryptor corresponding with each cryptor includes: using the input byte as an index into the inverse cryptor virtual array to obtain an intermediate output byte, and combining the intermediate output byte with the index value associated with the inverse cryptor being applied to produce the output byte for the inverse cryptor application.

9

9. A method according to claim 8 wherein the action of combining the intermediate output byte with the index value associated with the inverse cryptor being applied includes at least one of the set consisting of adding the index value to the intermediate output byte, using a Boolean exclusive-or operator to apply the index value to the intermediate output byte, and subtracting the index value from the intermediate output byte.

10

10. A method according to claim 1 wherein the action of processing a selected one of the plurality of information bytes includes: determining a pseudo-random target information byte; sequentially applying each rotationally positioned cryptor in the ordered cryptor subset to the target information byte to produce a processed target byte; and combining the processed target byte with the selected one of the plurality of information bytes to produce the processed information byte.

11

11. A method according to claim 10 wherein the action of combining the processed target byte with the selected one of the plurality of information bytes includes at least one of the set consisting of adding the processed target byte and the selected one of the plurality of information bytes, applying a Boolean exclusive-or operator to apply the processed target byte to the selected one of the plurality of information bytes, and subtracting the selected one of the plurality of information bytes from the processed target byte.

12

12. A method according to claim 1 wherein the action of initializing includes: constructing the set of state variables using values derived from a public information string and one or more private information strings.

13

13. A method according to claim 1 further comprising: changing the number of cryptors in the ordered cryptor subset during one or more of the process iterations.

14

14. A method according to claim 1 wherein the action of pseudo-randomly modifying includes at least one modification selected from the set consisting of rearranging the monoalphabetic contents of one or more of the plurality of cryptors, replacing one or more of the plurality of cryptors, and swapping locations of one or more pairs of values within cryptors of the plurality of cryptors.

15

15. A method according to claim 1 wherein the action of pseudo-randomly selecting an ordered cryptor subset from the plurality of cryptors includes: pseudo-randomly selecting the cryptors of the ordered cryptor subset from the plurality of cryptors based on one or more of the state variables.

16

16. A method according to claim 1 wherein the action of processing a selected one of the plurality of information bytes includes pseudo-randomly generating a target byte, sequentially applying each cryptor in the ordered cryptor subset to an input byte, the input byte for a first cryptor application being the target byte and for each subsequent cryptor application, the input byte being a resultant output byte from the preceding cryptor application, the output byte from a final cryptor application being the processed information byte.

17

17. An automated system for processing a digital information set having a plurality of digital information bytes, the system comprising: a non-transitory data storage medium; at least one data processor in communication with the non-transitory data storage medium; and a hardware interface configured to establish selective communication between the at least one data processor and at least one of the set consisting of a user for direct information input therefrom, external data processors, one or more local or wide area networks, and a telecommunications network, wherein the non-transitory storage medium has stored therein instructions to cause the at least one data processor to carry out the actions of: receiving the information set via the hardware interface, initializing a set of state variables and storing the set of state variables in the non-transitory storage medium, generating, using the set of state variables, a set of cryptors comprising a plurality of cryptors, and storing the set of cryptors in the non-transitory storage medium, each of the plurality of cryptors being a virtual dynamic array containing a monoalphabetic cipher and having an associated index value representing a rotational position of the cryptor, pseudo-randomly modifying one or more values included within one or more of the set consisting of: the set of state variables and the plurality of cryptors, pseudo-randomly selecting, based on the set of state variables, an ordered cryptor subset of the plurality of cryptors to be sequentially applied to a digital information byte of the digital information set, pseudo-randomly setting the index value for each cryptor in the ordered cryptor subset; processing a selected one of the plurality of digital information bytes using the ordered cryptor subset to produce a processed digital information byte, wherein the action of processing the selected one of the plurality of digital information bytes includes: sequentially applying each cryptor in the ordered cryptor subset to an input byte, the input byte for a first cryptor application being the selected one of the plurality of information bytes and for each subsequent cryptor application, the input byte being a resultant output byte from the preceding cryptor application, the processed information byte being the output byte from a final cryptor application, and repeating the actions of pseudo-randomly modifying, pseudo-randomly selecting, pseudo-randomly setting, and processing for each remaining digital information byte of the digital information set, each performance cycle of the actions of pseudo-randomly modifying, pseudo-randomly selecting, pseudo-randomly setting, and processing constituting a process iteration; and assembling the processed digital information bytes from all process iterations to form a processed digital information set, wherein the action of pseudo-randomly modifying the plurality of cryptors includes modifying at least one cryptor of the plurality of cryptors independently of each other cryptor of the plurality of cryptors.

18

18. An automated system according to claim 17 wherein the software is further configured for execution on the at least one data processor to cause the at least one data processor to carry out the action of generating a plurality of inverse cryptors equal in number to the plurality of cryptors, each inverse cryptor containing a unique monoalphabetic cipher that reverses an encryption effect of a corresponding one of the plurality of cryptors and having the same index value as the corresponding one of the plurality of cryptors.

19

19. An automated system according to claim 18 wherein the software is further configured for execution on the at least one data processor to cause the at least one data processor to carry out the action of sequentially applying, in reverse order, the inverse cryptor corresponding with each cryptor in the ordered cryptor subset to an input byte, the input byte for a first inverse cryptor application being the selected one of the plurality of information bytes and for each subsequent inverse cryptor application, the input byte being a resultant output byte from the preceding inverse cryptor application, the processed information byte being the output byte from a final inverse cryptor application.

20

20. An automated system according to claim 17 wherein the at least one data processor is or includes one of the set consisting of an integrated circuit and a chip.

21

21. An automated system according to claim 17 wherein the at least one data processor is or includes a component of a communications device.

Patent Metadata

Filing Date

Unknown

Publication Date

February 23, 2016

Inventors

David L. Parrish

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “METHOD AND SYSTEM FOR CONDUCTING HIGH SPEED, SYMMETRIC STREAM CIPHER ENCRYPTION” (9270462). https://patentable.app/patents/9270462

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.

METHOD AND SYSTEM FOR CONDUCTING HIGH SPEED, SYMMETRIC STREAM CIPHER ENCRYPTION — David L. Parrish | Patentable