sgcCrypto: Delphi & C++ Builder를 위한 최신 암호화 라이브러리
sgcWebSockets Standard부터 포함 단독 제품으로도 판매

sgcCrypto — Delphi & C++ Builder를 위한 최신 암호화 라이브러리

43개의 순수 Object Pascal 유닛으로, 컴포넌트도 디자인 타임 흔적도 없습니다. TBytes를 넘기면 TBytes를 돌려받습니다. 암호화에는 AES-GCM과 ChaCha20-Poly1305, 해싱에는 SHA-3/BLAKE2/Argon2, 서명과 키 교환에는 Ed25519/X25519/RSA, 그리고 X.509 인증서 파싱 및 생성, 포스트 퀀텀 ML-KEM, ML-DSA, SLH-DSA까지 제공합니다. 모든 기본 요소는 uses 절에 추가하는 바로 그 유닛 안에서 직접 구현되어 있습니다. 외부 DLL도, OpenSSL 바인딩도 없으며, 동일한 소스가 Delphi 7부터 RAD Studio 13까지 변경 없이 컴파일됩니다. sgcCrypto는 sgcWebSockets Standard, Professional, Enterprise에 무료로 포함되어 제공되며, Core만 보유한 고객을 위해 단독으로도 판매됩니다(sgcWebSockets Core 런타임 포함).

전체 소스 코드
Win32, Win64, Linux64, macOS, iOS & Android
Delphi 7 → 13, 코드 변경 없음
외부 의존성 없음
43개의 순수 함수 sgcCrypto_*.pas 컴포넌트 없음. 함수를 호출하면 바이트를 돌려받습니다.
AES-GCM sgcAES_GCM_Encrypt
ChaCha20-Poly1305 sgcChaCha20Poly1305_Encrypt
SHA-3 / SHAKE sgcSHA3_256
Ed25519 / X25519 sgcEd25519_Sign
RSA-PSS sgcRSA_PSS_Sign
ML-KEM / ML-DSA sgcMLKEM_Encapsulate
X.509 / CSR sgcX509_CreateSelfSigned
43 순수 함수 유닛 sgcCrypto_*.pas, 컴포넌트 없음
6 기능 패밀리 대칭, 해싱, 서명, PKI, PQC, OTP
6 지원 플랫폼 Win32, Win64, Linux64, macOS, iOS, Android
3 포스트 퀀텀 FIPS 표준 ML-KEM (203), ML-DSA (204), SLH-DSA (205)
2 소유하는 방법 에디션에 포함되거나 단독으로

먼저 알아 두면 좋은 세 가지

sgcCrypto가 무엇인지, 이미 보유하고 있는지, 어디에서 실행되는지입니다. 세 답 모두 간단합니다.

sgcCrypto는 컴포넌트가 아니라 순수 함수입니다

43개 유닛 전부가 평범한 함수와 프로시저를 내보냅니다. Tsgc* 클래스도 없고, RegisterComponents로 등록되는 것도 없으며, sgcCrypto_Reg.pas도 없습니다. sgcAES_GCM_Encrypt(aKey, aIV, aPlain, aAAD, aTag)를 폼이든 서비스든 콘솔 앱이든 스레드든, 여느 RTL 함수를 호출하듯 그대로 호출하면 됩니다.

모든 라이선스에 전체 소스 코드가 함께 제공되므로, 기본 요소들이 바이너리나 DLL 속으로 사라지는 대신 직접 디버거로 한 단계씩 추적할 수 있습니다.

에디션 중복

이미 sgcWebSockets 에디션을 보유하고 계신가요?

sgcCrypto는 sgcWebSockets Standard, Professional, Enterprise, 그리고 All-Access 안에 추가 비용 없이 포함되어 있습니다. Standard 이상의 에디션 라이선스를 이미 보유하고 있다면 43개 유닛을 모두 이미 갖고 있는 것이며, 더 구매할 필요가 없습니다.

