sgcWebSockets Standard'dan itibaren dahil Ayrıca bağımsız olarak satılır

sgcCrypto — Delphi ve C++ Builder için Modern Bir Kriptografi Kütüphanesi

43 saf Object Pascal birimi, bileşen yok, tasarım zamanı izi yok: TBytes içeri girer, TBytes dışarı çıkar. Şifreleme için AES-GCM ve ChaCha20-Poly1305, hashing için SHA-3/BLAKE2/Argon2, imzalar ve anahtar değişimi için Ed25519/X25519/RSA, X.509 sertifika ayrıştırma ve üretimi, ve anahtarları ile sertifikaları diğer her şeyle aynı X.509, PKCS#8 ve PEM dosyalarına giren kuantum sonrası ML-KEM, ML-DSA ve SLH-DSA. Paket ayrıca aynı Object Pascal ile yazılmış, iohNativeTLS ile seçilen ve varsayılan olarak X25519MLKEM768 hibrit anahtar değişimi açık gelen bir TLS 1.3 ve TLS 1.2 motoru da taşır. Her ilkel, uses cümlenize eklediğiniz birimin içinde doğrudan uygulanır: harici bir DLL yoktur, OpenSSL bağlaması yoktur, ve aynı kaynak Delphi 7'den RAD Studio 13'e kadar değişmeden derlenir. sgcCrypto, sgcWebSockets Standard, Professional ve Enterprise ile birlikte ücretsiz gelir, ve yalnızca Core'a sahip müşteriler için de bağımsız olarak satılır (sgcWebSockets Core çalışma zamanını pakete dahil ederek).

Tam kaynak kodu
Win32, Win64, Linux64, macOS, iOS ve Android
Delphi 7 → 13, Değişmeden
Sıfır Harici Bağımlılık
43 saf fonksiyon sgcCrypto_*.pas Bileşen yok. Bir fonksiyon çağırın, bayt geri alın.
AES-GCM sgcAES_GCM_Encrypt
ChaCha20-Poly1305 sgcChaCha20Poly1305_Encrypt
SHA-3 / SHAKE sgcSHA3_256
Ed25519 / X25519 sgcEd25519_Sign
RSA-PSS sgcRSA_PSS_Sign
ML-KEM / ML-DSA sgcMLKEM_Encapsulate
X.509 / CSR sgcX509_CreateSelfSigned

sgcCrypto'yu İki Dakikada Görün

Delphi için modern kriptografi: AES-GCM, SHA-3, Ed25519, X.509 ve post-kuantum ML-KEM; dağıtmanız gereken hiçbir OpenSSL DLL'i yok.

43 Saf fonksiyon birimi sgcCrypto_*.pas, sıfır bileşen
6 Yetenek ailesi Simetrik, hashing, imzalar, PKI, PQC, OTP
6 Hedef platform Win32, Win64, Linux64, macOS, iOS, Android
3 Kuantum sonrası FIPS standardı ML-KEM (203), ML-DSA (204), SLH-DSA (205)
2 Sahip olma yolu Bir sürüme dahil, ya da bağımsız

Önce Bilmeye Değer Üç Şey

sgcCrypto'nun ne olduğu, buna zaten sahip olup olmadığınız ve nerede çalıştığı. Üç yanıt da kısa.

sgcCrypto saf fonksiyonlardır, bileşen değil

43 birimin her biri sade fonksiyonlar ve yordamlar dışa aktarır. Bir Tsgc* sınıfı yoktur, hiçbir şey RegisterComponents'lanmaz ve bir sgcCrypto_Reg.pas yoktur. sgcAES_GCM_Encrypt(aKey, aIV, aPlain, aAAD, aTag)'i, herhangi bir RTL fonksiyonunu çağıracağınız şekilde, bir formdan, bir hizmetten, bir konsol uygulamasından veya bir iş parçacığından çağırırsınız.

Tam kaynak kodu her lisansla birlikte gelir, böylece ilkeller bir ikili dosyanın veya bir DLL'in içinde kaybolmak yerine kendi hata ayıklayıcınızda adım adım izlenir.

Sürüm örtüşmesi

Zaten bir sgcWebSockets sürümüne mi sahipsiniz?

