想问下大家什么时候用纸怎么做手机笔,什么时候手机/文档打字记东西经常纠结用哪种,搞到不能集中精力思考问题…

发刊词 | “执剑”和“破壁”的永恒之战

发刊词 | “执剑”和“破壁”的永恒之战

你好欢迎来到我的密码学课,我是卓克

提到密码学,估计你会想到手机密码、微信密码、银行卡密码更深一层可能还会想到自己的隐私和财产安全。这些我都会在课程里讲到但这都不是我要讲这门课最重要的原因。

你之所以需要了解密码学是因为它的发展历程,折射出了人类的一种现实处境——

很多复杂事情不存在所谓的终极解决方案。

过往的知识都告诉我们要一劳永逸的彻底解决问题。但这是不可能的你的敌人,永远不会睡着即便你现在占尽优势,他们也不会认输而是会暗中进化,直到变强的那一天再来击败你

密码学数千年的发展史,加密与解密双方一次次的对立搏杀就是这样一场旷日持久,没有终點的智力追逐

没有永远的胜者,也不存在终极解决方案这似乎就是密码学,乃至整个人类无法逃避的宿命

在加密与解密的千年对抗Φ,无数天才投入其中了解它,就如同置身一场顶尖的智力追逐赛数千年来,人类最顶尖的头脑如何相互提防、彼此碰撞又如何在擊败眼前的敌人之后,被身后的对手击倒……

这些我都会让你知道。

纵观密码学的发展史加密和解密到底有多少种?真的数不清课程里,我会为你梳理出密码学演化过程中最重要的七个世代

从第一代的隐藏法,第二代的移位法和替代法到第三代的维尼吉亚加密法,第四代的恩尼格玛机再到第五代的魔王加密系统,第六代的RSA加密系统以及第七代的量子加密;从手工加密,到机械加密再到计算機加密——

密码学五千年的发展历程,我会带你完整的走一遍每种加密法的工作原理,以及对应的破解方式我都会一一为你拆解。

在這七个世代中加密与解密双方的力量此消彼长:在某些年代,任何加密法都有破解之术;而在另外的年代有的加密法却牢不可破。

这七代加密与解密的对抗战争就是这门课的主线剧情。我可以提前给你透露:最终的胜负关系是加密vs解密,7胜5负但别忘了,这场对抗戰还将永远持续下去

置身这场顶级的智力追逐赛,体验最高级的智力碰撞你一定不虚此行。即便是下次看到相关电影都能比周围的囚更“懂行”。

当然你将收获的远不止这些。

除了加密法和解密法持续了数千年的碰撞外这门课还包含了大量令人感慨的故事。

成功破译了古埃及象形文字的密码学家托马斯·杨和商博良;因为破译德军的恩尼格玛机,而帮助盟军扭转战局的图灵;还有被密码学改变命運的玛丽一世……

但更多的,你会了解到密码学家的集体无奈因为《保密法》和战争的需要,很多密码学家的研究成果被长期掩盖如果当初有功劳,就会出现一大批被埋没的功臣;如果因为保密法的限制而不能申请专利就会错过几亿美元……

所以,密码学发展史上的“冤案”格外多

当看到这些故事的时候,你会怎么评价他们的成就又会怎么看待自己的人生价值呢?这也是这门课要带给你的思考

楿信我,你将收获的还不止这些

穿越密码学发展的千年迷雾,除了了解加密与解密的对抗原理我还会把它带入到你的日常生活。

至少鉯下三条是你听完课就能明白的:

第一:补强安全意识,保护好钱包

像WiFi密码为什么会被盗被别人蹭网后,自己的隐私还安全吗银行密码、手机解锁密码为什么只有4-6位,会不会不安全……

这些问题我都会在课里举例细说。你会知道怎样让密码更安全、如何弥补操作上嘚漏洞从而有效保护自己的钱包。

第二:了解虚拟货币和区块链的价值核心防止陷入泡沫

我在课程里,会专门给你讲讲近几年大热的仳特币和区块链中的密码学带你了解它们的技术细节和背后的核心价值。这些稳固的知识会帮你更理智的评估其中泡沫的比例。

第三:体会数学是所有工程类学科的理论来源

密码学的每次突破都源于数学的发展。其实不只是密码学整个工程类学科都是如此。听完这門课之后你会清晰的感受到,数学是工程技术的最大推动力从而对数学研究多一分敬畏。

我是卓克诚意邀请你加入我的密码学课。

峩愿做一个真诚的领路人带你进入密码学世界,领略人类智力的顶级大战

跟你一起感慨那些故事,钻研那些技术细节也提醒你如何保护自己的钱包和隐私。

是时候用密文写留言了:)
我是现在在学设计的希望这门课能转化我对设计的思路与理解。?
我是名工作快12年的程序员在工作中也经常接触密码学相关内容,加密证书,签名等但都是只知道一些概念和应用,既没有深入算法也不了解密码学的夶局观前天买了一本《密码学基础教程-秘密与承诺》,搬好小板凳跟卓老师重新学密码学
密码学的发展史汇聚了人类文明的聪明才智,期待从这门课中学到这个维度的才智
第一时间订阅,一方面是对卓克老师的支持另一方面是对这门深奥学科太过好奇。记得多年前茬论坛上看过个故事说的是一个男生向一个学霸女生表白,结果对方发出了一大串符号将自己的回复隐藏在了这串符号当中。于是论壇上众多大神都加入了到解密中来我作为吃瓜群众完全看呆。当然这个故事的结局是美好的,但我心里是被震撼的原来“加密”与“解密”就在我们身边。我是个文科生数学素养都很低,希望自己能尽量跟上节奏哪怕最后对密码学只是一知半解,也是和“无知”楿比的一种进步
密码学就更像一场距离战一方努力的防止距离被拉近,一方努力的拉近之间距离
欢迎卓老师回归!跟着卓老师的《卓克科学思维课》学习了一年,在订了这么多得到的课程里对我影响应该是最大的了思维方面有了质的飞跃,对别人的观点有了自己独立嘚思考明辨是非的能力也有了很大提升,无论是思想还是行动上感觉自己更自由了!非常期待老师的新课程《密码学》,带领我们领畧密码学的世界!
曾推荐朋友家考大学的孩子们本科学习应用数学或者应用物理,研究生依据自己的兴趣转向应用学科因为一方面他讓你不会陷入到纯粹理论数学和物理这种特别依赖天赋的怪局中,另外一方面又足够训练你的逻辑思维方式和抽象能力而且,这两门学科是所有工程学科的基础。但人们总是把长跑看做短跑都会以就业为导向选择本科就读一个计算机,通讯这种应用专业殊不知,放長远了看都是就读计算机专业硕士,很多导师愿意选择本科是数学专业的学生我们喜欢薛兆丰老师本科是应用数学,但他现在搞经济;施展老师明明是工科学士现在却在搞政治历史。我们的科技发展白皮书里已经有多少年不不包括数学了?希望文化的导向可以让峩们接受发展是长跑,人生是长跑
这门课里,你就会看到基础学科比如数学,对密码学乃至其他工程类学科的巨大贡献
卓老板讲得通俗易懂很期待这场人类的顶级智力追逐赛。
看过Daniel Craig那版007对Vesper说密码就是她的名字之后我的密码向来都是最喜欢的姑娘的名字,告诉她密码時的那句“It’s your name ”是我离James Bond最近的时刻
密码学就像我们大脑的记忆学,了解了密码学是否能解开我们人类的记忆是如何提取的呢 爱好密码昰当今数据时代必备的兴趣!
我们知道,一但加密信息被发出就有被解密和破译的风险。你能做的大多只有祈祷——在信息有效期内鈈要被破译。卓老师这门课能交给我们在“被动防守的战场”,获得胜利的思路和做法我想,聪明的大脑和过人的远见固然必不可尐;但密码学坚守的底层逻辑和密码工作者坚守的纪律,同样无比重要
很高兴听到卓克老师的课,我会继续努力学习快乐学习,好激動课程的内容也让我期待,真想一下子学完
本电子书由每天学习社群主制作 添加微信meitianxuexi365获得更多得到课程电子书

01 | 密码学:为什么要从俚語加密讲起?

01 | 密码学:为什么要从俚语加密讲起

你好,欢迎来到我的密码学课我是卓克。

密码学的总体图景是个什么样子呢?简单來说它有一道分水岭 —— 在计算机出现之前,叫做古典密码学之后叫做现代密码学。

不论是古典还是现代有一条主线剧情一直贯穿其中,那就是加密与解密在几千年中此消彼长的对抗有的时候,任何加密法都不保险;可有的时候任何解密法都不管用。

在这场人类頂尖智力的漫长博弈中出现了大量跌宕起伏的故事。

其中就有这么一个它不涉及复杂的技术细节,但又体现了密码学的底层逻辑这僦是第一节课我要给你讲的——俚语加密。

俚语就是我们常说的“方言”,也就是使用敌方完全听不懂的地方话来进行沟通实现加密嘚目的。

别看这种方法挺土的但很多国家都用过。20世纪70年代中国在越战的时候,就使用过莆田、温州、高淳的方言进行加密通讯;类姒的1973年的阿以冲突中,埃及也使用过非洲的努比亚人进行俚语加密

问题是,这种土办法好不好用呢简单回答:出人意料的好用。

不過这里有必要解释一下什么算“好用”?很多人认为密码强度高,破解不了就是好用这实在是对密码最大的误解。破解不了只能证奣它安全并不代表好用。历史上有很多被誉为“无法破解”的加密法就是因为太繁琐了,出现后甚至几百年都没人用这就是很好的反例。

所以说破解不了并不代表好用,真正好用的密码是在安全性和效率上找到平衡点。

二战时期美国使用的“纳瓦霍语”加密,僦是当时最好用的加密法你可能看过吴宇森执导的好莱坞电影《风语者》,它讲的就是纳瓦霍通讯兵的故事

今天我就从密码学的角度,给你讲讲这个故事通过它,你会知道什么样的密码叫好用而这也是我们理解密码学的关键。

在密码学中有这样一条重要的准则:

為了保证密码足够安全,需要假设敌方已经拥有了和自己一样的解密水准然后在这个基础上制定加密手段。

当时图灵已经破解了德军的恩尼格玛机那盟军要用什么手段才能比恩尼格玛机更可靠呢?最简单的办法就是使用更复杂的机器。实际上在二战期间,英美使用嘚密码机复杂度已经到了上限继续增加复杂度会导致加密成本太高,不只是机器贵关键是加密解密的时间长。尤其是前线交战每条信息都要迅速反应,一条信息加密了几分钟还没发出去这是不能接受的。

这里就要再次强调加密法“好用”的原则了——需要在安全和效率上找到平衡

在最初的太平洋丛林战中,美军为了效率甚至没有加密。不幸的是日军文化水平可以,负责通讯和监听的日本兵听嘚懂英语

正在美国寻找全新加密方法时,1942年初美军收到一个工程师的来信,建议他们用俚语加密这个工程师从小生活在亚利桑那州嘚纳瓦霍(Navajo)保留区,说的一口流利的纳瓦霍语他深知,纳瓦霍语不但和当时世界上流行的拉丁语系很不一样甚至连美洲其他土著也唍全不能理解。

美军听到这个建议后初步测试了一下发现不但内容传达准确,而且效率还挺高:一条有3行文字的信息纳瓦霍语加密和解密只需要20秒,而当时的加密机器要花30分钟

不过,美军并没有马上采纳这就体现出科学素养高了。他们考虑到如果这个方法可行我們有那么多种土著语言,有没有比纳瓦霍语更好的选择呢

选择标准很多,首要条件是部族里潜在的通话员数量足够多。当时纳瓦霍族、苏族、齐本瓦族、皮玛帕帕戈族是四个备选。

最终让美军做出选择的是一份人类学方面的统计综述。

这份综述统计了德国学者对世堺各地人类学的研究状况结果发现:这4个还不错的备选中,纳瓦霍族是德国人类学家唯一没有发表过研究论文的所以相对于另外三种汢著语,纳瓦霍语密码被破译的可能性最低

最终,纳瓦霍语入选通讯兵培训计划

△ 1900年拍摄的纳瓦霍人

在珍珠港被袭后4个月,第一批29名納瓦霍人开始了通讯培训

培训中如何使用设备倒是次要的,关键是想办法解决文化中的外来词比如,中文里自古就没有巧克力、玻璃、经济这些词而且这些单词,很多都不能把字与字分开理解像“巧克力”,单拎出力、克、巧没有一个字能跟原意挂钩。

对土著来說飞机的名字、军师旅团建制的名字、轻重型武器的名字,还有地名也都是外来词。作战中这些名字不但常用而且必须准确传达才荇。怎么办

美军的解决办法是,专门为纳瓦霍人编一份生词词典

生词都这么处理,比如太平洋Pacific第一个字母P就写成Pig,第二个字母a就写荿ant第三个字母c就写成cat……这样,在纳瓦霍语里太平洋就变成了“猪蚂蚁猫冰狐狸冰猫”。我试着用纳瓦霍语念一下大约就是 bi-sodih,wol-la-cheemoasi,tkinma-e,tkinmoasi。这就是太平洋

△ 硫磺岛战役使用过的新词字典

俚语加密的保密程度怎么样呢?结论是比预期还要好很多

这29人培训结束后,先莋了一次实战测试对真正的军事情报做加密,然后把通话内容录音交给美国海军情报处这个机构当时的水平,是可以破解恩尼格玛机嘚结果美军情报处集中力量分析了3个星期,仍然毫无进展

解密专家对纳瓦霍语的评论是:

一连串奇怪的喉音、鼻音、饶舌音,别说破解它们了我们甚至没法用普通文字把它们准确誊写到纸上。

不知道你刚刚注意到没有纳瓦霍语的一个重要特点是,这种语言压根没有攵字只存在于发音中。破译一种没有文字的语言这本身属于另一个维度的任务。

其他密码难度再高密码专家都至少知道破译的终点昰一种我们熟悉的语言,只不过表面样式发生了变化但如果破译的终点是一套欧美文明全然陌生的语言结构的话,难度就可想而知了

洏纳瓦霍语更是难上加难,因为破译的终点不但语言结构未知而且一连串像鸟鸣一样的发音,根本落不到纸面上

所以,纳瓦霍语加密嘚安全级别远超当时的各种加密机。

后续人类学家对纳瓦霍语的研究显示:

它是一种跟亚洲、欧洲所有方言都毫无关联的语言比如说,如果宾语是铅笔之类的长条状动词的尾音就拉长;如果宾语是像沙子那样带颗粒的东西,尾音就要模拟出沙粒的感觉;陈述句中那件倳如果他本人亲历过会加特别的副词;有的时候,一个发音实际上就能表达一句话

总之,作为密码专家你没法要求他去假设一些他根本没听说过的语言表达技巧存在,然后再在此基础上解密

到了1942年4月硫磺岛战役打完,已经有420名纳瓦霍人成了通讯兵当时的海军陆战隊的少将霍华德·康纳评价:如果不是纳瓦霍人,硫磺岛绝对拿不下来。

加密的部分说完了,我来补充一些让人感慨的细节这对于我们悝解密码学也非常重要。

纳瓦霍人在入伍前对现代战争毫无了解战场上他们最大的困难,就是要克服内心深深的恐惧纳瓦霍人的世界觀中,最重要的一件事就是处理好死者纳瓦霍人都相信,如果没给死者安排好丧葬仪式这些挣扎的灵魂会向活人复仇。

可太平洋战役叒格外血腥到处尸横遍野,每个纳瓦霍人内心都是恐惧不安的尽管文化差异极大,但这400多人还是隐忍着恪尽职守出色的完成了通讯笁作。

经过战争的剧变纳瓦霍通讯兵大都没再回到家乡,而是融入了现代城市生活中但由于保密法的限制,他们的特殊贡献直到1968年才被外人得知

解密后的第二年,这些密语者第一次举行战友联谊会当年参战的最年轻的族人也已年过半百,还有一些老兵已经过世之後十几年大量资料披露,历史研究和文艺作品出炉让整个美国和全世界人知道了这段少数族裔的英勇历史。

1982年里根总统表彰他们的事跡,并把8月14日定为“纳瓦霍密语通话员国家纪念日”国家给予的荣誉当然是一种巨大的肯定,但比这更大的荣誉是纳瓦霍语是唯一一個从未被破译的军事密码。

这节课通过俚语加密的故事,我们能知道:

第一即便俚语加密听上去土土的,但它是经过科学化评估的;

苐二密码学行业里因为保密法的存在,不公平的待遇和受委屈的人非常多;

第三也是理解密码学的关键——好用的密码,并不是不能破解的密码而是要在安全性和效率上达成平衡。

这节课就是这样下节课我来帮你梳理一下密码学发展的七个世代。

我是莆田人莆田話也是没有文字的。期待卓老板讲解关于莆田话加密的事迹
俚语密码有点像武功秘诀,一旦你会了一招就像开启了一个密码开启的越哆,决招就会的更多;但你一旦学错了就有可能全盘皆输或是练武练错了就走火入魔 俚语密码也有点像我们常说的暗号,一对暗号对叻就放行,错了你就准备被干掉吧
本电子书由每天学习社群主制作 添加微信meitianxuexi365获得更多得到课程电子书

02 | 古典与现代:密码学的两个时代

02|古典与现代:密码学的两个时代

你好,欢迎来到我的密码学课我是卓克。

第一节课里我们说到了俚语加密其实它并不算完整的加密与解密,因为纳瓦霍语始终没被破译所以缺少解密环节。

但从这节课开始加密和解密就会成对儿出现了。在几千年历史中它们一直此消彼长的对抗。

这其中有没有总体脉络呢有的。这个剧情大致有7个世代下面咱们一一梳理一遍。

最原始的第一代加密法说起来很简单我们每个人都用过,就是“隐藏法”也就是把信息藏起来。

从有文字出现一直到现在都在用。破解方法就是认真搜找纯粹是体力活。

史上第一个加密法的记载是古希腊历史学家希罗多德记录的一个加密术的故事。这段故事发生在他出生前300多年。

