如何给产品经理解释什么是 RSA 加密(一)

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 如何给产品经理解释什么是 RSA 加密(一)

摄影:产品经理与产品经理的健康生活

我们之前两篇文章已经介绍了如何在 Python 下面使用 RSA 加密,以及 python-rsa 这个库如何寻找两个大质数。

今天我们来介绍一下,RSA 加密是什么原理。

大家现在停下来,打开 Google 或者百度,搜索 RSA 加密原理。你会看到大量的文章,一上来就讲数学公式,根本看不懂他们在讲什么。

例如:

你说,这种内容如果不是 Deadline 逼着,谁想去看?

产品经理是文科生,我们假设她的数学是初中水平。如何给产品经理解释什么是 RSA 加密?

说到加密与解密,产品经理首先想到的就是小学时候给同学传纸条。为了不让中间传递的同学知道内容,产品经理曾经使用的办法:

约定一本书,例如《奇鸟形状录》,把想说的话转化为书上的文字位置,例如:

今晚8点西湖边见面。

今:第6页第3行第10个字晚:第12页第8行第1个字 8:第20页第1行第9个字 ……

所以对应的密文就是:6-3-10,12-8-1,20-1-9……

这里的密钥就是这本书,两个人都需要使用它才能完成加密和解密。

产品经理难以想象,怎么可能会存在一种加密系统,加密和解密使用的是不同的密码?有可能用 A 书来加密消息,用 B 书来解密消息吗?

要解释这个问题,我们再来想一种加密场景:

产品经理发现在书上寻找文字太麻烦了,于是换了一种简单的方案,把信息放在一个带锁的铁盒子里面,把铁盒子锁了以后让别人传给接收人。但是这就要求接收人必须有铁盒子的钥匙。所以一开始产品经理必须给一把钥匙给接收人。但如果由于某种原因,产品经理与接收人始终无法当面交换钥匙怎么办?

是否存在某种方法,产品经理与接收人自始至终都不用见面?

方法就是,产品经理把铁盒子锁住,传递给接收人。接收人在上面再加一把锁,并传回给产品经理。产品经理把自己的锁打开,再传递给接收人。接收人最后把自己的锁打开。

整个过程就不涉及到钥匙的传递。

但在真实的加密与解密场景,不可能用锁和铁盒子来传递消息,最终还是要使用密码。

那有一段消息,假设产品经理用 A 密码加密,传给 接收人,接收人用 B 密码加密,传回给产品经理。然后产品经理把 A 密码解密,再传回给接收人,接收人再用 B 密码解密。

但是,这就要求 A、B 两套密码满足交换率才行。但以上面书本加密为例,接收人首先拿到的是一串数字6-3-10,12-8-1,20-1-9……,他再加个密,比如他找一本《白夜行》,把这些数字转成书上的文字吼啊筛法奥尼尔就。然后把这段文字传回给产品经理。此时,即时产品经理知道接收人用的是《白夜行》,但也没有办法把只把第一层密码给解开。

那么什么东西满足交换率呢?我们小学时候学的加法和乘法都满足交换率。例如产品经理有一个数字10,她的密码是100,于是她先把的值1000给接收人。接收人的密码是25,于是把的值25000传回给产品经理。产品经理的值250传递给接收人,接收人再把得到10,也就是真正的信息了。

但这种方法非常不安全,因为如果有人捕获了产品经理首先发出的1000,再捕捉了接收人发出的25000,那么就知道接收人的密码是25。产品经理第二次发出250的时候,中间人使用就知道消息是数字10了。

这是因为,,已知bc,自然就能推算出a

RSA 加密的关键,就是寻找一种运算,已知bc,却无法推算出 a

下一篇文章,我们给出这种运算。

目录
相关文章
|
4月前
|
安全 算法 网络安全
浅谈非对称加密(RSA)
浅谈非对称加密(RSA)
176 0
|
3月前
|
算法 安全 Go
RSA加密算法详解与Python和Go实现
RSA加密算法详解与Python和Go实现
209 1
|
3月前
|
算法 安全 网络安全
使用 Python 实现 RSA 加密
使用 Python 实现 RSA 加密
126 2
|
4月前
|
存储 安全 算法
RSA在手,安全我有!Python加密解密技术,让你的数据密码坚不可摧
【9月更文挑战第11天】在数字化时代,信息安全至关重要。传统的加密方法已难以应对日益复杂的网络攻击。RSA加密算法凭借其强大的安全性和广泛的应用场景,成为保护敏感数据的首选。本文介绍RSA的基本原理及在Python中的实现方法,并探讨其优势与挑战。通过使用PyCryptodome库,我们展示了RSA加密解密的完整流程,帮助读者理解如何利用RSA为数据提供安全保障。
152 5
|
4月前
|
安全 算法 数据安全/隐私保护
深度揭秘!Python加密技术的背后,AES与RSA如何守护你的数据安全
【9月更文挑战第10天】随着数字化时代的到来,数据安全成为企业和个人面临的重大挑战。Python 作为功能强大的编程语言,在数据加密领域扮演着重要角色。AES 和 RSA 是两种主流加密算法,分别以对称和非对称加密方式保障数据安全。AES(Advanced Encryption Standard)因其高效性和安全性,在数据加密中广泛应用;而 RSA 则利用公钥和私钥机制,在密钥交换和数字签名方面表现卓越。
93 3
|
4月前
|
存储 安全 数据库
双重防护,无懈可击!Python AES+RSA加密方案,构建最强数据安全堡垒
【9月更文挑战第11天】在数字时代,数据安全至关重要。AES与RSA加密技术相结合,构成了一道坚固防线。AES以其高效性保障数据加密,而RSA则确保密钥安全传输,二者相辅相成,提供双重保护。本文通过Python代码示例展示了这一加密方案的魅力,强调了其在实际应用中的重要性和安全性。使用HTTPS等安全协议传输加密密钥和密文,确保数据在数字世界中自由流通而无忧。
87 1
|
4月前
|
安全 算法 数据安全/隐私保护
黑客克星!Python加密艺术大公开,AES、RSA双剑合璧,守护你的数字世界
在这个数据泛滥的时代,数字世界既充满了知识,也潜藏安全隐患。Python 作为强大的编程语言,以其独特的加密技术为我们的信息安全保驾护航。本文将介绍 AES 和 RSA 这两种加密算法,揭示它们如何协同工作,保护你的数字世界。AES(高级加密标准)以其高效、安全著称,能将敏感信息转化为难以破解的乱码。Python 的 `pycryptodome` 库让 AES 加密变得简单易行。然而,AES 面临密钥分发难题,此时 RSA(非对称加密算法)便大显身手,通过公钥加密、私钥解密的方式确保密钥传输安全。AES 与 RSA 在 Python 中交织成一道坚不可摧的防护网,共同守护我们的数字世界。
91 0
|
10天前
|
安全 算法 网络协议
【网络原理】——图解HTTPS如何加密(通俗简单易懂)
HTTPS加密过程,明文,密文,密钥,对称加密,非对称加密,公钥和私钥,证书加密
|
29天前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。
|
30天前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
49 10