sgcCrypto: libreria di crittografia moderna per Delphi e C++ Builder
Incluso da sgcWebSockets Standard Disponibile anche in versione autonoma

sgcCrypto — una libreria di crittografia moderna per Delphi e C++ Builder

43 unità Object Pascal pure, nessun componente, nessuna impronta a design-time: passi TBytes in ingresso, ricevi TBytes in uscita. AES-GCM e ChaCha20-Poly1305 per la crittografia, SHA-3/BLAKE2/Argon2 per l'hashing, Ed25519/X25519/RSA per firme e scambio di chiavi, analisi e generazione di certificati X.509, e i post-quantum ML-KEM, ML-DSA e SLH-DSA. Ogni primitiva è implementata direttamente nell'unità che aggiungi alla tua clausola uses: nessuna DLL esterna, nessun binding OpenSSL, e lo stesso sorgente compila invariato da Delphi 7 a RAD Studio 13. sgcCrypto viene distribuito gratuitamente con sgcWebSockets Standard, Professional ed Enterprise, ed è venduto anche in autonomo (con il runtime sgcWebSockets Core incluso) per i clienti che possiedono solo Core.

Codice sorgente completo
Win32, Win64, Linux64, macOS, iOS e Android
Delphi 7 → 13, invariato
Zero dipendenze esterne
43 funzioni pure sgcCrypto_*.pas Nessun componente. Chiama una funzione, ricevi byte in cambio.
AES-GCM sgcAES_GCM_Encrypt
ChaCha20-Poly1305 sgcChaCha20Poly1305_Encrypt
SHA-3 / SHAKE sgcSHA3_256
Ed25519 / X25519 sgcEd25519_Sign
RSA-PSS sgcRSA_PSS_Sign
ML-KEM / ML-DSA sgcMLKEM_Encapsulate
X.509 / CSR sgcX509_CreateSelfSigned
43 Unità a funzioni pure sgcCrypto_*.pas, zero componenti
6 Famiglie di capacità Simmetrica, hashing, firme, PKI, PQC, OTP
6 Piattaforme di destinazione Win32, Win64, Linux64, macOS, iOS, Android
3 Standard FIPS post-quantum ML-KEM (203), ML-DSA (204), SLH-DSA (205)
2 Modi per possederlo Incluso in un'edizione, oppure autonomo

Tre cose che vale la pena sapere subito

Cosa sia sgcCrypto, se lo possiedi già, e dove funziona. Tutte e tre le risposte sono brevi.

sgcCrypto è fatto di funzioni pure, non di componenti

Ognuna delle 43 unità esporta semplici funzioni e procedure. Non esiste una classe Tsgc*, niente viene registrato con RegisterComponents, e non esiste un sgcCrypto_Reg.pas. Chiami sgcAES_GCM_Encrypt(aKey, aIV, aPlain, aAAD, aTag) allo stesso modo in cui chiameresti qualsiasi funzione della RTL, da una form, un servizio, un'app console o un thread.

Il codice sorgente completo è incluso in ogni licenza, così le primitive si possono seguire passo passo nel tuo debugger invece di sparire dentro un binario o una DLL.

Sovrapposizione con le edizioni

Possiedi già un'edizione di sgcWebSockets?

sgcCrypto è incluso in sgcWebSockets Standard, Professional ed Enterprise, e in All-Access, senza costi aggiuntivi. Se possiedi già una licenza di qualsiasi edizione da Standard in su, hai già tutte le 43 unità, niente altro da acquistare.

sgcCrypto esiste in versione autonoma per il caso opposto: possiedi solo sgcWebSockets Core, o nessuna licenza sgcWebSockets, e vuoi le unità di crittografia senza acquistare la licenza di un'intera edizione.

Ambito delle piattaforme

sgcCrypto non ha alcuna restrizione di piattaforma

A differenza dei pacchetti AI o speech, niente in sgcVer.inc limita sgcCrypto a Windows. Le unità sono ordinaria aritmetica Object Pascal, quindi compilano per Win32, Win64, Linux64, macOS, iOS e Android dallo stesso sorgente.

