sgcCrypto: Moderne Kryptographiebibliothek für Delphi & C++ BuilderZum Inhalt springen
Ab sgcWebSockets Standard enthaltenAuch eigenständig erhältlich
sgcCrypto — eine moderne Kryptographiebibliothek für Delphi & C++ Builder
43 reine Object-Pascal-Units, keine Komponenten, kein Design-Time-Footprint: TBytes rein, TBytes raus. AES-GCM und ChaCha20-Poly1305 für Verschlüsselung, SHA-3/BLAKE2/Argon2 für Hashing, Ed25519/X25519/RSA für Signaturen und Schlüsselaustausch, X.509-Zertifikatsparsing und -erstellung, sowie Post-Quanten-ML-KEM, ML-DSA und SLH-DSA. Jede Primitive ist direkt in der Unit implementiert, die du in deine uses-Klausel aufnimmst: keine externe DLL, keine OpenSSL-Anbindung, und derselbe Quellcode kompiliert unverändert von Delphi 7 bis RAD Studio 13. sgcCrypto ist bei sgcWebSockets Standard, Professional und Enterprise kostenlos dabei, und wird auch eigenständig verkauft (mit gebündelter sgcWebSockets-Core-Runtime) für Kunden, die nur Core besitzen.
2Wege, es zu besitzenIn einer Edition enthalten, oder eigenständig
BEVOR DU KAUFST
Drei Dinge, die du vorher wissen solltest
Was sgcCrypto ist, ob du es bereits besitzt, und wo es läuft. Alle drei Antworten sind kurz.
sgcCrypto besteht aus reinen Funktionen, keinen Komponenten
Jede der 43 Units exportiert einfache Funktionen und Prozeduren. Es gibt keine Tsgc*-Klasse, nichts wird per RegisterComponents registriert, und es gibt keine sgcCrypto_Reg.pas. Du rufst sgcAES_GCM_Encrypt(aKey, aIV, aPlain, aAAD, aTag) genauso auf, wie du jede RTL-Funktion aufrufen würdest, aus einem Formular, einem Dienst, einer Konsolenanwendung oder einem Thread.
Vollständiger Quellcode ist bei jeder Lizenz dabei, sodass sich die Primitiven in deinem eigenen Debugger durchsteppen lassen, statt in einer Binärdatei oder DLL zu verschwinden.
Edition-Überschneidung
Besitzt du bereits eine sgcWebSockets-Edition?
sgcCrypto ist in sgcWebSockets Standard, Professional und Enterprise sowie in All-Access ohne Aufpreis enthalten. Wenn du bereits eine Editionslizenz ab Standard besitzt, hast du bereits alle 43 Units, nichts weiter zu kaufen.
sgcCrypto existiert eigenständig für den umgekehrten Fall: Du besitzt nur sgcWebSockets Core, oder überhaupt keine sgcWebSockets-Lizenz, und möchtest die Krypto-Units ohne den Kauf einer vollständigen Edition.
Plattformumfang
sgcCrypto trägt keine Plattformsperre
Anders als die KI- oder Sprachpakete schränkt nichts in sgcVer.inc sgcCrypto auf Windows ein. Die Units sind gewöhnliche Object-Pascal-Arithmetik, kompilieren also aus demselben Quellcode für Win32, Win64, Linux64, macOS, iOS und Android.
Die eine plattformbewusste Unit, sgcCrypto_Random, wählt pro Ziel ein CSPRNG-Backend (Windows CryptoAPI, oder /dev/urandom anderswo) hinter demselben sgcRandomBytes-Aufruf, sodass dein Code nie nach Plattform verzweigt.
WAS IST ENTHALTEN
43 Units, sechs Fähigkeitsfamilien
Jede Unit ist kompiliertes Object Pascal, aufrufbar aus jedem Delphi-7-bis-13- oder C++-Builder-Projekt. Es gibt keine externe DLL, keine OpenSSL-Anbindung und keinen Codegenerator: Die Primitiven sind direkt in der Unit implementiert, die du in deine uses-Klausel aufnimmst.
Symmetrisch5 Units
AES, ChaCha20 und die AEAD-Konstruktionen darauf
sgcCrypto_AES deckt CBC, GCM und CTR ab; sgcCrypto_Modes ergänzt ECB, OFB, CFB, Ciphertext-Stealing CTS sowie AES Key Wrap / Key Wrap with Padding (RFC 3394 / 5649); sgcCrypto_CMAC ist AES-CMAC. sgcCrypto_ChaCha implementiert ChaCha20, XChaCha20, Salsa20 und XSalsa20, und sgcCrypto_Poly1305 kombiniert Poly1305 damit zu den AEAD-Chiffren ChaCha20-Poly1305 und XChaCha20-Poly1305 aus RFC 8439. sgcAES_GCM_Decrypt und die Poly1305-Verifizierer vergleichen den Authentifizierungs-Tag in konstanter Zeit und verweigern die Rückgabe von Klartext bei einem fehlgeschlagenen Vergleich.
sgcCrypto_SHA2 und sgcCrypto_Keccak decken SHA-1/2, SHA-3, SHAKE, cSHAKE und KMAC ab; sgcCrypto_Blake2b und sgcCrypto_Blake2s ergänzen BLAKE2. sgcCrypto_HMAC ist Keyed Message Authentication. Um ein Passwort in einen Schlüssel zu verwandeln: sgcCrypto_KDF (PBKDF2), sgcCrypto_HKDF, sgcCrypto_Scrypt und sgcCrypto_Argon2, das alle drei Argon2-Varianten implementiert, d, i und id, den Gewinner der Password Hashing Competition. sgcCrypto_SipHash liefert dir einen schnellen Keyed Hash für Hashtable-Schlüssel, und sgcCrypto_TLSH ist ein Fuzzy Hash mit einer Ähnlichkeits-Distanzfunktion, kein kryptographischer Digest, nützlich zur Erkennung von Near-Duplicates.
Ed25519/Ed448, X25519/X448, secp256k1, Brainpool und RSA
sgcCrypto_Ed25519/Ed448 signieren und verifizieren; sgcCrypto_X25519/X448 übernehmen den passenden Diffie-Hellman-Austausch. sgcCrypto_ECCurves ergänzt ECDSA und ECDH über secp256k1 und die drei Brainpool-Kurven mit deterministischen RFC-6979-Nonces, und sgcCrypto_EC ist das JOSE-orientierte Gegenstück: Signiere und verifiziere ein JWS direkt, ES256/384/512. sgcCrypto_RSA verifiziert PKCS#1-v1.5- und PSS-Signaturen direkt aus einem PEM-Schlüssel, und sgcCrypto_RSA_Keys geht weiter, mit Schlüsselerzeugung beliebiger Bitlänge, OAEP-Verschlüsselung und DER/PEM-Export. sgcCrypto_ECIES rundet es mit hybrider Seal/Open-Verschlüsselung an einen X25519-Public-Key ab.
X.509-Zertifikate lesen, verifizieren und erzeugen
sgcCrypto_ASN1 liest DER und PEM und parst PKCS#1/SEC-1-Schlüssel; sgcCrypto_DER schreibt jeden Tag, den ein Zertifikat oder ein CSR braucht. sgcCrypto_X509 parst ein Zertifikat, verifiziert, dass es von einem gegebenen Aussteller signiert wurde, durchläuft und verifiziert eine Kette, und parst eine CRL, um Widerruf zu prüfen. sgcCrypto_X509_Gen erzeugt ein selbstsigniertes Zertifikat oder einen PKCS#10-CSR von Grund auf: vollständiger Subject- und Issuer-Distinguished-Name, Gültigkeitsfenster, CA-Flag mit Pfadlängenbeschränkung, Key-Usage-Flags, Extended-Key-Usage-OIDs und Subject Alternative Names, einschließlich IP-Adress-SANs.
ML-KEM, ML-DSA und SLH-DSA, plus ein Hybrid-Combiner
sgcCrypto_MLKEM ist FIPS-203-Schlüsselkapselung, drei Parametersätze (ML-KEM-512/768/1024), mit impliziter Zurückweisung bei einem fehlerhaften Chiffretext. sgcCrypto_MLDSA ist FIPS-204-Signierung, ML-DSA-44/65/87. sgcCrypto_SLHDSA ist FIPS 205, alle sechs SHAKE-Parametersätze: 128s, 128f, 192s, 192f, 256s, 256f. Weil ML-KEM allein alles auf eine Gitter-Annahme setzt, die jünger ist als elliptische Kurven, kombiniert sgcCrypto_MLKEM_Hybrid ein X25519-Geheimnis und ein ML-KEM-Geheimnis zu einem gemeinsamen Schlüssel, sodass das Ergebnis nie schwächer ist als die klassische Hälfte, das Migrationsmuster, auf das sich die Branche gerade einigt.
Einmalpasswörter, Kodierung und verschlüsselte ZIP-Einträge
sgcCrypto_OTP erzeugt und verifiziert HOTP- und TOTP-Codes, dieselben sechsstelligen Codes, die eine Authenticator-App anzeigt, mit einem konstantzeitigen Verifikationsfenster, das Uhrabweichung ausgleicht. sgcCrypto_Encoding hält die Hilfsfunktionen, die sich der Rest der Bibliothek teilt: konstantzeitiger Vergleich, sicheres Nullsetzen von Puffern, Hex, Base64url und Base32. sgcCrypto_Zip_AE2 implementiert die WinZip-AES-Verschlüsselung, AE-1 und AE-2, zum Verschlüsseln einzelner ZIP-Einträge. sgcCrypto_Random ist der plattformübergreifende CSPRNG hinter jedem Schlüssel und Nonce, der anderswo in der Bibliothek erzeugt wird, und sgcCrypto_Legacy hält MD4/MD5/HMAC-MD5/DES-ECB für die Interoperabilität mit älteren Formaten verfügbar, nicht für neue Designs.
Füge eine Unit zu uses hinzu und rufe eine Funktion auf. Jeder Aufruf unten kommt aus einer anderen der 43 Units, quer über symmetrische Verschlüsselung, Hashing, Signaturen und Post-Quanten.
GCM- und Poly1305-Tag-Prüfungen, HOTP-/TOTP-Verifikation und sgcConstantTimeEquals vergleichen alle in konstanter Zeit, sodass eine fehlgeschlagene Prüfung keine Timing-Informationen darüber preisgibt, wie nah der Versuch war.
Dekapselung schlägt nie fehl
Ein fehlerhafter ML-KEM-Chiffretext erzeugt ein pseudozufälliges Geheimnis statt eines Fehlers, implizite Zurückweisung gemäß FIPS 203, sodass ein Angreifer nichts daraus lernt, ob ein Chiffretext wohlgeformt war.
Delphi 7 bis 13, unverändert
Es wird kein nativer 64-Bit-Integer-Typ vorausgesetzt. sgcCrypto_Int64 und TsgcBigInt emulieren die Arithmetik, die die Hashes, Kurven und Post-Quanten-Units brauchen, sodass derselbe Quellcode auf jeder unterstützten Version kompiliert.
Nichts verlässt deinen Prozess
Jede Funktion läuft in-process mit Daten, die du übergibst. Es gibt keinen Netzwerkaufruf, keine Telemetrie und kein eSeGeCe-Relay irgendwo in der Bibliothek.
PREISE
Enthalten, oder als eigenständiges Paket
sgcCrypto ist bei sgcWebSockets Standard, Professional und Enterprise kostenlos dabei. Wenn du nur sgcWebSockets Core besitzt, wird es auch als eigenes Paket verkauft, ab €149 für einen Entwickler. Alle Lizenzen enthalten vollständigen Quellcode, 1 Jahr Updates und 50% bis 70% Verlängerungsrabatt: 50% bei Verlängerung eines Pakets, 60% bei zweien, 70% bei drei oder mehr.
sgcCrypto
€149
Eigenständiges Paket. Single-, Team- und Site-Lizenzen verfügbar. Kostenlos, wenn du bereits sgcWebSockets Standard, Professional oder Enterprise besitzt.
Alle 43 sgcCrypto_*.pas-Units
sgcWebSockets-Core-Runtime enthalten
Delphi & C++ Builder, alle sechs Plattformen
Vollständiger Quellcode
1 Jahr Updates
Bereits auf sgcWebSockets Standard, Professional oder Enterprise? sgcCrypto ist bereits in deinem Installer, keine Bestellung nötig.
30 Tage Geld-zurück-GarantieNicht zufrieden? Fordern Sie innerhalb von 30 Tagen nach dem Kauf eine vollständige Rückerstattung an. Rückerstattungsrichtlinie ansehen
Kryptographie ohne Komponenten-Overhead
43 reine Funktionen für Verschlüsselung, Hashing, Signaturen, PKI und Post-Quanten-Schlüsselaustausch, einsatzbereit überall dort, wo dein Delphi- oder C++-Builder-Code bereits läuft. Vollständiger Quellcode, kein Relay, keine DLL.