S-Boxes
在 SP 網路中,更多的 S 盒是否更安全?
經典的 DES 使用 8 個不同的固定 S 盒。如果電腦記憶體不是問題,會說 800 個不同的 S 盒更安全嗎?我正在考慮一個 SP 網路,它只能在像電腦這樣的伺服器上執行,而不必移植到像智能卡這樣的小東西上。越多越好嗎?
這是否意味著給定的安全級別需要更少的處理輪次?
更多的 s-box 不一定更好。由於硬體複雜性的限制,以及排列的結構,DES 需要多個小的 s-box。一個小的 s-box 太弱了,而更大的 s-box 需要更多的硬體資源。對密碼的具體要求導致他們使用 8 種不同的 s-box,並在 NSA 的幫助下以非常具體的方式對它們進行排序。
具有良好特性的小 s-box 就這麼多,密碼中的 800 個 DES 樣式的 s-box 可能不是一個好主意;安全性與復雜性的比率將是非常不可取的。
下一個級別是更大的 s-box。更大的 s-box 允許更多的非線性,但代價是更高的計算資源。一個 8 位的 s-box 佔用 $ 2^8 $ 每個 8 位大小的值;一個 16 位的 s-box 佔用 $ 2^{16} $ 每個 16 位的值,比它大 512 倍,但線性度要低得多。
還有一些輸出大小大於輸入大小的 s-box,例如 Twofish 中使用的那些。8 位 x 32 位 s-box 主要用於 Twofish 和 Blowfish 以及許多其他密碼。使輸出至少是輸入的兩倍允許構造具有比相同大小更好的非線性特性,同時將 s-box 的總複雜度保持在合理的大小內。