Как сделать шифрование 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 или мне нужно искать другие модули? Пожалуйста, дайте мне предложение.

0 ответов

Другие вопросы по тегам