US 11,991,275 B2
System and method for quantum-safe authentication, encryption and decryption of information
Olivier Francois Roussy Newton, Vancouver (CA); Andrew Deonarine, Angus (CA); Nicolas Alexandre Roussy Newton, Vancouver (CA); and Railton Frith, Little Kimble (GB)
Assigned to BTQ AG, Vaduz (LI)
Filed by BTQ AG, Vaduz (LI)
Filed on Sep. 8, 2022, as Appl. No. 17/930,681.
Application 17/930,681 is a continuation of application No. 16/754,055, granted, now 11,477,017, previously published as PCT/GB2018/052872, filed on Oct. 8, 2018.
Claims priority of provisional application 62/569,041, filed on Oct. 6, 2017.
Prior Publication US 2023/0224148 A1, Jul. 13, 2023
Int. Cl. H04L 9/08 (2006.01)
CPC H04L 9/0858 (2013.01) [H04L 9/0825 (2013.01); H04L 9/0869 (2013.01)] 23 Claims
OG exemplary drawing
 
1. A method of generating a private cryptographic key for use in a secure cryptogram for transmission between a first entity and a second entity, the method comprising:
generating an n-dimensional vector space shared between the first entity and the second entity prior to selecting a random vector in the n-dimensional vector space, comprising the steps of:
generating a random binary string;
dividing the random binary string into a plurality of discrete sub-sections, each sub-section comprising a plurality of bits;
associating an index to each sub-section;
projecting the binary string into the n-dimensional vector space using a projection function, the projection function mapping the indices associated with at least some of the subsections, to different coordinate values in the n-dimensional vector space;
selecting the random vector defined in the n-dimensional vector space shared between the first entity and the second entity, comprising generating a random sequence of indices and selecting the random vector by identifying the coordinate value associated with each index in the sequence of randomly generated indices, each coordinate value being associated with a plurality of bits;
determining the plurality of bits associated with each coordinate value comprised in the random vector, by identifying the index associated with each coordinate value, and determining the plurality of bits associated with each coordinate value in dependence on the identified index; and
generating the private key in dependence on the plurality of bits associated with each coordinate value comprised in the random vector.