맨위로가기

Cryptlib

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

Cryptlib는 프로그래머가 소프트웨어에 암호화 및 인증 서비스를 통합할 수 있도록 설계된 보안 툴킷 라이브러리이다. S/MIME, PGP/OpenPGP 보안 래핑, SSL/TLS 및 SSH 보안 세션, CA 서비스, 보안 타임스탬핑 등 다양한 보안 서비스를 제공하며, X.509, S/MIME, PGP/OpenPGP, SSH/SSL/TLS 데이터 형식을 지원한다. C로 작성되었으며 Windows, Unix/Linux를 포함한 다양한 운영 체제를 지원하며, C/C++, C#/.NET, Delphi, Java, Python, Visual Basic 등의 프로그래밍 언어 바인딩을 제공한다. 다양한 암호화 알고리즘을 지원하며, 2003년 12월 3.1 버전 출시 이후 지속적으로 업데이트되었다.

더 읽어볼만한 페이지

  • OpenPGP - PGP (소프트웨어)
    PGP는 필 짐머만이 개발한 암호화 소프트웨어로, 수출 규제와 회사 인수를 거쳐 현재는 상용 버전으로 제공되며, 공개 표준인 OpenPGP를 통해 디지털 서명으로 파일과 메시지의 안전한 전달과 발신자 확인을 보장한다.
  • OpenPGP - 에니그메일
    에니그메일은 인공지능 기술 발전에 따른 윤리적 문제들을 다루는 분야이며, 자율주행차 사고 책임, AI 무기 개발, 일자리 감소, 프라이버시 침해, 알고리즘 투명성 등 다양한 쟁점을 다룬다.
  • 전송 계층 보안 구현 - OpenSSL
    OpenSSL은 1998년에 설립된 암호화 도구 프로젝트로, 다양한 암호화 알고리즘과 프로토콜을 지원하며, 아파치 라이선스를 채택했고, 보안 문제와 API 호환성 문제 등의 비판을 받았다.
  • 전송 계층 보안 구현 - LibreSSL
    LibreSSL은 OpenSSL의 보안 취약점을 개선하기 위해 OpenBSD 팀이 개발한 암호화 라이브러리이며, 불필요한 코드를 제거하고 보안을 강화하여 OpenBSD, macOS 등에서 TLS 라이브러리로 사용된다.
  • C 라이브러리 - OpenSSL
    OpenSSL은 1998년에 설립된 암호화 도구 프로젝트로, 다양한 암호화 알고리즘과 프로토콜을 지원하며, 아파치 라이선스를 채택했고, 보안 문제와 API 호환성 문제 등의 비판을 받았다.
  • C 라이브러리 - SQLite
    SQLite는 D. 리처드 히프가 설계한 서버리스 구조의 임베디드 SQL 데이터베이스 엔진으로, 별도의 DBMS 없이 프로그램에 통합되어 작동하며 전체 데이터베이스를 단일 파일로 저장하는 특징이 있고, 다양한 운영체제와 환경에서 널리 사용된다.
Cryptlib - [IT 관련 정보]에 관한 문서
기본 정보
이름cryptlib
개발자피터 구트만
출시일1995년
최신 버전3.4.5
최신 출시일2019년
프로그래밍 언어C
장르보안 라이브러리
라이선스슬리피캣 라이선스
공식 웹사이트cryptlib 공식 웹사이트

2. 기능

cryptlib는 프로그래머가 소프트웨어에 암호화 및 인증 서비스를 통합할 수 있도록 돕는 보안 툴킷 라이브러리이다. 암호화 또는 인증 알고리즘의 세부 사항을 알 필요 없이, 강력한 보안 기능을 응용 프로그램에 추가할 수 있도록 높은 수준의 인터페이스를 제공하며, 400페이지가 넘는 프로그래밍 매뉴얼이 함께 제공된다.[4]

