sgcCrypto Funktionsübersicht — AES, SHA-3, Ed25519, X.509, ML-KEM | eSeGeCe

sgcCrypto Funktionsübersicht

Alles, was sgcCrypto kann, aufgeschlüsselt über die 43 Units auf der Festplatte. Es gibt hier keine Komponenten und keine Design-Time-Eigenschaften: Jede Zeile unten ist eine Funktion oder Prozedur, die du direkt aufrufst. Vollständiger Quellcode ist bei jeder Lizenz dabei. Die Sprungmarken unten führen dich zu den sechs Fähigkeitsfamilien, in die die Units fallen.

sgcCrypto hat keine Komponenten. Die 43 Units unten exportieren einfache Funktionen, es gibt keine Tsgc*-Klasse und keine sgcCrypto_Reg.pas. Füge eine Unit zu deiner uses-Klausel hinzu und rufe die Funktion auf.

Bereits enthalten. sgcCrypto ist bei sgcWebSockets Standard, Professional und Enterprise sowie bei All-Access kostenlos dabei. Es wird auch eigenständig verkauft (mit gebündelter sgcWebSockets-Core-Runtime) für Kunden, die nur Core besitzen. Siehe Preise.

Symmetrisch

AES, ChaCha20, Poly1305, 5 Units

Hashing & KDF

SHA-2/3, BLAKE2, Argon2, 11 Units

Signaturen & Schlüsselaustausch

Ed25519, X25519, RSA, 10 Units

PKI

X.509, ASN.1, CSR, 5 Units

Post-Quanten

ML-KEM, ML-DSA, SLH-DSA, 6 Units

OTP & Sonstiges

HOTP/TOTP, Kodierung, ZIP-AES, 6 Units

43 Quell-Units

Jede sgcCrypto_*.pas-Unit unter sgcWebSockets/delphi/Source/, gruppiert nach Familie.

