安全要解决的需求
1、保密
消息只有合法的接受者才可以读出,其他人即使收到也读不出。
2、鉴别/认证
消息的确是由宣称者发送的,如冒名顶替会被发现。
3、完整性
消息在传输过程中如果被篡改会被发现。
4、不可否认性
消息的发送者在发送消息后不能否认发送过该消息。
安全潜规测
算法公开,密钥保密
对称加密
对称加密采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。
定义
需要对加密和解密使用相同密钥的加密算法。由于其速度快,对称性加密通常在消息发送方需要加密大量数据时使用。对称性加密也称为密钥加密。
所谓对称,就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解密过程的指令。算法是一组规则,规定如何进行加密和解密。
因此加密的安全性不仅取决于加密算法本身,密钥管理的安全性更是重要。因为加密和解密都使用同一个密钥,如何把密钥安全地传递到解密者手上就成了必须要解决的问题。
常用加密模式
1、置换加密:信息不变,数据以另外的方式去替换
什么是置换加密技术?
代替(substitution)和置换(permutatuion)是两种基本的加密运算。
代替是指对标准书写符号的修改,如恺撒密码,将英文字母a用d代替,b用e代替,以此类推,再比如《高卢记》中记载的加密算法,将罗马字母用希腊字母替换。
置换是指改变明文字符的排列方式。如古代斯巴达人将写着字的羊皮缠在木棍上,再从木棍的方向读出,相当于横着写,竖着读,改变明文字母的排列顺序。
最原始的加密算法往往就是单个的代替或者置换操作,随着人类对密码学的深入研究,这样简单的运算已经不能满足安全性需求,因为破译它们极其容易。但人们发现,使用简单运算来构造复杂算法,可以形成安全性较高的加密算法。事实上,从本质上讲,所有的加密算法,无论是数据加密标准DES,高级加密标准AES,还是公钥密码算法RSA,它们都可以归结为这两种运算的复合运算。
原始字母—abcdefg
密钥—poiuytr
结果:adc—>poi
2、转置加密:根据密钥规则,对原始数据进行打乱
原始数据
wyd
jzg
ycg
密钥:231
结果:
yzc
dgg
wjy
3、乘积加密:置换加密和转置加密迭代使用(DES、AES)
原始数据:
abc
def
置换加密:密钥—poiuytr
poi
uyt
转置加密—>密钥231
oy
it
pu