Cryptography using multi-factor key system and finite state machine
First Claim
1. A computer-implemented method comprising:
- selecting, by a first computing device, a public key from a plurality of public keys provided by a message recipient that is to receive an encrypted message over a communication network;
establishing an input alphabet for a finite-state machine;
constructing the finite-state machine and a language over the input alphabet such that the finite-state machine accepts the language, wherein the language comprises language elements;
encrypting a language element of the language using the selected public key to provide an encrypted language element;
electronically transmitting the encrypted language element and a specification of the finite-state machine to the message recipient for securely identifying the selected public key to the message recipient, wherein the message recipient comprises a second computing device;
encrypting a message using the selected public key to provide the encrypted message to the first computing device; and
electronically transmitting the encrypted message to the message recipient.
1 Assignment
0 Petitions
Accused Products
Abstract
A process selects a public key from a plurality of public keys provided by a message recipient that is to receive an encrypted message. The process establishes an input alphabet for a finite-state machine. The process further constructs the finite-state machine and a language over the input alphabet such that the finite-state machine accepts the language, where the language includes language elements. The process encrypts a language element of the language using the selected public key to provide an encrypted language element. The process electronically transmits the encrypted language element and a specification of the finite-state machine to the message recipient for securely identifying the selected public key to the message recipient. The process encrypts a message using the selected public key to provide the encrypted message. The process also electronically transmits the encrypted message to the message recipient.
-
Citations
20 Claims
-
1. A computer-implemented method comprising:
selecting, by a first computing device, a public key from a plurality of public keys provided by a message recipient that is to receive an encrypted message over a communication network; establishing an input alphabet for a finite-state machine; constructing the finite-state machine and a language over the input alphabet such that the finite-state machine accepts the language, wherein the language comprises language elements; encrypting a language element of the language using the selected public key to provide an encrypted language element; electronically transmitting the encrypted language element and a specification of the finite-state machine to the message recipient for securely identifying the selected public key to the message recipient, wherein the message recipient comprises a second computing device; encrypting a message using the selected public key to provide the encrypted message to the first computing device; and electronically transmitting the encrypted message to the message recipient. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
10. A computer program product comprising:
-
a non-transitory computer readable storage medium readable by a processor and storing instructions for execution by the processor for performing a method comprising; selecting, by a first computing device, a public key from a plurality of public keys provided by a message recipient that is to receive an encrypted message over a communication network; establishing an input alphabet for a finite-state machine; constructing the finite-state machine and a language over the input alphabet such that the finite-state machine accepts the language, wherein the language comprises language elements; encrypting a language element of the language using the selected public key to provide an encrypted language element; electronically transmitting the encrypted language element and a specification of the finite-state machine to the message recipient for securely identifying the selected public key to the message recipient, wherein the message recipient comprises a second computing device; encrypting a message using the selected public key to provide the encrypted message to the first computing device; and electronically transmitting the encrypted message to the message recipient. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A computer system comprising:
-
a memory device; and a hardware processor in communications with the memory, wherein the computer system is configured to perform a method comprising; selecting, by a first computer system, a public key from a plurality of public keys provided by a message recipient that is to receive an encrypted message over a communication network; establishing an input alphabet for a finite-state machine; constructing the finite-state machine and a language over the input alphabet such that the finite-state machine accepts the language, wherein the language comprises language elements; encrypting a language element of the language using the selected public key to provide an encrypted language element; electronically transmitting the encrypted language element and a specification of the finite-state machine to the message recipient for securely identifying the selected public key to the message recipient, wherein the message recipient comprises a second computer device; encrypting a message using the selected public key to provide the encrypted message to the first computing device; and electronically transmitting the encrypted message to the message recipient. - View Dependent Claims (17, 18, 19, 20)
-
Specification