sgcCrypto, sgcWebSockets Standard, Professional ve Enterprise'ın içinde, ayrıca All-Access'in içinde, ek bir ücret olmadan gelir. Standard'dan itibaren herhangi bir sürüm lisansına zaten sahipseniz, 43 birimin tamamına zaten sahipsiniz, satın alınacak başka bir şey yoktur.

sgcCrypto, tersi durum için bağımsız olarak da vardır: yalnızca sgcWebSockets Core'a sahipsiniz, ya da hiç sgcWebSockets lisansınız yok, ve tam bir sürüm lisanslamadan kripto birimlerini istiyorsunuz.

Platform kapsamı

sgcCrypto'da platform kısıtlaması yoktur

Yapay zeka veya konuşma paketlerinin aksine, sgcVer.inc içinde sgcCrypto'yu Windows ile sınırlayan hiçbir şey yoktur. Birimler sıradan Object Pascal aritmetiğidir, bu yüzden aynı kaynaktan Win32, Win64, Linux64, macOS, iOS ve Android için derlenirler.

Tek platform-farkındalıklı birim olan sgcCrypto_Random, hedef başına bir CSPRNG arka ucu seçer (Windows'ta BCryptGenRandom, başka yerlerde /dev/urandom), hepsi aynı sgcRandomBytes çağrısının arkasında; böylece kodunuz platforma göre dallanmaz.

43 Birim, Altı Yetenek Ailesi

Her birim, herhangi bir Delphi 7'den 13'e ya da C++ Builder projesinden çağrılabilen derlenmiş Object Pascal'dır. Harici bir DLL, OpenSSL bağlaması veya kod üreticisi yoktur: ilkeller, uses cümlenize eklediğiniz birimin içinde doğrudan uygulanır.

Simetrik5 birim

AES, ChaCha20 ve üzerine kurulu AEAD yapıları

sgcCrypto_AES, CBC, GCM ve CTR'yi kapsar; sgcCrypto_Modes, ECB, OFB, CFB, şifreli metin çalma (CTS), AES-CCM ve AES Key Wrap / Padding'li Key Wrap'i ekler (RFC 3394 / 5649); sgcCrypto_CMAC, AES-CMAC ve AES-GMAC'tır. sgcCrypto_ChaCha, ChaCha20, XChaCha20, Salsa20 ve XSalsa20'yi uygular, ve sgcCrypto_Poly1305, Poly1305'i bunlarla eşleştirerek RFC 8439'daki ChaCha20-Poly1305 ve XChaCha20-Poly1305 AEAD şifrelerine dönüştürür. AES-CCM, Zigbee'nin, Bluetooth'un ve TLS CCM paketlerinin isim olarak belirttiği AEAD'dir, çünkü blok şifrenin kendisinin ötesinde hiçbir şeye ihtiyaç duymaz, ve CBC ile ECB, başka bir sistemin ne yazdığını okumak zorunda kaldığınız gün için, seçtiğiniz dolgu şemasını (PKCS#7, ANSI X9.23, ISO 7816-4 ve gerisini) alabilir. sgcAES_GCM_Decrypt ve Poly1305 doğrulayıcıları, kimlik doğrulama etiketini sabit zamanda karşılaştırır ve etiket başarısız olduğunda düz metni döndürmeyi reddeder.

Hashing ve KDF11 birim

SHA-2, SHA-3, BLAKE2 ve her yaygın KDF

sgcCrypto_SHA2 ve sgcCrypto_Keccak, SHA-1/2, SHA-3, SHAKE, cSHAKE ve KMAC'i kapsar; sgcCrypto_Blake2b ve sgcCrypto_Blake2s, BLAKE2'yi ekler. sgcCrypto_HMAC, anahtarlı mesaj kimlik doğrulamasıdır. Bir parolayı bir anahtara dönüştürmek için: sgcCrypto_KDF (PBKDF2), sgcCrypto_HKDF, sgcCrypto_Scrypt ve Argon2'nin üç varyantının tamamını (d, i ve id) uygulayan, Password Hashing Competition kazananı sgcCrypto_Argon2. sgcCrypto_SipHash, hash tablosu anahtarları için hızlı bir anahtarlı hash verir, ve sgcCrypto_TLSH, kriptografik bir özet değil, benzer-yakın tespit için yararlı bir benzerlik-mesafe fonksiyonuna sahip bulanık bir hash'tir.

İmzalar ve anahtar değişimi10 birim

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

sgcCrypto_Ed25519/Ed448 imzalar ve doğrular; sgcCrypto_X25519/X448, eşleşen Diffie-Hellman'ı yapar. sgcCrypto_ECCurves, yedi eğri üzerinde, secp256k1, üç Brainpool eğrisi ve NIST P-256/P-384/P-521 üzerinde, RFC 6979 deterministik nonce'larıyla ve ham veya DER biçiminde imzalarla ECDSA ve ECDH ekler, ve üstüne, Taproot'un, Nostr'un ve Lightning'in beklediği yalnızca-x açık anahtarlarıyla BIP-340 Schnorr imzalama ekler. sgcCrypto_EC, JOSE odaklı kardeşidir: bir JWS'i doğrudan imzalar ve doğrular, ES256/384/512. sgcCrypto_RSA, bir PEM anahtarından doğrudan PKCS#1 v1.5 ve PSS imzalarını doğrular, ve sgcCrypto_RSA_Keys, herhangi bir bit uzunluğunda anahtar üretimi, OAEP ve PKCS#1 v1.5 şifrelemesi, ve hem PKCS#1 hem de PKCS#8 BEGIN PRIVATE KEY biçiminde DER/PEM dışa aktarımıyla daha da ileri gider. RSA ve EC anahtarları, dışa aktarıldıkları kadar kolayca, DER veya PEM olarak içe de aktarılır; bu yüzden bir kez üretilen bir anahtar, yalnızca sürecin ömrü kadar değil, kaydedilip yeniden yüklenebilir. sgcCrypto_ECIES, bir X25519 genel anahtarına hibrit mühürleme/açma şifrelemesiyle bunu tamamlar.

sgcCrypto_Ed25519 sgcCrypto_ECCurves sgcCrypto_RSA_Keys RFC 8032 · RFC 7748 · RFC 8017
PKI5 birim

X.509 sertifikalarını okuyun, doğrulayın ve üretin

sgcCrypto_ASN1, DER ve PEM'i okur ve PKCS#1/SEC 1 anahtarlarını ayrıştırır; sgcCrypto_DER, bir sertifikanın veya CSR'ın ihtiyaç duyduğu her etiketi yazar. sgcCrypto_X509, bir sertifikayı ayrıştırır, belirli bir yayıncı tarafından imzalandığını doğrular, bir zinciri yürüyüp doğrular, bir CSR'ı doğrular ve iptali kontrol etmek için bir CRL'yi ayrıştırır. sgcCrypto_X509_Gen, sıfırdan bir kendinden imzalı sertifika veya bir PKCS#10 CSR üretir, bir CA ise sgcX509_CreateSigned ya da sgcX509_CreateSignedFromCSR ile yayınlar: tam konu ve yayıncı ayırt edici adı, geçerlilik penceresi, yol uzunluğu kısıtlamalı CA bayrağı, anahtar kullanımı bayrakları, genişletilmiş anahtar kullanımı OID'leri ve artık RFC 4291'in herhangi bir metin biçimindeki IPv6 adreslerini de kabul eden IP adresi SAN'ları ile SPIFFE tarzı hizmet kimlikleri için URI SAN'ları dahil konu alternatif adları.

İmzalama artık RSA ve EC ile sınırlı değildir. sgcX509_MLDSAKey ve sgcX509_SLHDSAKey, kuantum sonrası bir anahtarı sgcX509_CreateSelfSignedEx ve sgcX509_CreateCSREx için sarmalar, böylece bir sertifika ya da bir CSR ML-DSA veya SLH-DSA ile imzalanabilir. Bir CA ayrıca, imzalayamayan bir ML-KEM genel anahtarını da sertifikalandırabilir (RFC 9935); bu durumda sahiplik başka bir yolla kanıtlanmalıdır. Okuma tarafında TsgcX509PublicKeyType türüne x509pkMLDSA, x509pkSLHDSA ve x509pkMLKEM eklendi, ve sgcX509_VerifyChain artık basicConstraints yol uzunluğunu ve nameConstraints uzantısını dNSName, iPAddress, rfc822Name, uniformResourceIdentifier ve directoryName üzerinde zorunlu kılar; üretim tarafında bunlar PermittedDNSNames, ExcludedDNSNames, PermittedIPRanges ve ExcludedIPRanges ile yazılır. Bir EC sertifikası hâlâ bir RSA sertifikasının kabaca üçte biri boyutunda çıkar ve çok daha hızlı doğrulanır; yeni dağıtımların birine başvurmasının nedeni budur.

sgcCrypto_X509 sgcCrypto_X509_Gen sgcCrypto_ASN1 RFC 5280 · RFC 2986 · RFC 9881 · RFC 9909 · RFC 9935
Kuantum sonrası6 birim

ML-KEM, ML-DSA ve SLH-DSA, artı bir hibrit birleştirici

sgcCrypto_MLKEM, üç parametre setiyle (ML-KEM-512/768/1024) FIPS 203 anahtar kapsülleme yapar. sgcCrypto_MLDSA, FIPS 204 imzalamadır, ML-DSA-44/65/87. sgcCrypto_SLHDSA, FIPS 205'tir, altı SHAKE parametre setinin tamamı: 128s, 128f, 192s, 192f, 256s, 256f. ML-KEM tek başına her şeyi eliptik eğrilerden daha genç bir kafes varsayımına bağladığından, sgcCrypto_MLKEM_Hybrid, bir X25519 gizli anahtarını ve bir ML-KEM gizli anahtarını tek bir paylaşılan anahtarda birleştirir; böylece sonuç asla klasik yarıdan daha zayıf olmaz — sektörün yakınsadığı geçiş deseni budur.

Aynı birim, X25519 ile ML-KEM-768'i tek bir KEM olarak birleştiren X-Wing'i (draft-connolly-cfrg-xwing-kem-10) de uygular: 1216 baytlık bir genel anahtar, 32 baytlık bir özel anahtar (tohum), 1120 baytlık bir şifreli metin ve 32 baytlık bir paylaşılan gizli anahtar; sgcXWing_GenerateKeyPair, sgcXWing_Encapsulate ve sgcXWing_Decapsulate üzerinden. Ayrıca X25519MLKEM768, SecP256r1MLKEM768 ve SecP384r1MLKEM1024 için RFC 10024'ün TLS 1.3 hibrit anahtar paylaşımlarını oluşturur (IANA kod noktaları 0x11EC, 0x11EB ve 0x11ED). Bu üçü bağımsız KEM değildir, yalnızca bir TLS anahtar paylaşımı oluştururlar.

Üç algoritmanın tamamı artık anahtarları X.509 SubjectPublicKeyInfo, PKCS#8 OneAsymmetricKey ve PEM olarak okur ve yazar, böylece kuantum sonrası bir anahtar bir RSA ya da EC anahtarıyla aynı dosyalarda yaşar. ML-DSA ve ML-KEM özel anahtarlarının, TsgcPQCPrivateKeyFormat ile seçilen üç biçimi vardır: pqkfSeed yalnızca tohumu yazar (ML-DSA için 32 bayt, ML-KEM için 64 baytlık d||z tohumu), pqkfExpanded genişletilmiş anahtarı yazar, pqkfBoth ikisini birden taşır. SLH-DSA'nın tek bir özel anahtar biçimi vardır. sgcMLDSA_GenerateKeyPairAndSeed ve sgcMLKEM_GenerateKeyPairAndSeed, tohumu anahtar çiftiyle birlikte geri verir, böylece üretimden hemen sonra tohum biçimli bir dosya yazılabilir.

sgcCrypto_MLKEM sgcCrypto_MLDSA sgcCrypto_SLHDSA sgcCrypto_MLKEM_Hybrid FIPS 203 · FIPS 204 · FIPS 205 · RFC 10024
OTP ve diğer6 birim

Tek kullanımlık parolalar, kodlama ve şifreli ZIP girdileri

sgcCrypto_OTP, bir kimlik doğrulayıcı uygulamasının gösterdiği aynı altı haneli kodları, saat kaymasını emen sabit zamanlı bir doğrulama penceresiyle, HOTP ve TOTP kodları olarak üretir ve doğrular. sgcCrypto_Encoding, kütüphanenin geri kalanının paylaştığı yardımcı fonksiyonları tutar: sabit zamanlı karşılaştırma, güvenli tampon sıfırlama, hex, Base64url ve Base32. sgcCrypto_Zip_AE2, tek tek ZIP girdilerini şifrelemek için WinZip AES şifrelemesini, AE-1 ve AE-2'yi uygular. sgcCrypto_Random, kütüphanenin başka yerinde üretilen her anahtarın ve nonce'un arkasındaki platformlar arası CSPRNG'dir, ve sgcCrypto_Legacy, yeni tasarımlar için değil, daha eski biçimlerle birlikte çalışabilirlik için MD4/MD5/HMAC-MD5/DES-ECB'yi kullanılabilir tutar.

Aynı Object Pascal ile Yazılmış Bir TLS 1.3 ve TLS 1.2 Motoru

Paket ayrıca sgcCrypto ilkelleri üzerine yazılmış bir TLS 1.3 ve TLS 1.2 uygulaması da taşır. sgcCrypto_* içinde değil, sgcSSL_NativeTLS* birimlerinde yer alır, bu yüzden 43 birimden biri değildir ve sgcCrypto nereye gidiyorsa oraya gider. Herhangi bir sgcWebSockets istemcisinde ya da sunucusunda tek bir özellikle seçin; hiçbir platformda dağıtılacak bir şey yoktur.

// Client: no OpenSSL, no SChannel, no platform TLS stack
WSClient.TLS := True;
WSClient.TLSOptions.IOHandler := iohNativeTLS;
// Lowest version allowed: tls1_2 negotiates TLS 1.3 or TLS 1.2, tls1_3 only TLS 1.3
WSClient.TLSOptions.Version := tls1_2;
WSClient.TLSOptions.RootCertFile := 'roots.pem';
// Optional: also trust the roots the operating system already trusts
WSClient.TLSOptions.NativeTLS_Options.UseSystemRoots := True;

// Both lists are OpenSSL style, colon separated. This group list is the default.
WSClient.TLSOptions.NativeTLS_Options.Groups :=
  'X25519MLKEM768:X25519:secp256r1:secp384r1';
// Only TLS 1.3 suites here means TLS 1.3 only. Leave it empty for the default,
// which adds the TLS 1.2 ECDHE suites with AES-GCM and ChaCha20-Poly1305.
WSClient.TLSOptions.NativeTLS_Options.CipherSuites :=
  'TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256';

// Server: the same switch on SSLOptions, IOCP and EPOLL engines included
WSServer.SSLOptions.IOHandler := iohNativeTLS;
Kutudan çıktığı gibi kuantum sonrası anahtar değişimi

Varsayılan grup listesi, X25519 ile ML-KEM-768'in RFC 10024 hibriti olan X25519MLKEM768 ile başlar, böylece destekleyen bir eşle yapılan el sıkışma hiçbir yapılandırma olmadan kuantum sonrasıdır. SecP256r1MLKEM768 ve SecP384r1MLKEM1024 aynı listede kullanılabilir.

Her hedefte, dağıtılacak hiçbir şey yok

libssl yok, libcrypto yok, SChannel yok, platform TLS yığını yok; Win32, Win64, Linux64, macOS, iOS ve Android'de yalnızca aynı Object Pascal. Bir istemcide TLSOptions.IOHandler := iohNativeTLS, bir sunucuda SSLOptions.IOHandler := iohNativeTLS ayarlayın; IOCP ve EPOLL sunucu motorları dahildir.

Makinenin zaten güvendiği kökler

NativeTLS_Options.UseSystemRoots değerini True yaptığınızda motor, işletim sisteminin güvenilen köklerini RootCertFile dosyasına ekler: Windows'ta ROOT deposu, diğer her platformda ise standart konumlar arasında bulunan ilk CA paket dosyası. macOS ya da iOS anahtarlığını veya Android deposunu asla okumaz. Varsayılan olarak kapalıdır, bu yüzden güven çapaları tam olarak RootCertFile dosyasının belirttiği gibi kalır. Bir sunucuda aynı özellik, doğruladığı istemci sertifikaları için geçerlidir.

Geçmeden önce sınırları bilin

Motor yalnızca TLS 1.3 ve TLS 1.2 konuşur, TLS 1.1, TLS 1.0 ya da SSL yoktur; hibrit kuantum sonrası gruplar yalnızca TLS 1.3'te bulunur, bu yüzden bir TLS 1.2 bağlantısı X25519, secp256r1 ya da secp384r1 kullanır. Oturum devam ettirme ve PSK yoktur, 0-RTT ve QUIC yoktur. Sertifika iptali ve sertifika ilkeleri kontrol edilmez ve bileşen olayı OnSSLVerifyPeer bu motorda kullanılamaz, motorun kendi doğrulama kancaları vardır. Bunlardan birine ihtiyacınız olduğunda OpenSSL'de ya da bir platform arka ucunda kalın.

Bileşen Yok, Object Inspector Yok

uses'a bir birim ekleyin ve bir fonksiyon çağırın. Aşağıdaki her çağrı, 43 birimin farklı birinden gelir; simetrik, hashing, imzalar ve kuantum sonrası kriptografiyi kapsar.

uses
  sgcCrypto_Random, sgcCrypto_AES, sgcCrypto_Keccak, sgcCrypto_Ed25519,
  sgcCrypto_MLKEM;

var
  vKey, vIV, vPlain, vAAD, vTag, vCipher: TBytes;
  vDigest, vSeed, vSignature, vMessage: TBytes;
  vPublicKey, vPrivateKey, vSharedSecret, vCiphertext: 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);

  // Ed25519: sign, then verify
  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);