L'unica unità sensibile alla piattaforma, sgcCrypto_Random, seleziona un backend CSPRNG per ogni target (CryptoAPI di Windows, oppure /dev/urandom altrove) dietro la stessa chiamata sgcRandomBytes, così il tuo codice non deve mai diramarsi in base alla piattaforma.

43 unità, sei famiglie di capacità

Ogni unità è Object Pascal compilato, richiamabile da qualsiasi progetto Delphi 7-13 o C++ Builder. Non c'è nessuna DLL esterna, nessun binding OpenSSL e nessun generatore di codice: le primitive sono implementate direttamente nell'unità che aggiungi alla tua clausola uses.

Simmetrica5 unità

AES, ChaCha20 e le costruzioni AEAD sopra di essi

sgcCrypto_AES copre CBC, GCM e CTR; sgcCrypto_Modes aggiunge ECB, OFB, CFB, il ciphertext stealing CTS, e AES Key Wrap / Key Wrap with Padding (RFC 3394 / 5649); sgcCrypto_CMAC è AES-CMAC. sgcCrypto_ChaCha implementa ChaCha20, XChaCha20, Salsa20 e XSalsa20, e sgcCrypto_Poly1305 li abbina a Poly1305 nei cifrari AEAD ChaCha20-Poly1305 e XChaCha20-Poly1305 di RFC 8439. sgcAES_GCM_Decrypt e i verificatori Poly1305 confrontano il tag di autenticazione in tempo costante e rifiutano di restituire il testo in chiaro quando il controllo fallisce.

Hashing e KDF11 unità

SHA-2, SHA-3, BLAKE2, e ogni KDF di uso comune

sgcCrypto_SHA2 e sgcCrypto_Keccak coprono SHA-1/2, SHA-3, SHAKE, cSHAKE e KMAC; sgcCrypto_Blake2b e sgcCrypto_Blake2s aggiungono BLAKE2. sgcCrypto_HMAC è l'autenticazione dei messaggi con chiave. Per trasformare una password in una chiave: sgcCrypto_KDF (PBKDF2), sgcCrypto_HKDF, sgcCrypto_Scrypt e sgcCrypto_Argon2, che implementa tutte e tre le varianti di Argon2, d, i e id, vincitore della Password Hashing Competition. sgcCrypto_SipHash offre un hash veloce con chiave per le chiavi di hash-table, e sgcCrypto_TLSH è un fuzzy hash con una funzione di distanza di similarità, non un digest crittografico, utile per il rilevamento di quasi-duplicati.

Firme e scambio di chiavi10 unità

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

sgcCrypto_Ed25519/Ed448 firmano e verificano; sgcCrypto_X25519/X448 eseguono il corrispondente Diffie-Hellman. sgcCrypto_ECCurves aggiunge ECDSA ed ECDH su secp256k1 e le tre curve Brainpool con nonce deterministici RFC 6979, e sgcCrypto_EC è la sorella orientata a JOSE: firma e verifica direttamente un JWS, ES256/384/512. sgcCrypto_RSA verifica firme PKCS#1 v1.5 e PSS direttamente da una chiave PEM, e sgcCrypto_RSA_Keys va oltre con la generazione di chiavi a qualsiasi lunghezza in bit, crittografia OAEP ed esportazione DER/PEM. sgcCrypto_ECIES completa il quadro con crittografia ibrida seal/open verso una chiave pubblica X25519.

sgcCrypto_Ed25519 sgcCrypto_ECCurves sgcCrypto_RSA_Keys RFC 8032 · RFC 7748 · RFC 8017
PKI5 unità

Leggi, verifica e genera certificati X.509

sgcCrypto_ASN1 legge DER e PEM e analizza chiavi PKCS#1/SEC 1; sgcCrypto_DER scrive ogni tag di cui un certificato o una CSR hanno bisogno. sgcCrypto_X509 analizza un certificato, verifica che sia stato firmato da un dato emittente, percorre e verifica una catena, e analizza una CRL per controllare la revoca. sgcCrypto_X509_Gen genera da zero un certificato autofirmato o una CSR PKCS#10: distinguished name completo di soggetto ed emittente, finestra di validità, flag CA con vincolo di lunghezza del percorso, flag di key usage, OID di extended key usage e subject alternative name, inclusi i SAN di indirizzo IP.