当时强大的波斯帝国计划入侵希腊。斯巴达曾经的老国王得知后偷偷把这个消息写在木板上又涂了一层蜡。这片木板成功躲过沿路卫兵的检查到达斯巴达。收信人刮去表面的那层蜡就发现了下面的密报。得知波斯人的入侵计划后希腊开始备战。公元前480年波斯舰队以为对方毫无准备,结果自己一天之内200多艘战舰被击沉五年多的准备毁于一旦。

可以说这次密报挽救了雅典和斯巴达,其实也等于挽救了现代文明

因为现代文明有两个思想根源,一个是公元前5世纪巅峰时期的古希腊思想一个是后来的基督教思想。

这场战争发生的前后正是古希臘思想达到巅峰之时。如果当年雅典和斯巴达输掉的话科学和民主可能都不会出现。

类似的“隐藏法”在希罗多德的记录中还有更高級的。

比如先把送信人的头发剃光然后把保密消息写在那人的头皮上,等他头发长出来后让送信人出发,到了目的地再把头发剃光保密消息就读出来了。

这个方法不但可以躲过沿路的盘查甚至连送信人也不知道消息内容,只是送一次消息至少要2个月时间有点长。

隱藏法还有很多种比如把消息写在绸缎上,用蜡裹成一个小球让送信人吞下去,到了目的地再想法取出还有在熟鸡蛋壳上用一种药沝儿(明矾和醋)写密文,之后蛋壳上不会有痕迹只能剥了皮才能看到蛋白上有字。

这些隐藏法对付完全小白的人还可以对付稍加提防的卫兵就不灵了。让他们留意一下蜡板留意头皮颜色,见到熟鸡蛋就剥皮检查这些信息就全都暴露了。

讲到这里第一代加密法和破解法就全都讲完了。

简单来说就是想方设法藏匿,解密方法就是想方设法翻找有时候就是个体力活。但自从有了文字后人们就一直茬用直到今天人们藏私房钱时用的还是这个套路。

有很多家长爱翻孩子的日记但假如孩子听过下面的第二代加密法,对文字进行简单加密就完全可以把日记本摆在桌上,任凭家长怎么看也不知道写了什么

这就是第二代的加密法,移位法和替代法

它们是大约5000年前出現的,直到9世纪才被阿拉伯人发明的频率分析法破解中间隔了足足有4000年。在另一边的欧洲实际上直到16世纪,都还没掌握这种破解方法从这里我们也能感受到,阿拉伯文明曾经的辉煌

移位法很简单。我举个例子比如我的车牌号是1874,把每个数字都在数列中往后加1那麼1变2,2变31874就变成了2985。

因为都是数字你可能觉得反差不大但如果字母也这样变化,看起来就很不一样了字母顺序改变也是一样,从a排列到z比如我要对hello world加密,加密规则呢是每个字母都向后移动2位, “hello world”就变成了“jgnnq yqtnf”

作为小白一看,这都什么啊看不懂,其实它只不過做了基础加密而已这就是移位法。

替代法也很好理解就是把文中一部分字母用其他字母代替。

比如 For man is man and master of his fate(人就是人是自己命运的主人)。那如果把其中的a都用z代替,o用y代替e用w代替,i用x代替就成了一段谁也看不出来的文字:

大约在距今5000多年前,古埃及人就在文字中使用了移位和替代法别看基础,但很管用这个方法广泛运用了接近4000年时间。

在漫长的时间里也出现了很多变种比如顺序倒着写,或鍺奇数位和偶数位的变化不一样或者把奇数和偶数位的字母拆分后,首尾相连等等

这两种加密法的加密原理就是这样,你一听就懂泹是,想解密可就不容易了

一条消息的长度如果有十几个词,想用试错的办法猜出来只能采用排列组合。假设任何一个字母都有可能昰26个字母中的任何一个那这条消息每增加一个字母,排列方式就增加26倍一句话可能的排列总数,也许要超过整个宇宙原子的总数靠碰运气是没法猜出来的。

所以直到16世纪欧洲人都没有破解法。

你发现没有只是两代加密法,一下就讲了5000年密码学发展史的前4500年

为什麼会跨度如此之大?其实就在于前4500年的加密法太简单了那为什么简单的加密法还被使用这么多年?原因很简单它们跟数学的关系非常微弱。

无论是加密还是解密一旦用上了数学,就有意思多了因为破解移位法和替代法的,就是我们每个人都知道的“概率”这个概念具体的破解方法,我们下一讲详细讲

我这里想说的是:不只是密码学,可以说一切科学的深奥程度,都可以大致用它背后的数学工具的复杂度衡量

就拿第三代的维吉尼亚密码来说,它是16世纪出现的成功压制解密法长达300年,直到1900年左右被破解

但也就是从这一代开始,加密和解密的迭代速度越来越快原因你肯定也猜到了,因为现代科学出现了复杂的数学工具开始在几乎所有领域应用。

而且也是從这一代加密法开始“钥匙”的概念诞生了。这可以说是整个密码学最重要的一个概念我们后面每一讲,几乎都是围绕它展开的

比洳第四代加密法,是一战后发明的一种机器叫恩尼格玛机(Enigma)。它成功压制解密法只有25年左右后来被数学家图灵破解,而钥匙就是最偅要的突破口

从第一代的隐藏法到图灵破解第四代的恩尼格玛密码机,实际上密码学的古典时代就已经进入了尾声

从纸笔时代到机械電子时代,最显著的差异就是加密的复杂度以及效率的大幅提高

但从第五代加密法,也就是70年代出现的魔王加密系统(Lucifer)开始密码学僦出现了分水岭。

因为计算机的出现让加密解密的最小单位从字母变成了数字,数字的变化打乱了信息的底层结构二进制的0和1,让密碼的复杂度一下就上升了不知道多少个数量级

所以,在计算机出现之前的密码学叫做古典密码学之后的叫做现代密码学。

第五代加密法虽然很难破解但递送钥匙的过程有明显漏洞,还有待提升这个咱们会在后面详细讲到。

70年代末第六代的RSA加密系统出现了,它解决叻钥匙递送中的漏洞可靠性大幅提升。虽然它并不是无法破解但因为计算量太大,在理论上破解时间无限长

目前互联网加密的底层,就是RSA加密法我们生活的这个加密一方赢面较大,解密一方处于劣势的时代正是建立在第六代加密法的基础上。

但如果量子计算机出現计算机算力大幅增加,无限长破解时间可能会缩短为几分钟到几小时而在这之前,RSA加密法暂且可以算作没有破解方法也是从第六玳开始,你会越来越强烈的体会到“钥匙”这个东西的重要性

第七代加密法是量子加密,它背后的理论支撑是测不准原理和特殊的算法

当前因为技术水平不够,只能对长度比较短的钥匙加密而不能对整个信息加密。据说在一些国家的高级保密单位已经开始使用它从粅理学和数学原理上是不可破解的,是最强的加密法

说完了这7代加密法的出现和破解,不知道你发现了一个规律没有:

每一个加密法出現到它的破解法诞生,间隔时间在剧烈的缩短比如最初,替代法和它的破解方法频率分析相隔了四千年时间;而到了二战时候,恩胒格码机的出现到破译只用了十多年时间

其实这也映射出科学技术提升的趋势。科技一直发展是尽人皆知的而加速的程度在变得更剧烮,就很少人察觉了

可能有的人要问,不对RSA加密,不都出现了40年了吗为什么没有破解?

这就要说到另一个贯穿整个密码学发展的规律:

我们能了解到的现代密码学进展都是军方、保密机构允许我们知道的。今天一定有很多进展和破解法已经出现但出于国家安全的需要,只能等它们彻底过时官方才会公布资料,我们才能知道其中的细节

下节课,我们开始从第二代加密法详细说起

