【密码故事】密钥的重要性

吕鑫
替换密码的简单有效使其在公元前一个千年里在密文技术领域占尽了优势。密码编码者已经建成了一个系统能够保证安全的通讯,因此如果没有必要,就不必进一步发展,也就无需更深入研究。因而任务就落在了密码破解者的身上,他们要不断地尝试破解替换密码。

每个不同的密码都代表着一种加密方法,包括算法和密钥两元素,这两个元素描述了每种加密的精确细节。在上述例子中,将信息中每个明码字母用密码字母来代替就代表一种算法,而密码字母表可以是明码字母表的任一种重排。密钥则明确了某特定加密过程中所用的密码字母表。

一个敌人在研究一段被截获的信息时,或许能猜到其所用的算法,却无法得知其所用的特定密钥。例如,他们可能深深地怀疑原始文件中的每一个字母都根据某种密码表被另一个不同的字母代替,但他们不可能知道哪个密码表被使用了。假如密码表,即密钥,只是发送者和接收者之间严守的一个秘密,那么敌人就不能对截住的信息进行解密。和算法相对立,密钥的重要性是密码术中永久的一项原则。对此,1883年,荷兰语言学家奥古斯特在其所著《密码学》一书中作了权威性的陈述:一个密码系统的安全性不在于对加密算法进行保密,而仅在于对密钥的保密。

2345截图20200908083720.png

【图1】发送人通过一种加密的算法来加密明文。算法是最普遍的加密系统,并要选择一种特定的密钥同时提供密钥和算法就会使密文解密。在密文送到接收者手中的途中可能会被敌人拦截,所以应防止敌人解密。而接收者既知道算法又知道发送人的密钥,所以密文能被接收者最终解密。

除了对密钥保密外,一个安全的密码系统也必须有一个大范围的可供选择的密钥。在保证密钥数量的同时,密钥的简单性也很重要。因为密钥是发送者和接收者所共知的,密钥越简单,误解的机会就越小。可不通过随机地重排明码字母表来得到密码表,而是选择一个关键词或关键词组,先将其中的空格和重复字母去掉,然后将其作为密码表的前部分密码字母,至于后部分,先将明码字母表中在关键词组出现过的字母去掉,再按顺序接在其后。例如:

2345截图20200908083720.png

【图2】用JULIUS CAESAR作为一个关键词组,先将其中的空格和重复字母去掉(JULISCAER),然后将其作为密码表的前部分密码字母,至于后部分,先将明码字母表中在关键词组中出现过的字母去掉,再按顺序接在其后。因而,所得密码表就是:

替换密码的简单有效使其在公元前一个千年里在密文技术领域占尽了优势。密码编码者已经建成了一个系统能够保证安全的通讯,因此如果没有必要,就不必进一步发展,也就无需更深入研究。因而任务就落在了密码破解者的身上,他们要不断地尝试破解替换密码。究竟有没有方法能使敌方拦截者复原一段被加密的信息呢?许多古代学者认为替换密码是无法破解的,庞大数目的可能密钥的存在,使得几个世纪来都被认为是可靠的。但是,密码破解者最终发现了一种捷径来穷搜所有可能的密钥。不用花费数亿年的时间来破解一个密码,通过捷径复原一条信息也就是几分钟的事情。这项突破首先发生在东方,是一次语言学、统计学和宗教信仰之间的卓越的联合。

THEEND

最新评论(评论仅代表用户观点)

更多
暂无评论