cryptography
Репозиторий лабораторных работ по криптографии
Авторами являются студенты, которые хотят научиться писать эффективный код на Rust. Мы используем наши задания в университете для этого. Не стесняйтесь вносить любые предложения, исправления, подсказки и улучшения. Сделать это можно через стандартные Pull Requests или Issue.
6 Семетр
- 100% — Реализация кодирования BASE32 и BASE64
- 100% — Реализация Streebog256 и Streebog512
- 95% — Реализация SHA256 и SHA512
- 80% — Реализация HMAC на основе SHA256, SHA512, Streebog256 и Streebog512
- 85% — Реализация цифровой подписи на основе шифра RSA
- 85% — Реализация цифровой подписи на основе шифра Эль-Гамаля
- 85% — Реализация цифровой подписи на основе шифра Фиата-Шамира
- 30% — Реализация групповой цифровой подписи на основе шифра Эль-Гамаля
- 85% — Реализация двухпроходного протокола идентификации
- 85% — Реализация трехпроходного протокола идентификации
- 85% — Реализация протокола аутентификации на основе ассиметричного шифра
- 85% — Реализация схемы одноразовых паролей на основе хеш-функций
- 85% — Реализация протокола идентификации Фиата-Шамира
- 85% — Реализация протокола передачи ключа
- 85% — Реализация протокола Диффи-Хеллмана
- 85% — Реализация простого протокола экспоненциального распределения ключей
- 85% — Реализация схемы Блома
- 85% — Реализация (n, t)-пороговой схемы Шамира
Прогресс
SHA
Необходимо незначительно переписать функции вычисления хэш-сумм, однако весь функционал доступен.
HMAC
Неободимо дописать использование оставшихся, кроме SHA256, хэш-функций.
Цифровые подписи на основе шифров RSA, Эль-Гамаля и Фиата-Шамира
Код рабочий, но его трудно читать, необходимо переписать.
Групповые цифровые подписи
Нет рабочего решения.
Известные проблемы
SHA
Код функций сильно пересекается, но все равно дублируется в каждой из них.
⌛ Исправление в процессе.
Streebog
Код этой библиотеки весьма неоптимально работает по времени.
❓ Исправление не было предложено.
HMAC
Для создания универсальной фунции был избран неэффективный путь.
❓ Исправление не было предложено.
Цифровые подписи на основе шифров RSA, Эль-Гамаля и Фиата-Шамира
Необходим колоссальный рефакторинг.
❓ Исправление не было предложено.
Ведущие разработчики
Редров Иван
digit4lsh4d0w
Контакты
Синюков Кирилл
loopch12