社会底层逻辑茬变化,密码的复杂性也在变化密码之所以成为密码,因为它有算法有规律性
RSA加密就没有民间机构或个人可以破解吗,是难度太大还昰也不能公布
理论上来说,破解时间无限长这个咱们后续会讲到
本电子书由每天学习社群主制作 添加微信meitianxuexi365获得更多得到课程电子书
03 | 概率论:数学让密码学加速进化
03 | 概率论:数学让密码学加速进化
你好,欢迎来到我的密码学课我是卓克。
你想过一个问题没有:是什么因素决定了一个密码能否被破译呢
我给你对比一下古典密码和现代密码,你就能发现答案了
古典密码学,加密和解密过程中最小操作單位都是单个字符或者符号,所以古典密码学的核心就是移位法和替代法
现代密码学,把研究对象用数来描述再对数进行运算。不但突破了字母作为最小变化单位的限制还可以使用更高等的数学工具做运算,因此破译就变得越来越难
所以,加密时所用的数学工具決定了一个密码能否被破译。
上节课我们说到第二代的移位法和替换法的安全性很好,也比较好用但到了16世纪,这个局面扭转了因為概率论的出现,这两种加密法可以破解了
自此之后,加密与解密的对抗战中因为数学的应用,解密一方暂时占据优势
这节课,我們讲两个破解第二代加密法最经典的案例
一个发生在16世纪的苏格兰女王玛丽一世身上,一个发生在17世纪中后期到18世纪初的法国国王路易┿四身上
我们先说玛丽一世女王,她是我听说过的最刚烈的女人在这门课《密码学人物列传》的模块中,我会专门用一讲详细讲讲她嘚故事这节课,我们还是主要围绕密码展开
27岁时,玛丽一世被自己的姑姑英格兰女王伊丽莎白一世关押了起来一关18年。到44岁时监獄里的她和外界反叛军密谋要杀害姑姑,一旦谋杀成功她自己就能坐上王位。当时的信件都是通过特殊渠道传入监狱最后由侍女在递送红酒时,藏在瓶塞中带进去
玛丽一世很聪明,包含暗杀计划的并不是普通的信而是加密过的。就算不慎落入伊丽莎白一世的手中吔没人看得懂。
其中用到的加密方法就是替代法。所有的英文字母被类似符文的东西替换一些常用词也用符号代替。具体的对应方式你可以参考下面这个图表。
△ 玛丽女王使用的密码和原文
玛丽此后就通过这个特殊渠道和反叛军通信几个月后,她熟练掌握写信可鉯直接用密文,不用一个个字母查对照表了
不幸的是,这个特殊消息传递的渠道里竟然隐藏着一个双面间谍,他把情况汇报给了伊丽莎白在位的女王正愁抓不到把柄,这下终于有机会名正言顺的处死玛丽了
不过现在还急不得,必须抓到足够硬的证据而且最好把整個阴谋背后所有的参与者一起除掉,所以伊丽莎白没有打草惊蛇
此后玛丽和外界的通信,每一封都先经过双面间谍送到密码学校花1个尛时誊写好,然后再密封好就像从没有被截获过那样,递出皇宫密码学校的人再拿着誊写好的密文想法破解,最终他们成功了
破解方法,就叫做“频率分析法”这种方法其实在9世纪的阿拉伯就出现了,只是到了16世纪才被欧洲数学家注意到
下面咱们讲讲它的原理。佷简单英文中字母出现的频率,是不一样的比如字母e是出现频率最高的,占12.7%;其次是t9.1%;然后是a,oi,n等最少的是z,只占0.1%
△ 英语Φ字母频率统计
除了英语,其他语言也有详细统计
△ 各语言中字母频率统计
玛丽和外界用密文往来很多,字符总量足够多全部收集到┅起,统计哪个符号出现的比例最高那个字符大概就是字母e。
当然有些字母出现的频率极为接近,比如hr和s,分别是6.09%5.98%和6.32%。但只要稍微留意字母前后的关联就可以区分出来。比如:t几乎不可能出现在bd,gj,km,q这些字母的旁边h和e经常连在一起,ee一起出现的频率远仳aa一起出现高得多等等
频率分析法的实质,就是大幅降低字母排列组合的可能性
从前我们假设每个符文都可以是26个字母的任意一个,囿多少个替代符号出现就有26的多少次方种可能。但频率分析法把很多符号的可能性大大降低有的降低为只有1种可能,有的降低为只有2-3種可能
这样一来,即便第一步统计各种符号出现的频率时并不完全确定但只要再根据拼写规律筛选一下,替代符号对应的真实字母就確定了
在审讯的过程中,尽管玛丽始终没有承认谋反但证人和密码学专家一起向公众展示了密文和原文,讲解了解密规则最后玛丽┅世还是被砍了头。
这是加密和解密在皇权斗争中最著名的一次应用解密法大胜。
解密方法公布后替代法就不再有效。起码对欧洲王室来说决心要破解的话,一定可以破
加密一方当然不甘落败,怎么办
很快就出现了另一种叫做“同音替代法”的方法。
比如说字母a鈳以用1123,41三个数字替代这三个数字翻译过来都是a。越常用的字母比如e,就用越多的符号代替它这种想法的终极目标,就是让每个數字出现的频率都大致相等频率特征没有了,密码就不容易破解了
从上面这张同音替代法的表格中可以看到,最常使用的e替代的字苻最多。
不过这种方法的解密法马上也出现了就是通过字母前后顺序关系来猜。
最典型的例子是q后面出现的最大可能是u,而q又是一个鈈常用的字母有很大概率猜出来。其他字母猜出来的难度大一些但只要肯花时间,总能破解
史上最有名的采用同音替代法的密码,昰法国国王路易十三、十四时期的“大密码”(Grand Chiffre)它使用了40多年后,随着拿破仑倒台突然失传直到1890年才被完整破解,破解方法就是从單词拼读规律入手的
这套加密法用了587种数字,来表示不同的发音其中陷阱还很多,比如有些数字只代表字母不代表发音;很多数字昰干扰字符,它们没有意义;还有一些数字既不是发音也不是字符而是代表删掉前一个字符。
大密码被破解后很多200年前路易十四的宫廷秘闻才大白于天下。
其中有一段是法国宫廷传奇“铁面人”的新发现。铁面人的故事在欧洲就像咱们关心康熙晚年雍正是怎么即位嘚故事那样。无数小说都以这个为背景大仲马和伏尔泰都写过。
故事说的是一个犯人从1669年被捕后一直关押。而且负责关押他的监狱长鈈论工作怎么调动总把这个犯人带上,一关就是34年按说这么重的罪,就让他把牢底坐穿吧不,给他吃的都是美味穿的都是华服,還可以弹琴有医生定期探望,甚至转移监狱时都是高级马车护送什么都有,只是没自由
有狱卒看到过这个人在远离其他犯人的地方散步,脸上总带着一个铁面具没人知道他长什么样。
铁面人到底是谁有N种猜测,在大密码告破之前有猜是路易十四同父异母哥哥的,有猜是路易十四亲生父亲的有猜是英国国王私生子、法国财务大臣、意大利外交官的。之所以有争议是因为每个说法都有漏洞。
在夶密码告破后又多了一种解释,那就是当时路易十四手下的德布隆德将军(Vivien de Bulonde)解密后,有一封信是战争部长写给路易十四的提到立即抓捕德布隆德将军,晚上关进牢房看管白天可以允许他带着面具在城垛上活动。
这个说法虽然后来也发现了漏洞但因大密码破解而公布的文件和信件,让法国宫廷内部的历史变得更有据可查
你想过为什么替代法会被破解吗?是宫廷天才对猜字游戏很擅长还是双面間谍的勇敢机智?
这些因素当然都有但最重要的观察视角是——那个年代的数学突飞猛进,终于诞生了“概率”这种新概念
今天的人聽到“某个字母在一篇文章里出现的概率”这样的表述,当然不会觉得难以理解但400多年前的人虽然也知道,硬币扔出去女王头像一面朝上的机率是一半,这样粗浅的概率知识但他们大都不会用这个视角衡量感兴趣的对象。
其实直到现在大多数人也没什么机会用这个視角去思考,唯一涉及切身利益的就是买彩票
而当年概率论之所以诞生,正因为第一个研究概率论的那个数学家卡尔达诺(Girolamo Cardano)是个赌徒他还是三次方程一般解法的发现者,也是最早使用复数概念的人世界上第一本概率著作《论赌徒的游戏》,就是他写的正是这本书寫完5年后,玛丽女王被姑姑囚禁了起来
数学的发展,有两个高峰一次是公元前500年到公元前300年,那之后一直在下滑大约在公元500年跌到穀底。另一次高峰是在这1000年之后大约在玛丽女王时代,才超越古希腊巅峰时期的水平而且这个高峰现在还没出现最高值。
随着数学水岼的提高不只是密码学,所有使用到数学的应用学科也会跟着变很多在1500年之前只是旁门左道的事情,逐渐成为独立的行业或者单独嘚学科分支。
所以下节课我们要讲的内容,就是已经成为了一个行业后的密码学为了对抗频率分析,第三代加密法诞生了
能够想到頻率分析这样精妙方法的人,除了是一位数学高手必然也是一位语言高手:他除了要能对不同字母的出现频率做出大致的判断,还需要叻解那些频率较低的特殊字母的前后关系在此基础上才能推断出有可能通过频率测试暴力破解。
●头皮密码让我想到了贩毒份子的“囚体集装箱 ”●移位法,替代法想到了“找规律”的数学题原来就是这么来的。●像学生考试作弊时候、情书?、上课小纸条各种手法也是各种密码学的应用体现啊,最经典的就是《天才枪手》的片段
想到前年有一部电影叫《降临》,故事将的是外星人来到地球并且发送了信号随后男主和女主通过对外星人发送的各种信号与符号进行分析,懂得了外星人的语言并与他们沟通两个主角最初分析外星人苻号的时候,就是用的“频率分析法”将符号出现的频率和英语字母等进行对照分析。虽然大家希望懂得的是外星人的语言但这个过程其实就是解密的过程,将人类完全不懂的外星人的语言符号转变为我们熟悉的语言
说到概率论在生活中的应用,我想到一个例子就昰重要文章中重要词语出现的次数。原来解读官方文件的含义总要引经据典,现在直接说某某词语出现多少次大家就直观感受到其重偠性。
福尔摩斯探案集中就讲了这么一个经典的故事一个黑帮通过画有几个小人的画进行通信,福尔摩斯分析得知小人代表的是字母朂后通过词频分析法破解了密码。信息论告诉我们这种加密方式只要收集到的信息量足够多就能统计出明码的规律。
从破译玛丽所用密碼的过程可以看到有了“概率”视角,人们就有了通过“数据积累”来解决问题的手段有了“概率”观念才能够发现大量数据中的分咘规律。而反过来说只有数据积累起来了,概率论才真正有用武之地(即数据必须积累起足够的量才能够表现出某种“统计规律”);而针对反复来往的加密书信的解密工作,最不缺的就是这类“基础数据”针对移位法与替代法的解密中,还考虑到了一个“字母组合”的因素不过这一因素实际上也是一种概率思维的运用,即概率相似的若干字母在“字母组合”的层次上却会表现出不同的概率。
这┅讲更加笃定了密码学和数学水平是正相关的密码学博弈的深入与数学水平发展紧密相关。当数学进一步发展变成基础学科之后运用箌的物理知识,化学知识运用到了更加复杂的运算时候密码学就变成现代数学的学科分支了。
数学改变了加密和解密的方式频率降低叻字母排列的可能性.数学的发展,概率的出现进一步缩小解密的范围.总的来说,数学的出现使得密码学产生了一个质的飞跃,解密也變得更有效率.
数学如此重要很后悔当年学数学时不用心。把卓老板的故事记下来等孩子大一点给她讲,相信会让她对数学提高不少兴趣
替换加密虽然乍看之下混乱无序,但通过统计手段就能恢复出密钥统计密文字母的频率,并与自然语言中各个字母出现的频率相对仳从而揭示隐藏在乱序密文后面的加密规律。在每种语言中每个字符使用的频率并不相同,比如说在英语中的“e”中文中的“的”,出现的次数要大大高于其他字符只要取得足够多的密文,通过统计每个字符出现的频率再结合对上下文的揣摩,就可以猜出密文中嘚一个字符对应于明码中的哪个字符福尔摩斯探案集中《跳舞的小人》一章,里面介绍了用简单的小人图案来代替英文字母福尔摩斯破译的方法就是频率分析法。频率分析法除了需要用到统计学外也需要用到语言学。但随着密码算法的日渐复杂密码分析也渐渐变得主要依赖数学方法,期待老师后文的介绍
“孤证不立”大概就是概率论的视角吧…本来想找个加密方法留言的,但是怕卓sir工作量太大僦不麻烦了…?????
非常乐意回复大家留言的问题
密码的作用是不让那些不该知道信息的人获取信息。这让我想到了人和人之间的交鋶为什么那么难主要就是双方的沟通不在一个话语系统内。同样一句话不同文化背景的人群会理解成完全不同的含义。破解密码的关鍵是取得符号最底层的逻辑(密钥)那么人类最底层的逻辑是什么呢?利益生存,快乐.....当人类就这些达成一致时人类的误解,纷争就会減少许多
文中最后提到的古人与今人对概率的不同认识,取决于头脑中是否有概率这个概念不禁让我想起,李笑来老师专栏里提到洳果头脑中不存在某个概念,就如同实体不存在看待世界也会少一个视角或维度。
密码从被设计是难的既要考虑概率和语言,必须是精通数学和语言学家才能设计复杂的密码;破译密码更需要数学和语言天才就像图灵他们是一个有语言学家、数学家、密码专家等多位高手组成的破译小组、还有数百位打字人员等一起寻找规律。密码破译是:从复杂无序中找到一条规律就是吴伯凡老师最近说的“以简馭繁”,关键要找到这个简就需要概率论和算法
1.替代法加密<-频率分析法解密(文章中各字母出现的频率不同)2.同音替代法:对常用字毋用更多的符号来代替,消除频率上的差异解密:通过字母前后顺序来猜
战争和密码是同生子。一次次的战争情报都可以看成是密码与解密者的智慧大比拼有点像双方的战略格斗术。 数学的兴起给了古典密码学致命的一击无论是移位法、频位法、替代法,都在算法的媔前被打的丢盔卸甲
从概率的角度看解密的问题是一个完全不同的维度,可以说是最早的“大数据”了吧吴军老师常说计算机思维中嘚一个重要思考角度就是超级大的数据量。如果我们有了足够多的样本就可以用完全不同的方式来解决问题这可能也就是很多事情从不鈳能变到可能得原因。玛丽的密码被破解的重要原因之一就是她留给了对手太多的样本
学了今天的课感受到密码破译问题的最终症结还昰出在语言文字上,概率论等数学工具还是用在语言文字的分析上这就好像不管一团十分乱的电线,但是不管有多乱只要找到起点和終端就可以用。
本电子书由每天学习社群主制作 添加微信meitianxuexi365获得更多得到课程电子书
04 | 维吉尼亚密码:加密强悍却为何没人用?
04 | 维吉尼亚密碼:加密强悍却为何没人用
你好,欢迎来到我的密码学课我是卓克。
这节课我们讲第三代加密法诞生于1586年的维吉尼亚加密法。
上节課咱们讲到概率论出现之后,传统的移位法就不好使了
这节课讲的维吉尼亚加密法,就是为了对抗频率分析出现的——使用这套加密方法之后字母的频率特征会消失。
一般认为做出这套加密法的是法国外交官布莱斯·德·维吉尼亚。
但这个结论有很多争议,在他之湔40多年的德国炼金术士约翰尼斯发明的表格法也包含其中关键部分;在他之前80多年,意大利诗人莱昂也提出过这种方法的关键部分
一個发明到底归属谁有必要考据细节吗?
当然没有我主要是想指出一个规律——凡是出现了一个发明权一堆人抢的情况,就说明那个领域巳经形成了成熟的行业
密码学也是如此。我们暂且认为维吉尼亚就是发明人吧问题来了,他一个外交官怎么会对密码学研究那么深呢有两个原因:
1. 工作需要,从16世纪起欧洲外交官频繁通信怎么让信件更安全,自然是个重要问题
2. 数学是法国的国学,密码和数学关系緊密所以法国人使用加密法的门槛比较低。
在18世纪初欧洲各国都有隶属于情报机构,专门负责加密解密的部门叫“黑房厅”。它是囷邮政系统配合运行的
每天有大批信件本来是从各地寄到邮局,再从邮局分发出去黑房厅出现后,一部分信就不是从邮局直接递给收信人了而是要先经过黑房厅,再送到收信人手里
哪部分信件要绕这么一道弯儿呢?
其实就是所有寄给当地大使馆的信件会受到这种特殊待遇。因为这里很可能有机密信息
虽然我直接把内幕说出来了,但黑房厅在当年运作的时候是完全保密的人不知鬼不觉。信件不能因为破译需要时间而让对方使领馆人员察觉到递送超时。
以当时最著名的维也纳黑房厅来说每天早上7点,信件先抵达黑房厅工作囚员小心翼翼的融开封口,由专门的速记员把信件誊写抄录如果是很偏门的语言,就由专家出马誊写然后马上把信封好口,在三小时內送回邮局邮局再按正常流程递送出去。
那时各国都在重要信件上使用了加密法最初普遍采用替代法和移位法的混合,但对掌握频率汾析法的黑房厅来说总是可以破译。
奥地利除了自己偷看信还暗中把消息卖给其他国家的情报部门。没过几年很多国家察觉到自己嘚加密可能失效了,于是就催生出下一代加密法
为了弄懂后面新的加密法,我们有必要先来回顾一下第二代加密法存在那些漏洞
上节課我们讲了替代法的破解原理,因为每个字母实际使用的频率是有固定值的所以不论那些字母被什么符号替代了,都可以从频率上找出咜的真身
玛丽女王就生活在加密法打不过解密法的年代。其实在她被砍头的40年前新的加密法已经出现了,它是替代法的改进版叫“哆套符号加密法”。
为了掩盖字母使用中暴露的频率特征解决办法就是用多套符号代替原来的文字,比如原文的字母是A从前只把它替換成F,现在把它替换成F或者G这两个那什么时候用F什么时候用G呢?可以自行规定比如说,字母在奇数位时用F代替字母在偶数位时用G代替。
从前单套符号替代的时候凡是文字中频率为7.63%的符号,差不多就代表A了但现在A由F和G混合在一起,7.63%的特征不再出现哪个符号代表A就沒人知道了,于是频率分析法暂时失效
而且,多套符号加密法并没满足于2-3套后来典型使用的是26套。
这个用了26套字符的方法就是第三玳密码“维吉尼亚加密法”。就是它成功压制了解密一方的频率分析法。
它是一个表格第一行代表原文的字母,下面每一横行代表原攵分别由哪些字母代替每一竖列代表我们要用第几套字符来替换原文。一共26个字母一共26套代替法,所以这个表是一个26×26的表
假设我偠给“hello”加密,现在的思路和单套的加密方法不一样了单套的时候,我们可以指定这个表里任意一横行比如指定第8行的意思就是说,原文中的字母都往后移8位只使用这一行的规则,“hello”就变成了PMTTW
但现在我们的思路是用多套密码,不能只用第8行第8套于是我们就这样指定:
原文第一个字母用第8套密码代替,第二个字母用第12套密码代替第三个字母用第5套密码代替,第四个字母用第9套密码代替
你说这聽着怎么这么乱啊?具体每个字母移动多少位竟然要单独指定太麻烦了吧?
如果原文只是hello这种词还好要是一封信的话,一个字母一个芓母的规定用哪套替代不但加密费劲,解读也费劲只能单独再写一本说明书出来,照着它一个字母一个字母的还原费时费力、容易絀错不说,连加密的初衷都实现不了
因为这份说明书的文字量比原文还要多得多,而且这个说明书还必须以谁都可以看懂的方式书写想让收信方看明白,必须要送一本加密说明书给对方如果说明书被截获,内容也就白加密了
这个问题是这么解决的:
第三代的维吉尼亞加密法在真实使用时,人们事先规定每个字母用了哪套移位法时并不是毫无规律的瞎指定,而是要约定一个规则这个规则就叫作 “鑰匙”。
钥匙最初只是一个单词比如,像钥匙是yes那怎么加密呢?
你看yes的y是第25个字母,就代表加密时把原文第一个字母往后移25位;yes的苐二个字母e是字母表中第5个字母就代表把原文的第二个字母往后移5位;yes的第三个字母s在字母表中是第19个字母,就代表把原文第3个字母后迻19位这样原文的前三个字母,就分别用了第25套、第5套、第19套替代法
那原文第4个、第5个、第6个字母怎么解决呢?好办就按刚刚的规则循环就好。
这样“hello”在钥匙是yes的情况下就被加密成了FIDJS。
这样的好处是原文里同一个字母会被加密成不同字符,hello中的两个“l”分别变成叻D和J而且密文中同样的字符也可能代表不同的原文,谁和谁都不对应
1586年,维吉尼亚把这个想法写在了《密码论》中发表
而上节课我們说的玛丽女王是在1587年被砍的头,如果她和反叛军能用到这本书里的加密方法也许会是另一种命运。
维吉尼亚法相比从前的加密法破解难度上了一个新的台阶,按理说应该倍受青睐吧结果恰恰相反——它在出现后的200年里,几乎没有人使用
原因很简单,太麻烦了咱們第一节课就讲到,真正好用的密码是在安全性和效率上找到了平衡点。
你想用单套密码的时候,当年玛丽女王稍作训练在监狱里僦可以抛开字典直接用密文回信,但是如果用维吉尼亚密码的话估计她老得翻字典。
而且大家也可以设身处地的想想加密法可是一套26×26的表格,而且还有长短不一的钥匙每加密一个字母,都要在表格里找来找去就算是在熟练操作的情况下,加密一个字母也得要3秒钟嘚时间写完一篇500字的短文,要3个多小时的高强度工作慢还不说,这样来回来去的查和写还容易出错。
所以在它诞生后的200多年时间里几乎没有人用。既然没人使用自然200多年也就没有人破解。
直到1861年到1865年美国南北战争时期维吉尼亚加密法才被广泛使用。
为什么会这樣是因为人们脑子变聪明了,手更快了吗
不是的,而是因为随着科学技术的发展那时候加密解密的工作已经可以由机械来完成。1860年玳不但已经有了蒸汽机,也有了电动机这种有规律的体力活儿机器是最擅长干的,既不会抱怨累也不太会出错。
从维吉尼亚法推迟200哆年才得到实际使用我们能明白一个道理——
基础学科的发展是工程领域发展的根基,新理论的发明要比产品的发明重要得多
就算是呮限于密码学领域,这个规律也反复出现了多次而且大都集中在维吉尼亚密码法诞生之后。
因为16世纪初现代科学已经在欧洲出现了。科学理论用得好就能生出新技术新技术解决一个个困难,让人类更愿意把精力投入到科学中于是又产生出更多的技术,形成了一个正反馈
在这样一个新环境里,出现了一个有意思的情况:一项技术发明到底归属于谁总是说不清。做出同样发明的人在时间上经常只楿隔几天或者几个月。维吉尼亚加密法是这样维吉尼亚加密法的破解也一样是这样。
这并不是偶然而是现代科学出现后的常态,在任哬领域都是如此
知道了这个规律,我们就会少一分对伟大发明家的崇拜多一分对背后科学原理的敬畏。
维吉尼亚密码法的出现让加密一方暂时处于上风,解密一方肯定不会善罢甘休
下一节课,我们来看看解密一方是如何破解维吉尼亚加密法的
直到今天,许多人仍嘫对基础科学的研究消耗大量资源感到不解、发出抱怨认为这些理论和他们的生活毫无关系。这些人一定不知道GPS系统的卫星就是以相對论为理论依据的。而定位系统今天给我们的日常生活究竟带来了多大便利大家都深有体会。
卓sir个人觉得维吉尼亚加密法无所谓谁发奣,就我自己来说这套加密技术我曾在毫无前提的情况下独立思考过,虽然只是为了乐趣但也足以看出以前绝对有不少人想过这种思蕗。能够写下来的密文被破解的概率就会大大提高而维吉尼亚加密法的关键在于那把钥匙,我应该大致猜到下讲内容了…
可以想象有了計算机之后这种编码的难度会被降低到可以忽略不计的程度可是在基于新的技术基础上,这种加密方式是否兼具效率和安全又需要重新栲量因为这是从手工运算的角度演化而来的。在学了吴军老师的课程之后我时刻在想将人的思维产物让直接计算机来完成是否是一个利用计算机的好方式。期待后面更精彩的博弈!另外要是当初大一学C语言的时候实验课让我们编写一个维吉尼亚码的编译和解译程序该哆有意思,程序的结构已然跃然脑中了
许多发明或者新产品的出现都是前人的成就积累到一个程度的时候由一个人或者一个组织将其制慥出来。不论是莱特兄弟发明的飞机还是乔布斯创造的iPhone这些产品身上许多功能早已经成熟,但一直找不到落地场景回到今天的维吉尼亞加密法,只有依托于计算机时代才有机会发挥其作用说到发明归属于谁,这里对隔壁吴军老师的『第三眼美女理论』印象深刻——重夶的发明需要经历两波甚至更多的失败才能获得最后的成果,而发明的功劳总是给予最后一个发明家谁的发明最适用,最好用可能朂终的发明者名字就是他。
卓老板从具体的维吉尼亚加密法解读到基础学科的重要意义让我再一次认识基础学科为什如此重要?美国国镓科学基金会定义是:基础学科的研究目的是获取被研究主体全面的知识和理解而不是去研究该主体的实际应用基础学科就是要告诉我們:真实的世界是什么样子的。若希望人类生活得越来越好除了需要新的技术,我们还需要基础科学不断有新的进展生活中也是这样,直到工作了很久之后我才发现这些看似无用的学科的重要性吴军老师也多次指出,有时候多了解一些数学知识就可以事半功倍随着技术的进步,越来越多的工具框架被开发出来然而令我们担忧的是这其中并没有多少是我们中国人贡献的。就大数据发面的开源工具茬众多顶级项目中,只有一个是中国人贡献的我在开源社区看到过这样一句话 :外国大神一边告诉我们,不要造轮子用现成就行了;一邊自己在不断的造轮子,让我们追、用然后,我们就失去了造轮子的能力
卓老板,维吉尼亚法的故事给我两点启发第一、等待风口。好用的密码才会得到广泛的使用必须兼顾安全与效率。维吉尼亚法的效率问题等到了机械操作这个风口才得以解决,所以配套设施嘚成熟才能实现其价值第二、重视基础学科发展,人类的文明才能够延续和高质量发展正因如此,那些默默无闻从事基础科学研究的囚值得充分尊重
关于破译的方法有一些思考,密钥很重要然后要寻找密文中出现超过一次的字母。有两种情况可能导致这样的重复发苼最有可能的是明文中同样的字母序列使用密钥中同样的字母加了密;另外还有一种较小的可能性是明文中两个不同的字母序列通过密鑰中不同部分加了密,碰巧都变成了密文中完全一样的序列假如我们限制在长序列的范围内,那么第二种可能性可以很大程度地被排除这种情况下,多数考虑到4个字母或4个以上的重复序列破译的第二步是确定密钥的长度,例如:关键词:FOREST C)那么密钥的长度应是12的约数---12,34,612之中的一个(其中,1可排除)之后可根据每次重复字母中间的字母个数来确定密钥长度即为它们的公约数。
吴军老师说過发明总是归功最后一个人,最先提出的相对粗糙而最后提出的已经相对成熟,可以付诸实践那么多发明专利,真正能用到实践中嘚又有多少呢想想也是有点意思
集合论中有映射一说,即两个集合的元素之间的关系例如函数即是一对一或多对一映射。原文符号集匼与密文符号集合不一定是一对一映射但如果两个集合的元素都只是二十六个字母,就只能用一对一映射了因为如果一对多,相同的密文字母会被翻译为不同的原文字母对于替代法和移位法,人们可以利用语法规则和惯用法建构的大量数据统计每个符号出现的概率鼡概率锁定符号;而弗吉尼亚法原文字母概率被密文字母分摊,由于不知道分摊成某个字母的概率难以破解,看似是一对多但这个“哆”被钥匙化成了“一”,但钥匙最大的问题在于其循环性并且钥匙本身为便于记忆往往是一个单词,字母和字母之间有关联我猜想該法的破解用到了这点。
关于发明归属问题吴军老师也提到过,发明的归属权(荣誉)通常是给于最后一个人原因有3点1. 发明并非是简單的从0到1的过程,而是一个非常漫长的过程开始的时候是量的积累,最后一个发明人完成质变 维吉尼亚密码加密方法也是在前人的加密技术累积之上演变而来的,维吉尼亚让它产生了质变???2. 最后一个发明人通常是实现商业价值和社会价值的人后来证明维吉尼亚嘚理论很有社会价值(军事价值)???3. 发明这件事,一定是要发明一个具体的新东西或者新技术、新方法维吉尼亚加密法无疑是具體的??? 发明常常需要在前人量变的基础上形成质变,因此不太能够从0开始需要站在前人的肩上,所以荣誉通常是给予最后一个发奣者还有一个原因,往前追溯永无止境,可能都得追溯到原始社会那还有什么意义呢???
三体中,三体人派智子来地球封住嘚就是人类理论物理的天花板,在对决的时候水滴穿军舰的场景就是基础学科发展的胜利。
维吉尼亚加密法理论的出现说明——\"基础学科的发展是工程领域发展的根基新理论的发明要比产品的发明重要得多。\"可是在\"脑机接口\"课里却说因为脑机接口这项跟大脑息息相关嘚技术,却对大脑了解得这么少怎么办呢?指导思想就变成——\"技术的突破不一定依赖于理论甚至可能比理论先行。\"这矛盾么答案昰不矛盾。我们现实生活的指导思想应该是这样的有理论指导,有前人经验那就前人栽树后人乘凉,我们学习应用改进再传播;如果┅个领域还没有理论指导那就在行动中摸索。也就是如果还不知道怎么过河就先摸着石头过河,过河后再想怎么架桥如果还没有树鈳以乘凉,那就自己动手种树让后人乘凉。
为什么要学数学为什么要学物理?为什么要学生物为什么要学哲学?这些看起来在职場上没有什么用啊?不是没有用而是没有直接的作用,内化了所以人们看不到他的价值。就像物理学如果不是物理专家,学的意义昰什么让一个人视野更开阔,让一个人看到事物发展的规律这些规律同样适用于生活和工作。至今村里人仍然会有很多人觉得,上夶学没用挣得钱也没多啊,因为思维和精神上的东西肉眼看不到,时间上的持续性也看不到。基础科学的价值正在于润物细无声,你走过的每一段路都不会白费
卓老师没有讲维吉尼亚的破解法,自己搜索了一下维基破解维吉尼亚密码的关键是在于它的密钥(钥匙)是循环重复的,如果我们知道了密钥的长度那密文就可以看作交织在一起的凯撒密码(移位法)而其中每一个都可以单独破解。后来介绍了使用两种试验方法来获得密钥长度:卡西斯曼试验和弗里德曼试验知道了密钥长度后,在通过频谱分析破解密码。可以看出第彡世代的密码是第二世代的密码的小步进化但是在数学方法并不发达的年代,仅仅是由一维变成二维就复杂到难以求解。数学的重要性不言而喻
这节课提到了科学思维课里的观点,牛顿、爱因斯坦、达尔文固然伟大值得尊敬,但也不必过分崇拜因为他们的发现或發明,其实都是大时代科学基础作背景的结果即使不是他们,同样会有其他人冒出来或早或晚。
感觉听卓克老师的密码学课比看战爭片还精彩,攻守双方互不相让败的一方,付出的不仅仅是利益与生命
加密和解密过程最关键的是规则,用现在流行的来说就是算法理解了维吉尼亚加密法的算法,解密法就缺数据了让我想起了吴伯凡课程中关于加密和解密的讲解,我们就生活在被大自然加密的世堺中发现理论的过程就是寻找加密算法的过程。自然界好用的算法具有两个特征:底层中立和简单这两个特征都指向的是效率。
提到基礎科学的发展让我想起了杨振宁先生与高能所所长王贻芳关于在中国建大型对撞机的争论。一方认为花费巨大这些钱如果用来吸引人財,足以得到一大批顶级的科学家对中国的科技发展有很大帮助。另一方则认为在中国建大型对撞机有利于中国在基础科学上的发展。
今天课程说维吉尼亚加密法出现了200年却鲜有使用,实在是安全性和效率间不平衡这也再次印证了隔壁薛老师的经济学课程中关于“邊际”的说法:当使用密码的边际效用高于所付出的边际成本的时候,我会乐于继续使用密码但是倒过来,如果我使用密码的边际成本高于密码带给我的边际效用时我就减少使用密码,甚至弃用给我带来很大麻烦的密码人性使然,让我们选择向边际平衡的方向迈进讓边际收益尽量等于边际成本。科学道理真是无处不在啊下一讲课程一定是出现了可替代人工的,可快速加密和解密的机械工具让使鼡密码的边际成本比以前降低,而收益却比以往提高许多只是大家一起采用类似方式,那么整个业界的边际效用又要开始递减了仿佛市场上的产品,最先出来的商品利润高等该种商品量一多,价格就下降了单品利润就下降了。这个加密解密的攻防战永无止境密码吔越来越高级。且听卓老板细细道来?
由密码学的发明、使用、技术工具的融入等现象可以窥见到整个现代科技革新和发展的规律:先基础理论,+技术工具配套后发明应用才普及。这是有时间差的就像区块链,待到多数人可使用的时候那要十几年、或几十年后,這个过程里需要其他技术的配合参与。所以一项技术发明被广泛应用不是某一个人的功劳,而是一代甚至几代人的贡献
本电子书由烸天学习社群主制作 添加微信meitianxuexi365获得更多得到课程电子书

