密码学:加密基础

来源:互联网 发布:抓获网络诈骗 编辑:程序博客网 时间:2024/06/05 02:28

加密基础

怕不是得重新再学一遍,加油吧,耐心Festinatione facit vastum
溯回传送器

MXDXBVTZWVMXNSPBQXLIMSCCSGXSCJXBOVQXCJZMOJZCVC
TVWJCZAAXZBCSSCJXBQCJZCOJZCNSPOXBXSBTVWJC
JZDXGXXMOZQMSCSCJXBOVQXCJZMOJZCNSPJZHGXXMOSPLH
JZDXZAAXZBXHCSCJXTCSGXSCJXBOVQX
—plaintext from Lewis Carroll, Alice in Wonderland

The solution is by no means so difficult as you might
be led to imagine from the first hasty inspection of the characters.
These characters, as any one might readily guess,
form a cipher  that is to say, they convey a meaning…
—Edgar Allan Poe, The Gold Bug


1、何谓“加密”?

1·1 “加密”的基本术语:

● 密码学 —— 制作和破解“秘密代码”的技艺与科学
● 加密(加密系统) —— “秘密代码”的制作过程
● 密码分析 ——“秘密代码”的破解过程
● 加密 —— 和上面都可以统称,但是具体含义要考虑环境


1·2 概念详解

“密码”或者“加密系统”用于“加密”数据;

对于原始未加密的数据,我们称之为“明文”;

对于加密的结果,我们称之为“密文”;

通过称为“解密”的过程,我们把密文恢复成明文;

“密钥”是一个重要的概念,我们用它来配置密码系统以实施加密和解密。


在“对称密钥”密码体系中,加密和解密使用的是同样的密钥(去画个图(°Д°)):

黑盒加密示意图

上面这个黑盒密码系统(画的太丑了,就没敢放出来),就是说明了这个特性:加密和解密用的是同样的密钥。

另外,还有所谓“公开密钥”加密技术的概念,其中用到的加密和解密密钥是不同的。既然使用不同的密钥,公开加密密钥就成为了可能发生的 —— 这就是公开密钥(非对称加密中的)这个名字的由来。

在公开密钥加密中,加密密钥被对应的称为“公钥”,而解密密码则需要确保机密,被称为“私钥”。

在对称密钥加密中,密钥被称为“对称密钥”。


对于理想的密码系统,应该是这样的:如果在没有密钥的情况下,想要从密文中回复明文是不可能的。

而且“密码系统的内部工作原理对于攻击者,是完全可见的,唯一的秘密是密钥。” —— 传说中的Kerckhoffs原则


2、经典加密

简单替代密码
双重换位加密法
密码本
一次性密码本


2·2 简单替换密码

三位偏移—>到凯撒密码

明文:urtheloveliestgirlihaveevermet

密文:XUWKHORYHOLHVWJLUOLKDYHHYHUPHW

“三位偏移”的轮换算法其实很简单,无论是多少位其实都差不多,如果我们限定这种简单替换密码仅在常规字母表中进行轮换,那么可能的秘钥n将属于{0,1,2,…,25}这个集合的元素之一。

我们假设对手截获了密文消息:

CSYEVIXIVQMREXIH

并且他猜想该密文是通过一种简单的基于“n位偏移”的替换算法加密的。那么就可以尝试26个可能密钥里的每一个,通过使用每一个假定的密钥来“解密”密文消息,并检查所获得的假定结果明文是否有实际含义。如果消息确实是通过“n位偏移”来加密的,对手就能完全找到真实的明文,进而获得密钥。平均而言,这大约只需经过13次尝试。

这种强力攻击就是对手经常尝试的事情之一。假定对手拥有足够的时间和资源,他将会最终遍历到那个正确的密钥从而破解信息密文。

那么多大的密钥空间算是足够大呢?

未完待续


分割线