密码学

来自中文百科专业版
跳转至: 导航搜索

  密码学汉语拼音:mì mǎ xué;英语:cryptology),研究如何隐密地传递信息的学科,是研究保密通信的一门科学。在西欧语文中,源于希腊语kryptós“隐藏的”,和gráphein“书写”。密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。密码学者Ron Rivest认为:“密码学是关于如何在敌人存在的环境中通讯”,自工程学的角度,这相当于密码学与纯数学的异同。密码学是信息安全等相关议题,如认证、访问控制的核心。密码学的首要目的是隐藏信息的涵义,并不是隐藏信息的存在。密码学也促进了计算机科学,特别是在于电脑与网络安全所使用的技术,如访问控制与信息的机密性。密码学已被应用在日常生活:包括自动柜员机的芯片卡、电脑使用者存取密码、电子商务等等。

  密码学主要包括加密和解密两方面的工作。通常情况下,将可懂的消息称为明文,将明文通过加密变换成的不可懂的消息称为密文,这一过程称为加密。而把密文通过逆变换成明文的过程叫解密。明文与密文的相互变换是可逆的,并且只存在唯一的、无误差的可逆变换。完成加密和解密的算法称为密码体制。

  密码学历史悠久,公元前400年就开始使用密码技术传递军事情报,但直到20世纪初,伴随着电话、电报等革命性技术的信息传输手段的广泛应用,密码学才形成比较完善的科学。20世纪40年代,C.E.香农信息论密码学数学结合起来,研究了保密系统的数学结构,从理论上推动了密码技术的发展,确立了密码学作为一门新兴学科的理论基础。密码学在加密与破译的斗争实践中逐步发展。1917年,英国破译了德国外长A.齐默尔曼的电报,促成了美国对德宣战。1942年,美国从破译日本海军密报中获悉日军对中途岛地区的作战意图和兵力部署,以劣势兵力击破日本海军主力。在保卫英伦三岛和其他许多著名历史事件中,密码破译成功都起到了极其重要的作用。密码学与语言学数学电子学声学信息论计算机科学等有着广泛而密切的联系。

  密码学现在已经发展成了一个囊括多个分支学科的综合性学科,主要包括密码编码学、密码分析学、密码密钥学。密码编码学是研究加密算法的规律并将其用于通信以保护秘密信息的科学。密码分析学也称密码破译学,是研究密码变化的规律并将其用于密码以获取信息情报的科学。密码密钥学则将密钥作为研究对象,包括密钥的产生、分配、存储、保护、销毁等技术。

  由于通信技术的发展,传输介质开始由光纤向激光转变,这一转变导致了密码学再一次发生飞跃,这就是量子密码学的诞生。以往密码学的理论基础是数学,而量子密码学的基础则是量子力学。如果用量子密码传递数据,则此数据将不会被任意撷取或被插入另一段具有恶意的数据,数据流将可安全地被编码及译码,而编码及译码的工具就是随机的序列。当前量子密码研究的是如何利用量子技术在信道上安全可靠地分配密钥。但由于量子密码在传送距离上仍未能满足实际通信的要求,其安全性仅基于现有的物理定理,还可能存在新的攻击方法。

密码编码学

  在编码体制中,主要有对称密钥体制和非对称密钥体制。对称密钥体制中,加密与解密使用相同的密钥;而非对称密钥体制,加密与解密的密钥不同,且不能相互推导。进入20世纪70年代,由于集成电路技术和相关理论的发展,开创了现代密码学。1975年3月,IBM公司公开了DES数据加密标准,DES数据加密算法是对称密钥体制的典型算法;1976年,有人提出公钥加密系统的构想,这种加密系统要求密钥成对出现,一个为加密密钥,另一个为解密密钥。1978年,提出了第一个实用的公钥密码算法,即著名的RSA(Rivest、Shamir和Adleman三人姓氏字头)密码算法,该算法是经典的非对称密钥体制加密算法。直到现在,DES和RSA两个密码算法仍然是现代密码学的经典。

  DES算法属乘积式分组密码算法,用64位密码对64位数据进行加密,经过移位和代换两种方式作16次加密操作后,输出64位密文。由于DES加密算法简单,易于硬件实现,采用大规模集成电路芯片,每秒可对多种信息进行数十比特到数千万比特的加密操作。RSA加密算法的关键是利用现在对大数不能快速因数分解的特点,将大数的质因数作为密钥。找两个很大的质数p,q,再找一个与(p−1)*(q−1)互质的数r,则p、q、r为私钥(解密密钥)。找一个数m,使得r)*m除以(p−1))*(q−1)后的余数为1,n=p)*q,则m、n为公钥(加密密钥)。其中的公钥与私钥不能互相推导,这保证了发送信息的不可抵赖性。

密码分析学

  与密码编码学正好相反,密码分析学是攻击密文而无须密钥的科学。密码分析学已经使用理论性攻击发现了许多算法中的安全漏洞,并导致了算法的废弃或重大修改。密码分析学在分析和验证算法、使算法更加安全方面,起着关键性作用。对于对称块密码,可能的攻击机制包括微分与线性的密码分析、代数攻击以及利用弱密钥。这些攻击方法中,穷举搜索是一种尝试所有可能的密钥组合直到找到一个合适的组合的技术,它在许多情形下,尤其是如果搜索的可能性的范围可被缩小时,仍不失为一种切实可行的解决方案。更进一步,如果可分析密文可显示其规律性,或如果能将明文样本与由其派生的密文进行比较,则找到密钥的可能性会大大提高。