TLS/SSL 协议-非对称加密(RSA)原理

简介: TLS/SSL 协议-非对称加密(RSA)原理

前面文章学习过 对称加密的原理,在通信双方发送完加密的密文之后,需要发送密钥给对方才能解密,这就要求发送密钥的信息通道安全可靠,才能保证数据的安全性,而非对称加密算法 是一种密钥的保密方法,需要有公钥(公开密钥)私钥(私有密钥),这篇文章主要介绍公钥私钥生成原理,然后围绕公钥私钥研究和分析一下加密是如何起到密钥保密作用的。

1.非对称加密的工作原理

  • (1)Bob要向Alice发送信息,Alice需要先要产生一对用于加密和解密的公钥私钥
  • (2)Alice私钥保密,Alice的公钥告诉Bob
  • (3)Bob把要发送的信息用Alice的公钥加密生成密文发送给Alice
  • (4)Alice收到这个消息后,用自己的私钥解密Bob的消息。其他所有收到这个报文的人都无法解密,只有Alice私钥才能解密此信息。

    Tips:AliceBob 发送信息时也是同理,Bob 也需要生成一对公钥私钥。

2.非对称加密和解密过程示意图

3.RSA 算法介绍

1977 年由罗纳德·李维斯特(Ron Rivest)阿迪·萨莫尔(Adi Shamir)伦纳德·阿德曼(Leonard Adleman)一起提出,因此命名为 RSA 算法:

3.1 RSA 算法生成公钥和私钥原理

  • (1)随机选择两个不相等的质数 pq
  • (2)计算 p q 的乘积 n(明文小于 n)。
  • (3)计算 n 的欧拉函数 v=φ(n)
  • (4)随机选择一个整数 k(1 < k < v,且 k 与 v 互为质数)
  • (5)计算 k 对于 v 的模反元素 d
  • (6)公钥:(k,n)
  • (7)私钥:(d,n)
  • Tips:如果两个正整数 a n 互质,那么一定可以找到整数 b,使得 ab-1n 整除,或者说 ab n 除的余数是 1,此时,b 就叫做 a模反元素
  • 3.2 RSA 算法加解密流程


下面以加解密一个数字 123 为例,公钥是 (3,319),密钥是 (187,319)

  • (1)加密c = (m^k)mod n,其中 m 是明文,c 是密文,公钥是 kn,即 c = (123^3) mod 319 =140
  • (2)解密m = (c^d) mod n,其中 m 是明文,c 是密文,私钥是 dn,即 m = (140^187) mod 319 = 123
  • 4.基于 openssl 生成的公钥和私钥
  • 首先需要在 Linux 上安装一个 openssl,安装成功之后可以使用 openssl version -a 查看 openssl 版本信息,如下:

  • 4.1 生成私钥

  • 生成私钥的命令如下:
openssl genrsa -out private.pem

  • Tips:openssl genrsa -out private.pem 命令中的 -out private.pem 表示将生成的密钥保存到 private.pem 文件中。
  • 4.2 创建一个明文文件

  • 使用 vim test.txt 命令创建一个明文文件,内容如下:
关注爱因诗贤,每天进步一点点!

  • 4.3 生成公钥

  • 公钥可以由上面生成的 私钥 中提取出来,命令如下:

openssl rsa -in private.pem -pubout -out public.pem

  • Tips:openssl rsa -in private.pem -pubout -out public.pem 命令中的 -in 表示输入 priviate.pem 文件内容,-out public.pem 表示将公钥输出到 public.pem 文件中。
  • 4.4 RFC3447 文档定义的私钥格式
RSAPrivateKey ::= SEQUENCE {          version           Version,          modulus           INTEGER,  -- n          publicExponent    INTEGER,  -- e          privateExponent   INTEGER,  -- d          prime1            INTEGER,  -- p          prime2            INTEGER,  -- q          exponent1         INTEGER,  -- d mod (p-1)          exponent2         INTEGER,  -- d mod (q-1)          coefficient       INTEGER,  -- (inverse of q) mod p          otherPrimeInfos   OtherPrimeInfos OPTIONAL      }
RSAPublicKey ::= SEQUENCE {    modulus           INTEGER,  -- n    publicExponent    INTEGER   -- k}

私钥是基于 ASN.1 格式进行编码的,可以使用 openssl asn1parse -i -in private.pem 命令查看 ASN.1 格式的私钥信息,如下图所示:

  • 4.7 密钥内容格式解析

  • Tips:--n--k 对应着前面加密流程中的 nk,图中 n 的值是 AC06...6703k 的值是 010001
  • 4.8 查看 ASN.1 格式的公钥

使用 openssl asn1parse -i -in public.pem 可以查看到如下信息:

然后使用 openssl asn1parse -i -in public.pem -strparse 19 命令可以查看到公钥的内容如下:

  • 4.9 公钥内容格式解析

  • Tips:可以对比一下私钥格式化内容和公钥格式化内容,两者是一致的,由此可见,公钥可以由私钥推到出来,反过来则比较困难。
  • 4.10 使用公钥对明文加密

使用 openssl rsautl -encrypt -in test.txt -inkey public.pem -pubin -put test.en 可以将前面创建的 test.txt 文件生成密文 test.en 如下图所示:

  • Tips:test.en 是生成的密文。
  • 4.11 使用私钥对密文解密

使用 openssl rsautl -decrypt -in test.en -inkey private.pem -out new.txt 可以将密文 test.en 解密出来如下图所示:


