Matrice delle funzionalità sgcCrypto — AES, SHA-3, Ed25519, X.509, ML-KEM | eSeGeCe

sgcCrypto Matrice delle funzionalità

Tutto ciò che fa sgcCrypto, mappato sulle 43 unità presenti sul disco. Qui non ci sono componenti né proprietà a design-time: ogni riga qui sotto è una funzione o una procedura che chiami direttamente. Il codice sorgente completo è incluso in ogni licenza. Le ancore qui sotto ti portano alle sei famiglie di capacità in cui rientrano le unità.

sgcCrypto non ha componenti. Le 43 unità qui sotto esportano semplici funzioni, non esiste una classe Tsgc* e non esiste un sgcCrypto_Reg.pas. Aggiungi un'unità alla tua clausola uses e chiama la funzione.

Già incluso. sgcCrypto viene distribuito gratuitamente all'interno di sgcWebSockets Standard, Professional ed Enterprise, e di All-Access. È anche venduto in autonomo (con il runtime sgcWebSockets Core incluso) per i clienti che possiedono solo Core. Vedi Prezzi.

Simmetrica

AES, ChaCha20, Poly1305, 5 unità

Hashing e KDF

SHA-2/3, BLAKE2, Argon2, 11 unità

Firme e scambio di chiavi

Ed25519, X25519, RSA, 10 unità

PKI

X.509, ASN.1, CSR, 5 unità

Post-quantum

ML-KEM, ML-DSA, SLH-DSA, 6 unità

OTP e varie

HOTP/TOTP, codifica, ZIP AES, 6 unità

43 unità sorgente

Ogni unità sgcCrypto_*.pas sotto sgcWebSockets/delphi/Source/, raggruppata per famiglia.

