1.1信息安全与密码技术
- 密码技术是一门古老的技术,自人类社会出现战争便产生了密码(cipher)。
- 是信息安全技术的基础,密码学是密码技术的核心
- 四大特性:机密性保护,可鉴别性,完整性保护和信息抗抵赖性
1.2密码技术发展简介
- 古典密码时期
凯撒密码:字母变代换密码。这种密码把信中每个文字的字母都用字母顺序表中相隔两位后的一个字母代换
置换密码:列代换,周期置换,齿轮置换
维吉尼亚密码:多表代换密码。经常用重合指数法破解;原理:明文和密钥相加进行模26运算
K = k[1]k[2]k[3]..........k[n]
明文:M = m[1]m[2]m[3]........m[n]
密文:C = c[1]c[2]c[3].............c[n] = (m[i]+k[i]) mod 26
解密:(c-k)mod 26
- 近代密码时期
1834年惠斯顿发明了电机;
1920年美国弗纳姆发明了弗纳姆密码,原理:明文加密钥进行模2相加
1837年美国莫尔斯发面了电报;
1895年无线电产生,进行无线电密码的编制和破译
- 现代密码时期
1949年香农(Shannon)发表了《保密系统的通信理论》,开始了对信源,密码源,密文进行数学描述和定量分析。
1977年,美国国家标准局正式公布实施了美国数据加密标准DES(Data Encryption Standard)
1976年,美国的迪菲和赫尔曼发表了密码学新方向一文,首次提出了公钥密码体制的概念和设计思想
1978年,美国的里维斯特、沙米尔、阿德尔曼提出了一个比较完善的公钥密码体制---RSA体制
1997年美国国家标准局和技术研究所发起征集高级数据加密标准算法的活动,取代走向末路的DES密码算法。
2000年10月,比利时密码学家Joan Daemen 和 Vincent Rijmen 提出的“Rijndael”数据加密算法被确定为AES算法
20世纪末AES算法征集活动又掀起了一次分组密码研究的高潮。同时公钥密码领域,椭圆曲线密码体制安全性极高
1.3密码学基本概念
- 1.3.1 密码学的主要任务
经典密码学主要关于加密和解密的理论,主要运用于通信保密。
- 机密性:特定用户进行访问阅读信息,通过加密技术来实现
- 数据完整性:保证数据完整传输
- 鉴别:一种与数据来源和身份鉴别有关的安全服务;可以通过数据加密,数据签名,鉴别协议等技术实现
- 抗抵赖性:通过对称和非对称加密及数字签名等技术,并借助可信机构或证书机构的辅助来提供这种服务;密码学主要包括:密码编码学,密码分析学
- 1.3.2保密通信模型
密码技术的基本功能是:实现保密通信,经典的保密通信模型,如图所示。
- 明文:文本、位图、数字化的语音流、数字化的视频图像
- 密文:对明文进行伪装
- 加密:将明文变成密文的加密过程
- 解密:将密文变成明文的解密过程
- 密钥:密钥是一个可变参数,通常是一组满足一定条件的随机序列,密钥通常用k表示,(ke,kd)
- 五元组{M,C,K,E,D}就称为一个密钥系统。
- 1.3.3密码系统的安全性
密码系统安全性分两个方面:密码算法本身的安全性;密码算法之外的不安全因素(管理,使用中的漏洞)
- 无条件安全性:无法通过密文得到任何有助于破译密码系统的信息。(一次一密的系统)
- 实际安全性:计算安全性;可证明安全性
计算安全性:使用目前最好的方法攻破该密码系统所需要的计算远远超出攻击者的计算资源水平
穷举攻击法:可以使用一种只有密文的攻击方法来破译
可证明安全性:归结为某个数学难题(大整数素因子分解,计算离散对数等),因为数学难题的求解困难,从而给出等价证明
综上所述,一个密码系统要达到实际的安全性,需要满足以下准则:
(1)破译系统的实际计算量很大
(2)计算时间超过被加密信息有用的生命周期
(3)破译该密码系统的费用超过被加密信息的本身价值
- 1.3.4密码系统设计的基本原则
(1)对密钥进行保密,对算法可以公开,优点如下:
有利于对密码算法的安全性进行公开测试评估
防止密码设计者在算法中隐藏后门
易于实现密码算法的标准化
有利于实现密码算法产品的规模化生产,实现低成本和高性能
(2)归纳起来,一个提供机密性服务的密码系统是实际可用的,必须满足如下基本要求:
系统的保密性不依赖于对加密体制或算法的保密性,而依赖于密钥的安全性。“一切秘密寓于密钥之中
满足实际安全性
能应用于明文和密文的所有加密空间
加密和解密算法能有效的计算,密码系统易于实现和应用
(3)密码系统攻击分:
被动攻击:截获密文进行分析明文和系统密钥
主动攻击:主动采用删除、修改、增加、填入、重放、伪造等手段向密码系统进行注入假消息
- 密码体制的分类及特点
(1)根据密码算法所用的密钥数量
根据加密与解密密钥是否相同,或是否能通过加/解密钥导出解加密密钥,可以将密码体制分为:对称密码体制(DES、AES、IDEA、RC6)和非对称密码体制(RSA、ElGamal、椭圆曲线密码)
对称密钥:基于复杂的非线形变换和迭代运算实现算法安全性的
非对称密钥:一般基于难攻克的数学难题(大整数素因子分解等可证明安全性),方便实施数字签名验证
(2)根据对明文信息的处理方式
可以将对称密码分为:分组密码和序列密码
分组密码:将消息进行分组,一次处理一次数据块元素的输入,并产生一个输出块(采用64bit、128bit)(DES、AES、IDEA、RC6)都是采用分组密码算法
序列密码:连续的处理输入元素(RC4、A5、SEAL)
(3)根据是否能进行可逆的加密交换
分为:单向函数密码体制和双向变换密码体制
单向函数密码体制:很容易将明文转换成密文,但将密文转换成明文不可行。(MD4、MD5、SHA-1)
双向变换密码体制:可逆的加密和解密变换,绝大多数都属于这一种
对称密码体制:
优点:加密、解密的处理速度快、效率高、算法安全性高
缺点:(1)密钥分发过程复杂,代价高,很难将密钥通过安全信道传输到接受方
(2)密钥管理量的困难,是C(n,2)问题
(3)保密通信系统的开放性差
(4)存在数字签名的困难性:难以实现抗抵赖的安全需求
非对称密码体制:
优点:密钥分配简单、便于管理、开放性好、可以实现数字签名
缺点:加密解密困难,处理速度慢,同等情况下密钥位数多,存在“可能报文攻击(用公开加密密钥尝试加密一些明文,进行探测),可以通过加入随机化因子使相同明文加密的密文不同