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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
fips203 — サーバー、デスクトップ、ブラウザ、および組み込みアプリケーション向けの、(ドラフト版) FIPS 203 Module-Latticeベース鍵カプセル化メカニズム標準のPure Rust実装。 | Kitploit
ツール/GitHubGitHub/nccgroup/fips203
組み込みシステムセキュリティ暗号化/復号化ツール暗号化
GitHubnccgroup/fips203

fips203

サーバー、デスクトップ、ブラウザ、および組み込みアプリケーション向けの、(ドラフト版) FIPS 203 Module-Latticeベース鍵カプセル化メカニズム標準のPure Rust実装。

リポジトリを見る
1912年前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

NCC Group: FIPS 203 モジュール格子ベース鍵カプセル化メカニズム標準

crate Docs Build Status Apache2/MIT licensed Rust Version

FIPS 203(初期公開草案)モジュール格子ベース鍵カプセル化メカニズム標準を、サーバー、デスクトップ、ブラウザ、 組み込みアプリケーション向けに純粋な Rust で記述したものです。ソースリポジトリには、ベンチマーク、組み込みターゲット、定数時間の統計測定、ファジング、WASM 実行、C FFI、Python バインディングを示すサンプルが含まれています。

このクレートは、FIPS 203 ドラフト標準を、最小限かつ一般的な依存関係のみを使用し、純粋な Rust で実装しており、** unsafe コードは一切使用していません**。3 つすべてのセキュリティパラメータセットが完全にサポートされ、テストされています。この実装は 定数時間で動作し(rho を除く。rho は信頼境界を越えて平文で送信されるカプセル化鍵の一部です)、 標準ライブラリを必要とせず(例: #[no_std])、ヒープ割り当てもなく(例: alloc 不要)、オプションで RNG を公開するため、ベアメタルに至るまであらゆるアプリケーションに適しています。API は安定化されており、 コードは安全性と正確性を重視しています。標準が成熟するにつれて、さらなるパフォーマンス最適化が 実装される予定です。このクレートは、FIPS 203 の変更が利用可能になり次第、迅速に追従します。

対象機能の完全な説明については、https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.203.ipd.pdf を参照してください。

この機能は、以下の例で示すように、非常に簡単に使用できます。

root@kitploit:~
// Use the desired target parameter set.
use fips203::ml_kem_512; // Could also be ml_kem_768 or ml_kem_1024. 
use fips203::traits::{Decaps, Encaps, KeyGen, SerDes};

// Alice runs `try_keygen()` and then serializes the encaps key `ek` for Bob (to bytes).
let (alice_ek, alice_dk) = ml_kem_512::KG::try_keygen().unwrap();
let alice_ek_bytes = alice_ek.into_bytes();

// Alice sends the encaps key `ek_bytes` to Bob.
let bob_ek_bytes = alice_ek_bytes;

// Bob deserializes the encaps `ek_bytes` and then runs `encaps() to get the shared 
// secret `ssk` and ciphertext `ct`. He serializes the ciphertext `ct` for Alice (to bytes).
let bob_ek = ml_kem_512::EncapsKey::try_from_bytes(bob_ek_bytes).unwrap();
let (bob_ssk_bytes, bob_ct) = bob_ek.try_encaps().unwrap();
let bob_ct_bytes = bob_ct.into_bytes();

// Bob sends the ciphertext `ct_bytes` to Alice
let alice_ct_bytes = bob_ct_bytes;

// Alice deserializes the ciphertext `ct` and runs `decaps()` with her decaps key
let alice_ct = ml_kem_512::CipherText::try_from_bytes(alice_ct_bytes).unwrap();
let alice_ssk_bytes = alice_dk.try_decaps(&alice_ct).unwrap();

// Alice and Bob will now have the same secret key
assert_eq!(bob_ssk_bytes, alice_ssk_bytes);

Rust のドキュメントは、下記の目的の セキュリティパラメータに対応する各モジュールの下にあります。

注記

  • このクレートは完全に機能し、FIPS 203 の最初の初期公開草案に対応しています。
  • 定数時間動作は、MSRV 上でのソースコードレベルのみを対象としており、確認は 手動レビュー/検査、組み込みターゲット、dudect 動的テストによって行われます。
  • FIPS 203 はセクション 3.3 でランダム性に関する特定の要件を定めているため、RNG が公開されていることに注意してください。
  • Rust 1.70 以上が必要です。最小サポート Rust バージョン(MSRV)は将来変更される可能性がありますが、 その場合はマイナーバージョンの引き上げ(メジャーバージョンが 0 より大きい場合)によって行われます。
  • このライブラリのデフォルトで有効なすべての機能は SemVer の対象です。
  • FIPS 203 ドラフト標準とこのソフトウェアは実験的なものです -- 使用は自己責任でお願いします!

ライセンス

内容は、Apache License Version 2.0 または MIT ライセンス のいずれかを選択してライセンスされます。

貢献

明示的に別段の表明をしない限り、Apache-2.0 ライセンスで定義されているように、あなたが本作品に 含めるために意図的に提出した貢献は、追加の条件なしに上記のとおりデュアルライセンスされます。

ツールをダウンロード