密码学认识(初识+迪菲赫尔曼秘钥交换)

在某些情况下,我们在沟通时,并不想让这个资讯让他人截获。比如男女主人公约会时,会说老地方见(除了他们俩,鬼知道老地方是哪里);两个山寨头子第一次见面时,先对一下暗号,“天王盖地虎,宝塔镇河妖”等等。

于是自然而然就有了密码学最开始的状态。

古典时期的密码学:

两千年前,古罗马名将恺撒为了防止敌方截获情报,将罗马字母建立一张对应表,这样如果不知道密码本,即使截获一段信息也看不懂。
这种编码方式史称“恺撒密码”。

如对应表如下:

明文字母表:ABCDEFGHIJKLMNOPQRSTUVWXYZ
密文字母表:DEFGHIJKLMNOPQRSTUVWXYZABC

使用时,加密者查找明文字母表中需要加密的消息中的每一个字母所在位置,并且写下密文字母表中对应的字母。需要解密的人则根据事先已知的密钥反过来操作,得到原来的明文。例如:

明文:THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG
密文:WKH TXLFN EURZQ IRA MXPSV RYHU WKH ODCB GRJ

但是这种简单的对照表,只要多截获一些一些情报,就可以破解出来。比如B字母出现的概率为4.5%,那么概率在其上下浮动的密文字母就很有可能指向B。

所以电视剧里面那些,根据一组数字,这些数字对应圣经/康熙字典的页码和位置的加密方式,是很容易通过统计学的方法破译出来的。

一个好的加密方法:

好的密码必须要做到,根据已知明文和密文的对应推断不出新的密文内容。即无法用统计的方式找到明文和密文之间的转换规律。

从数学的角度讲,加密的过程可以看做是一个函数的运算,解密的过程是反函数的运算。明码是自变量,密码是函数值。好的密码就是不应该通过一组自变量和函数值就能推导出函数。

密码的最高境界是,地方在截获密文后,对我方所知没有任何增加,用信息论的专业术语讲,就是信息量没有增加。

现代密码学:

现代密码学基于信息论的理论基础,不只关注信息保密问题,还同时涉及信息完整性验证(消息验证码)、信息发布的不可抵赖性(数字签名)、以及在分布式计算中产生的来源于内部和外部的攻击的所有信息安全问题。

密码学主要有三个分支:哈希密码,对称密码,非对称密码。

对称加密

又称对称秘钥算法,私钥加密,共享秘钥加密。
这类算法在加密和解密时使用相同的密钥,或是使用两个可以简单地相互推算的密钥。事实上,这组密钥成为在两个或多个成员间的共同秘密,以便维持专属的通信联系。

常用的对称加密算法有:DES、3DES、AES、Blowfish、IDEA、RC5、RC6

对称加密过程

M:明文
E:加密函数
K:秘钥
C:密文
D:解密函数

注:对称加密也分为很多的门派,有兴趣的同学可以看这篇博客

对称加密算法的优点是算法公开、计算量小、加密速度快、加密效率高。

对称加密算法的缺点是在数据传送前,发送方和接收方必须商定好秘钥,然后使双方都能保存好秘钥。其次如果一方的秘钥被泄露,那么加密信息也就不安全了。另外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的独一秘钥,这会使得收、发双方所拥有的钥匙数量巨大,密钥管理成为双方的负担。

所以在远距离传输消息时,秘钥该如何交换呢?没有秘钥怎么加密?不加密怎么安全的传输秘钥?这是一个先有鸡还是先有蛋的问题。

那么该怎么解决这个难题呢?

迪菲赫尔曼秘钥交换:

在此之前,我们要先了解一下什么是单向函数。

单向函数wiki百科:对于每一个输入,函数值都容易计算(多项式时间),但是给出一个随机输入的函数值,算出原始输入却比较困难(无法在多项式时间内使用确定性图灵机计算)。
单向函数是否存在仍然是计算机科学中的一个开放性问题。

我们先假定,A色值混合B色值,可以得到C色值,但是只知道A和C,无法推导出B的色值,即这是一个单向函数。

1.甲、乙两个人约定一个公开的色值A
2.甲混合A、B色值,得到X,传给乙;乙混合A、C色值,得到Y,传给甲
3.这是甲得到Y,混合B得到Z;乙获得X,混合C同样可以获得Z。

这是一个比较简单的数学问题,即 :
A + B = X;
A + C = Y;
则: X + C = Y + B = A + B + C = Z;

而第三者可以获取的信息是 A、X、Y,根据单向函数的定义,无法反推出Z

视频地址

这就是迪菲赫尔曼秘钥交换的原理所在,在数学上找到单向函数是主要突破点。

目前主流的方法,是使用离散对数作为单向函数。

离散对数难题:

离散对数:基于同余和原根的对数运算


离散对数至今没有比较好的办法去解决,使用穷举法的话,复杂度为 O(2^n),n这里是群的大小的二进制表示的长度,也可以理解为key的二进制长度。如果用1024位的key,这个复杂度在目前的计算速度下基本可视作无法解决。
(天河二号运算速度3.39亿亿次/s)

所以我们会把离散对数问题认为是一个“很难”的问题,即它是一个单向函数。

迪菲赫尔曼秘钥交换通过单向函数的特性,给出了一种秘钥交换解决方案。

但是另一个问题又浮出水面了。如果我们全部使用对称加密的方式,那跟n个人聊天,就要保存n-1个秘钥,进行n-1次秘钥交换;而且一旦对方被突破,双方就都没有什么信息安全可言了。

非对称加密应运而生。具体请看我的下一篇博客。

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