密码学简要了解

密码学相关技术常应用于认证、授权、审计

一、密码学历史

第一阶段(20世纪—1949):古典密码学。数据安全基于算法的保密

第二阶段(1949-1975):数据的安全基于密钥(算法公开)

第三阶段(1975至今):公钥密码学。公钥(用于加密)和私钥(用于解密)

二、相关概念

(一)进制与计量

进制

  • 一种技术方法

  • 二进制:计算及机器语言唯一能明白的。

  • 二进制优势:减少误差

计量

  • 位(bit) 最小的数据单位

  • 字节(Byte) =8bit 存储空间的最小单位

  • K =1024B

  • M =1024kb

  • G =1024MB

  • T =1024GB

  • P =1024T

计算机能力上限

  • 2^80 不能

  • 2^128 绝对不能

(二)移位与置换

移位:打乱内容排列顺序

置换:按照规则替换内容

注:移位和置换都是可逆的操作,容易恢复信息

(三)数字证书与CA

数字证书:类似于身份证的作用,证明公钥是某人的

CA:电子商务认证授权机构

数字证书(包含姓名、地址、证书有效期、所有者公钥、认证机构数据签名)

(四)哈希Hash

Hash将一段任意长度的数据经过一道运算转换为一段定长的数据

特性:不可逆性、无碰撞性、雪崩效应、单项

三、加密算法

(一)散列算法

不需要密钥

名称安全性运行速度
MD5
SHA-1

1、MD5

(消息摘要算法,Message-Digest Algorithm 5)

  • 哈希;

  • 输出128bit的信息摘要;

安全性较高的场景不建议使用;

2、SHA

(安全散列算法,Secure Hash Algorithm)

  • 哈希;

  • 输出160bit的信息摘要;

  • 运行速度较MD5慢,但安全性更强

加盐:在原本需要加密的信息基础上,加入动态的salt

3、HMAC

(Hash-based Message Authentication Code) 哈希运算消息认证码

  • 哈希算法

  • 以一个密钥和一个消息为输入,生成一个信息摘要为输出;

  • 发送方和接收方都必须有key进行计算;

多线程环境下是不安全的

4、国密SM3

(二)对称加密算法(私钥加密)

过程:

  • 明文 => 私钥 => 密文 => 网络传输 => 密文 => 私钥 => 明文

特点:

  • 使用同一密钥进行加密和解密;

  • 加解密速度快,密文是紧凑的,适合大数量量;

  • 密钥管理:比较难(不适合互联网,一般用于内部系统);

  • 安全性:中;

长度安全性运行速度资源消耗
DES56较快
3DES112、168
AES128、192、256
IDEA128

1、DES

( Data Encryption Standard)数据加密标准

  • 目前被暴力破解的时间在24小时内

2、3DES

基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高

3、AES

(Advanced Encryption Standard)高级加密标准

  • 采用对称分组密码体制;

4、RC系列

  • RC2:运行速度比DES快、RC4、RC5

5、EDEA

(International Data Encryption Algorithm)国际数据加密算法

  • 没有专利的限制

  • 使用较少

6、Blowfish

轻量级,易于软件快速实现,所需存储空间不到5Kb

适用于密钥不经常改变的加密

7、国密SM1、SM4

SM1:算法保密

SM4:算法公开

(三)非对称加密算法(公钥加密)

过程:

  • 明文 => 公钥 => 密文 => 网络传输 => 密文 => 私钥 => 明文

特点:

  • 公钥加密,私密解密(私钥可以推出公钥,私钥不能推出公钥)

  • 加密速度慢,密文非紧密,适合小数据量;

  • 密钥管理难度小;

  • 安全性高;

应用:

  • 加解密;数字签名;密钥交换;

  • SSH登录、git上传等,都是将公钥上传服务端,客户端保存私钥;

1、RSA

最有影响力的公钥加密算法;已被ISO推荐位公钥数据加密标准

  • 密钥长度512-8192bit;速度很慢

  • 第一个能同时用于加密和数字签名的算法;

  • 能抵抗目前为止已知的所有密码攻击;

2、Diffie-Hellman

用于私钥交换

3、DSA

数字签名;

只允许认证,不能提供保密性

4、ECC

椭圆曲线加密

  • 大小:使用密钥更小;160位;

  • 速度:加解密的实现时间长;

  • 强度:是加密强度最高的非对称加密算法;

  • 场景:适用于多对一认证;

5、Elgamal

可以加密和提供认证

6、国密 SM2

SM2:基于ECC设计

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

[chao]

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值