Рукопожатие https невыносимо медленно в приложении BlackBerry, поэтому я попытаюсь использовать их встроенные функции шифрования для отправки личных данных на мой сервер через http.Я могу отправить уникальный общий секретный ключ на устройство с помощью одноразовой передачи по протоколу https, поэтому я считаю, что эта схема является относительно безопасной, если только кто-то не получает доступ к устройству, но меня это не беспокоит.
IЯ нашел функцию encrypt () в следующей статье BlackBerry: http://supportforums.blackberry.com/t5/Java-Development/Use-Basic-Encryption/ta-p/445092
Я возился с ней, и она, кажется, производит зашифрованный вывод.
Вопрос в том, как сделатьЯ расшифровываю это на стороне сервера в PHP с помощью mcrypt_decrypt ()?
Я ни в коем случае не эксперт по шифрованию, и все варианты заставляют меня вращаться.Размер ключа, размер блока, режим блочного шифрования, IV и т. Д.
Я прочитал в комментариях здесь Как написать шифрование и дешифрование AES / CBC / PKCS5Padding с помощью параметра вектора инициализации для BlackBerry , которыйможет быть, я должен использовать CBCEncryptorEngine на стороне BlackBerry.В примере encrypt () не указывается режим блочного шифрования, поэтому добавление этого имеет смысл, поскольку mcrypt_decrypt (), кажется, этого хочет.
Тогда нужно ли отправлять IV вместе с зашифрованными данными?Кажется, это необходимо. Очевидно, я не в своем элементе.
Я работаю с этим кодом в PHP:
mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $sSecretKey, $sEncrypted, MCRYPT_MODE_ECB);
Но, честно говоря, я понятия не имею, какие константы использоватьи нужен ли мне IV.Естественно, это дает мне мусор.
Может ли кто-нибудь помочь мне собрать эти кусочки вместе?