quantum_cipher
Языки
- V100%
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
README.md
Quantum Cipher

Quantum Cipher — это симметричный шифр, написанный на языке программирования V.
Он вдохновлён идеями квантовой криптографии и сочетает классические криптографические методы с элементами постквантовой защиты. Алгоритм обеспечивает надёжную защиту данных от современных атак и частично от будущих угроз со стороны квантовых компьютеров (в частности, устойчив к алгоритму Шора благодаря использованию решётчатой криптографии).
Важно: "квантовые" компоненты здесь — это классическая симуляция на обычном компьютере.
Основные идеи алгоритма (вдохновлённые квантовой физикой)
- Суперпозиция состояний — ключ генерируется так, будто он находится в нескольких состояниях одновременно.
- Квантовая запутанность — используются связанные пары для проверки целостности.
- Решётчатая криптография — обеспечивает постквантовую устойчивость (защита от алгоритма Шора).
- Кодирование в стиле BB84 — разные "базисы" для преобразования данных.
Симуляция квантовых компонентов
| Компонент | Квантовый аналог | Как реализовано в коде |
|---|---|---|
| Суперпозиция | |ψ⟩ = α|0⟩ + β|1⟩ | Амплитуды вычисляются с помощью SHA-256 |
| Измерение | Коллапс волновой функции | Детерминированная функция |
| Базисы BB84 | Z, X, Y базисы | 4 разных режима преобразования данных |
| Запутанность | Bell states | Коррелированные пары ключей |
| Гейт Хадамарда | H = 1/√2 [[1,1],[1,-1]] | Линейное преобразование над данными |
Рекомендуемые размеры ключей
| Размер ключа | Уровень безопасности | Рекомендуемое применение |
|---|---|---|
| 1 024 байт | Базовый | Тестирование, некритичные данные |
| 4 096 байт | Стандартный | Персональные документы |
| 16 384 байт | Высокий | Конфиденциальные данные |
| 65 536 байт | Очень высокий | Финансовая информация |
| 1 048 576 байт | Максимальный | Государственная тайна |
| 1 073 741 824 байт | Экстремальный | Долгосрочное хранение |
Примерная производительность
| Размер файла | Размер ключа | Время шифрования | Время дешифрования |
|---|---|---|---|
| 1 КБ | 4 КБ | ~1 мс | ~1 мс |
| 100 КБ | 4 КБ | ~15 мс | ~15 мс |
| 1 МБ | 4 КБ | ~150 мс | ~150 мс |
| 10 МБ | 4 КБ | ~1.5 с | ~1.5 с |
| 100 МБ | 4 КБ | ~15 с | ~15 с |
| 1 МБ | 1 МБ | ~2 с | ~2 с |
Защита от угроз
| Тип атаки | Как защищено | Статус |
|---|---|---|
| Brute-force атака | Длинный ключ (до 1 ГБ) | ✅ Полная |
| Known-plaintext атака | CBC режим, раундовые ключи | ✅ Полная |
| Chosen-plaintext атака | Nonce + IV + многораундовость | ✅ Полная |
| Side-channel атака | Постоянное время выполнения | ⚠️ Частичная |
| Квантовая атака (Shor) | LWE-преобразования | ✅ Полная |
| Квантовая атака (Grover) | Ключ ≥256 бит | ✅ Полная |
| Модификация данных | SHA-512 Auth Tag | ✅ Полная |
| Подмена ключа | SHA-512 Key Hash | ✅ Полная |
Сравнение с популярными алгоритмами
| Характеристика | Quantum Cipher | AES-256 | ChaCha20 | Kyber (постквант.) |
|---|---|---|---|---|
| Размер блока | 512 бит | 128 бит | 512 бит | N/A |
| Макс. длина ключа | 8 Гбит | 256 бит | 256 бит | 6144 бит |
| Раундов | 16 | 14 | 20 | N/A |
| Пост-квантовая защита | ✅ LWE | ❌ | ❌ | ✅ |
| Встроенная аутентификация | ✅ Встроенная | ❌ | ❌ | ❌ |
| Стандартизован | ❌ | ✅ FIPS | ✅ RFC | ✅ NIST |
Известные ограничения
| Ограничение | Причина | Возможное улучшение |
|---|---|---|
| Весь файл загружается в память | Упрощённая реализация | Добавить потоковую обработку |
| Медленная генерация больших ключей | SHA-512 на каждый блок | Параллельные вычисления |
| Нет встроенного сжатия | Не предусмотрено спецификацией | Интеграция zlib |
| Только один получатель | Симметричный шифр | Гибридная схема с асимметрией |
Зависимости (все из стандартной библиотеки V)
— генерация случайных чиселcrypto.randиcrypto.sha256— хэшированиеcrypto.sha512— вывод в hexencoding.hex,math,time— вспомогательные функцииos