IP Library Granted Patent US 12,388,839
Granted Patent B2
US 12,388,839 · App. 18/209,567 · Granted Aug 12, 2025

Data comprising encryption key

Inventor: Subhash Sankuratripati (Playa Vista, CA)
Assignee: Snap Inc.
H04L63/123H04L9/0838H04L9/0891H04L63/0442H04L63/061H04W12/033
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,388,839
App. No.
18/209,567
Granted
Aug 12, 2025
Kind
B2
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.

Claims (79)

1. An apparatus of a mobile device, the apparatus comprising:

one or more processors; and

one or more memories storing instructions that when executed, configure the one or more processors to perform operations comprising:

causing an image capturing device of the mobile device to capture an image;

determining a public key of a communication partner by decoding unencrypted data encoded within the image, the unencrypted data comprising the public key;

receiving a wireless communication comprising a message;

verifying, based on decrypting at least of portion of the message using the public key, that the message is from the communication partner;

in response to a verification that the message is from the communication partner,

causing an indication that the message is verified to be displayed on a screen of the mobile device;

determining a shared secret of the mobile device and the communication partner according to an equation: s=B{circumflex over ( )}a mod p, wherein B indicates the public key of the communication partner, p is a prime number that exceeds a threshold, and g is a primitive root modulo p; and

encrypting, for transmission to the communication partner, a second message using the shared secret.

2. The apparatus of claim 1 , wherein the verifying further comprises:

comparing the public key to a preexisting public key for the communication partner.

3. The apparatus of claim 1 , wherein the image includes a geometric shape, and wherein the operations further comprises

determining that the image includes a candidate shape inside the geometric shape;

determining an orientation of the geometric shape; and

wherein determining the public key comprises:

determining the public key by decoding, based on the determined orientation, data encoded within the geometric shape.

4. The apparatus of claim 3 , wherein determining that the image includes the candidate shape inside the geometric shape comprises:

detecting a shape within the geometric shape;

comparing the detected shape with a set of reference shapes to determine a similarity score; and

determining that the similarity score transgresses a threshold.

5. The apparatus of claim 3 , wherein the geometric shape comprises a rectangle with rounded corners, and wherein determining the orientation of the geometric shape comprises:

determining an upward direction of the candidate shape; and

determining an upward direction of the geometric shape based on the upward direction of the candidate shape and based on a direction of at least one side of the rectangle.

6. The apparatus of claim 5 , wherein the determined upward direction of the geometric shape is perpendicular or parallel to the at least one side of the rectangle.

7. The apparatus of claim 5 , wherein a ray corresponding to the determined upward direction of the geometric shape and a ray corresponding to the determined upward direction of the candidate shape make an angle of less than 45 degrees.

8. The apparatus of claim 1 , wherein the mobile device is associated with a social messaging platform, and wherein verifying further comprises:

sending an indication of the public key and an indication of the communication partner to the social messaging platform; and

receiving from the social messaging platform an indication of whether the public key and a preexisting public key are equivalent.

9. The apparatus of claim 1 , wherein the operations further comprise:

generating, at the mobile device, a private key (a) of the mobile device;

computing a public key (A) of the mobile device, the public key of the mobile device being computed according to an equation: A=g{circumflex over ( )}a mod p;

decrypting the received message using the shared secret.

10. The apparatus of claim 9 , wherein p, g, A, and B are publicly accessible values, and wherein the private key (a) of the mobile device is a secret value stored securely at the mobile device.

11. The apparatus of claim 9 , wherein the operations further comprise:

periodically modifying a value of the private key (a) of the mobile device after a passage of a predetermined time period or after sending a predetermined number of messages;

re-computing the public key (A) of the mobile device based on the modified value of the private key (a) of the mobile device;

notifying the communication partner of the re-computed value of the public key (A) of the mobile device; and

re-computing the shared secret(s) of the mobile device and the communication partner based on the modified value of the private key (a) of the mobile device.

12. The apparatus of claim 1 , wherein the image is a first image, and wherein the operations further comprise:

accessing a web browser, a social networking platform, or a messaging service, using information in the message.

13. A non-transitory computer readable medium comprising instructions that when executed configure hardware processing circuitry of a mobile device to perform operations comprising:

causing an image capturing device of the mobile device to capture an image;

determining a public key of a communication partner by decoding unencrypted data encoded within the image, the unencrypted data comprising the public key;

receiving a wireless communication comprising a message;

verifying, based on decrypting at least of portion of the message using the public key, that the message is from the communication partner;

in response to a verification that the message is from the communication partner,

causing an indication that the message is verified to be displayed on a screen of the mobile device;

determining a shared secret of the mobile device and the communication partner according to an equation: s=B{circumflex over ( )}a mod p, wherein B indicates the public key of the communication partner, p is a prime number that exceeds a threshold, and g is a primitive root modulo p; and

encrypting, for transmission to the communication partner, a second message using the shared secret.

