密码学基础
2015-05-28但婷婷杨洲
但婷婷 杨洲
摘 要:系统介绍了密码学研究的基本问题、密码学系统知识、包括密码算法分类、密码系统模型、密码系统的基本要求、密码分析、常见的密码攻击系统、经典加密技术、密码保护。
关键词:密码学、密码算法、密码系统、密码分析、密码攻击、密码保护。
在历史上(1975年以前),为了通过公开的通信媒体(如电话)进行秘密通信,密码学研究的问题仅限于设计和分析密码体制(通称密码系统)。但从1975年以来,构造不能伪造的数字签名问题和设计抗欺骗协议(fault-tolerantprotoc01)问题也被包括在现代密码学的研究范围内。总之,设计和分析任何安全协议(为抗拒参与者各方内部或外部可能有不诚实者为了达到种种目的而进行的恶意破坏)的问题都被认为是现代密码学研究的领域。因此,如何度量或评价一个密码系统(包括协议)的安全性则成为密码学研究的一个重要问题。现有两种定义“安全性”的方法:一种是基于信息论的方法(经典方法);另一种是基于计算复杂性理论的方法(现代方法)。为了构造安全的密码系统,有几个基本工具是非常有用的,它们是单向函数、伪随机序列生成器、零知识证明和杂凑函数(Hashfunction)。对于上述问题和涉及的有关概念,在给出它们的正式定义之前,先给出一个简短的基于直观的说明,以使读者对密码学要研究的问题有一个直观的了解。
密码学是研究编制密码和破译密码的技术科学[1-3]。研究密码变化的客观规律,并应用编制密码以保证秘密的通信,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。密码学是在编码与破译的斗争实践中逐步发展起来的,并随着先进科学技术的应用,已成为一门综合性的尖端技术科学。
密码系统模型
一个密码系统模型一般由以下几部分组成:明文消息空间M;密文消息空间E;密钥空间K1和K2,单钥体制下K1=K2=K,此时密钥k需经过安全的密钥信道由发送方传给接收方;加密变换Ek1,M→E,其中k1∈K1,由加密器完成;解密变换Dk2,E→M,其中k2∈K2,由解密器完成。称总体(M,E,K1,K2,Ek1,Dk2)为一保密系统。对于给定明文消息m∈M,密钥k1∈K,加密变换将明文m变换为密文c:
c=f(m,k1)=Ek1(m),m∈M,k1∈K1
接收端利用通过安全信道送来的密钥k(单钥体制下)或利用本地密钥发生器产生的解密密钥k2∈K2(双钥体制下)控制解密操作D,对收到的密文进行变换得到恢复的明文消息:
m=Dk2(c),m∈M,k2∈K2
而密码分析者则利用其选定的变换函数h,对收到的密文c进行变换,得到的明文是明文空间的某个元素:
m=h(c),m∈M,k2∈K2
一般m≠m。如果m`=m,那么密码分析者便成功地完成了破译任务。
密码系统的基本要求
在密码学中,加密算法和密码系统的安全性问题始终是密码学研究的主要问题。1949年,Shannon在“保密系统的信息理论”一文中,把信息论引入到密码学中,用信息论的观点分析消息源、密钥源和截获的密文,全面阐述了完全保密、理论保密和实用保密等新概念,使信息论成为研究密码学的一个重要理论基础。一般对加密系统有如下基本要求:
密码系统的密钥空间必须足够大,因为如果密钥空间小,攻击者可以采用已知明文,甚至唯密文攻击,穷举整个密钥空间从而攻破密码系统。加密与解密过程必须是计算上可行的,能够被方便地实现与使用。整个密码系统的安全性系于密钥上,即使密码方案被公布,在密钥不泄漏的情况下,密码系统的安全性也可以得到保证。
密码分析
密码分析是研究密码体制的破译问题,即试图在不知道密钥的情况下,从截取到的密文恢复出明文消息或密钥,这正好是搭线者想做的事情。同时,密码体制的设计者和用户也应关心密码分析问题,因为对一个具体的密码体制的分析结果是评价这一体制安全性的一种检验。根据密码分析者可能取得的分析资料的不同,密码分析(或称攻击)可分为下列四类:
(1)唯密文分析(攻击),密码分析者取得一个或多个用同一密钥加密的密文;
(2)已知明文分析(攻击),除要破译的密文外,密码分析者还取得一些用同一密钥加密的明密文对;
(3)选择明文分析(攻击),密码分析者可取得他所选择的任何明文所对应的密文(当然,不包括他要恢复的明文),这些密文对和要破译的密文是用同一密钥加密的;
(4)选择密文分析(攻击),密码分析者可取得他所选择的任何密文所对应的明文(要破译的密文除外),这些密文和明文和要破译的密文是同一解密密钥解密的,它主要应用于公鈅密码体制。
常见的密码攻击技术
密码攻击通过分析密文以发现原始明文。密码攻击努力尝试在密文中找出可辨认的模式,或使用不同密钥不断运行同一个算法直到发现匹配的明文。攻击者使用的手段多种多样,包括数学工具、各种技巧的使用、平常的老式分析推理以及耐心和判断力等。
经典加密技术
替代密码:替代密码就是明文中每一个字符被替换成密文中的另外一个字符。接收者对密文进行逆替换恢复出明文。
置换密码:通过执行对明文字母的某种置换,取得一种类型完全不同的映射,根据这种映射生成置换密码。在置换密码中,密文与明文的字母保持相同,但顺序被打乱了。
转轮机:在上个世纪20年代,人们发明各种机械加密设备用来自动处理加密。大多数是基于转轮的概念,机械转轮用线连起来完成通常的密码替代。
简单异或:简单异或加密算法直接将密钥和明文进行异或操作,不断循环,直到明文被全部加密完。
一次一密乱码本:每个密钥仅对一个消息使用一次。发方对所发的消息加密,然后销毁乱码本中用过的一页或用过的磁带部分。收方有一个同样的乱码本,并依次使用乱码本上的每个密钥去解密密文的每个字符。收方在解密消息后销毁乱码本中用过的一页或用过的磁带部分。新的消息则用乱码本的新的密钥加密。
常见的密码保护
密码保护主要功能就是为提高账户安全性,除密码外又加了一把“锁”。传统的账号加一组密码的账户保密方式存在很大的安全隐患,当今互联网木马猖獗,这种账户极易被不法者使用盗号木马利用系统漏洞轻易盗取或破解,如键盘钩子这一类的木马工具。密码保护就是为增强账号安全性而诞生的,是账号的二级密码,相当于为账户再加了一把锁,安全性大大提高。为保护您的账户安全,以免个人隐私泄露,请使用密码保护。
参考文献:
[1] 蔡乐生,应用密码学[M],北京:中国电力出版社,2005.
[2] 章照止,现代密码学基础[M],北京:北京邮电大学出版社,2004.
[3] 佚名,保护密码安全是持久战[J],微电脑世界,2012年06期
[4] 袁树雄、韩凤英,密码学基础研究[J],科技资讯,2012、05、23
[5] 任伟,密码学与现代密码学[J],武汉:中国地质大学,2011年08期