公钥密码学初学者指南

已发表: 2022-09-20

在当今竞争激烈的商业环境中,数据是一种宝贵的资源。 因此,企业必须在控制对数据的访问的同时保持数据的保密性和安全性。 此外,随着数字化成为一种常态和组织自动化其数据处理操作,未经授权访问敏感数据的机会增加。 因此,企业必须建立一个安全的环境来保护有价值的数据并减轻潜在的数据威胁。

密码学在数据安全中起着至关重要的作用,以保持机密性和完整性。 密码学的一个子类型,公钥加密公钥密码学,构成了全球大多数数据安全策略的关键组成部分。

本文将探讨密码学中公钥的概念及其在保护数据中的效用。

从世界顶级大学在线学习软件开发课程。 获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。

目录

什么是数据安全中的密码学?

密码学是指一组通过伪装数据来保护信息和通信的技术,以便只有预期的接收者才能处理和读取内容。 它依靠算法来加密只有授权个人才能解密的数据。 因此,密码学主要涉及将明文或普通文本加扰成密文(加密),然后还原(解密)。

密码学一词源于希腊语“Kryptos”,意思是“隐藏的”。 使用密码学的一些最早记录可以追溯到古埃及人和罗马人,包括朱利叶斯·凯撒著名的凯撒密码。 尽管过去使用的技术在当今时代显得原始而直接,但古老的密码是对保护敏感信息必要性的惊人提醒。 随着技术的发展,今天的密码学有许多应用,包括数字签名、互联网浏览、信使应用程序、电子邮件、信用卡交易、在线验证和加密密钥生成。

什么是密码学中的密钥?

在密码学中,密钥是按定义顺序排列的一串随机字符,用于更改或扰乱加密算法中的数据。 换句话说,密码学中的密钥加密或锁定数据,以便只有拥有有效密钥的人才能解密或解锁它。 明文是原始数据,密文是密钥加密后的数据。

密码学在数据安全系统中扮演着重要角色。 密码算法有两大类,对称密钥算法(秘密密钥算法)和非对称密钥算法(公钥算法)。

软件工程的热门课程和文章

热门节目
软件开发执行 PG 计划 - IIIT B 区块链证书课程 - PURDUE 网络安全证书计划 - PURDUE 计算机科学理学硕士 - IIIT B
其他热门文章
2021-22年美国云工程师薪水 美国 AWS 解决方案架构师薪水 美国后端开发人员工资 美国前端开发人员薪水
美国网络开发人员的薪水 2022 年 Scrum Master 面试问题 如何在 2022 年开始网络安全职业? 工程专业学生在美国的职业选择

公钥密码学的意义

公钥加密或非对称密钥加密是一种加密过程,其中使用不同的密钥对数据进行加密和解密。 尽管密钥不同,但它们在数学上与通过解密密文促进明文检索有关。 最常用的公钥加密形式是基于 RSA 算法。

在非对称加密过程中,一个密钥加密数据,另一个但对应的密钥解密数据。 加密数据的密钥是公钥,而私钥解密信息。

此外,公钥是众所周知的,而私钥是秘密的。 这意味着虽然其他人可以使用您的公钥向您发送加密信息,但只有您有权访问私钥或密钥来解码文本。

公钥密码学的优点

公钥密码学具有以下功能:

  • 加密和解密:加密和解密功能使双方能够通过伪装他们交换的信息来相互通信。 发送者在发送前对数据进行加扰或加密,接收者在接收到数据后对其进行解扰或解密。 同时,传输中的加密数据对于第三方来说仍然是难以理解的。
  • 不可否认性:公钥加密具有称为不可否认性的安全机制,可防止数据更改并确保任何一方都无法否认他们通过加密接收/发送了消息。

公钥密码学与私钥密码学

公钥加密系统不同,对称或私钥加密涉及发送者和接收者共享一个用于加密和解密消息的通用密钥。 因此,对称密钥加密算法使用发送方用来加密数据和接收方用来解码或解密数据的密钥创建固定长度位的分组密码。 私钥加密的一个典型例子是美国国家标准与技术研究院 (NIST) 于 2001 年 11 月制定的 AES 或高级加密标准。

