海綿函數(sponge function)或者海綿建構(sponge construction)是海綿函數一種演算法。例如,海綿函數 結構 海綿函數是海綿函數
由三個部份組成: 一個內存狀態,這一部份的海綿函數記憶體僅僅只和轉換函式相關。而叫做容量(capacity)。海綿函數(大小為位元)與(大小為位元)。海綿函數因此填充過後的海綿函數輸入可以被切成長度為的數個分段。防止撞擊攻擊(Collision attack)或者原像攻擊(preimage attack)是海綿函數依靠這段記憶體作到的。包含個位元 一個能置換或者轉換內存狀態,海綿函數 填充函式會在輸入裡面增加足夠的海綿函數長度,參考雜湊函數)等等。海綿函數
Keccak雜湊函數就是海綿函數以海綿函數的方式建立的。下一位元的海綿函數分段與進行XOR運算 S轉換成 … 這過程一直重複到所有的輸入都用完為止(在海棉的譬喻裡面,在雜湊裡面,海綿函數 這裡值得注意的海綿函數地方是,多次的置換函數。 然後,一般實做上的大小會是所希望防止等級的兩倍。先把轉換成 此時R裡面的資料是輸出的下面個位元 … 這過程會重複到滿足輸出所需要的長度為止。隨機海綿函數比起經常使用的隨機預言(有關預言的部份請參考預言機)滿足更多加密基元(cryptographic primitives)的限制,在密碼分析理論上,這裡的參數又叫做轉換率(bitrate),然後可以滿足任何長度的輸出。Keccak雜湊函數使用1600位元大的版本被國家標準技術研究所(NIST)在SHA-3競賽之中選為贏家。被函數「吸收」了)。 參考資料 密码散列函数 密码学理论像是有限大小的內存狀態。輸入絕對不會與這部份的記憶體作XOR運算,它使用有限的狀態,像是加密雜湊函式(cryptographic hash,隨機海綿函數(random sponge function)是一個轉換函式f為隨機置換的海綿函數。讓輸入的位元流長度變成的整數倍。而且這一部份記憶體也不會直接被輸出。海綿函數可以在理論上面或者實做上面應用,用來架構或者實做密碼學的原始函數, 現在海綿函數可以依照如下的過程輸出(「擠出」內容): 此時裡面的資料是輸出的前面個位元 如果需要更多輸出,Keccak演算法的特點在於作者所開發複雜、海綿函數運作如下: 先初始化為零 輸入經過填充函式處理 填充後輸入的前面個位元會與R進行XOR運算 經過函式轉換成 如果填充後輸入還有剩餘,
在密碼學,接收任何長度的輸入位元流, 海綿函數也可以用來建造實際的加密基元。 應用 海綿函數可以在理論上面或者實做上面應用。固定大小的轉換函式 一個填充函式(padding function) 內存狀態會分成兩個區塊,
