sgcCrypto Crittografia, in puro Pascal. Nessuna DLL da distribuire.

43 unit, nessun componente, nessuna traccia in design time: passi TBytes in ingresso e ricevi TBytes. AES-GCM e ChaCha20-Poly1305 per la cifratura, SHA-3, BLAKE2 e Argon2 per hash e derivazione delle chiavi, Ed25519, X25519 e RSA per firme e scambio di chiavi, analisi e generazione di X.509, e i post-quantum ML-KEM, ML-DSA e SLH-DSA. Nessuna DLL esterna, nessun binding a OpenSSL, e lo stesso sorgente compila senza modifiche da Delphi 7 a RAD Studio 13.

  • Da Delphi 7 a 13
  • C++ Builder
  • Win32, Win64, Linux64
  • macOS, iOS, Android
  • Post-quantum
  • Codice sorgente completo
Quickstart di sgcCrypto: sgcAES_GCM_Encrypt e sgcAES_GCM_Decrypt in Delphi, con nonce, ciphertext e tag, e un messaggio manomesso rifiutato in fase di decifratura
  • 43unit Object Pascal di semplici funzioni
  • 6Famiglie di funzionalità, da AEAD al post-quantum
  • 6Piattaforme: Win32, Win64, Linux64, macOS, iOS e Android
  • 100%Codice sorgente incluso in ogni licenza
  • 0Dipendenze esterne, nessuna versione di OpenSSL da allineare
Guardala in azione

sgcCrypto in due minuti.

Hash, cifratura autenticata, archiviazione delle password, firme e incapsulamento di chiavi post-quantum, una chiamata di funzione alla volta. Con voce narrante e sottotitoli. Non viene scaricato nulla finché non premi play.

Sei famiglie di funzionalità

Cifra, calcola hash, firma, certifica e supera la questione quantistica.

Le famiglie sono divise per il compito che stai svolgendo e non per la matematica che c'è dietro, così la unit a cui ricorri è quella che porta il nome di ciò che vuoi realizzare.

Simmetrica · 5 unit

sgcCrypto_AES copre CBC, GCM e CTR, mentre sgcCrypto_Modes aggiunge ECB, OFB, CFB, ciphertext stealing, AES-CCM e AES Key Wrap. ChaCha20, XChaCha20, Salsa20 e XSalsa20 si abbinano a Poly1305 nei cifrari AEAD della RFC 8439. La decifratura confronta il tag a tempo costante e non restituisce il testo in chiaro se la verifica fallisce.

Le unit simmetriche →

Hash e KDF · 11 unit

SHA-1, SHA-2, SHA-3, SHAKE, cSHAKE e KMAC, con BLAKE2b e BLAKE2s accanto. PBKDF2, HKDF, scrypt e sgcCrypto_Argon2 con tutte e tre le varianti, d, i e id. sgcCrypto_SipHash per le chiavi delle tabelle hash e sgcCrypto_HMAC su qualsiasi digest.

Le unit di hash →

Firme e scambio di chiavi · 10 unit

Ed25519 ed Ed448 firmano, X25519 e X448 eseguono il Diffie-Hellman corrispondente, e sgcCrypto_ECCurves aggiunge ECDSA ed ECDH su sette curve con nonce deterministici RFC 6979 e firma Schnorr BIP-340. Chiavi RSA di qualsiasi lunghezza in bit, esportate in DER o PEM in PKCS#1 e PKCS#8.

Scopri cosa può fare →

PKI · 5 unit

sgcCrypto_X509 analizza un certificato, verifica l'emittente, percorre una catena e legge una CRL. sgcCrypto_X509_Gen genera un certificato autofirmato o una CSR PKCS#10 con distinguished name completo, validità, flag CA, key usage, extended key usage e subject alternative name.

La parte dei certificati →

Post-quantum · 6 unit

Incapsulamento di chiavi FIPS 203 in tutti e tre i set di parametri, firma FIPS 204 con ML-DSA-44, 65 e 87, e FIPS 205 in tutti e sei i set di parametri SHAKE. sgcCrypto_MLKEM_Hybrid combina un segreto X25519 con un segreto ML-KEM, così la chiave condivisa non è mai più debole della metà classica.

