区块链服务 BCS区块链服务 BCS

更新时间:2021/06/21 GMT+08:00
分享

AHE Lib库接口

提供给用户静态库文件,用于用户开发客户端应用时集成使用同态加密功能。

库的引用路径为:import "ahe/PSW/api/ahelib"

GenerateKey

  • 接口原型

func GenerateKey(pwd string) (privKeyStr string, pubKeyStr string, err error)

  • 功能描述

生成同态加密的密钥对。

  • 输入说明

参数名

类型

描述

是否必须

pwd

string

用于加密保护生成的同态私钥串,采用AES-128加密。

pwd至少满足如下要求:

1)长度至少6个字符;

2)必须包含如下至少两种字符的组合:

-至少一个小写字母;

-至少一个大写字母;

-至少一个数字;

-至少一个特殊字符:`~!@#$%^&*()-_=+\|[{}];:'",<.>/? 和空格

是(不能为空)

  • 输出说明

参数名

类型

描述

privKeyStr

string

使用pwd加密的同态加密私钥。

pubKeyStr

string

同态加密公钥串

err

error

错误

  • 注意事项

保护密钥的复杂度取决于用户实际的应用场景,作为底层库的调用,不去严格限制。

Encypt

  • 接口原型

func Encypt (secretNumStr string, pubKeyStr string) (ciphertext string, err error)

  • 功能描述

同态加密。

  • 输入说明

参数名

类型

描述

是否必须

secretNumStr

string

需要加密的数值,只支持大于等于0的正整数,如果数字有小数,需要扩大倍数传入。

pubKeyStr

String

同态加密的公钥

  • 输出说明

参数名

类型

描述

ciphertext

string

加密后的数据

err

error

返回错误

  • 注意事项

无。

Decrypt

  • 接口原型

    func Decrypt(ciphertext string, privKeyStr string, pwd string) (plainText *big.Int, err error)

  • 功能描述

同态解密。

  • 输入说明

参数名

类型

描述

是否必须

ciphertext

string

需要解密的密文

privKeyStr

string

同态加密的私钥串(被pwd加密保护

pwd

string

用于保护私钥的字符串

  • 输出说明

参数名

类型

描述

plainText

*big.int

解密后的数据

err

error

返回错误

  • 注意事项

无。

Add

  • 接口原型

    func Add(cipher1, cipher2 string) (cipher string, err error)

  • 功能描述

同态加法。

  • 输入说明

参数名

类型

描述

是否必须

cipher1

string

被加密的密文1

cipher2

string

被加密的密文2

  • 输出说明

参数名

类型

描述

cipher

string

相加后的数据

err

error

返回错误

  • 注意事项

无。

InitBalance

  • 接口原型

    func InitBalance(balanceStr string, pubKey string) (string, error)

  • 功能描述

初始化余额。

  • 输入说明

参数名

类型

描述

是否必须

pubKey

string

公钥串

balanceStr

string

初始余额,只支持大于等于0的正整数,如果数字有小数,需要扩大倍数传入

  • 输出说明

参数名

类型

描述

balanceInfo

string

交易金额信息

err

error

返回错误

  • 注意事项

无。

PrepareTxInfo

  • 接口原型

    func PrepareTxInfo(cipherBalanceA string, transNumStr string, pubKeyA, pubKeyB string, privKeyA string,pwd string) (string, error)

  • 功能描述

    交易准备。

  • 输入说明

参数名

类型

描述

是否必须

cipherBalanceA

string

A的当前余额(密文),取链上当前A的余额

transNumStr

string

转账金额(明文)

pubKeyA

string

A的公钥串

pubKeyB

string

B的公钥串

PrivKeyA

string

A的私钥串

pwd

string

用于加密保护的字符串

  • 输出说明

参数名

类型

描述

Txinfo

string

交易准备数据

err

error

返回错误

  • 注意事项

无。

分享:

    相关文档

    相关产品