UnitàFamigliaCosa fa
sgcCrypto_AESSimmetricaAES-CBC, AES-GCM (AEAD), AES-CTR.
sgcCrypto_ModesSimmetricaAES-ECB, OFB, CFB, CTS, e Key Wrap / Key Wrap with Padding.
sgcCrypto_CMACSimmetricaAutenticazione dei messaggi AES-CMAC.
sgcCrypto_ChaChaSimmetricaChaCha20, XChaCha20, Salsa20, XSalsa20.
sgcCrypto_Poly1305SimmetricaMAC Poly1305, AEAD ChaCha20-Poly1305 e XChaCha20-Poly1305.
sgcCrypto_SHA2Hashing e KDFSHA-1, SHA-224, SHA-256, SHA-384, SHA-512.
sgcCrypto_KeccakHashing e KDFSHA-3, SHAKE128/256, cSHAKE, KMAC.
sgcCrypto_Blake2bHashing e KDFBLAKE2b, con o senza chiave.
sgcCrypto_Blake2sHashing e KDFBLAKE2s, con o senza chiave.
sgcCrypto_HMACHashing e KDFHMAC-SHA1/256/384/512.
sgcCrypto_KDFHashing e KDFPBKDF2, hash selezionabile.
sgcCrypto_HKDFHashing e KDFHKDF extract-and-expand.
sgcCrypto_ScryptHashing e KDFKDF memory-hard scrypt.
sgcCrypto_Argon2Hashing e KDFArgon2d, Argon2i, Argon2id.
sgcCrypto_SipHashHashing e KDFHash con chiave SipHash-2-4.
sgcCrypto_TLSHHashing e KDFFuzzy hash TLSH e diff di similarità.
sgcCrypto_Ed25519Firme e scambio di chiaviEd25519 firma / verifica.
sgcCrypto_X25519Firme e scambio di chiaviDiffie-Hellman X25519.
sgcCrypto_Ed448Firme e scambio di chiaviEd448 firma / verifica.
sgcCrypto_X448Firme e scambio di chiaviDiffie-Hellman X448.
sgcCrypto_GF448Firme e scambio di chiaviAritmetica interna del campo GF(2^448-2^224-1) per Ed448/X448.
sgcCrypto_ECCurvesFirme e scambio di chiaviECDSA / ECDH su secp256k1 e Brainpool P256r1/P384r1/P512r1.
sgcCrypto_ECFirme e scambio di chiaviFirma/verifica EC generica come JWS (ES256/384/512), ECDH.
sgcCrypto_RSAFirme e scambio di chiaviFirma RSA PKCS#1 v1.5, verifica PKCS#1 v1.5 / PSS, da PEM o raw.
sgcCrypto_RSA_KeysFirme e scambio di chiaviGenerazione chiavi RSA, OAEP, PSS, firma/verifica PKCS#1, esportazione DER/PEM.
sgcCrypto_ECIESFirme e scambio di chiaviCrittografia ibrida seal / open ECIES su X25519.
sgcCrypto_ASN1PKILettore DER, codec PEM, analisi chiavi PKCS#1/SEC 1.
sgcCrypto_DERPKIPrimitive di scrittura DER.
sgcCrypto_BigIntegerPKIAritmetica interna a precisione arbitraria.
sgcCrypto_X509PKIAnalisi, verifica, catena e CRL X.509, revoca.
sgcCrypto_X509_GenPKIGenerazione di certificati autofirmati e CSR PKCS#10.
sgcCrypto_MLKEMPost-quantumIncapsulamento di chiavi ML-KEM (FIPS 203), 3 parameter set.
sgcCrypto_MLKEM_PolyPost-quantumAritmetica interna dell'anello polinomiale dietro ML-KEM.
sgcCrypto_MLKEM_HybridPost-quantumIncapsulamento di chiavi ibrido X25519 + ML-KEM.
sgcCrypto_MLDSAPost-quantumFirme digitali ML-DSA (FIPS 204), 3 parameter set.
sgcCrypto_MLDSA_PolyPost-quantumAritmetica interna dell'anello polinomiale dietro ML-DSA.
sgcCrypto_SLHDSAPost-quantumFirme SLH-DSA (FIPS 205), 6 parameter set SHAKE.
sgcCrypto_OTPOTP e varieHOTP, TOTP, finestra di verifica in tempo costante.
sgcCrypto_EncodingOTP e varieConfronto in tempo costante, azzeramento sicuro, hex/Base64url/Base32.
sgcCrypto_Zip_AE2OTP e varieCrittografia AES di WinZip per le voci ZIP, AE-1 / AE-2.
sgcCrypto_LegacyOTP e varieMD4, MD5, HMAC-MD5, DES-ECB, solo per interoperabilità.
sgcCrypto_RandomOTP e varieCSPRNG multipiattaforma.
sgcCrypto_Int64OTP e varieEmulazione interna di interi a 64 bit per Delphi 7.

Crittografia e MAC

AES nelle modalità che il codice di produzione usa davvero, più la famiglia AEAD ChaCha20/Poly1305.

