sgcCrypto Cryptografie, in puur Pascal. Geen DLL om mee te leveren.

43 units, geen componenten, geen voetafdruk in de ontwerptijd: geef TBytes mee en krijg TBytes terug. AES-GCM en ChaCha20-Poly1305 voor versleuteling, SHA-3, BLAKE2 en Argon2 voor hashing en sleutelafleiding, Ed25519, X25519 en RSA voor handtekeningen en sleuteluitwisseling, X.509 parsen en genereren, en post-quantum ML-KEM, ML-DSA en SLH-DSA. Geen externe DLL, geen OpenSSL-koppeling, en dezelfde broncode compileert ongewijzigd van Delphi 7 tot en met RAD Studio 13.

  • Delphi 7 t/m 13
  • C++ Builder
  • Win32, Win64, Linux64
  • macOS, iOS, Android
  • Post-quantum
  • Volledige broncode
sgcCrypto quickstart: sgcAES_GCM_Encrypt en sgcAES_GCM_Decrypt in Delphi, met de nonce, de ciphertext en de tag, waarbij een gemanipuleerd bericht bij het ontsleutelen wordt geweigerd
  • 43Object Pascal-units met gewone functies
  • 6Functiefamilies, van AEAD tot post-quantum
  • 6Doelplatforms: Win32, Win64, Linux64, macOS, iOS en Android
  • 100%Broncode bij elke licentie inbegrepen
  • 0Externe afhankelijkheden, geen OpenSSL om de versie van af te stemmen
Zie het werken

Zie sgcCrypto in twee minuten.

Hashing, geauthenticeerde versleuteling, wachtwoordopslag, handtekeningen en post-quantum sleutelencapsulatie, steeds met één functieaanroep. Ingesproken en voorzien van ondertitels. Er wordt niets gedownload tot je op afspelen drukt.

Zes functiefamilies

Versleutelen, hashen, ondertekenen, certificeren en de quantumvraag overleven.

De families zijn verdeeld naar de taak die je uitvoert en niet naar de wiskunde erachter, zodat de unit die je pakt de naam draagt van datgene wat je wilt bouwen.

Symmetrisch · 5 units

sgcCrypto_AES dekt CBC, GCM en CTR, sgcCrypto_Modes voegt ECB, OFB, CFB, ciphertext stealing, AES-CCM en AES Key Wrap toe. ChaCha20, XChaCha20, Salsa20 en XSalsa20 vormen samen met Poly1305 de AEAD-ciphers van RFC 8439. Bij het ontsleutelen wordt de tag in constante tijd vergeleken en bij een mislukking wordt geen plaintext teruggegeven.

De symmetrische units →

Hashing & KDF · 11 units

SHA-1, SHA-2, SHA-3, SHAKE, cSHAKE en KMAC, met BLAKE2b en BLAKE2s ernaast. PBKDF2, HKDF, scrypt en sgcCrypto_Argon2 met alle drie de varianten: d, i en id. sgcCrypto_SipHash voor sleutels van hashtabellen en sgcCrypto_HMAC over elk van de digests.

De hashing-units →

Handtekeningen & sleuteluitwisseling · 10 units

Ed25519 en Ed448 ondertekenen, X25519 en X448 doen de bijbehorende Diffie-Hellman en sgcCrypto_ECCurves voegt ECDSA en ECDH toe over zeven curves, met deterministische nonces volgens RFC 6979 en BIP-340 Schnorr-handtekeningen. RSA-sleutels van elke bitlengte, geëxporteerd als DER of PEM in PKCS#1 en PKCS#8.

Bekijk wat het kan →

PKI · 5 units

sgcCrypto_X509 parseert een certificaat, controleert de uitgever, doorloopt een keten en leest een CRL. sgcCrypto_X509_Gen genereert een zelfondertekend certificaat of een PKCS#10-CSR met de volledige distinguished name, geldigheid, CA-vlag, key usage, extended key usage en subject alternative names.

Het certificaatoppervlak →

Post-quantum · 6 units

FIPS 203-sleutelencapsulatie in alle drie de parametersets, FIPS 204-ondertekening in ML-DSA-44, 65 en 87, en FIPS 205 in alle zes de SHAKE-parametersets. sgcCrypto_MLKEM_Hybrid combineert een X25519-geheim met een ML-KEM-geheim, zodat de gedeelde sleutel nooit zwakker is dan de klassieke helft.

De post-quantum-units →

OTP & overig · 6 units

sgcCrypto_OTP genereert en verifieert HOTP- en TOTP-codes met een venster in constante tijd dat klokverschil opvangt. Vergelijken in constante tijd, veilig wissen van buffers, hex, Base64url en Base32, WinZip AES AE-1 en AE-2 voor ZIP-items, en de platformonafhankelijke CSPRNG achter elke sleutel.

OTP en hulpmiddelen →
De code

Roep een functie aan en krijg bytes terug.

Geen object om aan te maken, geen context om vrij te geven, geen handle om open te houden. Beide fragmenten compileren hetzelfde in Delphi 7 t/m 13 en C++ Builder, op elk doelplatform.

uses
  sgcCrypto_Random, sgcCrypto_AES, sgcCrypto_Keccak;
var
  vKey, vIV, vPlain, vAAD, vTag, vCipher, vDigest: 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);

  // Decryption checks the tag in constant time and fails closed
  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
  // Ed25519 signature from a 32-byte seed
  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);

  // The peer recovers the same secret from the ciphertext
  sgcMLKEM_Decapsulate(mlkem768, vPrivateKey, vCiphertext, vSharedSecret);
