密码学原理笔记

    注:好记性不如烂笔头。参阅《密码编码学与网络安全--原理与实践》(第六版,William Stallings著)和《区块链原理、设计与应用》(作者杨保华、陈昌)。如有错漏,还望斧正。

    

       Hash值在应用中又常被称为指纹或摘要,Hash算法的核心思想也经常被应用到基于内容的编址或命名算法中

       常见的Hash算法包括MD5和SHA系列算法

       MD5:对输入以512位进行分组,其输出是128位。MD5被证明不具备“强抗碰撞性”

      SHA:一个Hash函数族。包括SHA-1(输出为160位的Hash值,不具备“强抗碰撞性”);SHA-2(SHA-224、SHA-256、SHA-384和SHA-512);SHA-3

       Hash算法分为计算敏感性(计算资源是瓶颈,主频越高的CPU运行Hash算法的速度也越快)和非计算敏感性(如scrypt算法,计算过程需要大量的内存资源,可以避免算力攻击)

 

       数字摘要:利用Hash函数的抗碰撞性特点,可以确保内容未被篡改

       Hash算法不是一种加密算法,不能用于对信息的保护。常用于对口令的保存上,例如用户登录网站需要需要通过用户名和密码来进行验证,网站后台仅保存口令的Hash值。

       为了防止以空间换时间的攻击方式,如字典攻击和彩虹表攻击(只保存一条Hash链的首尾值,相对字典攻击可以节省存储空间),采用加盐的方法。保存的不是口令明文的Hash值,而是口令明文再加上一段随机字符串(即“盐”)之后的Hash值。Hash结果和“盐”分别存放在不同的地方,这样只要不是两者同时泄漏,攻击者就很难破解。

 

算法类型特点 优势  缺陷  代表算法
对称加密加解密的密钥相同计算效率高,加密强度高需提前共享密钥,易泄漏DES、3DES、AES、IDEA
非对称加密加解密的密钥不相关无需提前共享密钥 计算效率低,仍存在中间人攻击可能RSA、ELGamal、椭圆曲线系列算法

                                                       

      

       

     

  

         

 

 

对于对称加密算法,在不安全信道中提前分发密钥的方式有Diffie-Hellman协议或非对称加密方式

 

对称加密算法从实现原理上可以分为两种,分组密码和序列密码(又称流密码,代表算法RC4)

对称加密算法不能用于签名场景

 

非对称加密算法:

         RSA,利用了对大数进行质因子分解困难的特性,

         Diffie-Hellman密钥交换:基于离散对数无法快速求解,可以在不安全的通道上,双方协商一个密钥

         ElGamal:利用模运算下求离散对数困难的特点,被应用在PGP等安全工具中。

         椭圆曲线算法(ECC):基于对椭圆曲线上特定点进行特殊乘法逆运算难以计算的特性


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值