43 lines
1.2 KiB
Kotlin
43 lines
1.2 KiB
Kotlin
package com.infendro.hash.keccak.shake
|
|
|
|
import kotlin.test.Test
|
|
import kotlin.test.assertContentEquals
|
|
import kotlin.test.assertEquals
|
|
|
|
class `SHAKE256 Test` {
|
|
val function = SHAKE256(64)
|
|
|
|
@Test
|
|
fun `bytes and block`() {
|
|
assertEquals(64, function.bytes)
|
|
assertEquals(512, function.bits)
|
|
assertEquals(136, function.block)
|
|
}
|
|
|
|
@Test
|
|
fun `empty bytearray`() {
|
|
val expected = ubyteArrayOf(
|
|
0x46U, 0xb9U, 0xddU, 0x2bU,
|
|
0x0bU, 0xa8U, 0x8dU, 0x13U,
|
|
0x23U, 0x3bU, 0x3fU, 0xebU,
|
|
0x74U, 0x3eU, 0xebU, 0x24U,
|
|
0x3fU, 0xcdU, 0x52U, 0xeaU,
|
|
0x62U, 0xb8U, 0x1bU, 0x82U,
|
|
0xb5U, 0x0cU, 0x27U, 0x64U,
|
|
0x6eU, 0xd5U, 0x76U, 0x2fU,
|
|
0xd7U, 0x5dU, 0xc4U, 0xddU,
|
|
0xd8U, 0xc0U, 0xf2U, 0x00U,
|
|
0xcbU, 0x05U, 0x01U, 0x9dU,
|
|
0x67U, 0xb5U, 0x92U, 0xf6U,
|
|
0xfcU, 0x82U, 0x1cU, 0x49U,
|
|
0x47U, 0x9aU, 0xb4U, 0x86U,
|
|
0x40U, 0x29U, 0x2eU, 0xacU,
|
|
0xb3U, 0xb7U, 0xc4U, 0xbeU,
|
|
).asByteArray()
|
|
val actual = function.hash(
|
|
ByteArray(0),
|
|
)
|
|
assertContentEquals(expected, actual)
|
|
}
|
|
}
|