aegis-q
Квантово-устойчивое криптографическое шифрование максимальной стойкости
Aegis-Q — это реализация криптографического алгоритма с четырёхслойной раундовой структурой, разработанного для обеспечения максимальной стойкости против квантовых атак.
Архитектура
Section titled “Архитектура”Aegis-Q использует четырёхслойную структуру:
- LatticeMix — операции на решётках RLWE (уровень безопасности > Kyber1024)
- CodeMix — линейные коды (порождающие матрицы G, перестановки P)
- ZKMix — zero-knowledge трансформация (симулятор)
- MaskMix — раундовые случайные маски
Структура проекта
Section titled “Структура проекта”Использование
Section titled “Использование”Базовое шифрование
Section titled “Базовое шифрование”use aegis_q_core::{aegis_q_encrypt, aegis_q_decrypt};
let key = b"your-32-byte-key-1234567890123456";let nonce = b"your-16-byte-nonce";let plaintext = b"Hello, Aegis-Q!";
// Шифрованиеlet ciphertext = aegis_q_encrypt(key, nonce, plaintext);
// Расшифрованиеlet decrypted = aegis_q_decrypt(key, nonce, &ciphertext)?;VPN транспорт
Section titled “VPN транспорт”use transport::vpn::{VpnSession, Handshake};
// Выполнить handshakelet handshake = Handshake::perform(client_key, server_key);let session = VpnSession::from_handshake(&handshake.shared_secret, nonce);
// Шифрование данныхlet encrypted = session.encrypt_data(data);Messenger (E2EE)
Section titled “Messenger (E2EE)”use messenger::ratchet::RatchetState;
let mut ratchet = RatchetState::new(root_key);let encrypted = ratchet.encrypt(message);Параметры безопасности
Section titled “Параметры безопасности”- LatticeMix: n = 4096, q = 2^32 - 5
- CodeMix: матрицы 4096×4096
- ZKMix: SHA3-512 / SHAKE-256
- Раунды: 10 (настраивается)
Тестирование
Section titled “Тестирование”# Запуск всех тестовcargo test
# Property-based тестыcargo test --test property
# Known Answer Testscargo test --test kat
# Бенчмаркиcargo benchДокументация
Section titled “Документация”# Генерация документацииcargo doc --openПодробная спецификация алгоритма доступна в SPEC.md
Source · AGPL-3.0