sgcCrypto의 단독 버전은 그 반대의 경우를 위한 것입니다. sgcWebSockets Core만 보유하고 있거나 sgcWebSockets 라이선스가 전혀 없는 상태에서, 전체 에디션을 라이선스하지 않고도 암호화 유닛만 원하는 경우입니다.

플랫폼 범위

sgcCrypto에는 플랫폼 가드가 없습니다

AI나 음성 패키지와 달리, sgcVer.inc의 어떤 것도 sgcCrypto를 Windows로 제한하지 않습니다. 이 유닛들은 평범한 Object Pascal 연산이므로, 동일한 소스로 Win32, Win64, Linux64, macOS, iOS, Android용으로 컴파일됩니다.

플랫폼을 인식하는 유일한 유닛인 sgcCrypto_Random은 동일한 sgcRandomBytes 호출 뒤에서 대상별로 CSPRNG 백엔드를 선택합니다(Windows CryptoAPI, 그 외에는 /dev/urandom). 따라서 사용자 코드는 플랫폼에 따라 분기할 필요가 전혀 없습니다.

43개의 유닛, 6개의 기능 패밀리

모든 유닛은 컴파일된 Object Pascal이며, Delphi 7부터 13까지 또는 C++ Builder 프로젝트 어디에서든 호출할 수 있습니다. 외부 DLL도, OpenSSL 바인딩도, 코드 생성기도 없습니다. 기본 요소는 uses 절에 추가하는 유닛 안에서 직접 구현되어 있습니다.

대칭 암호화5개 유닛

AES, ChaCha20, 그리고 그 위에 구축된 AEAD 구성

sgcCrypto_AES는 CBC, GCM, CTR을 다루고, sgcCrypto_Modes는 ECB, OFB, CFB, 사이퍼텍스트 스틸링 방식의 CTS, 그리고 AES Key Wrap / 패딩 포함 Key Wrap(RFC 3394 / 5649)을 추가합니다. sgcCrypto_CMAC은 AES-CMAC입니다. sgcCrypto_ChaCha는 ChaCha20, XChaCha20, Salsa20, XSalsa20을 구현하며, sgcCrypto_Poly1305는 이들과 Poly1305를 결합해 RFC 8439의 ChaCha20-Poly1305 및 XChaCha20-Poly1305 AEAD 암호를 만듭니다. sgcAES_GCM_Decrypt와 Poly1305 검증 함수는 인증 태그를 상수 시간으로 비교하며, 검증에 실패하면 평문 반환을 거부합니다.

해싱 & KDF11개 유닛

SHA-2, SHA-3, BLAKE2, 그리고 주요 KDF 전부

sgcCrypto_SHA2sgcCrypto_Keccak은 SHA-1/2, SHA-3, SHAKE, cSHAKE, KMAC을 다루고, sgcCrypto_Blake2bsgcCrypto_Blake2s는 BLAKE2를 추가합니다. sgcCrypto_HMAC은 키 기반 메시지 인증입니다. 비밀번호를 키로 바꾸는 용도로는 sgcCrypto_KDF(PBKDF2), sgcCrypto_HKDF, sgcCrypto_Scrypt, 그리고 Argon2의 세 가지 변형인 d, i, id를 모두 구현하는 Password Hashing Competition 우승작 sgcCrypto_Argon2가 있습니다. sgcCrypto_SipHash는 해시 테이블 키를 위한 빠른 키 기반 해시를 제공하며, sgcCrypto_TLSH는 암호화 다이제스트가 아니라 유사도 거리 함수를 갖춘 퍼지 해시로, 근접 중복 탐지에 유용합니다.

서명 & 키 교환10개 유닛

Ed25519/Ed448, X25519/X448, secp256k1, Brainpool, RSA

