Может ли iOS действительно поддерживать AES 256? - PullRequest
6 голосов
/ 08 марта 2012

Я прочитал заголовок CommonCryptor.h, и только я могу найти kCCAlgorithmAES128

Но есть несколько ответов, в которых говорится, что он может, например,

AESШифрование для NSString на iPhone

Кто-нибудь может ответить?

Ответы [ 3 ]

14 голосов
/ 08 марта 2012

Вы всегда можете использовать OpenSSL на iPhone, и он поддерживает AES 256.

При этом kCCAlgorithmAES128 означает блок длина 128, а не длина ключа.Согласно этому примеру кода (находится в этом ответе ) вам просто нужно использовать kCCKeySizeAES256 для параметра keyLength, чтобы получить поддержку 256-битных ключей.

4 голосов
/ 08 марта 2012

Недавно я обнаружил категорию NSData (также NSString), которая реализует расшифровку / расшифровку AES. Может быть, это полезно для шифрования любых данных:

Добавление методов к NSData и NSString с использованием категорий для обеспечения шифрования AES256 на iOS

Но, похоже, есть проблема с реализацией, которая делает его несовместимым с openSSL.

-

Другим полезным примером может быть Правильное шифрование с помощью AES с помощью CommonCrypto . Для поддержки 256-битных ключей просто измените kCCKeySizeAES128 на 256.

-

Последний, но не менее важный шаг выглядит многообещающим: Декодирование строки OpenSSL AES256 в iOS

1 голос
/ 08 марта 2012

Если перейти к http://www.opensource.apple.com/source/CommonCrypto/CommonCrypto-36064/CommonCrypto/CommonCryptor.h и выполнить поиск AES256 на странице, вы найдете размер ключа 256, 192 128, так что да, он поддерживает шифрование AES256.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...