![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
密码学
文章平均质量分 74
通过本专栏的学习,你将了解到密码学在当今数字世界中的重要性,以及如何使用现代密码算法来保护你的数据。不管你是一个密码学新手还是一个专业人士,我相信你都能从这里获得有价值的内容。
订阅我的专栏并开始你的密码学之旅吧!
七月初七淮水竹亭~
心有猛虎,细嗅蔷薇
展开
-
设超递增背包向量A=(1,3,5,10,20),选取 k=40,t=7,计算公钥向量B,对明文cipher进行加密得出其对应的密文,并使用私钥对密文进行解密。
设超递增背包向量A=(1,3,5,10,20),选取 k=40,t=7,计算公钥向量B,对明文cipher进行加密得出其对应的密文,并使用私钥对密文进行解密。原创 2024-04-18 10:25:09 · 135 阅读 · 0 评论 -
已知密文C=66由RSA 算法加密得到的,其中p=7,q=17, 私钥d=77, 请对密文C 进行解密,要求写出解密的过程。
已知密文C=66由RSA 算法加密得到的,其中p=7,q=17, 私钥d=77, 请对密文C 进行解密,要求写出解密的过程。原创 2024-04-17 17:06:51 · 67 阅读 · 0 评论 -
流密码之线性反馈移位寄存器,以习题:n=4的LFSR,输出序列满足ki-4+ki-3+ki=0,初始状态为1000,求最终输出序列 为例
流密码之线性反馈移位寄存器,以习题:n=4的LFSR,输出序列满足ki-4+ki-3+ki=0,初始状态为1000,求最终输出序列 为例原创 2024-03-05 12:12:55 · 191 阅读 · 0 评论 -
异或怎么计算?拿110111⊕010101举例
异或的数学符号为“⊕”,计算机符号为“xor”。如果⊕运算左边的数和右边的数不相同,则异或结果为1。如果两个数相同,异或结果为0。异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0。原创 2024-03-04 15:42:38 · 297 阅读 · 0 评论 -
密码学概论之基本概念
信息在网络中不总是安全的,存在着人为攻击以获取信息或破坏信息;其中获取信息属于被动攻击,破坏信息属于主动攻击,那么什么是被动攻击?什么是主动攻击?两者的区别是啥呢?如上图所示,被动攻击只获取信息,不破坏伪造信息,也就是说不改变信息;而主动攻击则改变了传递的信息。两者的区别正在于是否改变了传递的信息。正是由于信息或数据在网络中传递的这种不安全性,密码学应运而生。维基百科上是这样说的:密码学是对安全通信技术的研究,要能够有效的防范潜在攻击。原创 2023-12-01 16:00:14 · 660 阅读 · 0 评论 -
用Elgamal数字签名算法对H(M)进行签名
cout原创 2023-07-10 16:11:17 · 280 阅读 · 1 评论 -
RSA密码算法的C/C++编程实现
假如a是整数,p是质数,且a,p互质(即两者只有一个公约数1),那么a的(p-1)次方除以p的余数恒等于1。后来,我们在返回e和d的过程中也出现了各种奇怪的问题,比如:明明写了限制条件,使得d>0,但是最终返回的d还是为负数,我们不思其解,通过不断翻阅资料以及不断调试程序,我们试着将变量的取值范围扩大,最终解决了这个问题。计算公式gcd(a,b) = gcd(b,a mod b)。(2)将(1)中的算法整合实现RSA加解密算法:完成p和q的选取,公私钥的产生,以及对输入明文的加密和对密文的解密。原创 2023-07-10 16:02:33 · 4449 阅读 · 0 评论 -
分组密码算法AES的C/C++编程实现
实验过程中,意识到要实现完整地AES流程是相对十分复杂的,要提前对密钥进行密钥扩展,将明文转化成十六进制变为矩阵,加密过程中,先用初始密钥进行异或,再做九轮字节代换、行移位、列混合;AES加密过程先是明文经过初始化变换,其次再经过九轮循环运算,每一次循环运算都要依次进行字节代换、行移位、列混合和轮密钥加,九轮循环运算结束后,再进行一次最终轮运算,这一轮与前面的九轮的区别除了不进行列混合,其余的不变,也即是最后一轮依次进行字节代换、行移位和轮密钥加,经过这一步骤得到的即为密文。行移位,一个比较简单的置换;原创 2023-07-10 15:47:49 · 4851 阅读 · 0 评论