end;
// includes: sgcCrypto_Random.hpp, sgcCrypto_AES.hpp, sgcCrypto_Keccak.hpp,
// sgcCrypto_Ed25519.hpp, sgcCrypto_MLKEM.hpp

// AES-256-GCM: authenticated encryption in one call
TBytes vKey    = sgcRandomBytes(32);
TBytes vIV     = sgcRandomBytes(12);
TBytes vAAD, vTag;
TBytes vPlain  = TEncoding::UTF8->GetBytes("confidential payload");
TBytes vCipher = sgcAES_GCM_Encrypt(vKey, vIV, vPlain, vAAD, vTag);

// SHA-3-256, one call, no context object to manage
TBytes vDigest = sgcSHA3_256(vPlain);

// Ed25519: sign, then verify
TBytes vSeed      = sgcRandomBytes(32);
TBytes vMessage   = TEncoding::UTF8->GetBytes("sign me");
TBytes vSignature = sgcEd25519_Sign(vSeed, vMessage);

// ML-KEM-768: post-quantum key encapsulation (FIPS 203)
TBytes vPublicKey, vPrivateKey, vSharedSecret, vCiphertext;
sgcMLKEM_GenerateKeyPair(mlkem768, vPublicKey, vPrivateKey);
sgcMLKEM_Encapsulate(mlkem768, vPublicKey, vCiphertext, vSharedSecret);
Önemli olduğu yerde sabit zamanlı

