/TheCrypto

Mail agent with end-to-end encryption (STUDY PROJECT)

Primary LanguageC#

The Crypto

Почтовый агент со сквозным шифрованием (УЧЕБНЫЙ ПРОЕКТ)

Техническое задание

  • для отправки почты использовать протокол SMTP;
  • для получения почты использовать один из протоколов электронной почты: IMAP или POP3;
  • для безопасной аутентификации использовать защищенные протоколы аутентификации;
  • отправка и получение почты с вложенными файлами;
  • чтение писем на русском языке;
  • форматирование письма;
  • возможность изменения параметров для подключения к почтовому серверу: название почтового сервера, login, password, порт протокола и т.д.;
  • возможность создания нескольких почтовых ящиков на одном клиенте и переключение между ними;
  • сохранение писем в ящике (должно быть предусмотрено хранение писем в папке «входящие», «отправленные», «черновики», «корзина» в каждом из настроенных почтовых ящиков);
  • выполнение синхронизации папок клиента с папками на почтовом сервере;
  • использование криптографических алгоритмов для шифрования почтового сообщенияи использование ЭЦП:
    • шифрование тела сообщения симметричным алгоритмом шифрования;
    • шифрование ключа симметричного алгоритма ассиметричным алгоритмов;
    • получение дайжеста сообщения с помощью функции хеширования;
    • реализация ЭЦП с помощью ассиметричного алгоритма;
  • разработка понятного пользовательского интерфейса;
  • тестирование почтового клиента в реальных условиях.

Скриншоты

Форма авторизации

Форма авторизации

Главное окно

Главное окно

Редактирование почтового ящика

Редактирование почтового ящика

Создание криптографического ключа

Создание криптографического ключа

Менеджер ключей

Менеджер ключей

Написание письма

Форма написания письма

Письмо с открытым ключом

Письмо с открытым ключом

Чтение письма - подписано, не зашифровано, есть ключи

Чтение письма - подписано, не зашифровано, есть ключи

Чтение письма - подписано, зашифровано - нет ключей

Чтение письма - подписано, зашифровано - нет ключей

Чтение письма - подписано, зашифровано - есть только ключ ЭЦП

Чтение письма - подписано, зашифровано - есть только ключ ЭЦП