Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
rust_citadel — X25519 + ML-KEM-768 と AES-256-GCM を組み合わせた耐量子ハイブリッド暗号ライブラリ | Kitploit
ツール/GitHubGitHub/mrcord77/rust_citadel
認証と認可暗号化/復号化ツール暗号化クラウドセキュリティAPIセキュリティ
GitHubmrcord77/rust_citadel

rust_citadel

X25519 + ML-KEM-768 と AES-256-GCM を組み合わせた耐量子ハイブリッド暗号ライブラリ

リポジトリを見る
244ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Citadel

ポスト量子ハイブリッド暗号化および鍵管理サーバー。

Citadelは、NISTのポスト量子移行に向けたハイブリッドアプローチに従い、鍵カプセル化にX25519 + ML-KEM-768、データ暗号化にAES-256-GCMを組み合わせています。アプリケーションはREST APIを通じてデータを暗号化・復号します。Citadelが鍵の生成、ローテーション、失効、アクセス制御、監査ログを管理します。

ステータス: 動作する実装。未監査。本番導入実績なし。以下のセキュリティを参照。


機能概要

root@kitploit:~
Your Application              Citadel                         Database
       |                         |                               |
       |-- POST /encrypt ------->|                               |
       |                         |-- hybrid KEM (X25519+ML-KEM)  |
       |                         |-- derive AES-256 key (HKDF)   |
       |                         |-- encrypt with AES-256-GCM    |
       |<-- encrypted blob ------|                               |
       |                                                         |
       |-- store blob ------------------------------------------>|

アプリケーションが生の鍵マテリアルに触れることはありません。暗号化ブロブは自己完結型です。ラップされた鍵、アルゴリズム識別子、暗号文が含まれます。任意のデータベースに保存できます。同じAADとコンテキストを付けてCitadelに送り返すことで復号できます。

アーキテクチャ

root@kitploit:~
citadel-envelope    Hybrid encryption core (X25519 + ML-KEM-768 + AES-256-GCM)
citadel-keystore    Key lifecycle management, 4-level hierarchy, threat-adaptive policies
citadel-api         HTTP server, scoped API key auth, rate limiting, real-time dashboard

クイックスタート

Docker(推奨)

root@kitploit:~
# Clone
git clone https://github.com/mrcord77/rust_citadel.git
cd rust_citadel

# Set your admin API key
echo -n "your-secret-key" | sha256sum | cut -d' ' -f1
# Copy the hash

# Start
CITADEL_API_KEY_HASH=<paste-hash> docker compose up -d

# Verify
curl http://localhost:3000/health
# {"status":"ok","version":"0.2.0"}

ダッシュボード: http://localhost:3000

ソースからビルド

Rust 1.75+ が必要です。

root@kitploit:~
cargo build --release -p citadel-api
CITADEL_API_KEY="your-secret-key" CITADEL_SEED_DEMO=true ./target/release/citadel-api

使用方法

Python

root@kitploit:~
import requests

api = "http://localhost:3000"
headers = {"Authorization": "Bearer your-secret-key"}

# Encrypt
r = requests.post(f"{api}/api/keys/{dek_id}/encrypt", headers=headers, json={
    "plaintext": "sensitive data",
    "aad": "record-001",        # binds ciphertext to this record
    "context": "patient-records" # domain separation
})
blob = r.json()

# Decrypt
r = requests.post(f"{api}/api/decrypt", headers=headers, json={
    "blob": blob,
    "aad": "record-001",
    "context": "patient-records"
})
plaintext = r.json()["plaintext"]

AADバインディング、鍵ローテーション、脅威対応アプリケーション動作を含む完全な動作例については、citadel_example.pyを参照してください。

curl

root@kitploit:~
# Status
curl http://localhost:3000/api/status -H "Authorization: Bearer $KEY"

# List keys
curl http://localhost:3000/api/keys -H "Authorization: Bearer $KEY"

# Encrypt
curl -X POST http://localhost:3000/api/keys/$DEK_ID/encrypt \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"plaintext":"hello","aad":"test","context":"demo"}'

APIエンドポイント

鍵階層

