Я хочу реализовать общее секретное шифрование от BlackBerry до PHP - PullRequest
0 голосов
/ 20 ноября 2011

Рукопожатие 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.Естественно, это дает мне мусор.

Может ли кто-нибудь помочь мне собрать эти кусочки вместе?

1 Ответ

0 голосов
/ 21 ноября 2011

Так что здесь есть официальный ответ, оказалось, что код PHP, который я перечислил в вопросе, на самом деле отлично работает для расшифровки вывода из функции encrypt () в статье базы знаний BlackBerry.

Я будудля большей безопасности изучите добавление CBC, но в моем случае это может быть не обязательным требованием, поскольку данные, которые я отправляю, очень изменчивы.

...