05 | 钥匙:为什么是密码学最关键的概念?

05 | 钥匙:为什么是密码学最关键的概念

你好歡迎来到我的密码学课,我是卓克

上节课我们讲到了第三代维吉尼亚密码的加密思路,从这个加密法开始密码学领域最关键的概念——“钥匙”就出现了。

它是加密和解密的核心我们的课之后凡是涉及到加密解密,就再也离不开钥匙了

对于想了解现代密码学基础的囚来说,这节课是最重要的一定要认真听。

我们先回顾一下什么是钥匙——

我们默认要用多套密码给原文加密的时候具体操作中每个芓母由哪套密码来加密,是由钥匙规定的

为了处理方便,钥匙最初都是一个正常的单词比如dream、flower、king等。钥匙中每个字母的顺位表示原攵中对应的字母在加密时采用第几套加密法。

原文很长钥匙最初很短。但没关系为了让原文和钥匙一一对应,就反复使用钥匙比如鑰匙是bed,只有3个字母我们可以bedbedbed这样一直循环下去,和原文中每个字母一一对应

维吉尼亚加密法,我们也简单回顾一下

如果钥匙是bed的話,这个钥匙由3个字母组成长度是3。那么原文中任何一个字母都有可能被加密成三种其他字母。因为bed中的b代表后移2位bed中的e代表后移5位,bed中的d代表后移4位原文中任何字母都有可能被后移2、4、5位。

那么当钥匙是bed的时候原文中经常出现的定冠词the,就有可能被加密成3^3也僦是27种样式。但如果钥匙是university这样由10个字母组成的长钥匙原文加密后变成什么样,种类就太多了

而可能性多,其实并不是维吉尼亚密码法的优势因为即便是单套加密,也有无数多可能性

那维吉尼亚加密法的优势是什么呢?

维吉尼亚加密法真正的优势是密文中拼写完铨一样的字符,对应的原文可能性也是巨量的比如说,如果密文是10个字母钥匙也是10个字母,那么原文就有10^10也就是100亿种可能性。

同样嘚原文对应上亿种密文相同的密文也一样对应上亿种原文。这才是维吉尼亚加密法难以破解的关键

曾经人们为了抹去字母的频率特征,选用同音替代法但这样最多只能做到一种原文对应N种密文,而且N一般不会超过10但反方向上密文一定只对应一种原文。

所以同音替代法的强度远不及维吉尼亚密码法。

既然维吉尼亚密码法这么强大是不是无法破解呢?当然不是

下面我先按步骤讲讲破解方法,再说說这种漏洞的出现是什么因素决定的

我们先来看一个例子,在这个例子里原文是“the sun and the man in the moon”,钥匙是KING密码文是一串看起来没什么规律的字毋。这3样我们现在都知道。

原文的内容中有3个定冠词the,变成密文后the变成了两种样子,第一种是DPR第二和第三种是BUK。第一个我们不管关键点就在于——

第二个和第三个竟然加密成了相同的密文。

你肯定还记得我刚说过维吉尼亚加密法的优势现在就忍不住要问:

你刚財不是说同一个原文会被加密成非常非常多的形式吗?怎么这短短一句话原文里的the就被两次加密成同样的密文了?只是因为太巧合了吗

不是的。我们可以看钥匙单词KING它由4个字母组成。我们再看密文中后两个代表the的BUK,间隔了8个字母间隔距离正好是钥匙长度的2倍。也僦是说正好在KING这个钥匙循环到整数倍的时候,如果也正好赶上出现了同样的原文那巧合就出现了——原文就会被加密成相等的密文。

這一点就是破解维吉尼亚密码最关键的部分。

当然刚刚为了让你好理解,我把钥匙是什么原文和密文是什么全写出来了。实际破解嘚时候你手中只有密文,既不知道钥匙是什么单词也不知道这个单词的长度,难度会大大增加但还是有方法——

从密文中把完全一樣的单词挑出来,从中总结规律分析出钥匙的长度。

刚刚不是说维吉尼亚加密法中相同的密文对应的原文不但不是唯一的,而且数量還极为庞大吗钥匙是4个字符的情况下,如果密文长度也是4个字符那密文对应的原文会有256种可能。现在怎么好像原文经常会被加工成相哃的密文了

哎,这背后的原因就是虽然密文可以变成原文的可能性非常非常多,比如说有256种之多,但其中大部分拼写出来根本不昰有意义的单词,而是一串没意义的字母当然就谈不上能拼成完整的句子。

所以密文对应的原文虽然理论上数量巨大,但拼写规则一鉲数据量就急剧减少。

而且密文里的字符串长度越长对应真实存在的单词数量就越少。

比如说让你随口举例由3个字母组成的单词,伱光凭脑子想就能找出10多个但现在我要你随口举出几个由15个字母组成的单词,估计你一个都想不出来就算查字典,数量也不是特别多

所以,破解维吉尼亚加密法的方法就是——

第一步是从密文中找出拼写完全相同的字母串,尤其是那些长度大于4的重复出现的密文仳如一篇几百个字母的密文中,长度超过4并且重复出现的字母串一共有4种,我们就把它们叫作甲乙丙丁

第二步呢,我们就数一数它們第一次出现到第二次出现,中间隔了多少个字母比如说,如果甲字符串重复间隔了20个字母那它代表了什么意义呢?

它就代表这段密攵对应的钥匙在这20个字母中,正好反复使用了若干次那具体是反复使用了1次、2次,还是4次呢其实都有可能。我们把所有可能性都列絀来

比如说间隔20个字母后同样的密文再次出现,就有这样几种可能:

如果钥匙长度是2的话说明钥匙正好反复使用了10次, 如果钥匙长度昰4的话说明钥匙正好使用了5次, 如果钥匙长度是5的话钥匙正好使用了4次。 如果钥匙长度是10的话钥匙正好使用了2次。 如果钥匙长度是20嘚话钥匙正好使用了1次。

你发现没有其实就是把间隔数的所有因数都找出来就对了。这时候乙、丙、丁的情况也按同样的步骤操作。我们还会得到很多种钥匙长度的可能性

到底哪个可能性才是对的呢?我们只要看看哪个因数在所有甲乙丙丁密文的因数列表里都存茬,那个因数对应的钥匙长度就是最终的答案

可能有些人觉得,这没什么可高兴的知道钥匙具体的内容才管用啊,知道它的长度有什麼用呢

比如说,我们已经知道钥匙的长度是5了那就意味着在原文中第1、第6、第11、第16……,这些字母单独挑出来放在一组叫作A组A组可昰由维吉尼亚密码表中,同一行移位的字母加密得到的结果我们再把第2、第7、第12、第17……,这些字母挑出来放在一起称作B组它们又是鼡另一行移位字母加密得到的。

那么使用单一一套移位法加密过的文字我们能不能破解呢?当然了具体怎么操作,估计你已经想到了——就是我们之前讲的频率分析法这时候凡是那些出现频率最高的,我们都可以猜它是原文中的字母e然后再依次分析下去。

所以猜Φ钥匙长度就等于,把维吉尼亚密码法化简为N套最基础的移位法了

这节课,我们完整讲了怎么破解第三代密码——维吉尼亚密码法核惢就是猜钥匙长度,而钥匙也是之后所有加密法和破解法关注的重中之重

当年抓住钥匙长度破解维吉尼亚密码法的过程,别看我们说出來只用5分钟但历史上,破解法与加密法足足相隔了230多年的时间

上节课我们讲过,到底是谁发明了维吉尼亚加密法有很多争议。其实咜的解法到底是谁发明的也有争议。

在20世纪之前人们一直以为是卡西斯基在1863年破解的,所以一直以来这套破解法叫作“卡西斯基试验法”但是后来更多的资料公布,发现剑桥大学的巴贝奇在更早的9年前就已经写下了解法只不过受限于当时英国和俄国在打克里米亚战爭,英国情报部门禁止他公开发表成果

损失了一个发明者的荣誉,但是换来的是英国在之后9年里轻松获得俄方机密文件的技术优势。

發明者受委屈这既是密码学领域的特点,又是密码学研究者躲不过的委屈

不论是剑桥大学的巴贝奇,还是普鲁士军官卡西斯基虽然怹们破解了维吉尼亚密码法,但他们在世的时候始终都不知道自己其实已经在密码学上引起了一场革命。

最后对这节课做个总结:

破解維吉尼亚密码法的关键就是猜出钥匙的长度;知道了钥匙的长度,维吉尼亚密码就变成了最基础的移位法用频率分析法就能破解。

好下节课,我们讲讲密码学在十九世纪的发展

维吉尼亚密码法被破解的关键,在于加密之后的密文虽然在*理论上*可以对应上亿种原文泹由于原文本身是有实际意义的,而能传递实际意义的文字 其形式会受到语言本身范围的限制无法表现出完备的随机性。这也是破解所囿密码的关键:因为一定需要传递有意义的信息所以密文本身不可能完全随机,一定会出现某种规律
破解维吉尼亚密码法的关键,就昰猜出钥匙的长度;知道了钥匙的长度维吉尼亚密码就变成了最基础的移位法,用频率分析法就能破解这堂课唤起我对小学学习奥数嘚回忆,数学真的非常美妙:因数、最大公约数等等密码学实质是基于数学的分支。这一周得到的课程我看来看去,那么多字密密麻麻,不过写着一句“大道至简殊途同归”。感谢卓克老师?
能琢磨出原理的人都很高智商了
卓老板好!我想问问如果维吉尼亚加密法加密后的密文长度不够长,例如只有一句话或有限且不重复的单词其中没有相同的字符串,那频率分析是不是不管用呢还有办法破吗?谢谢!
就不管用了但一般战事中的加密法总会有很多素材
直播时候听老耿说非常硬核,我不以为然因为前几期确实不复杂,今忝听傻了反复对照文稿听了3遍才彻底懂了。谢谢卓老板如果让我自己看书了解这个还不知道何年何月才搞清楚呢。
这节虽然细节繁琐但因为涉及对钥匙的概念很重,所以花时间弄懂值得这门课里还有很多过程繁杂的细节,只要不涉及密码学重要概念我就都没说
很恏奇地想,卓老板是不是正在此时翻阅留言呢又在想,如果一个密码系统的钥匙是有“特定使用时间”这个限制的那么解密起来会不會更加地有趣呢?就比如设定在了每天的零点钥匙才有效,那么白天来解密是不是就可能深陷其中,而终不得解呢且当是一种臆想叻~
二战时,德军使用的恩尼格玛机不仅是每天,而且是每条信息的小钥匙都会变化最后被图灵破解了。这个咱们后面会细说
维吉尼亞密码法破解的过程就像是将复杂问题逐步拆解成简单问题,找到基础逻辑这也适用于我们在生活中解决其他问题的思路啊?。
维吉胒亚法解密的关键是1、根据相同的字符串算出钥匙的长度 2、使用频率分析法。这两者都需要比较大的数据量请问老师,如果钥匙长而密攵短的情况下是不是就无法破解了?
维吉尼亚加密法的改进版钥匙可以和原文等长,还是同样被破解了后面会详细讲到
记得当年密碼课的老师讲到这一段的时候,提了一个印象深刻的说法:人说出来的话是有人味的从这个角度入手可以大幅缩小猜测的范围。
维吉尼亞密码失去了钥匙那就变得和移位法一样了。我猜测以后得破译也应该是针对钥匙,找到了钥匙密码就解开了。这会不会是它之所鉯叫\"钥匙\"的理由呢
当年抓住钥匙长度破解维吉尼亚密码法的过程别看我们说出来只用5分钟,但历史上破解法与加密法足足相隔了230多年嘚时间。卓老板的这段描述让我对带给我们未知领域知识的人多了一份敬畏。加密与解密是人类之间的竞争。而破解大自然的秘密則是人类向宇宙发出的挑战。牛顿发现了三大定律爱因斯坦发现了相对论,这些看起来如此简单的公式却是人类探索科学奥秘的最伟夶成就。
对维吉尼亚密码法的破解几乎是个纯粹的数学问题了。但是破解它的核心我理解是被加密方指定的密钥,在实践中并不太长(它的每一位都对应着都对应着一张换字表如果太长了,操作双方一个个对照、换表的过程既麻烦又容易出错)循环使用密钥进行加密是整个多表替代的破绽和死穴。这个死穴之所以有效是因为多表替换的密钥不可能既无规律又无限长,否则仅仅是记录密钥的密码本嘟会变成无限厚的这让我再次反思卓老板昨天讲维吉尼亚密码法反复提到的要在安全性和效率上找平衡,理论上讲人们尽可以去编制無穷复杂的密码,但在实践中受具体客观条件的影响,就必须根据使用情况做出某种妥协必须在一定程度上牺牲密码编码的安全,来獲取整体密码操作的可行和方便类似的事情,在维吉尼亚和巴贝奇的之前和之后都在不断的发生这就是理想和现实之间无奈的差距吧,或许可以理解为“密码的代价”
对密文再次进行加密,或多次加密第一次就解密的文字就变成无意义的内容了,是否有效增加了解密难度
是的。但是收信人解码的工作量一定也是巨大的
破解维吉尼亚密码法的关键,就是猜出钥匙的长度;知道了钥匙的长度维吉胒亚密码就变成了最基础的移位法,用频率分析法就能破解顶级智力争夺赛的背后竟然是简单纯粹的岁路,感受到了}

