Classical-Cipher

使用 base 26 LFSR 進行手動加密的可行性

  • October 30, 2013

我一直在玩以 26 為底的 LFSR(即使用字母表),並註意到以 26 為底的 XOR 操作只是 tabula recta,因此可以很快完成。這讓我想知道是否可以將基數 26 LFSR(結合自收縮等技術)用作可以手動執行然後與明文異或的 PRNG。

基數為 26 的 LFSR 的長度必須為 27 $ \approx2^{128} $ 可能的狀態(提供 128 位加密?),但根據抽頭的數量,這仍然可以在紙上相對較快地執行。

我不確定我對非二進制 LFSR 的理解,所以我的一些假設可能不正確,但我們將不勝感激。

LFSR 理論,對於 $ n $ 位寄存器在移位操作和多項式的乘法之間使用同構 $ \mathbb{F}_2[X] $ 經過 $ X $ ; 乘法取模一個給定的多項式 $ P $ 學位 $ n $ ; 該模多項式是由“回饋”位的位置定義的,我們通常希望它是原始的(即不可約的,並且使得 $ X $ 通過乘法生成所有非零多項式模 $ P $ )。XOR 運算實際上是多項式的加法,即單項式的成對加法。在 $ \mathbb{F}_2 $ , 值是位,加法是 XOR。

這擴展到任何有限域。但是沒有大小為 26 的有限域。您可以做的是將字母映射到以 26 為模的整數,並在這些整數的*環中進行計算。*根據中國剩餘定理,當您進行模 26 的算術運算時,您實際上是在 $ \mathbb{F}_{13} $ 和 $ \mathbb{F}_2 $ 同時地。因此,該理論可以通過 CRT 應用。

即,您可以選擇多項式 $ P = X^n + \sum_{i=0}^{n-1} p_i X^i $ 其中每個 $ p_i $ 等於 $ 0 $ 或者 $ 1 $ (僅),這樣 $ P $ 都是原始的 $ \mathbb{F}2 $ 和 $ \mathbb{F}{13} $ . 然後,相應的 base-26 LFSR 將作為相應週期的 base-13 和 base-2 LFSR 的 CRT 混合執行 $ 13^n-1 $ 和 $ 2^n-1 $ . 總週期將是這兩個值的最小公倍數。

備註:

  • 儘管 LFSR 具有良好的統計特性,但對於密碼學來說,它們往往不是很好(例如,您不能保留回饋多項式 $ P $ 秘密,因為Berlekemp-Massey算法)。一個安全的基於 LFSR 的流密碼將需要一個技巧,通常是不規則的時鐘,如A5/1。A5/1 對密碼分析的抵抗力大約是其內部大小的三分之二(即 $ 2^{64·2/3} $ ) 這並不高,並且允許進行大量實際的預計算。對於“手動”LFSR,您可能需要使用狀態大小,這將使其不切實際。此外,CRT 對偶性會使分析更加複雜。我可以設計一個類似 A5/1 的 base-26 流密碼並且是安全的,具有足夠大的內部狀態,但我對“足夠大”的大小沒有明確的想法。
  • 使用 32 個符號(26 個字母和一些額外的空格和標點符號)可能會有更好的運氣。 $ \mathbb{F}{32} $ 是一個欄位(請注意,不是整數模 32;在 $ \mathbb{F}{32} $ , 加法確實是一個 XOR 並且每個值,添加到自身,產生一個 0)。但是,您還需要一個回饋多項式,其中並非所有係數都是 $ 0 $ 或者 $ 1 $ (否則你最終會並行執行 5 個二進制 LFSR)。這可以使回饋規則應用更加複雜。
  • “手動”base-26 LFSR 可以通過拼字遊戲有效執行。

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