什么是公钥密码术? 详细信息中要知道的一切。
已发表: 2022-08-02数据对于通过 Internet 连接的每个人来说都是必不可少的。 在互联网上或通过互联网发布的每一条信息都有被泄露的风险。 企业集团和个人使用某些措施来保护他们的数据并在通过 Internet 传输期间保护数据。 每天都使用 TCP/IP、数据加密、散列和密码学等技术来保护通过 Internet 传输的数以亿计的数据。
密码学通过更改数据格式来保护通过 Internet 传输的数据,使未经授权的用户无法访问它。 对称和非对称密码学是两种类型的密码学技术。 对称密码术是一种仅使用单个密钥来加密和解密传输数据的密码术。 非对称加密是一种有一对密钥的加密技术,一个用于加密数据,另一个用于解密数据。 该对包含公钥和私钥。
从世界顶级大学在线学习软件开发课程。 获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。
探索我们流行的软件工程课程
LJMU & IIITB 计算机科学硕士 | 加州理工学院 CTME 网络安全证书课程 |
全栈开发训练营 | 区块链中的 PG 程序 |
软件开发行政研究生课程 - DevOps 专业化 | 全栈开发中的执行 PG 计划 |
在下面查看我们的所有课程 | |
软件工程课程 |
本文包含密码学中公钥的基础知识。
数据安全中的密码学定义
密码学是研究用于通过加密和解密在互联网上传输数据的技术,以防止未经授权的用户访问。 密码学主要使用算法来执行加密和解密,例如三重数据加密标准(aka 3DES – Symmetric cryptography)或数字签名算法(a.ka.DSA – Asymmetric Cryptography)。
密码学的根源可以追溯到罗马将军凯撒大帝的时代。 凯撒密码是密码学中最简单的技术之一。 一旦对明文(表示未受保护的数据)执行,加密过程会将字符相移“n”,使其成为密文(表示加密的数据),可以通过将密文相移“n”再次将其转换为明文' 在解密过程中。
这是一个凯撒密码的例子:
让'P'代表明文,'C'代表密文。
P = 大家好
C = KL HYHUBRQH
明文: ABCDEFGHIJKLMNOPQRSTU VWXYZ
密文: DEFGHIJKLMNOPQRSTUVWX YZABC
C = (P + 3) mod 26
P = (C – 3) 模 26
密码学中的“密钥”代表什么?
与现实世界中用于锁门的物理钥匙类似,密码学中的钥匙代表一组字符,用于锁定(加密)通过 Internet 传输的数据。 这个相同的密钥可用于解锁(解密)数据。 请注意,相同的密钥仅在对称密码算法的情况下用于解密。 在非对称加密算法中,一对密钥用于加密/解密过程——公钥和私钥。 这两个键在数学上相互关联。
公钥密码术是如何工作的?
为了保护数据免遭不必要的访问或使用,公钥密码术利用一对密钥对其进行加密和解码。 认证机构通过网络向用户提供公钥和私钥对。 其他用户可以通过从公众可用的目录中获取预期接收者的公钥来加密数据。 在将消息传输到预期的接收者之前使用这种公钥加密技术。 当通信被传递时,接收者使用其他人没有的私钥对其进行解密。
公钥密码学相对于对称密码学的优势
公钥密码术仍然是通过 Internet 传输数据的最安全方法之一。 以下是公钥加密相对于对称加密的优势:
- 公钥加密的根本好处是增强了安全性:私钥永远不会发送或暴露给任何人。
- 它可以生成无法撤销的数字签名,因此任何一方都无法否认他们收到的信息。 这称为不可否认性,可防止一方更改传输给他们的数据。
公钥密码学中最常用的算法
使用最广泛的公钥密码算法是 RSA,代表其发明者的名字,Ron Rivest – Adi Shamir – Leonard Adleman。 尽管 RSA – 4096 中的额外位提供了更高的安全性,但它比 RSA – 2048 相对慢,因此公司选择选择后者。
让我们在具有 OpenSSL 的命令行 shell 的帮助下生成我们自己的密钥对。
命令行代码:
$openssl genrsa -out private.pem 2048
// 这将生成一对密钥,并且是一个 2048 位的 RSA 密钥对
$ openssl rsa -in private.pem -pubout -out public.pem
// 对于给定的私钥,上面的代码会将公钥派生到“public.pem”中
// 这个私钥和公钥对现在可用于使用 RSA-2048 算法加密文件
阅读我们与软件开发相关的热门文章
如何在 Java 中实现数据抽象? | Java中的内部类是什么? | Java 标识符:定义、语法和示例 |
通过示例了解 OOPS 中的封装 | C 中的命令行参数解释 | 2022 年云计算的 10 大特点和特点 |
Java 中的多态性:概念、类型、特征和示例 | Java 中的包以及如何使用它们? | Git 初学者教程:从零开始学习 Git |
结论
经典的加密方法是基于单个密钥密码术(对称密码术)。 但是,由于单个密钥对数据进行加密和解密,因此传输的通信会被第三方窃听。 为了解决经典方法的局限性,创建了公钥密码系统。 在公钥密码学中,发送者使用公钥加密对通信进行加密,接收者使用只有接收者知道的私钥对其进行解密。 密码学中的公钥允许在没有任何第三方访问的情况下共享信息。
通过注册 upGrad 的网络安全计划成为网络安全专家
您是否正在寻找最佳计划来加速您在网络安全领域的学习? upGrad与班加罗尔印度信息技术学院合作,为您带来网络安全高级证书课程。
本课程包括:
- 250 多个学习小时,涵盖网络安全、应用程序安全、密码学和数据保密方面的网络安全。
- IIIT Bangalore 和 upGrad 的高级课程证书
- 由 AI 提供支持的个人资料生成器
- 为您的职业生涯提供一对一指导
- 一对一辅导
- IIIT班加罗尔的校友身份
- 独家职位空缺门户
- 帮助准备面试
什么是公钥?
密码学中的公钥是一组用于加密数据的随机数,以便只有有权访问私钥的接收者才能解密它。
哪个更安全:公钥加密或秘密密钥加密?
公钥密码术更安全,因为它包含一对密钥、公钥和私钥,而不是可用于解密数据的单个密钥。
使用公钥加密的主要好处是什么?
使用公钥加密的主要好处是私钥的机密性、数据签名和不可否认性。