IP Library › Granted Patent US 12,301,549
Granted Patent B2
US 12,301,549 · App. 18/072,962 · Granted May 13, 2025

Cryptographic method for verifying data

Inventor: Bruno Sangle-Ferriere (Paris, FR)
H04L63/0428
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,301,549
App. No.
18/072,962
Granted
May 13, 2025
Kind
B2
Abstract

A method, implemented by at least one apparatus, for comparing a first dataset and a second dataset, in particular with a view to determining whether these two datasets are identical. This method not requiring the presence of these two datasets in the apparatus, and including the following steps a) mixing a number, called the mixer number, with the first dataset, using a mixing function, in order to obtain mixed data, b) hashing the mixed data using a hash function, and c) comparing the hash thus obtained in step b) with a third dataset assumed to be the hash of the second dataset mixed with the same mixer number as that used in step a) and with the same mixing function.

Claims (64)

1. A method for verifying with an apparatus an integrity of a message originating from a sender, the method comprising:

i. the apparatus receiving the message and an identifier of the message, said message forming a first dataset,

ii. generating a mixer number, wherein the mixer number is generated using a pseudorandom number generator or based on at least one input value, wherein the at least one input value comprises a physical quantity varying continuously, wherein the mixer number comprises a single-use number, wherein the single-use number is renewed after each use,

iii. mixing the mixer number with the first dataset using a mixing function, in order to obtain a mixed data,

iv. hashing the mixed data using a hash function to obtain a first hash,

v. encrypting the mixer number to obtain an encrypted mixer number,

vi. the apparatus sending the identifier of the message and the encrypted mixer number to the sender of the message,

vii. the apparatus receiving an encrypted second dataset, originating from the sender,

viii. decrypting the encrypted second dataset with an encryption key kept secret between the apparatus and the sender to obtain a decrypted second dataset, wherein the decrypting the encrypted second dataset occurs during a time-out period,

ix. comparing the first hash obtained in step iv with the decrypted second dataset obtained in step viii, the integrity of the message being ensured when the decrypted second dataset obtained in step viii and the first hash obtained in step iv are identical, and

x. in response to a first number of unsuccessful verification attempts, placing the message in a queue.

2. A method for verifying with an apparatus an integrity of a message forming a first dataset originating from a sender, the method comprising:

i. the apparatus receiving the message, an encrypted second dataset and an encrypted number, wherein the encrypted number comprises a mixer number, wherein the mixer number is generated using a pseudorandom number generator or based on at least one input value, wherein the at least one input value comprises a physical quantity varying continuously, wherein the mixer number comprises a single-use number, wherein the single-use number is renewed after each use,

ii. decrypting the encrypted second dataset and the encrypted number with an encryption key kept secret between the apparatus and the sender to obtain a decrypted second dataset and the mixer number, wherein the decrypting the encrypted second dataset occurs during a time-out period,

iii. mixing the message with the mixer number, using a mixing function, in order to obtain a mixed data,

iv. hashing the mixed data using a hash function to obtain a first hash,

v. comparing the first hash obtained in step iv with the decrypted second dataset obtained in step ii, the integrity of the message being ensured when the first hash obtained in step iv and the decrypted second dataset obtained in step ii are identical, and

vi. in response to a first number of unsuccessful verification attempts, placing the message in a queue.

3. The method according to claim 2 , comprising, before step i:

the sender generating the mixer number,

mixing the mixer number with the message, using the mixing function,

hashing a data resulting from mixing the mixer number with the message using the hash function,

encrypting with the encryption key a second hash resulting from hashing the data and forming a second dataset,

encrypting the mixer number to obtain an encrypted mixer number, and

sending to the apparatus the message, the encrypted second dataset and the encrypted mixer number.

4. A method, implemented by a first apparatus and a second apparatus, for comparing a first dataset present in the first apparatus and a second dataset present in the second apparatus, the method comprising:

i. the first apparatus mixing a mixer number, with the first dataset, using a mixing function, in order to obtain a mixed data, wherein the mixer number is generated using a pseudorandom number generator or based on at least one input value, wherein the at least one input value comprises a physical quantity varying continuously, wherein the mixer number comprises a single-use number, wherein the single-use number is renewed after each use,

ii. the first apparatus hashing the mixed data using a hash function to obtain a first hash,

iii. the first apparatus encrypting the mixer number to obtain an encrypted mixer number,

iv. the first apparatus sending, to the second apparatus, the encrypted mixer number,

v. the first apparatus receiving a second mixed data, wherein the second mixed data comprises the second dataset mixed with the mixer number,

vi. the first apparatus decrypting the second mixed data with an encryption key kept secret between the first apparatus and the second apparatus to obtain a decrypted second mixed data, wherein the decrypting the second mixed data occurs during a time-out period,

