The present application relates to methods and systems for secure communications between computer devices.
A computer-implemented method for communicating information from a transmitter device to a receiver device in accordance with one or more embodiments includes the steps of: providing a first seed value to a first stream generator at the transmitter device and the same first seed value to a first stream generator at the receiver device; providing a second seed value to a second stream generator at the transmitter device and the same second seed value to a second stream generator at the receiver device; generating a first sequence of random numbers based on the first seed value by the first stream generator at the transmitter device and the same first sequence of random numbers based on the first seed value by the first stream generator at the receiver device; generating a second sequence of random numbers based on the second seed value by the second stream generator at the transmitter device and the same second sequence of random numbers based on the second seed value at the second stream generator at the receiver device; generating a polarization value by a polarization value generator to drive a light polarizer using the second sequence of random numbers in the transmitter device, and generating a polarization value by a polarization value generator to drive a light polarizer using the second sequence of random numbers in the receiver device; receiving plaintext data at the transmitter device; encrypting the plaintext data into ciphertext using the first sequence of random numbers generated by the first stream generator; converting the ciphertext to unidirectional polarized light by the light polarizer in the transmitter device; transmitting the unidirectional polarized light from the transmitter device to the receiver device; converting the unidirectional polarized light to the ciphertext using the light polarizer in the receiver device; decrypting the ciphertext using the first sequence of random numbers generated by the stream generator in a receiver device to recover the plaintext data; and outputting the plaintext data from the receiver device.
A communications system in accordance with one or more embodiments comprises a transmitter device and a receiver device. The transmitter device comprises: a first stream generator for generating a first sequence of random numbers based on a first seed value; a second stream generator for generating a second sequence of random numbers based on a second seed value; a light polarizer; a polarization value generator for generating a polarization value by to drive the light polarizer using the second sequence of random numbers; and a cipher for encrypting plaintext data received by the transmitter into ciphertext using the first sequence of random numbers generated by the first stream generator; wherein the light polarizer converts the ciphertext to unidirectional polarized light for transmission. The receiver device receives the unidirectional polarized light from the transmitter device. The receiver device comprises: a first stream generator for generating the first sequence of random numbers based on the first seed value; a second stream generator for generating the second sequence of random numbers based on the second seed value; a light polarizer for converting the unidirectional polarized light received from the transmitter device to the ciphertext; a polarization value generator for generating the polarization value by to drive the light polarizer in the receiver device using the second sequence of random numbers; a cipher for decrypting the ciphertext using the first sequence of random numbers generated by the stream generator in the receiver device to recover the plaintext data.
A bi-directional communications system in accordance with one or more embodiments comprises a first transmitter device, a first receiver device, a second transmitter device, and a second receiver device. The first transmitter device comprises a first stream generator for generating a first sequence of random numbers based on a first seed value; a second stream generator for generating a second sequence of random numbers based on a second seed value; a light polarizer; a polarization value generator for generating a polarization value by to drive the light polarizer using the second sequence of random numbers; and a cipher for encrypting plaintext data received by the first transmitter into ciphertext using the first sequence of random numbers generated by the first stream generator; wherein the light polarizer converts the ciphertext to unidirectional polarized light for transmission to the receiver device. The first receiver device comprises a first stream generator for generating the first sequence of random numbers based on the first seed value; a second stream generator for generating the second sequence of random numbers based on the second seed value; a light polarizer for converting the unidirectional polarized light received from the first transmitter device to the ciphertext; a polarization value generator for generating the polarization value by to drive the light polarizer in the first receiver device using the second sequence of random numbers; a cipher for decrypting the ciphertext using the first sequence of random numbers generated by the stream generator in the first receiver device to recover the plaintext data. The second transmitter device comprises a first stream generator for generating a third sequence of random numbers based on a third seed value; a second stream generator for generating a fourth sequence of random numbers based on a fourth seed value; a light polarizer; a polarization value generator for generating a polarization value by to drive the light polarizer in the second transmitter device using the fourth sequence of random numbers; and a cipher for encrypting plaintext data received by the second transmitter into ciphertext using the third sequence of random numbers generated by the first stream generator in the second transmitter; wherein the light polarizer converts the ciphertext from the cipher in the second transmitter to unidirectional polarized light for transmission. The second receiver device receives the unidirectional polarized light from the second transmitter device. The second receiver device comprises a first stream generator for generating the third sequence of random numbers based on the third seed value; a second stream generator for generating the fourth sequence of random numbers based on the fourth seed value; a light polarizer for converting the unidirectional polarized light received from the second transmitter device to the ciphertext; a polarization value generator for generating the polarization value by to drive the light polarizer in the second receiver device using the fourth sequence of random numbers; a cipher for decrypting the ciphertext using the third sequence of random numbers generated by the stream generator in the second receiver device to recover the plaintext data; wherein the first transmitter device and the second receiver device are cryptographically interlocked and form a first communications unit, and wherein the second transmitter device and the first receiver device are cryptographically interlocked and form a second communications unit.
Like or identical reference numbers are used to identify common or similar elements.
In accordance with one or more embodiments, a Transmitter device and a Receiver device can communicate in a synchronized manner using unidirectional polarized light, where any physical interference in the light transmissions results in the termination (abort) of the communications channel. The methods and systems utilize stream encryption in the Transmitter device and Receiver device to encrypt the data payload being communicated.
The components/parts of an exemplary system in accordance with one or more embodiments include the following:
An exemplary process for transmitting data from the TXD to the RXD in accordance with one or more embodiments is as follows. The numbered steps correspond to the circled reference numbers used in
Step 1: The Stream Generators (#1A and #1B) at the Transmitter Device (TXD) and at the Receiver Device (RXD) are both provided (e.g., they may be manually configured) with the identical seed value Seed #1.
Step 2: The Stream Generator (#1C and #1D) at the Transmitter Device (TXD) and at the Receiver Device (RXD) are both provided (e.g., they may be manually configured) with the identical seed value Seed #2.
Step 3: The Stream Generators (#1A and #1B) generate the same sequence of random numbers, in lock-step fashion between the two Stream Generators. The number of bits outputted by the Stream Generators is configured according to the size of the data payload to be transmitted.
Step 4: The Stream Generators (#1C and #1D) generate the same sequence of random numbers that are inputted into the Polarization Value Generator (PVG) at the Transmitter Device (TXD) and the Receiver Device (RXD) respectively.
Step 5: Payload data is received from an external source (from outside Transmitter Device (TXD)).
Step 6: The payload data is encrypted (e.g., XORed) using the string of random numbers produced by the Stream Generator #1A, resulting in the ciphertext to be sent using the polarized light medium or communications.
Step 7/8: In the meantime, the Light Polarizer at the Transmitter Device (TXD) and the Receiver Device (RXD) have already been synchronized are ready to transmit the (ciphertext) data obtained from Step 6.
Step 9: The ciphertext from Step 6 is transmitted by the Transmitter Device (TXD) using the unidirectional polarized light.
Step 10: The ciphertext is received at the polarizer at the Receiver Device (RXD), and is decrypted (e.g., XORed) using the string of random numbers produced by the Stream Generator #1B.
Step 11: The successful decryption in Step 10 results in the recovery of the plaintext data, which is then forwarded to the destination (outside the Receiver Device (RXD)).
In some deployments, there is a need for two separate pairs of Transmitter Devices (TXD) and Receiver Devices (RXD) to achieve bi-directional secure communications. One TXD-RXD pair is used for unidirectional secure communications in one direction, while the second TXD-RXD pair is used for unidirectional secure communications in the opposite direction.
While these two pairs must operate independently in order to achieve the secure communications in their assigned direction, in deployments that require bi-directional secure communications there is a need to ensure that only the authorized physical devices (i.e., the authorized two pairs of TXD-RXD devices) are used. Furthermore, in order to detect the unauthorized removal of these two pairs of TXD-RXD devices during operations, they should be cryptographically interlocked.
There are two parts two the interlocking mechanism shown in
The two connections (Connection-1 and Connection-2 shown in
Features of systems in accordance with various embodiments include:
The methods, operations, modules, and systems described herein may be implemented in one or more computer programs executing on programmable computer systems. Various components of the communications systems disclosed herein may each comprise a programmable computer system.
Having thus described several illustrative embodiments, it is to be appreciated that various alterations, modifications, and improvements will readily occur to those skilled in the art. Such alterations, modifications, and improvements are intended to form a part of this disclosure, and are intended to be within the spirit and scope of this disclosure. While some examples presented herein involve specific combinations of functions or structural elements, it should be understood that those functions and elements may be combined in other ways according to the present disclosure to accomplish the same or different objectives. In particular, acts, elements, and features discussed in connection with one embodiment are not intended to be excluded from similar or other roles in other embodiments. Additionally, elements and components described herein may be further divided into additional components or joined together to form fewer components for performing the same functions. Accordingly, the foregoing description and attached drawings are by way of example only, and are not intended to be limiting.
This application claims priority from U.S. Provisional Patent Application No. 62/743,342 filed on Oct. 9, 2018 entitled METHODS AND SYSTEMS FOR SECURE COMMUNICATIONS USING SYNCHRONIZED POLARIZED LIGHT TRANSMISSIONS AND STREAM ENCRYPTION, which is hereby incorporated by reference.
Number | Date | Country | |
---|---|---|---|
62743342 | Oct 2018 | US |