Hoc*_*eyJ 0 encryption public-key-encryption
这个问题看起来很简单,但我正在准备 70-483 C# 考试,有点困惑。
我知道公钥/私钥是数学上相互关联的属性。一个可以加密消息,另一个可以解密。
我读到的所有内容,例如维基百科、Quora、codeproject 都显示了用于加密的公钥和用于解密的私钥。
然而,我正在进行的模拟考试(MeasureUp)似乎改变了所使用的考试。
有时答案声明使用公钥进行加密,但有时他们声明使用私钥。
例子:
应用程序必须与 DMV 安全通信。DMV 必须确保从您的应用程序发送的数据在传输过程中没有被修改。
回答示例:
生成数据的哈希值。使用您公司的私钥加密哈希值。将数据和加密的哈希值发送到 DMV。
然后“显示答案”部分继续解释上面明确指出使用私钥加密的内容。
难道你必须在上下文中考虑什么是公开的、什么是私有的吗?
例如
A) 如果其他人是否可以看到该消息并不重要,只要他们无法制作自己的消息即可 - 使用您“保密”的密钥进行加密。
B) 如果其他人可以发送消息,只要我是唯一可以阅读该消息的人 - 使用公开可用的密钥进行加密。
我觉得 MeasureUp 可能错了,但我肯定比大公司更有可能错。
请有人解释/澄清为什么这个答案是正确的?
有两种不同的安全场景;加密时,用公钥加密,用私钥解密;但使用签名时,您可以使用私钥进行签名,并使用公钥进行验证。
最有可能的问题是关于签名,而不是加密。
由于问题提到:
DMV 必须确保从您的应用程序发送的数据在传输过程中没有被修改。
这是签名(完整性和作者证明),而不是加密。
| 归档时间: | 
 | 
| 查看次数: | 295 次 | 
| 最近记录: |