UnitFamilieWas sie macht
sgcCrypto_AESSymmetrischAES-CBC, AES-GCM (AEAD), AES-CTR.
sgcCrypto_ModesSymmetrischAES-ECB, OFB, CFB, CTS, sowie Key Wrap / Key Wrap with Padding.
sgcCrypto_CMACSymmetrischAES-CMAC-Nachrichtenauthentifizierung.
sgcCrypto_ChaChaSymmetrischChaCha20, XChaCha20, Salsa20, XSalsa20.
sgcCrypto_Poly1305SymmetrischPoly1305-MAC, ChaCha20-Poly1305 und XChaCha20-Poly1305 AEAD.
sgcCrypto_SHA2Hashing & KDFSHA-1, SHA-224, SHA-256, SHA-384, SHA-512.
sgcCrypto_KeccakHashing & KDFSHA-3, SHAKE128/256, cSHAKE, KMAC.
sgcCrypto_Blake2bHashing & KDFBLAKE2b, mit oder ohne Schlüssel.
sgcCrypto_Blake2sHashing & KDFBLAKE2s, mit oder ohne Schlüssel.
sgcCrypto_HMACHashing & KDFHMAC-SHA1/256/384/512.
sgcCrypto_KDFHashing & KDFPBKDF2, wählbarer Hash.
sgcCrypto_HKDFHashing & KDFHKDF Extract-and-Expand.
sgcCrypto_ScryptHashing & KDFscrypt, speicherharte KDF.
sgcCrypto_Argon2Hashing & KDFArgon2d, Argon2i, Argon2id.
sgcCrypto_SipHashHashing & KDFSipHash-2-4 Keyed Hash.
sgcCrypto_TLSHHashing & KDFTLSH Fuzzy Hash und Ähnlichkeits-Diff.
sgcCrypto_Ed25519Signaturen & SchlüsselaustauschEd25519 signieren / verifizieren.
sgcCrypto_X25519Signaturen & SchlüsselaustauschX25519 Diffie-Hellman.
sgcCrypto_Ed448Signaturen & SchlüsselaustauschEd448 signieren / verifizieren.
sgcCrypto_X448Signaturen & SchlüsselaustauschX448 Diffie-Hellman.
sgcCrypto_GF448Signaturen & SchlüsselaustauschInterne GF(2^448-2^224-1)-Körperarithmetik für Ed448/X448.
sgcCrypto_ECCurvesSignaturen & SchlüsselaustauschECDSA / ECDH über secp256k1 und Brainpool P256r1/P384r1/P512r1.
sgcCrypto_ECSignaturen & SchlüsselaustauschAllgemeines EC-Signieren/-Verifizieren als JWS (ES256/384/512), ECDH.
sgcCrypto_RSASignaturen & SchlüsselaustauschRSA PKCS#1-v1.5-Signieren, PKCS#1-v1.5-/PSS-Verifizieren, aus PEM oder roh.
sgcCrypto_RSA_KeysSignaturen & SchlüsselaustauschRSA-Schlüsselerzeugung, OAEP, PSS, PKCS#1-Signieren/-Verifizieren, DER/PEM-Export.
sgcCrypto_ECIESSignaturen & SchlüsselaustauschECIES-Seal-/-Open-Hybridverschlüsselung über X25519.
sgcCrypto_ASN1PKIDER-Reader, PEM-Codec, PKCS#1-/SEC-1-Schlüsselparsing.
sgcCrypto_DERPKIDER-Writer-Primitiven.
sgcCrypto_BigIntegerPKIInterne Arithmetik mit beliebiger Genauigkeit.
sgcCrypto_X509PKIX.509 parsen, verifizieren, Kette, CRL, Widerruf.
sgcCrypto_X509_GenPKIErzeugung von selbstsigniertem Zertifikat und PKCS#10-CSR.
sgcCrypto_MLKEMPost-QuantenML-KEM-Schlüsselkapselung (FIPS 203), 3 Parametersätze.
sgcCrypto_MLKEM_PolyPost-QuantenInterne Polynomring-Arithmetik hinter ML-KEM.
sgcCrypto_MLKEM_HybridPost-QuantenHybride X25519- + ML-KEM-Schlüsselkapselung.
sgcCrypto_MLDSAPost-QuantenML-DSA-Digitalsignaturen (FIPS 204), 3 Parametersätze.
sgcCrypto_MLDSA_PolyPost-QuantenInterne Polynomring-Arithmetik hinter ML-DSA.
sgcCrypto_SLHDSAPost-QuantenSLH-DSA-Signaturen (FIPS 205), 6 SHAKE-Parametersätze.
sgcCrypto_OTPOTP & SonstigesHOTP, TOTP, konstantzeitiges Verifikationsfenster.
sgcCrypto_EncodingOTP & SonstigesKonstantzeitiger Vergleich, sicheres Nullsetzen, Hex/Base64url/Base32.
sgcCrypto_Zip_AE2OTP & SonstigesWinZip-AES-Verschlüsselung für ZIP-Einträge, AE-1 / AE-2.
sgcCrypto_LegacyOTP & SonstigesMD4, MD5, HMAC-MD5, DES-ECB, nur für Interoperabilität.
sgcCrypto_RandomOTP & SonstigesPlattformübergreifender CSPRNG.
sgcCrypto_Int64OTP & SonstigesInterne 64-Bit-Integer-Emulation für Delphi 7.

Verschlüsselung & MACs

AES in den Modi, die Produktionscode tatsächlich nutzt, plus die ChaCha20-/Poly1305-AEAD-Familie.

