Patent ID: 8345862

Claim:
A method of sharing a strong secret F between two parties (A, B) who previously share a weak secret f, said method comprising the initial step of choosing a public exponent e of small size, and further comprising the following steps performed by the parties (A, B): for A: 1. randomly drawing two prime numbers p, q, and calculating a modulus n=p*q; 2. from the modulus n and from the exponent e, building a pair of keys of an asymmetric algorithm, namely a public key K 1 =(n, e) and a private key K 2 =(n, d), where d is the private exponent corresponding to the public exponent e; 3. drawing a first random number for use as a salt S, and encrypting the modulus n using a symmetric algorithm by using a key KS derived from the weak secret f and from the salt S; and 4. concatenating the salt S and the resulting encrypted modulus n (C 0 ) and transmitting to B the resulting message M. for B: 5. deriving the key KS from the weak secret f, and from the salt S extracted from the message M transmitted by A; 6. decrypting the modulus n as encrypted by A, by means of the symmetric algorithm and by using said key KS; 7. drawing a random number that constitutes the strong secret F; and 8. encrypting the strong secret F by means of the asymmetric algorithm and of the public key K 1 =(n, e) and communicating to A the strong secret F as encrypted; and for A: 9. decrypting the strong secret F as transmitted encrypted by B, by means of the asymmetric algorithm, by using the private key K 2 =(n, d), so that at the end of the processing by A and by B, both of the parties A and B are in possession of the strong secret F.