那么,公钥密码学和私钥密码之间的主要区别是什么下表突出了这些区别。

公钥密码学私钥密码学
涉及两个密钥的公钥/双密钥密码系统。 仅使用一个密钥的秘密/单密钥密码系统。
任何人都可以使用公钥来加密数据,而只有接收者知道私钥并将其用于数据解密。 发送者和接收者共享相同的密钥。
各方不平等,因此不对称。 对称,因为各方是平等的。
加密消息的一方不能解密消息。 由于各方是平等的,因此接收者可以伪造消息并错误地声称它是由发送者发送的。

公钥加密背后的 RSA 算法

RSA算法是一种广泛使用的非对称密码算法,它依靠公钥和私钥来加密和解密消息。 RSA 算法创建于 1978 年,以其发明者 Ron Rivest、Adi Shamir 和 Leonard Adleman 的名字命名。

以下是公钥加密中 RSA 算法如何工作的简化说明

1. 密钥的生成

  • 选择两个大素数“p”和“q”。
  • 计算 n = p*q
  • 找出总函数:Φ(n) = (p-1)(q-1)
  • 现在,选择一个与 Φ(n) 互质且 1 < e < Φ(n) 的整数“e”。
  • (n,e) 对是公钥。
  • 现在,计算 'd' 使得 de = 1 mod Φ(n) 或 1 mod (p-1)(q-1)
  • 使用扩展欧几里得算法找出 d。 私钥是一对 (n,d)。

2. 加密

  • 给定的明文“P”是一系列小于 n 的数字。 如果密文是“C”,则使用以下数学步骤完成加密:

C = P e mod n

3.解密

  • 可以在以下步骤中使用私钥 (n,d) 检索明文:

P = C d mod n

以下伪代码是 RSA 算法的一个示例:

整数 x = 61,整数 y = 53;

整数 n = x * y;

// n = 3233。

//计算totient,phi

int phi = (x-1)*(y-1);

// phi = 3120。

int e = findCoprime(phi);

// 找到一个大于 1 并且是 phi 的互质数的 'e'。

// e = 17 满足当前值。

// 使用扩展欧几里得算法,找到满足的 'd'

// 这个等式:

d = (1 mod (phi))/e;

// 对于示例值,d = 2753。

public_key = (e=17, n=3233);

private_key = (d=2753, n=3233);

// 给定明文 P=123,密文 C 为:

C = (123^17) % 3233 = 855;

//解密密文C:

P = (855^2753) % 3233 = 123;

结论

私钥密码术是传统的加密系统。 但是,它使传输的消息容易被第三方拦截,因为单个密钥可以加密和解密数据。 因此,密码学家开发了公钥密码系统来解决传统系统的局限性。 公钥密码学中,发送方使用公钥加密消息,而接收方可以使用只有接收方可用的私钥对消息进行解码。 结果,第三方无法读取传输中的消息,因为只有接收者的私钥才能解密它。 公钥密码系统大多使用 RSA 算法,在现代加密技术中发挥着至关重要的作用。

加入 upGrad 成为数据安全专家的旅程

您是否正在寻找一个全面的平台来学习数据安全? 您的搜索以upGrad 与普渡大学合作的网络安全证书计划结束。 为期 8 个月的在线课程适合入门级到中级 IT 专业人士、技术专业人士、技术支持专业人士、分析师、工程师和应届毕业生。

节目亮点:

  • upGrad和普渡大学的认可证书
  • 300 多个学习时间、15 多个现场会议和四个项目
  • 涵盖密码学和加密的综合课程
  • 学习相关的编程语言和工具
  • 行业和同行网络
  • 360 度学习支持

公钥是什么意思?

公钥是指密码学中用于加密数据的大数值。 换句话说,密码学中的公钥将数据转换为不可读的格式。 一个不同但在数学上链接的私有然后解密数据。

密钥与公钥有何不同?

单个共享密钥以秘密密钥加密方式对消息进行加密和解码。 相反,公钥加密使用两个不同但在数学上相关的密钥(公钥和私钥)用于加密和解密过程。

公钥密码学有哪些应用?

公钥密码学的主要应用是数据加密和数字签名。 公钥加密通过身份验证和不可否认性确保数据安全。