当前位置: 首页 > ops >正文

基于seal密码库的格加密算法的原理、实现与应用

一、实验目的

(1)了解Seal算法库的基本原理。

(2)掌握基于seal密码库的加密算法实现

  • 实验设计

在windows 64位操作系统下用Visual Studio,实现SEAL密码库的搭建。

1、首先下载按装Visual Studio(因为之前一直用的2022版):

2、在官网下载GitHub上下载seal 3.3.0版本的压缩包:

3、解压seal压缩包,打开seal.sln解决方案:

4、点击确定即可:

5、将debug改为release

6、x64后面的改为SEAL(但是好像改了release后,它会自动变为seal):

7、右键native文件下的seal

8、点击设为启动项目,表示运行生成时以seal为启动项,运行成功:

9、同样选中native下的sealexample,右键:

10、选中属性:

11、得到以下界面后在c/c++一栏下的常规,找到附加包含目录:

12、添加之前解压的seal文件里native目录下的src部分:

13、在继续打开连接器下的常规,找到添加库目录:

14、同样进行添加,此次添加native目录下的lib:

15、添加后点击确定即可:

16、在连接器的输入部分下,找到附加依赖项,打开后在第一栏添加seal.lib,一路确定:

17、选中sealexample,再次右键点击sealexample:

18、点击设为启动项目,表示运行生成时以sealexample为启动项,运行成功:

19、得到运行结果,成功,实验结束:

三、实验记录

1、操作结果如图所示:

  1. 遇到的问题:

在第一次操作的时候在seal部分的运行生成错误如下:

在不断的尝试思考中发现是版本匹配问题,即visual studio的版本和seal的版本不匹配

经尝试发现visual studio2019和seal3.3.0匹配,于是实验成功。

四、实验思考或体会

通过实验,我理解了基于seal密码库的格加密算法的原理、实现与应用。首先下载安装visual studio,在GitHub下载seal压缩包,解压后找到文件中的SEAL.sln,点击后自动以visual studio打开,打开后修改debug为release,以seal为启动项目运行生成,成功后,修改以seal.example为启动项目,点击属性,在c/c++的添加包含目录添加解压后native下的src文件,再继续在链接器的附加库目录中添加解压后native下的lib文件,并在附加依赖项下添加seal.lib,自此就配置成功了,运行即可。

当然在实验中遇到了一些问题,如在第一次seal部分的运行就发生了了错误,经不断尝试后发现是版本不匹配,于是尝试修改版本,visual studio改为2019版本后,配置seal的3.3.0版本即运行生成成功。

通过此次实验让我了解了在visual studio下seal密码库的配置,并见识到了版本兼容问题的严重性。

http://www.xdnf.cn/news/9350.html

相关文章:

  • 6个月Python学习计划 Day 7 - 复盘 + 测试日
  • 压缩包方式在Linux和Windows下安装mongodb
  • zynq7020 shm共享内存和OCM
  • Rust 和 Python 如何混合使用
  • 面试题——计算机网络:HTTP和HTTPS的区别?
  • MySQL问题:MVCC是什么?
  • 从解决一个分享图片生成的历史bug出发,详解LayoutInflater和View.post的工作原理
  • java 递归地复制文件夹及其所有子文件夹和文件
  • LeetCode-栈-每日温度
  • 《Discuz! X3.5开发从入门到生态共建》第1章 Discuz! 的前世今生-优雅草卓伊凡
  • 界面控件DevExpress WinForms v24.2新版亮点:富文本编辑器功能全新升级
  • Java五种方法批量处理List元素全解
  • 【操作系统】内核态、用户态
  • [Python] 避免 PyPDF2 写入 PDF 出现黑框问题:基于语言自动匹配系统字体的解决方案
  • CS144 - LAB0
  • 文本编辑器vi的使用
  • SECS/GEM协议中Report ID、SV ID、CE ID与S2F33/S2F35/S2F37指令的关系及配置示例
  • 专业库室联管联控系统|门禁联管联控系统
  • Browser-use快速了解
  • 流光溢彩的数字长河:Linux基础IO,文件系统的诗意漫游
  • Google Play的最新安全变更可能会让一些高级用户无法使用App
  • 函数抓取图片microsoft excel与wps的区别
  • 【n-grams】基于统计方法的语言模型
  • 深入理解设计模式之中介者模式
  • 基于Springboot + vue3实现的图书管理系统
  • 【Mysql开启慢查询日志】
  • 泰迪杯特等奖案例深度解析:基于联邦时空图卷积网络的跨区域碳排放协同预测与优化系统
  • 详解Kubernetes Scheduler 的调度策略
  • Day04
  • python进程间通信