Etiket kontrolleri, HOTP/TOTP doğrulaması ve sgcConstantTimeEquals sabit zamanda karşılaştırır, gizli veri üzerindeki iş de öyledir. AES, belleği hiçbir zaman gizli bir baytla indekslemeyen ve gizli bir bayta göre dallanmayan bitslice bir çekirdek üzerinde çalışır, GHASH bir maske altında çarpar, RSA özel anahtar işlemleri ise herhangi bir şey döndürülmeden önce kör edilir ve genel üsse karşı kontrol edilir. ECDSA imzalama, ECDH ve EC anahtar üretimi sabit zamanlı bir skaler çarpma kullanır, Ed25519 imzalama ise skaleri sabit pencerelerle ve tam bir toplama formülüyle okur.

Örtük ret ve önce kontrol edilen girdiler

Doğru uzunlukta olup çözülemeyen bir şifreli metin, hata yerine sözde rastgele bir gizli anahtar üretir; bu, FIPS 203'e göre örtük rettir ve saldırgan bundan hiçbir şey öğrenmez. Bozuk bir genel anahtar, yanlış boyutta bir şifreli metin veya anahtar ve hash kontrolünü geçemeyen bir özel anahtar herhangi bir hesaplamadan önce reddedilir; içe aktarılan bir ML-KEM, ML-DSA veya SLH-DSA özel anahtarı da tutarlılık açısından kontrol edilir, böylece parçaları birbirine ait olmayan bir anahtar yanlışlıkla yüklenemez.

