查看“数据加密”的源代码
←
数据加密
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
在典枢中,使用ECIES(Elliptic Curve Integrate Encrypt Scheme)方法对数据进行加密。ECIES加密可以认为是先基于ECDH(Elliptic Curve Diffie–Hellman key exchange)协商密钥,再用协商一致的密钥进行对称加密,这样能够结合非对称加密和对称加密的优点。 == 加密参数 == 典枢使用的ECIES包括两种标准,第一种标准命名为stdeth,第二种标准名为为gmssl。 每种标准都包括三个参数,即椭圆曲线,散列算法,对称加密算法。需要注意的是,即使这三个参数是一致的,实现上的差异依然会带来差别,例如ECDH中密钥的生成算法,此处不详细描述。 === stdeth === 这是默认选项。在这种标准下的参数选择如下: * 椭圆曲线:specp256k1 * 散列算法:keccak256 * 对称加密算法:Rijndael128GCM === gmssl === 这是支持国密版本的选择。 * 椭圆曲线:SM2 * 散列算法:SM3 * 对称加密算法:SM4 == 加密格式 == 无论采用哪种加密标准,加密后的格式都是确定的。假设原文为m,相应的密文为M,加密后的数据格式为 M || public_key || mac,其中public_key为公钥,mac为校验码。 在上述两种标准中,public_key的长度为64字节(一个可能的优化方式是采用压缩的公钥,其长度为33字节),mac的长度为16字节。 == 代码实现 == 相关的代码实现有两个,一个是基于JavaScript实现的[https://github.com/YeeZTech/meta-encryptor meta-encryptor],另一个是基于C++实现的[https://github.com/YeeZTech/YeeZ-Privacy-Computing/tree/master/include/ypc/corecommon/crypto YeeZ-Privacy-Computing]。
返回至“
数据加密
”。
导航菜单
个人工具
创建账户
登录
命名空间
页面
讨论
变体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
数据集市
技术原理
历史版本
术语列表
隐私计算基础介绍
其他
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息