Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
fips203 — Reine Rust-Implementierung des (Entwurfs) FIPS 203 Module-Lattice-based Key-Encapsulation Mechanism Standard für Server-, Desktop-, Browser- und eingebettete Anwendungen. | Kitploit
Tools/GitHubGitHub/nccgroup/fips203
Embedded-System-SicherheitVerschlüsselungs-/EntschlüsselungstoolsKryptographie
GitHubnccgroup/fips203

fips203

Reine Rust-Implementierung des (Entwurfs) FIPS 203 Module-Lattice-based Key-Encapsulation Mechanism Standard für Server-, Desktop-, Browser- und eingebettete Anwendungen.

Repository anzeigen
19114vor 2 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

NCC Group: FIPS 203 Standard für modul-gitterbasierte Schlüsselverkapselungsmechanismen

crate Docs Build Status Apache2/MIT licensed Rust Version

Der FIPS 203 (Erster öffentlicher Entwurf) ist ein Standard für modul-gitterbasierte Schlüsselverkapselungsmechanismen, geschrieben in reinem Rust für Server-, Desktop-, Browser- und eingebettete Anwendungen. Das Quell-Repository enthält Beispiele, die Benchmarking, ein eingebettetes Ziel, statistische Constant-Time-Messungen, Fuzzing, WASM-Ausführung, C-FFI- und Python-Bindungen demonstrieren.

Dieses Crate implementiert den Entwurf des FIPS-203-Standards in reinem Rust mit minimalen und gängigen Abhängigkeiten, und zwar ohne jeglichen unsicheren Code. Alle drei Sicherheitsparametersätze werden vollständig unterstützt und getestet. Die Implementierung arbeitet in konstanter Zeit (außerhalb von rho, das Bestandteil des Verkapselungsschlüssels ist, der in Klartext über die Vertrauensgrenze gesendet wird), benötigt keine Standardbibliothek, z. B. #[no_std], hat keine Heap-Allokationen, z. B. kein alloc nötig, und stellt optional den RNG bereit, sodass sie für das gesamte Anwendungsspektrum bis hinunter zur Bare-Metal-Programmierung geeignet ist. Die API ist stabilisiert und der Code ist stark auf Sicherheit und Korrektheit ausgerichtet; weitere Leistungsoptimierungen werden implementiert, sobald der Standard reift. Dieses Crate wird etwaigen Änderungen an FIPS 203 schnell folgen, sobald sie verfügbar sind.

Siehe https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.203.ipd.pdf für eine vollständige Beschreibung der angestrebten Funktionalität.

Die Funktionalität ist äußerst einfach zu verwenden, wie das folgende Beispiel zeigt.

// 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);

Die Rust-Dokumentation befindet sich unter jedem Modul, das dem gewünschten Sicherheitsparameter unten entspricht.

Hinweise

  • Dieses Crate ist voll funktionsfähig und entspricht dem ersten öffentlichen Entwurf von FIPS 203.
  • Die Konstantzeit-Ausführung zielt nur auf der Quellcode-Ebene unter MSRV ab, mit Bestätigung durch manuelle Überprüfung/Inspektion, das eingebettete Ziel und die dynamischen dudect-Tests.
  • Beachten Sie, dass FIPS 203 in Abschnitt 3.3 spezifische Anforderungen an die Zufälligkeit stellt, daher der bereitgestellte RNG.
  • Erfordert Rust 1.70 oder höher. Die mindestens unterstützte Rust-Version (MSRV) kann in Zukunft geändert werden, aber dies geschieht mit einem Minor-Versionssprung (wenn die Major-Version größer als 0 ist).
  • Alle standardmäßig aktivierten Funktionen dieser Bibliothek sind durch SemVer abgedeckt.
  • Der Entwurf des FIPS-203-Standards und diese Software sind experimentell -- BENUTZUNG AUF EIGENES RISIKO!

Lizenz

Die Inhalte sind wahlweise unter der Apache License Version 2.0 oder der MIT-Lizenz lizenziert.

Mitwirkung

Sofern Sie nicht ausdrücklich etwas anderes erklären, wird jeder von Ihnen absichtlich zur Aufnahme in das Werk eingereichte Beitrag, wie in der Apache-2.0-Lizenz definiert, unter denselben Bedingungen wie oben dual lizenziert, ohne zusätzliche Bedingungen oder Klauseln.

Tool herunterladen