sgcCrypto-functiematrix — AES, SHA-3, Ed25519, X.509, ML-KEM | eSeGeCe

sgcCrypto functiematrix

Alles wat sgcCrypto doet, uitgezet over de 43 units op schijf. Er zijn hier geen componenten en geen design-time-eigenschappen: elke rij hieronder is een functie of procedure die je rechtstreeks aanroept. Volledige broncode zit bij elke licentie. De ankers hieronder brengen je naar de zes functiefamilies waarin de units vallen.

sgcCrypto heeft geen componenten. De 43 units hieronder exporteren gewone functies, er is geen Tsgc*-klasse en geen sgcCrypto_Reg.pas. Voeg een unit toe aan je uses-clausule en roep de functie aan.

Al inbegrepen. sgcCrypto wordt gratis meegeleverd met sgcWebSockets Standard, Professional en Enterprise, en met All-Access. Het wordt ook standalone verkocht (met de sgcWebSockets Core runtime inbegrepen) voor klanten die alleen Core bezitten. Zie Prijzen.

Symmetrisch

AES, ChaCha20, Poly1305, 5 units

Hashing & KDF

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

Handtekeningen & sleuteluitwisseling

Ed25519, X25519, RSA, 10 units

PKI

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

Post-quantum

ML-KEM, ML-DSA, SLH-DSA, 6 units

OTP & overig

HOTP/TOTP, encoding, ZIP AES, 6 units

43 broncode-units

Elke unit sgcCrypto_*.pas onder sgcWebSockets/delphi/Source/, gegroepeerd per familie.