14. The non-transitory computer readable medium of claim 13 , wherein the verifying further comprises:

comparing the public key to a preexisting public key for the communication partner.

15. The non-transitory computer readable medium of claim 13 , wherein the image includes a geometric shape, and wherein the operations further comprises

determining that the image includes a candidate shape inside the geometric shape;

determining an orientation of the geometric shape; and

wherein determining the public key comprises:

determining the public key by decoding, based on the determined orientation, data encoded within the geometric shape.

16. A method perform by an apparatus of a mobile device, the method comprising:

causing an image capturing device of the mobile device to capture an image;

determining a public key of a communication partner by decoding unencrypted data encoded within the image, the unencrypted data comprising the public key;

receiving a wireless communication comprising a message;

verifying, based on decrypting at least of portion of the message using the public key, that the message is from the communication partner;

in response to a verification that the message is from the communication partner,

causing an indication that the message is verified to be displayed on a screen of the mobile device;

determining a shared secret of the mobile device and the communication partner according to an equation: s=B{circumflex over ( )}a mod p, wherein B indicates the public key of the communication partner, p is a prime number that exceeds a threshold, and g is a primitive root modulo p; and

encrypting, for transmission to the communication partner, a second message using the shared secret.

17. The method of claim 16 , wherein the verifying further comprises:

comparing the public key to a preexisting public key for the communication partner.

18. The method of claim 16 , wherein the image includes a geometric shape, and wherein the method further comprises:

determining that the image includes a candidate shape inside the geometric shape;

determining an orientation of the geometric shape; and

wherein determining the public key comprises:

determining the public key by decoding, based on the determined orientation, data encoded within the geometric shape.

19. The method of claim 18 , wherein determining that the image includes the candidate shape inside the geometric shape comprises:

detecting a shape within the geometric shape;

comparing the detected shape with a set of reference shapes to determine a similarity score; and

determining that the similarity score transgresses a threshold.

20. The method of claim 18 , wherein the public key is a public signing key.

