Stream-Cipher

任何具有雪崩效應的流密碼?

  • October 30, 2016

據我所知,所有流密碼都是通過生成偽隨機字節流來工作的,然後將其與純文字進行異或運算以獲取密文。它的特性是密文中的一位變化只會導致解密消息中相應的位變化。

是否有任何具有雪崩效應的流密碼,其中密文中的一位更改將導致在相應位之後解密消息中大約一半的位發生更改?

根據定義,流密碼一次作用於各個位。這實際上意味著明文中後面的位不會影響密文開頭的位。但是,它可以將密文回饋回 PRNG 的狀態,以影響所有未來的比特。這可以在CFB(密碼回饋)分組密碼模式中看到。它的作用類似於流密碼,因為每個密文位可以一次提取一個,但它們會回饋到系統中以影響所有未來的位。

聽起來您正在尋找一種密碼,如果中間人對手修改密文中的單個位,則該單個更改會在相應點之後翻轉解密消息中大約一半的位。

大多數早期的密碼都是專門設計來防止這種小錯誤傳播到受影響的數字之外的。

有些人將流密碼定義為通過將密文的相應數字與獨立於明文或密文消息生成的偽隨機數字組合來恢復解密消息的每個數字的密碼。對於這些人來說,根據定義,您正在尋找的任何具有“雪崩效應”的密碼都不是蒸汽密碼。

其他人認為密文自動密鑰是一種流密碼(“自同步流密碼”),旨在防止另一種小錯誤(“失去同步”)傳播到消息的其餘部分。消息中的單個位錯誤會翻轉受影響位之後的某些(通常很小的)N 位數字的大約一半。也許您可以調整這樣的密碼以使 N 大於您的整個消息。

傳播密碼塊連結 (PCBC) 模式專門“設計用於在解密時導緻密文中的微小變化無限傳播”——這就是你想要的嗎?

有時需要“將消息的其餘部分解碼為胡言亂語”以防止發生不好的事情。正如 otus 所指出的,通常通過某種形式的消息身份驗證全有或全無轉換可以更好地滿足這種願望。

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