有人问我“您如何加密消息以便客户服务人员在必要时可以阅读?”

有人问我“您如何加密消息以便客户服务人员在必要时可以阅读?”

我当时正在面试一家公司的全职职位,我是这家公司的合同工。面试官向我提出了一个问题,就是设计一款 IM 客户端。面试官问我:“如何加密消息,以便客服人员在需要时可以阅读它们?”

我没有加密方面的经验,也没有假装有。面试结束后,我试图找到这方面的信息,以便更好地理解。当我尝试查找消息加密(操作方法、示例、编码、Java 等)时​​,它只会显示有关您应该安装哪个应用程序来加密消息、为什么应该使用消息加密应用程序等的文章。我找不到它是如何完成的或如何实现它。

我对加密的工作原理有基本的了解,但我该如何进一步学习(最好不要翻阅加密书籍)。如果我再次有机会,我想知道如何回答我遇到的问题。

答案1

您如何加密消息以便客户服务人员在必要时能够阅读?

  1. 您使用客户服务的公钥加密消息。

  2. 客户服务人员使用他们的私钥解密消息。

这是一个简单的图表。想象一下你鲍勃客户服务爱丽丝

在此处输入图片描述

图片来源维基百科:公钥密码学


公钥和私钥

公钥和私钥对由两个唯一相关的加密密钥(基本上是长随机数)组成。以下是公钥的示例:

3048 0241 00C9 18FA CF8D EB2D EFD5 FD37 89B9 E069 EA97 FC20 5E35 F577 EE31 C4FB C6E4 4811 7D86 BC8F BAFA 362F 922B F01B 2F40 C744 2654 C0DD 2881 D673 CA2B 4003 C266 E2CD CB02 0301 0001

公钥顾名思义就是公开的。它通过可公开访问的存储库或目录提供给所有人。另一方面,私钥必须对其各自的所有者保密。

在此处输入图片描述

由于密钥对在数学上是相关的,因此用公钥加密的任何内容只能由其对应的私钥解密,反之亦然。

例如,如果 Bob 想要将敏感数据发送给 Alice,并且希望确保只有 Alice 能够读取这些数据,那么他将使用 Alice 的公钥加密这些数据。只有 Alice 才能访问其对应的私钥,因此,只有 Alice 才有能力将加密数据解密回其原始形式。

在此处输入图片描述

由于只有 Alice 有权访问她的私钥,因此可能只有 Alice 才能解密加密数据。即使其他人获得了加密数据的访问权限,数据仍将保密,因为他们无法访问 Alice 的私钥。

因此,公钥密码术可以实现保密性。然而,公钥密码术的另一个重要方面是它能够创建数字签名。

来源公钥和私钥

相关内容