End to end encryption
First Claim
1. A method comprising:
- determining a public signing key (B) of a communication partner device by decoding data encoded within the image;
receiving a message at a computing device;
verifying, based on the public signing key of the communication partner device, whether the message is from the communication partner device;
providing an output including the message and an indication of the communication partner device if the message is verified to be from the communication partner device;
providing an output indicating an error if the message is not verified to be from the communication partner device;
generating, at the computing device, a private key (a) of the computing device;
computing a public signing key (A) of the computing device, the public signing key of the computing device being computed according to an equation;
A=g{circumflex over (
)}a mod p, wherein p is a prime number that exceeds a threshold, and g is a primitive root modulo p;
computing a shared secret (s) of the computing device and the communication partner device according to an equation;
s=B{circumflex over (
)}a mod p;
decrypting the received message using the shared secret;
encrypting a second message using the shared secret; and
transmitting the second message to the communication partner device.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for end to end encryption are provided. In example embodiments, a computer accesses an image including a geometric shape. The computer determines that the accessed image includes a candidate shape inside the geometric shape. The computer determines, using the candidate shape, an orientation of the geometric shape. The computer determines a public key of a communication partner device by decoding, based on the determined orientation, data encoded within the geometric shape. The computer receives a message. The computer verifies, based on the public key of the communication partner device, whether the message is from the communication partner device. The computer provides an output including the message and an indication of the communication partner device if the message is verified to be from the communication partner device. The computer provides an output indicating an error if the message is not verified to be from the communication partner device.
30 Citations
20 Claims
-
1. A method comprising:
-
determining a public signing key (B) of a communication partner device by decoding data encoded within the image; receiving a message at a computing device; verifying, based on the public signing key of the communication partner device, whether the message is from the communication partner device; providing an output including the message and an indication of the communication partner device if the message is verified to be from the communication partner device; providing an output indicating an error if the message is not verified to be from the communication partner device; generating, at the computing device, a private key (a) of the computing device; computing a public signing key (A) of the computing device, the public signing key of the computing device being computed according to an equation;
A=g{circumflex over (
)}a mod p, wherein p is a prime number that exceeds a threshold, and g is a primitive root modulo p;computing a shared secret (s) of the computing device and the communication partner device according to an equation;
s=B{circumflex over (
)}a mod p;decrypting the received message using the shared secret; encrypting a second message using the shared secret; and transmitting the second message to the communication partner device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system comprising:
-
hardware processing circuitry; a hardware memory storing instructions that when executed, configure hardware processing circuitry to perform operations comprising; determining a public signing key (B) of a communication partner device by decoding, data encoded within the image; receiving a message at a computing device; verifying, based on the public signing key of the communication partner device, whether the message is from the communication partner device; providing an output including the message and an indication of the communication partner device if the message is verified to be from the communication partner device; providing an output indicating an error if the message is not verified to be from the communication partner device; generating, at the computing device, a private key (a) of the computing device; computing a public signing key (A) of the computing device, the public signing key of the computing device being computed according to an equation;
A=g{circumflex over (
)}a mod p, wherein p is a prime number that exceeds a threshold, and g is a primitive root modulo p;computing a shared secret (s) of the computing device and the communication partner device according to an equation;
s=B{circumflex over (
)}a mod p;decrypting the received message using the shared secret; encrypting a second message using the shared secret; and transmitting the second message to the communication partner device. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A non-transitory computer readable medium comprising instructions that when executed configure hardware processing circuitry to perform operations comprising:
-
determining a public signing key (B) of a communication partner device by decoding, data encoded within the image; receiving a message at a computing device; verifying, based on the public signing key of the communication partner device, whether the message is from the communication partner device; providing an output including the message and an indication of the communication partner device if the message is verified to be from the communication partner device; providing an output indicating an error if the message is not verified to be from the communication partner device; generating, at the computing device, a private key (a) of the computing device; computing a public signing key (A) of the computing device, the public signing key of the computing device being computed according to an equation;
A=g{circumflex over (
)}a mod p, wherein p is a prime number that exceeds a threshold, and g is a primitive root modulo p;computing a shared secret (s) of the computing device and the communication partner device according to an equation;
s=B{circumflex over (
)}a mod p;decrypting the received message using the shared secret; encrypting a second message using the shared secret; and transmitting the second message to the communication partner device.
-
Specification