Xor

如果結果是回文,用它的倒數對隨機數進行異或會降低其安全性嗎?

  • August 6, 2019

$$ And four related questions/examples below: $$ 2) 如果一個隨機的 256 位數字與其反向進行異或(即大端版本與小端版本異或),如果結果是回文,因為只有 $ {2^{128}} $ 這樣的回文範圍在 $ {2^{256}} $ ?

3)對手能否有效地暴力搜尋該範圍內的回文?

範例: 一個L-bit 隨機N $ {\oplus} $ reverse( N) = 回文字元串 -L位長。

使用隨機 256 位二進製字元串的範例:

N=1000001110111000001110001111100111001000111111111111010110111001011010110110010110011001100010110110101101001000001110111111111111001110101001110001101101110101010101110011000111000010101011001010100000110110111000010101101000100111001010110110011011010110

Reverse(N)=0110101101100110110101001110010001011010100001110110110000010101001101010100001110001100111010101010111011011000111001010111001111111111110111000001001011010110110100011001100110100110110101101001110110101111111111110001001110011111000111000001110111000001

N $ {\oplus} $ Reverse(N) = 1110100011011110111011000001110110010010011110001001100110101100010111100010011000010101011000011100010110010000110111101000110000110001011110110000100110100011100001101010100001100100011110100011010110011001000111100100100110111000001101110111101100010111

4)與具有相同安全性的較小密鑰相比,使用具有較低安全性的較長密鑰是否有任何優勢(即與具有 128 位密鑰相比,具有 128 位安全性的 256 位密鑰是否有優勢?具有 128 位安全性?)

5)此外,是否有好處,例如只需要保留回文的一半,以便在壓縮/符號方面重建另一半,同時避免資訊失去,儘管安全性有所降低?

使用上述回文的範例,其中僅保留前導 128 位: 11101000110111101110110000011101100100100111100010011001101011000101111000100110000101010110000111000101100100001101111010001100並且通過將 128 位的反轉連接到保留的 128 位的右端來實現原始 256 位回文的重建,如下所示:11101000110111101110110000011101100100100111100010011001101011000101111000100110000101010110000111000101100100001101111010001100||00110001011110110000100110100011100001101010100001100100011110100011010110011001000111100100100110111000001101110111101100010111

兩個隨機字元串的異或是一個隨機字元串,所以你基本上是從一個 256 位隨機字元串生成一個 128 位隨機字元串。

  1. 是的,與純 256 位隨機字元串相比,它降低了安全性。
  2. 是的。正如你所指出的,只有 $ 2^{128} $ 可能的字元串。
  3. 是的。攻擊者可以生成所有 $ 2^{128} $ 字元串並在每個步驟中將它們與它們的反射簡單地連接起來。
  4. 不,兩者都具有針對暴力攻擊的 128 位安全性。
  5. 不,如前所述,使用回文沒有安全收益,這意味著使用回文完全沒有優勢。例如,一個 256 位的回文可以以 128 位“壓縮”儲存,但它仍然只提供 128 位的安全性。您可以簡單地使用普通的 128 位密鑰,它具有相同的大小,具有相同的安全性,並且更簡單。

引用自:https://crypto.stackexchange.com/questions/72409