type
status
date
slug
summary
tags
category
icon
password
Sub-item
Last edited time
Oct 15, 2023 04:10 AM
Parent item
领域
概述
密码学工具箱的配套代码在github.com/onflow/flow-go/crypto。
该包提供了Flow中用到的绝大部分密码学相关的功能, 但是如果要使用BLS签名的功能,还需要安装
relic
库。编译工具箱
安装relic之前要先安装
cmake
工具和git
工具编译入口是,在flow-go目录下执行
make crypto_setup_gopath
从Makefile中可以看到,该命令是执行了:
bash crypto_setup.sh
,该脚本代码如下:
该脚本执行下面的动作:
- 拉取crypto的代码
- 到crypto中,生成代码:
go generate
,go generate
在crypto中是执行如下的脚本:bash crypto/build_dependency.sh
- 拉取relic密码工具箱: github.com/relic-toolkit/relic
- 执行编译:
bash relic_build.sh
1.cmake ..
2.make relic_s -j8
生成的库和头文件在:
relic/build/lib/relic_s
relic/build/include
relic/include
relic/include/low
如果是在自己的项目中使用crypto包,并且使用BLS签名功能,那么需要在crpto下编译relic库,在编译程序时,加上tag:
go build -tags=relic
算法
Hash和MAC
代码在
crypto/hash
中。