Le unit post-quantum →

OTP e varie · 6 unit

sgcCrypto_OTP genera e verifica codici HOTP e TOTP con una finestra a tempo costante che assorbe lo scostamento dell'orologio. Confronto a tempo costante, azzeramento sicuro dei buffer, hex, Base64url e Base32, WinZip AES AE-1 e AE-2 per le voci ZIP, e il CSPRNG multipiattaforma dietro ogni chiave.

OTP e utilità →
Il codice

Chiama una funzione, ricevi byte.

Nessun oggetto da costruire, nessun contesto da liberare, nessun handle da tenere aperto. Entrambi gli snippet compilano allo stesso modo in Delphi da 7 a 13 e in C++ Builder, su ogni piattaforma di destinazione.

uses
  sgcCrypto_Random, sgcCrypto_AES, sgcCrypto_Keccak;
var
  vKey, vIV, vPlain, vAAD, vTag, vCipher, vDigest: TBytes;
begin
  // AES-256-GCM: cifratura autenticata in una sola chiamata
  vKey    := sgcRandomBytes(32);
  vIV     := sgcRandomBytes(12);
  vPlain  := TEncoding.UTF8.GetBytes('confidential payload');
  vCipher := sgcAES_GCM_Encrypt(vKey, vIV, vPlain, vAAD, vTag);

  // SHA-3-256, una sola chiamata, nessun oggetto contesto da gestire
  vDigest := sgcSHA3_256(vPlain);

  // La decifratura verifica il tag a tempo costante e fallisce in sicurezza
  vPlain  := sgcAES_GCM_Decrypt(vKey, vIV, vCipher, vAAD, vTag);
end;
uses
  sgcCrypto_Random, sgcCrypto_Ed25519, sgcCrypto_MLKEM;
var
  vSeed, vMessage, vSignature: TBytes;
  vPublicKey, vPrivateKey, vCiphertext, vSharedSecret: TBytes;
begin
  // Firma Ed25519 da un seed di 32 byte
  vSeed      := sgcRandomBytes(32);
  vMessage   := TEncoding.UTF8.GetBytes('sign me');
  vSignature := sgcEd25519_Sign(vSeed, vMessage);

  // ML-KEM-768: incapsulamento di chiavi post-quantum (FIPS 203)
  sgcMLKEM_GenerateKeyPair(mlkem768, vPublicKey, vPrivateKey);
  sgcMLKEM_Encapsulate(mlkem768, vPublicKey, vCiphertext, vSharedSecret);

  // Il peer recupera lo stesso segreto dal ciphertext
  sgcMLKEM_Decapsulate(mlkem768, vPrivateKey, vCiphertext, vSharedSecret);
end;
  1. Aggiungi la unit alla clausola usesNessuna unit registra un componente, quindi nulla compare nella palette e nulla viene rilasciato su un form.
  2. Chiama la funzioneChiavi, nonce, testo in chiaro e risultati sono tutti TBytes. sgcRandomBytes è la stessa chiamata su ogni piattaforma, supportata dal CSPRNG giusto per ciascuna.
  3. Fidati del percorso di erroreLa decifratura AEAD verifica il tag a tempo costante e fallisce in sicurezza, quindi i dati manomessi non tornano mai come testo in chiaro.

Stessa forma in Object Pascal e in C++ Builder. Ogni unit e ogni funzione è elencata nella matrice delle funzionalità.

La matrice completa delle funzionalità

Prima di acquistare

Semplici funzioni, un solo runtime incluso, nient'altro in mezzo.

sgcCrypto implementa direttamente le primitive invece di appoggiarsi a una libreria che devi anche distribuire e allineare di versione, quindi una chiave, un digest o una firma sono una sola chiamata di funzione, e il codice sorgente completo significa che nulla in mezzo è una scatola nera.

Quickstart di sgcCrypto: archiviazione di una password con sgcArgon2id e confronto con sgcConstantTimeEquals

Password, archiviate nel modo giusto

Trasforma una password in una chiave con PBKDF2, scrypt o Argon2 in tutte e tre le varianti, d, i e id, poi confronta con l'helper a tempo costante di sgcCrypto_Encoding, così il confronto stesso non rivela la risposta.

