
양자 내성 암호로의 전환을 위한 지연 비용 우선순위화: 고전적 위험과 수확 후 복호화(harvest-now-decrypt-later) 위험을 하나의 단위(연간 USD)로 환산. 코드, 증명, 사례 연구, 라이브 탐색기.
라이브 탐색기 · 연구 논문을 위한 참조 구현, 증명, 사례 연구 및 통계.
고전적 해킹 위험과 지금 수집하고 나중에 복호화(harvest-now-decrypt-later, HNDL) 양자 위험을 하나의 단위 — 지연 1년당 손실의 미국 달러 — 로 표현하여, 단일 정렬 목록이 "이 고전적 발견을 먼저 해결해야 하는가, 아니면 저 자산의 암호를 먼저 마이그레이션해야 하는가?" 라는 질문에 답할 수 있게 한다.
상태: 연구 프로토타입. 모든 사례 연구 입력값은 공개 문서에서 도출된 가정이며, 어떤 조직도 데이터를 제공하지 않았고, 이 방법은 실제 사고나 마이그레이션에 대해 검증되지 않았다. 주의사항을 참조하라.
공격자는 오늘 암호화된 데이터를 복사해 두고, 대규모 양자 컴퓨터가 존재하면 이를 복호화할 수 있다. 이것이 얼마나 중요한지는 데이터가 얼마나 오래 비밀로 유지되어야 하는지, 기록될 수 있는지, 그리고 평범한 공격자가 먼저 가져갔을 것인지에 달려 있다. 기존의 포스트-양자 위험 점수는 무차원이고 양자만을 다루므로, 달러로 측정되는 고전적 위험과 비교할 수 없다.
이 저장소는 각 자산에 대해 각 위협으로부터 1년 더 기다리는 비용을 달러로 계산하고, 동일한 손실이 두 번 계산되지 않도록 이들을 결합한다. 여기에는 다음이 포함된다:
costofdelay/);app/).| 아이디어 | 고전적 항 = 연간화 손실 $\lambda V$. 양자 항 = $r,h\int_0^L f_Q(t),e^{-(\lambda+\rho)t},dt$, 즉 마이그레이션을 연기함으로써 되돌릴 수 없는 손실을 확정하는 비율. 둘 다 USD/년이며, 경쟁 위험 요인이 동일한 손실이 두 번 계산되는 것을 막는다. |
| 증명됨 | 단위, 이중 계산 없음, 경계, 비교 정태학, 폐쇄형 지배 임계값, 비분리성, 그리고 Smith 규칙 하에서 순서의 최적성 (methodology/FORMAL_METHOD.md). |
| 검증됨 | 256개의 자동화 테스트; 몬테카를로 및 구적법 교차 검증; 577개 값과 일치하는 두 번째 (JavaScript) 구현. |
| 평가 대상 | MOSIP (국가 신분증), Apache Fineract (은행), OpenMRS (의료 기록), Online Boutique (데모 상점, 절차 테스트 전용). |
| 주요 결과 | 양자 항은 크기와 몇몇 특정 자산을 결정적으로 바꾸지만, 네 시스템 중 세 개에서는 전체 목록을 입력 노이즈보다 적게 움직인다. 양자 도래 시점은 불확실성의 3–17%만을 설명하며, 손실과 회전율이 73–91%를 설명한다 (methodology/STATISTICS.md). |
Python ≥ 3.10이 필요하다. Node ≥ 18은 선택 사항이다(탐색기의 수학에 대한 검사를 실행한다).
git clone https://github.com/AnimeshShaw/pqc-cost-of-delay && cd pqc-cost-of-delay
python -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
python scripts/reproduce.py
reproduce.py는 다음을 순서대로 실행한다: 테스트 스위트 → 수치 검증 → 통계 분석(results/) → 그림(paper/figures/, 없으면 생성) → 매개변수 표 → 탐색기의 데이터 및 교차 언어 검사. 약 2–4분이 걸리며 결정적이다(모든 무작위 절차에는 고정 시드가 있다). 이후 git diff --stat results/는 변경 없음을 보여주거나, NumPy/SciPy 버전이 다르면 마지막 출력 자릿수에서만 차이를 보여야 한다. 정확한 테스트 버전은 requirements-lock.txt에 있다.
대화형으로 탐색하려면 라이브 탐색기를 사용하거나 로컬에서 app/index.html을 열어라. 서버가 필요 없으며, 페이지의 코드는 네트워크 요청을 하지 않고 입력값을 어디에도 전송하지 않는다(GitHub는 호스트로서 일반적인 페이지 방문을 기록한다).
자신의 레지스터를 점수화하려면:
python -m costofdelay.register path/to/asset_register.csv
CSV 형식은 methodology/PARAMETERS.md에 설명되어 있고 case_studies/에 예시가 있다.
| 경로 | 내용 |
|---|---|
costofdelay/ | Python 패키지: CRQC 도래 법칙, 자산 모델, 점수화, 발표된 QARS 점수에 대한 비교기, 불확실성 및 통계, 스케줄링. 점수화 핵심은 표준 라이브러리만 사용한다. |
tests/ | 단위 테스트, 모든 명제에 대한 속성 테스트, 반박 기준선 |
methodology/ | 증명; 매개변수 정의 및 앵커; 통계 분석 |
case_studies/ | 네 개의 자산 레지스터(CSV), 시스템당 하나 |
scripts/ | 재현, 결과, 그림 및 표 |
results/ | 생성된 숫자(JSON, CSV, Markdown) |
app/ | Python 동등성 테스트가 있는 대화형 탐색기(HTML/JavaScript) |
귀하의 조직이 실제 레지스터에서 이 방법을 테스트하거나 코드나 논문을 출발점으로 사용하고 싶다면, 연락을 환영한다: [email protected]. 기여는 CONTRIBUTING.md에 설명되어 있다.
대규모 언어 모델(Anthropic의 Claude, Claude Code를 통해)이 저자의 지시 하에 코드, 테스트, 그림, 사례 연구 레지스터 및 텍스트의 초안을 작성하고 문헌 검색에 상당히 사용되었다. 그것은 저자가 아니다. 저자가 내용에 대한 책임을 진다. DOI 또는 arXiv 식별자가 있는 모든 참조는 스크립트로 해당 레지스트리에 대해 확인되었다; 수학은 증명 과 독립적인 테스트로 뒷받침된다; 도중에 발생한 오류(예를 들어 두 개의 잘못된 DOI와 과장된 자산 가치)는 그러한 검사로 잡혀 수정되었다.
Apache License 2.0 (LICENSE). CITATION.cff를 통해 인용하라. 보관된 릴리스: doi:10.5281/zenodo.23133467 (모든 버전).