信息加密简介
来源:互联网 发布:河北邯郸seo网 编辑:程序博客网 时间:2024/04/30 12:58
加密的基本概念:
在密钥和算法的控制下,将明文变成密文的过程.
通过使用加密,可以提供的安全服务.
基本的加密操作:
基本的加密思想:
置换:按照规则改变内容的排列顺序
移位:打乱字母的排列顺序
(移位和置换都是可逆的操作,容易恢复信息)
密码设计的基本公理和前提是算法公开。
系统的安全性仅依赖于密钥的保密性
加密算法的分类:
对称密钥密码算法(又称私有密钥算法)
非对称密钥密码算法(又称公钥密码算法)
对称加密的原理
加密密钥和解密密钥是相等的。
加密密钥和解密密钥是可以相互推导的。
优点是加密速度快,但安全性完全依赖于密钥的传送。
原理如下图所示
著名的对称加密算法
DES/3DES数据加密标准
IDEA国际数据加密算法
RC系列(RC2、RC4、RC5)
CAST
Blowfish/Twofish
AES高级数据加密标准
DES算法
明文被分成64位的块,对每块进行16次变换(替换或换位),其中16次变换由56位的密钥的不同排列形式控制(IBM使用的是128位密钥),最后产生64位的密文块,如下图所示:
3DES(Triple-DES)
这种方法是DES的改进算法,它使用两把密钥对报文作三次DES加密,效果相当于将DES密钥的长度加倍了,克服了DES密钥长度较短的缺点,但缺点是要花费原来三倍的时间。
假设两个密钥分别是K1和K2,其算法的步骤如下:
(1)用密钥K1进行DES加密
(2)用密钥K2对步骤(1)的结果进行DES解密
(3)对步骤(2)的结果使用密钥K1进行DES加密
如下图所示:
IDEA
这种加密算法使用128位的密钥,把明文分成64位的块,进行8轮的迭代加密。
设计原则:来之不同代数群的混合运算
异或,模216加,模216+1乘
IDEA可以使用硬件或软件实现,并且比DES快。
在苏黎世技术学院用25MHz的VLSI芯片,加密速率是177MBPS。
RC系列
RC2 --------Ronald Rivest设计
密钥长度可变
RC2的运算速度比DES快
软件实现的RC2比DES快三倍
RC2是否比DES安全取决于其所使用的密钥长度
RC4 --------Rivest设计
密钥长度可变
流模式加密算法,面向bit操作
算法基于随机置换
RC4应用范围广
所谓流加密,就是将数据流和密钥生成二进制比特流进行异或运算的加密过程。
这种算法采用如下步骤:
(1)利用密钥K生成一个密钥流KS(伪随机序列)
(2)用密钥流KS与明文P进行“异或”运算,产生密文C。
解密过程则是用密钥流与密文C进行异或运算,产生明文P。
为了安全,对不同的明文必须用不同的密钥流,否则容易被破解。
RC5 --------Rivest设计
分组长,密钥长度和迭代轮数都可变
面向字结构,便于软件和硬件快速实现
数据相倚旋转技术
公钥加密原理
公钥加密使用两个密钥,
一个密钥用于加密信息,另一个密钥用于解密信息。
原理如下图所示
公钥加密特点
私钥需要安全保存,而公钥公开。
公钥加密速度慢,
公钥和私钥不可以相互推导
可以和对称加密相结合。
RSA
RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。
RSA的算法涉及三个参数,n、e1、e2。
其中,n是两个大质数p、q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度。
e1和e2是一对相关的值,e1可以任意取,但要求e1与(p-1)*(q-1)互质;再选择e2,要求(e2*e1)mod((p-1)*(q-1))=1。
(n及e1),(n及e2)就是密钥对。
RSA加解密的算法完全相同,设A为明文,B为密文,则:A=B^e1mod n;B=A^e2 mod n;
e1和e2可以互换使用,即:
A=B^e2 mod n;B=A^e1mod n;
具体实现过程如下
- 信息加密简介
- Encryption_Demo---模拟信息加密流程图简介
- 信息加密
- 信息加密
- 信息加密
- 信息加密
- 加密简介
- 加密配置信息
- 加密webconfig的信息
- 加密解密、信息摘要
- 加密webconfig的信息
- 信息加密系统概述
- 加密配置信息
- 信息加密技术
- 信息加密小插曲
- 使用GPG加密信息
- DES信息加密解密
- 信息签名与加密
- php5.3 解决警告:Notice: Undefined index: argc in
- 让自己无可替代——职业道德与职业精神训练
- struts框架中前台与后台之间的数据传输
- windows环境变量如何在cmd中打印
- 把DBGRID数据直接导入EXCEL中的过程
- 信息加密简介
- Linux0.11内核--启动引导代码分析setup.s
- Linux系统下获得本机(通用网卡)ip地址
- 数据库中视图的作用
- Java虚拟机类装载:原理、实现与应用
- Ubuntu 11.04 Unity最常用的31个快捷键
- 行星号查询程序APPGETNAME.F90/星历表星号功用/
- 如何在Netbeans下配置Android开发环境 -- a platform target has to be selected
- 在3D游戏中采用场景管理的意义