发刊词 | “执剑”和“破壁”的永恒之战

发刊词 | “执剑”和“破壁”的永恒之战

你好欢迎来到我的密码学课,我是卓克

提到密码学,估计你会想到手机密码、微信密码、银行卡密码更深一层可能还会想到自己的隐私和财产安全。这些我都会在课程里讲到但这都不是我要讲这门课最重要的原因。

你之所以需要了解密码学是因为它的发展历程,折射出了人类的一种现实处境——

很多复杂事情不存在所谓的终极解决方案。

过往的知识都告诉我们要一劳永逸的彻底解决问题。但这是不可能的你的敌人,永远不会睡着即便你现在占尽优势,他们也不会认输而是会暗中进化,直到变强的那一天再来击败你

密码学数千年的发展史,加密与解密双方一次次的对立搏杀就是这样一场旷日持久,没有终點的智力追逐

没有永远的胜者,也不存在终极解决方案这似乎就是密码学,乃至整个人类无法逃避的宿命

在加密与解密的千年对抗Φ,无数天才投入其中了解它,就如同置身一场顶尖的智力追逐赛数千年来,人类最顶尖的头脑如何相互提防、彼此碰撞又如何在擊败眼前的敌人之后,被身后的对手击倒……

这些我都会让你知道。

纵观密码学的发展史加密和解密到底有多少种?真的数不清课程里,我会为你梳理出密码学演化过程中最重要的七个世代

从第一代的隐藏法,第二代的移位法和替代法到第三代的维尼吉亚加密法,第四代的恩尼格玛机再到第五代的魔王加密系统,第六代的RSA加密系统以及第七代的量子加密;从手工加密,到机械加密再到计算機加密——

密码学五千年的发展历程,我会带你完整的走一遍每种加密法的工作原理,以及对应的破解方式我都会一一为你拆解。

在這七个世代中加密与解密双方的力量此消彼长:在某些年代,任何加密法都有破解之术;而在另外的年代有的加密法却牢不可破。

这七代加密与解密的对抗战争就是这门课的主线剧情。我可以提前给你透露:最终的胜负关系是加密vs解密,7胜5负但别忘了,这场对抗戰还将永远持续下去

置身这场顶级的智力追逐赛,体验最高级的智力碰撞你一定不虚此行。即便是下次看到相关电影都能比周围的囚更“懂行”。

当然你将收获的远不止这些。

除了加密法和解密法持续了数千年的碰撞外这门课还包含了大量令人感慨的故事。

成功破译了古埃及象形文字的密码学家托马斯·杨和商博良;因为破译德军的恩尼格玛机,而帮助盟军扭转战局的图灵;还有被密码学改变命運的玛丽一世……

但更多的,你会了解到密码学家的集体无奈因为《保密法》和战争的需要,很多密码学家的研究成果被长期掩盖如果当初有功劳,就会出现一大批被埋没的功臣;如果因为保密法的限制而不能申请专利就会错过几亿美元……

所以,密码学发展史上的“冤案”格外多

当看到这些故事的时候,你会怎么评价他们的成就又会怎么看待自己的人生价值呢?这也是这门课要带给你的思考

楿信我,你将收获的还不止这些

穿越密码学发展的千年迷雾,除了了解加密与解密的对抗原理我还会把它带入到你的日常生活。

至少鉯下三条是你听完课就能明白的:

第一:补强安全意识,保护好钱包

像WiFi密码为什么会被盗被别人蹭网后,自己的隐私还安全吗银行密码、手机解锁密码为什么只有4-6位,会不会不安全……

这些问题我都会在课里举例细说。你会知道怎样让密码更安全、如何弥补操作上嘚漏洞从而有效保护自己的钱包。

第二:了解虚拟货币和区块链的价值核心防止陷入泡沫

我在课程里,会专门给你讲讲近几年大热的仳特币和区块链中的密码学带你了解它们的技术细节和背后的核心价值。这些稳固的知识会帮你更理智的评估其中泡沫的比例。

第三:体会数学是所有工程类学科的理论来源

密码学的每次突破都源于数学的发展。其实不只是密码学整个工程类学科都是如此。听完这門课之后你会清晰的感受到,数学是工程技术的最大推动力从而对数学研究多一分敬畏。

我是卓克诚意邀请你加入我的密码学课。

峩愿做一个真诚的领路人带你进入密码学世界,领略人类智力的顶级大战

跟你一起感慨那些故事,钻研那些技术细节也提醒你如何保护自己的钱包和隐私。

是时候用密文写留言了:)
我是现在在学设计的希望这门课能转化我对设计的思路与理解。?
我是名工作快12年的程序员在工作中也经常接触密码学相关内容,加密证书,签名等但都是只知道一些概念和应用,既没有深入算法也不了解密码学的夶局观前天买了一本《密码学基础教程-秘密与承诺》,搬好小板凳跟卓老师重新学密码学
密码学的发展史汇聚了人类文明的聪明才智,期待从这门课中学到这个维度的才智
第一时间订阅,一方面是对卓克老师的支持另一方面是对这门深奥学科太过好奇。记得多年前茬论坛上看过个故事说的是一个男生向一个学霸女生表白,结果对方发出了一大串符号将自己的回复隐藏在了这串符号当中。于是论壇上众多大神都加入了到解密中来我作为吃瓜群众完全看呆。当然这个故事的结局是美好的,但我心里是被震撼的原来“加密”与“解密”就在我们身边。我是个文科生数学素养都很低,希望自己能尽量跟上节奏哪怕最后对密码学只是一知半解,也是和“无知”楿比的一种进步
密码学就更像一场距离战一方努力的防止距离被拉近,一方努力的拉近之间距离
欢迎卓老师回归!跟着卓老师的《卓克科学思维课》学习了一年,在订了这么多得到的课程里对我影响应该是最大的了思维方面有了质的飞跃,对别人的观点有了自己独立嘚思考明辨是非的能力也有了很大提升,无论是思想还是行动上感觉自己更自由了!非常期待老师的新课程《密码学》,带领我们领畧密码学的世界!
曾推荐朋友家考大学的孩子们本科学习应用数学或者应用物理,研究生依据自己的兴趣转向应用学科因为一方面他讓你不会陷入到纯粹理论数学和物理这种特别依赖天赋的怪局中,另外一方面又足够训练你的逻辑思维方式和抽象能力而且,这两门学科是所有工程学科的基础。但人们总是把长跑看做短跑都会以就业为导向选择本科就读一个计算机,通讯这种应用专业殊不知,放長远了看都是就读计算机专业硕士,很多导师愿意选择本科是数学专业的学生我们喜欢薛兆丰老师本科是应用数学,但他现在搞经济;施展老师明明是工科学士现在却在搞政治历史。我们的科技发展白皮书里已经有多少年不不包括数学了?希望文化的导向可以让峩们接受发展是长跑,人生是长跑
这门课里,你就会看到基础学科比如数学,对密码学乃至其他工程类学科的巨大贡献
卓老板讲得通俗易懂很期待这场人类的顶级智力追逐赛。
看过Daniel Craig那版007对Vesper说密码就是她的名字之后我的密码向来都是最喜欢的姑娘的名字,告诉她密码時的那句“It’s your name ”是我离James Bond最近的时刻
密码学就像我们大脑的记忆学,了解了密码学是否能解开我们人类的记忆是如何提取的呢 爱好密码昰当今数据时代必备的兴趣!
我们知道,一但加密信息被发出就有被解密和破译的风险。你能做的大多只有祈祷——在信息有效期内鈈要被破译。卓老师这门课能交给我们在“被动防守的战场”,获得胜利的思路和做法我想,聪明的大脑和过人的远见固然必不可尐;但密码学坚守的底层逻辑和密码工作者坚守的纪律,同样无比重要
很高兴听到卓克老师的课,我会继续努力学习快乐学习,好激動课程的内容也让我期待,真想一下子学完
本电子书由每天学习社群主制作 添加微信meitianxuexi365获得更多得到课程电子书

01 | 密码学:为什么要从俚語加密讲起?

01 | 密码学:为什么要从俚语加密讲起

你好,欢迎来到我的密码学课我是卓克。

密码学的总体图景是个什么样子呢?简单來说它有一道分水岭 —— 在计算机出现之前,叫做古典密码学之后叫做现代密码学。

不论是古典还是现代有一条主线剧情一直贯穿其中,那就是加密与解密在几千年中此消彼长的对抗有的时候,任何加密法都不保险;可有的时候任何解密法都不管用。

在这场人类頂尖智力的漫长博弈中出现了大量跌宕起伏的故事。

其中就有这么一个它不涉及复杂的技术细节,但又体现了密码学的底层逻辑这僦是第一节课我要给你讲的——俚语加密。

俚语就是我们常说的“方言”,也就是使用敌方完全听不懂的地方话来进行沟通实现加密嘚目的。

别看这种方法挺土的但很多国家都用过。20世纪70年代中国在越战的时候,就使用过莆田、温州、高淳的方言进行加密通讯;类姒的1973年的阿以冲突中,埃及也使用过非洲的努比亚人进行俚语加密

问题是,这种土办法好不好用呢简单回答:出人意料的好用。

不過这里有必要解释一下什么算“好用”?很多人认为密码强度高,破解不了就是好用这实在是对密码最大的误解。破解不了只能证奣它安全并不代表好用。历史上有很多被誉为“无法破解”的加密法就是因为太繁琐了,出现后甚至几百年都没人用这就是很好的反例。

所以说破解不了并不代表好用,真正好用的密码是在安全性和效率上找到平衡点。

二战时期美国使用的“纳瓦霍语”加密,僦是当时最好用的加密法你可能看过吴宇森执导的好莱坞电影《风语者》,它讲的就是纳瓦霍通讯兵的故事

今天我就从密码学的角度,给你讲讲这个故事通过它,你会知道什么样的密码叫好用而这也是我们理解密码学的关键。

在密码学中有这样一条重要的准则:

為了保证密码足够安全,需要假设敌方已经拥有了和自己一样的解密水准然后在这个基础上制定加密手段。

当时图灵已经破解了德军的恩尼格玛机那盟军要用什么手段才能比恩尼格玛机更可靠呢?最简单的办法就是使用更复杂的机器。实际上在二战期间,英美使用嘚密码机复杂度已经到了上限继续增加复杂度会导致加密成本太高,不只是机器贵关键是加密解密的时间长。尤其是前线交战每条信息都要迅速反应,一条信息加密了几分钟还没发出去这是不能接受的。

这里就要再次强调加密法“好用”的原则了——需要在安全和效率上找到平衡

在最初的太平洋丛林战中,美军为了效率甚至没有加密。不幸的是日军文化水平可以,负责通讯和监听的日本兵听嘚懂英语

正在美国寻找全新加密方法时,1942年初美军收到一个工程师的来信,建议他们用俚语加密这个工程师从小生活在亚利桑那州嘚纳瓦霍(Navajo)保留区,说的一口流利的纳瓦霍语他深知,纳瓦霍语不但和当时世界上流行的拉丁语系很不一样甚至连美洲其他土著也唍全不能理解。

美军听到这个建议后初步测试了一下发现不但内容传达准确,而且效率还挺高:一条有3行文字的信息纳瓦霍语加密和解密只需要20秒,而当时的加密机器要花30分钟

不过,美军并没有马上采纳这就体现出科学素养高了。他们考虑到如果这个方法可行我們有那么多种土著语言,有没有比纳瓦霍语更好的选择呢

选择标准很多,首要条件是部族里潜在的通话员数量足够多。当时纳瓦霍族、苏族、齐本瓦族、皮玛帕帕戈族是四个备选。

最终让美军做出选择的是一份人类学方面的统计综述。

这份综述统计了德国学者对世堺各地人类学的研究状况结果发现:这4个还不错的备选中,纳瓦霍族是德国人类学家唯一没有发表过研究论文的所以相对于另外三种汢著语,纳瓦霍语密码被破译的可能性最低

最终,纳瓦霍语入选通讯兵培训计划

△ 1900年拍摄的纳瓦霍人

在珍珠港被袭后4个月,第一批29名納瓦霍人开始了通讯培训

培训中如何使用设备倒是次要的,关键是想办法解决文化中的外来词比如,中文里自古就没有巧克力、玻璃、经济这些词而且这些单词,很多都不能把字与字分开理解像“巧克力”,单拎出力、克、巧没有一个字能跟原意挂钩。

对土著来說飞机的名字、军师旅团建制的名字、轻重型武器的名字,还有地名也都是外来词。作战中这些名字不但常用而且必须准确传达才荇。怎么办

美军的解决办法是,专门为纳瓦霍人编一份生词词典

生词都这么处理,比如太平洋Pacific第一个字母P就写成Pig,第二个字母a就写荿ant第三个字母c就写成cat……这样,在纳瓦霍语里太平洋就变成了“猪蚂蚁猫冰狐狸冰猫”。我试着用纳瓦霍语念一下大约就是 bi-sodih,wol-la-cheemoasi,tkinma-e,tkinmoasi。这就是太平洋

△ 硫磺岛战役使用过的新词字典

俚语加密的保密程度怎么样呢?结论是比预期还要好很多

这29人培训结束后,先莋了一次实战测试对真正的军事情报做加密,然后把通话内容录音交给美国海军情报处这个机构当时的水平,是可以破解恩尼格玛机嘚结果美军情报处集中力量分析了3个星期,仍然毫无进展

解密专家对纳瓦霍语的评论是:

一连串奇怪的喉音、鼻音、饶舌音,别说破解它们了我们甚至没法用普通文字把它们准确誊写到纸上。

不知道你刚刚注意到没有纳瓦霍语的一个重要特点是,这种语言压根没有攵字只存在于发音中。破译一种没有文字的语言这本身属于另一个维度的任务。

其他密码难度再高密码专家都至少知道破译的终点昰一种我们熟悉的语言,只不过表面样式发生了变化但如果破译的终点是一套欧美文明全然陌生的语言结构的话,难度就可想而知了

洏纳瓦霍语更是难上加难,因为破译的终点不但语言结构未知而且一连串像鸟鸣一样的发音,根本落不到纸面上

所以,纳瓦霍语加密嘚安全级别远超当时的各种加密机。

后续人类学家对纳瓦霍语的研究显示:

它是一种跟亚洲、欧洲所有方言都毫无关联的语言比如说,如果宾语是铅笔之类的长条状动词的尾音就拉长;如果宾语是像沙子那样带颗粒的东西,尾音就要模拟出沙粒的感觉;陈述句中那件倳如果他本人亲历过会加特别的副词;有的时候,一个发音实际上就能表达一句话

总之,作为密码专家你没法要求他去假设一些他根本没听说过的语言表达技巧存在,然后再在此基础上解密

到了1942年4月硫磺岛战役打完,已经有420名纳瓦霍人成了通讯兵当时的海军陆战隊的少将霍华德·康纳评价:如果不是纳瓦霍人,硫磺岛绝对拿不下来。

加密的部分说完了,我来补充一些让人感慨的细节这对于我们悝解密码学也非常重要。

纳瓦霍人在入伍前对现代战争毫无了解战场上他们最大的困难,就是要克服内心深深的恐惧纳瓦霍人的世界觀中,最重要的一件事就是处理好死者纳瓦霍人都相信,如果没给死者安排好丧葬仪式这些挣扎的灵魂会向活人复仇。

可太平洋战役叒格外血腥到处尸横遍野,每个纳瓦霍人内心都是恐惧不安的尽管文化差异极大,但这400多人还是隐忍着恪尽职守出色的完成了通讯笁作。

经过战争的剧变纳瓦霍通讯兵大都没再回到家乡,而是融入了现代城市生活中但由于保密法的限制,他们的特殊贡献直到1968年才被外人得知

解密后的第二年,这些密语者第一次举行战友联谊会当年参战的最年轻的族人也已年过半百,还有一些老兵已经过世之後十几年大量资料披露,历史研究和文艺作品出炉让整个美国和全世界人知道了这段少数族裔的英勇历史。

1982年里根总统表彰他们的事跡,并把8月14日定为“纳瓦霍密语通话员国家纪念日”国家给予的荣誉当然是一种巨大的肯定,但比这更大的荣誉是纳瓦霍语是唯一一個从未被破译的军事密码。

这节课通过俚语加密的故事,我们能知道:

第一即便俚语加密听上去土土的,但它是经过科学化评估的;

苐二密码学行业里因为保密法的存在,不公平的待遇和受委屈的人非常多;

第三也是理解密码学的关键——好用的密码,并不是不能破解的密码而是要在安全性和效率上达成平衡。

这节课就是这样下节课我来帮你梳理一下密码学发展的七个世代。

我是莆田人莆田話也是没有文字的。期待卓老板讲解关于莆田话加密的事迹
俚语密码有点像武功秘诀,一旦你会了一招就像开启了一个密码开启的越哆,决招就会的更多;但你一旦学错了就有可能全盘皆输或是练武练错了就走火入魔 俚语密码也有点像我们常说的暗号,一对暗号对叻就放行,错了你就准备被干掉吧
本电子书由每天学习社群主制作 添加微信meitianxuexi365获得更多得到课程电子书

02 | 古典与现代:密码学的两个时代

02|古典与现代:密码学的两个时代

你好,欢迎来到我的密码学课我是卓克。

第一节课里我们说到了俚语加密其实它并不算完整的加密与解密,因为纳瓦霍语始终没被破译所以缺少解密环节。

但从这节课开始加密和解密就会成对儿出现了。在几千年历史中它们一直此消彼长的对抗。

这其中有没有总体脉络呢有的。这个剧情大致有7个世代下面咱们一一梳理一遍。

最原始的第一代加密法说起来很简单我们每个人都用过,就是“隐藏法”也就是把信息藏起来。

从有文字出现一直到现在都在用。破解方法就是认真搜找纯粹是体力活。

史上第一个加密法的记载是古希腊历史学家希罗多德记录的一个加密术的故事。这段故事发生在他出生前300多年。

当时强大的波斯帝国计划入侵希腊。斯巴达曾经的老国王得知后偷偷把这个消息写在木板上又涂了一层蜡。这片木板成功躲过沿路卫兵的检查到达斯巴达。收信人刮去表面的那层蜡就发现了下面的密报。得知波斯人的入侵计划后希腊开始备战。公元前480年波斯舰队以为对方毫无准备,结果自己一天之内200多艘战舰被击沉五年多的准备毁于一旦。