cryptlib는 다음과 같은 다양한 기능을 제공한다.


  • 암호화 및 인증 서비스: S/MIME 및 PGP/OpenPGP 보안 래핑, SSL/TLS 및 SSH 보안 세션, CA 서비스(CMP, SCEP, RTCS, OCSP 등), 보안 타임스탬핑 등 완전한 보안 서비스를 구현한다.
  • 다양한 암호화 알고리즘 지원: 블록 암호, 해시 함수, MAC, 공개 키 등 다양한 종류의 암호화 알고리즘을 지원한다. (자세한 내용은 "지원 알고리즘" 하위 섹션 참고)
  • 표준 데이터 형식 사용: 산업 표준 X.509, S/MIME, PGP/OpenPGP, SSH/SSL/TLS 데이터 형식을 사용하여 암호화되거나 서명된 데이터를 다른 시스템으로 쉽게 전송하여 처리할 수 있다.
  • 광범위한 운영 체제 지원: 모든 Windows 버전과 대부분의 Unix/Linux 시스템을 포함한 많은 운영 체제에서 실행된다.
  • X.509/PKIX 인증서 처리: X.509v1에서 X.509v4까지 모든 X.509 버전을 포함한 전체 X.509/PKIX 인증서 처리를 제공한다. SET, Microsoft AuthentiCode, Identrus, SigG, S/MIME, SSL 및 자격 인증서, PKCS #7 인증서 체인, 인증 요청 및 CRL(인증서 폐기 목록) 처리(CRL에 대한 인증서 자동 검사 및 RTCS, OCSP를 이용한 온라인 검사 포함), CMP 및 SCEP를 사용한 인증서 발급 및 폐기를 지원한다.
  • 인증 기관(CA) 기능 구현: 온라인 인증서 등록/발급/폐기 및 인증서 상태 검사를 처리하기 위한 완전한 CMP, SCEP, RTCS, OCSP 서버 구현을 제공한다.
  • 정교한 키 저장 인터페이스: PKCS #11 장치, PKCS #15 키 파일, PGP/OpenPGP 키 링에서 상용 등급의 RDBMS, 선택적인 SSL 보호 기능이 있는 LDAP 디렉토리에 이르기까지 광범위한 키 데이터베이스 유형을 사용할 수 있도록 한다.
  • 외부 암호화 장치 지원: 하드웨어 암호화 가속기, Fortezza 카드, PKCS #11 장치, 하드웨어 보안 모듈(HSM), 암호화 스마트 카드 등 다양한 외부 암호화 장치의 암호화 기능을 사용할 수 있다. FIPS 140 또는 ITSEC/Common Criteria 인증을 받은 다양한 암호화 장치와 함께 사용할 수 있다.
  • 다양한 프로그래밍 언어 지원: C로 작성되었으며, BeOS, DOS, IBM MVS, Mac OS X, OS/2, Tandem, 다양한 Unix 버전, VM/CMS, Windows 3.x, Windows 95/98/ME, Windows CE/PocketPC/SmartPhone, Windows NT/2000/XP/Vista를 지원한다. 다른 임베디드 시스템 환경으로 이식 가능하도록 설계되었으며, 표준 DLL로 제공된다. C/C++, C#/.NET, 델파이,[5] Java, 파이썬, Visual Basic (VB)에 대한 언어 바인딩을 사용할 수 있다.

2. 1. 지원 알고리즘

Cryptlib는 블록 암호, 해시 함수, MAC, 공개 키 등 다양한 종류의 암호화 알고리즘을 지원한다.

각 암호화 알고리즘에 대한 자세한 내용은 하위 섹션을 참고하면 된다.

2. 1. 1. 블록 암호

데이터를 고정된 크기의 블록으로 나누어 암호화하는 방식이다.

블록 암호
알고리즘키 크기블록 크기
AES128/192/256128
블로우피시44864
CAST-12812864
DES[28]5664
트리플 DES112 / 16864
IDEA[29]12864
RC2[30]102464
RC4[30]20488
RC5[29]83264
스킵잭[30]8064


2. 1. 2. 해시 함수

해시 함수는 임의의 길이의 데이터를 고정된 길이의 해시 값으로 변환하는 함수이다.

해시 함수 종류
알고리즘다이제스트 크기
MD2[6][8]128
MD4[6][8]128
MD5[6]128
RIPEMD-160160
SHA-1160
SHA-2/SHA-256256


2. 1. 3. 메시지 인증 코드 (MAC)

메시지 인증 코드(MAC)는 메시지의 무결성과 인증을 보장하기 위해 사용되는 코드이다.

MAC
알고리즘키 크기다이제스트 크기
HMAC-MD5128128
HMAC-RIPEMD-160160160
HMAC-SHA-1160160
HMAC-SHA-2256256


2. 1. 4. 공개 키 암호 방식

공개 키 암호 방식은 데이터를 암호화하고 복호화할 때 공개 키와 개인 키를 사용하는 방식이다. Cryptlib에서 지원하는 공개 키 암호 방식 알고리즘과 키 크기는 아래 표와 같다.

