sgcCrypto: Biblioteca de Criptografía Moderna para Delphi y C++ Builder
Incluido desde sgcWebSockets Standard También se vende por separado

sgcCrypto — una biblioteca criptográfica moderna para Delphi y C++ Builder

43 unidades en Object Pascal puro, sin componentes, sin huella en tiempo de diseño: pasas TBytes como entrada y recibes TBytes como salida. AES-GCM y ChaCha20-Poly1305 para cifrado, SHA-3/BLAKE2/Argon2 para hash, Ed25519/X25519/RSA para firmas e intercambio de claves, análisis y generación de certificados X.509, y criptografía poscuántica ML-KEM, ML-DSA y SLH-DSA. Cada primitiva está implementada directamente en la unidad que añades a tu cláusula uses: sin DLL externa, sin enlace a OpenSSL, y el mismo código fuente compila sin cambios desde Delphi 7 hasta RAD Studio 13. sgcCrypto se distribuye gratis con sgcWebSockets Standard, Professional y Enterprise, y también se vende por separado (incluyendo el runtime de sgcWebSockets Core) para los clientes que solo tienen Core.

Código fuente completo
Win32, Win64, Linux64, macOS, iOS y Android
Delphi 7 → 13, sin cambios
Cero dependencias externas
43 funciones puras sgcCrypto_*.pas Sin componentes. Llama a una función, recibe bytes.
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 Unidades de funciones puras sgcCrypto_*.pas, cero componentes
6 Familias de funcionalidades Simétrico, hash, firmas, PKI, PQC, OTP
6 Plataformas de destino Win32, Win64, Linux64, macOS, iOS, Android
3 Estándares FIPS poscuánticos ML-KEM (203), ML-DSA (204), SLH-DSA (205)
2 Formas de conseguirlo Incluido en una edición, o independiente

Tres cosas que conviene saber antes

Qué es sgcCrypto, si ya lo tienes incluido, y dónde funciona. Las tres respuestas son breves.

sgcCrypto son funciones puras, no componentes

Cada una de las 43 unidades exporta funciones y procedimientos normales. No hay ninguna clase Tsgc*, nada se registra con RegisterComponents, y no existe un sgcCrypto_Reg.pas. Llamas a sgcAES_GCM_Encrypt(aKey, aIV, aPlain, aAAD, aTag) igual que llamarías a cualquier función de la RTL, desde un formulario, un servicio, una aplicación de consola o un hilo.

El código fuente completo se incluye en todas las licencias, de modo que las primitivas se pueden depurar paso a paso en tu propio depurador en lugar de desaparecer dentro de un binario o una DLL.

Solapamiento de edición

¿Ya tienes una edición de sgcWebSockets?

sgcCrypto viene incluido dentro de sgcWebSockets Standard, Professional y Enterprise, y dentro de All-Access, sin coste adicional. Si ya tienes una licencia de cualquier edición desde Standard, ya dispones de las 43 unidades, no hay nada más que comprar.

sgcCrypto existe como paquete independiente para el caso contrario: solo tienes sgcWebSockets Core, o ninguna licencia de sgcWebSockets, y quieres las unidades de criptografía sin licenciar una edición completa.

Alcance de plataformas

sgcCrypto no lleva ninguna restricción de plataforma

A diferencia de los paquetes de IA o de voz, nada en sgcVer.inc restringe sgcCrypto a Windows. Las unidades son aritmética Object Pascal corriente, así que compilan para Win32, Win64, Linux64, macOS, iOS y Android a partir del mismo código fuente.

La única unidad que distingue la plataforma, sgcCrypto_Random, selecciona un backend CSPRNG según el destino (Windows CryptoAPI, o /dev/urandom en el resto) detrás de la misma llamada sgcRandomBytes, de modo que tu código nunca tiene que bifurcar según la plataforma.

43 unidades, seis familias de funcionalidades

Cada unidad es Object Pascal compilado, invocable desde cualquier proyecto de Delphi 7 a 13 o de C++ Builder. No hay DLL externa, ni enlace a OpenSSL, ni generador de código: las primitivas están implementadas directamente en la unidad que añades a tu cláusula uses.

Simétrico5 unidades

AES, ChaCha20 y las construcciones AEAD que se apoyan en ellos

sgcCrypto_AES cubre CBC, GCM y CTR; sgcCrypto_Modes añade ECB, OFB, CFB, CTS con robo de texto cifrado, y AES Key Wrap / Key Wrap with Padding (RFC 3394 / 5649); sgcCrypto_CMAC es AES-CMAC. sgcCrypto_ChaCha implementa ChaCha20, XChaCha20, Salsa20 y XSalsa20, y sgcCrypto_Poly1305 combina Poly1305 con ellos en los cifrados AEAD ChaCha20-Poly1305 y XChaCha20-Poly1305 de RFC 8439. sgcAES_GCM_Decrypt y los verificadores de Poly1305 comparan la etiqueta de autenticación en tiempo constante y se niegan a devolver el texto plano cuando falla.

