1、前言 算法
信息安全面临的威胁无处不在,多为人为威胁,也就是对信息的人为攻击,人为攻击可分为被动攻击和主动攻击。安全
被动攻击:即为窃听,分为两类:一类是消息内容获取;另外一类是业务流分析,如获取消息的格式,长度及位置等敏感信息。该攻击由于对消息没有作出变更,难以检测,因此被动攻击重点在于预防而不是检测。网络
主动攻击:为对数据流的改动或产生假的数据流,分为三类:①中断,对系统可用性进行攻击,如破坏管理系统等;②篡改,对系统的完整性攻击,如修改传送的消息内容等;③伪造,对系统真实性攻击,如插入伪造的消息。加密
上述攻击通常多为经过恶意软件进行破坏,多为病毒、蠕虫等恶意程序。spa
恶意软件可分为两类:一类须要主程序,一类不须要。须要主程序的恶意软件是某个程序中的一段,例如,特洛伊木马、病毒、逻辑炸弹等;不须要主程序的恶意软件是可以单独运行的程序,如细菌和蠕虫。blog
正因有诸多的恶意软件所在,在互联网中安全措施尤其重要且关键,即为对恶意软件的防范,称为安全业务,可有如下五种:ip
1.保密业务。保护数据防止被动攻击。资源
2.认证业务。保证通讯的真实性。io
3.完整性业务。保证所接受的消息和所发出的消息是彻底一致的。软件
4.不能否认业务。防止通讯双方中某一方对所传输消息的否定。
5.访问控制。防止对网络资源的非受权访问。
2、密码学概念
2.1 保密通讯系统
采用保密通讯系统能够隐蔽和保护须要发送的消息,使没有获得受权的人不能提取信息。
明文:发送方将要发送的消息;
密文:明文被变换成无心义的随机消息。
明文变换成密文称为加密(encryption),密文恢复为明文称为解密(decryption)。加密与解密的操做通常在一组密钥控制下进行。
2.2 密码体制分类
密码体制可分为两大类,即单钥体制和双钥体制。
系统的保密性主要取决于密钥的安全性,与所要的算法保密性无关,因此在整个过程当中,需保密的仅是密钥便可。
单钥体制对明文消息的加密有两种方式,分别为流密码和分组密码;
双钥体制,有一对选定的密钥,一个是公开,一个是秘密的。
2.3密码攻击
攻击者对密码系统的攻击,类型划分由攻击者可获取的信息量决定。
一般来讲,加密算法只要知足如下两条准则之一就可称为是计算上安全的:
(1)破译密文的代价超过被加密信息的价值;
(2)破译密文所花的时间超过信息的有用期。
3、古典密码
古典密码的加密是将明文的每一个字母代换为字母表的另外一个字母,用等价的十进制数字代替。
古典密码分为单表代换密码和多表代换密码。
3.1单表代换密码
(1)凯撒密码
加密和解密代换分别为:
c=E3(m) ≡ m+3(mod 26)
m=D3(c) ≡ c-3(mod 26)
(2)移位变换
c=Ek(m) ≡ m+k (mod 26)
m=Dk(c) ≡ c-k (mod 26)
(3)仿射变换
c=Ea,b(m) ≡ am+b (mod 26)
m=Da,b(c) ≡ a^-1(c-b) (mod 26)
3.2多表代换密码
多表代换密码首先将明文M分为由n个字母构成的分组M1,M2...Mn,对每一个分组Mi的加密为:
Ci ≡ AMi+B (mod 26) i=1,2...n
对密文分组Ci的解密为:
Mi ≡ A^-1(Ci-B) (mod 26) i=1,2...n
Tips:未经许可 请勿转载