
Atomic Memory™
Этот каталог содержит эталонные RTL-модули, предварительно скомпилированные образы ПЛИС и опциональные TCL-скрипты тестирования для атомарного примитива измерения–коллапса. Этот примитив представляет собой совместимый с КМОП аппаратный механизм измерения–коллапса, обеспечивающий семантику однократного чтения: первое квалифицированное чтение возвращает сохранённый байт, а сам акт измерения детерминированно запускает необратимое событие коллапса. После коллапса ячейка выдает только обфусцированные или сгенерированные ГПСЧ значения, что гарантирует невозможность восстановления исходного значения. Реализация демонстрирует детерминированное раскрытие при первом чтении, управление доступом на основе базиса и атомарные однонаправленные переходы состояний в массиве независимых ячеек памяти.
Предоставленные .sof-файлы позволяют проводить прямую аппаратную верификацию без
дополнительных модулей шинного интерфейса.
Статус: Выпуск исследовательского артефакта
Лицензия: Только некоммерческое использование (см. LICENSE ниже)
Патент заявлен: US 19/286,600
Целевое оборудование: Intel Cyclone V (5CSEBA6 / DE-SoC)
| Файл / Папка | Описание |
|---|---|
fpga/collapse_cell.sv | Базовая примитивная ячейка однократного чтения, используемая в статье |
fpga/collapse_bank.sv | Банк из 1024 ячеек с общей шиной энтропии/обфускации |
fpga/Atomic1024Bank.sof | Чистый битстрим на 1024 ячейки (без SignalTap – самый быстрый путь загрузки) |
fpga/SignalTap.sof | Инструментированная сборка с автоматическим запуском демонстрации |
fpga/SignalTap.stp | Предварительно настроенный файл SignalTap – откройте → запустите → наблюдайте временные диаграммы коллапса |
fpga/program_clean.bat | Однокликовое программирование для Windows (чистая версия) |
fpga/program_clean.sh | Однокликовое программирование для Linux (чистая версия) |
fpga/program_signaltap.bat | Однокликовое программирование для Windows (демо SignalTap) |
fpga/program_signaltap.sh | Однокликовое программирование для Linux (демо SignalTap) |
tcl/ | Опциональные TCL-скрипты System Console для автоматизированного тестирования |
images/ | Форма сигналов «раскрытие + уничтожение за один такт» из соответствующей статьи |
ROADMAP.md | Дорожная карта проекта и запланированные этапы разработки ASIC/ПЛИС |
LICENSE.md | Некоммерческая лицензия |
README.md | Этот файл |
collapse_cell.svРеализует примитив памяти однократного чтения с измерением–коллапсом (ROOM):
INIT загружает значение и базисКлючевые внутренние состояния:
basis_valid_qarmed_qcollapsed_qcollapse_bank.svРеализует полный массив из 1024 ячеек. Этот модуль предоставляет:
collapse_celldata_o, collapsed_q, статус и т.д.)Путь RO активен только после коллапса и участвует в формировании обфусцированного выходного потока после коллапса, когда он включён. Он не влияет на корректность первого чтения или семантику коллапса.
Atomic1024Bank.sofSignalTap.sofПробники сигналов (см. SignalTap.stp):
read_pulsebasis_in[7:0]basis_valid_qarmed_qcollapsed_qdata_o[7:0]valid_out (если присутствует)tcl/)Эти опциональные скрипты предоставлены для пользователей, желающих автоматизировать взаимодействия, управлять последовательностями или воспроизвести внутренний тестовый поток.
Примеры возможностей включают:
Эти скрипты не зависят от какого-либо HDL шинного интерфейса, включённого в данный артефакт. Пользователи могут адаптировать их под свой собственный интерфейс хоста, последователь GPIO или рабочие процессы System Console.
Atomic1024Bank.sof, либо SignalTap.sofДля использования этих образов не требуется подчинённого устройства Avalon-MM или внешнего IP-обёртки.
См. полный файл LICENSE.md.
Применяется некоммерческая исследовательская лицензия.
Эта сводка носит только информационный характер. Полный текст в LICENSE.md имеет преимущественную силу.
Если вы используете этот артефакт в академической работе, пожалуйста, процитируйте соответствующую статью:
Цитировать как:
Francis X. Cunnane III. A CMOS Measurement–Collapse Primitive for Ephemeral Secrets in Post-Quantum Cryptography. TechRxiv. December 02, 2025.
https://doi.org/10.36227/techrxiv.176463742.23048082/v3
BibTeX пример:
@misc{cunnane2025measurementcollapse,
author = {Cunnane III, Francis X.},
title = {A CMOS Measurement--Collapse Primitive for Ephemeral Secrets in Post-Quantum Cryptography},
year = {2025},
month = dec,
note = {TechRxiv},
doi = {10.36227/techrxiv.176463742.23048082/v1},
url = {https://doi.org/10.36227/techrxiv.176463742.23048082/v1}
}