Matrice des fonctionnalités sgcCrypto — AES, SHA-3, Ed25519, X.509, ML-KEM | eSeGeCe

sgcCrypto Matrice des fonctionnalités

Tout ce que fait sgcCrypto, réparti sur les 43 unités présentes sur disque. Il n'y a ici ni composants ni propriétés à la conception : chaque ligne ci-dessous est une fonction ou une procédure que tu appelles directement. Le code source complet est livré avec chaque licence. Les ancres ci-dessous t'amènent aux six familles de fonctionnalités dans lesquelles se répartissent les unités.

sgcCrypto n'a aucun composant. Les 43 unités ci-dessous exportent de simples fonctions, il n'y a aucune classe Tsgc* et aucun sgcCrypto_Reg.pas. Ajoute une unité à ton uses et appelle la fonction.

Déjà inclus. sgcCrypto est livré gratuitement à l'intérieur de sgcWebSockets Standard, Professional et Enterprise, ainsi que dans All-Access. Il est aussi vendu en autonome (avec le runtime sgcWebSockets Core inclus) pour les clients qui ne possèdent que Core. Voir Tarifs.

Symétrique

AES, ChaCha20, Poly1305, 5 unités

Hachage et KDF

SHA-2/3, BLAKE2, Argon2, 11 unités

Signatures et échange de clés

Ed25519, X25519, RSA, 10 unités

PKI

X.509, ASN.1, CSR, 5 unités

Post-quantique

ML-KEM, ML-DSA, SLH-DSA, 6 unités

OTP et divers

HOTP/TOTP, encodage, ZIP AES, 6 unités

43 unités source

Chaque unité sgcCrypto_*.pas sous sgcWebSockets/delphi/Source/, regroupée par famille.

