sgcCrypto Kryptografie, in reinem Pascal. Keine DLL auszuliefern.

43 Units, keine Komponenten, kein Design-Time-Fußabdruck: Du übergibst TBytes und bekommst TBytes zurück. AES-GCM und ChaCha20-Poly1305 zum Verschlüsseln, SHA-3, BLAKE2 und Argon2 für Hashing und Schlüsselableitung, Ed25519, X25519 und RSA für Signaturen und Schlüsselaustausch, X.509 lesen und erzeugen sowie die Post-Quanten-Verfahren ML-KEM, ML-DSA und SLH-DSA. Keine externe DLL, keine OpenSSL-Anbindung, und derselbe Quellcode kompiliert unverändert von Delphi 7 bis RAD Studio 13.

  • Delphi 7 bis 13
  • C++ Builder
  • Win32, Win64, Linux64
  • macOS, iOS, Android
  • Post-Quanten
  • Voller Quellcode
sgcCrypto-Schnellstart: sgcAES_GCM_Encrypt und sgcAES_GCM_Decrypt in Delphi, mit Nonce, Chiffretext und Tag, und eine manipulierte Nachricht, die bei der Entschlüsselung abgelehnt wird
  • 43Object-Pascal-Units mit einfachen Funktionen
  • 6Funktionsfamilien, von AEAD bis Post-Quanten
  • 6Zielplattformen: Win32, Win64, Linux64, macOS, iOS und Android
  • 100%Quellcode in jeder Lizenz enthalten
  • 0Externe Abhängigkeiten, kein OpenSSL, dessen Version passen muss
Sieh es laufen

sgcCrypto in zwei Minuten.

Hashing, authentifizierte Verschlüsselung, Passwortspeicherung, Signaturen und Post-Quanten-Schlüsselkapselung, jeweils ein Funktionsaufruf nach dem anderen. Vertont und mit Untertiteln. Nichts wird geladen, bevor du auf Play drückst.

Sechs Funktionsfamilien

Verschlüsseln, hashen, signieren, zertifizieren und die Quantenfrage überdauern.

Die Familien sind nach der Aufgabe gegliedert, die du gerade löst, und nicht nach der Mathematik dahinter. So trägt die Unit, zu der du greifst, den Namen dessen, was du bauen willst.

Symmetrisch · 5 Units

sgcCrypto_AES deckt CBC, GCM und CTR ab, sgcCrypto_Modes ergänzt ECB, OFB, CFB, Ciphertext Stealing, AES-CCM und AES Key Wrap. ChaCha20, XChaCha20, Salsa20 und XSalsa20 bilden zusammen mit Poly1305 die AEAD-Chiffren nach RFC 8439. Die Entschlüsselung vergleicht den Tag in konstanter Zeit und gibt keinen Klartext zurück, wenn die Prüfung fehlschlägt.

Die symmetrischen Units →

Hashing & KDF · 11 Units

SHA-1, SHA-2, SHA-3, SHAKE, cSHAKE und KMAC, dazu BLAKE2b und BLAKE2s. PBKDF2, HKDF, scrypt und sgcCrypto_Argon2 mit allen drei Varianten d, i und id. sgcCrypto_SipHash für Hashtabellen-Schlüssel und sgcCrypto_HMAC über jeden der Digests.

Die Hashing-Units →

Signaturen & Schlüsselaustausch · 10 Units

Ed25519 und Ed448 signieren, X25519 und X448 liefern das passende Diffie-Hellman, und sgcCrypto_ECCurves ergänzt ECDSA und ECDH über sieben Kurven mit deterministischen Nonces nach RFC 6979 und BIP-340-Schnorr-Signaturen. RSA-Schlüssel mit beliebiger Bitlänge, exportiert als DER oder PEM in PKCS#1 und PKCS#8.

Das kann es →

PKI · 5 Units