root@kitploit:~
Root Key
  └── Domain Key (per environment / business unit)
        └── KEK — Key Encrypting Key (wraps DEKs)
              └── DEK — Data Encrypting Key (encrypts application data)

NIST SP 800-57に準拠しています。各階層が侵害時の影響範囲を封じ込めます。KEKが分離されているため、DEKが漏洩しても他のDEKは露出しません。

APIキーのスコープ

ScopePermissions
read鍵、ステータス、メトリクス、脅威レベルの表示
encryptデータの暗号化と復号
manage鍵の作成、ローテーション、失効、破棄

adminは他のすべてのスコープを含みます。最小権限の原則に従い、監視ダッシュボードにはread、アプリケーションサービスにはread + encrypt、管理ツールにはadminを付与してください。

適応型脅威システム

Citadelはセキュリティイベントを監視し、鍵ポリシーを自動的に調整します:

脅威レベルを引き上げるイベント: 認証失敗、復号失敗、高速なアクセスパターン、手動エスカレーション。スコアは時間とともに減衰します。

暗号技術

ハイブリッド構成: 両方の共有秘密を連結し、HKDFに入力します。X25519とML-KEM-768のいずれかが安全であり続ける限り、セキュリティは維持されます。

ワイヤーフォーマット

root@kitploit:~
version[1] || suite_kem[1] || suite_aead[1] || flags[1] || kem_ct_len[2] ||
x25519_ephemeral_pk[32] || mlkem768_ct[1088] || nonce[12] || aead_ct[variable]

自己記述型、バージョン管理済み、ネゴシエーションなし(ダウングレード攻撃を防止)。完全な仕様はSPEC.mdを参照してください。

セキュリティ特性

  • 定数時間比較 — subtleクレートによるAPIキー検証でタイミング攻撃を防止
  • ゼロ化 — すべての共有秘密とAES鍵をZeroizing<T>でラップし、ドロップ時にゼロ化
  • 統一エラー — 復号失敗時に同一のエラーメッセージを返す(復号オラクルを防止)
  • 整合性チェーン監査ログ — SHA-256ハッシュチェーンでログ改ざんを検出
  • レート制限 — IP単位のトークンバケット方式で、違反時には脅威レベルを引き上げ

セキュリティ

Citadelは未監査のソフトウェアです。

実装は、確立されたRustクレート(ml-kem、x25519-dalek、aes-gcm、hkdf)を通じてNIST標準化されたプリミティブを使用しています。暗号アルゴリズム自体は実装していません。価値は斬新な数学ではなく、正しい構成にあります。

実施済み:

  • 既知解テスト(KAT)を含む包括的なテストスイート
  • ワイヤーフォーマットパーサーと完全な復号パスに対するファズテスト
  • 暗号化・復号操作のタイミング解析
  • 復号オラクルを防ぐ統一エラーハンドリング

未実施:

  • 独立したセキュリティ監査
  • 形式検証
  • FIPS認証
  • 本番導入

独立したレビューなしに機密データには使用しないでください。 脆弱性の報告についてはSECURITY.mdを参照してください。

コンプライアンス

34のNIST SP 800-57コントロールに対してマッピング済み: 26件が満たされ、7件が部分的、1件がギャップ。完全なマッピングはCOMPLIANCE_MATRIX.mdを参照してください。

関連フレームワーク: NIST SP 800-57(鍵管理)、CNSA 2.0(PQCタイムライン)、HIPAA(保存データの暗号化)、SOC 2(アクセス制御と監査)。

プロジェクト構成