Delphi 7'den 13'e, değişmeden

Yerel bir 64 bitlik tam sayı türü varsayılmaz. sgcCrypto_Int64 ve TsgcBigInt, hash'lerin, eğrilerin ve kuantum sonrası birimlerin ihtiyaç duyduğu aritmetiği taklit eder; böylece aynı kaynak desteklenen her sürümde derlenir.

Hiçbir şey sürecinizden dışarı çıkmaz

Her fonksiyon, ilettiğiniz veriler üzerinde süreç içinde çalışır. Kütüphanenin hiçbir yerinde ağ çağrısı, telemetri veya eSeGeCe aktarımı yoktur.

Dahil, ya da Bağımsız Bir Paket

sgcCrypto, sgcWebSockets Standard, Professional ve Enterprise ile birlikte ücretsiz gelir. Yalnızca sgcWebSockets Core'a sahipseniz, tek bir geliştirici için €149 fiyatından başlayan kendi paketi olarak da satılır. Tüm lisanslar tam kaynak kodunu, 1 yıllık güncellemeleri ve 50% ile 70% arasında bir yenileme indirimini içerir: tek bir paketi yenilediğinizde 50%, iki pakette 60%, üç veya daha fazla pakette 70%.

sgcCrypto

€149

Bağımsız paket. Single, Team ve Site lisansları mevcuttur. sgcWebSockets Standard, Professional veya Enterprise'a zaten sahipseniz ücretsizdir.

  • Tüm 43 sgcCrypto_*.pas birimi
  • sgcWebSockets Core çalışma zamanı dahildir
  • Delphi ve C++ Builder, altı platformun tamamı
  • Tam kaynak kodu
  • 1 yıl güncelleme

