Hash

玩具 Tetragraph 雜湊

  • September 6, 2019

我試圖了解TTH的工作原理,但有一個問題。

讓我們看這個例子:ABCDEFGHIJKLMNOP

我們有

A B C D
E F G H
I J K L
M N O P

然後我們將每一列加 mod 26 並將結果添加到執行總計中,mod 26,在本範例中,執行總計為 (24,2,6,10)

第 2 輪:使用第 1 輪的矩陣,將第一行向左旋轉 1,第二行向左旋轉 2,第三行向左旋轉 3,並將第四行的順序顛倒。在我們的例子中。

B C D A
G H E F
L I J K
P O N M

現在,將每列 mod 26 和結果添加到執行總數中。新的執行總數為 (5,7,9.11)。

這個執行總數現在是下一個文本塊的第一輪壓縮函式的輸入。處理完最終塊後,將最終執行總計轉換為字母。例如。如果消息是ABCDEFGHIJKLMNOP,那麼雜湊是FHJI

所以,我的問題是如果存在下一個數據塊,我們如何使用雜湊 FHJI?

假設我們的數據是ABCDEFGHIJKLMNOP QRSTUVWXYZABCDEF.

我將如何將第一個數據塊產生的執行總數與另一個數據塊一起使用?

我對 Toy Tetragraph Hash 定義的解讀是,“執行總數”是 4 個模 26 的整數,最初為 (0,0,0,0)。它通過處理每個 16 個字母的消息塊來修改。然後在最後一步,將其轉換為字母,形成雜湊。

因此,在範例中,處理後的總和ABCDEFGHIJKLMNOP為(5,7,9,11);它在處理第二個塊時使用QRSTUVWXYZABCDEF,並且在該塊的第一輪之後變為(15,21,1,7),在第二輪之後變為(8,12,16,20)。最後將其轉換為 hash IMQU

你的“FHJI”真的是FHJL。第一個塊 (24, 2, 6, 10) 產生的總數被添加 mod 26’d 到所有 4 列的 add mod 26 產生的總數中。例子。添加 mod 26 第一列 (B, G, L, P) = 7,取那個 7 並添加 mod 26 (7 和 24) = 5,這是下一個 HASH FHJL (5, 7, 9, 11) 的第一個數字) 也是您的總成績。假設您為第 3 輪添加另一個 4x4 塊。然後您將進行另一輪移位和反轉,並在第 2 輪的第一列 (B, G, L, P) 和新的 (x, x , x, x) 從第 3 輪換檔,得到一個 n 結果。(重複接下來的三列)這將為您提供一個新的 (n, n, n, n)。然後,您將添加 mod 26 新的 (n, n, n, n) 到您的執行總數/HASH(FHJL) (5, 7, 9, 11)。這個結果是新的執行總計/HASH (n, n, n, n)。重複添加塊。

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