Как сделать шифрование aes-ccm в Swift 3
Мне нужно зашифровать и расшифровать в Swift 3 с помощью AES-CCM. Я установил модуль CryptoSwift, и мое приложение может нормально работать с AES128 следующим образом:
//aes
let input: Array<UInt8> = [0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f]
let key: Array<UInt8> = [0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f]
let iv: Array<UInt8> = AES.randomIV(AES.blockSize)
do {
let encrypted = try AES(key: key, iv: iv, blockMode: .CBC, padding: .pkcs7).encrypt(input)
print(encrypted)
let decrypted = try AES(key: key, iv: iv, blockMode: .CBC, padding: .pkcs7).decrypt(encrypted)
print(decrypted)
} catch {
print(error)
}
Но я не могу найти способ сделать режим CCM, в котором нет IV, а только одноразовый номер короче 16 байтов.
Может ли CryptoSwift выполнять AES-CCM или мне нужно искать другие модули? Пожалуйста, дайте мне предложение.