Zaten sgcWebSockets Standard, Professional veya Enterprise'da mısınız? sgcCrypto zaten kurulumunuzun içindedir, sipariş gerekmez.

Fiyatlandırmayı Görüntüle & Sipariş Ver
3,000+Geliştirici
20+Yıl
761+Bileşen
30+API Entegrasyonu
5Platform
30 Günlük Para İade GarantisiMemnun kalmadınız mı? Satın alımdan sonraki 30 gün içinde tam para iadesi talep edin. İade politikasına bakın

Bileşen Yükü Olmadan Kriptografi

Şifrelemeyi, hashing'i, imzaları, PKI'yı ve kuantum sonrası anahtar değişimini kapsayan 43 saf fonksiyon, artı bunların üzerine kurulu bir TLS 1.3 ve TLS 1.2 motoru; Delphi veya C++ Builder kodunuzun zaten çalıştığı her yerde hazır. Tam kaynak kodu, aktarım yok, DLL yok.

eSeGeCe'nin Diğer Ürünleri

sgcCrypto'yu diğer Delphi ve C++ Builder bileşen kitaplıklarımızla eşleştirin.

sgcWebSockets

Kurumsal WebSocket, HTTP/2, MQTT, AMQP ve WebRTC bileşenleri. Standard, Professional ve Enterprise'ın hepsi sgcCrypto'yu içerir.