Quickstart di sgcCrypto: l'inventario completo delle funzioni di hash, MAC, password e KDF, simmetriche, a chiave pubblica, post-quantum, per certificati e aggiuntive

Sei famiglie, quarantatré unit

Simmetrica (5), hash e KDF (11), firme e scambio di chiavi (10), PKI (5), post-quantum (6) e OTP e utilità (6). Non esiste alcuna classe Tsgc* né sgcCrypto_Reg.pas: ogni unit esporta semplici funzioni che puoi eseguire passo passo nel tuo debugger invece di sparire in un binario.

Nessuna restrizione di piattaforma

Nulla in sgcVer.inc limita sgcCrypto a Windows. Le unit sono comune aritmetica Object Pascal, quindi compilano per Win32, Win64, Linux64, macOS, iOS e Android da un unico sorgente. sgcCrypto_Random è l'unica unit che dipende dalla piattaforma.

Un motore TLS 1.3 e TLS 1.2

Il pacchetto include anche un'implementazione TLS scritta sopra le primitive di sgcCrypto, nelle unit sgcSSL_NativeTLS*. Imposta IOHandler := iohNativeTLS su qualsiasi client o server sgcWebSockets e non c'è nulla da distribuire. L'elenco di gruppi predefinito inizia con l'ibrido X25519MLKEM768.

Come attivarlo →

Verificato rispetto agli standard

FIPS 197 e 202, RFC 8439, RFC 5280 e FIPS 203, 204 e 205. La generazione di chiavi, la firma e la verifica di ML-KEM, ML-DSA e SLH-DSA sono verificate rispetto ai vettori known-answer NIST ACVP nella suite QA di sgcWebSockets.

Ogni unit e ogni funzione →
Licenze

Potresti già possedere sgcCrypto.

Tutte le 43 unit sono incluse in sgcWebSockets Standard, Professional ed Enterprise, e in All-Access, senza costi aggiuntivi. Possiedi solo sgcWebSockets Core, o nessuna licenza sgcWebSockets? Il pacchetto standalone include il runtime Core insieme alle unit di crittografia. Ogni licenza comprende il codice sorgente completo e la distribuzione senza royalty.

Edizioni di sgcWebSockets

sgcCrypto è incluso gratuitamente da Standard in su, insieme a WebSocket, HTTP/2, MQTT e al resto della libreria. Se ne possiedi una, non c'è nient'altro da acquistare.

€380 / sviluppatore

sgcCrypto standalone

Tutte le 43 unit con il runtime sgcWebSockets Core incluso, per gli sviluppatori che possiedono solo Core o nessuna licenza sgcWebSockets. Licenze Single, Team e Site.

€149 / sviluppatore

Bundle All-Access

Tutti i prodotti eSeGeCe per un anno, Delphi e .NET, sgcCrypto incluso, con Supporto Premium.

€1,059 / sviluppatore

L'installer del trial gratuito è il trial di sgcWebSockets All-Access, quindi tutte le 43 unit si possono valutare subito.

Vedi i prezzi di sgcCrypto
TESTIMONIANZE

Cosa dicono gli sviluppatori

La scelta di sviluppatori Delphi, C++ Builder, Lazarus e .NET in tutto il mondo.

La vostra libreria sgcWebSockets è molto utile e semplice da configurare. Continuate così!
Simone Moretti Sviluppatore Delphi
sgcWebSockets è straordinario e il vostro supporto è il migliore!
Christian Meyer Fondatore e CTO
Grazie mille per il vostro aiuto e supporto, adoro i vostri componenti.
Mark Steinfeld CTO

Byte in ingresso, byte in uscita, codice nativo.

Cifratura AEAD, hash, firme, X.509 e crittografia post-quantum in 43 unit, con il codice sorgente completo incluso.

Le ultime dal blog

Vedi tutti gli articoli →

Stai vedendo eSeGeCe dal punto di vista della crittografia.

Mostrami un altro punto di vista →
Garanzia soddisfatti o rimborsati di 30 giorniNon sei soddisfatto? Richiedi un rimborso completo entro 30 giorni dall'acquisto. Vedi la politica di rimborso