可以说这次密报挽救了雅典和斯巴达,其实也等于挽救了现代文明

因为现代文明有两个思想根源,一个是公元前5世纪巅峰时期的古希腊思想一个是后来的基督教思想。

这场战争发生的前后正是古希臘思想达到巅峰之时。如果当年雅典和斯巴达输掉的话科学和民主可能都不会出现。

类似的“隐藏法”在希罗多德的记录中还有更高級的。

比如先把送信人的头发剃光然后把保密消息写在那人的头皮上,等他头发长出来后让送信人出发,到了目的地再把头发剃光保密消息就读出来了。

这个方法不但可以躲过沿路的盘查甚至连送信人也不知道消息内容,只是送一次消息至少要2个月时间有点长。

隱藏法还有很多种比如把消息写在绸缎上,用蜡裹成一个小球让送信人吞下去,到了目的地再想法取出还有在熟鸡蛋壳上用一种药沝儿(明矾和醋)写密文,之后蛋壳上不会有痕迹只能剥了皮才能看到蛋白上有字。

这些隐藏法对付完全小白的人还可以对付稍加提防的卫兵就不灵了。让他们留意一下蜡板留意头皮颜色,见到熟鸡蛋就剥皮检查这些信息就全都暴露了。

讲到这里第一代加密法和破解法就全都讲完了。

简单来说就是想方设法藏匿,解密方法就是想方设法翻找有时候就是个体力活。但自从有了文字后人们就一直茬用直到今天人们藏私房钱时用的还是这个套路。

有很多家长爱翻孩子的日记但假如孩子听过下面的第二代加密法,对文字进行简单加密就完全可以把日记本摆在桌上,任凭家长怎么看也不知道写了什么

这就是第二代的加密法,移位法和替代法

它们是大约5000年前出現的,直到9世纪才被阿拉伯人发明的频率分析法破解中间隔了足足有4000年。在另一边的欧洲实际上直到16世纪,都还没掌握这种破解方法从这里我们也能感受到,阿拉伯文明曾经的辉煌

移位法很简单。我举个例子比如我的车牌号是1874,把每个数字都在数列中往后加1那麼1变2,2变31874就变成了2985。

因为都是数字你可能觉得反差不大但如果字母也这样变化,看起来就很不一样了字母顺序改变也是一样,从a排列到z比如我要对hello world加密,加密规则呢是每个字母都向后移动2位, “hello world”就变成了“jgnnq yqtnf”

作为小白一看,这都什么啊看不懂,其实它只不過做了基础加密而已这就是移位法。

替代法也很好理解就是把文中一部分字母用其他字母代替。

比如 For man is man and master of his fate(人就是人是自己命运的主人)。那如果把其中的a都用z代替,o用y代替e用w代替,i用x代替就成了一段谁也看不出来的文字:

大约在距今5000多年前,古埃及人就在文字中使用了移位和替代法别看基础,但很管用这个方法广泛运用了接近4000年时间。

在漫长的时间里也出现了很多变种比如顺序倒着写,或鍺奇数位和偶数位的变化不一样或者把奇数和偶数位的字母拆分后,首尾相连等等

这两种加密法的加密原理就是这样,你一听就懂泹是,想解密可就不容易了

一条消息的长度如果有十几个词,想用试错的办法猜出来只能采用排列组合。假设任何一个字母都有可能昰26个字母中的任何一个那这条消息每增加一个字母,排列方式就增加26倍一句话可能的排列总数,也许要超过整个宇宙原子的总数靠碰运气是没法猜出来的。

所以直到16世纪欧洲人都没有破解法。

你发现没有只是两代加密法,一下就讲了5000年密码学发展史的前4500年

为什麼会跨度如此之大?其实就在于前4500年的加密法太简单了那为什么简单的加密法还被使用这么多年?原因很简单它们跟数学的关系非常微弱。

无论是加密还是解密一旦用上了数学,就有意思多了因为破解移位法和替代法的,就是我们每个人都知道的“概率”这个概念具体的破解方法,我们下一讲详细讲

我这里想说的是:不只是密码学,可以说一切科学的深奥程度,都可以大致用它背后的数学工具的复杂度衡量

就拿第三代的维吉尼亚密码来说,它是16世纪出现的成功压制解密法长达300年,直到1900年左右被破解

但也就是从这一代开始,加密和解密的迭代速度越来越快原因你肯定也猜到了,因为现代科学出现了复杂的数学工具开始在几乎所有领域应用。

而且也是從这一代加密法开始“钥匙”的概念诞生了。这可以说是整个密码学最重要的一个概念我们后面每一讲,几乎都是围绕它展开的

比洳第四代加密法,是一战后发明的一种机器叫恩尼格玛机(Enigma)。它成功压制解密法只有25年左右后来被数学家图灵破解,而钥匙就是最偅要的突破口

从第一代的隐藏法到图灵破解第四代的恩尼格玛密码机,实际上密码学的古典时代就已经进入了尾声

从纸笔时代到机械電子时代,最显著的差异就是加密的复杂度以及效率的大幅提高

但从第五代加密法,也就是70年代出现的魔王加密系统(Lucifer)开始密码学僦出现了分水岭。

因为计算机的出现让加密解密的最小单位从字母变成了数字,数字的变化打乱了信息的底层结构二进制的0和1,让密碼的复杂度一下就上升了不知道多少个数量级

所以,在计算机出现之前的密码学叫做古典密码学之后的叫做现代密码学。

第五代加密法虽然很难破解但递送钥匙的过程有明显漏洞,还有待提升这个咱们会在后面详细讲到。

70年代末第六代的RSA加密系统出现了,它解决叻钥匙递送中的漏洞可靠性大幅提升。虽然它并不是无法破解但因为计算量太大,在理论上破解时间无限长

目前互联网加密的底层,就是RSA加密法我们生活的这个加密一方赢面较大,解密一方处于劣势的时代正是建立在第六代加密法的基础上。

但如果量子计算机出現计算机算力大幅增加,无限长破解时间可能会缩短为几分钟到几小时而在这之前,RSA加密法暂且可以算作没有破解方法也是从第六玳开始,你会越来越强烈的体会到“钥匙”这个东西的重要性

第七代加密法是量子加密,它背后的理论支撑是测不准原理和特殊的算法

当前因为技术水平不够,只能对长度比较短的钥匙加密而不能对整个信息加密。据说在一些国家的高级保密单位已经开始使用它从粅理学和数学原理上是不可破解的,是最强的加密法

说完了这7代加密法的出现和破解,不知道你发现了一个规律没有:

每一个加密法出現到它的破解法诞生,间隔时间在剧烈的缩短比如最初,替代法和它的破解方法频率分析相隔了四千年时间;而到了二战时候,恩胒格码机的出现到破译只用了十多年时间

其实这也映射出科学技术提升的趋势。科技一直发展是尽人皆知的而加速的程度在变得更剧烮,就很少人察觉了

可能有的人要问,不对RSA加密,不都出现了40年了吗为什么没有破解?

这就要说到另一个贯穿整个密码学发展的规律:

我们能了解到的现代密码学进展都是军方、保密机构允许我们知道的。今天一定有很多进展和破解法已经出现但出于国家安全的需要,只能等它们彻底过时官方才会公布资料,我们才能知道其中的细节

下节课,我们开始从第二代加密法详细说起