sgcCrypto_X509 liest ein Zertifikat, prüft den Aussteller, durchläuft eine Kette und liest eine CRL. sgcCrypto_X509_Gen erzeugt ein selbstsigniertes Zertifikat oder eine PKCS#10-CSR mit vollständigem Distinguished Name, Gültigkeit, CA-Flag, Key Usage, Extended Key Usage und Subject Alternative Names.

Die Zertifikatsfunktionen →

Post-Quanten · 6 Units

FIPS-203-Schlüsselkapselung in allen drei Parametersätzen, FIPS-204-Signaturen mit ML-DSA-44, 65 und 87 sowie FIPS 205 in allen sechs SHAKE-Parametersätzen. sgcCrypto_MLKEM_Hybrid kombiniert ein X25519-Geheimnis mit einem ML-KEM-Geheimnis, sodass der gemeinsame Schlüssel nie schwächer ist als die klassische Hälfte.

Die Post-Quanten-Units →

OTP & Sonstiges · 6 Units

sgcCrypto_OTP erzeugt und prüft HOTP- und TOTP-Codes mit einem Zeitfenster in konstanter Zeit, das Uhrabweichungen auffängt. Vergleich in konstanter Zeit, sicheres Löschen von Puffern, Hex, Base64url und Base32, WinZip AES AE-1 und AE-2 für ZIP-Einträge und der plattformübergreifende CSPRNG hinter jedem Schlüssel.

OTP und Hilfsfunktionen →
Der Code

Funktion aufrufen, Bytes zurückbekommen.

Kein Objekt zu erzeugen, kein Kontext freizugeben, kein Handle offen zu halten. Beide Beispiele kompilieren in Delphi 7 bis 13 und C++ Builder gleich, auf jeder Zielplattform.

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. Unit in die uses-Klausel aufnehmenKeine Unit registriert eine Komponente, also erscheint nichts in der Palette und nichts wird auf ein Formular gezogen.
  2. Funktion aufrufenSchlüssel, Nonces, Klartext und Ergebnisse sind alle TBytes. sgcRandomBytes ist auf jeder Plattform derselbe Aufruf, gestützt auf den passenden CSPRNG je Zielplattform.
  3. Dem Fehlerpfad vertrauenDie AEAD-Entschlüsselung prüft den Tag in konstanter Zeit und schlägt sicher fehl (fail closed), sodass manipulierte Daten nie als Klartext zurückkommen.

Dieselbe Form in Object Pascal und in C++ Builder. Jede Unit und jede Funktion steht in der Funktionsmatrix.

Die vollständige Funktionsmatrix

Vor dem Kauf

Einfache Funktionen, eine mitgelieferte Runtime, nichts dazwischen.

sgcCrypto implementiert die Primitive direkt, statt eine Bibliothek anzubinden, die du zusätzlich ausliefern und versionsgenau abstimmen müsstest. Ein Schlüssel, ein Digest oder eine Signatur ist daher ein einziger Funktionsaufruf, und der volle Quellcode bedeutet, dass nichts dazwischen eine Blackbox ist.

sgcCrypto-Schnellstart: ein Passwort mit sgcArgon2id speichern und mit sgcConstantTimeEquals vergleichen

Passwörter, richtig gespeichert

Mache aus einem Passwort mit PBKDF2, scrypt oder Argon2 in allen drei Varianten d, i und id einen Schlüssel und vergleiche dann mit dem Helfer für konstante Zeit aus sgcCrypto_Encoding, damit schon der Vergleich selbst die Antwort nicht verrät.

sgcCrypto-Schnellstart: das vollständige Inventar an Hash-, MAC-, Passwort- und KDF-Funktionen sowie symmetrischen, Public-Key-, Post-Quanten-, Zertifikats- und Zusatzfunktionen

Sechs Familien, dreiundvierzig Units

Symmetrisch (5), Hashing und KDF (11), Signaturen und Schlüsselaustausch (10), PKI (5), Post-Quanten (6) sowie OTP und Hilfsfunktionen (6). Es gibt keine Tsgc*-Klasse und keine sgcCrypto_Reg.pas: Jede Unit exportiert einfache Funktionen, die du in deinem eigenen Debugger durchsteppen kannst, statt dass sie in einer Binärdatei verschwinden.

