Внедрение ECC в C - PullRequest
5 голосов
/ 04 июля 2011

Я хотел бы реализовать «мой собственный механизм гибридного шифрования», используя асимметричную криптографию с эллиптическими кривыми вместо других алгоритмов, таких как RSA или ElGamal.

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

Каковы наиболее безопасные реализации в C / C ++ (без использования C ++ STL) против, например, атак по побочным каналам?Я хотел бы реализовать его как «отдельный» модуль, поэтому я был бы признателен за чистый исходный код или хорошие ссылки.

1 Ответ

1 голос
/ 04 июля 2011

Прежде чем даже подумать о том, может ли какая-либо из стандартных кривых быть недостаточно безопасной, я просто пойду и убедлюсь, что режим шифрования действительно безопасен от простых старых выбранных атак зашифрованного текста. Я думаю, что статья Крамера и Шоупа «Разработка и анализ практических схем шифрования с открытым ключом, защищенных от адаптивной выбранной атаки зашифрованного текста», 2003 год, является хорошей отправной точкой для анализа гибридных схем шифрования.

Что касается временных атак: OpenSSL содержит реализации для небольшого количества выбранного числа кривых, которые были реализованы так, чтобы они выполнялись в постоянном времени.

...