UnitéFamilleCe qu'elle fait
sgcCrypto_AESSymétriqueAES-CBC, AES-GCM (AEAD), AES-CTR.
sgcCrypto_ModesSymétriqueAES-ECB, OFB, CFB, CTS, et Key Wrap / Key Wrap with Padding.
sgcCrypto_CMACSymétriqueAuthentification de message AES-CMAC.
sgcCrypto_ChaChaSymétriqueChaCha20, XChaCha20, Salsa20, XSalsa20.
sgcCrypto_Poly1305SymétriqueMAC Poly1305, AEAD ChaCha20-Poly1305 et XChaCha20-Poly1305.
sgcCrypto_SHA2Hachage et KDFSHA-1, SHA-224, SHA-256, SHA-384, SHA-512.
sgcCrypto_KeccakHachage et KDFSHA-3, SHAKE128/256, cSHAKE, KMAC.
sgcCrypto_Blake2bHachage et KDFBLAKE2b, avec ou sans clé.
sgcCrypto_Blake2sHachage et KDFBLAKE2s, avec ou sans clé.
sgcCrypto_HMACHachage et KDFHMAC-SHA1/256/384/512.
sgcCrypto_KDFHachage et KDFPBKDF2, hachage sélectionnable.
sgcCrypto_HKDFHachage et KDFHKDF extract-and-expand.
sgcCrypto_ScryptHachage et KDFKDF memory-hard scrypt.
sgcCrypto_Argon2Hachage et KDFArgon2d, Argon2i, Argon2id.
sgcCrypto_SipHashHachage et KDFHachage à clé SipHash-2-4.
sgcCrypto_TLSHHachage et KDFHachage flou TLSH et diff de similarité.
sgcCrypto_Ed25519Signatures et échange de clésEd25519 signer / vérifier.
sgcCrypto_X25519Signatures et échange de clésDiffie-Hellman X25519.
sgcCrypto_Ed448Signatures et échange de clésEd448 signer / vérifier.
sgcCrypto_X448Signatures et échange de clésDiffie-Hellman X448.
sgcCrypto_GF448Signatures et échange de clésArithmétique interne du corps GF(2^448-2^224-1) pour Ed448/X448.
sgcCrypto_ECCurvesSignatures et échange de clésECDSA / ECDH sur secp256k1 et Brainpool P256r1/P384r1/P512r1.
sgcCrypto_ECSignatures et échange de clésSignature/vérification EC générique en JWS (ES256/384/512), ECDH.
sgcCrypto_RSASignatures et échange de clésSignature RSA PKCS#1 v1.5, vérification PKCS#1 v1.5 / PSS, depuis PEM ou brut.
sgcCrypto_RSA_KeysSignatures et échange de clésGénération de clés RSA, OAEP, PSS, signature/vérification PKCS#1, export DER/PEM.
sgcCrypto_ECIESSignatures et échange de clésChiffrement hybride ECIES seal / open sur X25519.
sgcCrypto_ASN1PKILecteur DER, codec PEM, analyse de clés PKCS#1/SEC 1.
sgcCrypto_DERPKIPrimitives d'écriture DER.
sgcCrypto_BigIntegerPKIArithmétique interne en précision arbitraire.
sgcCrypto_X509PKIX.509 analyse, vérification, chaîne, CRL, révocation.
sgcCrypto_X509_GenPKIGénération de certificat autosigné et de CSR PKCS#10.
sgcCrypto_MLKEMPost-quantiqueEncapsulation de clé ML-KEM (FIPS 203), 3 jeux de paramètres.
sgcCrypto_MLKEM_PolyPost-quantiqueArithmétique interne de l'anneau de polynômes derrière ML-KEM.
sgcCrypto_MLKEM_HybridPost-quantiqueEncapsulation de clé hybride X25519 + ML-KEM.
sgcCrypto_MLDSAPost-quantiqueSignatures numériques ML-DSA (FIPS 204), 3 jeux de paramètres.
sgcCrypto_MLDSA_PolyPost-quantiqueArithmétique interne de l'anneau de polynômes derrière ML-DSA.
sgcCrypto_SLHDSAPost-quantiqueSignatures SLH-DSA (FIPS 205), 6 jeux de paramètres SHAKE.
sgcCrypto_OTPOTP et diversHOTP, TOTP, fenêtre de vérification en temps constant.
sgcCrypto_EncodingOTP et diversComparaison en temps constant, effacement sécurisé, hex/Base64url/Base32.
sgcCrypto_Zip_AE2OTP et diversChiffrement WinZip AES pour entrées ZIP, AE-1 / AE-2.
sgcCrypto_LegacyOTP et diversMD4, MD5, HMAC-MD5, DES-ECB, pour interopérabilité uniquement.
sgcCrypto_RandomOTP et diversCSPRNG multiplateforme.
sgcCrypto_Int64OTP et diversÉmulation interne d'entier 64 bits pour Delphi 7.

Chiffrement et MAC

AES dans les modes que le code de production utilise réellement, plus la famille AEAD ChaCha20/Poly1305.