vii. comparing the first hash obtained in step ii with the decrypted second mixed data obtained in step vi, the mixer number being a renewable key, renewed after each use, and

viii. in response to a first number of unsuccessful verification attempts, placing the first dataset and the second dataset in a queue.

5. The method according to claim 4 , comprising, between steps iv and v:

the second apparatus receiving the encrypted mixer number,

decrypting the mixer number to obtain a decrypted mixer number,

creating a modified copy of the second dataset using the mixer number and the mixing function,

hashing the modified copy of the second dataset using the hash function to obtain a second hash,

encrypting the second hash resulting from hashing the modified copy of the second dataset with the encryption key to obtain an encrypted second hash, and

the second apparatus sending to the first apparatus the encrypted second hash of the second dataset.

6. A shared quantum key generation method using a quantum communication system, the quantum communication system comprising:

an emitter of entangled photons, configured to generate at least one pair of entangled photons comprising a first photon emitted on a first propagation path and simultaneously a second photon emitted on a second propagation path different from the first propagation path;

a first receiver arranged on the first propagation path, comprising a first polarization measurement base configured to measure a first polarization state of the first photon received by the first receiver;

a second receiver arranged on the second propagation path, comprising a second polarization measurement base configured to measure a second polarization state of the second photon received by the second receiver, clocks of the first receiver and the second receiver being synchronized so that the first photon and the second photon are received sequentially according to the clocks of the first receiver and the second receiver;

wherein the first receiver establishes a first list comprising first reception dates and a second list comprising the first reception dates and first polarization states of first photons received by the first receiver, and the second receiver establishes a third list comprising second reception dates and a fourth list comprising the second reception dates and second polarization states of second photons received by the second receiver;

wherein the first list or the third list is sent to the second receiver or the first receiver respectively, wherein the first list or the third list is sent with a third dataset comprising an encrypted hash of a third mixed data, wherein the third mixed data comprises the first list or the third list mixed with a second mixer number, wherein the second mixer number is randomly generated;

wherein upon reception of the first list or the third list, respectively, the first receiver or the second receiver establishes a fifth list comprising the first reception dates and the second reception dates at which the first photon and the second photon were received at both the first receiver and the second receiver, as some photons may have been lost during transmission between the emitter and the first receiver or the second receiver;

wherein when the first receiver or the second receiver-establishes the fifth list, the fifth list is transmitted, preferably electronically signed, to the second receiver or the first receiver respectively, so that the first receiver or the second receiver establish, respectively, a sixth list and a seventh list of polarization states of the first photons as received by the first receiver and the second photons as received by the second receiver, the sixth list being derived from the second list and the fifth list, the seventh list being derived from the fourth list and the fifth list, each polarization state on the sixth list of third photons received at a first time marked on the fifth list being a same polarization state of at least one first corresponding photon received simultaneously and marked on the second list, each polarization state on the seventh list of fourth photons received at the first time marked on the fifth list being a complementary polarization state of at least one second corresponding photon received simultaneously and marked on the fourth list;

wherein respective signatures of the sixth list and the seventh list are exchanged between the first receiver and the second receiver according to the method of claim 5 , the first receiver being the first apparatus, the sixth list being the first dataset, the second receiver being the second apparatus and the seventh list being the second dataset;

wherein the sixth list and the seventh list can be used as a shared list of random bits.

7. The method according to claim 6 , wherein a signed message is exchanged between the first receiver and the second receiver before the sixth list and the seventh list are used as one-time keys.

8. The method according to claim 7 , wherein the first receiver or the second receiver generates a sequence of random bits for determining a value of an angle and sends said sequence to the second receiver or the first receiver, respectively, in an encrypted manner.

9. The method according to claim 6 , wherein the first polarization measurement base and the second polarization measurement base are rotated randomly and simultaneously by a same angle kept secret between the first receiver and the second receiver.

10. The method according to claim 9 , wherein the sixth list and the seventh list are used as lists of random rotation angles of the first polarization measurement base and the second polarization measurement base.

11. The method according to claim 4 , the mixing function being an XOR logic function.

12. The method according to claim 4 , the mixing function being a suffix function, consisting in adding the mixer number to an end of the first dataset.

13. The method according to claim 4 , the mixing function being an encryption function using the mixer number as a second encryption key to encrypt the first dataset.

14. The method according to claim 13 , the encryption function being an XOR function.

15. The method according to claim 4 , the mixing function being a combination of an XOR function, a suffix function consisting in adding the mixer number to an end of the first dataset and an encryption function using the mixer number as a second encryption key to encrypt the first dataset.

16. The method according to claim 4 , the decrypting being performed with a non-renewable key of a size of the second dataset.

17. The method according to claim 4 , the decrypting being performed with another renewable key of a size of the second dataset.

18. The method according to claim 4 , the decrypting being performed with a non-renewed symmetric key and a symmetric encryption function.

