密码学
文章平均质量分 90
泡泡_0224
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
基于seal密码库的格加密算法的原理、实现与应用
首先下载安装visual studio,在GitHub下载seal压缩包,解压后找到文件中的SEAL.sln,点击后自动以visual studio打开,打开后修改debug为release,以seal为启动项目运行生成,成功后,修改以seal.example为启动项目,点击属性,在c/c++的添加包含目录添加解压后native下的src文件,再继续在链接器的附加库目录中添加解压后native下的lib文件,并在附加依赖项下添加seal.lib,自此就配置成功了,运行即可。原创 2025-05-29 00:00:34 · 610 阅读 · 0 评论 -
Paillier加密方案的原理、实现与应用(dev)
本实验旨在掌握NTL库的基本配置方法及Paillier加密方案的原理与实现。实验首先通过下载和配置NTL库,创建并编译项目,确保环境配置正确。随后,实验详细介绍了Paillier加密方案的关键步骤,包括密钥生成、加密和解密过程。通过编写C++代码,实现了Paillier算法的加解密功能,并验证了其正确性。原创 2025-05-20 19:25:49 · 990 阅读 · 0 评论 -
Paillier加密方案的原理、实现与应用(vs)
本次实验旨在掌握NTL库的基本配置方法以及Paillier加密方案的原理与实现。实验通过Visual Studio配置NTL环境,并实现了Paillier加密方案的关键步骤,包括密钥生成、加密和解密过程。实验中生成了两个大素数p和q,计算n=pq和lambda=(p-1)(q-1),并成功实现了明文m的加密和解密,验证了m2=m,表明解密成功。原创 2025-05-20 19:17:40 · 1015 阅读 · 0 评论 -
密码学--希尔密码
不同的是,仿射密码是直接对明文的每个字符进行依此进行加密解密,而希尔密码需要对对需要加密或者解密问文本进行分组,每M个一组一起进行加密或者解密,如是在n个M组以后还有剩余不够M个,即进行填充,可以以任何形式进行填充,在此次实验中,我选择了小写字母x,因为在一般情况下,其出现频率最小。综上可知,希尔密码和仿射密码都是需要求逆元,只是仿射密码是直接对密钥求逆元得到的就是解密的密钥,而希尔是对加密矩阵的行列式求逆元,得到的也只是行列式的逆元,而还需要*加密矩阵的伴随矩阵,得到的新的矩阵才是解密的矩阵。原创 2025-05-12 22:46:38 · 1253 阅读 · 0 评论 -
密码学--仿射密码
特别是在符号及空位等的处理方式上,最开始是直接在代码中列出了常见符号的ASCII码,把它们从明文中单独提出来,然后不对它们进行加密解密操作,后来仔细看了实验视频,才发现直接用一个else就可以直接避免对所有的字符进行加密解密。其中分析明文中的大小写字母,大写字母的ASCII码是从65到90,小写字母的ASCII码是从97到122,如实符号则不进行加密解密,直接返回,对字母利用放射加密y=ax+b mod q进行加密,//当b==0时,判断是否a2>b2,若是,逆元应该是y0,若不是逆元应该是x0。原创 2025-05-12 12:51:48 · 1399 阅读 · 0 评论 -
密码学--AES
/将得到的数进行异或。而且明文不仅可以为字母也可以为汉字,在最后的解密得到的明文仍然有在明文分组时补足的X,当然也可以去掉,此处只是没有去掉补足的X,方便观察补足情况。//行位移传进去的d=-1,而逆行位移只是将参数d改为了1。原创 2025-05-09 21:34:06 · 891 阅读 · 0 评论 -
密码学--RSA
结果截图在上面过程中,可以看到每次生成的p,q都不同,且是大质数,,每次的明文也是随机生成的不同的数,可以看到过程,得到密文cipher,再经过一系列解密后得到解密后的明文,经观察可以看到,解密生成的密文与随机生成的明文是一致的,故可以得到加密解密过程正确。if((p>100)&&(gcd(p-1,e)==1)&&(primetest(p,t)==1))//确保p足够大,且与e互质,并调用素性检验的函数,要求p为素数。//在循环体内,首先 s 被增加1,然后 r 右移一位(相当于除以2)。原创 2025-05-08 19:32:07 · 1285 阅读 · 0 评论
分享