공개 키
알고리즘키 크기
디피-헬만4096
DSA4096
ECDSA521
ECDH521
엘가말4096
RSA4096


2. 2. 보안 서비스

cryptlib는 프로그래머가 소프트웨어에 암호화 및 인증 서비스를 통합할 수 있도록 하는 보안 툴킷 라이브러리이다. 암호화 또는 인증 알고리즘의 세부 사항을 알 필요 없이, 강력한 보안 기능을 응용 프로그램에 추가할 수 있도록 높은 수준의 인터페이스를 제공한다.[4]

최상위 수준에서 cryptlib는 다음과 같은 완전한 보안 서비스 구현을 제공한다.

  • S/MIME 및 PGP/OpenPGP 보안 래핑
  • SSL/TLS 및 SSH 보안 세션
  • CA 서비스 (예: CMP, SCEP, [http://tools.ietf.org/html/draft-malpani-rcsp-00 RTCS], OCSP)
  • 보안 타임스탬핑


cryptlib는 산업 표준 X.509, S/MIME, PGP/OpenPGP, SSH/SSL/TLS 데이터 형식을 사용하므로, 암호화되거나 서명된 데이터를 다른 시스템으로 쉽게 전송하여 처리할 수 있다. cryptlib 자체는 모든 Windows 버전과 대부분의 Unix/Linux 시스템을 포함한 많은 운영 체제에서 실행된다. 이를 통해 이메일, 파일 및 EDI 트랜잭션을 디지털 서명으로 인증하고 산업 표준 형식으로 암호화할 수 있다.

2. 3. 기타 기능

cryptlib는 X.509/PKIX 인증서 전체를 처리한다(X.509v1부터 X.509v4까지 모든 X.509 버전).[4] SET, Microsoft AuthentiCode, Identrus, SigG, S/MIME, SSL, 자격 인증서, PKCS #7 인증서 체인, 인증 요청 및 CRL(인증서 폐기 목록) 처리(CRL 자동 검사, RTCS 및 OCSP를 이용한 온라인 검사 포함), CMP 및 SCEP를 사용한 인증서 발급 및 폐기를 지원한다.[4] 온라인 인증서 등록/발급/폐기, 인증서 상태 검사를 위한 CMP, SCEP, RTCS, OCSP 서버 구현을 제공하여 전체 범위의 인증 기관(CA) 기능을 구현한다.[4] 인증서 처리와 함께, PKCS #11 장치, PKCS #15 키 파일, PGP/OpenPGP 키 링부터 상용 등급의 RDBMS, 선택적인 SSL 보호 기능이 있는 LDAP 디렉토리에 이르기까지 광범위한 키 데이터베이스 유형을 사용할 수 있는 정교한 키 저장 인터페이스를 제공한다.[4]

cryptlib는 하드웨어 암호화 가속기, Fortezza 카드, PKCS #11 장치, 하드웨어 보안 모듈(HSM), 암호화 스마트 카드 등 다양한 외부 암호화 장치의 암호화 기능을 활용할 수 있다.[4] FIPS 140 또는 ITSEC/Common Criteria 인증을 받은 다양한 암호화 장치와 함께 사용할 수 있다.[4] 암호화 장치 인터페이스는 cryptlib에서 사용 가능한 새로운 기능을 추가하기 위한 범용 플러그인 기능도 제공한다.[4]

cryptlib는 C로 작성되었으며, BeOS, DOS, IBM MVS, Mac OS X, OS/2, Tandem, 다양한 Unix 버전(AIX, Digital Unix, DGUX, FreeBSD/NetBSD/OpenBSD, HP-UX, IRIX, Linux, MP-RAS, OSF/1, QNX, SCO UnixWare, Solaris, SunOS, Ultrix, UTS4 포함), VM/CMS, Windows 3.x, Windows 95/98/ME, Windows CE/PocketPC/SmartPhone, Windows NT/2000/XP/Vista를 지원한다.[4] 다른 임베디드 시스템 환경으로 이식 가능하도록 설계되었다.[4] 표준 DLL로 제공된다.[4] C/C++, C#/.NET, 델파이,[5] Java, 파이썬, Visual Basic (VB)에 대한 언어 바인딩을 사용할 수 있다.[4]

3. 지원 환경

cryptlib는 다양한 운영 체제와 프로그래밍 언어를 지원한다.

4. 출시 역사

cryptlib는 지속적으로 업데이트되어 새로운 기능이 추가되고 보안이 개선되고 있다. cryptlib의 출시 역사는 다음과 같다.

버전출시일
3.12003년 12월 13일[42]
3.22005년 4월 18일[41]
3.2.12005년 8월 9일[40]
3.2.22005년 9월 6일[39]
3.2.32006년 7월 10일[38]
3.2.3a2006년 8월 29일[37]
3.32006년 9월 13일[36]
3.3.12007년 2월 1일[35]
3.3.22008년 7월 3일[34]
3.4.02010년 10월 6일[33]
3.4.12011년 7월 27일[32]
3.4.22012년 12월 17일[31][12]
3.4.32016년 3월 25일[11]
3.4.42018년 1월 10일[10]
3.4.4.12018년 8월 21일[9]
3.4.52019년 3월 8일


참조

[1] 웹사이트 "{title}" http://www.cryptlib.[...] 2018-11-02
[2] 웹사이트 "{title}" https://www.gnu.org/[...] 2018-11-02
[3] 웹사이트 "{title}" http://www.cryptlib.[...] 2011-02-05
[4] PDF https://www.cryptlib[...] 2022-03
[5] 웹사이트 Cryptlib AddOn's for Delphi programmers http://cryptlib.sogo[...] 2008-04-07
[6] 문서 Disabled by default due to its insecurity
[7] 문서 Disabled by default due to it being patented
[8] 문서 Disabled by default due to it being obsolete
[9] 메일링리스트 cryptlib 3.4.4 update 1 released https://narkive.com/[...] 2018-08-21
[10] 메일링리스트 cryptlib 3.4.4 released https://narkive.com/[...] 2018-01-10
[11] 메일링리스트 cryptlib 3.4.3 released https://narkive.com/[...] 2016-03-25
[12] 메일링리스트 cryptlib 3.4.2 released https://narkive.com/[...] 2012-12-17
[13] 메일링리스트 cryptlib 3.4.1 released https://narkive.com/[...] 2011-07-27
[14] 메일링리스트 cryptlib 3.4.0 released https://narkive.com/[...] 2010-10-06
[15] 메일링리스트 cryptlib 3.3.2 released https://narkive.com/[...] 2008-07-03
[16] 메일링리스트 cryptlib 3.3.1 released https://narkive.com/[...] 2007-02-01
[17] 메일링리스트 cryptlib 3.3 released https://narkive.com/[...] 2006-09-13
[18] 메일링리스트 cryptlib 3.2.3a released https://narkive.com/[...] 2006-08-29
[19] 메일링리스트 cryptlib 3.2.3 released https://narkive.com/[...] 2006-07-10
[20] 메일링리스트 cryptlib 3.2.2 released https://narkive.com/[...] 2005-09-06
[21] 메일링리스트 cryptlib 3.2.1 released https://narkive.com/[...] 2005-08-09
[22] 메일링리스트 cryptlib 3.2 released https://narkive.com/[...] 2005-04-18
[23] 메일링리스트 cryptlib 3.1 released https://narkive.com/[...] 2003-12-13
[24] 웹인용 Downloading https://www.cs.auckl[...] 2019
[25] URL http://www.cryptlib.[...]
[26] URL https://www.gnu.org/[...]
[27] URL http://www.cryptlib.[...]
[28] 문서 Disabled by default due to its insecurity
[29] 문서 Disabled by default due to it being patented
[30] 문서 Disabled by default due to it being obsolete
[31] 웹인용 보관된 사본 http://article.gmane[...] 2018-05-18
[32] 웹인용 보관된 사본 http://article.gmane[...] 2018-05-18
[33] 웹인용 보관된 사본 http://article.gmane[...] 2018-05-18
[34] 웹인용 보관된 사본 http://article.gmane[...] 2018-05-18
[35] 웹인용 보관된 사본 http://article.gmane[...] 2018-05-18
[36] 웹인용 보관된 사본 https://web.archive.[...] 2018-05-18
[37] 웹인용 보관된 사본 https://web.archive.[...] 2018-05-18
[38] 웹인용 보관된 사본 https://web.archive.[...] 2018-05-18
[39] 웹인용 보관된 사본 https://web.archive.[...] 2018-05-18
[40] 웹인용 보관된 사본 https://web.archive.[...] 2018-05-18
[41] 웹인용 보관된 사본 https://web.archive.[...] 2018-05-18
[42] 웹인용 보관된 사본 https://web.archive.[...] 2018-05-18



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com