Hash & KDF11 unidades

SHA-2, SHA-3, BLAKE2 y todos los KDF habituales

sgcCrypto_SHA2 y sgcCrypto_Keccak cubren SHA-1/2, SHA-3, SHAKE, cSHAKE y KMAC; sgcCrypto_Blake2b y sgcCrypto_Blake2s añaden BLAKE2. sgcCrypto_HMAC es autenticación de mensajes con clave. Para convertir una contraseña en una clave: sgcCrypto_KDF (PBKDF2), sgcCrypto_HKDF, sgcCrypto_Scrypt y sgcCrypto_Argon2, que implementa las tres variantes de Argon2, d, i e id, la ganadora de la Password Hashing Competition. sgcCrypto_SipHash ofrece un hash con clave rápido para claves de tablas hash, y sgcCrypto_TLSH es un hash difuso con una función de distancia de similitud, no un resumen criptográfico, útil para detectar casi duplicados.

Firmas e intercambio de claves10 unidades

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

sgcCrypto_Ed25519/Ed448 firman y verifican; sgcCrypto_X25519/X448 hacen el Diffie-Hellman correspondiente. sgcCrypto_ECCurves añade ECDSA y ECDH sobre secp256k1 y las tres curvas Brainpool con nonces deterministas RFC 6979, y sgcCrypto_EC es la hermana orientada a JOSE: firma y verifica un JWS directamente, ES256/384/512. sgcCrypto_RSA verifica firmas PKCS#1 v1.5 y PSS directamente desde una clave PEM, y sgcCrypto_RSA_Keys va más allá con generación de claves de cualquier longitud, cifrado OAEP y exportación DER/PEM. sgcCrypto_ECIES lo completa con cifrado híbrido seal/open hacia una clave pública X25519.

sgcCrypto_Ed25519 sgcCrypto_ECCurves sgcCrypto_RSA_Keys RFC 8032 · RFC 7748 · RFC 8017
PKI5 unidades

Lee, verifica y genera certificados X.509

sgcCrypto_ASN1 lee DER y PEM y analiza claves PKCS#1/SEC 1; sgcCrypto_DER escribe todas las etiquetas que necesita un certificado o un CSR. sgcCrypto_X509 analiza un certificado, verifica que fue firmado por un emisor dado, recorre y verifica una cadena, y analiza una CRL para comprobar la revocación. sgcCrypto_X509_Gen genera desde cero un certificado autofirmado o un CSR PKCS#10: nombre distintivo completo de sujeto y emisor, ventana de validez, indicador de CA con restricción de longitud de ruta, indicadores de uso de clave, OID de uso extendido de clave y nombres alternativos del sujeto, incluyendo SAN de direcciones IP.

Poscuántica6 unidades

ML-KEM, ML-DSA y SLH-DSA, más un combinador híbrido

sgcCrypto_MLKEM es encapsulación de claves FIPS 203, tres conjuntos de parámetros (ML-KEM-512/768/1024), con rechazo implícito ante un texto cifrado malformado. sgcCrypto_MLDSA es firma FIPS 204, ML-DSA-44/65/87. sgcCrypto_SLHDSA es FIPS 205, los seis conjuntos de parámetros SHAKE: 128s, 128f, 192s, 192f, 256s, 256f. Como ML-KEM por sí solo apuesta todo a una suposición reticular más joven que las curvas elípticas, sgcCrypto_MLKEM_Hybrid combina un secreto X25519 y un secreto ML-KEM en una única clave compartida, de modo que el resultado nunca es más débil que la mitad clásica, el patrón de migración hacia el que converge la industria.

sgcCrypto_MLKEM sgcCrypto_MLDSA sgcCrypto_SLHDSA FIPS 203 · FIPS 204 · FIPS 205
OTP y varios6 unidades

Contraseñas de un solo uso, codificación y entradas ZIP cifradas

sgcCrypto_OTP genera y verifica códigos HOTP y TOTP, los mismos códigos de seis dígitos que muestra una app de autenticación, con una ventana de verificación en tiempo constante que absorbe el desfase de reloj. sgcCrypto_Encoding contiene las funciones de utilidad que comparte el resto de la biblioteca: comparación en tiempo constante, puesta a cero segura de buffers, hex, Base64url y Base32. sgcCrypto_Zip_AE2 implementa el cifrado WinZip AES, AE-1 y AE-2, para cifrar entradas individuales de un ZIP. sgcCrypto_Random es el CSPRNG multiplataforma detrás de cada clave y nonce generados en el resto de la biblioteca, y sgcCrypto_Legacy mantiene disponibles MD4/MD5/HMAC-MD5/DES-ECB para interoperar con formatos antiguos, no para diseños nuevos.

