首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AES解密后加加密,会产生原始文本吗?

AES解密后加加密,会产生原始文本吗?
EN

Cryptography用户
提问于 2017-03-26 06:57:50
回答 2查看 1.4K关注 0票数 7

如果一个纯文本首先使用密钥K1解密(使用AES解密算法),然后使用相同的K1加密,那么最终结果是否仍然是原始纯文本?

EN

回答 2

Cryptography用户

发布于 2017-03-26 07:38:26

如果您说的是一个块消息上的AES块密码,那么是的,K是实际的128/192/256位密钥。对于给定的密钥,加密E(message, key)和解密D(ciphertext, key)函数是相互完善的逆函数。通过构造任何在单块消息m上操作的块密码加密/解密函数(对于AES,一个块=128个-位=16个字节),您将始终同时拥有E(D(m,K),K) = mD(E(m,K),K) = m

这就是说,如果您在内部使用AES作为加密/解密的分组密码的安全模式(如openssl aes-[128|192|256]-cbc)中使用了一些编写良好的工具,那么如果您只是简单地向工具提供一条纯文本消息并要求它用您的密钥解密所述消息,则这可能无法工作。

这是因为您的工具使用AES作为您的分组密码将为您作出各种假设,并做了更多的工作,而不仅仅是应用AES对每个块。具体地说:

  1. 在加密消息之前,该工具可能会向您的消息添加适当的填充,如果您试图解密未正确填充的内容,则无法解密。(没有适当的填充,它们对多块AES加密消息的攻击)。
  2. 在加密时,该工具可以使用随机初始化向量( IV )块在密文前面加上一个块;在解密时不会试图解密被认为是IV的第零块。(如果没有初始化向量,窃听者就可以检测出何时发送类似的起始消息,并可能对其进行篡改)。
  3. 该工具还可能包含某种MAC,以验证数据未被篡改,如果您试图解密明文消息(因为明文消息将没有允许解密的有效MAC ),这将失败。
票数 11
EN

Cryptography用户

发布于 2017-03-26 07:19:20

就加密例程而言,“解密”和“加密”这两个术语只是函数--它们通过一个函数运行一个输入来检索原始内容。一般来说,他们的做法正好相反--如果加密器向上翻转一点,解密器就会向下翻转。原文并不重要。

当您决定对任何文本运行“解密”例程时,它将在文本上运行相反的函数--但是由于您的输入实际上没有加密,您可能会得到一个绝对垃圾流。但再说一次,这不是重点。如果您加密这个垃圾输出,理论上您应该能够检索输入。

Tl博士:是的。这应该是可能的。

票数 -1
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/45066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档