UnitFamilieWat het doet
sgcCrypto_AESSymmetrischAES-CBC, AES-GCM (AEAD), AES-CTR.
sgcCrypto_ModesSymmetrischAES-ECB, OFB, CFB, CTS, en Key Wrap / Key Wrap with Padding.
sgcCrypto_CMACSymmetrischAES-CMAC message authentication.
sgcCrypto_ChaChaSymmetrischChaCha20, XChaCha20, Salsa20, XSalsa20.
sgcCrypto_Poly1305SymmetrischPoly1305-MAC, ChaCha20-Poly1305 en XChaCha20-Poly1305 AEAD.
sgcCrypto_SHA2Hashing & KDFSHA-1, SHA-224, SHA-256, SHA-384, SHA-512.
sgcCrypto_KeccakHashing & KDFSHA-3, SHAKE128/256, cSHAKE, KMAC.
sgcCrypto_Blake2bHashing & KDFBLAKE2b, keyed of unkeyed.
sgcCrypto_Blake2sHashing & KDFBLAKE2s, keyed of unkeyed.
sgcCrypto_HMACHashing & KDFHMAC-SHA1/256/384/512.
sgcCrypto_KDFHashing & KDFPBKDF2, kiesbare hash.
sgcCrypto_HKDFHashing & KDFHKDF extract-and-expand.
sgcCrypto_ScryptHashing & KDFscrypt memory-hard KDF.
sgcCrypto_Argon2Hashing & KDFArgon2d, Argon2i, Argon2id.
sgcCrypto_SipHashHashing & KDFSipHash-2-4 keyed hash.
sgcCrypto_TLSHHashing & KDFTLSH fuzzy hash en gelijkenis-diff.
sgcCrypto_Ed25519Handtekeningen & sleuteluitwisselingEd25519 ondertekenen / verifiëren.
sgcCrypto_X25519Handtekeningen & sleuteluitwisselingX25519 Diffie-Hellman.
sgcCrypto_Ed448Handtekeningen & sleuteluitwisselingEd448 ondertekenen / verifiëren.
sgcCrypto_X448Handtekeningen & sleuteluitwisselingX448 Diffie-Hellman.
sgcCrypto_GF448Handtekeningen & sleuteluitwisselingInterne GF(2^448-2^224-1)-veldrekenkunde voor Ed448/X448.
sgcCrypto_ECCurvesHandtekeningen & sleuteluitwisselingECDSA / ECDH over secp256k1 en Brainpool P256r1/P384r1/P512r1.
sgcCrypto_ECHandtekeningen & sleuteluitwisselingAlgemene EC-ondertekening/verificatie als JWS (ES256/384/512), ECDH.
sgcCrypto_RSAHandtekeningen & sleuteluitwisselingRSA PKCS#1 v1.5 ondertekenen, PKCS#1 v1.5 / PSS verifiëren, vanuit PEM of raw.
sgcCrypto_RSA_KeysHandtekeningen & sleuteluitwisselingRSA-sleutelgeneratie, OAEP, PSS, PKCS#1 ondertekenen/verifiëren, DER/PEM-export.
sgcCrypto_ECIESHandtekeningen & sleuteluitwisselingECIES seal / open hybride versleuteling over X25519.
sgcCrypto_ASN1PKIDER-lezer, PEM-codec, PKCS#1/SEC 1-sleutelparsing.
sgcCrypto_DERPKIDER-schrijverprimitieven.
sgcCrypto_BigIntegerPKIInterne rekenkunde met willekeurige precisie.
sgcCrypto_X509PKIX.509 parsen, verifiëren, keten, CRL, intrekking.
sgcCrypto_X509_GenPKIGeneratie van self-signed certificaat en PKCS#10-CSR.
sgcCrypto_MLKEMPost-quantumML-KEM-sleutelencapsulatie (FIPS 203), 3 parametersets.
sgcCrypto_MLKEM_PolyPost-quantumInterne polynoom-ringrekenkunde achter ML-KEM.
sgcCrypto_MLKEM_HybridPost-quantumHybride X25519 + ML-KEM-sleutelencapsulatie.
sgcCrypto_MLDSAPost-quantumML-DSA digitale handtekeningen (FIPS 204), 3 parametersets.
sgcCrypto_MLDSA_PolyPost-quantumInterne polynoom-ringrekenkunde achter ML-DSA.
sgcCrypto_SLHDSAPost-quantumSLH-DSA-handtekeningen (FIPS 205), 6 SHAKE-parametersets.
sgcCrypto_OTPOTP & overigHOTP, TOTP, verificatievenster in constante tijd.
sgcCrypto_EncodingOTP & overigVergelijking in constante tijd, veilig wissen, hex/Base64url/Base32.
sgcCrypto_Zip_AE2OTP & overigWinZip AES-versleuteling voor ZIP-entries, AE-1 / AE-2.
sgcCrypto_LegacyOTP & overigMD4, MD5, HMAC-MD5, DES-ECB, alleen voor interoperabiliteit.
sgcCrypto_RandomOTP & overigPlatformonafhankelijke CSPRNG.
sgcCrypto_Int64OTP & overigInterne 64-bit-integer-emulatie voor Delphi 7.

Versleuteling & MAC's

AES in de modi die productiecode daadwerkelijk gebruikt, plus de ChaCha20/Poly1305-AEAD-familie.