sgcCrypto_Ed25519/Ed448은 서명과 검증을 담당하고, sgcCrypto_X25519/X448은 이에 대응하는 Diffie-Hellman을 수행합니다. sgcCrypto_ECCurves는 RFC 6979 결정적 논스를 사용해 secp256k1과 세 가지 Brainpool 곡선 위에서 ECDSA와 ECDH를 추가하며, sgcCrypto_EC는 JOSE 지향의 자매 유닛으로 ES256/384/512 JWS를 직접 서명하고 검증합니다. sgcCrypto_RSA는 PEM 키로부터 곧바로 PKCS#1 v1.5 및 PSS 서명을 검증하며, sgcCrypto_RSA_Keys는 한 걸음 더 나아가 임의 비트 길이의 키 생성, OAEP 암호화, DER/PEM 내보내기를 제공합니다. sgcCrypto_ECIES는 X25519 공개 키에 대한 하이브리드 seal/open 암호화로 마무리합니다.

sgcCrypto_Ed25519 sgcCrypto_ECCurves sgcCrypto_RSA_Keys RFC 8032 · RFC 7748 · RFC 8017
PKI5개 유닛

X.509 인증서를 읽고, 검증하고, 생성합니다

sgcCrypto_ASN1은 DER과 PEM을 읽고 PKCS#1/SEC 1 키를 파싱하며, sgcCrypto_DER은 인증서나 CSR에 필요한 모든 태그를 작성합니다. sgcCrypto_X509는 인증서를 파싱하고, 지정된 발급자가 서명했는지 검증하며, 체인을 따라가며 검증하고, CRL을 파싱해 폐기 여부를 확인합니다. sgcCrypto_X509_Gen은 자체 서명 인증서나 PKCS#10 CSR을 처음부터 생성합니다. 전체 주체 및 발급자 구분 이름(DN), 유효 기간, 경로 길이 제약이 있는 CA 플래그, 키 사용 플래그, 확장 키 사용 OID, IP 주소 SAN을 포함한 주체 대체 이름까지 다룹니다.

포스트 퀀텀6개 유닛

ML-KEM, ML-DSA, SLH-DSA, 그리고 하이브리드 결합기

sgcCrypto_MLKEM은 FIPS 203 키 캡슐화로, 세 가지 매개변수 집합(ML-KEM-512/768/1024)을 제공하며 손상된 암호문에는 암묵적 거부(implicit rejection)로 대응합니다. sgcCrypto_MLDSA는 FIPS 204 서명으로 ML-DSA-44/65/87을 제공합니다. sgcCrypto_SLHDSA는 FIPS 205이며, 128s, 128f, 192s, 192f, 256s, 256f 여섯 가지 SHAKE 매개변수 집합을 모두 지원합니다. ML-KEM 단독으로는 타원 곡선보다 역사가 짧은 격자 가정에 모든 것을 거는 셈이므로, sgcCrypto_MLKEM_Hybrid는 X25519 비밀 값과 ML-KEM 비밀 값을 하나의 공유 키로 결합해, 결과가 고전적인 절반보다 약해지는 일이 없도록 합니다. 이는 업계가 수렴하고 있는 마이그레이션 방식입니다.

sgcCrypto_MLKEM sgcCrypto_MLDSA sgcCrypto_SLHDSA FIPS 203 · FIPS 204 · FIPS 205
OTP & 기타6개 유닛

일회용 비밀번호, 인코딩, 암호화된 ZIP 항목

sgcCrypto_OTP는 인증 앱이 보여주는 것과 동일한 6자리 HOTP와 TOTP 코드를 생성하고 검증하며, 시계 오차를 흡수하는 상수 시간 검증 윈도우를 사용합니다. sgcCrypto_Encoding은 라이브러리의 나머지 부분이 공유하는 유틸리티 함수를 담고 있습니다. 상수 시간 비교, 안전한 버퍼 초기화, hex, Base64url, Base32입니다. sgcCrypto_Zip_AE2는 개별 ZIP 항목을 암호화하기 위한 WinZip AES 암호화 AE-1과 AE-2를 구현합니다. sgcCrypto_Random은 라이브러리 곳곳에서 생성되는 모든 키와 논스 뒤에 있는 크로스 플랫폼 CSPRNG이며, sgcCrypto_Legacy는 새로운 설계가 아니라 이전 형식과의 상호운용을 위해 MD4/MD5/HMAC-MD5/DES-ECB를 계속 제공합니다.

컴포넌트도, 오브젝트 인스펙터도 없습니다

