MonoTouch обеспечивает поддержку AES внутри своей библиотеки классов, например, класс RijndaelManaged .
Однако вам нужно знать немного больше о том, как он был зашифрован (режим шифрования, режим заполнения, размер ключа), чтобы иметь возможность расшифровать файл.Также, в зависимости от размера файла, вы можете расшифровать его в памяти (безопаснее), если он маленький, или во временный файл (если большой).
Примечания:
Rijndael - это оригинальное имя алгоритма, который был выбран как AES;
AES - это подмножество Rijndael (только один размер блока, 128 бит), поэтому вы можете делать все, что поддерживает AES, используяRijndaelManaged
;
В настоящий момент MonoTouch не использует CommonCrypto (использует управляемую реализацию из Mono), поэтому аппаратное ускорение не будет.Вероятно, это изменится в будущих выпусках (и будет совместимым, то есть просто перекомпилируется для людей, которые использовали RijndaelManaged
в своих приложениях).
EDIT
MonoTouch 5.3.3 (alpha) теперь по умолчанию использует реализации CommonCrypto, включая аппаратное ускорение (если доступно) для AES и SHA1.