root@kitploit:~
rust_citadel/
├── citadel-envelope/        # Core hybrid encryption library
│   ├── src/
│   │   ├── envelope.rs      # Encrypt/decrypt operations
│   │   ├── kem.rs           # X25519 + ML-KEM-768 hybrid KEM
│   │   ├── kdf.rs           # HKDF-SHA256 key derivation
│   │   ├── wire.rs          # Wire format encode/decode
│   │   ├── aead.rs          # AES-256-GCM wrapper
│   │   ├── aad.rs           # Additional authenticated data
│   │   ├── error.rs         # Uniform error types
│   │   └── sdk.rs           # High-level API
│   ├── tests/               # KAT + roundtrip tests
│   └── fuzz/                # Fuzz targets
├── citadel-keystore/        # Key lifecycle management
│   └── src/
│       ├── keystore.rs      # Key CRUD + state machine
│       ├── policy.rs        # Crypto-period policies
│       ├── threat.rs        # Adaptive threat intelligence
│       ├── storage.rs       # File-based key storage
│       ├── audit.rs         # Integrity-chained audit log
│       └── types.rs         # Key types and states
├── citadel-api/             # HTTP server
│   └── src/
│       ├── main.rs          # API routes, auth, rate limiting
│       └── dashboard.html   # Real-time security dashboard
├── citadel_example.py       # Python integration example
├── Backup-Citadel.ps1       # Backup/restore tooling
├── docker-compose.yml       # Development deployment
├── docker-compose-production.yml  # Production with TLS
├── SPEC.md                  # Wire format specification
├── THREAT_MODEL.md          # Security goals and attacker model
├── COMPLIANCE_MATRIX.md     # NIST 800-57 control mapping
└── CITADEL_OVERVIEW.md      # Commercial overview

ドキュメント

ライセンス

このプロジェクトはデュアルライセンスです:

  • GNU Affero General Public License v3 (AGPL) — オープンソース利用向け
  • Commercial License — プロプライエタリまたは商用利用向け

商用環境で本ソフトウェアを使用する場合、またはAGPLの条件に従いたくない場合は、商用ライセンスを取得する必要があります。

商用条件についてはCOMMERCIAL_LICENSE.mdを参照してください。

AGPLの全文はAGPL-3.0.txtおよびCOPYINGに記載されています。

連絡先: [email protected]

著者

Andre Cordero — [email protected]

ツールをダウンロード
EndpointMethodScopeDescription
/healthGET—ヘルスチェック
/api/statusGETread脅威レベル、鍵数
/api/metricsGETreadセキュリティメトリクス
/api/keysGETread全鍵の一覧
/api/keysPOSTmanage新しい鍵の生成
/api/keys/:idGETread鍵の詳細の取得
/api/keys/:id/activatePOSTmanage保留中の鍵を有効化
/api/keys/:id/rotatePOSTmanage鍵のローテーション(新バージョン)
/api/keys/:id/revokePOSTmanage鍵を完全に失効
/api/keys/:id/destroyPOSTmanage鍵マテリアルの破棄
/api/keys/:id/encryptPOSTencryptデータの暗号化
/api/decryptPOSTencryptデータの復号
/api/threatGETread脅威インテリジェンスの詳細
/api/policiesGETreadアクティブな鍵ポリシー
/api/auth/whoamiGETread現在のAPIキー情報
/api/auth/keysGETadminAPIキーの一覧
/api/auth/keysPOSTadminAPIキーの作成
/api/auth/keys/:idDELETEadminAPIキーの失効
admin上記すべて + APIキーの管理
LevelTriggerResponse
LOW通常運用標準の暗号利用期間
GUARDED軽微な異常わずかに短いローテーション間隔
ELEVATED疑わしいパターン短縮されたローテーションスケジュール
HIGHアクティブな脅威兆候強制ローテーション、使用量制限の引き下げ
CRITICAL攻撃を受けている最大制限
ComponentAlgorithmStandard
鍵カプセル化(古典)X25519 ECDHRFC 7748
鍵カプセル化(ポスト量子)ML-KEM-768FIPS 203
データ暗号化AES-256-GCMNIST SP 800-38D
鍵導出HKDF-SHA256NIST SP 800-56C
DocumentAudience
SPEC.mdワイヤーフォーマット仕様
THREAT_MODEL.mdセキュリティ目標と前提条件
COMPLIANCE_MATRIX.mdNIST 800-57コンプライアンスマッピング
CITADEL_OVERVIEW.md商用ポジショニング
SECURITY.md脆弱性の報告
API_FREEZE.mdAPI安定性の保証
DEPLOYMENT.md本番導入ガイド
QUICKSTART.mdはじめに