Security 显示纯文本的长度?

Security 显示纯文本的长度?,security,encryption,cryptography,Security,Encryption,Cryptography,如果我刚刚用CBC和Rijndael将一些纯文本加密为密文,那么告诉世界原始纯文本的长度为x字节是否不安全?似乎它总是与密文的长度相同,所以,我认为这并不重要,但有一些块模式或密码是重要的吗?输出的长度并不总是相同的。但是,如果纯文本的长度相似,则由于填充,密文的长度可能相同(Rijndael/AES是一种分组密码) 如果你告诉全世界明文的长度,这会削弱你的安全感,所以除非有很好的理由,否则我建议不要这样做 另外,请看一下CBC的工作原理: 输出的长度并不总是相同的。但是,如果纯文本的长度相似

如果我刚刚用CBC和Rijndael将一些纯文本加密为密文,那么告诉世界原始纯文本的长度为x字节是否不安全?似乎它总是与密文的长度相同,所以,我认为这并不重要,但有一些块模式或密码是重要的吗?

输出的长度并不总是相同的。但是,如果纯文本的长度相似,则由于填充,密文的长度可能相同(Rijndael/AES是一种分组密码)

如果你告诉全世界明文的长度,这会削弱你的安全感,所以除非有很好的理由,否则我建议不要这样做

另外,请看一下CBC的工作原理:


输出的长度并不总是相同的。但是,如果纯文本的长度相似,则由于填充,密文的长度可能相同(Rijndael/AES是一种分组密码)

如果你告诉全世界明文的长度,这会削弱你的安全感,所以除非有很好的理由,否则我建议不要这样做

另外,请看一下CBC的工作原理:


Rijndael是一种分组密码,因此纯文本将填充为完整的块。(这可能被加密层隐藏)

因此,加密消息文本长度将指示纯文本长度


如果按消息长度泄漏信息,则必须自行填充。事实上,发送消息可能会泄漏信息,因此当您没有任何东西要发送时,您将不需要发送op消息。

Rijndael是一种分组密码,因此纯文本将填充到完整的块中。(这可能被加密层隐藏)

因此,加密消息文本长度将指示纯文本长度


如果按消息长度泄漏信息,则必须自行填充。事实上,发送消息可能会泄漏信息,因此当您没有任何东西要发送时,您将不需要发送op消息。

纯文本通常与密码文本的长度不同。在加密之前,纯文本被填充。如果您发送两条不同的消息“是”或“否”,那么发送原始长度可能不是一个好主意。如果所有消息的长度相同,则可以发布该长度。

纯文本通常与密码文本的长度不同。在加密之前,纯文本被填充。如果您发送两条不同的消息“是”或“否”,那么发送原始长度可能不是一个好主意。如果所有消息的长度相同,则可以发布该长度。

您应该使用PKCS5填充方案。此方案始终使用额外信息填充,包括已添加的额外字节数。解密后,检查最后一个块以查看应丢弃多少字节


关于原始消息长度的信息很难隐藏。即使使用padding to block size,也可以推断原始消息的长度为n,n-1,n-2,…,或者n-blocksize+1字节。大多数加密协议很少或根本不隐藏明文长度。

您应该使用PKCS5填充方案。此方案始终使用额外信息填充,包括已添加的额外字节数。解密后,检查最后一个块以查看应丢弃多少字节


关于原始消息长度的信息很难隐藏。即使使用padding to block size,也可以推断原始消息的长度为n,n-1,n-2,…,或者n-blocksize+1字节。大多数加密协议很少或根本不隐藏明文长度。

我需要该长度,以便以后可以去掉由CBC引起的空字节。因此,长度以明文形式存储在数据库中。我需要该长度,以便以后可以去掉由CBC引起的空字节。因此,长度以纯文本形式存储在数据库中。其他详细信息如下:我将纯文本的长度存储在数据库中,以便以后可以去掉由CBC引起的空字节。其他详细信息如下:我将纯文本的长度存储在数据库中,以便以后可以去掉由CBC引起的空字节。