0

Мне нужно зашифровать большое количество коротких сообщений (30-200b). Проблема с обычными алгоритмами, такими как RSA, заключается в том, что размер зашифрованного сообщения имеет тенденцию к увеличению, по сравнению с симметричными алгоритмами шифрования.Алгоритм шифрования открытого ключа для коротких сообщений

В идеале это криптосистема Шоуда выполнить:

  • Asymmetric
  • Размер зашифрованного сообщения должен быть не более 25% больше, чем оригинальный
  • Должно быть быстрым шифрование и дешифрование
  • Это не проблема, если после некоторой работы некоторые сообщения дешифруются
  • Но секретный ключ не может быть найден так легко
  • Было бы ве хорошо, если это известный алгоритм сплошными реализации в наиболее распространенных языках

Единственное решение, которое я не нашел до сих пор использует RSA с короткими ключами (64 бит), но мне интересно, что лучший подход может быть.

+1

Check Curve25519 – samgak

+0

@samgak Я посмотрю! – sinuhepop

+2

* «Размер зашифрованного сообщения должен быть не более 25% дольше, чем оригинал». * Если вы хотите опубликовать это, зашифрованные тексты будут уже длиннее этого, потому что вам нужно будет закодировать их с чем-то вроде Base64, имеет раздутие 33%. Это верно, даже если само шифрование не имеет никакого раздутия. Вы можете посмотреть шифрование, сохраняющее формат, но это только симметричный AFAIK. –

ответ

2

Если вам нужно надежно передачи «большое количество коротких сообщений,» то, что я рекомендовал бы, что вы посылаете сообщения через ссылку VPN, а также использовать цифровые сертификаты обеспечить эту связь. Во время начального рукопожатия будут использоваться методы шифрования с открытым ключом для согласования случайного симметричного «сеансового ключа» для последующей передачи ... и все это (!) «милостиво и полностью невидимо» для двух приложений, которые хочу поговорить. Они просто перекодируют незашифрованные данные с одного IP-адреса на другой, и, в автоматическом режиме, передача на самом деле безопасно зашифрована.

Время от времени VPN повторно согласовывает новый ключ сеанса.

Другой приемлемой альтернативой является TLS, технология шифрования за пределами https веб-сайтов.

Вкратце: «защитите канал,«, используя методы PKI, чтобы вы могли безопасно передавать данные между двумя сторонами без каких-либо дополнительных усилий или сложностей с их стороны.

+0

На самом деле, я не хочу * передавать * те сообщения. Алиса должна публиковать их в публичных СМИ, таких как веб-страница, и Боб должен их расшифровать. – sinuhepop

+0

В этом случае я предлагаю, чтобы добавленная «полезная нагрузка» ключевого контента в файлах была просто ценой, которую нужно заплатить за конфиденциальность. –