sgcCrypto Criptografía, en Pascal puro. Sin DLL que distribuir.

43 unidades, sin componentes, sin huella en tiempo de diseño: pasa TBytes y recibe TBytes de vuelta. AES-GCM y ChaCha20-Poly1305 para cifrar, SHA-3, BLAKE2 y Argon2 para hash y derivación de claves, Ed25519, X25519 y RSA para firmas e intercambio de claves, análisis y generación de X.509, y la criptografía post-cuántica ML-KEM, ML-DSA y SLH-DSA. Sin DLL externa, sin enlace a OpenSSL, y el mismo código fuente compila sin cambios desde Delphi 7 hasta RAD Studio 13.

  • Delphi 7 a 13
  • C++ Builder
  • Win32, Win64, Linux64
  • macOS, iOS, Android
  • Post-cuántica
  • Código fuente completo
Inicio rápido de sgcCrypto: sgcAES_GCM_Encrypt y sgcAES_GCM_Decrypt en Delphi, con el nonce, el texto cifrado y la etiqueta, y un mensaje manipulado rechazado al descifrar
  • 43Unidades Object Pascal de funciones simples
  • 6Familias de capacidades, del AEAD a la post-cuántica
  • 6Destinos: Win32, Win64, Linux64, macOS, iOS y Android
  • 100%Código fuente incluido en cada licencia
  • 0Dependencias externas, sin OpenSSL con el que cuadrar versiones
Míralo en acción

Conoce sgcCrypto en dos minutos.

Hash, cifrado autenticado, almacenamiento de contraseñas, firmas y encapsulación de claves post-cuántica, una llamada a función cada vez. Con narración y subtítulos. No se descarga nada hasta que pulsas reproducir.

Seis familias de capacidades

Cifra, calcula hashes, firma, certifica y supera la cuestión cuántica.

Las familias se dividen por la tarea que estás realizando y no por las matemáticas que hay detrás, de modo que la unidad que buscas es la que lleva el nombre de lo que quieres construir.

Simétrico · 5 unidades

sgcCrypto_AES cubre CBC, GCM y CTR, sgcCrypto_Modes añade ECB, OFB, CFB, ciphertext stealing, AES-CCM y AES Key Wrap. ChaCha20, XChaCha20, Salsa20 y XSalsa20 se combinan con Poly1305 en los cifrados AEAD de la RFC 8439. El descifrado compara la etiqueta en tiempo constante y se niega a devolver texto en claro si falla.

Las unidades simétricas →

Hash y KDF · 11 unidades

SHA-1, SHA-2, SHA-3, SHAKE, cSHAKE y KMAC, con BLAKE2b y BLAKE2s al lado. PBKDF2, HKDF, scrypt y sgcCrypto_Argon2 con las tres variantes, d, i e id. sgcCrypto_SipHash para claves de tablas hash y sgcCrypto_HMAC sobre cualquiera de los digests.

Las unidades de hash →

Firmas e intercambio de claves · 10 unidades

Ed25519 y Ed448 firman, X25519 y X448 hacen el Diffie-Hellman correspondiente, y sgcCrypto_ECCurves añade ECDSA y ECDH sobre siete curvas con nonces deterministas RFC 6979 y firma Schnorr BIP-340. Claves RSA de cualquier longitud en bits, exportadas como DER o PEM en PKCS#1 y PKCS#8.

Descubre qué puede hacer →

PKI · 5 unidades

sgcCrypto_X509 analiza un certificado, verifica su emisor, recorre una cadena y lee una CRL. sgcCrypto_X509_Gen genera un certificado autofirmado o una CSR PKCS#10 con el nombre distinguido completo, validez, indicador de CA, uso de clave, uso extendido de clave y nombres alternativos del sujeto.

Todo sobre certificados →

Post-cuántica · 6 unidades

Encapsulación de claves FIPS 203 en los tres conjuntos de parámetros, firma FIPS 204 en ML-DSA-44, 65 y 87, y FIPS 205 en los seis conjuntos de parámetros SHAKE. sgcCrypto_MLKEM_Hybrid combina un secreto X25519 con un secreto ML-KEM, de modo que la clave compartida nunca es más débil que la mitad clásica.

Las unidades post-cuánticas →

OTP y varios · 6 unidades

sgcCrypto_OTP genera y verifica códigos HOTP y TOTP con una ventana en tiempo constante que absorbe el desfase del reloj. Comparación en tiempo constante, borrado seguro de buffers, hex, Base64url y Base32, WinZip AES AE-1 y AE-2 para entradas ZIP, y el CSPRNG multiplataforma detrás de cada clave.

OTP y utilidades →
El código

Llama a una función, recibe bytes.

Sin objeto que construir, sin contexto que liberar, sin handle que mantener abierto. Los dos fragmentos compilan igual en Delphi 7 a 13 y C++ Builder, en todas las plataformas de destino.

uses
  sgcCrypto_Random, sgcCrypto_AES, sgcCrypto_Keccak;
var
  vKey, vIV, vPlain, vAAD, vTag, vCipher, vDigest: 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);

  // Decryption checks the tag in constant time and fails closed
  vPlain  := sgcAES_GCM_Decrypt(vKey, vIV, vCipher, vAAD, vTag);
end;
uses
  sgcCrypto_Random, sgcCrypto_Ed25519, sgcCrypto_MLKEM;
var
  vSeed, vMessage, vSignature: TBytes;
  vPublicKey, vPrivateKey, vCiphertext, vSharedSecret: TBytes;