Keine Plattformsperre

Nichts in sgcVer.inc beschränkt sgcCrypto auf Windows. Die Units sind gewöhnliche Object-Pascal-Arithmetik und kompilieren daher aus einem Quellcode für Win32, Win64, Linux64, macOS, iOS und Android. sgcCrypto_Random ist die einzige plattformabhängige Unit.

Eine TLS-1.3- und TLS-1.2-Engine

Das Paket enthält außerdem eine TLS-Implementierung auf Basis der sgcCrypto-Primitive, in den Units sgcSSL_NativeTLS*. Setze IOHandler := iohNativeTLS an einem beliebigen sgcWebSockets-Client oder -Server, und es gibt nichts auszuliefern. Die Standard-Gruppenliste beginnt mit dem Hybrid X25519MLKEM768.

So schaltest du es ein →

Gegen die Standards geprüft

FIPS 197 und 202, RFC 8439, RFC 5280 sowie FIPS 203, 204 und 205. Schlüsselerzeugung, Signieren und Verifizieren von ML-KEM, ML-DSA und SLH-DSA werden in der sgcWebSockets-QA-Suite gegen die NIST-ACVP-Known-Answer-Vektoren geprüft.

Jede Unit und jede Funktion →
Lizenzierung

Vielleicht besitzt du sgcCrypto schon.

Alle 43 Units sind in sgcWebSockets Standard, Professional und Enterprise sowie in All-Access ohne Aufpreis enthalten. Du hast nur sgcWebSockets Coreoder gar keine sgcWebSockets-Lizenz? Das eigenständige Paket bündelt die Core-Runtime mit den Krypto-Units. Jede Lizenz enthält den vollen Quellcode und lizenzgebührenfreie Auslieferung.

sgcWebSockets-Editionen

sgcCrypto ist ab Standard kostenlos enthalten, zusammen mit WebSocket, HTTP/2, MQTT und dem Rest der Bibliothek. Wenn du eine davon besitzt, musst du nichts weiter kaufen.

€380 / Entwickler

sgcCrypto eigenständig

Alle 43 Units mit gebündelter sgcWebSockets-Core-Runtime, für Entwickler, die nur Core besitzen oder keine sgcWebSockets-Lizenz haben. Single-, Team- und Site-Lizenzen.

€149 / Entwickler

All-Access-Paket

Alle eSeGeCe-Produkte für ein Jahr, Delphi und .NET, sgcCrypto inklusive, mit Premium-Support.

€1,059 / Entwickler

Der kostenlose Testinstaller ist die sgcWebSockets-All-Access-Testversion, sodass sich schon heute alle 43 Units evaluieren lassen.

sgcCrypto-Preise ansehen
Referenzen

Was Entwickler sagen

Vertrauen von Delphi-, C++ Builder-, Lazarus- und .NET-Entwicklern weltweit.

Eure sgcWebSockets-Bibliothek ist sehr nützlich und einfach einzurichten. Macht weiter so!
Simone Moretti Delphi-Entwickler
sgcWebSockets ist großartig und euer Support ist der beste!
Christian Meyer Gründer & CTO
Vielen Dank für eure Hilfe und Unterstützung, ich liebe eure Komponenten.
Mark Steinfeld CTO

Bytes rein, Bytes raus, nativer Code.

AEAD-Verschlüsselung, Hashing, Signaturen, X.509 und Post-Quanten-Kryptografie in 43 Units, mit vollem Quellcode in der Box.

Neues aus dem Blog

Alle Beiträge ansehen →

Du siehst gerade die Ansicht Kryptografie von eSeGeCe.

Zeig mir eine andere Perspektive →
30 Tage Geld-zurück-GarantieNicht zufrieden? Fordere innerhalb von 30 Tagen nach dem Kauf eine vollständige Rückerstattung an. Rückerstattungsrichtlinie ansehen