CapacitàFunzioneNote
AES-CBCsgcAES_CBC_Encrypt / sgcAES_CBC_DecryptPadding PKCS#7, IV a 16 byte. La lunghezza della chiave seleziona il cifrario: 16/24/32 byte = AES-128/192/256.
AES-GCM (AEAD)sgcAES_GCM_Encrypt / sgcAES_GCM_DecryptIV consigliato a 12 byte. Tag a 16 byte, confrontato in tempo costante; la decrittazione restituisce False e testo in chiaro vuoto in caso di tag non valido.
AES-CTRsgcAES_CTRAES-CM in stile SRTP (RFC 3711). Chiamata simmetrica, nessun padding, contatore a 128 bit big-endian.
AES-ECBsgcAES_ECB_Encrypt / sgcAES_ECB_DecryptNessun IV, nessun concatenamento. Incluso per interoperabilità con formati che lo richiedono.
AES-OFB / AES-CFBsgcAES_OFB, sgcAES_CFB_Encrypt / sgcAES_CFB_DecryptModalità a retroazione in stile stream cipher.
AES-CTSsgcAES_CTS_Encrypt / sgcAES_CTS_DecryptCiphertext stealing: cripta dati non multipli della dimensione del blocco senza overhead di padding.
AES Key WrapsgcAES_KeyWrap / sgcAES_KeyUnwrapRFC 3394, per avvolgere una chiave sotto un'altra.
AES Key Wrap with PaddingsgcAES_KeyWrapPad / sgcAES_KeyUnwrapPadRFC 5649, per materiale di chiave non multiplo di 8 byte.
AES-CMACsgcAES_CMAC / sgcAES_CMAC_VerifyCodice di autenticazione dei messaggi RFC 4493.
Primitive di blocco a basso livellosgcAES_ExpandKey, sgcAES_EncryptBlock, sgcAES_DecryptBlockEsposte per le unità di modalità e MAC sopra; chiamale direttamente solo per costruire una modalità non già fornita.
ChaCha20sgcChaCha20RFC 8439, nonce a 96 bit, contatore a 32 bit.
XChaCha20sgcXChaCha20Nonce esteso a 192 bit, sicuro per la generazione casuale di nonce su larga scala.
Salsa20 / XSalsa20sgcSalsa20 / sgcXSalsa20La famiglia di stream cipher predecessore, entrambe le dimensioni di nonce.
Derivazione di sottochiavesgcHChaCha20 / sgcHSalsa20Ciò che le varianti X usano internamente per derivare una sottochiave dai primi 16 byte del nonce.
MAC Poly1305sgcPoly1305 / sgcPoly1305_VerifyAutenticatore monouso, RFC 8439. Non riutilizzare mai una chiave Poly1305.
AEAD ChaCha20-Poly1305sgcChaCha20Poly1305_Encrypt / _DecryptIl cifrario AEAD dietro la seconda cipher suite di TLS 1.3 e SSH.
AEAD XChaCha20-Poly1305sgcXChaCha20Poly1305_Encrypt / _DecryptStesso AEAD, nonce a 192 bit, la costruzione che libsodium chiama crypto_aead_xchacha20poly1305_ietf.

Digest, MAC e hashing delle password

Ogni famiglia di hash di uso comune, più PBKDF2, HKDF, scrypt e tutte e tre le varianti di Argon2.

CapacitàFunzioneNote
SHA-1 / SHA-2sgcSHA1, sgcSHA224, sgcSHA256, sgcSHA384, sgcSHA512FIPS 180-4. SHA-1 è mantenuto per interoperabilità, non consigliato per nuove firme.
SHA-3sgcSHA3_224 / _256 / _384 / _512FIPS 202, la spugna Keccak, strutturalmente indipendente da SHA-2.
SHAKE128 / SHAKE256sgcSHAKE128 / sgcSHAKE256Funzioni a output estendibile: richiedi qualsiasi lunghezza di digest.
cSHAKE128 / cSHAKE256sgcCSHAKE128 / sgcCSHAKE256SHAKE con separazione di dominio, NIST SP 800-185, la base di KMAC.
KMAC128 / KMAC256sgcKMAC128 / sgcKMAC256MAC basato su Keccak con lunghezza di output variabile.
BLAKE2bsgcBlake2b / sgcBlake2b_KeyedRFC 7693, digest fino a 64 byte, keying integrato (nessun HMAC separato necessario).
BLAKE2ssgcBlake2s / sgcBlake2s_KeyedRFC 7693, digest fino a 32 byte, ottimizzato per piattaforme a 32 bit.
Digest in streamingsgcBlake2b_Init/_Update/_Final, chiamate corrispondenti su Keccak/Blake2sPer l'hashing di dati troppo grandi per stare in memoria in un colpo solo.
HMACsgcHMAC_SHA1 / _SHA256 / _SHA384 / _SHA512Hashing con chiave RFC 2104 sulla famiglia SHA-1/2.
PBKDF2sgcPBKDF2, sgcPBKDF2_SHA1 / _SHA256 / _SHA512RFC 8018. Solo lievemente memory-hard; preferisci Argon2id o scrypt quando puoi scegliere.
HKDFsgcHKDF_Extract_SHA256 / _SHA384, sgcHKDF_Expand_SHA256 / _SHA384, sgcHKDF_SHA256 / _SHA384RFC 5869, derivazione della chiave extract-then-expand, il modo standard per trasformare un segreto condiviso in più chiavi.
scryptsgcScryptRFC 7914, memory-hard, resiste molto meglio di PBKDF2 agli attacchi GPU/ASIC.
Argon2sgcArgon2 (d / i / id), wrapper di convenienza sgcArgon2idRFC 9106, vincitore della Password Hashing Competition. Interfaccia completa con secret opzionale (pepe) e dati associati.
SipHash-2-4sgcSipHash24 / sgcSipHash24_ValuePRF veloce con chiave per le chiavi di hash-table, resiste al denial of service da hash-flooding.
Fuzzy hash TLSHsgcTLSH, sgcTLSH_Init/_Update/_FinalHash locality-sensitive per il rilevamento di quasi-duplicati, non un digest crittografico.
Punteggio di similarità TLSHsgcTLSH_DiffDistanza tra due digest TLSH; più basso significa più simile.

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

