Api cleanup continued
This commit is contained in:
1 parent
2db5523893
commit
8625002ea4
11 files changed
+118
-195
No files matched your search
@@ -46,9 +46,7 @@ data class SymmetricKey(val value : UByteArray) {
|
||||
}
|
||||
}
|
||||
|
||||
data class EncryptedData constructor(val ciphertext: UByteArray, val nonce: UByteArray) {
|
||||
|
||||
}
|
||||
data class EncryptedData constructor(val ciphertext: UByteArray, val nonce: UByteArray)
|
||||
|
||||
interface HashApi {
|
||||
fun hash(data: UByteArray, key : UByteArray = ubyteArrayOf()) : HashedData
|
||||
@@ -56,10 +54,10 @@ interface HashApi {
|
||||
}
|
||||
|
||||
interface EncryptionApi {
|
||||
fun encrypt(key: SymmetricKey, data : Encryptable<*>, additionalData : UByteArray = ubyteArrayOf()) : EncryptedData
|
||||
fun encrypt(key: SymmetricKey, data : Encryptable<*>, additionalData : UByteArray) : EncryptedData
|
||||
fun <T: Encryptable<T>> decrypt(key: SymmetricKey, encryptedData : EncryptedData, additionalData: UByteArray, byteArrayDeserializer : (UByteArray) -> T) : T
|
||||
fun multipartEncrypt(key: SymmetricKey, additionalData: UByteArray) : MultipartAuthenticatedEncryption
|
||||
fun multipartDecryptProcessStart(key: SymmetricKey, dataDescriptor: MultipartEncryptedDataDescriptor, additionalData: UByteArray) : MultipartAuthenticatedVerification
|
||||
fun createMultipartEncryptor(key: SymmetricKey) : MultipartAuthenticatedEncryption
|
||||
fun createMultipartDecryptor(key: SymmetricKey, header: MultipartEncryptionHeader) : MultipartAuthenticatedDecryption
|
||||
|
||||
}
|
||||
|
||||
@@ -77,11 +75,11 @@ data class MultipartEncryptionHeader(val nonce: UByteArray)
|
||||
class InvalidTagException : RuntimeException("Tag mismatch! Encrypted data is corrupted or tampered with.")
|
||||
|
||||
interface MultipartAuthenticatedDecryption {
|
||||
fun decryptPartialData(data: EncryptedDataPart) : DecryptedDataPart
|
||||
fun decryptPartialData(data: EncryptedDataPart, additionalData: UByteArray) : DecryptedDataPart
|
||||
}
|
||||
|
||||
interface MultipartAuthenticatedEncryption {
|
||||
fun encryptPartialData(data: UByteArray) : EncryptedDataPart
|
||||
fun finish() : MultipartEncryptedDataDescriptor
|
||||
fun encryptPartialData(data: UByteArray, additionalData: UByteArray) : EncryptedDataPart
|
||||
fun startEncryption() : MultipartEncryptionHeader
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user