文档首页 > > 开发指南> 同态加密> 同态加密库的使用

同态加密库的使用

分享
更新时间: 2019/04/10 17:17

服务订购及文件下载

订购BCS服务时,安全机制选择使用“ECDSA”同态加密。完成订购后,下载同态加密库ahex.x.x.tar.gz,客户端开发套件国密SDK包sdkx.x.x.tar.gz,peer与orderer用户证书,配置文件等。

安装客户端SDK库

将下载的国密SDK包sdkx.x.x.tar.gz解压到用户的$GOPATH目录下。

安装同态加密库

将下载的ahex.x.x.tar.gz解压到用户的$GOPATH目录下。

安装依赖库(仅针对Fabric1.1)

依赖的库文件位于同态加密库目录下,当同态加密库被解压到用户的$GOPATH目录后,该文件位于$GOPATH/src/ahe/PSW/deps/lib,请将该目录下的所有文件拷贝至本地的/usr/local/include/openssl/目录下(如果没有该目录,请自行创建该目录),然后设置环境变量:

export LD_LIBRARY_PATH=/usr/local/include/openssl:$LD_LIBRARY_PATH    

若提示缺少libgmp,则需要用户安装gmp库。安装方法可以参考linux操作系统包管理工具(例如ubuntu系统可以使用apt-get install libgmp10命令来安装,也可在https://gmplib.org/下载源码进行编译安装)。

开发Client程序与链代码

请参考4.2.3/4.2.4章节的接口说明进行具体的应用和链代码(智能合约)的开发。

App客户端的典型逻辑过程是:

  1. 注册用户
  2. 初始化余额
  3. 发起交易
    说明:
    • 其中,注册用户时可以调用密钥生成函数为用户生成公私钥。
    • 初始化余额时可以调用初始余额准备函数生成具有隐私保护的初始余额信息。
    • 交易时可以调用交易准备函数生成具有隐私保护的交易数据。

链代码端对应的逻辑过程是:

  1. 保存用户公钥与地址的映射关系
  2. 验证初始余额的有效性并生成初始交易
  3. 验证交易数据的有效性并生成交易结果
    说明:
    • 链码端可以通过调用初始余额校验函数来验证初始余额的有效性。
    • 调用交易校验函数来验证交易数据的有效性。
    • 具体的开发过程可以参考4.2.3/4.2.4章节的接口说明。

安装链代码

通过管理界面,将开发的链代码安装到用户订购的BCS服务中并实例化。可参考链代码管理

部署应用

用户根据业务需求开发app应用,app应用可以调用同态加密库来对交易信息进行隐私保护。开发完成后,将app部署在购买的服务器上。app部署完成后,确保环境中具有配置文件、证书文件(peer和orderer的用户证书)、openssl库。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区