Daha fazla bilgi →

sgcSign

Kurumsal dijital imzalar. 10 anahtar sağlayıcı ve 21 AB ülke profiliyle XAdES, PAdES, CAdES ve ASiC.

Daha fazla bilgi →

sgcAuth

OAuth2 istemcisi ve JWT istemcisi bileşenleri, ayrıca WebAuthn passkey ile oturum açma. Bağımsız ürün, sgcWebSockets Core çalışma zamanı dahildir.

Daha fazla bilgi →

sgcQUIC

Yerleşik OpenSSL 3.5 QUIC motoru üzerine kurulu QUIC (RFC 9000) ve HTTP/3 (RFC 9114) istemci ve sunucu bileşenleri.

Daha fazla bilgi →

sgcAI

Yapay zeka, LLM ve MCP bileşenleri. Tek bir sohbet bileşeni OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok ve Mistral'a erişir.

Daha fazla bilgi →

sgcMQ

Yerel MQTT 3.1.1/5.0, AMQP 0.9.1, AMQP 1.0, Apache Kafka ve STOMP istemci bileşenleri; Core çalışma zamanı pakete dahildir.

Daha fazla bilgi →

sgcOpenAPI

OpenAPI 3.0 ayrıştırıcısı ve SDK oluşturucusu. Herhangi bir OpenAPI belirtimini saniyeler içinde güçlü tipli bir Delphi istemcisine dönüştürün.

Daha fazla bilgi →