2021年4月05——加密技术知识小结

一、对称加密

对称加密指加密和解密使用相同密钥的加密算法。

1)优点:

  • 算法公开、计算量小、加密速度快、加密效率高。

2)缺点:

  • 交易双方都使用同样钥匙,安全性得不到保证。
  • 密钥管理困难,使用成本较高。

3)具体算法:

  • DES
  • 3DES
  • TDEA
  • Blowfish
  • RC5
  • IDEA

二、非对称加密

1)简介:
非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。

2)工作原理:

  1. 甲方生成一对密钥并将公钥公开
  2. 需要向甲方发送信息的其他角色(乙方)使用该密钥(甲方的公钥)对机密信息进行加密后再发送给甲方。
  3. 甲方再用自己私钥对加密后的信息进行解密。
  4. 甲方想要回复乙方时正好相反,使用乙方的公钥对数据进行加密,同理,乙方使用自己的私钥来进行解密。

3)优点:

  • 非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。
  • 密钥也不像对称加密那样需要那么多,管理方便。

4)缺点:

  • 算法强度复杂、安全性依赖于算法与密钥但是由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快。

5)具体算法:

  • RSA
  • Elgamal
  • 背包算法
  • Rabin
  • D-H
  • ECC

数字证书

数字证书借用了非对称加密技术,刚好与非对称加密的过程相反。
数字证书的基本架构利用一对密钥实施加密和解密。其中密钥包括私钥和公钥,私钥主要用于签名和解密,由用户自定义,只有用户自己知道;公钥用于签名验证和加密,可被多个用户共享。

特点:

  1. 安全性。用户申请证书时会有两份不同证书,分别用于工作电脑以及用于验证用户的信息交互,若所使用电脑不同,用户就需重新获取用于验证用户所使用电脑的证书,而无法进行备份,这样即使他人窃取了证书,也无法获取用户的账户信息,保障了账户信息。
  2. 唯一性。数字证书依用户身份不同给予其相应的访问权限,若换电脑进行账户登录,而用户无证书备份,其是无法实施操作的,只能查看账户信息,数字证书就犹如“钥匙”一般,所谓“一把钥匙只能开一把锁”,就是其唯一性的体现。
  3. 便利性。用户可即时申请、开通并使用数字证书,且可依用户需求选择相应的数字证书保障技术。用户不需要掌握加密技术或原理,就能够直接通过数字证书来进行安全防护,十分便捷高效。数字证书是由CA中心所签发的,CA中心是一个具权威性、依赖度极高的第三方,其资格证书经国家颁发,可有效保障网络数据信息的安全性,使数据信息处国家掌握当中。用户在浏览网络数据信息或进行网上交易时,利用数字证书可保障信息传输及交易的安全性。

三、不可逆加密

1)简介:
不可逆加密算法的特征是加密过程中不需要使用密钥,输入明文后由系统直接经过加密算法处理成密文,这种加密后的数据是无法被解密的,只有重新输入明文,并再次经过同样不可逆的加密算法处理,得到相同的加密密文并被系统重新识别后,才能真正解密。
显然,在这类加密过程中,加密是自己,解密还得是自己,而所谓解密,实际上就是重新加一次密,所应用的“密码”也就是输入的明文。

2)优点:

  • 不可逆加密算法不存在密钥保管和分发问题,非常适合在分布式网络系统上使用。

3)缺点:

  • 加密计算复杂,工作量相当繁重,通常只在数据量有限的情形下使用。

信息摘要

信息摘要就是一种不可逆加密算法,就是把任意长度的输入揉和而产生长度固定的伪随机输入的算法。可以用来作数字签名

特点:

  • 无论输入的消息有多长,计算出来的消息摘要的长度总是固定的
  • 消息摘要看起来是“随机的”。但是,一个摘要并不是真正随机的,因为用相同的算法对相同的消息求两次摘要,其结果必然相同。
  • 一般地,只要输入的消息不同,对其进行摘要以后产生的摘要消息也必不相同。好的摘要算法,没有人能从中找到“碰撞”,虽然“碰撞”是肯定存在的。
  • 消息摘要函数是无陷门的单向函数,即只能进行正向的信息摘要,而无法从摘要中恢复出任何的消息,甚至根本就找不到任何与原信息相关的信息。

具体算法:

  • MD5算法
  • SHA-1

四、OpenSSL

1)简介:
openssl是一个功能丰富且自包含的开源安全工具箱。它提供的主要功能有:

  • SSL协议实现(包括SSLv2、SSLv3和TLSv1)
  • 大量软算法(对称/非对称/摘要)
  • 大数运算
  • 非对称算法密钥生成
  • ASN.1编解码库
  • 证书请求(PKCS10)编解码
  • 数字证书编解码
  • CRL编解码
  • OCSP协议
  • 数字证书验证
  • PKCS7标准实现
  • PKCS12个人数字证书格式实现等功能。

openssl采用C语言作为开发语言,这使得它具有优秀的跨平台性能。

2)对文件进行加密:

对称加密:

# 加密
openssl enc -e -aes256 -in data.zip -out back.zip
# 解密
openssl enc -d -aes256 -in back.zip -out data.zip

非对称加密:

# 生成密钥
openssl genrsa -out rsa.key 2048
# 取出公钥
openssl rsa -in rsa.key -pubout -out pub.key
# 公钥加密
openssl rsautl -encrypt -inkey pub.key -pubin -in data.zip -out back.zip
# 私钥解密
openssl rsautl -decrypt -inkey rsa.key -in back.zip -out data.zip
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值