写作绅士,读作丧尸 X岛揭示板
顺猴者昌 逆猴者亡 首页版规 |用户系统 |移动客户端下载 | 丧尸路标 | | 常用图串及路标 | 请关注 公众号:【矛盾苇草】| 人,是会思考的芦苇
常用串:·豆知识·跑团板聊天室·公告汇总串·X岛路标

No.65148341 - 密码学—数学的勾心斗角 - 科学


回应模式
No.65148341
名 称
E-mail
标题
颜文字
正文
附加图片
•涵盖各类科学的讨论板块
•可盖棺定论各热门事件/关注后续/谣言粉碎
•干货什么的最喜欢了!
•请注意发言所包含的信息量,信息量过低的内容将移回综一
•引用请注明出处,民科、伪科学退散

密码学—数学的勾心斗角 刚考完热热还能看? 2025-01-30(四)15:06:53 ID:kdXdPyz [举报] [订阅] [只看PO] No.65148341 [回应] 管理
(过年走亲戚有点太无聊了,坐到小孩一桌写一点有的没的打发时间
无标题 无名氏 2025-01-30(四)15:16:06 ID:8ndnRCV [举报] No.65148396 管理
jmjp
无标题 无名氏 2025-01-30(四)15:22:35 ID:sRf0ktb [举报] No.65148467 管理
jmjp
无标题 无名氏 2025-01-30(四)15:23:46 ID:kdXdPyz (PO主) [举报] No.65148473 管理
> 古典密码
从人能够将信息用笔或者类似的东西记下来之后,记下来的东西不想某些人知道就已经变成常见需求了。密室逃脱或者游戏中的经常能够见到的凯撒密码,那个旋转纸条在笔上然后从上往下读的那种密码(忘了叫啥了)都是古典密码。在不提前告诉加密方式的情况下,往往需要丰富的经验(或者提示)才能有机会解密出来

古典密码概括起来也简单,就是上文两种的高度概括:替换和置换。替换就是双方先约定好一张表,将原来的字符用其他更奇怪的东西做替换,同时也能用这张表反过来找到原字符。替换则是不改变字符,而是通过约定的方式改变顺序。
无标题 无名氏 2025-01-30(四)15:35:31 ID:kdXdPyz (PO主) [举报] No.65148552 管理
我们都知道古典密码不安全,毕竟都是老古董了。针对替换密码,我们根据字母出现的频率不同,加上常见词语的识别,可以很快的解密出一般的替换密码。

quipqiup.com 如这个网站,就能够简单的快速解密一般的替换密码

但古代人也不是吃闲饭的(=゚ω゚)=他们也知道这个方法,也可以用一天或更快的时间解密出来。至此,密码学的猫鼠游戏(主线)就开始了。

不妨思考为什么这个替换密码如此快速能够被破解,除了替换出来的东西太奇怪之外(指中世纪的鬼画符),最主要的原因还是这张表太短了。
收起 查看大图 向左旋转 向右旋转
无标题 无名氏 2025-01-30(四)15:37:19 ID:kdXdPyz (PO主) [举报] No.65148565 管理
图为圣殿骑士密码
无标题 无名氏 2025-01-30(四)15:44:54 ID:kdXdPyz (PO主) [举报] No.65148603 管理
一个简单的升级是多表替换密码。思想也非常简单。第一个字符用 A 表,第二个字符用 B 表,第三个字符用 C 表(之后再轮回 A 表)。

这样,攻击者就需要同时解密三个表,工作量增加,而且在不知道有多少个表的情况下字母频率也不管用了。这在消息短的时候已经具备相当好的加密效果了。可是在长消息下,通过暴力暴力暴力地枚举还是有机会解密出来的(不过很明显,这个时候在中世纪的你更想知道的是该怎么拿到表而不是自己傻乎乎地算了)
无标题 无名氏 2025-01-30(四)16:45:08 ID:CEPcAjY [举报] No.65149052 管理
jmjp
无标题 无名氏 2025-01-30(四)17:29:57 ID:kdXdPyz (PO主) [举报] No.65149421 管理
有人更近一步,觉得“表”这个名字太 low 了,所以把这个东西抽象出来称为密钥。表的使用方式不止一种,则称为加密函数。如此一来,和前后消息组合在一起就构成了抽象的加密四大件 (ゝ∀・)

m(Message)/ plain text (明文)加密前的数据
Enc(Encode)加密函数 | Dec(Decode)解密函数
k(Key)密钥
c(Cipher 密文)加密后的数据

这些是密码学里面的常用的字母标识。我们说一个密码设计上正确,首先要保证就是加密后再解密得到的还得是原文才行嘛,这就可以写成:Dec_k(Enc_k(m))=m (写在下标位置)
无标题 无名氏 2025-01-30(四)17:44:54 ID:kdXdPyz (PO主) [举报] No.65149543 管理
此后人们通过设计出越来越复杂的加密函数,让破解变得越发越困难。但机械和电子技术的发展让破解变得越来越容易。就这样双方此消彼长,尔虞我诈,无所不用其极,今天这个算法号称天下第一坚固,明天就有一个论文把它辩得体无完肤……

就这样密码学至今还在发展,此串完结!ᕕ( ᐛ )ᕗ
无标题 无名氏 2025-01-30(四)17:45:39 ID:kdXdPyz (PO主) [举报] No.65149550 管理
( ᑭ`д´)ᓀ))д`):别骗我,那你说这个密码学还有什么意思,我还能脸滚键盘有机会敲出世界上最好的加解密方案的代码呢,那你说这算什么事嘛。

(`ε´ ) 很遗憾,密码学在前几百年就是这么猥琐的。不过后来一旦打起仗来,人们的需求就极大的推动了思考,密码学也就变成了另一番模样,下面才是真正精彩的地方。
无标题 无名氏 2025-01-30(四)18:05:30 ID:kdXdPyz (PO主) [举报] No.65149708 管理
一战开始,无线电技术普及极大的改变了战场信息的传递方式,各国开始重视对无线电信息的加密。德军和英军都采用了不同的加密技术来保护军事通信。(不过还都是老一套替换置换啥的,可能高级点罢)。英国设立了专门的破译机构“40号房间”,雇了一群聪明人来想办法破解,还真让他搞成了几个。

有了这次教训,世界各国开始重视密码学的发展,让和密码学关系最紧密的数学家来研究一下。数学家会啥啊,他们就会阿基米德牛顿那一套公理化体系推理,你冷不丁的丢一个这么稀奇古怪,好像要将智商代入公式一般的脑经急转弯的密码学给他们,能想出啥东西啊?

……还真想出点好东西了
无标题 无名氏 2025-01-30(四)20:11:29 ID:kdXdPyz (PO主) [举报] No.65150782 管理
> 一次一密(One-Time Pad,OTP)

由美国某工程师于 1917 年提出,这玩意一开始出来的时候都没人鸟它,直到大概 25 年之后,香农挖坟挖到它,顺便用他创立的学科证明了这玩意确实某种意义上是无敌的。

都说万物皆数,信息也能表示成数字,而数字最简单的表示形式就是二进制,我们就把这个由 0 和 1 组成的字符串看作 m(Message)。加密函数和解密函数如果是同一个函数就简单了,加密的正确性要求这个函数是一个自身是自身的逆的函数,“异或”这个运算就很不错。既然是异或,那么就要密钥长度和明文一样。可以表示成:Enc_k(m)=k^m ,Dec_k(m)=k^m. 只要双方提前交换好密钥,将要发送的信息每个比特异或上对应位置的密钥发送出去,接收方再用密文异或上密钥就得到了明文。

你说你忘了异或是什么?很简单,异或就是一种“半加法”,1 异或 1 是 0(进位了),其他情况则和普通的加法一样。很明显 a 异或两次 b 的结果一定是 a,因为 2b 的最低位一定是 0。所以异或满足可逆的性质。

如此,我们就整出了“最安全的加密”——一次一密。它有多安全呢?很遗憾,我们此时还不知道安全的定义,发明它的人也不知道,直到二战快结束的时候香农提出了他的想法。我们暂时按下不表,此时我们只需要知道这个是一个“近乎完美”并且“没啥卵用”的加密方法就行了,因为二战要来了,密码学开始作为真正的焦点人物登上历史舞台。我们计算机的祖师爷图灵,马上要出场了。
无标题 无名氏 2025-01-30(四)20:13:10 ID:2A6NNyX [举报] No.65150793 管理
好耶,解谜爱好者大胜利(`ε´ )最经典的凯撒不能没有
收起 查看大图 向左旋转 向右旋转
无标题 无名氏 2025-01-30(四)20:49:02 ID:kdXdPyz (PO主) [举报] No.65151083 管理
> 二战中的密码系统

苏联:老一套多字母替换密码,用多个字母来替换一个字母,后面根据预定的情况不断地变换规则。这些规则可能涉及添加、删除或替换字母。没啥意思不说了

美国:这就有点意思了,电影《风语者》讲的就是这个。纳瓦霍语是一种地球上就那么一点人会说的语言,其语法和发音对于非纳瓦霍人而言也几乎无法学习,他们将常用的军事术语和原始的纳瓦霍词汇对应起来(一对多),然后请活人当编解码器。这么做还真的管用,整个二战期间还没有被破译过。

德国:典型失败案例。采用的是一个名为“enigma”的密码机来加密,长得大概和打字机差不多,按下键盘,加密后的对应字母灯泡就会亮起来。大概的操作方法如下:先用 10 根连接线两头分别插在 26 个洞里(一个洞只能插一根,也就是剩 6 个),然后转动机器上的转盘(转盘上刻度有字母标识,通过密钥可以确定位置)。设定完就可以愉快的敲字了,敲字的时候圆盘会不停的转动。因为转盘与接线的状态很多,所以德国佬很放心,觉得肯定破译不了。知道密码机内部连线泄露给了一个法国情报员也没放在心上。没想到这份情报兜兜转转到了波兰手里,由一名波兰数学家看出端倪了:如果每天的初始设置相同的话,收集大量信息的情况下可以推断出加密机器的内部设置,并逐步破译出加密信息。

英国的情报机构(没错又是他)又招募了一批数学家(图灵也在里面)来破译密码,图灵创新性地提出用机器代替人工的一种可行性方法:炸弹机(Bombe),用来高效率 24 小时无休的破译 enigma。毫无思考能力的机械结构通过巧妙设计,能够完成设定好的计算和逻辑任务,这便是计算机的雏形。
无标题 无名氏 2025-01-30(四)21:10:00 ID:wbtgexl [举报] No.65151217 管理
゚∀゚)σ[订阅]
无标题 无名氏 2025-01-30(四)21:28:47 ID:kdXdPyz (PO主) [举报] No.65151379 管理
为什么有这么多个状态也会被破译?怎么衡量一个加密系统的安全性?说到底啥是安全?有没有能用数学上的东西来说明一下?这就要说回香农了。我想也不必多介绍这位最牛本科生了,他的毕设就是几个学科的基石,他借用了数学上谁也想不到的工具——概率论来描述信息的传递,当然也能够很好的描述加密这种对信息的二次加工的行为。

