Поддержка AES 256 с GCM невозможна в iOS?

В настоящее время режим шифрования поддерживается AES 256 is CBC. Но я хочу использовать AES 256 encryption с режимом GCM вместе с PKCS5Padding / PKCS7Padding.

Дайте мне знать, как это можно сделать?


person BSNayal    schedule 24.10.2016    source источник
comment
Вы также можете проверить stackoverflow.com/questions/34855741/   -  person Codo    schedule 24.10.2016


Ответы (1)


Common Crypto не поддерживает GCM. Но есть реализация AES GCM в Security.framework, и вы можете добавить свой собственный файл заголовка, чтобы использовать его. Однако связанные данные (AEAD) не работают.

Из SO Ответ Сойера:

CCCryptorStatus CCCryptorGCM(
                 CCOperation     op, // kCCEncrypt, kCCDecrypt
                 CCAlgorithm     kCCAlgorithmAES,
                 const void      *key,    size_t  keyLength,
                 const void      *iv,     size_t  ivLen,
                 const void      *aData,  size_t  aDataLen, // does not work
                 const void      *dataIn, size_t  dataInLength,
                 void            *dataOut,
                 const void      *tag,    size_t *tagLength);

На github есть реализация AES GCM, которая кажется разумной, более медленной по сравнению с Common Crypto. Используйте на свой риск.

person zaph    schedule 25.10.2016