USOO8429408B2

(12) United States Patent (10) Patent No.: US 8,429.408 B2 Vanstone (45) Date of Patent: Apr. 23, 2013

(54) MASKING THE OUTPUT OF RANDOM 2009/0086968 A1* 4/2009 Vanstone ...... 380, 44 NUMBER GENERATORS IN 2009.0161876 A1* 6, 2009 Sherkin ...... 380,278 GENERATION PROTOCOLS 2011/0087883 A1* 4/2011 Campagna et al...... T13,156 OTHER PUBLICATIONS (75) Inventor: Scott Alexander Vanstone, Campbellville (CA) Yoon, Eun-Jun et al., “An Optimizing Authenticated Protocol for Self-organizing Sensor Networks'; Jan. 1, 2006; pp. 537 (73) Assignee: Certicom Corp., Mississauga, Ontario to 546;Ubiquitous Computing systems; LNCS; ISBN: 978-3-540 (CA) 46287-3. Huang, Qiang et al-Association for Computing Machinery; “Fast (*) Notice: Subject to any disclaimer, the term of this Authenticated Key Establishment Protocols for Self-Organizing Sen patent is extended or adjusted under 35 sor Networks”: ACM WSNA 2003; Proceedings of the 2' ACM U.S.C. 154(b) by 343 days. International Workshop on Wireless Sensor Networks & Applica tions; New York; Jan. 1, 2003; pp. 141-150; ISBN: 978-58113-764-4. (21) Appl. No.: 12/814,210 Brown, D.R.L. et al.; “Provably Secure Implicit Certificate Schemes'; Financial ; Jan. 1, 2002: pp. 156 to 165; vol. (22) Filed: Jun. 11, 2010 2339; ISBN: 978-3-540-24128-7. Manet, Pascal; Search Report from European Application No. (65) Prior Publication Data 10165765.8; search completed Oct. 29, 2010. US 2011/0307698 A1 Dec. 15, 2011 * cited by examiner

(51) triboo (2006.01) Primary Examiner — Beemnet Dada Y - (52) U.S. Cl AssistantSSIS OF EEXOFife — Sayed Beheshti Shirazi USfc. 713/171,713/156.713/168; 3.8028 (74) Attorney, Agent, or Firm — Etienne de Villiers: Dimock 380/30, 380/44; 380/278 Stratton LLP (58) Field of Classification Search ...... 713/171, 713/156, 168; 380/28, 30, 44, 278 (57) ABSTRACT See application file for complete search history. To mitigate the effects of a weak random number generator (RNG) in a public key , a public key obtained (56) References Cited from the RNG is encrypted using a deterministic crypto graphic scheme before being made publicly available. A U.S. PATENT DOCUMENTS trusted party receiving the encrypted public key can recover 2002/0057796 A1* 5, 2002 Lambert et al...... 380/28 the public key and combine it with other information so it is 2004/02498.17 A1* 12/2004 Liu et al...... 707/9 not subject to direct scrutiny. In one embodiment, the trusted 29395 A 299 Quell- T13,156 party incorporates the public key in a certificate. Such as an 38. SE A. ck 1939. $this ...... 3. implicit certificate, for use by the correspondents in other 2007, 0100762 A1* 5, 2007 Luo et al...... 705/59 COmmun1cat1OnS. 2009/0041238 A1* 2/2009 Quet al...... 380/44 2009/0046852 A1 2/2009 Vanstone ...... 380.30 9 Claims, 5 Drawing Sheets

U.S. Patent Apr. 23, 2013 Sheet 1 of 5 US 8,429.408 B2

FIG. 2 U.S. Patent Apr. 23, 2013 Sheet 2 of 5 US 8.429.408 B2

112 generate .RN 1 decryptXA to get XA obtain private key xA from RN 4-1 114 validate XA & IDA Compute public key - 116 generate Session keys XCA, XcA encrypt XA with RSA - 1118 Compute BA= Send XA and IDA XCA XA

120 parse cert. ICA 4-1 to get BA IDA format cert. ICA = BAIDA 130 validate 122 BA&IDA obtain private key Contribution 132 data S generate shared key R 1 124 compute shared 134 key R & encrypts decrypts to get private key

Contribution data S 126 send cert. ICA 1366 N. and encrypted construct private private key Contribution key KA data S'

