开放原子训练营(第一季)铜锁探密-我与铜锁的故事

作者分享了自己参加铜锁训练营的经历,从对密码学的一知半解,到深入学习国密算法如SM2、SM3、SM4,并用SpringBoot和Linux服务器实现加密工具。通过完成作业,作者提升了技术理解并感谢训练营的支持。

我看到好多码友都写了铜锁训练营的心得,我也来凑个热闹,讲一讲我与铜锁的故事。

初遇铜锁

几周前,我所在的项目需要进行国密改造,于是,本来对密码学没什么了解的我,就逛起了优快云。

几天的恶补,我才慢慢知道了对称加密,非对称加密,base64,md5等这些名词

我清楚地知道密码学很深奥,我也清楚地知道我只是刚刚入了门,

这时候我的邮箱弹了个邮件,铜锁探秘--开放原子训练营,铜锁来了!在这里我要夸一下csdn的推荐算法,很棒!很贴心。

于是我就加入了这个训练营

相知铜锁

我虽然加入了训练营,但是由于工作的关系,其实我并没有跟上直播课。助教“火锅”,我必须谢谢她,她多次提醒我学习,于是我在51假期看了所有的录播,

得知交作业有奖,我直接站了起来,这个作业我必须交,耶稣来了也挡不住!

 

应用铜锁

在看完课程后,其实我了解到了很多,咱们国家的加密算法的发展流程,商密和国密的关系,SM2、SM3、SM4 的基本原理和使用场景,

我做的作业就是一个web工具箱,

架构我大致画一下

fe6528e159ea0120d5d4a68b48d1ea51.png

web端请求spring boot程序,springboot 解析请求后,组装命令打到铜锁linux服务器,服务器处理后将结果返回给spring boot程序,spring boot解析铜锁Linux服务器的返回结果后在发送给web前端。

其中sm2签名和验签涉及到了文件上传和下载。

以下是我的atomgit 地址,欢迎光临。

t-camp11 · AtomGit_开放原子开源基金会代码托管平台

 

 

最后谢谢铜锁社区,谢谢张老师和火锅助教

 

 

<think>嗯,用户问的是如何在Ubuntu系统中安装和配置铜锁(Tongsuo)。首先,我需要回忆一下铜锁的相关信息。铜锁是一个开源的密码库,之前可能叫做BabaSSL,后来改名了。记得在提供的引用里提到过安装命令,比如用ls查看/opt/tongsuo目录,还有版本更新的信息。 首先,安装步骤可能需要从源码编译,因为很多开源库都是这样安装的。用户可能已经安装了必要的依赖,比如gcc、make、openssl这些。不过可能需要先安装依赖项,比如build-essential、git、perl这些。然后,下载源码,可能通过git clone或者下载预发布版本。引用里提到8.4.0-pre2版本,所以用户可能需要从官方仓库获取代码。 接下来是配置和编译。通常的步骤是运行./config或者./Configure,然后make和make install。铜锁可能有一些特定的配置选项,比如启用特定的算法或者硬件加速。引用中提到了半同态算法、零知识证明和硬件加速,所以在配置时可能需要启用这些功能。 安装完成后,验证是否成功,可能需要检查/opt/tongsuo目录是否存在,或者运行版本命令。另外,配置动态链接库路径,让系统找到铜锁的库文件,可能需要编辑ld.so.conf或者设置LD_LIBRARY_PATH环境变量。用户可能需要这些步骤,否则运行时找不到库。 测试部分,可能需要写一个简单的C程序,链接铜锁的库,并运行。例如调用某个函数来确认安装正确。如果有问题,可能需要检查路径是否正确,权限是否足够,或者依赖是否满足。 用户的问题还可能涉及到配置,比如如何让应用程序使用铜锁而不是系统自带的OpenSSL。可能需要设置编译时的链接路径,或者在代码中包含铜锁的头文件。 另外,引用中提到铜锁删除了不常用的算法,用户需要注意是否他们的应用需要这些算法。还有漏洞修复,说明新版本可能更安全,但也要考虑兼容性。 可能用户会遇到的问题包括依赖项缺失、权限问题导致安装失败、动态链接库未正确配置等。需要提醒用户检查这些方面,或者提供常见问题解决方法。 最后,生成相关问题时要考虑用户可能进一步想知道的内容,比如验证安装、使用示例、切换版本、卸载方法,或者特定功能的启用,比如半同态算法或硬件加速的支持。</think>### 如何在 Ubuntu 系统中安装和配置铜锁 #### 1. 安装依赖 首先安装编译和运行所需的依赖库: ```bash sudo apt update sudo apt install -y build-essential git perl gcc make ``` #### 2. 下载铜锁源码 从官方仓库克隆代码(若需特定版本如8.4.0-pre2,可通过标签切换): ```bash git clone https://github.com/Tongsuo-Project/Tongsuo cd Tongsuo git checkout 8.4.0-pre2 # 切换到指定版本 ``` #### 3. 配置和编译 启用常用功能(如半同态算法、硬件加速)并指定安装路径: ```bash ./config --prefix=/opt/tongsuo enable-ntt enable-ec_elgamal enable-ippcp make -j$(nproc) sudo make install ``` #### 4. 验证安装 检查安装目录和版本: ```bash ls -l /opt/tongsuo # 查看安装文件[^1] /opt/tongsuo/bin/openssl version # 显示版本信息(如Tongsuo 8.4.0-pre2) ``` #### 5. 配置动态链接库 更新系统库路径: ```bash echo "/opt/tongsuo/lib" | sudo tee /etc/ld.so.conf.d/tongsuo.conf sudo ldconfig ``` #### 6. 环境变量设置(可选) 在`~/.bashrc`中添加路径: ```bash export PATH="/opt/tongsuo/bin:$PATH" export LD_LIBRARY_PATH="/opt/tongsuo/lib:$LD_LIBRARY_PATH" ``` #### 7. 测试示例 编写测试程序`test_ntt.c`: ```c #include <tongsuo/ntt.h> int main() { // 调用NTT相关函数 return 0; } ``` 编译并运行: ```bash gcc -I/opt/tongsuo/include -L/opt/tongsuo/lib -lntt -o test_ntt test_ntt.c ./test_ntt ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码出优雅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值