【Flow源码】密码学工具箱
🎏【Flow源码】密码学工具箱
2023-5-25
| 2023-10-15
0  |  0 分钟
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
该脚本代码如下:
该脚本执行下面的动作:
  1. 拉取crypto的代码
  1. 到crypto中生成代码: go generatego generate在crypto中是执行如下的脚本: bash crypto/build_dependency.sh
    1. 拉取relic密码工具箱: github.com/relic-toolkit/relic
    2. 执行编译: bash relic_build.sh 1. cmake .. 2. make relic_s -j8
    3. 💡
      生成的库和头文件在: 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中。
区块链
  • 区块链
  • 公链
  • 密码学算法
  • 【Flow】技术总结【Flow】技术白皮书3:核心架构
    目录