密码学 - 适用于互联网的公开密钥加密技术

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 密码学 - 适用于互联网的公开密钥加密技术

前面几节所讲解的加密技术都属于“对称密钥加密技术”,也称作“秘密密钥加密技术”(如图10.7所示)。这种加密技术的特征是在加密和解密的过程中使用数值相同的密钥。因此,要使用这种技术,就必须事先把密钥的值作为只有发送者和接收者才知道的秘密保护好(如图10.7-(1)所示)。虽然随着密钥位数的增加,破解难度也会增大,但是事先仍不得不考虑一个问题:发送者如何才能把密钥悄悄地告诉接收者呢?用挂号信吗?要是那样的话,假设有100名接收者,那么发送者就要寄出100封挂号信,非常麻烦,而且这样也无法防止通信双方以外的其他人知道密钥。再说寄送密钥也要花费时间。互联网的存在应该意味着用户可以实时地与世界各地的人们交换信息。因此对称密钥加密技术不适合在互联网中使用。


image.png


图10.8 创建公钥和私钥的步骤


但是世界上不乏善于解决问题的能人。他们想到只要让解密时的密钥不同于加密时的密钥,就可以克服对称密钥加密技术的缺点。(“会有这样的技术吗?”也许诸位不禁会发出这样的疑问,稍后笔者将展示具体的例子)。而这种加密技术就被称为“公开密钥加密技术”。

在公开密钥加密技术中,用于加密的密钥可以公开给全世界,因此称为“公钥”,而用于解密的密钥是只有自己才知道的秘密,因此称为“私钥”。举例来说,假设笔者的公钥是3,私钥是5(实际中会把位数更多的两个数作为一对儿密钥使用)。笔者会通过互联网向全世界宣布“矢泽久雄的公钥是3哦”。这之后当诸位要向笔者发送数据的时候,就可以用这个公钥3加密数据了。这样就算加密后的密文被人盗取了,只要他还不知道笔者的私钥就不可能对其解密,从而保证了数据的安全性。而收到了密文的笔者,则可以使用只有笔者自己才知道的私钥5对其解密(如图10.7(2)所示)。怎么样?这个技术很棒吧!


\image.png

图10.7 对称密钥加密技术和公开密钥加密技术


可用于实现公开密钥加密技术的算法有若干种,这里笔者将介绍目前广泛应用于互联网中的RSA算法。RSA这个名字是由三位发明者Ronald Rivest、Adi Shamir和Leonard Adleman姓氏的首字母拼在一起组成的。美国的RSA信息安全公司对RSA的专利权一直持有到2000年9月20日。使用RSA创建公钥和私钥的步骤如图10.8所示。无论是公钥还是私钥都包含着两个数值,两个数值组成的数对儿才是一个完整的密钥。

由图10.8的步骤可以得出:323和11是公钥,323和131是私钥,的确是两个值都不相同的密钥。在使用这对儿密钥进行加密和解密时,需要对每个字符执行如图10.9所示的运算。这里参与运算的对象是字母N(字符编码为78)。用公钥对N进行加密得到224,用私钥对224进行解密可使其还原为78。

乍一看会以为只要了解了RSA算法,就可以通过公钥c = 323、e = 11推算出私钥c = 323, f = 131了。但是为了求解私钥中的f,就不得不对c进行因子分解,分解为两个素数a、b。在本例中c的位数很短,而在实际应用公开密钥加密时,建议将c的位数(用二进制数表示时)扩充为1024位(相当于128字节)。要把这样的天文数字分解为两个素数,就算计算机的速度再快,也还是要花费不可估量的时间,时间可能长到不得不放弃解密的程度。


image.png

图10.9 用公钥加密,用私钥解密

