added expernal nonce support,

fixed key-based crypt functions
added hashes support
This commit is contained in:
sergeych committed 2024-06-13 11:46:08 +07:00
1 parent a71a666568
commit 13c37b983c
10 files changed
+144 -30

No files matched your search

+21
View File
@@ -85,6 +85,25 @@ class KeysTest {
}
}
@Test
fun symmetricKeyTest() = runTest {
initCrypto()
val k1 = SymmetricKey.random()
val src = "Buena Vista".encodeToUByteArray()
val nonce = k1.randomNonce()
assertContentEquals(src, k1.decryptWithNonce(k1.encryptWithNonce(src, nonce), nonce))
assertThrows<DecryptionFailedException> {
val n2 = nonce.copyOf()
n2[4] = n2[4].inv()
k1.decryptWithNonce(k1.encryptWithNonce(src, nonce), n2)
}
assertContentEquals(src, k1.decrypt(k1.encrypt(src)))
assertContentEquals(src, k1.decrypt(k1.encrypt(src, 0..117)))
assertContentEquals(src, k1.decrypt(k1.encrypt(src, 7..117)))
}
@Test
fun keyExchangeTest() = runTest {
initCrypto()
@@ -105,6 +124,8 @@ class KeysTest {
assertEquals(src, clientSessionKey.decryptString(serverSessionKey.encrypt(src)))
assertEquals(src, clientSessionKey.decryptString(serverSessionKey.encrypt(src)))
assertContentEquals(clientSessionKey.sessionTag, serverSessionKey.sessionTag)
}
@Test