MogelijkheidFunctieOpmerkingen
AES-CBCsgcAES_CBC_Encrypt / sgcAES_CBC_DecryptPKCS#7-padding, 16-byte IV. Sleutellengte bepaalt de cipher: 16/24/32 bytes = AES-128/192/256.
AES-GCM (AEAD)sgcAES_GCM_Encrypt / sgcAES_GCM_Decrypt12-byte IV aanbevolen. 16-byte tag, vergeleken in constante tijd; decrypt geeft False en lege plaintext terug bij een mislukte tag.
AES-CTRsgcAES_CTRSRTP-stijl AES-CM (RFC 3711). Symmetrische aanroep, geen padding, 128-bit big-endian-teller.
AES-ECBsgcAES_ECB_Encrypt / sgcAES_ECB_DecryptGeen IV, geen chaining. Inbegrepen voor interoperabiliteit met formaten die het voorschrijven.
AES-OFB / AES-CFBsgcAES_OFB, sgcAES_CFB_Encrypt / sgcAES_CFB_DecryptFeedbackmodi in stream-cipher-stijl.
AES-CTSsgcAES_CTS_Encrypt / sgcAES_CTS_DecryptCiphertext stealing: versleutelt data die geen veelvoud van de blokgrootte is, zonder padding-overhead.
AES Key WrapsgcAES_KeyWrap / sgcAES_KeyUnwrapRFC 3394, voor het wrappen van één sleutel onder een andere.
AES Key Wrap with PaddingsgcAES_KeyWrapPad / sgcAES_KeyUnwrapPadRFC 5649, voor sleutelmateriaal dat geen veelvoud van 8 bytes is.
AES-CMACsgcAES_CMAC / sgcAES_CMAC_VerifyRFC 4493 message authentication code.
Low-level blokprimitievensgcAES_ExpandKey, sgcAES_EncryptBlock, sgcAES_DecryptBlockBlootgesteld voor de mode- en MAC-units hierboven; roep deze rechtstreeks alleen aan om een nog niet geleverde modus te bouwen.
ChaCha20sgcChaCha20RFC 8439, 96-bit nonce, 32-bit teller.
XChaCha20sgcXChaCha20192-bit uitgebreide nonce, veilig voor willekeurige nonce-generatie op schaal.
Salsa20 / XSalsa20sgcSalsa20 / sgcXSalsa20De voorgaande stream-cipher-familie, beide nonce-groottes.
SubsleutelafleidingsgcHChaCha20 / sgcHSalsa20Wat de X-varianten intern gebruiken om een subsleutel af te leiden uit de eerste 16 nonce-bytes.
Poly1305-MACsgcPoly1305 / sgcPoly1305_VerifyEenmalige authenticator, RFC 8439. Hergebruik nooit een Poly1305-sleutel.
ChaCha20-Poly1305 AEADsgcChaCha20Poly1305_Encrypt / _DecryptDe AEAD-cipher achter de tweede ciphersuite van TLS 1.3 en SSH.
XChaCha20-Poly1305 AEADsgcXChaCha20Poly1305_Encrypt / _DecryptDezelfde AEAD, 192-bit nonce, de constructie die libsodium crypto_aead_xchacha20poly1305_ietf noemt.

Digests, MAC's & wachtwoordhashing

Elke gangbare hashfamilie, plus PBKDF2, HKDF, scrypt en alle drie Argon2-varianten.

MogelijkheidFunctieOpmerkingen
SHA-1 / SHA-2sgcSHA1, sgcSHA224, sgcSHA256, sgcSHA384, sgcSHA512FIPS 180-4. SHA-1 wordt aangehouden voor interoperabiliteit, niet aanbevolen voor nieuwe handtekeningen.
SHA-3sgcSHA3_224 / _256 / _384 / _512FIPS 202, de Keccak-sponge, structureel onafhankelijk van SHA-2.
SHAKE128 / SHAKE256sgcSHAKE128 / sgcSHAKE256Extendable-output-functies: vraag elke digestlengte op.
cSHAKE128 / cSHAKE256sgcCSHAKE128 / sgcCSHAKE256Domeingescheiden SHAKE, NIST SP 800-185, de basis voor KMAC.
KMAC128 / KMAC256sgcKMAC128 / sgcKMAC256Op Keccak gebaseerde MAC met variabele uitvoerlengte.
BLAKE2bsgcBlake2b / sgcBlake2b_KeyedRFC 7693, digests tot 64 bytes, ingebouwde keying (geen aparte HMAC nodig).
BLAKE2ssgcBlake2s / sgcBlake2s_KeyedRFC 7693, digests tot 32 bytes, afgestemd op 32-bit platforms.
Streaming digestssgcBlake2b_Init/_Update/_Final, overeenkomende aanroepen op Keccak/Blake2sVoor het hashen van data die te groot is om in één keer in het geheugen te houden.
HMACsgcHMAC_SHA1 / _SHA256 / _SHA384 / _SHA512RFC 2104 keyed hashing over de SHA-1/2-familie.
PBKDF2sgcPBKDF2, sgcPBKDF2_SHA1 / _SHA256 / _SHA512RFC 8018. Slechts licht memory-hard; geef de voorkeur aan Argon2id of scrypt als je kunt kiezen.
HKDFsgcHKDF_Extract_SHA256 / _SHA384, sgcHKDF_Expand_SHA256 / _SHA384, sgcHKDF_SHA256 / _SHA384RFC 5869, extract-then-expand-sleutelafleiding, de standaardmanier om een gedeeld geheim in meerdere sleutels om te zetten.
scryptsgcScryptRFC 7914, memory-hard, weerstaat GPU/ASIC-aanvallen veel beter dan PBKDF2.
Argon2sgcArgon2 (d / i / id), sgcArgon2id gemaksfunctieRFC 9106, de winnaar van de Password Hashing Competition. Volledige interface met optioneel geheim (pepper) en geassocieerde data.
SipHash-2-4sgcSipHash24 / sgcSipHash24_ValueSnelle keyed PRF voor hashtabelsleutels, weerstaat hash-flooding denial of service.
TLSH fuzzy hashsgcTLSH, sgcTLSH_Init/_Update/_FinalLocality-sensitive hash voor het detecteren van bijna-duplicaten, geen cryptografische digest.
TLSH-gelijkenisscoresgcTLSH_DiffAfstand tussen twee TLSH-digests; lager betekent gelijkender.

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

