Зашифровать на C++ и расшифровать на Python

Какие библиотеки вы знаете, которые можно использовать для шифрования на C/C++ и расшифровки на python для алгоритмов RSA/AES/DES?

Мы собираемся использовать один из этих алгоритмов для шифрования некоторых параметров в URL.

Мы уже пробовали некоторые библиотеки на C++:

и в питоне

  • pycryptopp
  • Python-RSA

Но, к сожалению, мне не удалось сопоставить параметры/ключи, которые используют эти библиотеки.


person roqsi    schedule 29.08.2012    source источник
comment
Сначала уточните свои требования и убедитесь, что вы не изобретаете велосипед. Какой объект будет шифровать данные, а какой — расшифровывать? Как распределяются ключи? Вам нужна только конфиденциальность или еще и честность?   -  person Gilles 'SO- stop being evil'    schedule 29.08.2012


Ответы (3)


Я использую pycrypto http://pypi.python.org/pypi/pycrypto/2.6

pycryptopp — это просто оболочка для Crypto++, что означает, что вы, вероятно, делаете что-то не так в Crypto, Python или в обоих.

Если вы просто используете полезные нагрузки в URL-адресах для веб-материалов, я написал эту библиотеку, которая обрабатывает всю эту чушь.

https://github.com/jvanasco/insecure_but_secure_enough/blob/master/insecure_but_secure_enough/__init__.py

person Jonathan Vanasco    schedule 29.08.2012
comment
Спасибо за ответ. Наконец, мы использовали для шифрования Crypto++ в QT и для расшифровки - pycrypto в django-python. * from Crypto.Cipher insert AES - person roqsi; 06.09.2012

Почему бы просто не использовать обертки OpenSSL на каждом языке? Это очень стандартизированный метод шифрования, и существует множество библиотек, упрощающих написание самого кода.

http://www.openssl.org/

https://launchpad.net/pyopenssl

http://www.boost.org/doc/libs/1_49_0/boost/asio/ssl/detail/openssl_init.hpp

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

person sean    schedule 29.08.2012

Взгляните на keyczar, криптографический инструментарий от Google. Он прост в использовании и представляет собой не просто набор функций шифрования/дешифрования; у него есть и другие функции (например, управление ключами). Это не зависит от одного алгоритма шифрования, так как разработчик может выбрать, какой из них использовать.

Здесь есть хорошие документы: http://code.google.com/p/keyczar/w/list

person Valdir Stumm Junior    schedule 29.08.2012