begin
  // Ed25519 signature from a 32-byte seed
  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);

  // The peer recovers the same secret from the ciphertext
  sgcMLKEM_Decapsulate(mlkem768, vPrivateKey, vCiphertext, vSharedSecret);
end;
  1. Añade la unidad a tu cláusula usesNinguna unidad registra un componente, así que no aparece nada en la paleta ni se suelta nada en un formulario.
  2. Llama a la funciónLas claves, nonces, texto en claro y resultados son todos TBytes. sgcRandomBytes es la misma llamada en todas las plataformas, respaldada por el CSPRNG adecuado en cada destino.
  3. Confía en la ruta de falloEl descifrado AEAD comprueba la etiqueta en tiempo constante y falla de forma cerrada, así que los datos manipulados nunca vuelven como texto en claro.

La misma forma en Object Pascal y en C++ Builder. Todas las unidades y funciones están en la matriz de características.

La matriz completa de características

Antes de comprar

Funciones simples, un runtime incluido, nada en medio.

sgcCrypto implementa las primitivas directamente en lugar de enlazar con una biblioteca que además tendrías que distribuir y mantener a la misma versión, así que una clave, un digest o una firma es una sola llamada a función, y el código fuente completo significa que nada de lo que hay en medio es una caja negra.

Inicio rápido de sgcCrypto: almacenar una contraseña con sgcArgon2id y compararla con sgcConstantTimeEquals

Contraseñas, almacenadas como es debido

Convierte una contraseña en una clave con PBKDF2, scrypt o Argon2 en sus tres variantes, d, i e id, y compárala con el ayudante en tiempo constante de sgcCrypto_Encoding, de modo que la comparación en sí no filtre la respuesta.

Inicio rápido de sgcCrypto: el inventario completo de funciones de hash, MAC, contraseñas y KDF, simétricas, de clave pública, post-cuánticas, de certificados y extra

Seis familias, cuarenta y tres unidades

Simétrico (5), hash y KDF (11), firmas e intercambio de claves (10), PKI (5), post-cuántico (6), y OTP y utilidades (6). No hay ninguna clase Tsgc* ni sgcCrypto_Reg.pas: cada unidad exporta funciones simples que recorres paso a paso en tu propio depurador en lugar de desaparecer dentro de un binario.

Sin restricción de plataforma

Nada en sgcVer.inc restringe sgcCrypto a Windows. Las unidades son aritmética ordinaria de Object Pascal, así que compilan para Win32, Win64, Linux64, macOS, iOS y Android desde un único código fuente. sgcCrypto_Random es la única unidad que depende de la plataforma.

Un motor TLS 1.3 y TLS 1.2

El paquete incluye además una implementación de TLS escrita sobre las primitivas de sgcCrypto, en las unidades sgcSSL_NativeTLS* . Establece IOHandler := iohNativeTLS en cualquier cliente o servidor de sgcWebSockets y no hay nada que desplegar. La lista de grupos predeterminada empieza por el híbrido X25519MLKEM768.

Cómo activarlo →

Contrastado con los estándares

FIPS 197 y 202, RFC 8439, RFC 5280 y FIPS 203, 204 y 205. La generación de claves, la firma y la verificación de ML-KEM, ML-DSA y SLH-DSA se comprueban con los vectores de respuesta conocida NIST ACVP en la suite de QA de sgcWebSockets.

Todas las unidades y funciones →
Licencias

Puede que ya tengas sgcCrypto.

Las 43 unidades se incluyen en sgcWebSockets Standard, Professional y Enterprise, y en All-Access, sin coste adicional. ¿Solo tienes sgcWebSockets Core, o no tienes ninguna licencia de sgcWebSockets? El paquete independiente incluye el runtime Core junto con las unidades de criptografía. Todas las licencias incluyen el código fuente completo y la distribución libre de royalties.

Ediciones de sgcWebSockets

sgcCrypto se incluye gratis desde Standard en adelante, junto con WebSocket, HTTP/2, MQTT y el resto de la biblioteca. Si tienes una de estas, no hay nada más que comprar.

€380 / desarrollador

sgcCrypto independiente

Las 43 unidades con el runtime sgcWebSockets Core incluido, para desarrolladores que solo tienen Core o ninguna licencia de sgcWebSockets. Licencias Single, Team y Site.

€149 / desarrollador

Paquete All-Access

Todos los productos de eSeGeCe durante un año, Delphi y .NET, sgcCrypto incluido, con Soporte Premium.

€1,059 / desarrollador

El instalador de prueba gratuita es la prueba de sgcWebSockets All-Access, así que las 43 unidades se pueden evaluar hoy mismo.

Ver precios de sgcCrypto
Testimonios

Qué dicen los desarrolladores

La confianza de desarrolladores de Delphi, C++ Builder, Lazarus y .NET de todo el mundo.

Vuestra librería sgcWebSockets es muy útil y fácil de configurar. ¡Seguid así!
Simone Moretti Desarrollador Delphi
sgcWebSockets es increíble y vuestro soporte es el mejor.
Christian Meyer Fundador y CTO
Muchas gracias por vuestra ayuda y soporte, me encantan vuestros componentes.
Mark Steinfeld CTO

Bytes dentro, bytes fuera, código nativo.

Cifrado AEAD, hash, firmas, X.509 y criptografía post-cuántica en 43 unidades, con el código fuente completo en la caja.

Lo último del blog

Ver todas las publicaciones →

Estás viendo la vista Criptografía de eSeGeCe.

Mostrar otro enfoque →
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