Onderteken, verifieer en leid gedeelde geheimen af over vijf verschillende curvefamilies plus RSA.

MogelijkheidFunctieOpmerkingen
Ed25519 ondertekenen / verifiërensgcEd25519_Sign / sgcEd25519_VerifyRFC 8032. 32-byte publieke sleutel, 64-byte handtekening. Verify wijst niet-canonieke punten en S >= L af volgens sectie 5.1.7.
X25519-sleuteluitwisselingsgcX25519, sgcX25519_PublicKey, sgcX25519_SharedSecretRFC 7748 Diffie-Hellman over Curve25519.
Ed448 ondertekenen / verifiërensgcEd448_GenerateKeyPair, sgcEd448_Sign, sgcEd448_VerifyRFC 8032, de 448-bit (Goldilocks) EdDSA-curve.
X448-sleuteluitwisselingsgcX448, sgcX448_PublicKey, sgcX448_SharedSecretRFC 7748 Diffie-Hellman over Curve448.
secp256k1sgcECDSA_SignHash / VerifyHash met eccSecp256k1De Bitcoin/Ethereum-curve, SEC 2, in sgcCrypto_ECCurves.
Brainpool P256r1 / P384r1 / P512r1dezelfde functies met eccBrainpoolP256r1 / P384r1 / P512r1RFC 5639, gangbaar in EU-eIDAS- en overheidsprofielen.
Deterministische ECDSA-nonceingebouwd in sgcECDSA_SignHashRFC 6979: de nonce wordt afgeleid van de private sleutel en het bericht, geen RNG-faalmodus.
ECDH (secp256k1 / Brainpool)sgcECDH_SharedSecretGedeeld geheim over dezelfde vier curves.
PuntcompressiesgcEC_Compress / sgcEC_DecompressSla de kortere gecomprimeerde publieke-sleutelvorm op of verstuur die.
EC als JWS (ES256/384/512)sgcECDSA_SignJWS / sgcECDSA_VerifyJWSCurve automatisch gekozen op basis van de gevraagde bitlengte, ondertekenen/verifiëren rechtstreeks vanuit een PEM-sleutel, JOSE-georiënteerde tegenhanger van ECCurves.
Generieke ECDHsgcECDHGedeeld geheim uit een raw private sleutel en een remote publiek punt.
Raw / DER ECDSA-verificatiesgcECDSA_VerifyRaw / sgcECDSA_VerifyDERVerifieer tegen een raw (Qx, Qy, r, s)-tuple of een DER-gecodeerde handtekening.
RSA-ondertekening (PKCS#1 v1.5)sgcRSA_SignPKCS1Vanuit een PEM private sleutel, SHA-1/256/384/512-digest.
RSA-verificatie (PKCS#1 v1.5 / PSS)sgcRSA_VerifyPKCS1, sgcRSA_VerifyPSS, en _Raw-varianten over een modulus/exponentRFC 8017. Verify werkt vanuit een PEM-sleutel of raw modulus en exponent, geen key-object-constructie nodig.
RSA-sleutelgeneratiesgcRSA_GenerateKeyElke gevraagde bitlengte, Miller-Rabin-priemtest.
RSA-OAEP-versleutelingsgcRSA_OAEP_Encrypt / sgcRSA_OAEP_DecryptRFC 8017 optimal asymmetric encryption padding.
RSA-PSS / PKCS#1-ondertekeningsgcRSA_PSS_Sign / Verify, sgcRSA_PKCS1_Sign / VerifyOnderteken rechtstreeks vanuit een gegenereerde TsgcRSAPrivateKey.
RSA-sleutelexportsgcRSA_ExportPrivateKeyPEM, sgcRSA_ExportPublicKeyPEM, overeenkomende DER-aanroepenPKCS#1- en SubjectPublicKeyInfo-encoderingen.
ECIES seal / opensgcECIES_GenerateKeyPair, sgcECIES_Seal, sgcECIES_OpenHybride versleuteling naar een X25519-publieke sleutel: ephemere ECDH plus een AEAD, één aanroep per richting.

X.509-certificaten & ASN.1

Lees een certificaat dat iemand anders uitgaf, of genereer er zelf een, met een DER-encoder en -decoder eronder.

MogelijkheidFunctieOpmerkingen
DER-lezersgcASN1_Read, sgcASN1_Next, sgcASN1_ContentDoorloopt een DER-structuur knoop voor knoop.
PEM-codecsgcPEM_Decode / sgcPEM_EncodeRFC 7468, de wrapper -----BEGIN ... -----END rond DER.
RSA-sleutelparsingsgcASN1_ParseRSAPrivateKey / PublicKeyPKCS#1-structuren (RFC 8017).
EC-sleutelparsingsgcASN1_ParseECPrivateKey / PublicKeySEC 1-sleutelstructuren.
DER-schrijver, structureelsgcDER_Sequence, sgcDER_Set, sgcDER_Tagged, sgcDER_ContextExplicit / ImplicitDe bouwstenen waaruit elk certificaatveld wordt samengesteld.
DER-schrijver, waardensgcDER_Integer, sgcDER_OctetString, sgcDER_BitString, sgcDER_Boolean, sgcDER_NullPrimitieve waarde-encoders.
DER-schrijver, strings & identifierssgcDER_OID, sgcDER_UTF8String, sgcDER_PrintableString, sgcDER_IA5String, sgcDER_TimeObject-identifiers, de drie stringtypes die X.509 gebruikt, en UTCTime/GeneralizedTime.
CertificaatparsingsgcX509_ParseVolledige certificaatstructuur: subject, issuer, geldigheid, publieke sleutel, extensies.
Handtekening-/ketenverificatiesgcX509_VerifySignedBy, sgcX509_VerifyChainVerifieer één certificaat tegen een issuer, of doorloop en verifieer een array van DER-certificaten.
CRL-parsing & intrekkingsgcX509_CRL_Parse, sgcX509_IsRevoked, sgcX509_CRL_VerifySignedByParseer een Certificate Revocation List en controleer een serienummer erin.
NaamformatteringsgcX509_SubjectRFC2253, sgcX509_IssuerRFC2253, sgcX509_SubjectOneLineRFC 2253 distinguished-name-strings, voor logging en weergave.
Extensies & SAN'ssgcX509_GetExtension, sgcX509_GetCRLDistributionURIsLees willekeurige extensie-OID's en CRL-distributiepunt-URI's.
Generatie van self-signed certificaatsgcX509_CreateSelfSignedVolledige TsgcX509Options: subject-DN, geldigheidsvenster, serienummer, CA-vlag met path-length-beperking, key usage, extended key usage, subject-alternative-names (inclusief IPv4-SAN's).
Generatie van PKCS#10-CSRsgcX509_CreateCSRRFC 2986 certificate signing request vanuit hetzelfde optiesrecord.
PEM-uitvoersgcX509_ToPEMWrapt de gegenereerde DER als een direct opslaanbaar PEM-bestand.

ML-KEM, ML-DSA & SLH-DSA

De drie algoritmen die NIST in augustus 2024 finaliseerde als FIPS 203, 204 en 205, plus een hybride combiner voor de migratieperiode.

MogelijkheidFunctieOpmerkingen
ML-KEM-sleutelgeneratiesgcMLKEM_GenerateKeyPair, sgcMLKEM_GenerateKeyPairFromSeedFIPS 203, voorheen Kyber. Drie parametersets: mlkem512, mlkem768, mlkem1024.
ML-KEM-encapsulatiesgcMLKEM_Encapsulate, sgcMLKEM_EncapsulateWithSeedProduceert een vers gedeeld geheim van 32 bytes en de ciphertext die het draagt.
ML-KEM-decapsulatiesgcMLKEM_DecapsulateFaalt nooit: een misvormde ciphertext levert een pseudorandom geheim op (impliciete afwijzing) in plaats van een fout, zodat timing en foutgedrag niets onthullen.
ML-KEM-groottessgcMLKEM_PublicKeySize, PrivateKeySize, CiphertextSize, SharedSecretSizeBytelengtes per parameterset, voor buffergrootte.
Hybride X25519 + ML-KEMsgcHybrid_GenerateKeyPair, sgcHybrid_Encapsulate, sgcHybrid_DecapsulateCombineert een klassiek en een post-quantum gedeeld geheim via een KDF, zodat het resultaat nooit zwakker is dan X25519 alleen. De aanbevolen manier om ML-KEM vandaag te implementeren.
ML-DSA-sleutelgeneratiesgcMLDSA_GenerateKeyPair, sgcMLDSA_GenerateKeyPairFromSeedFIPS 204, voorheen Dilithium. Drie parametersets: mldsa44, mldsa65, mldsa87.
ML-DSA ondertekenen / verifiërensgcMLDSA_Sign / sgcMLDSA_VerifyDeterministisch of gerandomiseerd ondertekenen volgens de FIPS 204-interface, plus een contextstring.
ML-DSA-groottessgcMLDSA_PublicKeySize, PrivateKeySize, SignatureSizeBytelengtes per parameterset.
SLH-DSA-sleutelgeneratiesgcSLHDSA_GenerateKeyPair, sgcSLHDSA_GenerateKeyPairFromSeedFIPS 205, voorheen SPHINCS+. Stateless hash-based handtekeningen: veiligheid rust alleen op de hashfunctie, niet op een lattice- of curve-aanname.
SLH-DSA ondertekenen / verifiërensgcSLHDSA_Sign / sgcSLHDSA_VerifyZes SHAKE-parametersets: slhShake128s, slhShake128f, slhShake192s, slhShake192f, slhShake256s, slhShake256f. De s-sets bevoordelen kleine handtekeningen, de f-sets bevoordelen snel ondertekenen.
SLH-DSA-groottes & naamgevingsgcSLHDSA_PublicKeySize, PrivateKeySize, SignatureSize, sgcSLHDSA_ParamsNameSLH-DSA-handtekeningen zijn groot (7,8 KB tot 49 KB afhankelijk van de set); bepaal de buffergrootte voordat je ondertekent.

sgcCrypto claimt geen ed25519187 of SPECK. ed25519187 heeft geen gepubliceerde specificatie, en SPECK werd in 2018 teruggetrokken uit de ISO-standaardisatie; geen van beide is hier geïmplementeerd.

Eenmalige wachtwoorden, codecs & versleutelde ZIP

De hulplaag: eenmalige codes, de encoderingen waarop de rest van de bibliotheek leunt, en WinZip AES-versleuteling.

MogelijkheidFunctieOpmerkingen
HOTPsgcHOTPRFC 4226, op teller gebaseerd eenmalig wachtwoord.
TOTPsgcTOTP, sgcTOTP_FromBase32RFC 6238, op tijd gebaseerd eenmalig wachtwoord; de Base32-variant accepteert het geheim precies zoals een authenticator-app het toont.
TOTP-verificatiesgcTOTP_VerifyControleert een ingediende code over een venster van stappen in constante tijd, zodat noch het resultaat noch de positie ervan lekt via timing. Stopt zelf geen replay; de aanroeper houdt gebruikte codes bij.
Vergelijking in constante tijdsgcConstantTimeEqualsOveral in de bibliotheek gebruikt voor tag- en MAC-vergelijkingen.
Veilig wissensgcSecureZeroOverschrijft een bytebuffer zodat sleutelmateriaal niet in het geheugen blijft hangen.
HexsgcHexEncode / sgcHexDecodeKleine letters hex, hoofdletterongevoelig decoderen.
Base64urlsgcBase64UrlEncode / sgcBase64UrlDecodeRFC 4648 sectie 5, zonder padding, de encoding die JWT en JOSE gebruiken.
Base32sgcBase32Encode / sgcBase32DecodeRFC 4648 sectie 6, de encoding die TOTP-geheimen en authenticator-apps gebruiken.
WinZip AES-sleutelafleidingsgcZipAE2_DeriveKeysOp PBKDF2 gebaseerde sleutel, authenticatiesleutel en wachtwoordverifier uit een wachtwoord en salt.
WinZip AES versleutelen / ontsleutelensgcZipAE2_Encrypt / sgcZipAE2_DecryptAE-1 en AE-2, AES-128/192/256, saltgrootte per entry via TsgcZipAESStrength.
WinZip-entryverpakkingsgcZipAE2_PackEntry / sgcZipAE2_UnpackEntryCombineert salt, verifier, ciphertext en authenticatiecode in de on-disk-lay-out.
WinZip extra-veldsgcZipAE2_BuildExtraField / sgcZipAE2_ParseExtraFieldHet extra-veld 0x9901 dat een ZIP-entry markeert als AES-versleuteld.
Legacy hashes (alleen interop)sgcMD4, sgcMD5, sgcHMAC_MD5Aangehouden voor het lezen van oudere formaten en protocollen; niet gebruiken in een nieuw ontwerp.
Legacy cipher (alleen interop)sgcDES_EncryptECB / sgcDES_DecryptECB, sgcDES_NTLM7to8DES-ECB en de op DES gebaseerde NTLM-sleuteluitbreidingsstap, beide teruggetrokken (FIPS 46-3), aangehouden voor legacy-interoperabiliteit.
Veilige willekeurige bytessgcRandomBytes / sgcRandomFillWindows CryptoAPI onder MSWINDOWS, /dev/urandom elders, één aanroep in beide gevallen.

Waar sgcCrypto draait

Wat wordt ondersteund, precies beschreven.

GebiedDetail
BesturingssysteemGeen MSWINDOWS-guard, of enige andere platformguard, omhult SGC_CRYPTO in sgcVer.inc. Alle 43 units compileren voor Win32, Win64, Linux64, macOS, iOS en Android.
Willekeurige-getallenbronDe ene platformbewuste unit, sgcCrypto_Random, kiest een CSPRNG per doelplatform: de Windows CryptoAPI onder MSWINDOWS, /dev/urandom op POSIX-doelen, achter dezelfde aanroep sgcRandomBytes.
DelphiDelphi 7 tot en met RAD Studio 13 Florence. Er wordt nergens een native 64-bit integertype verondersteld: sgcCrypto_Int64 en het type TsgcBigInt in sgcCrypto_BigInteger emuleren de rekenkunde die de hashes, curves en post-quantum-units nodig hebben.
C++ BuilderC++ Builder via de gegenereerde headers, dezelfde broncodeboom.
Design-time footprintGeen. Er is geen sgcCrypto_Reg.pas, niets wordt met RegisterComponents geregistreerd, en geen enkele unit verschijnt op een paletpagina.
DependenciesGeen OpenSSL-binding, geen externe DLL. Elke primitief is rechtstreeks geïmplementeerd in Object Pascal in de unit waarnaar je verwijst.
BroncodeVolledige Object Pascal-broncode in elke betaalde tier, en in de editiepakketten die sgcCrypto al bevatten.
HerdistributieBinaries die je bouwt zijn royaltyvrij, zonder vergoeding per zetel of per server.
De beste deal: All-AccessElk eSeGeCe-product, inclusief Premium-ondersteuning, vanaf €1,059 per jaar.
Bekijk de All-Access-prijzen

Bouw met sgcCrypto

Download de gratis proefversie en roep een functie aan, geen component vereist.