密码学—数学的勾心斗角刚考完热热还能看?No.65148341 只看PO
2025-01-30(四)15:06:53 ID:kdXdPyz 回应
(过年走亲戚有点太无聊了,坐到小孩一桌写一点有的没的打发时间
无标题无名氏No.65148473
2025-01-30(四)15:23:46 ID: kdXdPyz (PO主)
> 古典密码
从人能够将信息用笔或者类似的东西记下来之后,记下来的东西不想某些人知道就已经变成常见需求了。密室逃脱或者游戏中的经常能够见到的凯撒密码,那个旋转纸条在笔上然后从上往下读的那种密码(忘了叫啥了)都是古典密码。在不提前告诉加密方式的情况下,往往需要丰富的经验(或者提示)才能有机会解密出来
古典密码概括起来也简单,就是上文两种的高度概括:替换和置换。替换就是双方先约定好一张表,将原来的字符用其他更奇怪的东西做替换,同时也能用这张表反过来找到原字符。替换则是不改变字符,而是通过约定的方式改变顺序。
无标题无名氏No.65148552
2025-01-30(四)15:35:31 ID: kdXdPyz (PO主)
我们都知道古典密码不安全,毕竟都是老古董了。针对替换密码,我们根据字母出现的频率不同,加上常见词语的识别,可以很快的解密出一般的替换密码。
quipqiup.com 如这个网站,就能够简单的快速解密一般的替换密码
但古代人也不是吃闲饭的(=゚ω゚)=他们也知道这个方法,也可以用一天或更快的时间解密出来。至此,密码学的猫鼠游戏(主线)就开始了。
不妨思考为什么这个替换密码如此快速能够被破解,除了替换出来的东西太奇怪之外(指中世纪的鬼画符),最主要的原因还是这张表太短了。
无标题无名氏No.65148603
2025-01-30(四)15:44:54 ID: kdXdPyz (PO主)
一个简单的升级是多表替换密码。思想也非常简单。第一个字符用 A 表,第二个字符用 B 表,第三个字符用 C 表(之后再轮回 A 表)。
这样,攻击者就需要同时解密三个表,工作量增加,而且在不知道有多少个表的情况下字母频率也不管用了。这在消息短的时候已经具备相当好的加密效果了。可是在长消息下,通过暴力暴力暴力地枚举还是有机会解密出来的(不过很明显,这个时候在中世纪的你更想知道的是该怎么拿到表而不是自己傻乎乎地算了)
无标题无名氏No.65149421
2025-01-30(四)17:29:57 ID: kdXdPyz (PO主)
有人更近一步,觉得“表”这个名字太 low 了,所以把这个东西抽象出来称为密钥。表的使用方式不止一种,则称为加密函数。如此一来,和前后消息组合在一起就构成了抽象的加密四大件 (ゝ∀・)
m(Message)/ plain text (明文)加密前的数据
Enc(Encode)加密函数 | Dec(Decode)解密函数
k(Key)密钥
c(Cipher 密文)加密后的数据
这些是密码学里面的常用的字母标识。我们说一个密码设计上正确,首先要保证就是加密后再解密得到的还得是原文才行嘛,这就可以写成:Dec_k(Enc_k(m))=m (写在下标位置)
无标题无名氏No.65149543
2025-01-30(四)17:44:54 ID: kdXdPyz (PO主)
此后人们通过设计出越来越复杂的加密函数,让破解变得越发越困难。但机械和电子技术的发展让破解变得越来越容易。就这样双方此消彼长,尔虞我诈,无所不用其极,今天这个算法号称天下第一坚固,明天就有一个论文把它辩得体无完肤……
就这样密码学至今还在发展,此串完结!ᕕ( ᐛ )ᕗ