Sin componentes, sin Object Inspector

Añade una unidad a uses y llama a una función. Cada llamada de abajo procede de una unidad distinta de las 43, abarcando simétrico, hash, firmas y poscuántica.

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);
Tiempo constante donde importa

Las comprobaciones de etiqueta GCM y Poly1305, la verificación HOTP/TOTP y sgcConstantTimeEquals comparan siempre en tiempo constante, de modo que una comprobación fallida no filtra información de temporización sobre lo cerca que estaba el intento.

La decapsulación nunca falla

Un texto cifrado ML-KEM malformado produce un secreto pseudoaleatorio en lugar de un error, rechazo implícito según FIPS 203, de modo que un atacante no aprende nada de si el texto cifrado estaba bien formado.

Delphi 7 a 13, sin cambios

No se asume ningún tipo entero de 64 bits nativo. sgcCrypto_Int64 y TsgcBigInt emulan la aritmética que necesitan las unidades de hash, curvas y poscuánticas, de modo que el mismo código fuente compila en todas las versiones soportadas.

Nada sale de tu proceso

Cada función se ejecuta dentro de tu proceso sobre los datos que le pasas. No hay ninguna llamada de red, ninguna telemetría ni ningún relé de eSeGeCe en ninguna parte de la biblioteca.

Incluido, o como paquete independiente

sgcCrypto se distribuye gratis con sgcWebSockets Standard, Professional y Enterprise. Si solo tienes sgcWebSockets Core, también se vende como paquete independiente, desde €149 para un desarrollador individual. Todas las licencias incluyen código fuente completo, 1 año de actualizaciones y un descuento de renovación del 50% al 70%: 50% al renovar un paquete, 60% por dos, 70% por tres o más.

sgcCrypto

€149

Paquete independiente. Licencias Single, Team y Site disponibles. Gratis si ya tienes sgcWebSockets Standard, Professional o Enterprise.

  • Las 43 unidades sgcCrypto_*.pas
  • Runtime de sgcWebSockets Core incluido
  • Delphi y C++ Builder, las seis plataformas
  • Código fuente completo
  • 1 año de actualizaciones

¿Ya tienes sgcWebSockets Standard, Professional o Enterprise? sgcCrypto ya está en tu instalador, no hace falta pedirlo.

Ver precios y comprar
3,000+Developers
20+Years
761+Components
30+API Integrations
5Platforms
Garantía de devolución de 30 días¿No estás satisfecho? Solicita un reembolso completo en los 30 días posteriores a la compra. Ver política de reembolso

Criptografía sin la sobrecarga de los componentes

43 funciones puras que cubren cifrado, hash, firmas, PKI e intercambio de claves poscuántico, listas allí donde ya se ejecuta tu código Delphi o C++ Builder. Código fuente completo, sin relé, sin DLL.

Otros productos de eSeGeCe

Combina sgcCrypto con nuestras otras bibliotecas de componentes para Delphi y C++ Builder.

sgcWebSockets

Componentes empresariales de WebSocket, HTTP/2, MQTT, AMQP y WebRTC. Standard, Professional y Enterprise incluyen todos sgcCrypto.

Más información →

sgcSign

Firmas digitales empresariales. XAdES, PAdES, CAdES y ASiC con 10 proveedores de claves y 21 perfiles por país de la UE.

Más información →

sgcAuth

Componentes cliente OAuth2 y cliente JWT, además de inicio de sesión con passkey WebAuthn. Como paquete independiente, incluye el runtime de sgcWebSockets Core.

Más información →

sgcQUIC

Componentes cliente y servidor de QUIC (RFC 9000) y HTTP/3 (RFC 9114) construidos sobre el motor QUIC nativo de OpenSSL 3.5.

Más información →

sgcAI

Componentes de IA, LLM y MCP. Un único componente de chat llega a OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok y Mistral.

Más información →

sgcMQ

Componentes cliente nativos de MQTT 3.1.1/5.0, AMQP 0.9.1, AMQP 1.0, Apache Kafka y STOMP, con el runtime de Core incluido.

Más información →

sgcOpenAPI

Parser de OpenAPI 3.0 y generador de SDK. Convierte cualquier especificación OpenAPI en un cliente Delphi fuertemente tipado en segundos.

Más información →