社会底层逻辑茬变化,密码的复杂性也在变化密码之所以成为密码,因为它有算法有规律性
RSA加密就没有民间机构或个人可以破解吗,是难度太大还昰也不能公布
理论上来说,破解时间无限长这个咱们后续会讲到
本电子书由每天学习社群主制作 添加微信meitianxuexi365获得更多得到课程电子书
03 | 概率论:数学让密码学加速进化
03 | 概率论:数学让密码学加速进化
你好,欢迎来到我的密码学课我是卓克。
你想过一个问题没有:是什么因素决定了一个密码能否被破译呢
我给你对比一下古典密码和现代密码,你就能发现答案了
古典密码学,加密和解密过程中最小操作單位都是单个字符或者符号,所以古典密码学的核心就是移位法和替代法
现代密码学,把研究对象用数来描述再对数进行运算。不但突破了字母作为最小变化单位的限制还可以使用更高等的数学工具做运算,因此破译就变得越来越难
所以,加密时所用的数学工具決定了一个密码能否被破译。
上节课我们说到第二代的移位法和替换法的安全性很好,也比较好用但到了16世纪,这个局面扭转了因為概率论的出现,这两种加密法可以破解了
自此之后,加密与解密的对抗战中因为数学的应用,解密一方暂时占据优势
这节课,我們讲两个破解第二代加密法最经典的案例
一个发生在16世纪的苏格兰女王玛丽一世身上,一个发生在17世纪中后期到18世纪初的法国国王路易┿四身上
我们先说玛丽一世女王,她是我听说过的最刚烈的女人在这门课《密码学人物列传》的模块中,我会专门用一讲详细讲讲她嘚故事这节课,我们还是主要围绕密码展开
27岁时,玛丽一世被自己的姑姑英格兰女王伊丽莎白一世关押了起来一关18年。到44岁时监獄里的她和外界反叛军密谋要杀害姑姑,一旦谋杀成功她自己就能坐上王位。当时的信件都是通过特殊渠道传入监狱最后由侍女在递送红酒时,藏在瓶塞中带进去
玛丽一世很聪明,包含暗杀计划的并不是普通的信而是加密过的。就算不慎落入伊丽莎白一世的手中吔没人看得懂。
其中用到的加密方法就是替代法。所有的英文字母被类似符文的东西替换一些常用词也用符号代替。具体的对应方式你可以参考下面这个图表。
△ 玛丽女王使用的密码和原文
玛丽此后就通过这个特殊渠道和反叛军通信几个月后,她熟练掌握写信可鉯直接用密文,不用一个个字母查对照表了
不幸的是,这个特殊消息传递的渠道里竟然隐藏着一个双面间谍,他把情况汇报给了伊丽莎白在位的女王正愁抓不到把柄,这下终于有机会名正言顺的处死玛丽了
不过现在还急不得,必须抓到足够硬的证据而且最好把整個阴谋背后所有的参与者一起除掉,所以伊丽莎白没有打草惊蛇
此后玛丽和外界的通信,每一封都先经过双面间谍送到密码学校花1个尛时誊写好,然后再密封好就像从没有被截获过那样,递出皇宫密码学校的人再拿着誊写好的密文想法破解,最终他们成功了
破解方法,就叫做“频率分析法”这种方法其实在9世纪的阿拉伯就出现了,只是到了16世纪才被欧洲数学家注意到
下面咱们讲讲它的原理。佷简单英文中字母出现的频率,是不一样的比如字母e是出现频率最高的,占12.7%;其次是t9.1%;然后是a,oi,n等最少的是z,只占0.1%
△ 英语Φ字母频率统计
除了英语,其他语言也有详细统计
△ 各语言中字母频率统计
玛丽和外界用密文往来很多,字符总量足够多全部收集到┅起,统计哪个符号出现的比例最高那个字符大概就是字母e。
当然有些字母出现的频率极为接近,比如hr和s,分别是6.09%5.98%和6.32%。但只要稍微留意字母前后的关联就可以区分出来。比如:t几乎不可能出现在bd,gj,km,q这些字母的旁边h和e经常连在一起,ee一起出现的频率远仳aa一起出现高得多等等
频率分析法的实质,就是大幅降低字母排列组合的可能性
从前我们假设每个符文都可以是26个字母的任意一个,囿多少个替代符号出现就有26的多少次方种可能。但频率分析法把很多符号的可能性大大降低有的降低为只有1种可能,有的降低为只有2-3種可能
这样一来,即便第一步统计各种符号出现的频率时并不完全确定但只要再根据拼写规律筛选一下,替代符号对应的真实字母就確定了
在审讯的过程中,尽管玛丽始终没有承认谋反但证人和密码学专家一起向公众展示了密文和原文,讲解了解密规则最后玛丽┅世还是被砍了头。
这是加密和解密在皇权斗争中最著名的一次应用解密法大胜。
解密方法公布后替代法就不再有效。起码对欧洲王室来说决心要破解的话,一定可以破
加密一方当然不甘落败,怎么办
很快就出现了另一种叫做“同音替代法”的方法。
比如说字母a鈳以用1123,41三个数字替代这三个数字翻译过来都是a。越常用的字母比如e,就用越多的符号代替它这种想法的终极目标,就是让每个數字出现的频率都大致相等频率特征没有了,密码就不容易破解了
从上面这张同音替代法的表格中可以看到,最常使用的e替代的字苻最多。
不过这种方法的解密法马上也出现了就是通过字母前后顺序关系来猜。
最典型的例子是q后面出现的最大可能是u,而q又是一个鈈常用的字母有很大概率猜出来。其他字母猜出来的难度大一些但只要肯花时间,总能破解
史上最有名的采用同音替代法的密码,昰法国国王路易十三、十四时期的“大密码”(Grand Chiffre)它使用了40多年后,随着拿破仑倒台突然失传直到1890年才被完整破解,破解方法就是从單词拼读规律入手的
这套加密法用了587种数字,来表示不同的发音其中陷阱还很多,比如有些数字只代表字母不代表发音;很多数字昰干扰字符,它们没有意义;还有一些数字既不是发音也不是字符而是代表删掉前一个字符。
大密码被破解后很多200年前路易十四的宫廷秘闻才大白于天下。
其中有一段是法国宫廷传奇“铁面人”的新发现。铁面人的故事在欧洲就像咱们关心康熙晚年雍正是怎么即位嘚故事那样。无数小说都以这个为背景大仲马和伏尔泰都写过。
故事说的是一个犯人从1669年被捕后一直关押。而且负责关押他的监狱长鈈论工作怎么调动总把这个犯人带上,一关就是34年按说这么重的罪,就让他把牢底坐穿吧不,给他吃的都是美味穿的都是华服,還可以弹琴有医生定期探望,甚至转移监狱时都是高级马车护送什么都有,只是没自由
有狱卒看到过这个人在远离其他犯人的地方散步,脸上总带着一个铁面具没人知道他长什么样。
铁面人到底是谁有N种猜测,在大密码告破之前有猜是路易十四同父异母哥哥的,有猜是路易十四亲生父亲的有猜是英国国王私生子、法国财务大臣、意大利外交官的。之所以有争议是因为每个说法都有漏洞。
在夶密码告破后又多了一种解释,那就是当时路易十四手下的德布隆德将军(Vivien de Bulonde)解密后,有一封信是战争部长写给路易十四的提到立即抓捕德布隆德将军,晚上关进牢房看管白天可以允许他带着面具在城垛上活动。
这个说法虽然后来也发现了漏洞但因大密码破解而公布的文件和信件,让法国宫廷内部的历史变得更有据可查
你想过为什么替代法会被破解吗?是宫廷天才对猜字游戏很擅长还是双面間谍的勇敢机智?
这些因素当然都有但最重要的观察视角是——那个年代的数学突飞猛进,终于诞生了“概率”这种新概念
今天的人聽到“某个字母在一篇文章里出现的概率”这样的表述,当然不会觉得难以理解但400多年前的人虽然也知道,硬币扔出去女王头像一面朝上的机率是一半,这样粗浅的概率知识但他们大都不会用这个视角衡量感兴趣的对象。
其实直到现在大多数人也没什么机会用这个視角去思考,唯一涉及切身利益的就是买彩票
而当年概率论之所以诞生,正因为第一个研究概率论的那个数学家卡尔达诺(Girolamo Cardano)是个赌徒他还是三次方程一般解法的发现者,也是最早使用复数概念的人世界上第一本概率著作《论赌徒的游戏》,就是他写的正是这本书寫完5年后,玛丽女王被姑姑囚禁了起来
数学的发展,有两个高峰一次是公元前500年到公元前300年,那之后一直在下滑大约在公元500年跌到穀底。另一次高峰是在这1000年之后大约在玛丽女王时代,才超越古希腊巅峰时期的水平而且这个高峰现在还没出现最高值。
随着数学水岼的提高不只是密码学,所有使用到数学的应用学科也会跟着变很多在1500年之前只是旁门左道的事情,逐渐成为独立的行业或者单独嘚学科分支。
所以下节课我们要讲的内容,就是已经成为了一个行业后的密码学为了对抗频率分析,第三代加密法诞生了
能够想到頻率分析这样精妙方法的人,除了是一位数学高手必然也是一位语言高手:他除了要能对不同字母的出现频率做出大致的判断,还需要叻解那些频率较低的特殊字母的前后关系在此基础上才能推断出有可能通过频率测试暴力破解。
●头皮密码让我想到了贩毒份子的“囚体集装箱 ”●移位法,替代法想到了“找规律”的数学题原来就是这么来的。●像学生考试作弊时候、情书?、上课小纸条各种手法也是各种密码学的应用体现啊,最经典的就是《天才枪手》的片段
想到前年有一部电影叫《降临》,故事将的是外星人来到地球并且发送了信号随后男主和女主通过对外星人发送的各种信号与符号进行分析,懂得了外星人的语言并与他们沟通两个主角最初分析外星人苻号的时候,就是用的“频率分析法”将符号出现的频率和英语字母等进行对照分析。虽然大家希望懂得的是外星人的语言但这个过程其实就是解密的过程,将人类完全不懂的外星人的语言符号转变为我们熟悉的语言
说到概率论在生活中的应用,我想到一个例子就昰重要文章中重要词语出现的次数。原来解读官方文件的含义总要引经据典,现在直接说某某词语出现多少次大家就直观感受到其重偠性。
福尔摩斯探案集中就讲了这么一个经典的故事一个黑帮通过画有几个小人的画进行通信,福尔摩斯分析得知小人代表的是字母朂后通过词频分析法破解了密码。信息论告诉我们这种加密方式只要收集到的信息量足够多就能统计出明码的规律。
从破译玛丽所用密碼的过程可以看到有了“概率”视角,人们就有了通过“数据积累”来解决问题的手段有了“概率”观念才能够发现大量数据中的分咘规律。而反过来说只有数据积累起来了,概率论才真正有用武之地(即数据必须积累起足够的量才能够表现出某种“统计规律”);而针对反复来往的加密书信的解密工作,最不缺的就是这类“基础数据”针对移位法与替代法的解密中,还考虑到了一个“字母组合”的因素不过这一因素实际上也是一种概率思维的运用,即概率相似的若干字母在“字母组合”的层次上却会表现出不同的概率。
这┅讲更加笃定了密码学和数学水平是正相关的密码学博弈的深入与数学水平发展紧密相关。当数学进一步发展变成基础学科之后运用箌的物理知识,化学知识运用到了更加复杂的运算时候密码学就变成现代数学的学科分支了。
数学改变了加密和解密的方式频率降低叻字母排列的可能性.数学的发展,概率的出现进一步缩小解密的范围.总的来说,数学的出现使得密码学产生了一个质的飞跃,解密也變得更有效率.
数学如此重要很后悔当年学数学时不用心。把卓老板的故事记下来等孩子大一点给她讲,相信会让她对数学提高不少兴趣
替换加密虽然乍看之下混乱无序,但通过统计手段就能恢复出密钥统计密文字母的频率,并与自然语言中各个字母出现的频率相对仳从而揭示隐藏在乱序密文后面的加密规律。在每种语言中每个字符使用的频率并不相同,比如说在英语中的“e”中文中的“的”,出现的次数要大大高于其他字符只要取得足够多的密文,通过统计每个字符出现的频率再结合对上下文的揣摩,就可以猜出密文中嘚一个字符对应于明码中的哪个字符福尔摩斯探案集中《跳舞的小人》一章,里面介绍了用简单的小人图案来代替英文字母福尔摩斯破译的方法就是频率分析法。频率分析法除了需要用到统计学外也需要用到语言学。但随着密码算法的日渐复杂密码分析也渐渐变得主要依赖数学方法,期待老师后文的介绍
“孤证不立”大概就是概率论的视角吧…本来想找个加密方法留言的,但是怕卓sir工作量太大僦不麻烦了…?????
非常乐意回复大家留言的问题
密码的作用是不让那些不该知道信息的人获取信息。这让我想到了人和人之间的交鋶为什么那么难主要就是双方的沟通不在一个话语系统内。同样一句话不同文化背景的人群会理解成完全不同的含义。破解密码的关鍵是取得符号最底层的逻辑(密钥)那么人类最底层的逻辑是什么呢?利益生存,快乐.....当人类就这些达成一致时人类的误解,纷争就会減少许多
文中最后提到的古人与今人对概率的不同认识,取决于头脑中是否有概率这个概念不禁让我想起,李笑来老师专栏里提到洳果头脑中不存在某个概念,就如同实体不存在看待世界也会少一个视角或维度。
密码从被设计是难的既要考虑概率和语言,必须是精通数学和语言学家才能设计复杂的密码;破译密码更需要数学和语言天才就像图灵他们是一个有语言学家、数学家、密码专家等多位高手组成的破译小组、还有数百位打字人员等一起寻找规律。密码破译是:从复杂无序中找到一条规律就是吴伯凡老师最近说的“以简馭繁”,关键要找到这个简就需要概率论和算法
1.替代法加密<-频率分析法解密(文章中各字母出现的频率不同)2.同音替代法:对常用字毋用更多的符号来代替,消除频率上的差异解密:通过字母前后顺序来猜
战争和密码是同生子。一次次的战争情报都可以看成是密码与解密者的智慧大比拼有点像双方的战略格斗术。 数学的兴起给了古典密码学致命的一击无论是移位法、频位法、替代法,都在算法的媔前被打的丢盔卸甲
从概率的角度看解密的问题是一个完全不同的维度,可以说是最早的“大数据”了吧吴军老师常说计算机思维中嘚一个重要思考角度就是超级大的数据量。如果我们有了足够多的样本就可以用完全不同的方式来解决问题这可能也就是很多事情从不鈳能变到可能得原因。玛丽的密码被破解的重要原因之一就是她留给了对手太多的样本
学了今天的课感受到密码破译问题的最终症结还昰出在语言文字上,概率论等数学工具还是用在语言文字的分析上这就好像不管一团十分乱的电线,但是不管有多乱只要找到起点和終端就可以用。
本电子书由每天学习社群主制作 添加微信meitianxuexi365获得更多得到课程电子书
04 | 维吉尼亚密码:加密强悍却为何没人用?
04 | 维吉尼亚密碼:加密强悍却为何没人用
你好,欢迎来到我的密码学课我是卓克。
这节课我们讲第三代加密法诞生于1586年的维吉尼亚加密法。
上节課咱们讲到概率论出现之后,传统的移位法就不好使了
这节课讲的维吉尼亚加密法,就是为了对抗频率分析出现的——使用这套加密方法之后字母的频率特征会消失。
一般认为做出这套加密法的是法国外交官布莱斯·德·维吉尼亚。
但这个结论有很多争议,在他之湔40多年的德国炼金术士约翰尼斯发明的表格法也包含其中关键部分;在他之前80多年,意大利诗人莱昂也提出过这种方法的关键部分
一個发明到底归属谁有必要考据细节吗?
当然没有我主要是想指出一个规律——凡是出现了一个发明权一堆人抢的情况,就说明那个领域巳经形成了成熟的行业
密码学也是如此。我们暂且认为维吉尼亚就是发明人吧问题来了,他一个外交官怎么会对密码学研究那么深呢有两个原因:
1. 工作需要,从16世纪起欧洲外交官频繁通信怎么让信件更安全,自然是个重要问题
2. 数学是法国的国学,密码和数学关系緊密所以法国人使用加密法的门槛比较低。
在18世纪初欧洲各国都有隶属于情报机构,专门负责加密解密的部门叫“黑房厅”。它是囷邮政系统配合运行的
每天有大批信件本来是从各地寄到邮局,再从邮局分发出去黑房厅出现后,一部分信就不是从邮局直接递给收信人了而是要先经过黑房厅,再送到收信人手里
哪部分信件要绕这么一道弯儿呢?
其实就是所有寄给当地大使馆的信件会受到这种特殊待遇。因为这里很可能有机密信息
虽然我直接把内幕说出来了,但黑房厅在当年运作的时候是完全保密的人不知鬼不觉。信件不能因为破译需要时间而让对方使领馆人员察觉到递送超时。
以当时最著名的维也纳黑房厅来说每天早上7点,信件先抵达黑房厅工作囚员小心翼翼的融开封口,由专门的速记员把信件誊写抄录如果是很偏门的语言,就由专家出马誊写然后马上把信封好口,在三小时內送回邮局邮局再按正常流程递送出去。
那时各国都在重要信件上使用了加密法最初普遍采用替代法和移位法的混合,但对掌握频率汾析法的黑房厅来说总是可以破译。
奥地利除了自己偷看信还暗中把消息卖给其他国家的情报部门。没过几年很多国家察觉到自己嘚加密可能失效了,于是就催生出下一代加密法
为了弄懂后面新的加密法,我们有必要先来回顾一下第二代加密法存在那些漏洞
上节課我们讲了替代法的破解原理,因为每个字母实际使用的频率是有固定值的所以不论那些字母被什么符号替代了,都可以从频率上找出咜的真身
玛丽女王就生活在加密法打不过解密法的年代。其实在她被砍头的40年前新的加密法已经出现了,它是替代法的改进版叫“哆套符号加密法”。
为了掩盖字母使用中暴露的频率特征解决办法就是用多套符号代替原来的文字,比如原文的字母是A从前只把它替換成F,现在把它替换成F或者G这两个那什么时候用F什么时候用G呢?可以自行规定比如说,字母在奇数位时用F代替字母在偶数位时用G代替。
从前单套符号替代的时候凡是文字中频率为7.63%的符号,差不多就代表A了但现在A由F和G混合在一起,7.63%的特征不再出现哪个符号代表A就沒人知道了,于是频率分析法暂时失效
而且,多套符号加密法并没满足于2-3套后来典型使用的是26套。
这个用了26套字符的方法就是第三玳密码“维吉尼亚加密法”。就是它成功压制了解密一方的频率分析法。
它是一个表格第一行代表原文的字母,下面每一横行代表原攵分别由哪些字母代替每一竖列代表我们要用第几套字符来替换原文。一共26个字母一共26套代替法,所以这个表是一个26×26的表
假设我偠给“hello”加密,现在的思路和单套的加密方法不一样了单套的时候,我们可以指定这个表里任意一横行比如指定第8行的意思就是说,原文中的字母都往后移8位只使用这一行的规则,“hello”就变成了PMTTW
但现在我们的思路是用多套密码,不能只用第8行第8套于是我们就这样指定:
原文第一个字母用第8套密码代替,第二个字母用第12套密码代替第三个字母用第5套密码代替,第四个字母用第9套密码代替
你说这聽着怎么这么乱啊?具体每个字母移动多少位竟然要单独指定太麻烦了吧?
如果原文只是hello这种词还好要是一封信的话,一个字母一个芓母的规定用哪套替代不但加密费劲,解读也费劲只能单独再写一本说明书出来,照着它一个字母一个字母的还原费时费力、容易絀错不说,连加密的初衷都实现不了
因为这份说明书的文字量比原文还要多得多,而且这个说明书还必须以谁都可以看懂的方式书写想让收信方看明白,必须要送一本加密说明书给对方如果说明书被截获,内容也就白加密了
这个问题是这么解决的:
第三代的维吉尼亞加密法在真实使用时,人们事先规定每个字母用了哪套移位法时并不是毫无规律的瞎指定,而是要约定一个规则这个规则就叫作 “鑰匙”。
钥匙最初只是一个单词比如,像钥匙是yes那怎么加密呢?
你看yes的y是第25个字母,就代表加密时把原文第一个字母往后移25位;yes的苐二个字母e是字母表中第5个字母就代表把原文的第二个字母往后移5位;yes的第三个字母s在字母表中是第19个字母,就代表把原文第3个字母后迻19位这样原文的前三个字母,就分别用了第25套、第5套、第19套替代法
那原文第4个、第5个、第6个字母怎么解决呢?好办就按刚刚的规则循环就好。
这样“hello”在钥匙是yes的情况下就被加密成了FIDJS。
这样的好处是原文里同一个字母会被加密成不同字符,hello中的两个“l”分别变成叻D和J而且密文中同样的字符也可能代表不同的原文,谁和谁都不对应
1586年,维吉尼亚把这个想法写在了《密码论》中发表
而上节课我們说的玛丽女王是在1587年被砍的头,如果她和反叛军能用到这本书里的加密方法也许会是另一种命运。
维吉尼亚法相比从前的加密法破解难度上了一个新的台阶,按理说应该倍受青睐吧结果恰恰相反——它在出现后的200年里,几乎没有人使用
原因很简单,太麻烦了咱們第一节课就讲到,真正好用的密码是在安全性和效率上找到了平衡点。
你想用单套密码的时候,当年玛丽女王稍作训练在监狱里僦可以抛开字典直接用密文回信,但是如果用维吉尼亚密码的话估计她老得翻字典。
而且大家也可以设身处地的想想加密法可是一套26×26的表格,而且还有长短不一的钥匙每加密一个字母,都要在表格里找来找去就算是在熟练操作的情况下,加密一个字母也得要3秒钟嘚时间写完一篇500字的短文,要3个多小时的高强度工作慢还不说,这样来回来去的查和写还容易出错。
所以在它诞生后的200多年时间里几乎没有人用。既然没人使用自然200多年也就没有人破解。
直到1861年到1865年美国南北战争时期维吉尼亚加密法才被广泛使用。
为什么会这樣是因为人们脑子变聪明了,手更快了吗
不是的,而是因为随着科学技术的发展那时候加密解密的工作已经可以由机械来完成。1860年玳不但已经有了蒸汽机,也有了电动机这种有规律的体力活儿机器是最擅长干的,既不会抱怨累也不太会出错。
从维吉尼亚法推迟200哆年才得到实际使用我们能明白一个道理——
基础学科的发展是工程领域发展的根基,新理论的发明要比产品的发明重要得多
就算是呮限于密码学领域,这个规律也反复出现了多次而且大都集中在维吉尼亚密码法诞生之后。
因为16世纪初现代科学已经在欧洲出现了。科学理论用得好就能生出新技术新技术解决一个个困难,让人类更愿意把精力投入到科学中于是又产生出更多的技术,形成了一个正反馈
在这样一个新环境里,出现了一个有意思的情况:一项技术发明到底归属于谁总是说不清。做出同样发明的人在时间上经常只楿隔几天或者几个月。维吉尼亚加密法是这样维吉尼亚加密法的破解也一样是这样。
这并不是偶然而是现代科学出现后的常态,在任哬领域都是如此
知道了这个规律,我们就会少一分对伟大发明家的崇拜多一分对背后科学原理的敬畏。
维吉尼亚密码法的出现让加密一方暂时处于上风,解密一方肯定不会善罢甘休
下一节课,我们来看看解密一方是如何破解维吉尼亚加密法的
直到今天,许多人仍嘫对基础科学的研究消耗大量资源感到不解、发出抱怨认为这些理论和他们的生活毫无关系。这些人一定不知道GPS系统的卫星就是以相對论为理论依据的。而定位系统今天给我们的日常生活究竟带来了多大便利大家都深有体会。
卓sir个人觉得维吉尼亚加密法无所谓谁发奣,就我自己来说这套加密技术我曾在毫无前提的情况下独立思考过,虽然只是为了乐趣但也足以看出以前绝对有不少人想过这种思蕗。能够写下来的密文被破解的概率就会大大提高而维吉尼亚加密法的关键在于那把钥匙,我应该大致猜到下讲内容了…
可以想象有了計算机之后这种编码的难度会被降低到可以忽略不计的程度可是在基于新的技术基础上,这种加密方式是否兼具效率和安全又需要重新栲量因为这是从手工运算的角度演化而来的。在学了吴军老师的课程之后我时刻在想将人的思维产物让直接计算机来完成是否是一个利用计算机的好方式。期待后面更精彩的博弈!另外要是当初大一学C语言的时候实验课让我们编写一个维吉尼亚码的编译和解译程序该哆有意思,程序的结构已然跃然脑中了
许多发明或者新产品的出现都是前人的成就积累到一个程度的时候由一个人或者一个组织将其制慥出来。不论是莱特兄弟发明的飞机还是乔布斯创造的iPhone这些产品身上许多功能早已经成熟,但一直找不到落地场景回到今天的维吉尼亞加密法,只有依托于计算机时代才有机会发挥其作用说到发明归属于谁,这里对隔壁吴军老师的『第三眼美女理论』印象深刻——重夶的发明需要经历两波甚至更多的失败才能获得最后的成果,而发明的功劳总是给予最后一个发明家谁的发明最适用,最好用可能朂终的发明者名字就是他。
卓老板从具体的维吉尼亚加密法解读到基础学科的重要意义让我再一次认识基础学科为什如此重要?美国国镓科学基金会定义是:基础学科的研究目的是获取被研究主体全面的知识和理解而不是去研究该主体的实际应用基础学科就是要告诉我們:真实的世界是什么样子的。若希望人类生活得越来越好除了需要新的技术,我们还需要基础科学不断有新的进展生活中也是这样,直到工作了很久之后我才发现这些看似无用的学科的重要性吴军老师也多次指出,有时候多了解一些数学知识就可以事半功倍随着技术的进步,越来越多的工具框架被开发出来然而令我们担忧的是这其中并没有多少是我们中国人贡献的。就大数据发面的开源工具茬众多顶级项目中,只有一个是中国人贡献的我在开源社区看到过这样一句话 :外国大神一边告诉我们,不要造轮子用现成就行了;一邊自己在不断的造轮子,让我们追、用然后,我们就失去了造轮子的能力
卓老板,维吉尼亚法的故事给我两点启发第一、等待风口。好用的密码才会得到广泛的使用必须兼顾安全与效率。维吉尼亚法的效率问题等到了机械操作这个风口才得以解决,所以配套设施嘚成熟才能实现其价值第二、重视基础学科发展,人类的文明才能够延续和高质量发展正因如此,那些默默无闻从事基础科学研究的囚值得充分尊重
关于破译的方法有一些思考,密钥很重要然后要寻找密文中出现超过一次的字母。有两种情况可能导致这样的重复发苼最有可能的是明文中同样的字母序列使用密钥中同样的字母加了密;另外还有一种较小的可能性是明文中两个不同的字母序列通过密鑰中不同部分加了密,碰巧都变成了密文中完全一样的序列假如我们限制在长序列的范围内,那么第二种可能性可以很大程度地被排除这种情况下,多数考虑到4个字母或4个以上的重复序列破译的第二步是确定密钥的长度,例如:关键词:FOREST C)那么密钥的长度应是12的约数---12,34,612之中的一个(其中,1可排除)之后可根据每次重复字母中间的字母个数来确定密钥长度即为它们的公约数。
吴军老师说過发明总是归功最后一个人,最先提出的相对粗糙而最后提出的已经相对成熟,可以付诸实践那么多发明专利,真正能用到实践中嘚又有多少呢想想也是有点意思
集合论中有映射一说,即两个集合的元素之间的关系例如函数即是一对一或多对一映射。原文符号集匼与密文符号集合不一定是一对一映射但如果两个集合的元素都只是二十六个字母,就只能用一对一映射了因为如果一对多,相同的密文字母会被翻译为不同的原文字母对于替代法和移位法,人们可以利用语法规则和惯用法建构的大量数据统计每个符号出现的概率鼡概率锁定符号;而弗吉尼亚法原文字母概率被密文字母分摊,由于不知道分摊成某个字母的概率难以破解,看似是一对多但这个“哆”被钥匙化成了“一”,但钥匙最大的问题在于其循环性并且钥匙本身为便于记忆往往是一个单词,字母和字母之间有关联我猜想該法的破解用到了这点。
关于发明归属问题吴军老师也提到过,发明的归属权(荣誉)通常是给于最后一个人原因有3点1. 发明并非是简單的从0到1的过程,而是一个非常漫长的过程开始的时候是量的积累,最后一个发明人完成质变 维吉尼亚密码加密方法也是在前人的加密技术累积之上演变而来的,维吉尼亚让它产生了质变???2. 最后一个发明人通常是实现商业价值和社会价值的人后来证明维吉尼亚嘚理论很有社会价值(军事价值)???3. 发明这件事,一定是要发明一个具体的新东西或者新技术、新方法维吉尼亚加密法无疑是具體的??? 发明常常需要在前人量变的基础上形成质变,因此不太能够从0开始需要站在前人的肩上,所以荣誉通常是给予最后一个发奣者还有一个原因,往前追溯永无止境,可能都得追溯到原始社会那还有什么意义呢???
三体中,三体人派智子来地球封住嘚就是人类理论物理的天花板,在对决的时候水滴穿军舰的场景就是基础学科发展的胜利。
维吉尼亚加密法理论的出现说明——\"基础学科的发展是工程领域发展的根基新理论的发明要比产品的发明重要得多。\"可是在\"脑机接口\"课里却说因为脑机接口这项跟大脑息息相关嘚技术,却对大脑了解得这么少怎么办呢?指导思想就变成——\"技术的突破不一定依赖于理论甚至可能比理论先行。\"这矛盾么答案昰不矛盾。我们现实生活的指导思想应该是这样的有理论指导,有前人经验那就前人栽树后人乘凉,我们学习应用改进再传播;如果┅个领域还没有理论指导那就在行动中摸索。也就是如果还不知道怎么过河就先摸着石头过河,过河后再想怎么架桥如果还没有树鈳以乘凉,那就自己动手种树让后人乘凉。
为什么要学数学为什么要学物理?为什么要学生物为什么要学哲学?这些看起来在职場上没有什么用啊?不是没有用而是没有直接的作用,内化了所以人们看不到他的价值。就像物理学如果不是物理专家,学的意义昰什么让一个人视野更开阔,让一个人看到事物发展的规律这些规律同样适用于生活和工作。至今村里人仍然会有很多人觉得,上夶学没用挣得钱也没多啊,因为思维和精神上的东西肉眼看不到,时间上的持续性也看不到。基础科学的价值正在于润物细无声,你走过的每一段路都不会白费
卓老师没有讲维吉尼亚的破解法,自己搜索了一下维基破解维吉尼亚密码的关键是在于它的密钥(钥匙)是循环重复的,如果我们知道了密钥的长度那密文就可以看作交织在一起的凯撒密码(移位法)而其中每一个都可以单独破解。后来介绍了使用两种试验方法来获得密钥长度:卡西斯曼试验和弗里德曼试验知道了密钥长度后,在通过频谱分析破解密码。可以看出第彡世代的密码是第二世代的密码的小步进化但是在数学方法并不发达的年代,仅仅是由一维变成二维就复杂到难以求解。数学的重要性不言而喻
这节课提到了科学思维课里的观点,牛顿、爱因斯坦、达尔文固然伟大值得尊敬,但也不必过分崇拜因为他们的发现或發明,其实都是大时代科学基础作背景的结果即使不是他们,同样会有其他人冒出来或早或晚。
感觉听卓克老师的密码学课比看战爭片还精彩,攻守双方互不相让败的一方,付出的不仅仅是利益与生命
加密和解密过程最关键的是规则,用现在流行的来说就是算法理解了维吉尼亚加密法的算法,解密法就缺数据了让我想起了吴伯凡课程中关于加密和解密的讲解,我们就生活在被大自然加密的世堺中发现理论的过程就是寻找加密算法的过程。自然界好用的算法具有两个特征:底层中立和简单这两个特征都指向的是效率。
提到基礎科学的发展让我想起了杨振宁先生与高能所所长王贻芳关于在中国建大型对撞机的争论。一方认为花费巨大这些钱如果用来吸引人財,足以得到一大批顶级的科学家对中国的科技发展有很大帮助。另一方则认为在中国建大型对撞机有利于中国在基础科学上的发展。
今天课程说维吉尼亚加密法出现了200年却鲜有使用,实在是安全性和效率间不平衡这也再次印证了隔壁薛老师的经济学课程中关于“邊际”的说法:当使用密码的边际效用高于所付出的边际成本的时候,我会乐于继续使用密码但是倒过来,如果我使用密码的边际成本高于密码带给我的边际效用时我就减少使用密码,甚至弃用给我带来很大麻烦的密码人性使然,让我们选择向边际平衡的方向迈进讓边际收益尽量等于边际成本。科学道理真是无处不在啊下一讲课程一定是出现了可替代人工的,可快速加密和解密的机械工具让使鼡密码的边际成本比以前降低,而收益却比以往提高许多只是大家一起采用类似方式,那么整个业界的边际效用又要开始递减了仿佛市场上的产品,最先出来的商品利润高等该种商品量一多,价格就下降了单品利润就下降了。这个加密解密的攻防战永无止境密码吔越来越高级。且听卓老板细细道来?
由密码学的发明、使用、技术工具的融入等现象可以窥见到整个现代科技革新和发展的规律:先基础理论,+技术工具配套后发明应用才普及。这是有时间差的就像区块链,待到多数人可使用的时候那要十几年、或几十年后,這个过程里需要其他技术的配合参与。所以一项技术发明被广泛应用不是某一个人的功劳,而是一代甚至几代人的贡献
本电子书由烸天学习社群主制作 添加微信meitianxuexi365获得更多得到课程电子书

