quantum_cipher

0

Описание

Симметричный шифр, написанный на языке программирования V

Языки

  • V100%
4 месяца назад
4 месяца назад
4 месяца назад
README.md

Quantum Cipher License: MIT vlang

Quantum Cipher — это симметричный шифр, написанный на языке программирования V.

Он вдохновлён идеями квантовой криптографии и сочетает классические криптографические методы с элементами постквантовой защиты. Алгоритм обеспечивает надёжную защиту данных от современных атак и частично от будущих угроз со стороны квантовых компьютеров (в частности, устойчив к алгоритму Шора благодаря использованию решётчатой криптографии).

Важно: "квантовые" компоненты здесь — это классическая симуляция на обычном компьютере.

Основные идеи алгоритма (вдохновлённые квантовой физикой)

  • Суперпозиция состояний — ключ генерируется так, будто он находится в нескольких состояниях одновременно.
  • Квантовая запутанность — используются связанные пары для проверки целостности.
  • Решётчатая криптография — обеспечивает постквантовую устойчивость (защита от алгоритма Шора).
  • Кодирование в стиле BB84 — разные "базисы" для преобразования данных.

Симуляция квантовых компонентов

КомпонентКвантовый аналогКак реализовано в коде
Суперпозиция|ψ⟩ = α|0⟩ + β|1⟩Амплитуды вычисляются с помощью SHA-256
ИзмерениеКоллапс волновой функцииДетерминированная функция
Базисы BB84Z, 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 CipherAES-256ChaCha20Kyber (постквант.)
Размер блока512 бит128 бит512 битN/A
Макс. длина ключа8 Гбит256 бит256 бит6144 бит
Раундов161420N/A
Пост-квантовая защита✅ LWE
Встроенная аутентификация✅ Встроенная
Стандартизован✅ FIPS✅ RFC✅ NIST

Известные ограничения

ОграничениеПричинаВозможное улучшение
Весь файл загружается в памятьУпрощённая реализацияДобавить потоковую обработку
Медленная генерация больших ключейSHA-512 на каждый блокПараллельные вычисления
Нет встроенного сжатияНе предусмотрено спецификациейИнтеграция zlib
Только один получательСимметричный шифрГибридная схема с асимметрией

Зависимости (все из стандартной библиотеки V)

  • crypto.rand
    — генерация случайных чисел
  • crypto.sha256
    и
    crypto.sha512
    — хэширование
  • encoding.hex
    — вывод в hex
  • math
    ,
    time
    ,
    os
    — вспомогательные функции

Подробная спецификация алгоритма

SPECIFICATION.md

Как собрать и запустить

Клонирование репозитория

Компиляция

Запуск

Copyright (c) 2025-... EvPix. License: MIT