CapacitéFonctionNotes
AES-CBCsgcAES_CBC_Encrypt / sgcAES_CBC_DecryptPadding PKCS#7, IV de 16 octets. La longueur de clé sélectionne le chiffrement : 16/24/32 octets = AES-128/192/256.
AES-GCM (AEAD)sgcAES_GCM_Encrypt / sgcAES_GCM_DecryptIV de 12 octets recommandé. Tag de 16 octets, comparé en temps constant ; le déchiffrement renvoie False et un texte clair vide sur un tag invalide.
AES-CTRsgcAES_CTRAES-CM façon SRTP (RFC 3711). Appel symétrique, sans padding, compteur big-endian de 128 bits.
AES-ECBsgcAES_ECB_Encrypt / sgcAES_ECB_DecryptAucun IV, aucun chaînage. Inclus pour l'interopérabilité avec les formats qui l'exigent.
AES-OFB / AES-CFBsgcAES_OFB, sgcAES_CFB_Encrypt / sgcAES_CFB_DecryptModes à rétroaction façon chiffrement de flux.
AES-CTSsgcAES_CTS_Encrypt / sgcAES_CTS_DecryptCiphertext stealing : chiffre des données dont la taille n'est pas un multiple de la taille de bloc sans surcoût de padding.
AES Key WrapsgcAES_KeyWrap / sgcAES_KeyUnwrapRFC 3394, pour envelopper une clé sous une autre.
AES Key Wrap with PaddingsgcAES_KeyWrapPad / sgcAES_KeyUnwrapPadRFC 5649, pour du matériel de clé qui n'est pas un multiple de 8 octets.
AES-CMACsgcAES_CMAC / sgcAES_CMAC_VerifyCode d'authentification de message RFC 4493.
Primitives de bloc bas niveausgcAES_ExpandKey, sgcAES_EncryptBlock, sgcAES_DecryptBlockExposées pour les unités de mode et de MAC ci-dessus ; appelle-les directement uniquement pour construire un mode non déjà fourni.
ChaCha20sgcChaCha20RFC 8439, nonce 96 bits, compteur 32 bits.
XChaCha20sgcXChaCha20Nonce étendu 192 bits, sûr pour une génération de nonce aléatoire à grande échelle.
Salsa20 / XSalsa20sgcSalsa20 / sgcXSalsa20La famille de chiffrement de flux prédécesseur, les deux tailles de nonce.
Dérivation de sous-clésgcHChaCha20 / sgcHSalsa20Ce que les variantes X utilisent en interne pour dériver une sous-clé à partir des 16 premiers octets du nonce.
MAC Poly1305sgcPoly1305 / sgcPoly1305_VerifyAuthentificateur à usage unique, RFC 8439. Ne jamais réutiliser une clé Poly1305.
AEAD ChaCha20-Poly1305sgcChaCha20Poly1305_Encrypt / _DecryptLe chiffrement AEAD derrière la deuxième suite de chiffrement de TLS 1.3 et SSH.
AEAD XChaCha20-Poly1305sgcXChaCha20Poly1305_Encrypt / _DecryptMême AEAD, nonce 192 bits, la construction que libsodium nomme crypto_aead_xchacha20poly1305_ietf.

Condensés, MAC et hachage de mot de passe

Chaque famille de hachage courante, plus PBKDF2, HKDF, scrypt et les trois variantes d'Argon2.

CapacitéFonctionNotes
SHA-1 / SHA-2sgcSHA1, sgcSHA224, sgcSHA256, sgcSHA384, sgcSHA512FIPS 180-4. SHA-1 est conservé pour l'interopérabilité, non recommandé pour de nouvelles signatures.
SHA-3sgcSHA3_224 / _256 / _384 / _512FIPS 202, l'éponge Keccak, structurellement indépendante de SHA-2.
SHAKE128 / SHAKE256sgcSHAKE128 / sgcSHAKE256Fonctions à sortie extensible : demande n'importe quelle longueur de condensé.
cSHAKE128 / cSHAKE256sgcCSHAKE128 / sgcCSHAKE256SHAKE à séparation de domaine, NIST SP 800-185, la base de KMAC.
KMAC128 / KMAC256sgcKMAC128 / sgcKMAC256MAC basé sur Keccak avec une longueur de sortie variable.
BLAKE2bsgcBlake2b / sgcBlake2b_KeyedRFC 7693, condensés jusqu'à 64 octets, mise en clé intégrée (aucun HMAC séparé nécessaire).
BLAKE2ssgcBlake2s / sgcBlake2s_KeyedRFC 7693, condensés jusqu'à 32 octets, optimisé pour les plateformes 32 bits.
Condensés en fluxsgcBlake2b_Init/_Update/_Final, appels équivalents sur Keccak/Blake2sPour hacher des données trop volumineuses pour tenir en mémoire en une fois.
HMACsgcHMAC_SHA1 / _SHA256 / _SHA384 / _SHA512RFC 2104 hachage à clé sur la famille SHA-1/2.
PBKDF2sgcPBKDF2, sgcPBKDF2_SHA1 / _SHA256 / _SHA512RFC 8018. Seulement modérément memory-hard ; préfère Argon2id ou scrypt quand tu peux choisir.
HKDFsgcHKDF_Extract_SHA256 / _SHA384, sgcHKDF_Expand_SHA256 / _SHA384, sgcHKDF_SHA256 / _SHA384RFC 5869, dérivation de clé extract-then-expand, la manière standard de transformer un secret partagé en plusieurs clés.
scryptsgcScryptRFC 7914, memory-hard, résiste bien mieux aux attaques GPU/ASIC que PBKDF2.
Argon2sgcArgon2 (d / i / id), wrapper de confort sgcArgon2idRFC 9106, la gagnante de la Password Hashing Competition. Interface complète avec secret optionnel (pepper) et données associées.
SipHash-2-4sgcSipHash24 / sgcSipHash24_ValuePRF à clé rapide pour les clés de table de hachage, résiste au déni de service par inondation de hachage.
Hachage flou TLSHsgcTLSH, sgcTLSH_Init/_Update/_FinalHachage sensible à la localité pour la détection de quasi-doublons, pas un condensé cryptographique.
Score de similarité TLSHsgcTLSH_DiffDistance entre deux condensés TLSH ; plus bas signifie plus similaire.

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