相关文章
|
3月前
|
安全 算法 网络协议
解析:HTTPS通过SSL/TLS证书加密的原理与逻辑
HTTPS通过SSL/TLS证书加密,结合对称与非对称加密及数字证书验证实现安全通信。首先,服务器发送含公钥的数字证书,客户端验证其合法性后生成随机数并用公钥加密发送给服务器,双方据此生成相同的对称密钥。后续通信使用对称加密确保高效性和安全性。同时,数字证书验证服务器身份,防止中间人攻击;哈希算法和数字签名确保数据完整性,防止篡改。整个流程保障了身份认证、数据加密和完整性保护。
|
2月前
|
安全 算法 网络安全
SSL/TLS:构建数字世界的加密长城
**协议演进:从网景实验室到全球标准** 1994年,网景公司推出SSL协议,首次实现40位密钥加密传输,开启网络安全新纪元。此后,SSL 3.0、TLS 1.0相继问世,至2018年TLS 1.3将握手速度提升60%,强制前向加密确保历史会话安全。TLS协议通过非对称加密、对称加密和证书信任链等多层架构保障通信安全。2014年POODLE漏洞促使全行业禁用SSL 3.0,催生防降级机制。
|
3月前
|
安全 算法 物联网
SSL/TLS:互联网通信的加密基石与安全实践
**简介:** 在数字化时代,互联网每天传输海量敏感数据,网络攻击频发。SSL/TLS协议作为网络安全的基石,通过加密技术确保数据安全传输。本文解析SSL/TLS的技术架构、密码学原理、应用场景及常见误区,探讨其在未来的发展趋势,强调持续演进以应对新型威胁的重要性。 SSL/TLS不仅保障Web安全,还广泛应用于API、邮件、物联网等领域,并遵循合规标准如PCI DSS和GDPR。
|
2月前
|
算法 应用服务中间件 网络安全
阿里云WoSign“国密RSA双SSL证书”应用实践
阿里云WoSign品牌SSL证书是阿里云平台热销的国产品牌证书之一,支持签发国密合规的SM2算法SSL证书以及全球信任的RSA算法SSL证书,能够满足平台用户不同的SSL证书应用需求,同时为用户提供国密模块支持,实现“国密/RSA双证书部署”。
451 6
阿里云WoSign“国密RSA双SSL证书”应用实践
|
2月前
|
算法 安全 应用服务中间件
2025阿里云智惠采购季,WoSign SSL国产证书折上折满减优惠
**2025阿里云“智慧采购季,就上阿里云”活动火热进行中!** 3月1日至31日,阿里云WoSign品牌SSL证书新老用户同享折上折满减优惠。DV SSL证书低至220元/年起,轻松实现HTTPS加密,保障数据传输安全。领取“智惠采购季上云礼包”,先领券再下单,享受满减优惠。WoSign品牌SSL证书国密RSA双算法支持,确保广泛兼容与可靠部署。
744 2
2025阿里云智惠采购季,WoSign SSL国产证书折上折满减优惠
|
2月前
|
运维 安全 网络安全
【运维实战分享】轻松搞定 SSL 证书管理,告别证书繁琐操作
Spug证书平台的最大亮点之一就是其极为简化的证书申请流程,无论是新手还是经验丰富的运维专家,都可以在几分钟内轻松完成证书的申请,通过微信扫码直接登录申请,无需复杂注册,整个过程既方便又快捷。
113 17
|
2月前
|
运维 安全 数据建模
阿里云数字证书管理服务免费版和收费版SSL证书区别、收费标准、申请及部署教程参考
阿里云数字证书管理服务提供多种SSL证书类型和品牌,适用于不同规模的网站,包括但不限于电商、小型企业、大型企业或个人等。阿里云SSL证书有收费版的也有免费版的,有的新手用户由于是初次在阿里云申请SSL证书,可能不是很清楚免费版证书的申请和部署流程,本文为以图文形式为大家展示阿里云免费版SSL证书最新的申请及部署教程,以供参考。
|
2月前
|
算法 数据建模 应用服务中间件
阿里云2025智惠采购季,WoSign SSL证书优惠叠加使用攻略
阿里云2025智惠采购季,WoSign SSL证书折上折满减优惠!活动月期间(2025年03月01日至03月31日)活动折扣叠加满减优惠券,具体如何操作才能获取组合优惠价格呢?快来get优惠券组合使用攻略吧!
481 4
|
4月前
|
数据建模 网络安全
阿里云SSL证书不同类型DV、OV和EV如何收费?单域名和通配符SSL价格整理
阿里云SSL证书提供免费和收费版本,涵盖DV、OV、EV多种类型。收费证书品牌包括DigiCert、GlobalSign等,价格从238元/年起。免费SSL证书由Digicert提供,单域名有效3个月,每个实名主体每年可领取20个。具体价格和详情见阿里云SSL官方页面。
|
3月前
|
云安全 运维 安全
阿里云免费版SSL证书申请及部署图文教程指导
SSL证书是个人和企业搭建网站不可或缺的云安全产品,SSL证书能够为网站和移动应用(APP)及小程序提供数据HTTPS加密协议访问,保障数据的安全。阿里云SSL证书有收费版的也有免费版的,有的新手用户由于是初次在阿里云申请SSL证书,可能不是很清楚免费版证书的申请和部署流程,本文为以图文形式为大家展示阿里云免费版SSL证书最新的申请及部署教程,以供参考。

热门文章

最新文章