密码学最全笔记

8 篇文章 0 订阅

密码学

密码的分类

  • 基于保密算法是否公开

    • 受限制算法
      • 不公开, 一般用于军方
    • 基于密钥算法
      • 公开
      • 密钥是保密的
  • 基于明文处理方式

    • 分组加密

      • image-20220715142213920
    • 流密码

      • image-20220715142254205

WEB安全体系

  • image-20220715142103027 - 物联网传话试用
  • image-20220715142125702
  • 比较

    • image-20220715142147465

Java安全组成

组成

  • JCA(java cryptography architecture)

  • JCE

    • DES, AES, RSA
  • JSSE

    • SSL(主要网络传输过程中)
  • JAAS

相关包

  • java.security

    • 消息摘要
  • javax.crypto

    • 安全消息摘要, 消息认证(鉴别码)
  • java.net.ssl

    • 安全套接字

    • 常用类

      • HttpsURLConnection, SSLContext
  • 扩展

    • java的安全组成一般是基于接口的, 所以可以很方便的扩展

    • 扩展方式

      • 配置文件方式

        • image-20220715142430189
      • 编码方式

        • image-20220715142451150
    • 常用第三方扩展

      • Bouncy Castle

      • Commons Codec

        • Base64, 二进制, 十六进制, 字符集编码
        • Url编码/解码

加密算法

Base64

  • 应用

    • e-mail, 密钥
  • 实现

    • JDK实现

      • image-20220715142531003
    • Commons Codec实现

      • image-20220715142536706
    • Bouncy Castle实现

      • image-20220715142543069

消息摘要算法

散列函数
  • 作用

    • 验证数据的完整性, 没有被修改
    • 数字签名的核心算法
    • 任意长度的数据,算出的MD5值长度都是固定的(128bit,32位十六进制)
    • 不可逆
  • 特点

    • 散列的过程是不可逆的
    • 长度不固定
    • 哈希值容易计算
  • 实现

    • MD5: 消息摘要算法
    • SHA: 安全散列算法
    • MAC: 消息验证码算法
  • 全称

    • image-20220715142339173
  • 算法

    • MD5

      • 特点

        • 128位摘要
        • 单项加密
      • image-20220715142625373

    • SHA

      • 特点

        • 长度固定

          • image-20220715142649357
      • image-20220715142710865
      • 应用

        • 在这里插入图片描述

          • 在这里插入图片描述
    • MAC

      • 特点

        • 含有密钥的散列算法
        • 融合MD和SHA
        • 在这里插入图片描述
      • 应用

        • SecureCTR
        • 在这里插入图片描述
      • 在这里插入图片描述

      • 在这里插入图片描述

  • 具体应用

    • 密码加盐(用户的密码一般都是需要进行md5加密)

      • 算法 Stirng entryPassword = MD5(MD5(password) + salt);

      • 固定的盐

        • 后台写死, 不是很安全, 容易被暴力破解
      • 随机的盐

        • 随机生产盐, 每次通过查询数据库查询用户的随机数盐, 前端传过来的也不是密码明文, 而是MD5(password) , 然后在通过查出来的这条数据的盐和MD5(password)再一次做哈希, 即MD5(MD5(password) + salt) 和 数据库里保持的哈希做比较, 相等说明密码正确
    • 令牌实现

      • 双因子认证
        • 怎么在Java中利用OTP动态口令实现登录认证 - 编程语言 - 亿速云 (yisu.com)
        • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MaWkHQb8-1657876046702)(…/…/…/思维导图/思维导图关联文件/markdownImg/1652705210747.png)]
        • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W0JHQuVv-1657876046703)(…/…/…/思维导图/思维导图关联文件/markdownImg/1652705234950.png)]

对称加密算法

  • 实现

    • DES

      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nzPSMq3z-1657876046704)(…/…/思维导图关联文件/markdownImg/image-20220715162529378.png)]
      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8I9HBb8I-1657876046706)(…/…/思维导图关联文件/markdownImg/image-20220715162535302.png)]
    • 3DES

    • AES

  • 应用

    • 在这里插入图片描述

  • 数字签名

  • 针对以数字的形式存储的消息处理

  • 保证消息的不可抵赖性

证书

应用

  • https
  • 源码包二进制文件md5

公钥对外公开,私钥对外保密
非对称数字签名应用

速度比较

消息摘要>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

BinBin_Bang

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

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

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

打赏作者

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

抵扣说明:

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

余额充值