Matriz de características de sgcCrypto — AES, SHA-3, Ed25519, X.509, ML-KEM | eSeGeCe

sgcCrypto Matriz de características

Todo lo que hace sgcCrypto, mapeado en las 43 unidades del disco. Aquí no hay componentes ni propiedades en tiempo de diseño: cada fila de abajo es una función o un procedimiento que llamas directamente. El código fuente completo se incluye en todas las licencias. Los anclajes de abajo te llevan a las seis familias de funcionalidades en las que se agrupan las unidades.

sgcCrypto no tiene componentes. Las 43 unidades de abajo exportan funciones normales, no hay ninguna clase Tsgc* ni ningún sgcCrypto_Reg.pas. Añade una unidad a tu cláusula uses y llama a la función.

Ya incluido. sgcCrypto se distribuye gratis dentro de sgcWebSockets Standard, Professional y Enterprise, y dentro de All-Access. También se vende por separado (incluyendo el runtime de sgcWebSockets Core) para los clientes que solo tienen Core. Consulta Precios.

Simétrico

AES, ChaCha20, Poly1305, 5 unidades

Hash & KDF

SHA-2/3, BLAKE2, Argon2, 11 unidades

Firmas e intercambio de claves

Ed25519, X25519, RSA, 10 unidades

PKI

X.509, ASN.1, CSR, 5 unidades

Poscuántica

ML-KEM, ML-DSA, SLH-DSA, 6 unidades

OTP y varios

HOTP/TOTP, codificación, ZIP AES, 6 unidades

43 unidades de código fuente

Cada unidad sgcCrypto_*.pas bajo sgcWebSockets/delphi/Source/, agrupada por familia.