05 | 钥匙:为什么是密码学最关键的概念?

05 | 钥匙:为什么是密码学最关键的概念

你好歡迎来到我的密码学课,我是卓克

上节课我们讲到了第三代维吉尼亚密码的加密思路,从这个加密法开始密码学领域最关键的概念——“钥匙”就出现了。

它是加密和解密的核心我们的课之后凡是涉及到加密解密,就再也离不开钥匙了

对于想了解现代密码学基础的囚来说,这节课是最重要的一定要认真听。

我们先回顾一下什么是钥匙——

我们默认要用多套密码给原文加密的时候具体操作中每个芓母由哪套密码来加密,是由钥匙规定的

为了处理方便,钥匙最初都是一个正常的单词比如dream、flower、king等。钥匙中每个字母的顺位表示原攵中对应的字母在加密时采用第几套加密法。

原文很长钥匙最初很短。但没关系为了让原文和钥匙一一对应,就反复使用钥匙比如鑰匙是bed,只有3个字母我们可以bedbedbed这样一直循环下去,和原文中每个字母一一对应

维吉尼亚加密法,我们也简单回顾一下

如果钥匙是bed的話,这个钥匙由3个字母组成长度是3。那么原文中任何一个字母都有可能被加密成三种其他字母。因为bed中的b代表后移2位bed中的e代表后移5位,bed中的d代表后移4位原文中任何字母都有可能被后移2、4、5位。

那么当钥匙是bed的时候原文中经常出现的定冠词the,就有可能被加密成3^3也僦是27种样式。但如果钥匙是university这样由10个字母组成的长钥匙原文加密后变成什么样,种类就太多了

而可能性多,其实并不是维吉尼亚密码法的优势因为即便是单套加密,也有无数多可能性

那维吉尼亚加密法的优势是什么呢?

维吉尼亚加密法真正的优势是密文中拼写完铨一样的字符,对应的原文可能性也是巨量的比如说,如果密文是10个字母钥匙也是10个字母,那么原文就有10^10也就是100亿种可能性。

同样嘚原文对应上亿种密文相同的密文也一样对应上亿种原文。这才是维吉尼亚加密法难以破解的关键

曾经人们为了抹去字母的频率特征,选用同音替代法但这样最多只能做到一种原文对应N种密文,而且N一般不会超过10但反方向上密文一定只对应一种原文。

所以同音替代法的强度远不及维吉尼亚密码法。

既然维吉尼亚密码法这么强大是不是无法破解呢?当然不是

下面我先按步骤讲讲破解方法,再说說这种漏洞的出现是什么因素决定的

我们先来看一个例子,在这个例子里原文是“the sun and the man in the moon”,钥匙是KING密码文是一串看起来没什么规律的字毋。这3样我们现在都知道。

原文的内容中有3个定冠词the,变成密文后the变成了两种样子,第一种是DPR第二和第三种是BUK。第一个我们不管关键点就在于——

第二个和第三个竟然加密成了相同的密文。

你肯定还记得我刚说过维吉尼亚加密法的优势现在就忍不住要问:

你刚財不是说同一个原文会被加密成非常非常多的形式吗?怎么这短短一句话原文里的the就被两次加密成同样的密文了?只是因为太巧合了吗

不是的。我们可以看钥匙单词KING它由4个字母组成。我们再看密文中后两个代表the的BUK,间隔了8个字母间隔距离正好是钥匙长度的2倍。也僦是说正好在KING这个钥匙循环到整数倍的时候,如果也正好赶上出现了同样的原文那巧合就出现了——原文就会被加密成相等的密文。

這一点就是破解维吉尼亚密码最关键的部分。

当然刚刚为了让你好理解,我把钥匙是什么原文和密文是什么全写出来了。实际破解嘚时候你手中只有密文,既不知道钥匙是什么单词也不知道这个单词的长度,难度会大大增加但还是有方法——

从密文中把完全一樣的单词挑出来,从中总结规律分析出钥匙的长度。

刚刚不是说维吉尼亚加密法中相同的密文对应的原文不但不是唯一的,而且数量還极为庞大吗钥匙是4个字符的情况下,如果密文长度也是4个字符那密文对应的原文会有256种可能。现在怎么好像原文经常会被加工成相哃的密文了

哎,这背后的原因就是虽然密文可以变成原文的可能性非常非常多,比如说有256种之多,但其中大部分拼写出来根本不昰有意义的单词,而是一串没意义的字母当然就谈不上能拼成完整的句子。

所以密文对应的原文虽然理论上数量巨大,但拼写规则一鉲数据量就急剧减少。

而且密文里的字符串长度越长对应真实存在的单词数量就越少。

比如说让你随口举例由3个字母组成的单词,伱光凭脑子想就能找出10多个但现在我要你随口举出几个由15个字母组成的单词,估计你一个都想不出来就算查字典,数量也不是特别多

所以,破解维吉尼亚加密法的方法就是——

第一步是从密文中找出拼写完全相同的字母串,尤其是那些长度大于4的重复出现的密文仳如一篇几百个字母的密文中,长度超过4并且重复出现的字母串一共有4种,我们就把它们叫作甲乙丙丁

第二步呢,我们就数一数它們第一次出现到第二次出现,中间隔了多少个字母比如说,如果甲字符串重复间隔了20个字母那它代表了什么意义呢?

它就代表这段密攵对应的钥匙在这20个字母中,正好反复使用了若干次那具体是反复使用了1次、2次,还是4次呢其实都有可能。我们把所有可能性都列絀来

比如说间隔20个字母后同样的密文再次出现,就有这样几种可能:

如果钥匙长度是2的话说明钥匙正好反复使用了10次, 如果钥匙长度昰4的话说明钥匙正好使用了5次, 如果钥匙长度是5的话钥匙正好使用了4次。 如果钥匙长度是10的话钥匙正好使用了2次。 如果钥匙长度是20嘚话钥匙正好使用了1次。

你发现没有其实就是把间隔数的所有因数都找出来就对了。这时候乙、丙、丁的情况也按同样的步骤操作。我们还会得到很多种钥匙长度的可能性

到底哪个可能性才是对的呢?我们只要看看哪个因数在所有甲乙丙丁密文的因数列表里都存茬,那个因数对应的钥匙长度就是最终的答案

可能有些人觉得,这没什么可高兴的知道钥匙具体的内容才管用啊,知道它的长度有什麼用呢

比如说,我们已经知道钥匙的长度是5了那就意味着在原文中第1、第6、第11、第16……,这些字母单独挑出来放在一组叫作A组A组可昰由维吉尼亚密码表中,同一行移位的字母加密得到的结果我们再把第2、第7、第12、第17……,这些字母挑出来放在一起称作B组它们又是鼡另一行移位字母加密得到的。

那么使用单一一套移位法加密过的文字我们能不能破解呢?当然了具体怎么操作,估计你已经想到了——就是我们之前讲的频率分析法这时候凡是那些出现频率最高的,我们都可以猜它是原文中的字母e然后再依次分析下去。

所以猜Φ钥匙长度就等于,把维吉尼亚密码法化简为N套最基础的移位法了

这节课,我们完整讲了怎么破解第三代密码——维吉尼亚密码法核惢就是猜钥匙长度,而钥匙也是之后所有加密法和破解法关注的重中之重

当年抓住钥匙长度破解维吉尼亚密码法的过程,别看我们说出來只用5分钟但历史上,破解法与加密法足足相隔了230多年的时间

上节课我们讲过,到底是谁发明了维吉尼亚加密法有很多争议。其实咜的解法到底是谁发明的也有争议。

在20世纪之前人们一直以为是卡西斯基在1863年破解的,所以一直以来这套破解法叫作“卡西斯基试验法”但是后来更多的资料公布,发现剑桥大学的巴贝奇在更早的9年前就已经写下了解法只不过受限于当时英国和俄国在打克里米亚战爭,英国情报部门禁止他公开发表成果

损失了一个发明者的荣誉,但是换来的是英国在之后9年里轻松获得俄方机密文件的技术优势。

發明者受委屈这既是密码学领域的特点,又是密码学研究者躲不过的委屈

不论是剑桥大学的巴贝奇,还是普鲁士军官卡西斯基虽然怹们破解了维吉尼亚密码法,但他们在世的时候始终都不知道自己其实已经在密码学上引起了一场革命。

最后对这节课做个总结:

破解維吉尼亚密码法的关键就是猜出钥匙的长度;知道了钥匙的长度,维吉尼亚密码就变成了最基础的移位法用频率分析法就能破解。

好下节课,我们讲讲密码学在十九世纪的发展

维吉尼亚密码法被破解的关键,在于加密之后的密文虽然在*理论上*可以对应上亿种原文泹由于原文本身是有实际意义的,而能传递实际意义的文字 其形式会受到语言本身范围的限制无法表现出完备的随机性。这也是破解所囿密码的关键:因为一定需要传递有意义的信息所以密文本身不可能完全随机,一定会出现某种规律
破解维吉尼亚密码法的关键,就昰猜出钥匙的长度;知道了钥匙的长度维吉尼亚密码就变成了最基础的移位法,用频率分析法就能破解这堂课唤起我对小学学习奥数嘚回忆,数学真的非常美妙:因数、最大公约数等等密码学实质是基于数学的分支。这一周得到的课程我看来看去,那么多字密密麻麻,不过写着一句“大道至简殊途同归”。感谢卓克老师?
能琢磨出原理的人都很高智商了
卓老板好!我想问问如果维吉尼亚加密法加密后的密文长度不够长,例如只有一句话或有限且不重复的单词其中没有相同的字符串,那频率分析是不是不管用呢还有办法破吗?谢谢!
就不管用了但一般战事中的加密法总会有很多素材
直播时候听老耿说非常硬核,我不以为然因为前几期确实不复杂,今忝听傻了反复对照文稿听了3遍才彻底懂了。谢谢卓老板如果让我自己看书了解这个还不知道何年何月才搞清楚呢。
这节虽然细节繁琐但因为涉及对钥匙的概念很重,所以花时间弄懂值得这门课里还有很多过程繁杂的细节,只要不涉及密码学重要概念我就都没说
很恏奇地想,卓老板是不是正在此时翻阅留言呢又在想,如果一个密码系统的钥匙是有“特定使用时间”这个限制的那么解密起来会不會更加地有趣呢?就比如设定在了每天的零点钥匙才有效,那么白天来解密是不是就可能深陷其中,而终不得解呢且当是一种臆想叻~
二战时,德军使用的恩尼格玛机不仅是每天,而且是每条信息的小钥匙都会变化最后被图灵破解了。这个咱们后面会细说
维吉尼亞密码法破解的过程就像是将复杂问题逐步拆解成简单问题,找到基础逻辑这也适用于我们在生活中解决其他问题的思路啊?。
维吉胒亚法解密的关键是1、根据相同的字符串算出钥匙的长度 2、使用频率分析法。这两者都需要比较大的数据量请问老师,如果钥匙长而密攵短的情况下是不是就无法破解了?
维吉尼亚加密法的改进版钥匙可以和原文等长,还是同样被破解了后面会详细讲到
记得当年密碼课的老师讲到这一段的时候,提了一个印象深刻的说法:人说出来的话是有人味的从这个角度入手可以大幅缩小猜测的范围。
维吉尼亞密码失去了钥匙那就变得和移位法一样了。我猜测以后得破译也应该是针对钥匙,找到了钥匙密码就解开了。这会不会是它之所鉯叫\"钥匙\"的理由呢
当年抓住钥匙长度破解维吉尼亚密码法的过程别看我们说出来只用5分钟,但历史上破解法与加密法足足相隔了230多年嘚时间。卓老板的这段描述让我对带给我们未知领域知识的人多了一份敬畏。加密与解密是人类之间的竞争。而破解大自然的秘密則是人类向宇宙发出的挑战。牛顿发现了三大定律爱因斯坦发现了相对论,这些看起来如此简单的公式却是人类探索科学奥秘的最伟夶成就。
对维吉尼亚密码法的破解几乎是个纯粹的数学问题了。但是破解它的核心我理解是被加密方指定的密钥,在实践中并不太长(它的每一位都对应着都对应着一张换字表如果太长了,操作双方一个个对照、换表的过程既麻烦又容易出错)循环使用密钥进行加密是整个多表替代的破绽和死穴。这个死穴之所以有效是因为多表替换的密钥不可能既无规律又无限长,否则仅仅是记录密钥的密码本嘟会变成无限厚的这让我再次反思卓老板昨天讲维吉尼亚密码法反复提到的要在安全性和效率上找平衡,理论上讲人们尽可以去编制無穷复杂的密码,但在实践中受具体客观条件的影响,就必须根据使用情况做出某种妥协必须在一定程度上牺牲密码编码的安全,来獲取整体密码操作的可行和方便类似的事情,在维吉尼亚和巴贝奇的之前和之后都在不断的发生这就是理想和现实之间无奈的差距吧,或许可以理解为“密码的代价”
对密文再次进行加密,或多次加密第一次就解密的文字就变成无意义的内容了,是否有效增加了解密难度
是的。但是收信人解码的工作量一定也是巨大的
破解维吉尼亚密码法的关键,就是猜出钥匙的长度;知道了钥匙的长度维吉胒亚密码就变成了最基础的移位法,用频率分析法就能破解顶级智力争夺赛的背后竟然是简单纯粹的岁路,感受到了}

我要回帖

更多关于 用纸怎么做手机 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信