FIG. 3 U.S. Patent Apr. 23, 2013 Sheet 3 of 5 US 8,429.408 B2

XA XA

EnC (X) RSA, : (X)

DA IDA, XA DeC (X") Rs.4

obtain BA iDA XC A XC A from ICA

X verify IDA BA C A + XA

verify BA is point ICA = BA | IDA

e = hash (IC A ) e = hash (ICA)

RFXA QCA SF (excA+ka) mod n

R c C CA Xa S = Dec(s)

k = exa + S (mod n) | s= Encas)

wa QAF e BA Q CA FIG. 4 U.S. Patent Apr. 23, 2013 Sheet 4 of 5 US 8,429.408 B2

obtain private value from RNG

compute corresponding public key

encrypt corresponding public key

forward encrypted public key to trusted party

receive encrypted private key reconstruction data

recover private key reconstruction data

compute private key using private key reconstruction data

FIG. 5 U.S. Patent Apr. 23, 2013 Sheet 5 of 5 US 8,429.408 B2

302 receive encrypted Na public key 304 decrypt public key

utilize public key to compute private 306 A key reconstruction data

308 encrypt private key Na reconstruction data

forward encrypted 310 private key reconstruction data to device

FIG. 6 US 8,429,408 B2 1. 2 MLASKING THE OUTPUT OF RANDOM by the correspondent. A corresponding public key is com NUMBER GENERATORS IN KEY puted as C. and distributed publically to other correspon GENERATION PROTOCOLS dents. The public and private keys are used according to well known protocols to encrypt and decrypt messages sent TECHNICAL FIELD between parties, to authenticate a message signed by one party using a private key, or to establish a common key The following relates generally to the field of cryptogra between the parties by combining the public key of one party phy. with the private key of another. These protocols can be implemented practically in any BACKGROUND 10 group in which both the problem is hard and the group operation is efficient. One example of Such a As communications have progressed into the electronic group is the elliptic curve cyclic group defined over the finite domain, information has become easy to copy and dissemi field F composed of integers from 0 to p-1, where p is a nate. The prevalence of electronic communication has made prime number. The group elements are points lying on a for many productivity advances, and an increase in knowl 15 defined elliptic curve and having coordinates that are ele edge and information sharing. However, due to the ease of ments of the underlying field. An elliptic curve group typi dissemination, there is an ever increasing need for privacy and cally utilises an additive notation, rather than the multiplica authentication in electronic communications. tive notation used above, so that a k-fold group operation of a To retain privacy, the method of encrypting data using a key point P requires the point P to be added k times and is written is very well known. In asymmetric key cryptographic proto kP. A cryptographic system implemented using an elliptic cols, computing devices, commonly referred to as correspon curve group is known as an elliptic curve cryptographic sys dents, share a common secret key. This key must be agreed tem, or ECC. Other groups commonly used are multiplicative upon by the correspondents, and its secrecy maintained groups, such as the non-zero integers F and the correspond throughout the data communication. ing k-fold group operation is denoted of, where C. is a gen Public key cryptographic protocols were first proposed in 25 erator of the group. 1976 by Diffie-Hellman. A public-private key pair is created Although the discrete log problem is considered intrac for each correspondent, with the public key made available to table, the Security of the cryptographic system depends on the other parties, and the private key information maintained cryptographic strength of the random number X. A random secret by the correspondent who will be the recipient of number generator (RNG) is designed to provide crypto messages. Any message encrypted using the public key of a 30 graphically strong random numbers, but, due to malfunction, recipient can only be decrypted using the private key of that poor selection of a seed, or malicious tampering, the RNG same recipient. The private key cannot be derived from the may output relatively weak random numbers. This is a par knowledge of the plaintext, and public-key. ticular problem in constrained devices, such as cell phones Cryptographic systems utilise protocols that are based on and Smart cards, where low cost implementations may not so called “hard' problems. These problems can beformulated 35 have sufficient entropy to provide a robust random number quickly, but do not have efficient solution algorithms. Prob generator. As a result, publication of the public key may lems such as and the discrete logarithm inadvertently disclose the corresponding private key, and, problem fall into this category. depending on the protocol implemented, may in turn yield Integer factorisation is the basis of a set of protocols known information pertaining to other private keys used in the pro as RSA which uses, as a modulus n, the product of two large 40 tocol. primes, p, q. A second modulus d is computed as (p-1)(cq-1). A random integere is selected so that 1