remove unsigned support
All checks were successful
/ test (pull_request) Successful in 1m45s

This commit is contained in:
2026-02-08 14:04:41 +01:00
parent e138ec0b6d
commit 902cb060a1
38 changed files with 455 additions and 696 deletions

View File

@@ -4,7 +4,7 @@ import kotlin.test.Test
import kotlin.test.assertContentEquals
import kotlin.test.assertEquals
class `Blake-512 Test` {
class `Blake-512_Test` {
val function = `Blake-512`
@Test
@@ -16,79 +16,49 @@ class `Blake-512 Test` {
@Test
fun `empty bytearray`() {
val expected = ubyteArrayOf(
0xa8U, 0xcfU, 0xbbU, 0xd7U,
0x37U, 0x26U, 0x06U, 0x2dU,
0xf0U, 0xc6U, 0x86U, 0x4dU,
0xdaU, 0x65U, 0xdeU, 0xfeU,
0x58U, 0xefU, 0x0cU, 0xc5U,
0x2aU, 0x56U, 0x25U, 0x09U,
0x0fU, 0xa1U, 0x76U, 0x01U,
0xe1U, 0xeeU, 0xcdU, 0x1bU,
0x62U, 0x8eU, 0x94U, 0xf3U,
0x96U, 0xaeU, 0x40U, 0x2aU,
0x00U, 0xacU, 0xc9U, 0xeaU,
0xb7U, 0x7bU, 0x4dU, 0x4cU,
0x2eU, 0x85U, 0x2aU, 0xaaU,
0xa2U, 0x5aU, 0x63U, 0x6dU,
0x80U, 0xafU, 0x3fU, 0xc7U,
0x91U, 0x3eU, 0xf5U, 0xb8U,
).asByteArray()
val actual = function.hash(
ByteArray(0),
val expected = byteArrayOf(
-0x58, -0x31, -0x45, -0x29, +0x37, +0x26, +0x06, +0x2d,
-0x10, -0x3a, -0x7a, +0x4d, -0x26, +0x65, -0x22, -0x02,
+0x58, -0x11, +0x0c, -0x3b, +0x2a, +0x56, +0x25, +0x09,
+0x0f, -0x5f, +0x76, +0x01, -0x1f, -0x12, -0x33, +0x1b,
+0x62, -0x72, -0x6c, -0x0d, -0x6a, -0x52, +0x40, +0x2a,
+0x00, -0x54, -0x37, -0x16, -0x49, +0x7b, +0x4d, +0x4c,
+0x2e, -0x7b, +0x2a, -0x56, -0x5e, +0x5a, +0x63, +0x6d,
-0x80, -0x51, +0x3f, -0x39, -0x6f, +0x3e, -0x0b, -0x48,
)
val actual = function.hash(ByteArray(0))
assertContentEquals(expected, actual)
}
@Test
fun `one block`() {
val expected = ubyteArrayOf(
0x97U, 0x96U, 0x15U, 0x87U,
0xf6U, 0xd9U, 0x70U, 0xfaU,
0xbaU, 0x6dU, 0x24U, 0x78U,
0x04U, 0x5dU, 0xe6U, 0xd1U,
0xfaU, 0xbdU, 0x09U, 0xb6U,
0x1aU, 0xe5U, 0x09U, 0x32U,
0x05U, 0x4dU, 0x52U, 0xbcU,
0x29U, 0xd3U, 0x1bU, 0xe4U,
0xffU, 0x91U, 0x02U, 0xb9U,
0xf6U, 0x9eU, 0x2bU, 0xbdU,
0xb8U, 0x3bU, 0xe1U, 0x3dU,
0x4bU, 0x9cU, 0x06U, 0x09U,
0x1eU, 0x5fU, 0xa0U, 0xb4U,
0x8bU, 0xd0U, 0x81U, 0xb6U,
0x34U, 0x05U, 0x8bU, 0xe0U,
0xecU, 0x49U, 0xbeU, 0xb3U,
).asByteArray()
val actual = function.hash(
ByteArray(1),
val expected = byteArrayOf(
-0x69, -0x6a, +0x15, -0x79, -0x0a, -0x27, +0x70, -0x06,
-0x46, +0x6d, +0x24, +0x78, +0x04, +0x5d, -0x1a, -0x2f,
-0x06, -0x43, +0x09, -0x4a, +0x1a, -0x1b, +0x09, +0x32,
+0x05, +0x4d, +0x52, -0x44, +0x29, -0x2d, +0x1b, -0x1c,
-0x01, -0x6f, +0x02, -0x47, -0x0a, -0x62, +0x2b, -0x43,
-0x48, +0x3b, -0x1f, +0x3d, +0x4b, -0x64, +0x06, +0x09,
+0x1e, +0x5f, -0x60, -0x4c, -0x75, -0x30, -0x7f, -0x4a,
+0x34, +0x05, -0x75, -0x20, -0x14, +0x49, -0x42, -0x4d,
)
val actual = function.hash(ByteArray(1))
assertContentEquals(expected, actual)
}
@Test
fun `two blocks`() {
val expected = ubyteArrayOf(
0x31U, 0x37U, 0x17U, 0xd6U,
0x08U, 0xe9U, 0xcfU, 0x75U,
0x8dU, 0xcbU, 0x1eU, 0xb0U,
0xf0U, 0xc3U, 0xcfU, 0x9fU,
0xc1U, 0x50U, 0xb2U, 0xd5U,
0x00U, 0xfbU, 0x33U, 0xf5U,
0x1cU, 0x52U, 0xafU, 0xc9U,
0x9dU, 0x35U, 0x8aU, 0x2fU,
0x13U, 0x74U, 0xb8U, 0xa3U,
0x8bU, 0xbaU, 0x79U, 0x74U,
0xe7U, 0xf6U, 0xefU, 0x79U,
0xcaU, 0xb1U, 0x6fU, 0x22U,
0xceU, 0x1eU, 0x64U, 0x9dU,
0x6eU, 0x01U, 0xadU, 0x95U,
0x89U, 0xc2U, 0x13U, 0x04U,
0x5dU, 0x54U, 0x5dU, 0xdeU,
).asByteArray()
val actual = function.hash(
ByteArray(144),
val expected = byteArrayOf(
+0x31, +0x37, +0x17, -0x2a, +0x08, -0x17, -0x31, +0x75,
-0x73, -0x35, +0x1e, -0x50, -0x10, -0x3d, -0x31, -0x61,
-0x3f, +0x50, -0x4e, -0x2b, +0x00, -0x05, +0x33, -0x0b,
+0x1c, +0x52, -0x51, -0x37, -0x63, +0x35, -0x76, +0x2f,
+0x13, +0x74, -0x48, -0x5d, -0x75, -0x46, +0x79, +0x74,
-0x19, -0x0a, -0x11, +0x79, -0x36, -0x4f, +0x6f, +0x22,
-0x32, +0x1e, +0x64, -0x63, +0x6e, +0x01, -0x53, -0x6b,
-0x77, -0x3e, +0x13, +0x04, +0x5d, +0x54, +0x5d, -0x22,
)
val actual = function.hash(ByteArray(144))
assertContentEquals(expected, actual)
}
}