你不得不了解的与密码相关的5种算法

密码二字,听起来好吓人,可现在几乎人人见怪不怪。以前密码多用于军事之事,而今,我们的日常生活中几乎离不开密码了。

本文试图用最为浅显的文字,解释与密码有关的5种算法。本文面向的对象:小学生三年级以上学生

(1) 对称算法

对称算法,就是对某个文字内容或数字内容,甚至是一个文件,加密时用一个密码(称为密钥),解密时,也必须使用这个密码(这就是对称的意思!)。

对称算法中,又有四个术语必须掌握:明文,加解密算法(可以理解为一台密码机),密钥(红灯记中的"密电码",其实是一组特定生成的文字或数字,也可以是一些开关),密文。

比如,下面这句话,明文:"小猫上树了,你乍不下来呢?",你要对它进行加密,发给你的表哥。

我们要找一台密码机(里面就包括了对称的算法),

然后用一个密码(密钥,密电码),比如:*&634Kjd!##,对这句话加密。密钥要输入密码机。你的铁杆粉丝小明,不辞千辛万苦,跑了六个街区,把这个密钥送给你表哥。

密码机开始运转,我们就会得到一串乌七八糟的内容,密文:"春04G人&足卡"。

你的表哥收到了"春04G人&足卡",他看不出到底是什么内容。

发呆几秒钟之后,你表哥也搬出一台跟你一样的密码机,把"春04G人&足卡"往里面一扔,接着他又往密码机中输入和你当初输入的同样的密钥:*&634Kjd!##,这就是解密的步骤了,他随即得到了明文:"小猫上树了,你乍不下来呢?"。

假设,他往密码机中输入的不是*&634Kjd!##,而是A5968d94UP之类的东西,他得到的也许是一串无意义的文字pqdjaideladsjasjfasl,也可能是"我的心肝哪你真是热心肠呵呵呵"。

早期的密码机


小朋友,明白了我说的意思不?

如果明白了上面的四点,你就会明白我后面要讲的意思。

现在,国际上公开的对称密钥算法(存在密码机中),主要包括:DES,3DES,AES,RC4等等,也就相当于说,我们可以买到通用的含用对称加密算法的密码机。

要想只让你表哥得到你发的文字内容,而你表妹得不到,她绝顶聪明,好奇心特别强,7岁就有17岁的智商,怎么办?

你可能想到了,你就弄一台特别复杂的密码机!聪明,不亚于你表妹!可是你没有想到的是,你表妹早就从淘宝上买来一台跟你一样的密码机哟!

紧接着,你马上想到的是,让你表哥好好保管你的密电码,让你的表妹得不到。哼哼,要不你是三年级学生呢。你表妹通过门缝观察,早就知道你表哥把密电码藏在他的球鞋里!趁他不在,表妹取出密电码,拨开电子锁锁好的密码机,后面的事不说也很难看了!

第2次,你表哥不会再将密电码藏在球鞋里了,想放在XXX里。打住,别告诉我。小明第2次送密电码时,被表妹拦住:"帅锅,干什么来了?",小帅锅说:"送密电码"。"给你一块巧克力吃,你让我看一眼不?",小帅锅激动地说:"好呵,霉女,看完加个微信吧!",于是,你表哥第2次中招。

道高一尺,魔高一丈。第N次上当之后,你决定将密电码通过电话告诉你表哥。但是,在这个好奇心为王的世界,你表妹早给你表哥的电话装上了窃听器,你的一切尽在她的掌握之中!

黑客时代


(2)非对称算法

你可能会想到:如果发报时用的密电码与收报时用的密电码不是同一个该有多好!

是的,无数的科学家有很长一段时间都在想方设法解决这个问题。

终于,上世纪70年代末,三名有名的数学家解决了这个问题,这就是非对称算法。它的含义就是,加密的时候用其中一个密钥(公钥),而解密的时候,用另一个密钥(私钥)。公钥和私钥,是成对的,第三方用其中的一个,无法推导出另一个。许多人一下子松了口气,觉得它是革命性的算法,并且现在它推广到了全世界。

还是以表妹来打比方,不论表妹得到的密电码是什么,她都发现:她使用的密电码没有效果。她得到的,只是公钥,但是有一个私钥,永远在表哥的手里,她怎么也得不到。于是,表妹的聪明才智再也派不上用场了!你表妹根据她的计算很快发现,要想算出密电码,她可能需要10万年!

刚开始的时候,非对象算法只有RSA算法,后来,出现了更多的非对称算法,比如ECC等。

(3)密钥协商算法

有一个问题,马上就有人意识到了,非对称算法虽然安全,但是加密、解密的速度都特别慢,比原来的对称密钥算法慢了好多个数量级。虽然大大保证了密电码的安全性,但却大大降低了保密通信时的速度。

