convert HashFunction to interface

This commit is contained in:
2025-12-12 14:08:52 +01:00
parent 17b765b13c
commit 1ddda4889a
14 changed files with 19 additions and 24 deletions

View File

@@ -6,16 +6,11 @@ import com.infendro.bytearray.toULongArray
import com.infendro.hash.HashFunction
import kotlin.math.min
open class Keccak(
abstract class Keccak(
override val bytes: Int,
private val rate: Int,
private val domain: UByte,
) : HashFunction() {
init {
if (bytes < 1) throw IllegalArgumentException()
if (rate !in 8..168) throw IllegalArgumentException()
}
) : HashFunction {
override val block: Int
get() = rate
@@ -108,7 +103,7 @@ open class Keccak(
}
}
fun squeeze(
private fun squeeze(
state: ULongArray,
): UByteArray {
return buildList {