Signe, vérifie et dérive des secrets partagés sur cinq familles de courbes distinctes plus RSA.

CapacitéFonctionNotes
Ed25519 signer / vérifiersgcEd25519_Sign / sgcEd25519_VerifyRFC 8032. Clé publique de 32 octets, signature de 64 octets. La vérification rejette les points non canoniques et S >= L selon la section 5.1.7.
Échange de clés X25519sgcX25519, sgcX25519_PublicKey, sgcX25519_SharedSecretDiffie-Hellman RFC 7748 sur Curve25519.
Ed448 signer / vérifiersgcEd448_GenerateKeyPair, sgcEd448_Sign, sgcEd448_VerifyRFC 8032, la courbe EdDSA 448 bits (Goldilocks).
Échange de clés X448sgcX448, sgcX448_PublicKey, sgcX448_SharedSecretDiffie-Hellman RFC 7748 sur Curve448.
secp256k1sgcECDSA_SignHash / VerifyHash avec eccSecp256k1La courbe Bitcoin/Ethereum, SEC 2, dans sgcCrypto_ECCurves.
Brainpool P256r1 / P384r1 / P512r1mêmes fonctions avec eccBrainpoolP256r1 / P384r1 / P512r1RFC 5639, courante dans eIDAS UE et les profils gouvernementaux.
Nonce ECDSA déterministeintégré dans sgcECDSA_SignHashRFC 6979 : le nonce est dérivé de la clé privée et du message, aucun mode d'échec du générateur aléatoire.
ECDH (secp256k1 / Brainpool)sgcECDH_SharedSecretSecret partagé sur les quatre mêmes courbes.
Compression de pointsgcEC_Compress / sgcEC_DecompressStocke ou transmet la forme compressée, plus courte, de la clé publique.
EC en JWS (ES256/384/512)sgcECDSA_SignJWS / sgcECDSA_VerifyJWSCourbe sélectionnée automatiquement selon la longueur de bit demandée, signature/vérification directement depuis une clé PEM, variante orientée JOSE de ECCurves.
ECDH génériquesgcECDHSecret partagé à partir d'une clé privée brute et du point public du pair.
Vérification ECDSA brute / DERsgcECDSA_VerifyRaw / sgcECDSA_VerifyDERVérifie contre un tuple brut (Qx, Qy, r, s) ou une signature encodée en DER.
Signature RSA (PKCS#1 v1.5)sgcRSA_SignPKCS1Depuis une clé privée PEM, condensé SHA-1/256/384/512.
Vérification RSA (PKCS#1 v1.5 / PSS)sgcRSA_VerifyPKCS1, sgcRSA_VerifyPSS, et variantes _Raw sur un module/exposantRFC 8017. La vérification fonctionne depuis une clé PEM ou un module et exposant bruts, sans construction d'objet clé.
Génération de clé RSAsgcRSA_GenerateKeyN'importe quelle longueur de bit demandée, test de primalité de Miller-Rabin.
Chiffrement RSA-OAEPsgcRSA_OAEP_Encrypt / sgcRSA_OAEP_DecryptPadding de chiffrement asymétrique optimal RFC 8017.
Signature RSA-PSS / PKCS#1sgcRSA_PSS_Sign / Verify, sgcRSA_PKCS1_Sign / VerifySigne directement depuis une TsgcRSAPrivateKey générée.
Export de clé RSAsgcRSA_ExportPrivateKeyPEM, sgcRSA_ExportPublicKeyPEM, appels DER équivalentsEncodages PKCS#1 et SubjectPublicKeyInfo.
ECIES seal / opensgcECIES_GenerateKeyPair, sgcECIES_Seal, sgcECIES_OpenChiffrement hybride vers une clé publique X25519 : ECDH éphémère plus un AEAD, un appel dans chaque sens.

Certificats X.509 et ASN.1

Lis un certificat émis par quelqu'un d'autre, ou génère le tien, avec un encodeur et un décodeur DER en dessous des deux.

CapacitéFonctionNotes
Lecteur DERsgcASN1_Read, sgcASN1_Next, sgcASN1_ContentParcourt une structure DER nœud par nœud.
Codec PEMsgcPEM_Decode / sgcPEM_EncodeRFC 7468, l'enveloppe -----BEGIN ... -----END autour du DER.
Analyse de clé RSAsgcASN1_ParseRSAPrivateKey / PublicKeyStructures de clé PKCS#1 (RFC 8017).
Analyse de clé ECsgcASN1_ParseECPrivateKey / PublicKeyStructures de clé SEC 1.
Écriture DER, structurellesgcDER_Sequence, sgcDER_Set, sgcDER_Tagged, sgcDER_ContextExplicit / ImplicitLes briques de base à partir desquelles chaque champ de certificat est assemblé.
Écriture DER, valeurssgcDER_Integer, sgcDER_OctetString, sgcDER_BitString, sgcDER_Boolean, sgcDER_NullEncodeurs de valeurs primitives.
Écriture DER, chaînes et identifiantssgcDER_OID, sgcDER_UTF8String, sgcDER_PrintableString, sgcDER_IA5String, sgcDER_TimeIdentifiants d'objet, les trois types de chaîne qu'utilise X.509, et UTCTime/GeneralizedTime.
Analyse de certificatsgcX509_ParseStructure complète du certificat : sujet, émetteur, validité, clé publique, extensions.
Vérification de signature / chaînesgcX509_VerifySignedBy, sgcX509_VerifyChainVérifie un certificat contre un émetteur, ou parcourt et vérifie un tableau de certificats DER.
Analyse de CRL et révocationsgcX509_CRL_Parse, sgcX509_IsRevoked, sgcX509_CRL_VerifySignedByAnalyse une liste de révocation de certificats et vérifie un numéro de série contre elle.
Formatage de nomsgcX509_SubjectRFC2253, sgcX509_IssuerRFC2253, sgcX509_SubjectOneLineChaînes de nom distinctif RFC 2253, pour la journalisation et l'affichage.
Extensions et SANsgcX509_GetExtension, sgcX509_GetCRLDistributionURIsLit des OID d'extension arbitraires et des URI de point de distribution CRL.
Génération de certificat autosignésgcX509_CreateSelfSignedTsgcX509Options complet : nom distinctif du sujet, fenêtre de validité, numéro de série, indicateur d'AC avec contrainte de longueur de chemin, usage de clé, usage étendu de clé, noms alternatifs du sujet (y compris les SAN IPv4).
Génération de CSR PKCS#10sgcX509_CreateCSRRequête de signature de certificat RFC 2986 depuis le même enregistrement d'options.
Sortie PEMsgcX509_ToPEMEnveloppe le DER généré comme un fichier PEM prêt à être sauvegardé.

ML-KEM, ML-DSA et SLH-DSA

Les trois algorithmes que le NIST a finalisés en août 2024 sous les noms FIPS 203, 204 et 205, plus un combinateur hybride pour la période de migration.

CapacitéFonctionNotes
Génération de clé ML-KEMsgcMLKEM_GenerateKeyPair, sgcMLKEM_GenerateKeyPairFromSeedFIPS 203, anciennement Kyber. Trois jeux de paramètres : mlkem512, mlkem768, mlkem1024.
Encapsulation ML-KEMsgcMLKEM_Encapsulate, sgcMLKEM_EncapsulateWithSeedProduit un nouveau secret partagé de 32 octets et le texte chiffré qui le transporte.
Décapsulation ML-KEMsgcMLKEM_DecapsulateN'échoue jamais : un texte chiffré malformé produit un secret pseudo-aléatoire (rejet implicite) au lieu d'une erreur, si bien que le timing et le comportement d'erreur ne révèlent rien.
Tailles ML-KEMsgcMLKEM_PublicKeySize, PrivateKeySize, CiphertextSize, SharedSecretSizeLongueurs en octets par jeu de paramètres, pour dimensionner les buffers.
Hybride X25519 + ML-KEMsgcHybrid_GenerateKeyPair, sgcHybrid_Encapsulate, sgcHybrid_DecapsulateCombine un secret partagé classique et un secret partagé post-quantique via un KDF, si bien que le résultat n'est jamais plus faible que X25519 seul. La manière recommandée de déployer ML-KEM aujourd'hui.
Génération de clé ML-DSAsgcMLDSA_GenerateKeyPair, sgcMLDSA_GenerateKeyPairFromSeedFIPS 204, anciennement Dilithium. Trois jeux de paramètres : mldsa44, mldsa65, mldsa87.
Signature / vérification ML-DSAsgcMLDSA_Sign / sgcMLDSA_VerifySignature déterministe ou aléatoire selon l'interface FIPS 204, plus une chaîne de contexte.
Tailles ML-DSAsgcMLDSA_PublicKeySize, PrivateKeySize, SignatureSizeLongueurs en octets par jeu de paramètres.
Génération de clé SLH-DSAsgcSLHDSA_GenerateKeyPair, sgcSLHDSA_GenerateKeyPairFromSeedFIPS 205, anciennement SPHINCS+. Signatures sans état basées sur le hachage : la sécurité repose uniquement sur la fonction de hachage, pas sur une hypothèse de réseau ou de courbe.
Signature / vérification SLH-DSAsgcSLHDSA_Sign / sgcSLHDSA_VerifySix jeux de paramètres SHAKE : slhShake128s, slhShake128f, slhShake192s, slhShake192f, slhShake256s, slhShake256f. Les jeux s favorisent des signatures petites, les jeux f favorisent une signature rapide.
Tailles et nommage SLH-DSAsgcSLHDSA_PublicKeySize, PrivateKeySize, SignatureSize, sgcSLHDSA_ParamsNameLes signatures SLH-DSA sont volumineuses (7,8 Ko à 49 Ko selon le jeu) ; dimensionne le buffer avant de signer.

sgcCrypto ne revendique ni ed25519187 ni SPECK. ed25519187 n'a aucune spécification publiée, et SPECK a été retiré de la normalisation ISO en 2018 ; aucun des deux n'est implémenté ici.

Mots de passe à usage unique, codecs et ZIP chiffré

La couche utilitaire : codes à usage unique, les encodages sur lesquels s'appuie chaque autre famille, et le chiffrement WinZip AES.

CapacitéFonctionNotes
HOTPsgcHOTPRFC 4226, mot de passe à usage unique basé sur un compteur.
TOTPsgcTOTP, sgcTOTP_FromBase32RFC 6238, mot de passe à usage unique basé sur le temps ; la variante Base32 accepte le secret exactement tel qu'une application d'authentification l'affiche.
Vérification TOTPsgcTOTP_VerifyVérifie un code soumis sur une fenêtre d'intervalles en temps constant, si bien que ni le résultat ni sa position ne fuient par le timing. Ne bloque pas elle-même le rejeu ; l'appelant suit les codes déjà utilisés.
Comparaison en temps constantsgcConstantTimeEqualsUtilisée dans toute la bibliothèque pour les comparaisons de tag et de MAC.
Effacement sécurisésgcSecureZeroÉcrase un buffer d'octets pour que le matériel de clé ne persiste pas en mémoire.
HexsgcHexEncode / sgcHexDecodeHex en minuscules, décodage insensible à la casse.
Base64urlsgcBase64UrlEncode / sgcBase64UrlDecodeRFC 4648 section 5, non paddé, l'encodage qu'utilisent JWT et JOSE.
Base32sgcBase32Encode / sgcBase32DecodeRFC 4648 section 6, l'encodage qu'utilisent les secrets TOTP et les applications d'authentification.
Dérivation de clé WinZip AESsgcZipAE2_DeriveKeysClé, clé d'authentification et vérificateur de mot de passe basés sur PBKDF2, à partir d'un mot de passe et d'un sel.
Chiffrement / déchiffrement WinZip AESsgcZipAE2_Encrypt / sgcZipAE2_DecryptAE-1 et AE-2, AES-128/192/256, dimensionnement du sel par entrée via TsgcZipAESStrength.
Empaquetage d'entrée WinZipsgcZipAE2_PackEntry / sgcZipAE2_UnpackEntryCombine sel, vérificateur, texte chiffré et code d'authentification dans la disposition sur disque.
Champ extra WinZipsgcZipAE2_BuildExtraField / sgcZipAE2_ParseExtraFieldLe champ extra 0x9901 qui marque une entrée ZIP comme chiffrée AES.
Hachages hérités (interop uniquement)sgcMD4, sgcMD5, sgcHMAC_MD5Conservés pour lire d'anciens formats et protocoles ; à ne pas utiliser dans une nouvelle conception.
Chiffrement hérité (interop uniquement)sgcDES_EncryptECB / sgcDES_DecryptECB, sgcDES_NTLM7to8DES-ECB et l'étape d'expansion de clé NTLM basée sur DES, tous deux retirés (FIPS 46-3), conservés pour l'interopérabilité héritée.
Octets aléatoires sécuriséssgcRandomBytes / sgcRandomFillWindows CryptoAPI sous MSWINDOWS, /dev/urandom ailleurs, un seul appel dans les deux cas.

Où tourne sgcCrypto

Ce qui est pris en charge, formulé avec précision.

DomaineDétail
Système d'exploitationAucune garde MSWINDOWS, ni aucune autre garde de plateforme, n'entoure SGC_CRYPTO dans sgcVer.inc. Les 43 unités compilent pour Win32, Win64, Linux64, macOS, iOS et Android.
Source aléatoireLa seule unité sensible à la plateforme, sgcCrypto_Random, sélectionne un CSPRNG par cible : la CryptoAPI Windows sous MSWINDOWS, /dev/urandom sur les cibles POSIX, derrière le même appel sgcRandomBytes.
DelphiDelphi 7 à RAD Studio 13 Florence. Aucun type entier 64 bits natif n'est supposé nulle part : sgcCrypto_Int64 et le type TsgcBigInt dans sgcCrypto_BigInteger émulent l'arithmétique dont ont besoin les hachages, les courbes et les unités post-quantiques.
C++ BuilderC++ Builder via les en-têtes générés, la même arborescence source.
Empreinte à la conceptionAucune. Il n'y a pas de sgcCrypto_Reg.pas, rien n'est enregistré via RegisterComponents, et aucune unité n'apparaît sur une page de la palette de composants.
DépendancesAucun binding OpenSSL, aucune DLL externe. Chaque primitive est implémentée directement en Object Pascal dans l'unité que tu référence.
Code sourceCode source Object Pascal complet dans chaque niveau payant, et dans les packages d'édition qui incluent déjà sgcCrypto.
RedistributionLes binaires que tu construis sont libres de royalties, sans frais d'exécution par poste ni par serveur.
Meilleur rapport qualité-prix : All-AccessTous les produits eSeGeCe, Support Premium inclus, à partir de €1,059/an.
Voir les tarifs All-Access

Développe avec sgcCrypto

Télécharge l'essai gratuit et appelle une fonction, aucun composant nécessaire.