椭圆曲线加密算法原理
设某人的私钥、公钥分别为,。公钥为G点跟私钥倍乘所得,即,其中G点为椭圆曲线的基点。
公钥加密:
选择一个随机数r,将消息M生成密文C,该密文是一个点对,即:
私钥解密:
计算如下:
椭圆曲线签名算法原理
椭圆曲线签名算法,即ECDSA
私钥签名:
选择一个随机数r,倍乘椭圆曲线基点G,得到一个点G',即:
对消息M的哈希h进行计算得到s,即:
消息签名结果:
公钥验签:
需要得到签名者的公钥,签名的结果{G'(x', y'), s},消息原文M(计算可得其哈希h),进行如下计算:
若成立,即验签成功,否则验签失败,说明签名或原文已经篡改伪造。