海綿函數

在密码学，海绵函数（sponge function）或者海绵建构（sponge construction）是一种算法。它使用有限的状态，接收任何长度的输入比特流，然后可以满足任何长度的输出。海绵函数可以在理论上面或者实做上面应用，用来架构或者实做密码学的原始函数，像是加密散列函数（cryptographic hash，参考散列函数）等等。

应用

海绵函数可以在理论上面或者实做上面应用。在密码分析理论上，随机海绵函数（random sponge function）是一个转换函数f为随机置换的海绵函数。随机海绵函数比起经常使用的随机预言（有关预言的部分请参考预言机）满足更多加密基元（cryptographic primitives）的限制，像是有限大小的内存状态。   
海绵函数也可以用来建造实际的加密基元。例如，Keccak散列函数就是以海绵函数的方式创建的。Keccak散列函数使用1600比特大的版本被国家标准技术研究所（NIST）在SHA-3竞赛之中选为赢家。Keccak算法的特点在于作者所开发复杂、多次的置换函数。