ECIES(Elliptic Curve Integrated Encryption Scheme)介绍
ECIES(椭圆曲线集成加密方案)是一个基于椭圆曲线密码学(ECC)的混合加密框架,它将密钥协商、对称加密和消息认证码(MAC)等过程“集成”起来,用于在公钥接收者处对数据进行加密。 ECIES加密方案采用ECC加密(公钥密码系统)+ 密钥派生函数 ( KDF ) + 对称加密算法 + MAC算法。 ECIES本身不是一个具体的算法,而是一个集成的加密框架,提供了多种标准和实现选择,允许用户将不同的椭圆曲线算法、密钥派生函数(KDF)和对称加密算法组合使用,以实现数据加密和解密。
ECIES 的工作原理:
- 密钥生成: 发送方使用接收方的公钥生成密钥对。
- 密钥协商: 利用接收方的公钥和接收方自己的私钥进行密钥协商,生成一个共享密钥
- 密钥派生: 通过密钥派生函数(KDF),从共享密钥中生成用于对称加密和消息认证的子密钥。
- 数据加密: 使用对称加密算法(如AES、ChaCha20)和派生出的加密密钥来加密明文数据。
- 消息认证: 生成一个消息认证码(MAC)来验证消息的完整性和真实性,使用派生出的认证密钥。
- 组合数据: 将加密后的数据、MAC 值和加密过程中产生的其他信息(如用于解密的临时公钥)组合起来,形成密文。
- 解密过程: 接收方使用自己的私钥和接收到的临时公钥,进行密钥协商和派生,然后用生成的密钥和算法对密文进行解密和验证。
