【学习笔记】SSL证书之RSA、Diffie-Hellman和DSA

本篇将介绍SSL证书中使用到的3中算法,分别是RSA算法、Diffie-Hellman算法和DSA(电子签名算法)

1、RSA算法

  • RSA全称Rivest Shamir Adleman,名称取自该算法3个创始人名字的首字母,该算法由Ron Rivest,Adi Shamir和Leonard Adleman在1977年所创建
  • RSA是目前最常用的非对称加密算法
  • RSA创建一对交换密钥
    • 一个密钥用来加密,另一个密钥用来解密
    • DH/DSA工作方式略有不同(不创建交换密钥)
  • RSA算法有多安全?
    • RSA安全性在于分解半素数的难度
      • 例如,给定数字133,你能够提炼出7和19吗?
      • 这似乎可行,那么分解1909呢?(11 Bits)
    • 1991年,RSA实验室提出了RSA挑战
      • 发布了54个不同大小的半素数并寻求因素
        • 竞赛在2007年结束,只有12个因素被确定
        • 2020年,另外11个因素被确定(截止2020年最大数因素829 Bits)
        • 在29年间,1024 Bit的数从未被分解,
          • 自2002年,1024位的RSA密钥成为推荐标准
          • 自2015年,2048位的RSA密钥成为推荐标准

2、Diffie-Hellman算法

  • 允许双方通过不安全的媒介创建共享秘密

        如上图,蓝色和绿色有商定好的秘密,问题是两者之间的信息会被中间人知晓,这就是Diffie-Hellman尝试去解决的。DH允许双方交换特定的值,并且将要交换的值与其他不会被交换的值结合起来,以此来生成共享秘密。中间人可以听到公共的值(如26、39),但无法将公共的值结合起来去得到共享秘密。

        共享秘密永远不会被传输,仅用于导出秘密的值(双反不会在线传输42,而是其他值如26、39)

  • 共享的秘密之后被用来生成对称密钥
  • DH的安全性取决于离散对数问题
    • 幂运算:给定G和X,很容易得到N
    • 对数运算:给定G何N,要得到X比较难
    • 离散指数运算:给定G,X,P,很容易得出N
    • 离散对数运算:给定G,P,N,要得到X不可行,唯一的办法是尝试每一个可能的组合(暴力破解)

3、DSA算法

  • DSA全称Digital Signature Algorithm,电子签名算法
  • DSA是一种非对称加密算法,不同与其他我们已讨论的算法
  • 由前文可知,RSA创建一对交换密钥(一个加密一个解密)。RSA可以实现非对称密钥的所有功能。我们可以用公钥和私钥来加密信息(用公钥加密信息并在线传输,另一侧就可以用私钥安全地进行解密);我们可以创建签名(哈希我们想要签名的信息,并用自己的私钥进行加密,并在线传输,另一方就可以用我的公钥验证这个签名);我们也可以用RSA来进行密钥交换()
  • DH在不安全的媒介上建立秘密(secret)
  • DSA只是创建和验证签名(没有加密,没有密钥交换)

  • DSA只有2项操作
    • 签名生成
      • 输入:Message(要签名的信息)、Private Key(用来签名的私钥)、Random #(随机数)、DSA Parameters(DSA参数)
      • 输出:签名
    • 签名验证
      • 输入:信息、公钥(与私钥相关联)、签名和DSA参数
      • 输出:1 or 0(True or False)来表明签名是否有效
  • 随机数(Random Number)非常重要
    • 每个我们要签名的信息都必须有唯一的随机数,否则DSA会面临灾难性失败
    • 如果随机数被再次使用了,私钥就能被提取出来(非常不可取,所以随机数不能二次使用)
    • RFC 6979 - 基于信息,确定性地生成随机数

参考文献

1、网站:Practical Networking.net:Practical TLS

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值