摘要 |
<p>Encoding-free encryption on elliptic curves is obtained by a device (100) having a processor (120) choosing (S1) an integer r ˆˆ Z / q �¢ Z ; computing (S2) in E F p the a first point C 1 = [ r ] P and a second point C 2 = [ r ] Y , wherein E is an elliptic curve defined over F p , P ˆˆ E F p is a point of prime order q, Y = s �¢ P ˆˆ E F p is an encryption key for an integer s ˆˆ Z / q �¢ Z ; computing (S3) the class ² of ¨( C 2 ); computing (S4) a first value c 2 by performing an elementary arithmetic operation modulo p between the message m ˆˆ Z / p �¢ Z and the class ²; combining the first point C 1 and the first value c 2 to obtain the ciphertext ( C 1 , c 2 ); and outputting (S5) the ciphertext ( C 1 , c 2 ). Decryption of a ciphertext ( C 1 , c 2 ) comprising a first point C 1 and a first value c 2 to obtain a message m ˆˆ Z / p �¢ Z , is performed by multiplying a decryption key s and the first point C 1 to obtain a second point P = ( x, y ) ˆˆ E F p ; calculating ¨ P ˆˆ E Z / p 2 �¢ Z to obtain a third point; performing (S6) an elementary arithmetic operation modulo p between the first value c 2 and the class of the third point to obtain the message m; and outputting the message m .</p> |