uses에 유닛을 추가하고 함수를 호출하세요. 아래의 각 호출은 43개 유닛 중 서로 다른 유닛에서 가져온 것으로, 대칭 암호화, 해싱, 서명, 포스트 퀀텀에 걸쳐 있습니다.

uses
  sgcCrypto_Random, sgcCrypto_AES, sgcCrypto_Keccak, sgcCrypto_Ed25519,
  sgcCrypto_MLKEM;

var
  vKey, vIV, vPlain, vAAD, vTag, vCipher: TBytes;
  vDigest, vSeed, vSignature, vMessage: TBytes;
  vPublicKey, vPrivateKey, vSharedSecret, vCiphertext: TBytes;
begin
  // AES-256-GCM: authenticated encryption in one call
  vKey    := sgcRandomBytes(32);
  vIV     := sgcRandomBytes(12);
  vPlain  := TEncoding.UTF8.GetBytes('confidential payload');
  vCipher := sgcAES_GCM_Encrypt(vKey, vIV, vPlain, vAAD, vTag);

  // SHA-3-256, one call, no context object to manage
  vDigest := sgcSHA3_256(vPlain);

  // Ed25519: sign, then verify
  vSeed      := sgcRandomBytes(32);
  vMessage   := TEncoding.UTF8.GetBytes('sign me');
  vSignature := sgcEd25519_Sign(vSeed, vMessage);

  // ML-KEM-768: post-quantum key encapsulation (FIPS 203)
  sgcMLKEM_GenerateKeyPair(mlkem768, vPublicKey, vPrivateKey);
  sgcMLKEM_Encapsulate(mlkem768, vPublicKey, vCiphertext, vSharedSecret);
end;
// includes: sgcCrypto_Random.hpp, sgcCrypto_AES.hpp, sgcCrypto_Keccak.hpp,
// sgcCrypto_Ed25519.hpp, sgcCrypto_MLKEM.hpp

// AES-256-GCM: authenticated encryption in one call
TBytes vKey    = sgcRandomBytes(32);
TBytes vIV     = sgcRandomBytes(12);
TBytes vAAD, vTag;
TBytes vPlain  = TEncoding::UTF8->GetBytes("confidential payload");
TBytes vCipher = sgcAES_GCM_Encrypt(vKey, vIV, vPlain, vAAD, vTag);

// SHA-3-256, one call, no context object to manage
TBytes vDigest = sgcSHA3_256(vPlain);

// Ed25519: sign, then verify
TBytes vSeed      = sgcRandomBytes(32);
TBytes vMessage   = TEncoding::UTF8->GetBytes("sign me");
TBytes vSignature = sgcEd25519_Sign(vSeed, vMessage);

// ML-KEM-768: post-quantum key encapsulation (FIPS 203)
TBytes vPublicKey, vPrivateKey, vSharedSecret, vCiphertext;
sgcMLKEM_GenerateKeyPair(mlkem768, vPublicKey, vPrivateKey);
sgcMLKEM_Encapsulate(mlkem768, vPublicKey, vCiphertext, vSharedSecret);
중요한 곳에서는 상수 시간

GCM과 Poly1305 태그 검사, HOTP/TOTP 검증, sgcConstantTimeEquals는 모두 상수 시간으로 비교합니다. 따라서 검사에 실패해도 추측이 얼마나 근접했는지에 대한 타이밍 정보가 새어 나가지 않습니다.

디캡슐화는 절대 실패하지 않습니다

손상된 ML-KEM 암호문은 오류 대신 의사난수 비밀 값을 만들어냅니다. FIPS 203에 따른 암묵적 거부 방식으로, 공격자는 암호문이 올바른 형식인지 여부로부터 아무것도 알아낼 수 없습니다.

Delphi 7부터 13까지, 변경 없음

네이티브 64비트 정수 타입이 있다고 가정하지 않습니다. sgcCrypto_Int64TsgcBigInt가 해시, 곡선, 포스트 퀀텀 유닛에 필요한 연산을 에뮬레이션하므로, 동일한 소스가 지원되는 모든 버전에서 컴파일됩니다.