Assignments (1)
CHANGE OF NAME Recorded Jul 11, 2023
From: SNAPCHAT, INC.
To: SNAP INC.
Reel/Frame 064207/0687 →
Continuity (5)
Continuation 17445553 · Aug 20, 2021
Continuation 16855437 · Apr 22, 2020
Continuation 16256639 · Jan 24, 2019
Continuation 15099719 · Apr 15, 2016
Related Publication 20230328074A1 · Oct 12, 2023
References Cited (68)
US 6038295A · Mattes · 2000 [cited by applicant]
US 6980909B2 · Root et al. · 2005 [cited by applicant]
US 7173651B1 · Knowles · 2007 [cited by applicant]
US 7411493B2 · Smith · 2008 [cited by applicant]
US 7535890B2 · Rojas · 2009 [cited by applicant]
US 8131597B2 · Hudetz · 2012 [cited by applicant]
US 8199747B2 · Rojas et al. · 2012 [cited by applicant]
US 8332475B2 · Rosen et al. · 2012 [cited by applicant]
US 8718333B2 · Wolf et al. · 2014 [cited by applicant]
US 8724622B2 · Rojas · 2014 [cited by applicant]
US 8874677B2 · Rosen et al. · 2014 [cited by applicant]
US 8909679B2 · Root et al. · 2014 [cited by applicant]
US 8995433B2 · Rojas · 2015 [cited by applicant]
US 9040574B2 · Wang et al. · 2015 [cited by applicant]
US 9055416B2 · Rosen et al. · 2015 [cited by applicant]
US 9100806B2 · Rosen et al. · 2015 [cited by applicant]
US 9100807B2 · Rosen et al. · 2015 [cited by applicant]
US 9191776B2 · Root et al. · 2015 [cited by applicant]
US 9204252B2 · Root · 2015 [cited by applicant]
US 9443227B2 · Evans et al. · 2016 [cited by applicant]
US 9489661B2 · Evans et al. · 2016 [cited by applicant]
US 9491134B2 · Rosen et al. · 2016 [cited by applicant]
US 9501681B1 · Wang · 2016 [cited by examiner]
US 10225265B1 · Sankuratripati · 2019 [cited by applicant]
US 10659474B1 · Sankuratripati et al. · 2020 [cited by applicant]
US 11128640B2 · Sankuratripati · 2021 [cited by applicant]
US 11716336B2 · Sankuratripati · 2023 [cited by applicant]
US 20030200450A1 · England et al. · 2003 [cited by applicant]
US 20040068470A1 · Klyne · 2004 [cited by examiner]
US 20050069196A1 · Uchiyama · 2005 [cited by examiner]
US 20080031446A1 · Suga · 2008 [cited by examiner]
US 20110202598A1 · Evans et al. · 2011 [cited by applicant]
US 20120124150A1 · Ge et al. · 2012 [cited by applicant]
US 20120209924A1 · Evans et al. · 2012 [cited by applicant]
US 20160127326A1 · Lin · 2016 [cited by examiner]
US 20160373418A1 · Ståhl · 2016 [cited by examiner]
US 20200389466A1 · Sankuratripati · 2020 [cited by applicant]
US 20220046029A1 · Sankuratripati · 2022 [cited by applicant]
CA 2887596A1 · 2015 [cited by applicant]
“U.S. Appl. No. 15/099,719, Corrected Notice of Allowability mailed Nov. 5, 2018”, 4 pgs. [cited by applicant]
“U.S. Appl. No. 15/099,719, Examiner Interview Summary mailed Mar. 16, 2018”, 3 pgs. [cited by applicant]
“U.S. Appl. No. 15/099,719, Final Office Action mailed Aug. 10, 2018”. [cited by applicant]
“U.S. Appl. No. 15/099,719, Non Final Office Action mailed Jan. 17, 2018”, 17 pgs. [cited by applicant]
“U.S. Appl. No. 15/099,719, Notice of Allowance mailed Oct. 17, 2018”, 8 pgs. [cited by applicant]
“U.S. Appl. No. 15/099,719, Response filed Apr. 17, 2018 to Non Final Office Action mailed Jan. 17, 2018”, 14 pgs. [cited by applicant]
“U.S. Appl. No. 15/099,719, Response filed Sep. 14, 2018 to Final Office Action mailed Aug. 10, 2018”, 10 pgs. [cited by applicant]
“U.S. Appl. No. 16/256,639, Corrected Notice of Allowability mailed Mar. 17, 2020”. [cited by applicant]
“U.S. Appl. No. 16/256,639, Non Final Office Action mailed Jul. 11, 2019”, 19 pgs. [cited by applicant]
“U.S. Appl. No. 16/256,639, Notice of Allowance mailed Jan. 15, 2020”, 7 pgs. [cited by applicant]
“U.S. Appl. No. 16/256,639, Response filed Oct. 8, 2019 to Non-Final Office Action mailed Jul. 11, 2019”, 9 pgs. [cited by applicant]
“U.S. Appl. No. 16/855,437, 312 Amendment filed Aug. 13, 2021”, 8 pgs. [cited by applicant]
“U.S. Appl. No. 16/855,437, Corrected Notice of Allowability mailed May 25, 2021”, 2 pgs. [cited by applicant]
“U.S. Appl. No. 16/855,437, Corrected Notice of Allowability mailed Jun. 3, 2021”, 4 pgs. [cited by applicant]
“U.S. Appl. No. 16/855,437, Examiner Interview Summary mailed Apr. 7, 2021”, 2 pgs. [cited by applicant]
“U.S. Appl. No. 16/855,437, Final Office Action mailed Mar. 4, 2021”, 27 pgs. [cited by applicant]
“U.S. Appl. No. 16/855,437, Non Final Office Action mailed Oct. 16, 2020”, 42 pgs. [cited by applicant]
“U.S. Appl. No. 16/855,437, Notice of Allowance mailed May 13, 2021”, 7 pgs. [cited by applicant]
“U.S. Appl. No. 16/855,437, Preliminary Amendment filed Aug. 31, 2020”, 8 pgs. [cited by applicant]
“U.S. Appl. No. 16/855,437, PTO Response to Rule 312 Communication mailed Aug. 23, 2021”, 2 pgs. [cited by applicant]
“U.S. Appl. No. 16/855,437, Response filed Feb. 16, 2021 to Non Final Office Action mailed Oct. 16, 2020”, 12 pgs. [cited by applicant]
“U.S. Appl. No. 16/855,437, Response filed May 4, 2021 to Final Office Action mailed Mar. 4, 2021”, 10 pgs. [cited by applicant]
“U.S. Appl. No. 17/445,553, Final Office Action mailed Dec. 30, 2022”, 20 pgs. [cited by applicant]
“U.S. Appl. No. 17/445,553, Non Final Office Action mailed Sep. 23, 2022”, 22 pgs. [cited by applicant]
“U.S. Appl. No. 17/445,553, Notice of Allowance mailed Mar. 14, 2023”, 7 pgs. [cited by applicant]
“U.S. Appl. No. 17/445,553, Preliminary Amendment filed Nov. 3, 2021”, 6 pgs. [cited by applicant]
“U.S. Appl. No. 17/445,553, Response filed Feb. 23, 2023 to Final Office Action mailed Dec. 30, 2022”, 8 pgs. [cited by applicant]
“U.S. Appl. No. 17/445,553, Response filed Dec. 13, 2022 to Non Final Office Action mailed Sep. 23, 2022”, 9 pgs. [cited by applicant]
Leyden, John, “This SMS will self-destruct in 40 seconds”, [Online] Retrieved from the Internet: <URL: http://www.theregister.co.uk/2005/12/12/stealthtext/>, (Dec. 12, 2005), 1 pg. [cited by applicant]