UnidadFamiliaQué hace
sgcCrypto_AESSimétricoAES-CBC, AES-GCM (AEAD), AES-CTR.
sgcCrypto_ModesSimétricoAES-ECB, OFB, CFB, CTS, y Key Wrap / Key Wrap with Padding.
sgcCrypto_CMACSimétricoAutenticación de mensajes AES-CMAC.
sgcCrypto_ChaChaSimétricoChaCha20, XChaCha20, Salsa20, XSalsa20.
sgcCrypto_Poly1305SimétricoMAC Poly1305, AEAD ChaCha20-Poly1305 y XChaCha20-Poly1305.
sgcCrypto_SHA2Hash & KDFSHA-1, SHA-224, SHA-256, SHA-384, SHA-512.
sgcCrypto_KeccakHash & KDFSHA-3, SHAKE128/256, cSHAKE, KMAC.
sgcCrypto_Blake2bHash & KDFBLAKE2b, con o sin clave.
sgcCrypto_Blake2sHash & KDFBLAKE2s, con o sin clave.
sgcCrypto_HMACHash & KDFHMAC-SHA1/256/384/512.
sgcCrypto_KDFHash & KDFPBKDF2, hash seleccionable.
sgcCrypto_HKDFHash & KDFHKDF, extraer y expandir.
sgcCrypto_ScryptHash & KDFKDF con dureza de memoria scrypt.
sgcCrypto_Argon2Hash & KDFArgon2d, Argon2i, Argon2id.
sgcCrypto_SipHashHash & KDFHash con clave SipHash-2-4.
sgcCrypto_TLSHHash & KDFHash difuso TLSH y diferencia de similitud.
sgcCrypto_Ed25519Firmas e intercambio de clavesFirma / verificación Ed25519.
sgcCrypto_X25519Firmas e intercambio de clavesX25519 Diffie-Hellman.
sgcCrypto_Ed448Firmas e intercambio de clavesFirma / verificación Ed448.
sgcCrypto_X448Firmas e intercambio de clavesX448 Diffie-Hellman.
sgcCrypto_GF448Firmas e intercambio de clavesAritmética de cuerpo interna GF(2^448-2^224-1) para Ed448/X448.
sgcCrypto_ECCurvesFirmas e intercambio de clavesECDSA / ECDH sobre secp256k1 y Brainpool P256r1/P384r1/P512r1.
sgcCrypto_ECFirmas e intercambio de clavesFirma/verificación EC general como JWS (ES256/384/512), ECDH.
sgcCrypto_RSAFirmas e intercambio de clavesFirma RSA PKCS#1 v1.5, verificación PKCS#1 v1.5 / PSS, desde PEM o en bruto.
sgcCrypto_RSA_KeysFirmas e intercambio de clavesGeneración de claves RSA, OAEP, PSS, firma/verificación PKCS#1, exportación DER/PEM.
sgcCrypto_ECIESFirmas e intercambio de clavesCifrado híbrido ECIES seal / open sobre X25519.
sgcCrypto_ASN1PKILector DER, códec PEM, análisis de claves PKCS#1/SEC 1.
sgcCrypto_DERPKIPrimitivas de escritura DER.
sgcCrypto_BigIntegerPKIAritmética interna de enteros de precisión arbitraria.
sgcCrypto_X509PKIAnálisis, verificación, cadena, CRL y revocación X.509.
sgcCrypto_X509_GenPKIGeneración de certificados autofirmados y CSR PKCS#10.
sgcCrypto_MLKEMPoscuánticaEncapsulación de claves ML-KEM (FIPS 203), 3 conjuntos de parámetros.
sgcCrypto_MLKEM_PolyPoscuánticaAritmética interna de anillos de polinomios detrás de ML-KEM.
sgcCrypto_MLKEM_HybridPoscuánticaEncapsulación de claves híbrida X25519 + ML-KEM.
sgcCrypto_MLDSAPoscuánticaFirmas digitales ML-DSA (FIPS 204), 3 conjuntos de parámetros.
sgcCrypto_MLDSA_PolyPoscuánticaAritmética interna de anillos de polinomios detrás de ML-DSA.
sgcCrypto_SLHDSAPoscuánticaFirmas SLH-DSA (FIPS 205), 6 conjuntos de parámetros SHAKE.
sgcCrypto_OTPOTP y variosHOTP, TOTP, ventana de verificación en tiempo constante.
sgcCrypto_EncodingOTP y variosComparación en tiempo constante, puesta a cero segura, hex/Base64url/Base32.
sgcCrypto_Zip_AE2OTP y variosCifrado WinZip AES para entradas ZIP, AE-1 / AE-2.
sgcCrypto_LegacyOTP y variosMD4, MD5, HMAC-MD5, DES-ECB, solo para interoperabilidad.
sgcCrypto_RandomOTP y variosCSPRNG multiplataforma.
sgcCrypto_Int64OTP y variosEmulación interna de enteros de 64 bits para Delphi 7.

Cifrado y MAC

AES en los modos que realmente usa el código de producción, más la familia AEAD ChaCha20/Poly1305.