end;
  1. Voeg de unit toe aan je uses-clausuleGeen enkele unit registreert een component, dus er verschijnt niets op het palet en er wordt niets op een formulier geplaatst.
  2. Roep de functie aanSleutels, nonces, plaintext en resultaten zijn allemaal TBytes. sgcRandomBytes is op elk platform dezelfde aanroep, ondersteund door de juiste CSPRNG per doelplatform.
  3. Vertrouw het foutpadAEAD-ontsleuteling controleert de tag in constante tijd en faalt veilig, zodat gemanipuleerde data nooit als plaintext terugkomt.

Dezelfde vorm in Object Pascal en in C++ Builder. Elke unit en functie staat in de functiematrix.

De volledige functiematrix

Voordat je koopt

Gewone functies, één meegeleverde runtime, niets daartussen.

sgcCrypto implementeert de primitieven rechtstreeks in plaats van te koppelen aan een bibliotheek die je ook moet meeleveren en op versie moet afstemmen. Een sleutel, een digest of een handtekening is dus één functieaanroep en dankzij de volledige broncode is niets daartussen een black box.

sgcCrypto quickstart: een wachtwoord opslaan met sgcArgon2id en vergelijken met sgcConstantTimeEquals

Wachtwoorden, correct opgeslagen

Maak van een wachtwoord een sleutel met PBKDF2, scrypt of Argon2 in alle drie de varianten (d, i en id) en vergelijk daarna met de helper in constante tijd uit sgcCrypto_Encoding, zodat de vergelijking zelf het antwoord niet verraadt.

sgcCrypto quickstart: de volledige inventaris van hashing-, MAC-, wachtwoord- en KDF-, symmetrische, publiekesleutel-, post-quantum-, certificaat- en extra functies

Zes families, drieënveertig units

Symmetrisch (5), hashing en KDF (11), handtekeningen en sleuteluitwisseling (10), PKI (5), post-quantum (6), en OTP en hulpmiddelen (6). Er is geen Tsgc*-klasse en geen sgcCrypto_Reg.pas: elke unit exporteert gewone functies die je in je eigen debugger stap voor stap kunt doorlopen in plaats van dat ze in een binary verdwijnen.

Geen platformbeperking

Niets in sgcVer.inc beperkt sgcCrypto tot Windows. De units zijn gewone Object Pascal-rekenkunde, dus ze compileren vanuit één broncode voor Win32, Win64, Linux64, macOS, iOS en Android. sgcCrypto_Random is de enige unit die platformspecifiek is.

Een TLS 1.3- en TLS 1.2-engine

Het pakket bevat ook een TLS-implementatie die bovenop de sgcCrypto-primitieven is geschreven, in de sgcSSL_NativeTLS*-units. Zet IOHandler := iohNativeTLS op een sgcWebSockets-client of -server en er valt niets uit te rollen. De standaardgroepenlijst begint met de X25519MLKEM768-hybride.

Zo schakel je het in →

Getoetst aan de standaarden

FIPS 197 en 202, RFC 8439, RFC 5280 en FIPS 203, 204 en 205. Het genereren van sleutels, ondertekenen en verifiëren met ML-KEM, ML-DSA en SLH-DSA wordt in de sgcWebSockets QA-suite getoetst aan de known-answer-vectoren van NIST ACVP.

Elke unit en functie →
Licenties

Misschien heb je sgcCrypto al.

Alle 43 units zitten zonder extra kosten in sgcWebSockets Standard, Professional en Enterprise en in All-Access. Heb je alleen sgcWebSockets Core of helemaal geen sgcWebSockets-licentie? Het standalone pakket bundelt de Core-runtime met de crypto-units. Elke licentie bevat de volledige broncode en royaltyvrije distributie.

sgcWebSockets-edities

sgcCrypto is vanaf Standard gratis inbegrepen, samen met WebSocket, HTTP/2, MQTT en de rest van de bibliotheek. Heb je een van deze edities, dan hoef je niets bij te kopen.

€380 / ontwikkelaar

sgcCrypto standalone

Alle 43 units met de sgcWebSockets Core-runtime erin gebundeld, voor ontwikkelaars die alleen Core hebben of geen sgcWebSockets-licentie bezitten. Single-, Team- en Site-licenties.

€149 / ontwikkelaar

All-Access-bundel

Alle eSeGeCe-producten voor een jaar, Delphi en .NET, inclusief sgcCrypto, met Premium Support.

€1,059 / ontwikkelaar

Het gratis proefinstallatieprogramma is de sgcWebSockets All-Access-proefversie, dus alle 43 units kunnen vandaag al worden uitgeprobeerd.

Bekijk de prijzen van sgcCrypto
Referenties

Wat ontwikkelaars zeggen

Vertrouwd door Delphi-, C++ Builder-, Lazarus- en .NET-ontwikkelaars over de hele wereld.

Jullie sgcWebSockets-bibliotheek is erg handig en eenvoudig op te zetten. Ga zo door!
Simone Moretti Delphi-ontwikkelaar
sgcWebSockets is geweldig en jullie support is de beste!
Christian Meyer Oprichter & CTO
Heel erg bedankt voor jullie hulp en ondersteuning, ik ben dol op jullie componenten.
Mark Steinfeld CTO

Bytes erin, bytes eruit, native code.

AEAD-versleuteling, hashing, handtekeningen, X.509 en post-quantum cryptografie in 43 units, met de volledige broncode in de doos.

Laatste blogberichten

Bekijk alle berichten →

Je bekijkt nu de sgcCrypto-weergave van eSeGeCe.

Toon me een andere kant →
Niet-goed-geld-terug-garantie van 30 dagenNiet tevreden? Vraag binnen 30 dagen na aankoop een volledige terugbetaling aan. Bekijk het terugbetalingsbeleid