初识密码学

本文介绍了密码学的基础,包括信息安全的CIA三要素和对称加密(如DES、AES)与非对称加密(如RSA、DSA)的概念。非对称加密解决了对称加密的秘钥管理问题,但速度较慢。线性散列算法(如MD5、SHA系列)用于信息完整性校验,而数字签名结合非对称加密,确保了消息的完整性和有效性。数字证书通过认证机构(CA)验证公钥的合法性。
摘要由CSDN通过智能技术生成

信息安全

信息安全的三要素

信息安全中需要解决的三个问题:

  1. 保密性(Confidentiality):信息在传输是不被泄露
  2. 完整性(Integrity):信息在传输时不被篡改伪造
  3. 有效性(Availability):信息的来源是合法可信的

这三点统称CIA Triad

公钥密码解决保密性问题,数字签名解决完整性和有效性问题


密码学

1. 对称加密

采用单个秘钥对明文进行加密的方法,同时该秘钥也是密文解密的钥匙。 所谓对称就是采用这种方式,密文与明文之间可以相互推导出来。

对称加密

常见的对称加密算法有:

  • DES:

    1. 已破解,不再安全,基本没有企业在用了
    2. 是对称加密算法的基石,具有学习研究价值
    3. 秘钥长度56(JDK)、56/64(BC)
  • DESede(3DES):

    1. 早于AES出现用于代替DES
    2. 计算秘钥时间太长,加密效率不高,基本也不用
    3. 秘钥长度112/168(JDK)、 128/192(BC)
  • AES:

    1. 最常用的对称加密算法
    2. 秘钥建立时间短、灵敏性好、内存需求低
    3. 实际使用中,使用工作模式为CTR(最好用BC去实现),此工作模式需要引入IV参数(16位字节数组)
    4. 秘钥长度为128/192/256,其中192与256需要配置无政策限制权限文件(JDK6)
    5. 填充模式最常用的两种PKCS5Padding和PKCS7Padding,其中后者只有BC独有
  • IDEA:

    1. 常用的电子邮件加密算法
    2. 工作模式只有ECB
    3. 秘钥长度128位
  • PEB:

    1. 综合了消息摘要算法和对称加密算法,最常见的是PBEWithMD5AndDES
    2. 工作模式只有CBC(已丧失安全性,不推荐使用),所以PBE也不推荐使用了

对称加密特点

优势:
1. 加解密时速度快、效率高
2. 使用长秘钥时难以破解

不足:
1. 算法公开,秘钥被盗则意味着裸奔
2. 秘钥的网络传输往往是不安全的,极易被抓获
3. 发收新双方往往需要管理许多对称秘钥,管理成本很高。


基于以上原因,非对称加密上场了。

2. 非对称加密

汲取对称加密教训,非对称加密有两个秘钥,人们称之为公钥(public)和私钥(private),所以又叫公私钥加密。基本定位是公钥加密,私钥解密。公钥在网络上传输,私钥保存在自己手里。这样即使公钥和密文被截也破解不了。 所谓非对称即同一秘钥只能单向推导

非对称加密

常见的非对称加密算法有:

  • RSA:广泛应用于电子商业,安全可靠 到目前为止还没有任何可靠的攻击RSA算法的方式。只要其钥匙长度足够长,便无法破解
  • DSA: 是基于整数的有限域离散对数难题的,其安全性和RSA相比差不多。(DSA是Schnorr和ElGamal签名算法的变种,具有Elgamal的特征)
  • Elgamal: 该算法既能用于数据加密也能用于数字签名,其安全性依赖于计算有限域上离散数学这一难题
  • ECC(椭圆曲线加密算法): 安全性高 计算量小 占存储空间小 带宽要求低。 ECC各方面性能都大于等于RSA,有取代RSA的趋势
  • D-H:
  • Rabin:
  • 背包算法:

非对称加密使消息在网络中传输更为安全,但非对称加解密算法速度很慢,且会随着明文(密文)的长度越发的慢,因此网络传输中有这么一种方案被广泛使用:
明文使用对称加密加密后,其秘钥使用非对称加密再次加密,网络传输中传输该密文和加密后的秘钥。这样只有知道非对称加密的私钥才可以解出对称加密后的秘钥,进而解出密文。该方案既保证了加解密的速度又保证了对称加密秘钥的安全,可谓一举两得。
另一个问题随即而来:我怎么知道这份加密数据是你发来的而不是敌人来捣乱假传消息的(或者半路被劫后伪造的)???-----看下面数字签名

非对称加密的应用

看个例子:

  • (1)Alice需要在银行的网站做一笔交易,她的浏览器首先生成了一个随机数作为
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值