forked from sergeych/crypto2
added expernal nonce support,
fixed key-based crypt functions added hashes support
This commit is contained in:
1 parent
a71a666568
commit
13c37b983c
10 files changed
+144
-30
No files matched your search
@@ -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
|
||||
|
||||
Reference in new issue
Block a user