因为这个对于密码学来说实在太重要了,所以我不得不展示一些数学的公式来精确的描述其含义。下面我们一步步推导,来看看这个安全定义是怎么产生的 | ω・´)

> 安全目标一:敌手不能够得到密钥 k。(如 enigma 机的初始信息和机器状态)

这个安全吗?很明显,这完全不是我们想要的安全。试着想一个最幼稚的置换加密:从后往前写。它甚至没有密钥(或者你硬要说这是步长 -1 的栅栏加密也行),但是这安全吗?显然不行嘛。除了特例,也能这么想:如果有某种方法在不得到 k 的情况下就能得到 m,那么何必绕一圈呢,我直接拿到 m 就行了嘛。

> 安全目标二:给定密文 c,很难恢复整个明文 m

也不大行,如果我需要破译的信息就是敌军攻击的时间,而敌人刚好发送的是“致我最敬爱的上校,如果你能够与我共进晚餐就最好不过了,如果没有时间的话也无妨,顺带一提攻击时间为 1900”,那么你只要解密最后的几个字符就够了。关键在于明文有价值的地方不能简单的假设分布均匀,必须完完整整的保护起来

> 安全目标三:给定 c,很难恢复任何 m 的字符

看起来不错?其实在特定高性能的要求下这个目标确实是一个不错的妥协方案,但是从密码学的角度来说,它还有十足的漏洞:假设我有两个消息,一个是西部战线发过来的 900,一个是从东部战线发过来的 3000。我知道这个加密方法是:c=m+k,这个时候我确实不知道两个的任何一个的时间(任何一个字符),但是我知道西部战线的时间肯定更小一点,那么我就更有必要去防守西部战线。(假设两个消息共用一个 k)

