明文,是指没有加密的文字(或者
字符串),一般人都能看懂的意思,属于
密码学术语。在通信系统中它可能是
比特流,如
文本、
位图、数字化的
语音或者数字化的视频图像等。一般可以简单地认为明文是有意义的
字符或比特集,或通过某种公开的
编码标准就能获得的消息。经过某个
加密算法进行作用,将作用后的文字称为
密文。对
密文来说,若想得到明文,就应通过与
加密算法对应的解密算法进行解密,恢复出明文。
1.待伪装或
加密的消息(message)。在通信系统中它可能是比特流,如文本、位图、数字化的语音或者数字化的视频图像等。一般可以简单地认为明文是有意义的字符或比特集,或通过某种公开的编码标准就能获得的消息。
2.接受方通过共同的
密码破译方法将其破译解读为直接的文字或可直接理解的信息,称为“明文”。
破译
密文最简单的方法,就是尝试所有可能的钥匙组合。假设破译者有识别正确
解密结果的能力,经过多次密钥尝试,最终会有一个钥匙让破译者得到
原文,这个过程就称为
密钥的穷尽搜索。
在不知其钥匙的情况下,利用数学方法破译
密文或找到钥匙的方法,称为
密码分析(Cryptanalysis)。密码分析有两个基本的目标:利用密文发现明文;利用密文发现钥匙。根据
密码分析者破译(或攻击)时已具备的前提条件,通常将密码分析攻击法分为4种类型。
(1)惟密文破解(Ciphertext-only attack)。在这种方法中,密码分析员已知
加密算法,掌握了一段或几段要解密的密文,通过对这些截获的密文进行分析得出
明文或
密钥。惟密文破解是最容易防范的,因为攻击者拥有的信息量最少。但是在很多情况下,分析者可以得到更多的信息。如捕获到一段或更多的明文信息及相应的密文,也是可能知道某段明文信息的格式。
(2)已知明文的破译(Known-plaintext attack)。在这种方法中,
密码分析员已知加密算法,掌握了一段明文和对应的密文。目的是发现加密的钥匙。在实际使用中,获得与某些密文所对应的明文是可能的。
(3)选定明文的破译(Chosen-plaintext attack)。在这种方法中,密码分析员已知
加密算法,设法让对手加密一段分析员选定的
明文,并获得
加密后的
密文。目的是确定加密的钥匙。差别比较分析法也是选定
明文破译法的一种,密码分析员设法让对手
加密一组相似却差别细微的明文,然后比较他们加密后的结果,从而获得加密的钥匙。
(4)选择
密文攻击(Chosen-ciphertext attack)。密码分析者可得到所需要的任何密文所对应的
明文(这些明文可能是不明了的),解密这些
密文所使用的
密钥与解密待解的密文的密钥是一样的。它在密码分析技术中很少用到。
利用加密系统实现中的缺陷或
漏洞等都是破译密码的方法,虽然这些方法不是密码学所研究的内容,但对于每一个使用
加密技术的用户来说是不可忽视的问题,甚至比加密算法本身更为重要。常见的方法有:
(1)强壮加密算法。通过增加
加密算法的破译复杂程度和破译的时间,进行
密码保护。如加长加密系统的
密钥长度,一般在其他条件相同的情况下,密钥越长破译越困难,而且加密系统也就越可靠。