암호 라이브러리 비교

Comparison of cryptography libraries

아래 표는 암호 알고리즘을 다루고 API 함수 호출이 있는 암호 라이브러리를 지원되는 각 기능과 비교합니다.

암호 라이브러리

시행명 계획 주 구현 언어 오픈 소스 소프트웨어 소프트웨어 라이센스 최신 릴리스
보탄 잭 로이드 C++ 네. 단순화된 BSD 3.2.0 (2023년 10월 9일, 4개월 전 (2023-10-09년)[1] [±]
바운시 캐슬 리전 오브 더 바운시 캐슬 주식회사 자바, C# 네. MIT 라이선스
자바1.77 / 2023년 11월 13일, 3개월(2023-11-13)[2]
자바 LTSBC-LJA 2.73.4 / 2024년 1월 22일 36일 전(2024-01-22)[3]
자바 FIPSBC-FJA 1.0.2.4 / 2023년 9월 28일 4개월 전 (2023-09-28)[4]
C#2024년 2월 5일 22일(2024-02-05)[5]
C# FIPSBC-FNA 1.0.2 / 2023년 2월 28일 11개월 전 (2023-02-28)[6]
BSAFE Dell, 이전 RSA Security 자바, C, 어셈블리 아니요. 독점적 Crypto-C Micro Edition : 4.1.5 (2020년 12월 17일, 3년 전 (2020-12-17))[7] [±]


Micro Edition Suite : 4.6.2 (2023년 5월 2일, 9개월 전 (2023-05-02))[8] [±]
Micro Edition Suite 5.0.2.1 (2023년 9월 18일; 5개월 전 (2023-09-18년))[9] [±]
Crypto-J: 7.0(2022년 9월 7일, 17개월(2022-09-07년)[±][10]

6.3 (2023년 4월 4일, 10개월 전(2023-04-04))[11] [±]

비밀스러운 입담 피터 구트만 C 네. 슬리피캣 라이선스 또는 상용 라이선스 3.4.5 (2019년; 5년 전 (2019년)[12] [±]
암호화++ Crypto++ 프로젝트 C++ 네. Boost Software License(모든 개별 파일은 공용 도메인) Aug 7, 2022 (8.7.0)
GnuTLS 니코스 마브로지안노풀로스, 시몬 요제프손 C 네. LGPL-2.1-or-later 3.8.3[13] Edit this on Wikidata 2024-01-16
자바의 기본 JCA/JCE 제공자 오라클 자바 네. GNU GPL v2 및 상용 라이선스 21.0.0 LTS(2023년 9월 19일, 5개월(2023-09-19년)[±]

17.0.6 LTS(2023년 2월 18일, 12개월(2023-02-18년)[±]
11.0.17 LTS(2022년 10월 18일, 16개월(2022년 10월 18일)[±][14]
8u401LTS (2024-01-16) 42일전(2024-01-16)[±][15]

리브르SSL OpenBSD Foundation C 네. 아파치-1.0 3.8.2[16] Edit this on Wikidata 2023-11-02
립크립트 GnuPG 커뮤니티 및 g10 코드 C 네. GNU LGPL v2.1+
안정적인.1.10.3 / 2023년 11월 14일, 3개월(2023-11-14)[17]
LTS1.8.11 / 2023년 11월 16일, 3개월(2023-11-16)[18]


리보듐 프랭크 데니스 C 네. ISC 라이선스 2023년 09월 13일 (1.0.19)
Mbed TLS 암 리미티드 C 네. 아파치 라이선스 2.0 3.0.0(2021년 07월 07일, 2년(2021-07-07))[±][19]

2.27.0(2021년 07월 07일, 2년(2021-07-07))[±]
2.16.11 (2021년 7월 7일, 2년(2021-07-07))[±]

NaCl 다니엘 J. 번스타인, 타냐 랑게, 피터 슈바베 C 네. 퍼블릭 도메인 2011년2월21일[20]
네틀 C 네. GNU GPL v2+ or GNU LGPL v3 3.5.1 (2019년 6월 27일, 4년 전 (2019-06-27))[±][21]
네트워크 보안 서비스(NSS) 모질라 C 네. MPL 2.0
표준.3.84 / 2022년 10월 12일, 16개월(2022-10-12)[22]
확장 지원 릴리스3.79.1 / 2022년 8월 18일, 18개월 전(2022-08-18)[22]
오픈SSL OpenSSL 프로젝트 C 네. 아파치-2.0 3.2.1[23] Edit this on Wikidata 2024-01-30
울프크립트 주식회사 울프SSL C 네. GNU GPL v2 또는 상용 라이선스 5.6.4(2023년 10월 30일, 3개월(2023-10-30))[±][24]

FIPS 140

이 표는 암호학 라이브러리가 FIPS 140에 대한 기술 요구 사항 및 FIPS 140 인증 상태를 제공하는 경우(NISTCMVP 검색에 따르면 프로세스 목록에 있는 모듈테스트 목록에 있는 구현)를 나타냅니다.

실행 FIPS 140-2 모드 FIPS 140-2 검증됨 FIPS 140-3 검증됨
보탄 아니요. 아니요. 아니요.
바운시 캐슬 네. [25] 진행[26]
BSAFE 네. [27][28] 진행[26]
비밀스러운 입담 네. 아니요. 아니요.
암호화++ 아니요. 아니요[a]. 아니요.
GnuTLS 아니요. [29][b] 진행[30]
자바의 기본 JCA/JCE 제공자 아니요. 아니요[31][c]. 아니요.
립크립트 네. [32][d] 진행[30]
리보듐 아니요. 아니요. 아니요.
Mbed TLS 아니요. 아니요. 아니요.
NaCl 아니요. 아니요. 아니요.
네틀 아니요. 아니요. 아니요.
네트워크 보안 서비스(NSS) 네. [33][e] 진행[30]
오픈SSL 네. [34][f] 진행[30]
울프크립트 네. [35] 진행[26]
  1. ^ Crypto++는 2003년부터 2008년까지 3번의 FIPS 140 인증을 받았습니다. 2016년 NIST는 Crypto++를 과거 검증 목록으로 이동했습니다.
  2. ^ GnuTLS는 GnuTLS.org 에서 검증된 FIPS 140-2는 아니지만 Amazon Web Services Inc., Oracle Corporation, Red Hat Inc. 및 SUSE LLC의 버전에 대한 검증이 있습니다.
  3. ^ 기본 JDK JCA/JCE 제공업체 중 FIPS 140-2가 검증된 업체는 없지만 FIPS 140-2가 검증된 다른 JCE/JCA 서드파티 제공업체는 있습니다.
  4. ^ Libgcrypt는 G10 코드에 의해 검증된 FIPS 140-2는 아니지만 Amazon Web Services Inc., Canonical Ltd., Oracle Corporation, Red Hat Inc. 및 SUSE LLC의 버전에 대한 검증이 존재합니다.
  5. ^ NSS(Network Security Services)는 Mozilla Foundation에서 검증한 FIPS 140-2는 아니지만 Amazon Web Services Inc., Canonical Ltd., Cisco Systems Inc., Hewlett Packard Enterprise, Oracle Corporation, Red Hat Inc., SafeLogic Inc., SUSE LLC 및 Trend Micro Inc.의 버전에 대한 검증이 있습니다.
  6. ^ OpenSSL은 OpenSSL.org 에서 검증된 FIPS 140-2는 아니지만 Amazon Web Services Inc., Aqua Security Software Ltd., Broadcom Inc., Canonical Ltd., Cisco Systems Inc., Cohesity Inc., ControlUp Technologies Inc., Crestron Electronics Inc., Dell Inc., Gallagher Group, Hewlett Packard Enterprise, IBM Corporation의 버전에 대한 검증이 있습니다. ICU Medical Inc., Intelligent Waves, Ixia, KeyPair Consulting Inc., Koninklijke Philips N.V., Lenovo Group Limited, LG Electronics Inc., LogRhythm, McAfee LLC, Metaswitch Networks Ltd, NetBrain Technologies Inc., Nutanix Inc., Onclave Networks Inc., Oracle Corporation, REDCOM Laboratories Inc., Red Hat Inc., SafeLogic Inc. Super Micro Computer Inc., SUSE LLC, Tanium Inc., Trend Micro Inc., Unisys Corporation, Verizon, VMware Inc. 및 Wickr Inc.

주요업무

키 생성 알고리즘, 키 교환 계약 및 공개 키 암호화 표준이 핵심 작업입니다.

공개 키 알고리즘

실행 RSA DSA ECDSA EdDSA Ed448 DH ECDH 이씨에스 엘가말 NTRU
(IEEE P1363.1)
DSS
보탄 네. 네. 네. 네. 아니요. 네. 네. 네. 네. 아니요. 네.
바운시 캐슬 네. 네. 네. 네. 네. 네. 네. 네. 네. 네. 네.
BSAFE 네. 네. 네. 아니요. 아니요. 네. 네. 네. 아니요. 아니요. 아니요.
비밀스러운 입담 네. 네. 네. 아니요. 아니요. 네. 네. 아니요. 네. 아니요. 네.
암호화++ 네. 네. 네. 아니요. 아니요. 네. 네. 네. 네. 아니요. 네.
GnuTLS 네. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
자바의 기본 JCA/JCE 제공자 네. 네. 네. 네. 네. 네. 네. 아니요. 아니요. 아니요. 네.
립크립트 네. 네. 네. 네. 네. 네. [a] 아니요. 네. 아니요. 네.
리보듐 아니요. 아니요. 아니요. 네. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
Mbed TLS 네. 네. 네. 아니요. 아니요. 네. 네. 아니요. 아니요. 아니요. 아니요.
네틀 네. 네. 아니요. 네. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
오픈SSL 네. 네. 네. 네. 네. 네. 네. 아니요. 아니요. 아니요. 아니요.
울프크립트 네. 네. 네. 네. 네. 네. 네. 네. 아니요. 네. 네.
  1. ^ 하위 레벨 인터페이스를 사용합니다.

타원곡선암호(ECC) 지원

실행 NIST SECG ECC 브레인풀 곡선 25519 곡선 448 GOST R 34.10[36] SM2
보탄 네. 네. 네. 네. 아니요. 네. 네.
바운시 캐슬 네. 네. 네. 네. 아니요. 네. 아니요.
BSAFE 네. 네. 아니요. 아니요. 아니요. 아니요. 아니요.
비밀스러운 입담 네. 네. 네. 아니요. 아니요. 아니요. 아니요.
암호화++ 네. 네. 네. 네. 아니요. 아니요. 아니요.
GnuTLS 네. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
자바의 기본 JCA/JCE 제공자 네. 네. 아니요. 네. 네. 아니요. 아니요.
립크립트 네. 네. 네. 네. 네. 네. 네.
리보듐 네. 아니요. 아니요. 네. 네. 아니요. 아니요.
Mbed TLS 네. 네. 네. 네. 아니요. 아니요. 아니요.
네틀 네. 부분적 아니요. 네. 아니요. 아니요. 아니요.
오픈SSL 네. 네. 네. 네. 네. 네. 네.
울프크립트 네. 네. 네. 네. 네. 아니요. 아니요.

공개키 암호화 표준

실행 PKCS #1 PKCS #5[37] / PBKDF2 PKCS #8 PKCS #12 IEEE P1363 ASN.1
보탄 네. 네. 네. 아니요. 네. 네.
바운시 캐슬 네. 네. 네. 네. 네. 네.
BSAFE Crypto-J 네. 네. 네. 네. 아니요. 네.
비밀스러운 입담 네. 네. 네. 네. 아니요. 네.
암호화++ 네. 네. [a] 아니요. 네. 네.
GnuTLS
자바의 기본 JCA/JCE 제공자 네. 네. 네. 네. 네. 네.
립크립트 네. [b] [b] [b] [b] [b]
리보듐 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
Mbed TLS 네. 아니요. 네. 네. 아니요. 네.
네틀 네. 네. 아니요. 아니요. 아니요. 아니요.
오픈SSL 네. 네. 네. 네. 아니요. 네.
울프크립트 네. 네. 네. 네. 아니요. 네.
  1. ^ 라이브러리는 기본적으로 PEM 없이 X.509 및 PKCS #8 인코딩을 제공합니다. 공개 키 및 개인 키의 PEM 인코딩을 위해서는 PEM Pack이 필요합니다.
  2. ^ a b c d e 이러한 PKCS(Public Key Cryptographic Standards)는 실제 libgcrypt 라이브러리는 아니지만 GnuPG 프레임워크의 일부인 라이브러리와 도구에서 지원됩니다.

해시 함수

지원되는 암호화 해시 함수의 비교. 여기서 해시 함수는 임의의 길이 메시지를 받아 원래 메시지를 재생성하는 데 사실상 사용할 수 없는 고정 크기 출력을 생성하는 것으로 정의됩니다.

실행 MD5 SHA-1 SHA-2 SHA-3 RIPEMD-160 타이거 월풀 블레이크2 GOST R 34.11-94[38]
(aka GOST 34.311-95)
GOSTR 34.11-2012
(스트립로그)
[39]
SM3
보탄 네. 네. 네. 네. 네. 네. 네. 네. 네. 네. 네.
바운시 캐슬 네. 네. 네. 네. 네. 네. 네. 네. 네. 네. 네.
BSAFE Crypto-J 네. 네. 네. 네. 네. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
비밀스러운 입담 네. 네. 네. 네. 네. 아니요. 네. 아니요. 아니요. 아니요. 아니요.
암호화++ 네. 네. 네. 네. 네. 네. 네. 네. 네. 아니요. 네.
GnuTLS
자바의 기본 JCA/JCE 제공자 네. 네. 네. 네. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
립크립트 네. 네. 네. 네. 네. 네. 네. 네. 네. 네. 네.
리보듐 아니요. 아니요. 네. 아니요. 아니요. 아니요. 아니요. 네. 아니요. 아니요. 아니요.
Mbed TLS 네. 네. 네. 네. 네. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
네틀 네. 네. 네. 네. 네. 아니요. 아니요. 아니요. 네. 아니요. 아니요.
오픈SSL 네. 네. 네. 네. 네. 네. 네. 네. 네. 아니요. 네.
울프크립트 네. 네. 네. 네. 네. 아니요. 아니요. 네. 아니요. 아니요. 아니요.

MAC 알고리즘

MAC(Message Authentication Code) 알고리즘 구현 비교 MAC은 메시지를 인증하는 데 사용되는 짧은 정보입니다. 즉, 메시지가 명시된 발신자(인증자)로부터 온 것이며, 전송 중에 변경되지 않았는지 확인하는 데 사용됩니다(통합성).

실행 HMAC-MD5 HMAC-SHA1 HMAC-SHA2 폴리1305 블레이크2-MAC
보탄 네. 네. 네. 네. 네.
바운시 캐슬 네. 네. 네. 네. 네.
BSAFE Crypto-J 네. 네. 네. 네. 아니요.
비밀스러운 입담 네. 네. 네. 아니요. 아니요.
암호화++ 네. 네. 네. 네. 네.
GnuTLS
자바의 기본 JCA/JCE 제공자 네. 네. 네. 아니요. 아니요.
립크립트 네. 네. 네. 네. 네.
리보듐 아니요. 아니요. 네. 네. 네.
Mbed TLS 네. 네. 네. 아니요. 아니요.
네틀 네. 네. 네. 네. 아니요.
오픈SSL 네. 네. 네. 네. 네.
울프크립트 네. 네. 네. 네. 네.

블록 암호

표는 블록 암호의 구현을 비교합니다. 블록 암호는 결정론적이고 대칭 키를 사용하여 설정된 수의 비트(블록이라고 함)에서 작동하는 것으로 정의됩니다. 각 블록 암호는 가능한 키 크기와 실행할 수 있는 블록 암호 모드로 나눌 수 있습니다.

블록 암호 알고리즘

실행 AES 3DES 동백 복어 투피시 아이디어 CAST5 아리아 GOST 28147-89[40]
/ GOSTR 34.12-2015
(Magma[41] & Kuznyechik[42])
SM4
보탄 네. 네. 네. 네. 네. 네. 네. 네. 네. 네.
바운시 캐슬[43] 네. 네. 네. 네. 네. 네. 네. 네. 네. 네.
BSAFE Crypto-J 네. 네. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
비밀스러운 입담[44] 네. 네. 아니요. 네. 아니요. 네. 네. 아니요. 아니요. 아니요.
암호화++ 네. 네. 네. 네. 네. 네. 네. 네. 부분적[a] 네.
GnuTLS 네. 아니요. 네. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
자바의 기본 JCA/JCE 제공자 네. 네. 아니요. 네. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
립크립트 네. 네. 네. 네. 네. 네. 네. 아니요. 네. 네.
리보듐 부분적[b] 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
Mbed TLS 네. 네. 네. 네. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
네틀 네. 네. 네. 네. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
오픈SSL 네. 네. 네. 네. 아니요. 네. 네. 네. 네. 네.
울프크립트 네. 네. 네. 아니요. 아니요. 네. 아니요. 아니요. 아니요. 아니요.
  1. ^ Crypto++는 GOST 28147-89만 지원하며 GOSTR 34.12-2015는 지원하지 않습니다.
  2. ^ Libsodium은 AES-256만 지원하고 AES-128 또는 AES-192는 지원하지 않습니다.

암호 모드

실행 ECB CBC OFB CFB CTR CCM GCM OCB XTS AES 랩 개울. EAX
보탄 아니요. 네. 네. 네. 네. 네. 네. 네. 네. 네. 네. 네.
바운시 캐슬 네. 네. 네. 네. 네. 네. 네. 네. 아니요. 네. 네. 네.
BSAFE 네. 네. 네. 네. 네. 네. 네. 아니요. 네. 네. 네. 아니요.
비밀스러운 입담 네. 네. 네. 네. 아니요. 아니요. 네. 아니요. 아니요. 아니요. 아니요. 아니요.
암호화++ 네. 네. 네. 네. 네. 네. 네. 아니요. 네. 아니요. 네. 네.
GnuTLS
자바의 기본 JCA/JCE 제공자 네. 네. 네. 네. 네. 아니요. 네. 아니요. 아니요. 네. 네. 아니요.
립크립트 네. 네. 네. 네. 네. 네. 네. 네. 네. 네. 네. 네.
리보듐 아니요. 아니요. 아니요. 아니요. 네. 아니요. 네. 아니요. 아니요. 아니요. 아니요. 아니요.
Mbed TLS 네. 네. 아니요. 네. 네. 네. 네. 아니요. 아니요. 아니요. 아니요. 아니요.
네틀 네. 네. 아니요. 아니요. 네. 네. 네. 아니요. 아니요. 아니요. 아니요. 아니요.
오픈SSL 네. 네. 네. 네. 네. 네. 네. 네. 네. 네. 네. 아니요.
울프크립트 네. 네. 네. 네. 네. 네. 네. 아니요. 네. 네. 네. 아니요.

스트림 암호

아래 표는 다양한 스트림 암호의 지원을 보여줍니다. 스트림 암호는 의사 난수 암호 숫자 스트림과 결합된 평문 숫자를 사용하는 것으로 정의됩니다. 스트림 암호는 일반적으로 블록 암호보다 빠르고 하드웨어 복잡성이 낮을 수 있지만 공격에 더 취약할 수 있습니다.

실행 RC4 HC-256 토끼 살사20 차차 밀봉하다 파나마 일어나. 곡류 VMPC 아이작
보탄 네. 아니요. 아니요. 네. 네. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
바운시 캐슬 네. 네. 아니요. 네. 네. 아니요. 아니요. 아니요. 네. 네. 네.
BSAFE Crypto-J 네. 아니요. 아니요. 아니요. 네. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
비밀스러운 입담 네. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
암호화++ 네. 네. 네. 네. 네. 네. 네. 네. 아니요. 아니요. 아니요.
GnuTLS
자바의 기본 JCA/JCE 제공자 네. 아니요. 아니요. 아니요. 네. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
립크립트 네. 아니요. 아니요. 네. 네. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
리보듐 아니요. 아니요. 아니요. 네. 네. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
Mbed TLS 네. 아니요. 아니요. 아니요. 네. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
네틀 네. 아니요. 아니요. 네. 네. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
오픈SSL 네. 아니요. 아니요. 아니요. 네. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
울프크립트 네. 네. 네. 네. 네. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.

하드웨어 지원

이 표들은 하드웨어 향상된 암호화를 활용하는 기능을 비교합니다. 특정 하드웨어의 지원을 사용함으로써 라이브러리는 그렇지 않은 경우보다 더 빠른 속도 및/또는 향상된 보안을 달성할 수 있습니다.

스마트 카드, SIMHSM 프로토콜 지원

실행 PKCS #11 PC/SC CCID
보탄 네. 아니요. 아니요.
바운시 캐슬 [a] 아니요. 아니요.
BSAFE [b] 아니요. 아니요.
비밀스러운 입담 네. 아니요. 아니요.
암호화++ 아니요. 아니요. 아니요.
GnuTLS 네. 아니요. 아니요.
자바의 기본 JCA/JCE 제공자 네. 아니요[c]. 아니요[c].
립크립트 [45] [46] [46]
리보듐 아니요. 아니요. 아니요.
Mbed TLS [47] 아니요. 아니요.
오픈SSL [47] 아니요. 아니요.
울프크립트 네. 아니요. 아니요.
  1. ^ PKCS#11 공급자와 함께 또는 기본 작업에 대한 액세스를 제공하는 운영자 인터페이스의 구현을 통해.
  2. ^ BSAFE Crypto-C Micro Edition을 사용하여 BSAFE Crypto-J를 네이티브 모드로 사용할 경우.
  3. ^ a b 지원은 JDK의 javax.smartcardio 패키지를 통해 가능합니다.

범용 CPU/플랫폼 가속 지원

실행 AES-NI SSSE3 / SSE4.1 AVX / AVX2 AVX-512 RDRAND VIA 패드 잠금 인텔 퀵 어시스턴트 ARMv7-A NEON ARMv8-A 암호화 지침 Power ISA v2.03 (AltiVec[a]) Power ISA v2.07(예: POWER8 이상[a])
보탄 네. 네. 네. 네. 네. 아니요. 아니요. 네. 네. 네. 네.
BSAFE [b] [b] [b] 아니요. [b] 아니요. 아니요. 아니요. [b] 아니요. 아니요.
비밀스러운 입담 네. 네. 네. 아니요. 네. 네. 아니요. 아니요. 아니요. 아니요. 아니요.
암호화++ 네. 네. 네. 아니요. 네. [c] 아니요. 네. 네. 네. 네.
GnuTLS 네. 아니요. 아니요. 아니요. 아니요. 네. 아니요. 아니요. 아니요. 아니요. 아니요.
자바의 기본 JCA/JCE 제공자 [d] [d] [d] [d] [d] 아니요. 아니요. 아니요. [d] 아니요. [d]
립크립트[48] 네. 네. 네. 네. 네. 네. 아니요. 네. 네. 아니요. 네.
리보듐 네. 네. 네. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
오픈SSL 네. 네. 네. 네. [e] 네. 아니요. 네. 네. 네. 네.
울프크립트 네. 네. 네. 아니요. 네. 아니요. [49] 네. [50] 아니요. 아니요.
  1. ^ a b AltiVec은 POWER8 SIMD 처리를 통해 POWER4를 포함합니다. POWER8은 ARMv8.1과 유사한 가속 AES, SHA 및 PMUL을 제공하는 인코어 암호화를 추가했습니다.
  2. ^ a b c d e BSAFE Crypto-C Micro Edition을 사용하여 RSA BSAFE Crypto-J를 네이티브 모드로 사용하는 경우
  3. ^ Crypto++는 Padlock 난수 생성기에 대한 액세스만 제공합니다. AES 가속과 같은 다른 기능은 제공되지 않습니다.
  4. ^ a b c d e f g HotSpot JVM 사용 시
  5. ^ OpenSSL RDRAND 지원은 엔진 인터페이스를 통해 제공됩니다. RDRAND 발생기는 기본적으로 사용되지 않습니다.

코드크기 및 코드 대 코멘트 비율

실행 소스 코드 크기

(kSLOC = 소스코드 1000행)

코드 라인 대 주석 라인 비율
보탄 133[51] 4.55[51]
바운시 캐슬 1359[52] 5.26[52]
BSAFE Crypto-J 271[a] 1.3[a]
비밀스러운 입담 241 2.66
암호화++ 115[53] 5.74[53]
GnuTLS 363[54] 7.30[54]
자바의 기본 JCA/JCE 제공자
립크립트 216[55] 6.27[55]
리보듐 44[56] 21.92[56]
Mbed TLS 105[57] 33.9[57]
네틀 111[58] 4.08[58]
오픈SSL 472[59] 4.41[59]
울프크립트 39 5.69
  1. ^ a b 테스트 소스를 제외한 Crypto-J 6.2.5를 기반으로 합니다. https://github.com/XAMPPRocky/tokei 를 사용하여 생성됨

휴대성

실행 지원되는 운영 체제 나사산 금고
보탄 Linux, Windows, macOS, Android, iOS, FreeBSD, NetBSD, OpenBSD, DragonflyBSD, Solaris, AIX, QNX, 하이쿠 네.
바운시 캐슬 일반 Java API: J2ME, Java Runtime Environment 1.1+, Android. Java FIPS API: Java Runtime 1.5+, Android. C# API(General & FIPS): CLR 4.
BSAFE Crypto-J Solaris, Linux, Android, FreeBSD, AIX, 32비트 및 64비트 Windows, macOS(Darwin) 네.
비밀스러운 입담 AMX, ARINC 653, BeOS, ChorusOS, CMSIS-RTOS/mbed-rtos, DOS, DOS32, eCOS, embOS, FreeRTOS/OpenRTOS, uItron, MQX, MVS, Nucleus, OS/2, PalmOS, QNX 중성미자, RTEMS, SMX, Tandem NonStop, Telit, ThreadX, uC/OS II, Unix (AIX, Free)PC/등, XMK 네.
암호화++ 유닉스(AIX, OpenBSD, Linux, MacOS, Solaris 등), Win32, Win64, Android, iOS, ARM [a]
GnuTLS 대부분의 Unix 플랫폼 및 Windows에서[60] 실행됩니다. ?
립크립트 모든 32비트 및 64비트 유닉스 시스템(Linux, FreeBSD, NetBSD, macOS 등), Win32, Win64, WinCE 등 [61]
리보듐 macOS, Linux, OpenBSD, NetBSD, FreeBSD, DragonflyBSD, Android, iOS, 32비트 및 64비트 Windows(Visual Studio, MinGW, C++ Builder), Native Client, QNX, JavaScript, AIX, MINIX, Solaris 네.
Mbed TLS Win32/64, 유닉스 시스템즈, 임베디드 리눅스, Micrium's µ C/OS, FreeRTOS ?
오픈SSL Solaris, IRIX, HP-UX, MPE/iX, Tru64, Linux, Android, BSD(OpenBSD, NetBSD, FreeBSD, DragonflyB)SD), NextSTEP, QNX, 유닉스웨어, SCO, AIX, 32비트 및 64비트 Windows(Visual Studio, MinGW, UWIN, CygWin), UEFI, macOS(Darwin), iOS, HUD, VxWorks, uClinux, VMS, DJGPP(DOS), 하이쿠 네.
울프크립트 Win32/64, Linux, macOS, Solaris, ThreadX, VxWorks, FreeBSD, NetBSD, OpenBSD, 내장 Linux, WinCE, Haiku, OpenWRT, 아이폰(iOS), Android, Nintendo Wii 및 Gamecube를 통한 DevKitPro, QNX, MontaVista, NonStop, TRON/ITRON/µITRON, Micrium's µ C/OS, FreeRTOS, safe 네.
  1. ^ Crypto++는 개체 수준에서 스레드 안전, 즉 인스턴스 간 공유 데이터가 없습니다. 두 개의 서로 다른 스레드가 동일한 개체에 액세스하는 경우 사용자는 잠금을 수행할 책임이 있습니다.

참고문헌

  1. ^ "Botan: Release Notes". Retrieved 2023-10-09.
  2. ^ "Release Notes - bouncycastle.org". 2023-11-13. Retrieved 2023-11-18.
  3. ^ "Java LTS Resources - bouncycastle.org". 2024-01-22. Retrieved 2024-01-22.
  4. ^ "Java FIPS Resources - bouncycastle.org". 2023-09-28. Retrieved 2022-09-29.
  5. ^ "The Legion of the Bouncy Castle C# Cryptography APIs". 2024-02-05. Retrieved 2024-02-06.
  6. ^ "C# .NET FIPS Resources - bouncycastle.org". 2023-02-28. Retrieved 2023-02-28.
  7. ^ "Dell BSAFE Crypto-C Micro Edition 4.1.5 and Micro Edition Suite 4.6 Release Advisory".
  8. ^ "Dell BSAFE Micro Edition Suite 4.6.2 Release Advisory".
  9. ^ "Dell BSAFE Micro Edition Suite 5.0.2.1 Release Advisory".
  10. ^ "Dell BSAFE Crypto-J 7.0 Release Advisory".
  11. ^ "Dell BSAFE Crypto-J 6.3 Release Advisory".
  12. ^ Gutmann, Peter (2019). "Downloading". cryptlib. University of Auckland School of Computer Science. Retrieved 2019-08-07.
  13. ^ "[gnutls-help] gnutls 3.8.3".
  14. ^ "JDK Releases". Oracle Corporation. Retrieved 2022-12-09.
  15. ^ "JDK Releases". Oracle Corporation. Retrieved 2024-01-17.
  16. ^ Brent Cook (2 November 2023). "LibreSSL 3.8.2 released". Retrieved 3 November 2023.
  17. ^ "Libgcrypt 1.10.3 released". dev.gnupg.org. 2023-11-14. Retrieved 2023-11-16.
  18. ^ "Libgcrypt 1.8.11 released". dev.gnupg.org. 2023-11-16. Retrieved 2023-11-16.
  19. ^ "Mbed TLS releases". 2021-07-07. Retrieved 2021-10-14.
  20. ^ NaCl, Bernstein, Lange, Schwabe 다운로드 설치, 2017-05-22 검색
  21. ^ "Nettle ChangeLog file @ git tag nettle_3.5.1_release_20190627".
  22. ^ a b "NSS:Release versions". Mozilla Wiki. Retrieved 7 November 2022.
  23. ^ "Release OpenSSL 3.2.1".
  24. ^ "wolfSSL ChangeLog". 2023-10-31. Retrieved 2023-10-31.
  25. ^ "Cryptographic Module Validation Program CSRC". csrc.nist.gov. Archived from the original on 2021-10-21.
  26. ^ a b c "Modules In Process List - Cryptographic Module Validation Program CSRC".
  27. ^ "Cryptographic Module Validation Program CSRC". csrc.nist.gov. Archived from the original on 2021-09-24.
  28. ^ "Cryptographic Module Validation Program CSRC". csrc.nist.gov. Archived from the original on 2021-10-23.
  29. ^ "Search - Cryptographic Module Validation Program CSRC CSRC". Retrieved 2022-05-29.
  30. ^ a b c d "Implementation Under Test List - Cryptographic Module Validation Program CSRC CSRC".
  31. ^ "Search - Cryptographic Module Validation Program CSRC CSRC". 11 October 2016.
  32. ^ https://csrc.nist.gov/projects/cryptographic-module-validation-program/validated-modules/search?SearchMode=Basic&ModuleName=libgcrypt&CertificateStatus=Active&ValidationYear=0[데드링크]
  33. ^ "Cryptographic Module Validation Program CSRC". csrc.nist.gov. Archived from the original on 2021-09-24.
  34. ^ "Cryptographic Module Validation Program CSRC". csrc.nist.gov. Archived from the original on 2021-04-14.
  35. ^ https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/3389
  36. ^ RFC 7091
  37. ^ RFC 8018
  38. ^ RFC 5831
  39. ^ RFC 6986
  40. ^ RFC 5830
  41. ^ RFC 8891
  42. ^ RFC 7801
  43. ^ Bouncy Castle Specifications, bouncycastle.org 2018-04-10 검색
  44. ^ cryptlib Encryption Toolkit, Peter Gutmann, 2015-11-28 검색
  45. ^ Scute와 함께, scute.org
  46. ^ a b GnuPG의 SCdaemon & gpg-agent와 함께 gnupg.org
  47. ^ a b libp11 엔진 포함
  48. ^ hwfeatures.c, dev.gnupg.org
  49. ^ "WolfSSL Asynchronous Intel QuickAssist Support - wolfSSL". 18 January 2017.
  50. ^ "WolfSSL ARMv8 Support - wolfSSL". 13 October 2016.
  51. ^ a b Botan의 언어 분석, OpenHub.net , 검색 2018-07-18
  52. ^ a b 바운시 캐슬 언어분석, OpenHub.net 2015-12-23 검색
  53. ^ a b Crypto++ OpenHub.net 언어 분석, 2018-07-18 검색
  54. ^ a b GnuTLS의 언어 분석, OpenHub.net 2020-09-15 검색
  55. ^ a b Libgcrypt의 언어 분석, OpenHub.net , 2015-12-23 검색
  56. ^ a b libsodium의 언어 분석, OpenHub.net , 검색 2017-05-07
  57. ^ a b mbed- tls의 언어 분석, OpenHub.net , 2019-09-15 검색
  58. ^ a b Nettle의 언어 분석, OpenHub.net , 2015-12-23 검색
  59. ^ a b OpenSSL의 언어 분석, OpenHub.net , 2017-05-07 검색
  60. ^ GnuTLS - 기능, GnuTLS.org , 2022-09-15 검색
  61. ^ GnuPG 문서: Libgcrypt 개요 - 스레드 안전, GnuPG.org , 검색 2016-04-16