FuncionalidadFunciónNotas
AES-CBCsgcAES_CBC_Encrypt / sgcAES_CBC_DecryptRelleno PKCS#7, IV de 16 bytes. La longitud de la clave selecciona el cifrado: 16/24/32 bytes = AES-128/192/256.
AES-GCM (AEAD)sgcAES_GCM_Encrypt / sgcAES_GCM_DecryptSe recomienda un IV de 12 bytes. Etiqueta de 16 bytes, comparada en tiempo constante; el descifrado devuelve False y texto plano vacío si la etiqueta falla.
AES-CTRsgcAES_CTRAES-CM al estilo SRTP (RFC 3711). Llamada simétrica, sin relleno, contador big-endian de 128 bits.
AES-ECBsgcAES_ECB_Encrypt / sgcAES_ECB_DecryptSin IV, sin encadenamiento. Incluido por interoperabilidad con formatos que lo especifican.
AES-OFB / AES-CFBsgcAES_OFB, sgcAES_CFB_Encrypt / sgcAES_CFB_DecryptModos de realimentación al estilo de cifrado de flujo.
AES-CTSsgcAES_CTS_Encrypt / sgcAES_CTS_DecryptRobo de texto cifrado: cifra datos que no son múltiplo del tamaño de bloque sin sobrecarga de relleno.
AES Key WrapsgcAES_KeyWrap / sgcAES_KeyUnwrapRFC 3394, para envolver una clave bajo otra.
AES Key Wrap with PaddingsgcAES_KeyWrapPad / sgcAES_KeyUnwrapPadRFC 5649, para material de clave que no es múltiplo de 8 bytes.
AES-CMACsgcAES_CMAC / sgcAES_CMAC_VerifyCódigo de autenticación de mensajes RFC 4493.
Primitivas de bloque de bajo nivelsgcAES_ExpandKey, sgcAES_EncryptBlock, sgcAES_DecryptBlockExpuestas para las unidades de modos y MAC de arriba; llama a estas directamente solo para construir un modo que no esté ya disponible.
ChaCha20sgcChaCha20RFC 8439, nonce de 96 bits, contador de 32 bits.
XChaCha20sgcXChaCha20Nonce extendido de 192 bits, seguro para generar nonces aleatorios a gran escala.
Salsa20 / XSalsa20sgcSalsa20 / sgcXSalsa20La familia de cifrado de flujo predecesora, ambos tamaños de nonce.
Derivación de subclavesgcHChaCha20 / sgcHSalsa20Lo que usan internamente las variantes X para derivar una subclave a partir de los primeros 16 bytes del nonce.
MAC Poly1305sgcPoly1305 / sgcPoly1305_VerifyAutenticador de un solo uso, RFC 8439. Nunca reutilices una clave Poly1305.
AEAD ChaCha20-Poly1305sgcChaCha20Poly1305_Encrypt / _DecryptEl cifrado AEAD detrás de la segunda suite de cifrado de TLS 1.3 y de SSH.
AEAD XChaCha20-Poly1305sgcXChaCha20Poly1305_Encrypt / _DecryptEl mismo AEAD, nonce de 192 bits, la construcción que libsodium llama crypto_aead_xchacha20poly1305_ietf.

Resúmenes, MAC y hash de contraseñas

Todas las familias de hash habituales, además de PBKDF2, HKDF, scrypt y las tres variantes de Argon2.

FuncionalidadFunciónNotas
SHA-1 / SHA-2sgcSHA1, sgcSHA224, sgcSHA256, sgcSHA384, sgcSHA512FIPS 180-4. SHA-1 se mantiene por interoperabilidad, no se recomienda para firmas nuevas.
SHA-3sgcSHA3_224 / _256 / _384 / _512FIPS 202, la esponja Keccak, estructuralmente independiente de SHA-2.
SHAKE128 / SHAKE256sgcSHAKE128 / sgcSHAKE256Funciones de salida extensible: solicita cualquier longitud de resumen.
cSHAKE128 / cSHAKE256sgcCSHAKE128 / sgcCSHAKE256SHAKE con separación de dominio, NIST SP 800-185, la base de KMAC.
KMAC128 / KMAC256sgcKMAC128 / sgcKMAC256MAC basado en Keccak con longitud de salida variable.
BLAKE2bsgcBlake2b / sgcBlake2b_KeyedRFC 7693, resúmenes de hasta 64 bytes, con clave integrada (no hace falta un HMAC aparte).
BLAKE2ssgcBlake2s / sgcBlake2s_KeyedRFC 7693, resúmenes de hasta 32 bytes, ajustado para plataformas de 32 bits.
Resúmenes en flujosgcBlake2b_Init/_Update/_Final, llamadas equivalentes en Keccak/Blake2sPara calcular el hash de datos demasiado grandes para mantenerlos en memoria de una vez.
HMACsgcHMAC_SHA1 / _SHA256 / _SHA384 / _SHA512Hash con clave RFC 2104 sobre la familia SHA-1/2.
PBKDF2sgcPBKDF2, sgcPBKDF2_SHA1 / _SHA256 / _SHA512RFC 8018. Solo ligeramente resistente a la memoria; prefiere Argon2id o scrypt cuando puedas elegir.
HKDFsgcHKDF_Extract_SHA256 / _SHA384, sgcHKDF_Expand_SHA256 / _SHA384, sgcHKDF_SHA256 / _SHA384RFC 5869, derivación de claves extraer-y-expandir, la forma estándar de convertir un secreto compartido en varias claves.
scryptsgcScryptRFC 7914, resistente a la memoria, resiste ataques de GPU/ASIC mucho mejor que PBKDF2.
Argon2sgcArgon2 (d / i / id), envoltorio de conveniencia sgcArgon2idRFC 9106, la ganadora de la Password Hashing Competition. Interfaz completa con secreto opcional (pepper) y datos asociados.
SipHash-2-4sgcSipHash24 / sgcSipHash24_ValuePRF con clave rápida para claves de tablas hash, resiste denegación de servicio por inundación de hash.
Hash difuso TLSHsgcTLSH, sgcTLSH_Init/_Update/_FinalHash sensible a la localidad para detectar casi duplicados, no es un resumen criptográfico.
Puntuación de similitud TLSHsgcTLSH_DiffDistancia entre dos resúmenes TLSH; cuanto menor, más similares.

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

