如何跑通 SPHINCS+官方代码(Mac和Windows两平台)

Windows平台

1 下载包安装工具 Choco

Choco是一个Windows环境下的包安装工具,下载完之后就可以使用choco install类似于Linux里面的apt-get install 命令来安装各种包

  1. 第一步:使用管理员身份打开cmd
  2. 第二步:输入命令安装choco
@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin

2 使用choco安装openssl

  1. 第一步:重启cmd
  2. 第二步:输入命令
choco install openssl
  1. 第三步:遇到要求输入的,输入“ A ”即可,意为 ALL全部执行在这里插入图片描述

3 下载visual studio 2022

下载链接:visual studio 2022 官网
按照正常的安装步骤即可

注意,在 visual studio installer 这一步的时候,需要安装以下这两个扩展:

在这里插入图片描述

4 在visual studio中配置项目

我已经将官方的项目配置成了vs的形式,因为官方的代码是直接使用make来编译的,所以文件结构和vs的有所不同。

链接: vs项目链接
提取码: ruax

  1. 打开项目:双击sphincs.sln 这个文件就会自动打开整个项目
    在这里插入图片描述
  2. 第二步:打开项目属性。右键sphincs - 拉到最下面选择“属性”在这里插入图片描述
  3. 第三步:配置附加包含目录。把原来的$(projectdir)lib\OpenSSL-Win64\lib和 $(projectdir)lib\OpenSSL-Win64\include 改成刚刚下载好的openssl库的路径在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
4. 第四步:配置附加依赖项到openssl的静态库中在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击确定
5. 第五步:在项目配置页面,点击“应用”,然后再点击“确定”

5 最后运行项目即可

点击 “运行不调试”

关于vs2022的项目配置和一些基础操作,可以观看下面的两个视频

macOS平台

1 下载包安装工具 Brew

Brew是Mac环境下的包安装工具
下载方法

2 使用 brew 安装 openssl

在这里插入图片描述

brew install openssl

安装完之后会显示出安装文件的位置:
在这里插入图片描述

3 下载官方的项目文件

链接: 文件链接
提取码: r8sx

4 在终端进入这个目录下,并且执行下面两行命令

在这里插入图片描述
进入 文件夹 ref 目录下

执行下面两条命令,注意openssl的位置需要根据你安装的位置来,如果和我的位置不一样,请修改

export C_INCLUDE_PATH="/usr/local/Cellar/openssl@3/3.0.1/include:$C_INCLUDE_PATH"
export LIBRARY_PATH="/usr/local/Cellar/openssl@3/3.0.1/lib:$LIBRARY_PATH"

5 编译文件,得到可执行文件,运行可执行文件

输入 make all 命令进行编译

然后可以看到的得到可执行文件:PQCgenKAT_sign
运行这个可执行文件,输入:./PQCgenKAT_sign

可以看到最和得到了输入文件和输出文件:PQCgenKAT_64.req 和 PQCgenKAT_64.rsp
说明运行成功

在这里插入图片描述

  • 34
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值