Elgamal加密方案
椭圆曲线加密体制
椭圆曲线应该是非奇异的,曲线的图不会自我相交或者没有顶点。
椭圆曲线的基本运运算
相异点相加P+Q:
相同点相加P+P:
## 椭圆曲线加解密
加解密原理:
- Alice选取一个椭圆曲线 E p ( a , b ) E_p(a,b) Ep(a,b),选取一个基点 G G G
- 选取一个随机数 k k k,作为私钥,计算 K = k ∗ G K=k*G K=k∗G作为公钥,将公钥 [ E p ( a , b ) , K , G ] [E_p(a,b),K,G] [Ep(a,b),K,G]传递给Bob
- Bob收到公钥之后计算,选择一个随机数 r r r, C 1 = M + K ∗ r C_1=M+K*r C1=M+K∗r, C 2 = r ∗ G C_2=r*G C2=r∗G发送给Alice
- Alice收到后,计算 M = C 1 − k ∗ C 2 M=C_1-k*C_2 M=C1−k∗C2
ECDH: