高校|密码算法靠数学提高安全性

text":"温州话素以难懂著名 , 据传连温州附近的其他城市也很难理解 。 这种客观条件 , 为使用温州话传递秘密信息创造了土壤 , 因此有一种说法是 , 抗日战争时期中国军队使用温州话进行秘密通信 。
这听起来确实还挺有可行性的 , 而且二战时期美军就曾使用纳瓦霍语做出类似的操作 。
使用一种复杂形式的通用性语言作为“加密”方案 , 虽然在某种现实应用中可以奏效 , 但在算法选择上其实并不明智 。
要知道 , 语言是可以翻译的 。 因此 , 如果将信息传递的安全性完全依赖于语言复杂性特质 , 一旦这种语言具有较大受众 , 对方就很可能具备该类语言的解析能力 , 从而使该语言失去保密效果 。
在密码学中 , 这种使用难懂语言的加密方案可以归类到的古典密码算法 , 而现代社会普遍采用了现代密码学 , 加密信息的安全性已经不再依赖密码算法的保密性 。
这一讲 , 我们就来一起研究密码算法的安全性 。
数学层面的密码安全风险古典密码学
古典密码学是密码学中的一个类型 , 主要使用替换式密码或移项式密码 。 尽管古典密码学由于安全性不足等问题现在已经逐渐退出实际应用了 , 但是我们从它开始了解密码学的发展历程 , 可以帮助你理解更深层的密码学原理 。 那么接下来 , 我们就来看几种经典的古典密码算法 。
凯撒密码是一种广为人知的加密技术 , 是一种替换式密码 。 它的加密逻辑是非常简单的 , 明文中的字母按照固定偏移向后取值 , 结果即为密文 , 反之即是解密过程 。
明文字母表:ABCDEFGHIJKLMNOPQRSTUVWXYZ
密文字母表:DEFGHIJKLMNOPQRSTUVWXYZABC
凯撒加密也可以使用更直观的数学公式来表示:
Res_Enc = ( plain_text + n ) mod 26
Res_Dec = ( cipher_text - n ) mod 26
其中n代表偏移量
可以看到 , 如此简单的加解密逻辑 , 在目前的技术发展下安全性是非常低的 , 站在当下 , 凯撒密码的影响如何我们已无从知晓 , 但是从凯撒密码的知名度和影响力来看 , 它确实是在当时被广泛使用的 。 根据现有的记载 , 直到公元 9 世纪 , 人们都没有任何技术能够破解这种最基本、最简单的替换密码 , 要知道凯撒可是生活在公元前 1 世纪 。
在了解凯撒密码的原理之后 , 如果让你来强化加密算法 , 你会选择什么方案呢?
也许聪明的你已经想到了 , 最直观的方案就是 , 让字母的替代逻辑更加复杂 。 凯撒密码是一种经典的单字母替代式密码 , 那么它的进阶形态就变成了多字母替代式密码 , 在历史上它还有一个经典的名称——维吉尼亚密码 。
维吉尼亚密码的运算逻辑会稍显复杂 , 首先会生成一个二维矩阵 Matrix , 然后再选择一个关键字 X:
Matrix:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
【高校|密码算法靠数学提高安全性】O P Q R S T U V W X Y Z A B C D E F G H I J K L M N

推荐阅读