跟着《深入浅出密码学——常用加密技术原理与应用》学
P1-P15,P15-32
第一章《密码学和数据安全导论》
x明文;y密文;k密钥;所有可能密匙的集合-密钥空间
蛮力攻击
作为刚接触CTF一个月的小白,大部分情况下是凭借蛮力攻击,也叫穷尽密钥搜索。
这是一种很笨的方法,不过在密码学的极少数题目中还是挺有用的。
因为已知格式为flag{}或ctf{}。
字母频率攻击
顾名思义,英语中某些字母的出现频率相对较高。文本越多,准确率较高。

模运算
8+4=3 mod 9
因为42 = 4*9+6,所以42=6 mod 9
其中,模约简:
3^8 = 3^4 * 3^4=4*4=16 mod 17
整数环

其中,
1如果环内任何两个数相加或相乘得到的结果始终在环内,那么这个环就是封闭的
2环中的任何元素a都存在一个负元素-a,使a+(-a)=0 mod m,即加法逆元始终存在
3不是所有元素都存在乘法逆元。假设a属于Z,乘法逆元(a^-1) 可以定义为a*(a^-1)=1 mod m。
*当且仅当gcd(a,m)=1,一个元素a属于Z存在乘法逆元a^(-1)。
凯撒密码
凯撒密码是我自学的第一个密码,也是每次拿来就用,忍不住套着试试看的密码(这不是个好事
简单来说就是移位
仿射密码

习题
1.1假设我们收到使用移位密码加密的以下密文:
Xultpaajcxitltlxaarpjhtiwtgxktghidhipxciwtvgtpilpitghlxiwiwtxgqadds
Python:
// str='Xultpaajcxitltlxaarpjhtiwtgxktghidhipxciwtvgtpilpitghlxiwiwtxgqadds'
dic={}
for i in str:
dic[i] = str.count(i)/len(str)
print(dic)
由于文本较少,不确定性较大,这道题我解了挺久。初步试验了t=e,i=e,x=a,x=t,同时借助网站https://quipqiup.com/
越看越觉得Id we……有点意思。索性把Xu=If,解出句子,其中可能性最大的是If we all unite we will cause the rivers to stain the great waters with their blood
通过问题了解到这应该是一个名人名言(问:这句话是谁说的?)通过查找,确定为Tecumseh
1.2仿射加密相关,其中密钥参数a=7,b=22
(1)密文:falszztysyjzyjkywjrztyjztyynaryjkyswarztyegyyj
(2)谁写的?
虽然上文提到了乘法逆元,但是本人没怎么弄懂,于是在解这道题无果后找到了一篇文章,指路-》https://blog.youkuaiyun.com/x_yhy/article/details/83756908,其中的算法亲测有效。最后解出来为FIRSTTHESENTENCEANDTHENTHEEVIDENCESAIDTHEQUEEN
经过断句:FIRST THE SENTENCE AND THEN THE EVIDENCE , SAID THE QUEEN.
参考文献:《深入浅出密码学——常用加密技术原理与应用》
本文记录了一名CTF新手在学习密码学过程中的第一天和第二天的体验,涵盖蛮力攻击、字母频率分析、模运算、整数环等基础知识,并通过凯撒密码和仿射密码的实例进行解密练习。文中提到,通过网站和参考资料辅助,成功破解了一些加密文本,揭示了名人名言和特定语句。
4552

被折叠的 条评论
为什么被折叠?