Firma, verifica e deriva segreti condivisi su cinque distinte famiglie di curve più RSA.

CapacitàFunzioneNote
Ed25519 firma / verificasgcEd25519_Sign / sgcEd25519_VerifyRFC 8032. Chiave pubblica a 32 byte, firma a 64 byte. La verifica rifiuta punti non canonici e S >= L come da sezione 5.1.7.
Scambio di chiavi X25519sgcX25519, sgcX25519_PublicKey, sgcX25519_SharedSecretDiffie-Hellman RFC 7748 su Curve25519.
Ed448 firma / verificasgcEd448_GenerateKeyPair, sgcEd448_Sign, sgcEd448_VerifyRFC 8032, la curva EdDSA a 448 bit (Goldilocks).
Scambio di chiavi X448sgcX448, sgcX448_PublicKey, sgcX448_SharedSecretDiffie-Hellman RFC 7748 su Curve448.
secp256k1sgcECDSA_SignHash / VerifyHash con eccSecp256k1La curva Bitcoin/Ethereum, SEC 2, in sgcCrypto_ECCurves.
Brainpool P256r1 / P384r1 / P512r1stesse funzioni con eccBrainpoolP256r1 / P384r1 / P512r1RFC 5639, comune nei profili eIDAS e governativi UE.
Nonce ECDSA deterministicointegrato in sgcECDSA_SignHashRFC 6979: il nonce è derivato dalla chiave privata e dal messaggio, nessuna modalità di fallimento dell'RNG.
ECDH (secp256k1 / Brainpool)sgcECDH_SharedSecretSegreto condiviso sulle stesse quattro curve.
Compressione dei puntisgcEC_Compress / sgcEC_DecompressMemorizza o trasmetti la forma compressa più corta della chiave pubblica.
EC come JWS (ES256/384/512)sgcECDSA_SignJWS / sgcECDSA_VerifyJWSCurva selezionata automaticamente dalla lunghezza in bit richiesta, firma/verifica direttamente da una chiave PEM, sorella orientata a JOSE di ECCurves.
ECDH genericosgcECDHSegreto condiviso da una chiave privata raw e dal punto pubblico del peer.
Verifica ECDSA raw / DERsgcECDSA_VerifyRaw / sgcECDSA_VerifyDERVerifica contro una tupla raw (Qx, Qy, r, s) o una firma codificata DER.
Firma RSA (PKCS#1 v1.5)sgcRSA_SignPKCS1Da una chiave privata PEM, digest SHA-1/256/384/512.
Verifica RSA (PKCS#1 v1.5 / PSS)sgcRSA_VerifyPKCS1, sgcRSA_VerifyPSS, e varianti _Raw su modulo/esponenteRFC 8017. La verifica funziona da una chiave PEM o da modulo ed esponente raw, senza costruzione di un key-object.
Generazione di chiavi RSAsgcRSA_GenerateKeyQualsiasi lunghezza in bit richiesta, test di primalità Miller-Rabin.
Crittografia RSA-OAEPsgcRSA_OAEP_Encrypt / sgcRSA_OAEP_DecryptPadding di crittografia asimmetrica ottimale RFC 8017.
Firma RSA-PSS / PKCS#1sgcRSA_PSS_Sign / Verify, sgcRSA_PKCS1_Sign / VerifyFirma direttamente da una TsgcRSAPrivateKey generata.
Esportazione chiavi RSAsgcRSA_ExportPrivateKeyPEM, sgcRSA_ExportPublicKeyPEM, chiamate DER corrispondentiCodifiche PKCS#1 e SubjectPublicKeyInfo.
ECIES seal / opensgcECIES_GenerateKeyPair, sgcECIES_Seal, sgcECIES_OpenCrittografia ibrida verso una chiave pubblica X25519: ECDH effimero più un AEAD, una chiamata per ogni direzione.

Certificati X.509 e ASN.1

Leggi un certificato che qualcun altro ha emesso, o generane uno tu stesso, con un encoder e un decoder DER sotto entrambi.

CapacitàFunzioneNote
Lettore DERsgcASN1_Read, sgcASN1_Next, sgcASN1_ContentPercorre una struttura DER nodo per nodo.
Codec PEMsgcPEM_Decode / sgcPEM_EncodeRFC 7468, il wrapper -----BEGIN ... -----END attorno al DER.
Analisi chiavi RSAsgcASN1_ParseRSAPrivateKey / PublicKeyStrutture di chiave PKCS#1 (RFC 8017).
Analisi chiavi ECsgcASN1_ParseECPrivateKey / PublicKeyStrutture di chiave SEC 1.
Scrittore DER, strutturalesgcDER_Sequence, sgcDER_Set, sgcDER_Tagged, sgcDER_ContextExplicit / ImplicitI mattoncini da cui è assemblato ogni campo di un certificato.
Scrittore DER, valorisgcDER_Integer, sgcDER_OctetString, sgcDER_BitString, sgcDER_Boolean, sgcDER_NullEncoder di valori primitivi.
Scrittore DER, stringhe e identificatorisgcDER_OID, sgcDER_UTF8String, sgcDER_PrintableString, sgcDER_IA5String, sgcDER_TimeObject identifier, i tre tipi di stringa che X.509 usa, e UTCTime/GeneralizedTime.
Analisi del certificatosgcX509_ParseStruttura completa del certificato: soggetto, emittente, validità, chiave pubblica, estensioni.
Verifica firma / catenasgcX509_VerifySignedBy, sgcX509_VerifyChainVerifica un certificato contro un emittente, o percorre e verifica un array di certificati DER.
Analisi CRL e revocasgcX509_CRL_Parse, sgcX509_IsRevoked, sgcX509_CRL_VerifySignedByAnalizza una Certificate Revocation List e controlla un numero di serie contro di essa.
Formattazione dei nomisgcX509_SubjectRFC2253, sgcX509_IssuerRFC2253, sgcX509_SubjectOneLineStringhe distinguished-name RFC 2253, per log e visualizzazione.
Estensioni e SANsgcX509_GetExtension, sgcX509_GetCRLDistributionURIsLegge OID di estensione arbitrari e URI dei punti di distribuzione CRL.
Generazione di certificati autofirmatisgcX509_CreateSelfSignedTsgcX509Options completo: DN di soggetto, finestra di validità, numero di serie, flag CA con vincolo di lunghezza del percorso, key usage, extended key usage, subject alternative name (inclusi i SAN IPv4).
Generazione CSR PKCS#10sgcX509_CreateCSRRichiesta di firma del certificato RFC 2986 dallo stesso record di opzioni.
Output PEMsgcX509_ToPEMAvvolge il DER generato come file PEM pronto da salvare.

ML-KEM, ML-DSA e SLH-DSA

I tre algoritmi che il NIST ha finalizzato nell'agosto 2024 come FIPS 203, 204 e 205, più un combinatore ibrido per il periodo di migrazione.

CapacitàFunzioneNote
Generazione di chiavi ML-KEMsgcMLKEM_GenerateKeyPair, sgcMLKEM_GenerateKeyPairFromSeedFIPS 203, in precedenza Kyber. Tre parameter set: mlkem512, mlkem768, mlkem1024.
Incapsulamento ML-KEMsgcMLKEM_Encapsulate, sgcMLKEM_EncapsulateWithSeedProduce un nuovo segreto condiviso a 32 byte e il ciphertext che lo trasporta.
Decapsulamento ML-KEMsgcMLKEM_DecapsulateNon fallisce mai: un ciphertext malformato produce un segreto pseudocasuale (rifiuto implicito) invece di un errore, così tempistica e comportamento d'errore non rivelano nulla.
Dimensioni ML-KEMsgcMLKEM_PublicKeySize, PrivateKeySize, CiphertextSize, SharedSecretSizeLunghezze in byte per parameter set, per dimensionare i buffer.
Ibrido X25519 + ML-KEMsgcHybrid_GenerateKeyPair, sgcHybrid_Encapsulate, sgcHybrid_DecapsulateCombina un segreto condiviso classico e uno post-quantum tramite una KDF, così il risultato non è mai più debole del solo X25519. Il modo consigliato per usare ML-KEM oggi.
Generazione di chiavi ML-DSAsgcMLDSA_GenerateKeyPair, sgcMLDSA_GenerateKeyPairFromSeedFIPS 204, in precedenza Dilithium. Tre parameter set: mldsa44, mldsa65, mldsa87.
Firma / verifica ML-DSAsgcMLDSA_Sign / sgcMLDSA_VerifyFirma deterministica o randomizzata secondo l'interfaccia FIPS 204, più una stringa di contesto.
Dimensioni ML-DSAsgcMLDSA_PublicKeySize, PrivateKeySize, SignatureSizeLunghezze in byte per parameter set.
Generazione di chiavi SLH-DSAsgcSLHDSA_GenerateKeyPair, sgcSLHDSA_GenerateKeyPairFromSeedFIPS 205, in precedenza SPHINCS+. Firme hash-based stateless: la sicurezza si basa solo sulla funzione hash, non su un'ipotesi reticolare o su una curva.
Firma / verifica SLH-DSAsgcSLHDSA_Sign / sgcSLHDSA_VerifySei parameter set SHAKE: slhShake128s, slhShake128f, slhShake192s, slhShake192f, slhShake256s, slhShake256f. I set s favoriscono firme piccole, i set f favoriscono la firma veloce.
Dimensioni e nomi SLH-DSAsgcSLHDSA_PublicKeySize, PrivateKeySize, SignatureSize, sgcSLHDSA_ParamsNameLe firme SLH-DSA sono grandi (da 7,8 KB a 49 KB a seconda del set); dimensiona il buffer prima di firmare.

sgcCrypto non pretende di implementare ed25519187 o SPECK. ed25519187 non ha una specifica pubblicata, e SPECK è stato ritirato dalla standardizzazione ISO nel 2018; nessuno dei due è implementato qui.

Password monouso, codec e ZIP crittografati

Lo strato di utilità: codici monouso, le codifiche su cui si appoggiano tutte le altre famiglie, e la crittografia AES di WinZip.

CapacitàFunzioneNote
HOTPsgcHOTPRFC 4226, password monouso basata su contatore.
TOTPsgcTOTP, sgcTOTP_FromBase32RFC 6238, password monouso basata sul tempo; la variante Base32 accetta il secret esattamente come lo mostra un'app di autenticazione.
Verifica TOTPsgcTOTP_VerifyControlla un codice inviato su una finestra di passi in tempo costante, così né il risultato né la sua posizione trapelano tramite la tempistica. Non impedisce da sola il replay; è il chiamante a tracciare i codici già usati.
Confronto in tempo costantesgcConstantTimeEqualsUsato in tutta la libreria per i confronti di tag e MAC.
Azzeramento sicurosgcSecureZeroSovrascrive un buffer di byte così il materiale di chiave non resta in memoria.
HexsgcHexEncode / sgcHexDecodeHex minuscolo, decodifica case-insensitive.
Base64urlsgcBase64UrlEncode / sgcBase64UrlDecodeRFC 4648 sezione 5, senza padding, la codifica usata da JWT e JOSE.
Base32sgcBase32Encode / sgcBase32DecodeRFC 4648 sezione 6, la codifica usata dai secret TOTP e dalle app di autenticazione.
Derivazione chiavi AES di WinZipsgcZipAE2_DeriveKeysChiave basata su PBKDF2, chiave di autenticazione e verificatore della password a partire da una password e un salt.
Crittografia / decrittazione AES di WinZipsgcZipAE2_Encrypt / sgcZipAE2_DecryptAE-1 e AE-2, AES-128/192/256, dimensionamento del salt per voce tramite TsgcZipAESStrength.
Impacchettamento voce WinZipsgcZipAE2_PackEntry / sgcZipAE2_UnpackEntryCombina salt, verificatore, ciphertext e codice di autenticazione nel layout su disco.
Extra field WinZipsgcZipAE2_BuildExtraField / sgcZipAE2_ParseExtraFieldL'extra field 0x9901 che marca una voce ZIP come crittografata AES.
Hash legacy (solo interoperabilità)sgcMD4, sgcMD5, sgcHMAC_MD5Mantenuti per leggere formati e protocolli più vecchi; non usarli in un nuovo progetto.
Cifrario legacy (solo interoperabilità)sgcDES_EncryptECB / sgcDES_DecryptECB, sgcDES_NTLM7to8DES-ECB e il passo di espansione di chiave DES-based di NTLM, entrambi ritirati (FIPS 46-3), mantenuti per interoperabilità legacy.
Byte casuali sicurisgcRandomBytes / sgcRandomFillCryptoAPI di Windows sotto MSWINDOWS, /dev/urandom altrove, una sola chiamata in entrambi i casi.

Dove funziona sgcCrypto

Cosa è supportato, dichiarato con precisione.

AreaDettaglio
Sistema operativoNessuna guardia MSWINDOWS, né alcun'altra guardia di piattaforma, avvolge SGC_CRYPTO in sgcVer.inc. Tutte le 43 unità compilano per Win32, Win64, Linux64, macOS, iOS e Android.
Sorgente dei numeri casualiL'unica unità sensibile alla piattaforma, sgcCrypto_Random, seleziona un CSPRNG per ogni target: la CryptoAPI di Windows sotto MSWINDOWS, /dev/urandom sui target POSIX, dietro la stessa chiamata sgcRandomBytes.
DelphiDa Delphi 7 a RAD Studio 13 Florence. Non si assume da nessuna parte un tipo intero nativo a 64 bit: sgcCrypto_Int64 e il tipo TsgcBigInt in sgcCrypto_BigInteger emulano l'aritmetica di cui hanno bisogno gli hash, le curve e le unità post-quantum.
C++ BuilderC++ Builder tramite gli header generati, stesso albero sorgente.
Impronta a design-timeNessuna. Non esiste un sgcCrypto_Reg.pas, niente viene registrato con RegisterComponents, e nessuna unità compare in una pagina della palette dei componenti.
DipendenzeNessun binding OpenSSL, nessuna DLL esterna. Ogni primitiva è implementata direttamente in Object Pascal dentro l'unità che referenzi.
Codice sorgenteSorgente Object Pascal completo in ogni livello a pagamento, e nei pacchetti edizione che già includono sgcCrypto.
RidistribuzioneI binari che compili sono esenti da royalty, senza alcuna tariffa di runtime per postazione o per server.
La scelta più conveniente: All-AccessTutti i prodotti eSeGeCe, con Supporto Premium incluso, a partire da €1,059/anno.
Vedi i prezzi All-Access

Sviluppa con sgcCrypto

Scarica la versione di prova gratuita e chiama una funzione, nessun componente richiesto.