19. The method according to claim 4 , a non-renewed asymmetric key and an asymmetric encryption function being used for the decrypting.

Priority Claims (1)
FR 1901648 · Feb 19, 2019 · national
Continuity (3)
Continuation In Part 16934376 · Jul 21, 2020
Continuation In Part 16793123 · Feb 18, 2020
Related Publication 20240089240A1 · Mar 14, 2024
References Cited (55)
US 6104811A · Aiello · 2000 [cited by examiner]
US 9565022B1 · Robshaw · 2017 [cited by examiner]
US 10193695B1 · Endress · 2019 [cited by examiner]
US 10362169B1 · Sanderlin · 2019 [cited by examiner]
US 10891366B1 · Wu · 2021 [cited by examiner]
US 11893115B2 · Järvinen et al. · 2024 [cited by applicant]
US 20110116096A1 · Welch · 2011 [cited by examiner]
US 20110246433A1 · Sun · 2011 [cited by examiner]
US 20120057702A1 · Minematsu · 2012 [cited by examiner]
US 20120143765A1 · Yamaguchi · 2012 [cited by examiner]
US 20140298038A1 · Gauravaram · 2014 [cited by examiner]
US 20140351593A1 · Anson · 2014 [cited by examiner]
US 20140364098A1 · Ueno · 2014 [cited by examiner]
US 20150261502A1 · Sartor · 2015 [cited by examiner]
US 20170091485A1 · Yuen · 2017 [cited by examiner]
US 20180060560A1 · Waltermann · 2018 [cited by examiner]
US 20180068127A1 · Hamano · 2018 [cited by examiner]
US 20180176011A1 · Hars · 2018 [cited by examiner]
US 20180241548A1 · Dolev · 2018 [cited by examiner]
US 20180248686A1 · Alakuijala · 2018 [cited by examiner]
US 20180248687A1 · Wassenberg · 2018 [cited by examiner]
US 20180324152A1 · Jarchafjian · 2018 [cited by examiner]
US 20180367540A1 · Miranda · 2018 [cited by examiner]
US 20190080189A1 · Van Os · 2019 [cited by examiner]
US 20190102782A1 · Diehl · 2019 [cited by examiner]
US 20190104121A1 · Khandani · 2019 [cited by examiner]
US 20190109715A1 · Hars · 2019 [cited by examiner]
US 20190204403A1 · Booij · 2019 [cited by examiner]
US 20200034050A1 · Brasfield · 2020 [cited by examiner]
US 20200068244A1 · Hunacek · 2020 [cited by examiner]
US 20200110905A1 · O'Cleirigh · 2020 [cited by examiner]
US 20200226952A1 · Lightowler · 2020 [cited by examiner]
US 20200236092A1 · von Vistauxx · 2020 [cited by examiner]
US 20200351100A1 · Sangle-Ferriere · 2020 [cited by examiner]
US 20210165914A1 · Sangle-Ferriere · 2021 [cited by applicant]
US 20210382817A1 · Tajima · 2021 [cited by examiner]
US 20220012338A1 · Järvinen et al. · 2022 [cited by applicant]
US 20220085984A1 · Khandani · 2022 [cited by examiner]
US 20230094612A1 · Chen · 2023 [cited by examiner]
US 20230217210A1 · Russell · 2023 [cited by examiner]
CN 101547184A · 2009 [cited by applicant]
EP 1421548A1 · 2004 [cited by applicant]
WO 03007228A1 · 2003 [cited by applicant]
WO 2020099718A1 · 2020 [cited by applicant]
Foreign Examination Report dated Mar. 8, 2023 in connection with Indian Application No. 202127035375, 7 pages. [cited by applicant]
International Search Report and Written Opinion dated Apr. 21, 2020 in connection with International Application No. PCT/EP2020/054126, 10 pages. [cited by applicant]
USPTO Patent Center Documents for U.S. Appl. No. 16/934,376 on Mar. 1, 2023. [cited by applicant]
USPTO Patent Center Documents for U.S. Appl. No. 16/793,123 on Mar. 1, 2023. [cited by applicant]
Office Action issued in U.S. Appl. No. 16/793,123, Jan. 1, 2023. [cited by applicant]
Office Action issued in U.S. Appl. No. 16/793,123, Jul. 26, 2022. [cited by applicant]
Office Action issued in U.S. Appl. No. 16/793,123, Mar. 31, 2022. [cited by applicant]
Office Action issued in U.S. Appl. No. 16/793,123, Oct. 19, 2021. [cited by applicant]
Office Action issued in U.S. Appl. No. 16/934,376, May 25, 2022. [cited by applicant]
Preliminary Search Report for FR 1901648 mailed Nov. 14, 2019 (2 pages). [cited by applicant]
Final Rejection for U.S. Appl. No. 16/934,376, mailed Dec. 9, 2022 (69 pages). [cited by applicant]