Short hash implementation and test, updated cbc tests as they ignored padding
This commit is contained in:
1 parent
86611453ea
commit
91cd41c8c1
12 files changed
+570
-27
No files matched your search
+3
-3
@@ -55,7 +55,7 @@ internal class AesCtrPure internal constructor(val aesKey: InternalAesKey, val m
|
||||
* data call [decrypt]
|
||||
*/
|
||||
fun createDecryptor(aesKey : InternalAesKey, initialCounter: UByteArray) : AesCtrPure {
|
||||
return AesCtrPure(aesKey, Mode.DECRYPT, initialCounter = initialCounter)
|
||||
return AesCtrPure(aesKey, Mode.DECRYPT, initialCounter)
|
||||
}
|
||||
/**
|
||||
* Bulk encryption, returns encrypted data and a random initial counter
|
||||
@@ -68,8 +68,8 @@ internal class AesCtrPure internal constructor(val aesKey: InternalAesKey, val m
|
||||
/**
|
||||
* Bulk decryption, returns decrypted data
|
||||
*/
|
||||
fun decrypt(aesKey: InternalAesKey, data: UByteArray, initialCounter: UByteArray): UByteArray {
|
||||
val aesCtr = AesCtrPure(aesKey, Mode.DECRYPT, initialCounter = initialCounter)
|
||||
fun decrypt(aesKey: InternalAesKey, data: UByteArray, initialCounter: UByteArray? = null): UByteArray {
|
||||
val aesCtr = AesCtrPure(aesKey = aesKey, mode = Mode.DECRYPT, initialCounter = initialCounter)
|
||||
aesCtr.addData(data)
|
||||
return aesCtr.decrypt()
|
||||
}
|
||||
|
||||
+6
-2
@@ -75,7 +75,9 @@ class AesCbcTest {
|
||||
assertTrue {
|
||||
val key = "4278b840fb44aaa757c1bf04acbe1a3e"
|
||||
val iv = "57f02a5c5339daeb0a2908a06ac6393f"
|
||||
val cipherText = "479c89ec14bc98994e62b2c705b5014e175bd7832e7e60a1e92aac568a861eb7"
|
||||
val cipherText = "479c89ec14bc98994e62b2c705b5014e" +
|
||||
"175bd7832e7e60a1e92aac568a861eb7" +
|
||||
"fc2dc2f4a527ce39f79c56b31432c779"
|
||||
val expectedPlainText = "3c888bbbb1a8eb9f3e9b87acaad986c466e2f7071c83083b8a557971918850e5"
|
||||
val aesCbc =
|
||||
AesCbcPure(InternalAesKey.Aes128Key(key), mode = Mode.DECRYPT, initializationVector = iv.hexStringToUByteArray())
|
||||
@@ -95,7 +97,9 @@ class AesCbcTest {
|
||||
assertTrue {
|
||||
val key = "4278b840fb44aaa757c1bf04acbe1a3e"
|
||||
val iv = "57f02a5c5339daeb0a2908a06ac6393f"
|
||||
val cipherText = "479c89ec14bc98994e62b2c705b5014e175bd7832e7e60a1e92aac568a861eb7"
|
||||
val cipherText = "479c89ec14bc98994e62b2c705b5014e" +
|
||||
"175bd7832e7e60a1e92aac568a861eb7" +
|
||||
"fc2dc2f4a527ce39f79c56b31432c779"
|
||||
val expectedPlainText = "3c888bbbb1a8eb9f3e9b87acaad986c466e2f7071c83083b8a557971918850e5"
|
||||
val decrypted = AesCbcPure.decrypt(InternalAesKey.Aes128Key(key), cipherText.hexStringToUByteArray(), iv.hexStringToUByteArray())
|
||||
println("Decrypted: ${decrypted.toHexString()}")
|
||||
|
||||
Reference in new issue
Block a user