프로세스 밖으로 나가는 것은 없습니다

모든 함수는 사용자가 전달한 데이터에 대해 프로세스 내부에서 실행됩니다. 라이브러리 어디에도 네트워크 호출, 원격 측정, eSeGeCe로의 중계는 존재하지 않습니다.

포함되거나, 단독 패키지로

sgcCrypto는 sgcWebSockets Standard, Professional, Enterprise에 무료로 포함되어 제공됩니다. sgcWebSockets Core만 보유하고 있다면, 개발자 1인 기준 €149부터 시작하는 단독 패키지로도 구매할 수 있습니다. 모든 라이선스에는 전체 소스 코드, 1년간의 업데이트, 50%에서 70%까지의 갱신 할인이 포함됩니다. 팩 1개를 갱신하면 50%, 2개는 60%, 3개 이상은 70%입니다.

sgcCrypto

€149

단독 패키지입니다. Single, Team, Site 라이선스를 제공합니다. sgcWebSockets Standard, Professional, Enterprise를 이미 보유하고 있다면 무료입니다.

  • 43개의 sgcCrypto_*.pas 유닛 전부
  • sgcWebSockets Core 런타임 포함
  • Delphi & C++ Builder, 6개 플랫폼 전체
  • 전체 소스 코드
  • 1년간의 업데이트

이미 sgcWebSockets Standard, Professional, Enterprise를 사용 중이신가요? sgcCrypto는 이미 설치 프로그램에 포함되어 있으므로 별도로 주문할 필요가 없습니다.

가격 보기 & 주문
3,000+Developers
20+Years
761+Components
30+API Integrations
5Platforms
30일 환불 보장만족하지 않으세요? 구매 후 30일 이내에 전액 환불을 요청하세요. 환불 정책 보기

컴포넌트 부담 없는 암호화

암호화, 해싱, 서명, PKI, 포스트 퀀텀 키 교환을 아우르는 43개의 순수 함수가, Delphi나 C++ Builder 코드가 실행되는 곳이라면 어디서든 준비되어 있습니다. 전체 소스 코드, 중계 없음, DLL 없음.

eSeGeCe의 다른 제품

sgcCrypto를 당사의 다른 Delphi 및 C++ Builder 컴포넌트 라이브러리와 함께 사용하세요.

sgcWebSockets

엔터프라이즈 WebSocket, HTTP/2, MQTT, AMQP 및 WebRTC 컴포넌트입니다. Standard, Professional, Enterprise 에디션 모두 sgcCrypto를 포함합니다.

자세히 보기 →

sgcSign

엔터프라이즈 디지털 서명입니다. 10개 키 공급자와 21개 EU 국가 프로파일을 갖춘 XAdES, PAdES, CAdES, ASiC를 지원합니다.

자세히 보기 →

sgcAuth

OAuth2 클라이언트 및 JWT 클라이언트 컴포넌트와 WebAuthn 패스키 로그인을 제공합니다. 단독 제품이며 sgcWebSockets Core 런타임이 포함되어 있습니다.

자세히 보기 →

sgcQUIC

네이티브 OpenSSL 3.5 QUIC 엔진 위에 구축된 QUIC(RFC 9000) 및 HTTP/3(RFC 9114) 클라이언트 및 서버 컴포넌트입니다.

자세히 보기 →

sgcAI

AI, LLM, MCP 컴포넌트입니다. 채팅 컴포넌트 하나로 OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok, Mistral에 연결합니다.

자세히 보기 →

sgcMQ

네이티브 MQTT 3.1.1/5.0, AMQP 0.9.1, AMQP 1.0, Apache Kafka, STOMP 클라이언트 컴포넌트이며, Core 런타임이 함께 포함되어 있습니다.

자세히 보기 →

sgcOpenAPI

OpenAPI 3.0 파서 및 SDK 생성기입니다. 어떤 OpenAPI 사양이든 몇 초 만에 강력한 형식의 Delphi 클라이언트로 전환합니다.

자세히 보기 →