Algorithm-Design

布爾函式如何在密碼學中使用?

  • December 18, 2020

我最近開始對布爾函式感興趣。因為它們被定義為 $ f: {0, 1}^n \rightarrow {0, 1} $ , 或者換句話說只是在 $ {0, 1} $ ,我猜它們可以以某種方式應用於密碼學。畢竟在密碼學中(在某種意義上),我們有一個可以定義為位的輸入,然後我們對這些位進行某種操作來打亂它們。

此外,許多算法(如 BLAKE、ChaCha20 等)使用ARX(加法旋轉異或)方法。只要我知道 AES 的某些部分也是如此。我已經讀過布爾函式對於 S-box 的設計很重要,但我想了解它們在密碼學中的更多應用。

那麼,在密碼學(用於設計算法或密碼分析)中使用布爾函式的****方式和位置(散列函式、分組密碼、流密碼、公鑰密碼系統等)是什麼?它們是否可以用於一些更複雜的算法,這些算法基於有限域算術、橢圓曲線、晶格等?

布爾函式的許多屬性用於流和分組密碼設計,例如,當它們用作過濾和組合函式時。一些重要的例子是:

最後,Sboxes 只是向量(向量輸出)布爾函式,參見 AES 提案中標題為傳播和相關的章節,該版本也出現在 Rijndael 設計師 Daemen 和 Rijmen 的“The Design of Rijndael”一書中。

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