产品密码
在讨论换位密码指出通过结合两个或两个以上的简单的互换,更安全加密可能的结果。在手动加密译解密码者,这是一个有用的装置实际上双换位或产品密码主要基于矩形矩阵被广泛使用。也有一些产品密码被称为类的使用分馏系统制成的,其中一个替换第一次明文到多个符号的符号(通常对,在这种情况下,密码被称为biliteral密码)密文,然后由最后一个换位加密,称为superencryption。最著名的的密码是一个分馏系统,ADFGVX密码采用德国军队第一次世界大战。该系统使用了一个6×6矩阵substitution-encrypt 26个字母和10位成双的符号,D, F, G, V,和x结果biliteral密码被写进一个矩形数组和路由加密通过阅读的顺序列关键字表示,如下 。
法国伟大的密码破译者乔治·j·Painvin1918年成功地cryptanalyzing关键ADFGVX密码,灾难性的影响为德国军队在战斗中巴黎。
关键密码
密钥加密技术
密钥加密技术是有限的在实践中被称为密钥分发问题。因为所有参与者必须拥有相同的密钥,如果他们的身体,通常情况下是如何得到关键的问题放在第一位。外交和军事组织传统上使用快递为最高级别的通信系统分发密钥,然后superencrypt和分发密钥用于低层系统。这是不切实际的,但是,对于大多数商业和私人需求。此外,密钥持有者不得不信任彼此无条件保护密钥的占有,而不是滥用。再一次,这可能是一个可容忍的条件在外交和军事组织中,在商业领域几乎是决不能接受的。
另一个密钥分发问题是大量的钥匙需要灵活、安全通信中甚至适度的用户数量。只有一个键需要安全沟通双方之间,每一个潜在的参与者在一个更大的集团需要一个独特的关键。为了说明这一点,考虑一个组织只有1000用户:每个需要一个不同的私钥为每个其他的999用户。这样一个系统将需要499500个不同的键,每个用户都有保护999键。不同的键数量的增加成比例的用户数量的平方。安全分布很多钥匙是不能解决的,也要求用户密钥的安全存储。换句话说,对称密钥加密在网络是不现实的,所有参与者都等于在所有方面。一个“解决方案”是由所有用户创建一个可信authority-unconditionally可信谁每个用户可以安全地进行通信来生成和分发根据需要临时会话密钥。每个用户只保护一个关键,而负担保护网络中所有的键转移到中央权威。
两个关键的加密
公开密匙加密
1976年,在一个最见解密码学上的启发,太阳微系统公司。电脑工程师Whitfield Diffie和斯坦福大学电气工程师马丁·赫尔曼意识到几乎可以完全解决密钥分发问题如果密码系统,T(也许一个逆系统,T′),可以设计,使用两个密钥和满足下列条件:
-
它必须容易译解密码者计算一对匹配的钥匙,e(加密)和d(解密),T e T′d=我。虽然不是必须的,它是可取的T′d T e=我这T=T′。因为大多数的系统设计,以满足点1 - 4满足这些条件,我们将假定他们持有hereafter-but这不是必要的。
-
加密和解密操作,T,应该是(计算)容易进行。
-
至少一个的键必须是计算上不可行的密码破译者恢复即使他知道T其他关键,任意匹配明文和密文对许多。
-
它不应该被计算可行的恢复x鉴于y,在那里y=T k(x),几乎所有的钥匙k和消息x。
鉴于这样的一个系统,Diffie和赫尔曼建议每个用户保持他加密密钥解密密钥的秘密和发布在公共目录。保密并不是必需的,在分配或存储此目录的“公共”键。任何人都希望私下与用户沟通的关键是在目录中只有查找接收方的公钥对消息进行加密,只有预期的接收者才能解密。键所涉及的总数是用户数量的两倍,每个用户都有一个关键在公共目录和自己的秘密密钥,他必须保护自己的利益。显然,公共目录必须经过身份验证,否则一个可以骗沟通C当他认为他是沟通B只需替换C的关键B的年代一个的目录的副本。因为他们都集中在密钥分发问题,Diffie和赫尔曼称他们发现公开密匙加密。这是第一次讨论的两个关键加密开放文学。然而,鲍比曼上将,而导演的美国国家安全局(NSA)从1977年到1981年,显示两个关键加密已经知道该机构近十年早些时候,已经发现了詹姆斯·埃利斯Clifford旋塞,马尔科姆·威廉姆森在英国政府总部(GCHQ)代码。
在此系统中,密码创建一个密钥可以被任何人使用相应的解密公开key-thereby提供了一种识别发起人以牺牲完全放弃保密。使用公钥生成密码只能由用户进行解密的密钥,而不是由他人持有公共key-however,秘密密钥持有者没有收到关于发送者的信息。换句话说,系统提供保密的完全放弃任何能力的认证。Diffie和赫尔曼所做分离验证该突出的例子的秘密通道部分之和大于整体。密钥加密技术被称为对称的原因很明显。上面一个密码系统满足条件1 - 4被称为不对称原因同样明显。有对称密码体制的加密和解密密钥不相同的例子,矩阵转换的文本的一个关键是一个满秩矩阵(可逆)和其他它的逆矩阵。尽管这是一个两个关键密码系统,因为它很容易计算逆矩阵是非奇异,它不满足条件3,并不被认为是不对称的。
因为在非对称密码系统每个用户都有一个秘密通道从其他用户(使用他的公钥)和身份验证通道从他所有其他用户(使用自己的秘密密钥),可以实现使用superencryption保密和认证。说一个希望在秘密交流的信息B,但B想要确定发送的消息一个。一个首先与他的秘密密钥加密消息,然后superencrypts生成的密码B的公钥。结果外密码才能解密B,从而保证一个,只有B可以恢复内心的密码。当B打开内心的密码使用一个他的公钥是确定的消息来自有人知道一个的关键,大概一个。简单,这一点协议是一个范式对于许多现代应用程序。
密码器构造了这种加密方案,从一个“硬”的数学问题分解的产品数量两个非常大的素数和试图使该方案相当于的密码分析解决困难的问题。如果可以,cryptosecurity计划将至少一样好底层数学问题很难解决。这还没有被证明的任何候选人计划到目前为止,尽管它在每个实例。
但是,一个简单的、安全的身份证明基于这样的计算不对称是可能的。用户第一次秘密选择两个大素数,然后公开发布他们的产品。虽然它很容易计算模块化平方根(数量的平方就使得其余指定当除以产品)如果主要因素是已知的,它只是努力保理(实际上相当于保理)产品如果质数是未知的。因此用户可以证明他的身份。他知道原来的质数,证明他可以提取模块化的平方根。用户可以相信没有人可以模仿他这样做,他们将他的产品必须因素。有一些微妙之处必须遵守的协议,但这说明了现代密码学计算依赖于困难的问题。