这里的关键在于恢复字符并不是泄露消息信息的唯一方式,可以通过比较,差分,压缩等方法去对信息进行提取和利用,这里就是密文的大小关系泄露了明文的大小关系,从而泄露了关键信息

> 安全目标四:不管攻击者已经掌握了什么信息,密文都不应该泄露任何有关底层明文的额外信息

这个看起来没问题吧?确实,没什么问题。只不过这里的额外信息指的是啥呢?我们的香农同学给出了他的见解:
无标题 无名氏 2025-01-30(四)21:53:59 ID:kdXdPyz (PO主) [举报] No.65151648 管理
香农提出了两个相当苛刻的要求:(Pr 表示概率)

1. 密钥的均匀性:密钥在它能够选取的范围里被选取到概率是相等的,即对于所有密钥 k∈K,有 Pr[K=k]=1 / (K 的大小)
2. 唯一映射:知道 m 和 c 的情况下,只存在唯一的 k。这意味着每一个明文都能通过唯一的密钥映射到一个密文上,并且没有两个不同的明文能够产生相同的密文

如果满足上面的加密形式,我们就能够(自行)推导出敌手就无法从 c 中获取关于明文的任何额外信息:写成公式就是 Pr[M=m|C=c]=Pr[M=m] ,这说明了

> 明文和密文之间没有任何统计关联,密文是啥完全不影响明文是啥

这就是香农给出的关于“信息论安全”的数学定义,也就是我们前面提到的安全目标四。这看起来就强的不行吧,我们来尝试证明一下一次一密的信息论安全性:

我们假设我们能够在与 m 长度一致的随机 01 字符串中均匀随机的选取k,此时满足第一个要求。m^k=c 等价于 k=c^m ,此时满足第二点,所以满足信息论安全。

信息论安全有多强呢?下面是一个直观理解的例子:有一个方程 x+y=1,x是明文,那么此时x有无限多解,也满足信息论安全。这就是理论上不可破解(实际上也当然不可破解)。国际上的“通电话”用的热线加密用的方法就是这个玩意。
收起 查看大图 向左旋转 向右旋转
无标题 无名氏 2025-01-31(五)01:55:39 ID:tvCQs1g [举报] No.65153555 管理
>>No.65151648
好popo,为了想办法理解我用了ai。这种解释是正确的吗(`・ω・)
无标题 无名氏 2025-01-31(五)02:35:59 ID:B1mzEsP [举报] No.65153735 管理
解密精品

UP主: