Encryption

sbox 的擴散替代品?

  • June 18, 2017

Sbox 或 SP 網路是否有任何其他替代方案來提供擴散,最好是更基本的替代方案,但仍能提供良好的安全性?

s box 有替代品。你可能會說它們是傳統盒子的進化延伸。但它們都非常複雜。

如您所知,S 盒通常實現為基於 RAM 的查找表。所以對於一個 8 位的盒子,有 256 個可能的輸入和輸出,需要 256 個字節的儲存空間。這是 2^8。如果您有一個需要 16 位 s 框的原語,則需要 2^16 或 65,536 個查找值。所以這將適用於 16 位處理器。

如果再擴大,查找表所需的記憶體對於當今的處理器來說會變得很繁重。(您可以管理一個 24 位查找表,但在 32 位處理器上處理 24 位字是一個 PITA。)您可以選擇實時計算的 s-box。

您無需使用靜態查找表,而是對實時計算的 s-box 的輸入執行計算,並輸出根據您設計的某些公式確定的值。它通常是某種形式的迷你雜湊。它允許 s 個任意大寬度的盒子。一個很好的例子是 Whirlpool 散列*的擴散層 (MR)*算法。那是 256 位寬,並使用聰明的伽羅瓦場論。在這個寬度下,被動箱是不可能的。該變換矩陣可以很容易地擴大到 16 * 16 個值,從而創建一個 512 位的 s 盒和一個 2048 位的 Whirlpool 塊大小。甚至更多。

無需巧妙的伽羅瓦數學,使用 Pearson 散列即可實現另一種形式的活動盒。每次通過輸入位都會生成一個 8 位雜湊輸出。對每個字節使用唯一的置換錶意味著活動的 s 盒可以擴展到任意大小。我已經成功地將它用於 2048 位框。代價是 256 個排列表,但這很容易在小型台式機/平板電腦的容量範圍內。當與良好的置換和密鑰輪函式結合使用時,這種技術的安全性是可以接受的。

您會發現任何合理安全的算法都可用於計算實時計算的 s-box 的輸出。還有這個關於類似活動箱的問題。原語的安全性不僅僅來自 s 盒。事實上,Keccak 沒有真正的 s 盒子,但目前表面上是安全的。大量的安全性來自回合數,而不僅僅是回合的複雜性。其結果是,它不一定是非常聰明才能成為死板。Skein 遵循這一原則。

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