Я не знаю достаточно об iPhone, чтобы ответить на первую часть.
Для второй части это должно быть достаточно легко расшифровать в Java, если все указано правильно.Использование AES-256 - хорошее начало.Явно укажите режим CBC и заполнение PKCS7.Используйте случайный IV и, очевидно, секретный ключ.
На стороне Java убедитесь, что вы используете то же самое: AES-256 в режиме CBC с дополнением PKCS7.Используйте тот же IV и тот же ключ.IV можно послать «в открытом виде», многие системы добавляют его к зашифрованному тексту.Вам потребуется способ безопасной передачи ключа по назначению.
Убедитесь, что вы знаете, когда имеете дело с байтами и когда вы имеете дело с текстом.Вы можете конвертировать байты в текст, используя Base64.Если вы используете текст, убедитесь, что обе стороны используют одинаковую кодировку текста для переданных файлов, UTF-8 для предпочтения.