目录
相关文章
|
4天前
|
存储 安全 算法
密码学基础:加密技术如何保护我们的在线生活
密码学基础:加密技术如何保护我们的在线生活
20 7
|
18天前
|
算法 安全 量子技术
量子计算与密码学:加密技术的新挑战
【10月更文挑战第29天】本文探讨了量子计算对密码学的影响,分析了现有加密技术面临的挑战,并展望了未来的发展趋势。量子计算的快速发展对传统公钥加密算法(如RSA和ECC)构成巨大威胁,同时也催生了后量子加密算法和量子密钥分发等新技术。文章强调了多元化、标准化和国际合作在构建量子安全加密体系中的重要性。
|
3月前
|
安全 算法 数据安全/隐私保护
加密与安全:公开密钥加密、加密过程、数字签名等
这篇文章详细解释了非对称加密算法,包括公开密钥加密的原理、加密过程、数字签名的功能,以及它与对称加密的比较和实际应用场景。
加密与安全:公开密钥加密、加密过程、数字签名等
|
3月前
|
安全 物联网 网络安全
网络安全的屏障与密钥:揭秘网络漏洞、加密技术与安全意识的重要性新技术趋势与应用:区块链、物联网与虚拟现实的未来展望
【8月更文挑战第27天】在数字时代的浪潮中,网络安全成为了我们不可忽视的话题。本文将深入浅出地探讨网络安全中的漏洞问题、加密技术的应用及其重要性,以及提升个人和组织的安全意识的必要性。通过分析常见的网络攻击手段和防御策略,我们将了解到保护信息资产的紧迫性,并掌握一些基础的防护措施。文章还将分享几个实用的代码示例,帮助读者更好地理解加密技术在实际应用中的作用。
|
3月前
|
安全 数据安全/隐私保护 C++
RSA密钥的秘密花园:Python带你漫步加密解密的知识殿堂
【8月更文挑战第2天】RSA密钥的秘密花园以非对称加密守护信息安全。对称加密如乡间小屋, 发送方与接收方共享钥匙; 而RSA像宏伟城堡, 拥有公钥和私钥。公钥加密信息, 私钥解密, 解决了密钥安全传递难题。借助Python和pycryptodome库, 我们可体验RSA加密解密过程, 生成密钥对, 加密消息, 并成功解密, 展现其强大能力和在信息安全中的独特作用。
63 2
|
3月前
|
安全 网络安全 量子技术
【骇入心灵的暗网迷雾与密码学的绝地反击】——揭秘网络空间中的致命漏洞与加密艺术的生死较量,一段关于光明与黑暗的数字史诗!
【8月更文挑战第7天】互联网是无限可能之地,亦暗藏危机。网络安全漏洞威胁隐私与安全,加密技术如坚盾保护我们。本文探索网络阴影及加密技术如何运作:对称加密快速但密钥易泄,非对称加密安全但速度较慢。通过示例展示两者差异,并展望加密技术未来发展,确保数字世界安全航行。
68 0
|
5月前
|
安全 算法 Java
密码学基础知识与加密算法解析
密码学基础知识与加密算法解析
|
4月前
|
算法 安全 网络安全
网络安全&密码学—python中的各种加密算法
数据加密是一种保护数据安全的技术,通过将数据(明文)转换为不易被未经授权的人理解的形式(密文),以防止数据泄露、篡改或滥用。加密后的数据(密文)可以通过解密过程恢复成原始数据(明文)。数据加密的核心是密码学,它是研究密码系统或通信安全的一门学科,包括密码编码学和密码分析学。
|
4月前
|
SQL 安全 网络安全
网络安全的屏障与密钥:漏洞防御、加密技术与安全意识
【7月更文挑战第14天】在数字化浪潮中,网络安全成为维护信息完整性和隐私权的基石。本文将深入探讨网络环境中存在的安全漏洞,分析其成因及潜在的风险,并介绍当前主流的加密技术如何作为防线保护数据不受侵犯。此外,强调安全意识的重要性,并提出提升个人和企业防护能力的策略。通过技术与认知的双重提升,构建更为坚固的网络安全防御体系。
|
4月前
|
安全 算法 Java
密码学基础知识与加密算法解析
密码学基础知识与加密算法解析
下一篇
无影云桌面