Post-quantum6 unità

ML-KEM, ML-DSA e SLH-DSA, più un combinatore ibrido

sgcCrypto_MLKEM è l'incapsulamento di chiavi FIPS 203, tre parameter set (ML-KEM-512/768/1024), con rifiuto implicito su un ciphertext malformato. sgcCrypto_MLDSA è la firma FIPS 204, ML-DSA-44/65/87. sgcCrypto_SLHDSA è FIPS 205, tutti e sei i parameter set SHAKE: 128s, 128f, 192s, 192f, 256s, 256f. Poiché ML-KEM da solo punta tutto su un'ipotesi reticolare più giovane delle curve ellittiche, sgcCrypto_MLKEM_Hybrid combina un segreto X25519 e un segreto ML-KEM in un'unica chiave condivisa, così il risultato non è mai più debole della metà classica, lo schema di migrazione verso cui l'industria sta convergendo.

sgcCrypto_MLKEM sgcCrypto_MLDSA sgcCrypto_SLHDSA FIPS 203 · FIPS 204 · FIPS 205
OTP e varie6 unità

Password monouso, codifica, e voci ZIP crittografate

sgcCrypto_OTP genera e verifica codici HOTP e TOTP, gli stessi codici a sei cifre che mostra un'app di autenticazione, con una finestra di verifica in tempo costante che assorbe lo sfasamento dell'orologio. sgcCrypto_Encoding contiene le funzioni di utilità condivise dal resto della libreria: confronto in tempo costante, azzeramento sicuro dei buffer, hex, Base64url e Base32. sgcCrypto_Zip_AE2 implementa la crittografia AES di WinZip, AE-1 e AE-2, per crittografare singole voci ZIP. sgcCrypto_Random è il CSPRNG multipiattaforma dietro ogni chiave e nonce generati altrove nella libreria, e sgcCrypto_Legacy mantiene disponibili MD4/MD5/HMAC-MD5/DES-ECB per l'interoperabilità con formati più vecchi, non per nuovi progetti.

Nessun componente, nessun Object Inspector

Aggiungi un'unità a uses e chiama una funzione. Ogni chiamata qui sotto proviene da una diversa delle 43 unità, spaziando tra simmetrica, hashing, firme e post-quantum.

uses
  sgcCrypto_Random, sgcCrypto_AES, sgcCrypto_Keccak, sgcCrypto_Ed25519,
  sgcCrypto_MLKEM;

var
  vKey, vIV, vPlain, vAAD, vTag, vCipher: TBytes;
  vDigest, vSeed, vSignature, vMessage: TBytes;
  vPublicKey, vPrivateKey, vSharedSecret, vCiphertext: 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);

  // Ed25519: sign, then verify
  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);
end;
// includes: sgcCrypto_Random.hpp, sgcCrypto_AES.hpp, sgcCrypto_Keccak.hpp,
// sgcCrypto_Ed25519.hpp, sgcCrypto_MLKEM.hpp

// AES-256-GCM: authenticated encryption in one call
TBytes vKey    = sgcRandomBytes(32);
TBytes vIV     = sgcRandomBytes(12);
TBytes vAAD, vTag;
TBytes vPlain  = TEncoding::UTF8->GetBytes("confidential payload");
TBytes vCipher = sgcAES_GCM_Encrypt(vKey, vIV, vPlain, vAAD, vTag);

// SHA-3-256, one call, no context object to manage
TBytes vDigest = sgcSHA3_256(vPlain);

// Ed25519: sign, then verify
TBytes vSeed      = sgcRandomBytes(32);
TBytes vMessage   = TEncoding::UTF8->GetBytes("sign me");
TBytes vSignature = sgcEd25519_Sign(vSeed, vMessage);

// ML-KEM-768: post-quantum key encapsulation (FIPS 203)
TBytes vPublicKey, vPrivateKey, vSharedSecret, vCiphertext;
sgcMLKEM_GenerateKeyPair(mlkem768, vPublicKey, vPrivateKey);
sgcMLKEM_Encapsulate(mlkem768, vPublicKey, vCiphertext, vSharedSecret);
Tempo costante dove conta

