SSL从理论到实践(一)——密码学的相关概念

1.基本概念
  • 密码学(cryptology): 研究如何隐密地传递信息的学科。
  • 明文(plaintext):没有加密的文字。
  • 密文(ciphertext):加了密的文字。
  • 加密(encryption):将明文消息变成密文消息。
  • 解密(decryption):将密文消息变成明文消息。
  • 算法(algorithm):取一个输入文本,产生一个输出文本。
  • 加密算法(encryption algorithm):发送方进行加密的算法。
  • 解密算法(decryption algorithm):接收方进行解密的算法。
  • 密钥(secret key):秘密的钥匙,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。密钥分为对称密钥与非对称密钥。
2.对称密钥加密与非对称密钥加密

  对称密钥加密(Symmetric Key Cryptography):加密与解密使用相同密钥。优势是加/解密速度快,适合于对大数据量进行加密,但密钥管理困难。
  非对称密钥加密(Asymmetric Key Cryptography):加密与解密使用不同密钥。一个公开发布,即公钥,另一个由用户自己秘密保存,即私钥。信息发送者用公钥去加密,而信息接收者则用私钥去解密。公钥机制灵活,但加密和解密速度却比对称密钥加密慢得多。
  所以在实际的应用中,人们通常将两者结合在一起使用,例如,对称密钥加密系统用于存储大量数据信息,而非对称密钥加密系统则用于加密密钥(重点,因此才体现出了密钥交换算法的作用)。

3.密钥交换算法

  使用对称加密算法时,密钥交换是个大难题,所以Whitfield Diffie和Martin Hellman提出了一个奇妙的密钥交换协议,称为Diffie-Hellman密钥交换协议/算法(Diffie-Hellman Key Exchange Agreement/Algorithm)。
  Diffie-Hellman密钥交换算法原理:

(1)Alice与Bob确定两个大素数n和g,这两个数不用保密

(2)Alice选择另一个大随机数x,并计算A如下:A=gx mod n

(3)Alice将A发给Bob

(4)Bob  选择另一个大随机数y,并计算B如下:B=gy mod n

(5)Bob将B发给Alice

(6)计算秘密密钥K1如下:K1=Bx mod n

(7)计算秘密密钥K2如下:K2=Ay mod n

 K1=K2,因此Alice和Bob可以用其进行加解密
4.数据摘要算法

  数据摘要算法也被称为哈希(Hash)算法、散列算法。主要功能是通过对所有数据提取指纹信息来验证数据的完整性,即保证时消息在发送之后和接收之前没有被篡改。SSL中使用到的散列算法有MD5、SHA。

5.数字证书

  证书内包含用户的个人信息和他的公钥信息,同时还附有认证中心的签名信息。其作用类似于我们的身份证,用于证明身份。

6.数字签名

  数字签名技术是将摘要信息用发送者的私钥加密,与原文一起传送给接收者。接收者只有用发送者的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息,与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性。

7.简单总结

  在SSL中会使用密钥交换算法交换密钥;使用密钥对数据进行加密;使用数据摘要算法对数据的完整性进行验证;使用数字证书证明自己的身份。
  好了,关于密码学的概念就介绍到这,接下来我们来介绍一下SSL:SSL从理论到实践(二)——SSL

参考

1.SSL协议详解
2.让SSL/TLS协议流行起来:深度解读SSL/TLS实现
3.使用wireshark观察SSL/TLS握手过程–双向认证/单向认证
4.Android 6.0 SSL通信
5.SSL/TLS的原理以及互联网究竟是如何工作的(1-5)
6.JDK 中的证书生成和管理工具 keytool
7.那些证书相关的玩意儿(SSL,X.509,PEM,DER,CRT,CER,KEY,CSR,P12等)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值