ECIES详解

最近用到ECIES(集成加密方案,elliptic curve integrate encrypt scheme),就想从网上找找ECIES是什么,但找不少资料还是没弄明白。
后来看了几篇文献,基本上弄懂了,在这里分享下想法。
ECIES并不是一种具体的方案,其中的密钥导出机制,加密方法都可以根据自己的需要进行设计。ECIES也有几个标准:ANSI X9.63, IEEE 1363a 和 ISO/IEC 18033-2。

简单来说加密时为: 使用发送者的私钥和接受者的公钥生成加密密钥ek和MAC密钥mk,用ek对明文M加密得到密文c,使用mk生成密文c的标签。将发送者的公钥,密文c和标签一起发送给接受者。(也可在生成密钥和标签的步骤加入共享消息)
解密时:接受者收到发送者发送的公钥,密文c和标签,加入自己的私钥,即可生成加密密钥ek和MAC密钥mk,使用ek对密文c解密,得到消息M。

以下为详细流程。

一、加密

加密流程图

①选择一个在 1 和 n - 1 之间的临时随机整数k,计算 R = kG = ( Gx,Gy) 。
②将点 R 转换成八进制字符串 R’。
③由临时密钥 k 和公钥 Q 得到共享秘密域元素 z,( 例如 P = ( Gx,Gy) = kQ,令 z = xp) 。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值