Шифрование файлов с использованием ECIES

В настоящее время я пытаюсь создать проект (самообучающийся), который по сути представляет собой веб-сайт для обмена файлами (между двумя пользователями). Я хочу зашифровать файл (pdf) с помощью ECIES (основная цель), а затем отправить его другому пользователю. Мои вопросы:

  1. Как зашифровать файл на стороне клиента?
  2. Как отправить зашифрованный файл на сервер (какой язык / библиотека / технология)

Судя по моим вопросам, я новичок в веб-разработке.

1 ответ

Как вы, вероятно, уже знаете, от такого веб-сайта вы не получите много пользы, поскольку действительно сложно доказать, что вы не выполняете атаку MITM. Тем не менее, с точки зрения криптографии вам следует использовать / исследовать следующие технологии:

  1. эфемерный: эфемерная эллиптическая кривая Диффи-Хеллмана, использующая сильную кривую с быстрым скалярным умножением с постоянным временем, например curve25519/x25519, получение общего секрета, который можно использовать (путем хеширования x координировать с сильной хеш-функцией, такой как SHA-256, SHA-3 или Blake2b).

  2. используя ключ, согласованный на первом этапе, зашифруйте с помощью надежного симметричного шифра с проверкой подлинности, такого какChaCha20-Poly1305.

  3. Существуют тонны и тонны вариантов, возможно, если вы хотите попробовать быть децентрализованным, веб-сайт может помочь перенаправить пользователей к открытым ключам друг друга в IPFS.

Другие вопросы по тегам