Firma, verifica y deriva secretos compartidos en cinco familias de curvas distintas, más RSA.

FuncionalidadFunciónNotas
Firma / verificación Ed25519sgcEd25519_Sign / sgcEd25519_VerifyRFC 8032. Clave pública de 32 bytes, firma de 64 bytes. La verificación rechaza puntos no canónicos y S >= L según la sección 5.1.7.
Intercambio de claves X25519sgcX25519, sgcX25519_PublicKey, sgcX25519_SharedSecretDiffie-Hellman RFC 7748 sobre Curve25519.
Firma / verificación Ed448sgcEd448_GenerateKeyPair, sgcEd448_Sign, sgcEd448_VerifyRFC 8032, la curva EdDSA de 448 bits (Goldilocks).
Intercambio de claves X448sgcX448, sgcX448_PublicKey, sgcX448_SharedSecretDiffie-Hellman RFC 7748 sobre Curve448.
secp256k1sgcECDSA_SignHash / VerifyHash con eccSecp256k1La curva de Bitcoin/Ethereum, SEC 2, en sgcCrypto_ECCurves.
Brainpool P256r1 / P384r1 / P512r1mismas funciones con eccBrainpoolP256r1 / P384r1 / P512r1RFC 5639, habitual en perfiles eIDAS de la UE y gubernamentales.
Nonce ECDSA deterministaintegrado en sgcECDSA_SignHashRFC 6979: el nonce se deriva de la clave privada y el mensaje, sin modo de fallo del RNG.
ECDH (secp256k1 / Brainpool)sgcECDH_SharedSecretSecreto compartido sobre las mismas cuatro curvas.
Compresión de puntossgcEC_Compress / sgcEC_DecompressAlmacena o transmite la forma comprimida más corta de la clave pública.
EC como JWS (ES256/384/512)sgcECDSA_SignJWS / sgcECDSA_VerifyJWSLa curva se selecciona automáticamente según la longitud en bits solicitada, firma/verifica directamente desde una clave PEM, hermana orientada a JOSE de ECCurves.
ECDH genéricosgcECDHSecreto compartido a partir de una clave privada en bruto y el punto público del interlocutor.
Verificación ECDSA en bruto / DERsgcECDSA_VerifyRaw / sgcECDSA_VerifyDERVerifica contra una tupla en bruto (Qx, Qy, r, s) o una firma codificada en DER.
Firma RSA (PKCS#1 v1.5)sgcRSA_SignPKCS1Desde una clave privada PEM, resumen SHA-1/256/384/512.
Verificación RSA (PKCS#1 v1.5 / PSS)sgcRSA_VerifyPKCS1, sgcRSA_VerifyPSS, y variantes _Raw sobre un módulo/exponenteRFC 8017. La verificación funciona desde una clave PEM o un módulo y exponente en bruto, sin necesidad de construir un objeto de clave.
Generación de claves RSAsgcRSA_GenerateKeyCualquier longitud en bits solicitada, comprobación de primalidad Miller-Rabin.
Cifrado RSA-OAEPsgcRSA_OAEP_Encrypt / sgcRSA_OAEP_DecryptRelleno de cifrado asimétrico óptimo RFC 8017.
Firma RSA-PSS / PKCS#1sgcRSA_PSS_Sign / Verify, sgcRSA_PKCS1_Sign / VerifyFirma directamente desde un TsgcRSAPrivateKey generado.
Exportación de claves RSAsgcRSA_ExportPrivateKeyPEM, sgcRSA_ExportPublicKeyPEM, llamadas DER equivalentesCodificaciones PKCS#1 y SubjectPublicKeyInfo.
ECIES seal / opensgcECIES_GenerateKeyPair, sgcECIES_Seal, sgcECIES_OpenCifrado híbrido hacia una clave pública X25519: ECDH efímero más un AEAD, una llamada en cada sentido.

Certificados X.509 y ASN.1

Lee un certificado emitido por otra entidad, o genera uno tú mismo, con un codificador y un decodificador DER debajo de ambos.

FuncionalidadFunciónNotas
Lector DERsgcASN1_Read, sgcASN1_Next, sgcASN1_ContentRecorre una estructura DER nodo a nodo.
Códec PEMsgcPEM_Decode / sgcPEM_EncodeRFC 7468, el envoltorio -----BEGIN ... -----END alrededor de DER.
Análisis de claves RSAsgcASN1_ParseRSAPrivateKey / PublicKeyEstructuras de clave PKCS#1 (RFC 8017).
Análisis de claves ECsgcASN1_ParseECPrivateKey / PublicKeyEstructuras de clave SEC 1.
Escritor DER, estructuralsgcDER_Sequence, sgcDER_Set, sgcDER_Tagged, sgcDER_ContextExplicit / ImplicitLos bloques básicos con los que se ensambla cada campo de un certificado.
Escritor DER, valoressgcDER_Integer, sgcDER_OctetString, sgcDER_BitString, sgcDER_Boolean, sgcDER_NullCodificadores de valores primitivos.
Escritor DER, cadenas e identificadoressgcDER_OID, sgcDER_UTF8String, sgcDER_PrintableString, sgcDER_IA5String, sgcDER_TimeIdentificadores de objeto, los tres tipos de cadena que usa X.509, y UTCTime/GeneralizedTime.
Análisis de certificadossgcX509_ParseEstructura completa del certificado: sujeto, emisor, validez, clave pública, extensiones.
Verificación de firma / cadenasgcX509_VerifySignedBy, sgcX509_VerifyChainVerifica un certificado contra un emisor, o recorre y verifica un array de certificados DER.
Análisis de CRL y revocaciónsgcX509_CRL_Parse, sgcX509_IsRevoked, sgcX509_CRL_VerifySignedByAnaliza una lista de revocación de certificados y comprueba un número de serie contra ella.
Formateo de nombressgcX509_SubjectRFC2253, sgcX509_IssuerRFC2253, sgcX509_SubjectOneLineCadenas de nombre distintivo RFC 2253, para registro y visualización.
Extensiones y SANsgcX509_GetExtension, sgcX509_GetCRLDistributionURIsLee OID de extensión arbitrarios y URI de puntos de distribución de CRL.
Generación de certificados autofirmadossgcX509_CreateSelfSignedTsgcX509Options completo: DN del sujeto, ventana de validez, número de serie, indicador de CA con restricción de longitud de ruta, uso de clave, uso extendido de clave, nombres alternativos del sujeto (incluyendo SAN IPv4).
Generación de CSR PKCS#10sgcX509_CreateCSRSolicitud de firma de certificado RFC 2986 a partir del mismo registro de opciones.
Salida PEMsgcX509_ToPEMEnvuelve el DER generado como un archivo PEM listo para guardar.

ML-KEM, ML-DSA y SLH-DSA

Los tres algoritmos que el NIST finalizó en agosto de 2024 como FIPS 203, 204 y 205, más un combinador híbrido para el periodo de migración.

FuncionalidadFunciónNotas
Generación de claves ML-KEMsgcMLKEM_GenerateKeyPair, sgcMLKEM_GenerateKeyPairFromSeedFIPS 203, anteriormente Kyber. Tres conjuntos de parámetros: mlkem512, mlkem768, mlkem1024.
Encapsulación ML-KEMsgcMLKEM_Encapsulate, sgcMLKEM_EncapsulateWithSeedProduce un secreto compartido nuevo de 32 bytes y el texto cifrado que lo transporta.
Decapsulación ML-KEMsgcMLKEM_DecapsulateNunca falla: un texto cifrado malformado produce un secreto pseudoaleatorio (rechazo implícito) en lugar de un error, de modo que ni la temporización ni el comportamiento ante errores revelan nada.
Tamaños ML-KEMsgcMLKEM_PublicKeySize, PrivateKeySize, CiphertextSize, SharedSecretSizeLongitudes en bytes por conjunto de parámetros, para dimensionar buffers.
Híbrido X25519 + ML-KEMsgcHybrid_GenerateKeyPair, sgcHybrid_Encapsulate, sgcHybrid_DecapsulateCombina un secreto compartido clásico y otro poscuántico mediante un KDF, de modo que el resultado nunca es más débil que X25519 por sí solo. La forma recomendada de desplegar ML-KEM hoy.
Generación de claves ML-DSAsgcMLDSA_GenerateKeyPair, sgcMLDSA_GenerateKeyPairFromSeedFIPS 204, anteriormente Dilithium. Tres conjuntos de parámetros: mldsa44, mldsa65, mldsa87.
Firma / verificación ML-DSAsgcMLDSA_Sign / sgcMLDSA_VerifyFirma determinista o aleatorizada según la interfaz FIPS 204, más una cadena de contexto.
Tamaños ML-DSAsgcMLDSA_PublicKeySize, PrivateKeySize, SignatureSizeLongitudes en bytes por conjunto de parámetros.
Generación de claves SLH-DSAsgcSLHDSA_GenerateKeyPair, sgcSLHDSA_GenerateKeyPairFromSeedFIPS 205, anteriormente SPHINCS+. Firmas basadas en hash sin estado: la seguridad descansa únicamente en la función de hash, no en una suposición reticular o de curvas.
Firma / verificación SLH-DSAsgcSLHDSA_Sign / sgcSLHDSA_VerifySeis conjuntos de parámetros SHAKE: slhShake128s, slhShake128f, slhShake192s, slhShake192f, slhShake256s, slhShake256f. Los conjuntos s favorecen firmas pequeñas, los conjuntos f favorecen una firma rápida.
Tamaños y nombres SLH-DSAsgcSLHDSA_PublicKeySize, PrivateKeySize, SignatureSize, sgcSLHDSA_ParamsNameLas firmas SLH-DSA son grandes (de 7,8 KB a 49 KB según el conjunto); dimensiona el buffer antes de firmar.

sgcCrypto no afirma implementar ed25519187 ni SPECK. ed25519187 no tiene una especificación publicada, y SPECK fue retirado de la estandarización ISO en 2018; ninguno de los dos está implementado aquí.

Contraseñas de un solo uso, códecs y ZIP cifrado

La capa de utilidades: códigos de un solo uso, las codificaciones en las que se apoyan el resto de familias, y el cifrado WinZip AES.

FuncionalidadFunciónNotas
HOTPsgcHOTPRFC 4226, contraseña de un solo uso basada en contador.
TOTPsgcTOTP, sgcTOTP_FromBase32RFC 6238, contraseña de un solo uso basada en tiempo; la variante Base32 acepta el secreto tal como lo muestra una app de autenticación.
Verificación TOTPsgcTOTP_VerifyComprueba un código enviado a lo largo de una ventana de pasos en tiempo constante, de modo que ni el resultado ni su posición se filtran por temporización. No impide por sí misma la repetición; quien la llama debe llevar el control de los códigos usados.
Comparación en tiempo constantesgcConstantTimeEqualsSe usa en toda la biblioteca para comparar etiquetas y MAC.
Puesta a cero segurasgcSecureZeroSobrescribe un buffer de bytes para que el material de clave no permanezca en memoria.
HexsgcHexEncode / sgcHexDecodeHex en minúsculas, decodificación sin distinguir mayúsculas/minúsculas.
Base64urlsgcBase64UrlEncode / sgcBase64UrlDecodeRFC 4648 sección 5, sin relleno, la codificación que usan JWT y JOSE.
Base32sgcBase32Encode / sgcBase32DecodeRFC 4648 sección 6, la codificación que usan los secretos TOTP y las apps de autenticación.
Derivación de claves WinZip AESsgcZipAE2_DeriveKeysClave basada en PBKDF2, clave de autenticación y verificador de contraseña a partir de una contraseña y una sal.
Cifrado / descifrado WinZip AESsgcZipAE2_Encrypt / sgcZipAE2_DecryptAE-1 y AE-2, AES-128/192/256, tamaño de sal por entrada mediante TsgcZipAESStrength.
Empaquetado de entradas WinZipsgcZipAE2_PackEntry / sgcZipAE2_UnpackEntryCombina la sal, el verificador, el texto cifrado y el código de autenticación en el formato en disco.
Campo extra WinZipsgcZipAE2_BuildExtraField / sgcZipAE2_ParseExtraFieldEl campo extra 0x9901 que marca una entrada ZIP como cifrada con AES.
Hashes heredados (solo interoperabilidad)sgcMD4, sgcMD5, sgcHMAC_MD5Se mantienen para leer formatos y protocolos antiguos; no los uses en un diseño nuevo.
Cifrado heredado (solo interoperabilidad)sgcDES_EncryptECB / sgcDES_DecryptECB, sgcDES_NTLM7to8DES-ECB y el paso de expansión de clave NTLM basado en DES, ambos retirados (FIPS 46-3), mantenidos por interoperabilidad heredada.
Bytes aleatorios segurossgcRandomBytes / sgcRandomFillWindows CryptoAPI bajo MSWINDOWS, /dev/urandom en el resto, una sola llamada en cualquier caso.

Dónde funciona sgcCrypto

Qué está soportado, dicho con precisión.

ÁreaDetalle
Sistema operativoNinguna guarda MSWINDOWS, ni ninguna otra guarda de plataforma, envuelve SGC_CRYPTO en sgcVer.inc. Las 43 unidades compilan para Win32, Win64, Linux64, macOS, iOS y Android.
Fuente de números aleatoriosLa única unidad que distingue la plataforma, sgcCrypto_Random, selecciona un CSPRNG según el destino: la Windows CryptoAPI bajo MSWINDOWS, /dev/urandom en destinos POSIX, detrás de la misma llamada sgcRandomBytes.
DelphiDelphi 7 hasta RAD Studio 13 Florence. No se asume en ningún sitio un tipo entero de 64 bits nativo: sgcCrypto_Int64 y el tipo TsgcBigInt en sgcCrypto_BigInteger emulan la aritmética que necesitan las unidades de hash, curvas y poscuánticas.
C++ BuilderC++ Builder a través de las cabeceras generadas, el mismo árbol de código fuente.
Huella en tiempo de diseñoNinguna. No existe sgcCrypto_Reg.pas, nada se registra con RegisterComponents, y ninguna unidad aparece en una página de la paleta de componentes.
DependenciasSin enlace a OpenSSL, sin DLL externa. Cada primitiva está implementada directamente en Object Pascal dentro de la unidad que referencias.
Código fuenteCódigo fuente completo en Object Pascal en todas las versiones de pago, y en los paquetes de edición que ya incluyen sgcCrypto.
RedistribuciónLos binarios que compilas son libres de regalías, sin coste de runtime por puesto ni por servidor.
La mejor opción: All-AccessTodos los productos de eSeGeCe, con Premium Support incluido, desde €1,059 al año.
Ver precios de All-Access

Desarrolla con sgcCrypto

Descarga la prueba gratuita y llama a una función, no hace falta ningún componente.