加密算法的基本概念

1.基本概念

1. 密码
我们比较熟悉的是登录电子邮箱、网站等需要使用密码登录,这个密码实际上是口令,是用于验证用户身份的,密码学上的“密码”是指按照一定规则编成,对通信双方的信息进行明密文变换的符号。

2. 明文
就是发送方要发出的信息。

3. 密文
就是原信息经过加密后的信息

4. 加密
就是指将明文变成密文的过程。加密使用加密算法。

5. 解密
就是将密文变成明文的过程。解密使用解密算法。

6. 密钥
密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。密钥分为对称密钥与非对称密钥。

2.常见加密算法

1. 对称性加密算法
加密的密钥和解密的密钥相同
对称性加密算法有:
AES , DES , 3DES(3DESede或TripleDES) , Blowfish,rc4

2. 非对称性加密算法
加密的密钥和解密的密钥不同
非对称性加密算法有:
RSA,DSA,ECC

3. 单向散列算法
单向散列:
单向散列函数 H(M) 作用于一个任意长度的消息 M,它返回一个固定长度的散列值 h,这个过程是不可逆的,并且没有“碰撞”。
单向散列算法(消息摘要算法)有:
MD5
SHA-1

4. 数字签名

算法的选择

算法的选择
由于非对称加密算法的运行速度比对称加密算法的速度慢很多,当我们需要加密大量的数据时,建议采用对称加密算法,提高加解密速度。

对称加密算法不能实现签名,因此签名只能非对称算法。

由于对称加密算法的密钥管理是一个复杂的过程,密钥的管理直接决定着他的安全性,因此当数据量很小时,我们可以考虑采用非对称加密算法。

在实际的操作过程中,我们通常采用的方式是:采用非对称加密算法管理对称算法的密钥,然后用对称加密算法加密数据,这样我们就集成了两类加密算法的优点,既实现了加密速度快的优点,又实现了安全方便管理密钥的优点。

那采用多少位的密钥呢? RSA建议采用1024位的数字,ECC建议采用160位,AES采用128为即可。

ps:数字签名和加密的区别

数字签名的作用一是保证数据的完整性,二是对发送者进行身份认证。所以它是采用非对称算法,消息发送者使用私钥加密,接收者使用公钥解密验签;

加密重点在于“数据的安全性”,可以防止数据被监听攻击。所以消息发送者采用公钥加密,只有拥有私钥的接收者才能解密;

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值