密码体制(加密算法)

密码体制分类方法有三种:

  1. 根据密码算法所用的密钥数量一般分为两类:非对称密码体制,对称密码体制
  2. 根据对明文信息的处理方式可将对称密码体制分为分组密码(DES、AES、IDEA、RC6)和序列密码(RC4、A5、SEAL)
  3. 根据是否能进行可逆的加密变换可以分为单项函数密码体制(MD4、MD5、SHA-1)和双向变换密码体制

对称密码体制

定义

对一个提供保密服务的密码系统,他的加密密钥和解密密钥相同,或者虽然不相同,但是其中一个的任意一个可以很容易的导出另外一个,那么这个系统采用的就是对称密钥体制

特点

优点:
- 加解密速度快
- 效率高
- 算法安全性高
缺点:
- 密钥分发过程复杂,所花代价大
- 密钥管理量困难(实现n个用户两两保密通信,每个用户需要安全获取并保管(n-1)个密钥)
- 保通信系统开放性差
- 存在数字签名的困难性(通信双方拥有相同的秘密信息,接收方可以伪造数字签名,发送方可以抵赖)

经典算法

DES、AES、IDEA、RC6

非对称密码体制

定义

对一个提供保密服务的密码系统,他的加密算法和解密算法分别用不同的密钥实现,并且加密密钥不能推导出解密密钥,那么这个系统采用的就是非对称密钥体制。

特点

每一个用户有一对密钥,用公钥加密,私钥解密
优点:
- 密钥分配简单
- 密钥量少,容易管理
- 系统开放性好
- 可以实现数字签名
缺点:
- 加密、解密运算复杂
- 处理速度较慢
- 同等安全强度下,非对称密码体制密钥位数较多
- 由于加密密钥公开,存在“可能报文攻击”威胁,这个可以通过引入随机化因子,使相同明文加密的密文不同

单项函数密码体制

它是一种特殊的密码体制,可以很容易将明文转换成密文。但是密文再转换成明文却是不可行的,有时甚至是不可能的,简单来说就是不可逆的,所以叫单向,它只适合于某些特殊的不需要解密的应用场合,如用户口令的存储和信息的完整性保护与鉴别等
因为做系统时用web页面用户登录经常会用到MD5和SHA-1,所以这里对两种算法做简单介绍

SHA-1算法过程原理

原理 SHA-1是一种数据加密算法,该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文,也可以简单的理解为取一串输入码(称为预映射或信息),并把它们转化为长度较短、位数固定的输出序列即散列值(也称为信息摘要或信息认证代码)的过程。 单向散列函数的安全性在于其产生散列值的操作过程具有较强的单向性。如果在输入序列中嵌入密码,那么任何人在不知道密码的情况下都不能产生正确的散列值,从而保证了其安全性。SHA将输入流按照每块512位(64个字节)进行分块,并产生20个字节的被称为信息认证代码或信息摘要的输出。 该算法输入报文的最大长度不超过2^64位,产生的输出是一个160位的报文摘要。输入是按512 位的分组进行处理的。SHA-1是不可逆的、防冲突,并具有良好的雪崩效应。 通过散列算法可实现数字签名实现,数字签名的原理是将要传送的明文通过一种函数运算(Hash)转换成报文摘要(不同的明文对应不同的报文摘要),报文摘要加密后与明文一起传送给接受方,接受方将接受的明文产生新的报文摘要与发送方的发来报文摘要解密比较,比较结果一致表示明文未被改动,如果不一致表示明文已被篡改。

MD5(Message Digest Algorithm 消息摘要算法第五版)

是计算机安全领域广泛使用的一众散列函数,用一提供消息的完整性保护。
MD5即信息摘要算法5,用于确保信息传输完整一致,将数据转换为另一个固定长度值,它的特点:
- 压缩性:不限定输入长度,输出的MD5值长度都是固定的
- 容易计算:从原数据计算出MD5值很容易
- 抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别
- 强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的

SHA-1和MD5加密算法的作用

用于计算出一段不可逆向计算的数值,以此来验证该文件是否被修改的.

它可以帮你验证从网上下载下来的windows7安装程序是否与发布人发布的东西完全一致,也就是帮助你验证这个程序有没有经过他人(非发布人)的修改。

SHA-1和MD5二者的区别

  1. 因为SHA-1生成的是160位的报文摘要,而MD5生成的是128位的报文摘要,所所以暴力破解使用强性技术产生任何一个保温使其摘要等于所给的报文摘要MD5是2^128数量级的操作,而SHA-1是2^160数量级的操作,SHA-1对强行攻击有更大强度
  2. 由于SHA-1 的循环步骤比MD5多(80:64)且要处理的缓存大(160 比特:128比特)相同硬件上,SHA-1运行速度慢于MD5

你可能感兴趣的:(加密)