还有一个更大的麻烦在后头,你表哥搬了家!从离你600米的地方,搬到了1000公里以外的山东青岛。

小明是派不上用场了,又不能打电话告知,这可如何是好。

这个时候,人们绞尽脑汁,想有一个万全之策。有二位科学家,利用RSA算法,发明了一种密钥协商算法,也就是DH算法。

后来,人们又发明了其他的密钥协商算法,如ECDH等。

简单地说,它就是要让异地(不论多远)的人,能够在不见面、也不通电话的情况下,商量出一个保密性极好的密钥。而真正加密解密时,仍采用第一种算法,也就是对称算法。

这就起到了一个很好的作用:既能保证密电码的安全性,又能保证保密通信时的高速度。

现代密码学,会同时用到对称、非对称、密钥协商算法。这就叫做混合加密。

(4)摘要算法

看完上面三个算法,关于密码学的知识,算是及格了!

下面两个算法,算是进阶知识!

假设:你有一笔20元的巨款大红包要转给你表哥,你要给表哥发送一条消息:"20元超级大红包"。但你不知道的是:你表妹与时俱进,她如今有一项特殊的才能,就是截获你给你表哥的微信大红包,她自己留下18元,只给你哥2元,你表哥会收到这样一个消息:"2元超级大红包",可你表哥没法发现其中有诈。用通信术语来讲,这就是"协议劫持",或者说"窜改",或者"报文伪造"。

你意识到了问题的严重性,苦思解决之良策。

你不用苦思了,有人替你早就想好了解决之道。这个解决之道就是:MD5算法。它对你发送的所有消息,进行"摘要"(Hash算法),也就是说,无论是多长的一段消息(数据),运行一个"车轱辘算法"之后,得到一个16字节(128比特)的结果。这个算法的奇妙之处有二点:一是得到的结果总是16字节,另一点是,数据不同,则结果不同(数据不同,要想得到相同的结果的可能性是非常非常之小的)。

它此刻要解决的你的问题就是:你把20元红包发给表哥,同时把MD5摘要EB4B7F0FC2CDFB6D连同消息一起发给你表哥,变成这样子:"20元超级大红包EB4B7F0FC2CDFB6D"。你表哥收到后,也会利用MD5算法,计算一下,"20元超级大红包",得到的结果自然是"EB4B7F0FC2CDFB6D",据此,你表哥确信:款项准确无误,谢谢表弟!假如你表妹将消息改为"2元超级大红包EB4B7F0FC2CDFB6D",你收到消息后,计算"2元超级大红包"的MD5摘要,得到FCD5881285C27C99,你表哥马上就会发现:不对呀!于是,你表哥会找你表妹算帐去。

除了MD5之外,后来,科学家又发明了许多其他的摘要算法,比如SHA等。MD5,SHA,是现在用得最为广泛的摘要算法。

(5)签名算法

到了密码学有关的最后一个算法:签名算法。签名的作用,比较好理解,也就是为了防止别人抵赖。

回到上一节:假如你表妹将消息窜改时,同时窜改消息的摘要,那将会是多么可怕的一件事。也就是说,她截获电文后,向你表哥发送这样一条消息:"2元超级大红包FCD5881285C27C99",你表哥收到后,对"2元超级大红包"进行MD5摘要,得到的结果也是"FCD5881285C27C99",你表哥一定不会有任何非份之想。

这就要用到密码学的最后一招:签名算法,也就是DSA算法。它也是基于RSA算法的,因为它用到了公钥、私钥。

仍以你给你表哥发消息为例。简言之,签名算法就是要完成这样一个步骤:先对消息的原文进行摘要,对这个摘要用你的私钥进行加密。消息本身仍采用安全的对称算法进行加密。你给你表哥发送的,不只是密文,还包括消息的签名信息。你表哥收到密文与签名信息,他先进行解密,解密后得到了明文,但是这个明文是不是确定无误呢,为此,他需要验签:就是将你签名的消息,用你的公钥进行解密,得到了一个摘要A,他对明文也做一次摘要,得到摘要B,如果A和B相同,就没有消息本身是完全可靠的。如果A和B不同,那一定是出了大问题。

除DSA签名算法外,后来也出现了更多的签名算法,如ECDSA等。

看完前面5种算法的介绍,就是看完了整个现代密码学的简介。同学们,再也不要想通过电影《鸡毛信》那样,传递重要的情报了;也不能象《红灯记》中的李铁梅那样传递密电码;更不要象《潜伏》中的余则成那样,将密码本到底乱藏。再那么干,显得太Low了。

不任是银行的存取款操作,还是二维码收款、付款操作,都会同时用到这5种密码算法。

此文属原创,未经同意,严禁转载,为了让小学生看懂,真是费了我好多心思。如果你有什么不明白之处,就关注我的头条号,与我直接联系吧。

18.3.17 智有不明

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容