衛星QKD(量子鍵配送)のセキュリティ曲線モデリング
概要
本リポジトリ「sat-qkd-security-curves」は、衛星を介した量子鍵配送(Satellite QKD)における「鍵は得られているが秘密性が保たれていない」状態を早期に検出するためのモデリングと可視化を提供します。損失(伝送減衰)や検出雑音、量子ビット誤り率(QBER)などのパラメータを変化させながら、秘密鍵生成率(secret key rate)が急落する「セキュリティの崖(cliff)」を算出・プロットするノートブックと図が含まれます。Python(3.10+)で書かれ、解析結果の図や再現可能なノートブックが同梱されているため、研究者やエンジニアが衛星QKDの運用マージンを評価する際の入門的なツールキットとして適しています。
リポジトリの統計情報
- スター数: 2
- フォーク数: 0
- ウォッチャー数: 2
- コミット数: 30
- ファイル数: 13
- メインの言語: Python
主な特徴
- 損失と雑音をパラメータ化して秘密鍵生成率を計算・可視化するツール群を提供
- Jupyterノートブックで解析手順を再現可能、図表は論文や報告書に利用可能
- Python 3.10+ 対応、MITライセンスで商用利用・改変が可能
- 衛星固有の低カウント・高損失環境に重点を置いたモデル設計
技術的なポイント
本プロジェクトは実装面で以下の点に注目しています。まず、衛星QKD特有の高損失・変動チャネルを扱うために、平均光子数、チャネル透過率、受信側の検出効率、背景光やダークカウントなどの雑音源を明示的にモデル化しています。これらのパラメータをスイープして、理論的な秘密鍵生成率(例えば、二重検出や誤り補正・秘密拡散を考慮したレート式)を数値的に評価します。加えて、有限サンプルサイズ効果やデコイ状態プロトコルの影響を考慮するための近似処理や誤差バーの導出がスクリプト内に組み込まれており、単純な無限鍵近似とは異なる現実的な安全境界を示します。可視化面では、2次元あるいは等高線プロットで「QBER vs 損失」「雑音 vs 損失」に対する秘密鍵率の等値線を描き、システムが許容できる運用領域と急激にゼロになる境界(cliff)を直感的に把握できるようになっています。また、ノートブック形式によりパラメータを変更して即座に結果を確認でき、設計パラメータの感度解析や運用時の閾値設定に実務的に役立ちます。コードはPythonの標準的な数値・可視化ライブラリを用いており、拡張や他モデルとの比較が容易です。
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitignore: file
- LICENSE: file(MIT)
- README.md: file(概要と利用法の説明)
- figures: dir(解析で生成したPNG/SVG図を格納)
- 例: loss_qber_contour.png, security_cliff_plot.svg など
- notebooks: dir(Jupyterノートブック群)
- 例: model_overview.ipynb(モデルの説明と基本解析)、param_sweep.ipynb(パラメータスイープとプロット)
- requirements.txt / pyproject.toml(依存パッケージの一覧/環境構築情報があればここに)
- src/: dir(モデル関数やヘルパー関数が入っている場合)
- secret_key_rate.py(レート計算のコア実装が想定される)
- utils.py(プロット・パラメータ処理)
- tests/: dir(小規模なユニットテストが含まれる可能性)
- setup.cfg または .github/workflows(CI設定やフォーマッタ設定) …他 8 ファイル
各ノートブックはセルごとに数値入力部とプロット生成部が分かれており、ユーザーは初期パラメータ(例えばチャネル損失[dB]、受信効率、バックグラウンドレート、平均光子数、測定時間など)を変更して即座に結果を得られます。figuresフォルダにはプレゼンや論文用に整形された図が含まれており、可視化の美観にも配慮されています。依存関係はPython標準の科学計算スタック(numpy, scipy, matplotlib, pandas等)を想定しており、READMEに実行手順が記載されています。
まとめ
衛星QKDの運用マージンを評価するための実用的な解析・可視化ツールキットです。(約50字)
リポジトリ情報:
- 名前: sat-qkd-security-curves
- 説明: Quantum keys can fail quietly—loss and noise can leave you with bits, but no secrecy. We model the cliff to expose silent breakage before it becomes a system risk.
- スター数: 2
- 言語: Python
- URL: https://github.com/christopher-altman/sat-qkd-security-curves
- オーナー: christopher-altman
- アバター: https://avatars.githubusercontent.com/u/51588965?v=4
READMEの抜粋:
Satellite Quantum Key Distribution Security Curves
Quantum keys can fail quietly—loss and noise can leave you with bits, but no secrecy. We model the cliff to expose silent breakage before it becomes a system risk.
[![Google Scholar](https://img.shields.io/badge/Google_Scholar-P…