FähigkeitFunktionHinweise
AES-CBCsgcAES_CBC_Encrypt / sgcAES_CBC_DecryptPKCS#7-Padding, 16-Byte-IV. Die Schlüssellänge wählt die Chiffre: 16/24/32 Byte = AES-128/192/256.
AES-GCM (AEAD)sgcAES_GCM_Encrypt / sgcAES_GCM_DecryptEmpfohlen: 12-Byte-IV. 16-Byte-Tag, in konstanter Zeit verglichen; Decrypt gibt bei fehlgeschlagenem Tag False und leeren Klartext zurück.
AES-CTRsgcAES_CTRSRTP-artiges AES-CM (RFC 3711). Symmetrischer Aufruf, kein Padding, 128-Bit-Big-Endian-Zähler.
AES-ECBsgcAES_ECB_Encrypt / sgcAES_ECB_DecryptKein IV, kein Chaining. Enthalten zur Interoperabilität mit Formaten, die es vorschreiben.
AES-OFB / AES-CFBsgcAES_OFB, sgcAES_CFB_Encrypt / sgcAES_CFB_DecryptFeedback-Modi im Stream-Cipher-Stil.
AES-CTSsgcAES_CTS_Encrypt / sgcAES_CTS_DecryptCiphertext Stealing: verschlüsselt Daten, die kein Vielfaches der Blockgröße sind, ohne Padding-Overhead.
AES Key WrapsgcAES_KeyWrap / sgcAES_KeyUnwrapRFC 3394, zum Verpacken eines Schlüssels unter einem anderen.
AES Key Wrap with PaddingsgcAES_KeyWrapPad / sgcAES_KeyUnwrapPadRFC 5649, für Schlüsselmaterial, das kein Vielfaches von 8 Byte ist.
AES-CMACsgcAES_CMAC / sgcAES_CMAC_VerifyRFC 4493 Nachrichtenauthentifizierungscode.
Low-Level-BlockprimitivensgcAES_ExpandKey, sgcAES_EncryptBlock, sgcAES_DecryptBlockFür die obigen Modus- und MAC-Units freigelegt; direkt aufrufen nur, um einen noch nicht bereitgestellten Modus zu bauen.
ChaCha20sgcChaCha20RFC 8439, 96-Bit-Nonce, 32-Bit-Zähler.
XChaCha20sgcXChaCha20192-Bit-erweiterte Nonce, sicher für zufällige Nonce-Erzeugung in großem Umfang.
Salsa20 / XSalsa20sgcSalsa20 / sgcXSalsa20Die Vorgänger-Stream-Cipher-Familie, beide Nonce-Größen.
Subkey-AbleitungsgcHChaCha20 / sgcHSalsa20Was die X-Varianten intern nutzen, um einen Subkey aus den ersten 16 Nonce-Bytes abzuleiten.
Poly1305-MACsgcPoly1305 / sgcPoly1305_VerifyEinmal-Authentifikator, RFC 8439. Einen Poly1305-Schlüssel nie wiederverwenden.
ChaCha20-Poly1305 AEADsgcChaCha20Poly1305_Encrypt / _DecryptDie AEAD-Chiffre hinter der zweiten Cipher-Suite von TLS 1.3 und SSH.
XChaCha20-Poly1305 AEADsgcXChaCha20Poly1305_Encrypt / _DecryptDieselbe AEAD, 192-Bit-Nonce, die Konstruktion, die libsodium crypto_aead_xchacha20poly1305_ietf nennt.

Digests, MACs & Passwort-Hashing

Jede gängige Hash-Familie, plus PBKDF2, HKDF, scrypt und alle drei Argon2-Varianten.

