Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
fips203 — 서버, 데스크톱, 브라우저 및 임베디드 애플리케이션을 위한 (초안) FIPS 203 모듈-격자 기반 키 캡슐화 메커니즘 표준의 순수 Rust 구현 | Kitploit
도구/GitHubGitHub/nccgroup/fips203
Embedded Systems SecurityEncryption/Decryption ToolsCryptography
GitHubnccgroup/fips203

fips203

서버, 데스크톱, 브라우저 및 임베디드 애플리케이션을 위한 (초안) FIPS 203 모듈-격자 기반 키 캡슐화 메커니즘 표준의 순수 Rust 구현

저장소 보기
1912년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

NCC Group: FIPS 203 모듈 격자 기반 키 캡슐화 메커니즘 표준

crate Docs Build Status Apache2/MIT licensed Rust Version

FIPS 203 (초기 공개 초안) 서버, 데스크톱, 브라우저 및 임베디드 애플리케이션을 위해 순수 Rust로 작성된 모듈 격자 기반 키 캡슐화 메커니즘 표준입니다. 소스 저장소에는 벤치마킹, 임베디드 타깃, 상수 시간 통계 측정, 퍼징, WASM 실행, C FFI 및 Python 바인딩을 보여주는 예제가 포함되어 있습니다.

이 크레이트는 최소한의 일반적인 의존성만을 사용하며, unsafe 코드 없이 순수 Rust로 FIPS 203 초안 표준을 구현합니다. 세 가지 보안 매개변수 세트가 모두 완전히 지원되고 테스트됩니다. 구현은 상수 시간으로 동작하며(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 license에 따라 라이선스가 부여됩니다.

기여

명시적으로 달리 명시하지 않는 한, Apache-2.0 라이선스에 정의된 대로 귀하가 이 저작물에 포함되도록 의도적으로 제출하는 모든 기여는 추가 약관이나 조건 없이 위와 같이 이중 라이선스가 적용됩니다.

도구 다운로드