I controlli del tag GCM e Poly1305, la verifica HOTP/TOTP e sgcConstantTimeEquals confrontano tutti in tempo costante, così un controllo fallito non rivela informazioni di tempistica su quanto il tentativo fosse vicino.

La decapsulazione non fallisce mai

Un ciphertext ML-KEM malformato produce un segreto pseudocasuale invece di un errore, il rifiuto implicito richiesto da FIPS 203, così un aggressore non apprende nulla dal fatto che un ciphertext fosse ben formato.

Delphi 7-13, invariato

Non si assume alcun tipo intero nativo a 64 bit. sgcCrypto_Int64 e TsgcBigInt emulano l'aritmetica di cui hanno bisogno gli hash, le curve e le unità post-quantum, così lo stesso sorgente compila su ogni versione supportata.

Niente esce dal tuo processo

Ogni funzione viene eseguita in-process sui dati che passi. Non c'è nessuna chiamata di rete, nessuna telemetria e nessun relay eSeGeCe da nessuna parte nella libreria.

Incluso, oppure un pacchetto autonomo

sgcCrypto viene distribuito gratuitamente con sgcWebSockets Standard, Professional ed Enterprise. Se possiedi solo sgcWebSockets Core, è venduto anche come pacchetto a sé, a partire da €149 per un singolo sviluppatore. Tutte le licenze includono codice sorgente completo, 1 anno di aggiornamenti e uno sconto di rinnovo dal 50% al 70%: il 50% se rinnovi un pacchetto, il 60% per due, il 70% per tre o più.

sgcCrypto

€149

Pacchetto autonomo. Licenze Single, Team e Site disponibili. Gratuito se possiedi già sgcWebSockets Standard, Professional o Enterprise.

  • Tutte le 43 unità sgcCrypto_*.pas
  • Runtime sgcWebSockets Core incluso
  • Delphi e C++ Builder, tutte e sei le piattaforme
  • Codice sorgente completo
  • 1 anno di aggiornamenti

Sei già su sgcWebSockets Standard, Professional o Enterprise? sgcCrypto è già nel tuo installer, nessun ordine necessario.

Vedi prezzi e ordina
3,000+Developers
20+Years
761+Components
30+API Integrations
5Platforms
Garanzia soddisfatti o rimborsati di 30 giorniNon sei soddisfatto? Richiedi un rimborso completo entro 30 giorni dall'acquisto. Vedi la politica di rimborso

Crittografia senza il sovraccarico dei componenti

43 funzioni pure che coprono crittografia, hashing, firme, PKI e scambio di chiavi post-quantum, pronte ovunque giri già il tuo codice Delphi o C++ Builder. Codice sorgente completo, nessun relay, nessuna DLL.

Altri prodotti eSeGeCe

Abbina sgcCrypto alle nostre altre librerie di componenti per Delphi e C++ Builder.

sgcWebSockets

Componenti Enterprise per WebSocket, HTTP/2, MQTT, AMQP e WebRTC. Standard, Professional ed Enterprise includono tutti sgcCrypto.

Scopri di più →

sgcSign

Firme digitali Enterprise. XAdES, PAdES, CAdES e ASiC con 10 provider di chiavi e 21 profili per paese UE.

Scopri di più →

sgcAuth

Componenti client OAuth2 e JWT, più accesso con passkey WebAuthn. Autonomo, il runtime sgcWebSockets Core è incluso.

Scopri di più →

sgcQUIC

Componenti client e server QUIC (RFC 9000) e HTTP/3 (RFC 9114) costruiti sul motore QUIC nativo di OpenSSL 3.5.

Scopri di più →

sgcAI

Componenti AI, LLM e MCP. Un solo componente chat raggiunge OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok e Mistral.

Scopri di più →

sgcMQ

Componenti client nativi MQTT 3.1.1/5.0, AMQP 0.9.1, AMQP 1.0, Apache Kafka e STOMP, con il runtime Core incluso.

Scopri di più →

sgcOpenAPI

Parser OpenAPI 3.0 e generatore di SDK. Trasforma qualsiasi specifica OpenAPI in un client Delphi fortemente tipizzato in pochi secondi.

Scopri di più →