Data transmission using lattice-based encryption
Disclosed herein are various embodiments for providing data transmission using lattice-based encryption. An embodiment operates by receiving a request from a client device and generating a lattice-based private key and a lattice-based public key in response to receiving the request. The lattice-based public key is transmit to the client device. An encrypted symmetric private key is received, wherein the encrypted symmetric private key is encrypted using the lattice-based public key. The encrypted symmetric private key is decrypted using the lattice-based private key. An encrypted payload data transmitted by the client device is received and decrypted using the symmetric private key.
1 . A computer-implemented method for encrypting payload data, the method comprising:
receiving a request from a client device;
generating a lattice-based private key and a lattice-based public key in response to receiving the request;
transmitting the lattice-based public key to the client device using a transport layer security (TLS) communication pathway;
receiving an encrypted symmetric private key over the TLS communication pathway, wherein the encrypted symmetric private key is encrypted using the lattice-based public key;
wherein the lattice-based public key is transmitted using a first transportation layer security communication and the encrypted symmetric private key is received using a second transportation layer security communication;
decrypting the encrypted symmetric private key using the lattice-based private key;
receiving double-encrypted and noise-obfuscated payload data transmitted by the client device via the TLS communication pathway, wherein the payload data is double-encrypted using the symmetric private key and the lattice-based public key and noise-obfuscated by adding noise to the payload data; and
decrypting the double-encrypted and noise-obfuscated payload data using the symmetric private key and the lattice-based private key and by ignoring the noise.
2 . The computer-implemented method of claim 1 , wherein the request is transmitted using Hypertext Transfer Protocol Secure (HTTPS).
3 . The computer-implemented method of claim 1 , wherein the request is for accessing a web-domain from a browser executing on the client device.
4 . The computer-implemented method of claim 1 , wherein generating the public and private lattice-based keys is performed by using a lattice algorithm.
5 . The computer-implemented method of claim 1 , wherein generating the public and private lattice-based keys is performed by using a lattice algorithm and a Rivest-Shamir-Adleman (RSA) code-based algorithm.
6 . The computer-implemented method of claim 1 , wherein the encrypted payload is received from a transport layer security (TLS) end-point.
7 . A system for encrypting payload data, the system comprising:
a memory; and
a processor coupled to the memory, wherein the processor is configured to perform operations comprising:
receiving a request from a client device;
generating a lattice-based private key and a lattice-based public key in response to receiving the request;
transmitting the lattice-based public key to the client device using a transport layer security (TLS) communication pathway;
receiving an encrypted symmetric private key over the TLS communication pathway, wherein the encrypted symmetric private key is encrypted using the lattice-based public key;
wherein the lattice-based public key is transmitted using a first transportation layer security communication and the encrypted symmetric private key is received using a second transportation layer security communication;
decrypting the encrypted symmetric private key using the lattice-based private key;
receiving double-encrypted and noise-obfuscated payload data transmitted by the client device via the TLS communication pathway, wherein the payload data is double-encrypted using the symmetric private key and the lattice-based public key and noise-obfuscated by adding noise to the payload data; and
decrypting the double-encrypted payload data using the symmetric private key and the lattice-based private key and by ignoring the noise.
8 . The system of claim 7 , wherein the request is transmitted using Hypertext Transfer Protocol Secure (HTTPS).
9 . The system of claim 7 , wherein the request is for accessing a web-domain from a browser executing on the client device.
10 . The system of claim 7 , wherein generating the public and private lattice-based keys is performed by using a lattice algorithm.
11 . The system of claim 7 , wherein generating the public and private lattice-based keys is performed by using a lattice algorithm and a Rivest-Shamir-Adleman (RSA) code-based algorithm.
12 . The system of claim 7 , wherein the encrypted payload is received from a transport layer security (TLS) end-point.
13 . A non-transitory computer-readable medium having instructions stored thereon that, when executed by at least one computing device, cause the at least one computing device to perform operations comprising:
transmitting a request to access a web-domain;
receiving, via using a transport layer security (TLS) communication pathway, a lattice-based public key from a server associated with the web-domain;
generating a symmetric private key;
encrypting the symmetric private key using the lattice-based public key;
transmitting the encrypted symmetric key to the server over the TLS communication pathway;
wherein the lattice-based public key is received using a first transportation layer security communication and the encrypted symmetric private key is transmitted using a second transportation layer security communication;
double-encrypting and noise-obfuscating payload data using the symmetric private key and the lattice-based public key and by adding noise to the payload data; and
transmitting the encrypted payload data to the web-domain via the TLS communication pathway.
14 . The non-transitory computer-readable medium of claim 13 , wherein the request is transmitted using Hypertext Transfer Protocol Secure (HTTPS).
15 . The non-transitory computer-readable medium of claim 13 , wherein the request is transmitted from a browser executing on a client device.
16 . The non-transitory computer-readable medium of claim 13 , wherein the server uses a lattice-based private key to decrypt the encrypted symmetric private key.
17 . The non-transitory computer-readable medium of claim 13 , wherein the encrypted payload is transmitted to a transport layer security (TLS) end-point.
18 . The non-transitory computer-readable medium of claim 13 , wherein the encrypted symmetric private key is encrypted using a Rivest-Shamir-Adleman (RSA) encryption.