java和go中的密码学(2)-梳理好的小历史

标签:密码学
发布时间:2018年10月06日 价值:20000.00 / 共识:22

本篇主要简单叙述些密码学发展史上的关键小历史、原则。部分整理来自《java加密与解密的艺术》

历史发展总述

古典密码学 发展到 对称密码体制 发展到 非对称密码体制

古典密码学:

以语言学为基础,常常采用文字的移位、替代的方式。
移位密码,又称 错位密码,打乱明文字符排列:
I LOVE YOU -> UOY EVOL I
替代密码,又称 置换密码,替换明文字符为其他字符:
I LOVE YOU -> i l^v u

对称密码体制:

同样也是沿袭了移位、替代的方式,可是是面向字符、字节级别了。
流密码:按明文字符、字节逐个加解密。
分组密码:将明文字节分组成块,逐块加解密。

非对称密码体制:

《密码学新方向》论文发表,提出了”私钥加密公钥解密”的理念,避免了接收双方在对称密码体制中会出现的密钥传输管理的问题。

关键的时间路线

1949年前,密码设计完全是依赖密码专家的直觉,各路密码专家各自自己爱咋样设计就咋样设计,没有统一规范套路。
1949年,香农发表了《保密系统的通信理论》,启发世人正式将密码学建立在严格的数学基础之上!!!慢慢大家都开始基于数学原理来设计思考,于是密码设计也规范起来(套路逐渐统一)。
1976年,《密码学的新方向》论文发表,将密钥分为加密的公钥和解密的私钥,解决了密钥管理问题,提出了密钥交换算法(DH)。这是密码学的一场革命!!!
1977年,美国国家标准技术研究所指定了数据加密标准:DES 。
1977年,第一个较完善的公钥密码体制-RSA体制在麻省理工学院提出,为数字签名定了基础。
1997年,美国国家标准技术研究所制定了高级数据加密标准:AES ,比20年前的DES更安全、高效!

必须知道的 柯克霍夫原则

柯克霍夫原则由奥古斯特·柯克霍夫在19世纪提出:密码系统应该就算被所有人知道系统的运作步骤,仍然是安全的。克劳德·艾尔伍德·香农有句近似的话「敌人知道系统」,称为香农公理
依据柯克霍夫原则,大多数民用保密都使用公开的算法。这意味着:密码机制的安全性,不再由加解密算法保证,而改为由 密钥 保证!! 这个思维转变非常重要!
其实也是,如果加解密算法过程细节 以及 密钥 都需要 双方提前协商好的话,沟通负担等都会大好多的。如果借助数学上有些公开的算法,接收双方只需要保证安全协商、传递管理好密钥即可,那么就方便多了!

如何衡量一个密码体制的安全性

(1)密码体制的破译所需要的时间和费用超过了现有资源和能力;
(2)密码体制的破译所需要的时间超过了该体制所保护的信息的有效时间;
(3)密码体制的破译所需要的费用超过了该体制所保护的信息的价值。

  • 分享 收藏
0 条评论
  • 这篇文章暂无评论,赶紧评论一下吧~