2016-10-24 8 views
0

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

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

+0

Вы также можете проверить http://stackoverflow.com/questions/34855741/how-to-encrypt-using-aes-gcm-on-ios – Codo

ответ

0

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

С SO Answer по Сойером:

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); 

Существует implemntation AES GCM на GitHub, что представляется разумным albiet медленным по сравнению с обычными Crypto. Используйте на свой риск.