FähigkeitFunktionHinweise
SHA-1 / SHA-2sgcSHA1, sgcSHA224, sgcSHA256, sgcSHA384, sgcSHA512FIPS 180-4. SHA-1 bleibt aus Interoperabilitätsgründen erhalten, nicht empfohlen für neue Signaturen.
SHA-3sgcSHA3_224 / _256 / _384 / _512FIPS 202, der Keccak-Schwamm, strukturell unabhängig von SHA-2.
SHAKE128 / SHAKE256sgcSHAKE128 / sgcSHAKE256Extendable-Output-Funktionen: fordere jede beliebige Digest-Länge an.
cSHAKE128 / cSHAKE256sgcCSHAKE128 / sgcCSHAKE256Domain-getrenntes SHAKE, NIST SP 800-185, die Basis für KMAC.
KMAC128 / KMAC256sgcKMAC128 / sgcKMAC256Keccak-basierter MAC mit variabler Ausgabelänge.
BLAKE2bsgcBlake2b / sgcBlake2b_KeyedRFC 7693, Digests bis zu 64 Byte, eingebautes Keying (keine separate HMAC nötig).
BLAKE2ssgcBlake2s / sgcBlake2s_KeyedRFC 7693, Digests bis zu 32 Byte, optimiert für 32-Bit-Plattformen.
Streaming-DigestssgcBlake2b_Init/_Update/_Final, entsprechende Aufrufe für Keccak/Blake2sZum Hashen von Daten, die zu groß sind, um sie auf einmal im Speicher zu halten.
HMACsgcHMAC_SHA1 / _SHA256 / _SHA384 / _SHA512RFC 2104 Keyed Hashing über die SHA-1/2-Familie.
PBKDF2sgcPBKDF2, sgcPBKDF2_SHA1 / _SHA256 / _SHA512RFC 8018. Nur mäßig speicherhart; bevorzuge Argon2id oder scrypt, wenn du wählen kannst.
HKDFsgcHKDF_Extract_SHA256 / _SHA384, sgcHKDF_Expand_SHA256 / _SHA384, sgcHKDF_SHA256 / _SHA384RFC 5869, Extract-then-Expand-Schlüsselableitung, der Standardweg, ein geteiltes Geheimnis in mehrere Schlüssel zu verwandeln.
scryptsgcScryptRFC 7914, speicherhart, widersteht GPU-/ASIC-Angriffen weit besser als PBKDF2.
Argon2sgcArgon2 (d / i / id), sgcArgon2id-KomfortwrapperRFC 9106, der Gewinner der Password Hashing Competition. Vollständige Schnittstelle mit optionalem Secret (Pepper) und Associated Data.
SipHash-2-4sgcSipHash24 / sgcSipHash24_ValueSchnelle Keyed PRF für Hashtable-Schlüssel, widersteht Hash-Flooding-Denial-of-Service.
TLSH Fuzzy HashsgcTLSH, sgcTLSH_Init/_Update/_FinalLokalitätssensitiver Hash zur Erkennung von Near-Duplicates, kein kryptographischer Digest.
TLSH-ÄhnlichkeitswertsgcTLSH_DiffDistanz zwischen zwei TLSH-Digests; kleiner bedeutet ähnlicher.

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

Signiere, verifiziere und leite gemeinsame Geheimnisse über fünf unterschiedliche Kurvenfamilien plus RSA ab.

