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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
RSA — RSA 공개 키 암호화를 위한 순수 Rust 라이브러리: 키 생성, PKCS#1 v1.5 및 OAEP 암호화/복호화, PSS 서명, 키 가져오기/내보내기. | Kitploit
도구/GitHubGitHub/rustcrypto/rsa
Encryption/Decryption ToolsCryptographyAuthentication
GitHubrustcrypto/rsa

RSA

RSA 공개 키 암호화를 위한 순수 Rust 라이브러리: 키 생성, PKCS#1 v1.5 및 OAEP 암호화/복호화, PSS 서명, 키 가져오기/내보내기.

저장소 보기
6711872개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

RustCrypto: RSA

crates.io Documentation Build Status Dependency Status Apache2/MIT licensed MSRV Project Chat

순수 Rust로 작성된 이식 가능한 RSA 구현체입니다.

예제

root@kitploit:~
use rsa::{Pkcs1v15Encrypt, RsaPrivateKey, RsaPublicKey};

let mut rng = rand::rng();
let bits = 2048;
let priv_key = RsaPrivateKey::new(&mut rng, bits).expect("failed to generate a key");
let pub_key = RsaPublicKey::from(&priv_key);

// Encrypt
let data = b"hello world";
let enc_data = pub_key.encrypt(&mut rng, Pkcs1v15Encrypt, &data[..]).expect("failed to encrypt");
assert_ne!(&data[..], &enc_data[..]);

// Decrypt
let dec_data = priv_key.decrypt(Pkcs1v15Encrypt, &enc_data).expect("failed to decrypt");
assert_eq!(&data[..], &dec_data[..]);

참고: RsaPrivateKey::new를 사용할 때 키 생성 시간이 비정상적으로 느리다면 릴리스 모드로 컴파일하거나 Cargo.toml에 다음을 추가해 보세요. 더 높은 최적화 수준으로 빌드하면 키 생성이 훨씬 빨라지지만 컴파일 시간이 다소 늘어납니다.

root@kitploit:~
[profile.debug]
opt-level = 3

상태

현재 Phase 1 (v) 🚧 단계입니다.

1.0 🚢이 릴리스되기 전에 세 단계가 있습니다.

  1. 🚧 동작하게 만들기
    • 소수 생성 ✅
    • 키 생성 ✅
    • PKCS1v1.5: 암호화 및 복호화 ✅
    • PKCS1v1.5: 서명 및 검증 ✅
    • PKCS1v1.5(세션 키): 암호화 및 복호화
    • OAEP: 암호화 및 복호화
    • PSS: 서명 및 검증
    • 키 가져오기 및 내보내기
  2. 🚀 빠르게 만들기
    • 벤치마크 ✅
    • 다른 구현체와 비교 🚧
    • 최적화 🚧
  3. 🔐 안전하게 만들기
    • 퍼즈 테스트
    • 보안 감사

⚠️ 보안 경고

이 크레이트는 Include Security의 보안 감사를 한 차례 받았으며, 이후 해결된 사소한 발견 사항이 하나뿐입니다.

다른 알려진 문제는 이슈 트래커의 공개 보안 이슈를 참조하세요.

특히 모듈러 지수 연산은 일정 시간이 아닌 구현이지만, 타이밍 변동성은 일반적으로 사용되는 기법인 랜덤 블라인딩으로 마스킹됩니다. 이 크레이트는 Marvin Attack에 취약하여 네트워크 공격자가 개인 키를 복구할 수 있습니다(RUSTSEC-2023-0071 참조).

이 문제 완화를 위한 작업은 #390에서 확인할 수 있습니다.

최소 지원 Rust 버전(MSRV)

이 크레이트는 Rust 1.85 이상을 지원합니다.

향후 MSRV는 변경될 수 있지만, 이는 부 버전 업데이트와 함께 변경될 것입니다.

라이선스

다음 중 하나의 라이선스에 따라 사용이 허가됩니다:

  • Apache License, Version 2.0
  • MIT license

선택 사항입니다.

기여

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

도구 다운로드