filmov
tv
ECC -Encryption and Decryption, Find Discrete Logarithmic Problem(DLP) on Ellipic Curve Cryptography

Показать описание
Eq (A,B) = Y^2 (mod q) = X^3 + A*X + B (mod q)
G- Generator Point
n- large value [No of cycle till point of Infinity]
Sharing the key between user A and User B:
User A or Sender:
nA= Private element of A , nA less than n
PA =Public element of A, shared to User B
PA =nA*G;
User B or Reciever:
nB= Private element of B , nB less than n
PB =Public element of B, shared to User A
PB =nB*G;
Key Exchange between A and B:
User A: key = nA*PB =nA*nB*G
User B: key = nB*PA =nA*nB*G
ECC Encryption: (Sender)
1) Sender chooses integer k less than n , calculates k*G
2) Chooses Plaintext or Message and encodes to Pm
3) Calculates Cm={k*G, Pm+k*PB}
Transmits or transfer Cm in network to user B
ECC Decryption:
1) Takes the first point from Cm that is k*G and uses his/her private key or element to this point as follows:
K*G*nB
2) Subtract the above point to the second point in Cm as follows:
Pm+k*PB-k*G*nB = Pm+k*nB*G-k*G*nB =Pm
DLP (Discrete Logarithmic Problem) on ECC: Generally referred as Baby Step and Gaint Step [BSGS]:
1) Find m =sqrt(n)
2) Calculate i such that i*G and store the points [Baby Step]
3) Calculate j such that PA or PB – j*m*G and store the points [Gaint Step]
4) Check for the common point in i and j and calculate the formula as nA= (i+j*m)mod n for User A or nB= (i+j*m)mod n for User B
G- Generator Point
n- large value [No of cycle till point of Infinity]
Sharing the key between user A and User B:
User A or Sender:
nA= Private element of A , nA less than n
PA =Public element of A, shared to User B
PA =nA*G;
User B or Reciever:
nB= Private element of B , nB less than n
PB =Public element of B, shared to User A
PB =nB*G;
Key Exchange between A and B:
User A: key = nA*PB =nA*nB*G
User B: key = nB*PA =nA*nB*G
ECC Encryption: (Sender)
1) Sender chooses integer k less than n , calculates k*G
2) Chooses Plaintext or Message and encodes to Pm
3) Calculates Cm={k*G, Pm+k*PB}
Transmits or transfer Cm in network to user B
ECC Decryption:
1) Takes the first point from Cm that is k*G and uses his/her private key or element to this point as follows:
K*G*nB
2) Subtract the above point to the second point in Cm as follows:
Pm+k*PB-k*G*nB = Pm+k*nB*G-k*G*nB =Pm
DLP (Discrete Logarithmic Problem) on ECC: Generally referred as Baby Step and Gaint Step [BSGS]:
1) Find m =sqrt(n)
2) Calculate i such that i*G and store the points [Baby Step]
3) Calculate j such that PA or PB – j*m*G and store the points [Gaint Step]
4) Check for the common point in i and j and calculate the formula as nA= (i+j*m)mod n for User A or nB= (i+j*m)mod n for User B
Комментарии