FähigkeitFunktionHinweise
Ed25519 signieren / verifizierensgcEd25519_Sign / sgcEd25519_VerifyRFC 8032. 32-Byte-Public-Key, 64-Byte-Signatur. Verify weist nicht-kanonische Punkte und S >= L gemäß Abschnitt 5.1.7 zurück.
X25519-SchlüsselaustauschsgcX25519, sgcX25519_PublicKey, sgcX25519_SharedSecretRFC 7748 Diffie-Hellman über Curve25519.
Ed448 signieren / verifizierensgcEd448_GenerateKeyPair, sgcEd448_Sign, sgcEd448_VerifyRFC 8032, die 448-Bit-EdDSA-Kurve (Goldilocks).
X448-SchlüsselaustauschsgcX448, sgcX448_PublicKey, sgcX448_SharedSecretRFC 7748 Diffie-Hellman über Curve448.
secp256k1sgcECDSA_SignHash / VerifyHash mit eccSecp256k1Die Bitcoin-/Ethereum-Kurve, SEC 2, in sgcCrypto_ECCurves.
Brainpool P256r1 / P384r1 / P512r1dieselben Funktionen mit eccBrainpoolP256r1 / P384r1 / P512r1RFC 5639, verbreitet in EU-eIDAS- und Behördenprofilen.
Deterministische ECDSA-Nonceeingebaut in sgcECDSA_SignHashRFC 6979: Die Nonce wird aus dem privaten Schlüssel und der Nachricht abgeleitet, kein RNG-Fehlermodus.
ECDH (secp256k1 / Brainpool)sgcECDH_SharedSecretGemeinsames Geheimnis über dieselben vier Kurven.
PunktkompressionsgcEC_Compress / sgcEC_DecompressSpeichere oder übertrage die kürzere komprimierte Public-Key-Form.
EC als JWS (ES256/384/512)sgcECDSA_SignJWS / sgcECDSA_VerifyJWSKurve automatisch aus der angeforderten Bitlänge gewählt, direkt aus einem PEM-Schlüssel signieren/verifizieren, JOSE-orientiertes Gegenstück zu ECCurves.
Generisches ECDHsgcECDHGemeinsames Geheimnis aus einem rohen privaten Schlüssel und dem öffentlichen Punkt der Gegenseite.
Rohes / DER-ECDSA-VerifysgcECDSA_VerifyRaw / sgcECDSA_VerifyDERVerifiziert gegen ein rohes (Qx, Qy, r, s)-Tupel oder eine DER-kodierte Signatur.
RSA signieren (PKCS#1 v1.5)sgcRSA_SignPKCS1Aus einem PEM-Private-Key, SHA-1/256/384/512-Digest.
RSA verifizieren (PKCS#1 v1.5 / PSS)sgcRSA_VerifyPKCS1, sgcRSA_VerifyPSS, sowie _Raw-Varianten über Modulus/ExponentRFC 8017. Verify funktioniert aus einem PEM-Schlüssel oder rohem Modulus und Exponent, ohne Konstruktion eines Key-Objekts.
RSA-SchlüsselerzeugungsgcRSA_GenerateKeyJede angeforderte Bitlänge, Miller-Rabin-Primzahltest.
RSA-OAEP-VerschlüsselungsgcRSA_OAEP_Encrypt / sgcRSA_OAEP_DecryptRFC 8017 Optimal Asymmetric Encryption Padding.
RSA-PSS-/PKCS#1-SignierungsgcRSA_PSS_Sign / Verify, sgcRSA_PKCS1_Sign / VerifySigniere direkt aus einem erzeugten TsgcRSAPrivateKey.
RSA-SchlüsselexportsgcRSA_ExportPrivateKeyPEM, sgcRSA_ExportPublicKeyPEM, entsprechende DER-AufrufePKCS#1- und SubjectPublicKeyInfo-Kodierungen.
ECIES Seal / OpensgcECIES_GenerateKeyPair, sgcECIES_Seal, sgcECIES_OpenHybridverschlüsselung an einen X25519-Public-Key: ephemeres ECDH plus ein AEAD, ein Aufruf pro Richtung.

X.509-Zertifikate & ASN.1

Lies ein Zertifikat, das jemand anderes ausgestellt hat, oder erzeuge selbst eines, mit einem DER-Encoder und -Decoder unter beidem.

FähigkeitFunktionHinweise
DER-ReadersgcASN1_Read, sgcASN1_Next, sgcASN1_ContentDurchläuft eine DER-Struktur Knoten für Knoten.
PEM-CodecsgcPEM_Decode / sgcPEM_EncodeRFC 7468, der -----BEGIN ... -----END-Wrapper um DER.
RSA-Schlüssel-ParsingsgcASN1_ParseRSAPrivateKey / PublicKeyPKCS#1- (RFC 8017) Schlüsselstrukturen.
EC-Schlüssel-ParsingsgcASN1_ParseECPrivateKey / PublicKeySEC-1-Schlüsselstrukturen.
DER-Writer, strukturellsgcDER_Sequence, sgcDER_Set, sgcDER_Tagged, sgcDER_ContextExplicit / ImplicitDie Bausteine, aus denen jedes Zertifikatsfeld zusammengesetzt wird.
DER-Writer, WertesgcDER_Integer, sgcDER_OctetString, sgcDER_BitString, sgcDER_Boolean, sgcDER_NullPrimitive Wert-Encoder.
DER-Writer, Strings & IdentifikatorensgcDER_OID, sgcDER_UTF8String, sgcDER_PrintableString, sgcDER_IA5String, sgcDER_TimeObjektbezeichner, die drei String-Typen, die X.509 verwendet, sowie UTCTime/GeneralizedTime.
Zertifikats-ParsingsgcX509_ParseVollständige Zertifikatsstruktur: Subject, Issuer, Gültigkeit, Public Key, Erweiterungen.
Signatur-/Ketten-VerifikationsgcX509_VerifySignedBy, sgcX509_VerifyChainVerifiziere ein Zertifikat gegen einen Aussteller, oder durchlaufe und verifiziere ein Array von DER-Zertifikaten.
CRL-Parsing & WiderrufsgcX509_CRL_Parse, sgcX509_IsRevoked, sgcX509_CRL_VerifySignedByParst eine Certificate Revocation List und prüft eine Seriennummer dagegen.
NamensformatierungsgcX509_SubjectRFC2253, sgcX509_IssuerRFC2253, sgcX509_SubjectOneLineRFC-2253-Distinguished-Name-Strings, für Logging und Anzeige.
Erweiterungen & SANssgcX509_GetExtension, sgcX509_GetCRLDistributionURIsLiest beliebige Erweiterungs-OIDs und CRL-Distribution-Point-URIs.
Erzeugung selbstsignierter ZertifikatesgcX509_CreateSelfSignedVollständige TsgcX509Options: Subject-DN, Gültigkeitsfenster, Seriennummer, CA-Flag mit Pfadlängenbeschränkung, Key Usage, Extended Key Usage, Subject Alternative Names (einschließlich IPv4-SANs).
PKCS#10-CSR-ErzeugungsgcX509_CreateCSRRFC-2986-Certificate-Signing-Request aus demselben Optionen-Record.
PEM-AusgabesgcX509_ToPEMVerpackt den erzeugten DER als speicherfertige PEM-Datei.

ML-KEM, ML-DSA & SLH-DSA

Die drei Algorithmen, die NIST im August 2024 als FIPS 203, 204 und 205 finalisiert hat, plus ein Hybrid-Combiner für die Übergangszeit.

FähigkeitFunktionHinweise
ML-KEM-SchlüsselerzeugungsgcMLKEM_GenerateKeyPair, sgcMLKEM_GenerateKeyPairFromSeedFIPS 203, früher Kyber. Drei Parametersätze: mlkem512, mlkem768, mlkem1024.
ML-KEM-EncapsulatesgcMLKEM_Encapsulate, sgcMLKEM_EncapsulateWithSeedErzeugt ein frisches 32-Byte-gemeinsames-Geheimnis und den Chiffretext, der es trägt.
ML-KEM-DecapsulatesgcMLKEM_DecapsulateSchlägt nie fehl: Ein fehlerhafter Chiffretext liefert ein pseudozufälliges Geheimnis (implizite Zurückweisung) statt eines Fehlers, sodass Timing und Fehlerverhalten nichts preisgeben.
ML-KEM-GrößensgcMLKEM_PublicKeySize, PrivateKeySize, CiphertextSize, SharedSecretSizeBytelängen pro Parametersatz, zur Pufferdimensionierung.
Hybrid X25519 + ML-KEMsgcHybrid_GenerateKeyPair, sgcHybrid_Encapsulate, sgcHybrid_DecapsulateKombiniert ein klassisches und ein Post-Quanten-gemeinsames-Geheimnis über eine KDF, sodass das Ergebnis nie schwächer ist als X25519 allein. Der empfohlene Weg, ML-KEM heute einzusetzen.
ML-DSA-SchlüsselerzeugungsgcMLDSA_GenerateKeyPair, sgcMLDSA_GenerateKeyPairFromSeedFIPS 204, früher Dilithium. Drei Parametersätze: mldsa44, mldsa65, mldsa87.
ML-DSA signieren / verifizierensgcMLDSA_Sign / sgcMLDSA_VerifyDeterministisch oder randomisiert signierend gemäß der FIPS-204-Schnittstelle, plus einem Kontext-String.
ML-DSA-GrößensgcMLDSA_PublicKeySize, PrivateKeySize, SignatureSizeBytelängen pro Parametersatz.
SLH-DSA-SchlüsselerzeugungsgcSLHDSA_GenerateKeyPair, sgcSLHDSA_GenerateKeyPairFromSeedFIPS 205, früher SPHINCS+. Zustandslose hashbasierte Signaturen: Die Sicherheit ruht allein auf der Hash-Funktion, nicht auf einer Gitter- oder Kurvenannahme.
SLH-DSA signieren / verifizierensgcSLHDSA_Sign / sgcSLHDSA_VerifySechs SHAKE-Parametersätze: slhShake128s, slhShake128f, slhShake192s, slhShake192f, slhShake256s, slhShake256f. Die s-Sätze bevorzugen kleine Signaturen, die f-Sätze bevorzugen schnelles Signieren.
SLH-DSA-Größen & BenennungsgcSLHDSA_PublicKeySize, PrivateKeySize, SignatureSize, sgcSLHDSA_ParamsNameSLH-DSA-Signaturen sind groß (7,8 KB bis 49 KB je nach Satz); den Puffer vor dem Signieren dimensionieren.

sgcCrypto beansprucht nicht, ed25519187 oder SPECK zu unterstützen. ed25519187 hat keine veröffentlichte Spezifikation, und SPECK wurde 2018 aus der ISO-Standardisierung zurückgezogen; keins von beiden ist hier implementiert.

Einmalpasswörter, Codecs & verschlüsseltes ZIP

Die Nutzschicht: Einmalcodes, die Kodierungen, auf die sich jede andere Familie stützt, und WinZip-AES-Verschlüsselung.

FähigkeitFunktionHinweise
HOTPsgcHOTPRFC 4226, zählerbasiertes Einmalpasswort.
TOTPsgcTOTP, sgcTOTP_FromBase32RFC 6238, zeitbasiertes Einmalpasswort; die Base32-Variante akzeptiert das Secret genau so, wie es eine Authenticator-App anzeigt.
TOTP-VerifikationsgcTOTP_VerifyPrüft einen eingereichten Code über ein Zeitfenster in konstanter Zeit, sodass weder das Ergebnis noch seine Position über Timing durchsickert. Verhindert Replay nicht selbst; der Aufrufer verfolgt bereits genutzte Codes.
Konstantzeitiger VergleichsgcConstantTimeEqualsWird in der gesamten Bibliothek für Tag- und MAC-Vergleiche verwendet.
Sicheres NullsetzensgcSecureZeroÜberschreibt einen Byte-Puffer, damit Schlüsselmaterial nicht im Speicher verweilt.
HexsgcHexEncode / sgcHexDecodeKleinbuchstaben-Hex, Groß-/Kleinschreibung wird beim Decodieren ignoriert.
Base64urlsgcBase64UrlEncode / sgcBase64UrlDecodeRFC 4648 Abschnitt 5, ungepolstert, die Kodierung, die JWT und JOSE verwenden.
Base32sgcBase32Encode / sgcBase32DecodeRFC 4648 Abschnitt 6, die Kodierung, die TOTP-Secrets und Authenticator-Apps verwenden.
WinZip-AES-SchlüsselableitungsgcZipAE2_DeriveKeysPBKDF2-basierter Schlüssel, Authentifizierungsschlüssel und Passwort-Verifier aus einem Passwort und Salt.
WinZip-AES verschlüsseln / entschlüsselnsgcZipAE2_Encrypt / sgcZipAE2_DecryptAE-1 und AE-2, AES-128/192/256, Salt-Größe pro Eintrag über TsgcZipAESStrength.
WinZip-EintragspackungsgcZipAE2_PackEntry / sgcZipAE2_UnpackEntryKombiniert Salt, Verifier, Chiffretext und Authentifizierungscode zum Layout auf der Festplatte.
WinZip-Extra-FeldsgcZipAE2_BuildExtraField / sgcZipAE2_ParseExtraFieldDas Extra-Feld 0x9901, das einen ZIP-Eintrag als AES-verschlüsselt markiert.
Legacy-Hashes (nur Interop)sgcMD4, sgcMD5, sgcHMAC_MD5Erhalten zum Lesen älterer Formate und Protokolle; nicht in einem neuen Design verwenden.
Legacy-Chiffre (nur Interop)sgcDES_EncryptECB / sgcDES_DecryptECB, sgcDES_NTLM7to8DES-ECB und der DES-basierte NTLM-Schlüsselerweiterungsschritt, beide zurückgezogen (FIPS 46-3), erhalten für Legacy-Interoperabilität.
Sichere ZufallsbytessgcRandomBytes / sgcRandomFillWindows CryptoAPI unter MSWINDOWS, /dev/urandom anderswo, ein Aufruf für beide Fälle.

Wo sgcCrypto läuft

Was unterstützt wird, präzise angegeben.

BereichDetail
BetriebssystemKein MSWINDOWS-Guard und keine andere Plattformsperre umschließt SGC_CRYPTO in sgcVer.inc. Alle 43 Units kompilieren für Win32, Win64, Linux64, macOS, iOS und Android.
ZufallszahlenquelleDie eine plattformbewusste Unit, sgcCrypto_Random, wählt pro Ziel ein CSPRNG: die Windows CryptoAPI unter MSWINDOWS, /dev/urandom auf POSIX-Zielen, hinter demselben sgcRandomBytes-Aufruf.
DelphiDelphi 7 bis RAD Studio 13 Florence. Es wird nirgends ein nativer 64-Bit-Integer-Typ vorausgesetzt: sgcCrypto_Int64 und der Typ TsgcBigInt in sgcCrypto_BigInteger emulieren die Arithmetik, die die Hashes, Kurven und Post-Quanten-Units brauchen.
C++ BuilderC++ Builder über die generierten Header, derselbe Quellbaum.
Design-Time-FootprintKeiner. Es gibt keine sgcCrypto_Reg.pas, nichts wird per RegisterComponents registriert, und keine Unit erscheint auf einer Palettenseite.
AbhängigkeitenKeine OpenSSL-Anbindung, keine externe DLL. Jede Primitive ist direkt in Object Pascal innerhalb der Unit implementiert, die du referenzierst.
QuellcodeVollständiger Object-Pascal-Quellcode in jeder kostenpflichtigen Stufe, sowie in den Editionspaketen, die sgcCrypto bereits enthalten.
WeiterverbreitungVon dir gebaute Binärdateien sind lizenzgebührenfrei, ohne Pro-Platz- oder Pro-Server-Laufzeitgebühr.
Bestes Preis-Leistungs-Verhältnis: All-AccessAlle eSeGeCe-Produkte, inklusive Premium-Support, ab €1,059 pro Jahr.
All-Access-Preise ansehen

Entwickle mit sgcCrypto

Lade die kostenlose Testversion herunter und rufe eine Funktion auf, keine Komponente nötig.