sgcCrypto Özellik Matrisi — AES, SHA-3, Ed25519, X.509, ML-KEM | eSeGeCe

sgcCrypto Özellik Matrisi

sgcCrypto'nun yaptığı her şey, diskteki 43 birim üzerinden eşlenmiş. Burada bileşen ve tasarım zamanı özelliği yoktur: aşağıdaki her satır, doğrudan çağırdığınız bir fonksiyon veya yordamdır. Tam kaynak kodu her lisansla gelir. Aşağıdaki bağlantılar sizi birimlerin ait olduğu altı yetenek ailesine götürür.

sgcCrypto'nun bileşeni yoktur. Aşağıdaki 43 birim sade fonksiyonlar dışa aktarır, bir Tsgc* sınıfı ve bir sgcCrypto_Reg.pas yoktur. uses cümlenize bir birim ekleyin ve fonksiyonu çağırın.

Zaten dahildir. sgcCrypto, sgcWebSockets Standard, Professional ve Enterprise'ın içinde, ayrıca All-Access'in içinde ücretsiz gelir. Yalnızca Core'a sahip müşteriler için de bağımsız olarak satılır (sgcWebSockets Core çalışma zamanı pakete dahildir). Bkz. Fiyatlandırma.

Simetrik

AES, ChaCha20, Poly1305, 5 birim

Hashing ve KDF

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

İmzalar ve anahtar değişimi

Ed25519, X25519, RSA, 10 birim

PKI

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

Kuantum sonrası

ML-KEM, ML-DSA, SLH-DSA, 6 birim

OTP ve diğer

HOTP/TOTP, kodlama, ZIP AES, 6 birim

43 Kaynak Birimi

sgcWebSockets/delphi/Source/ altındaki her sgcCrypto_*.pas birimi, aileye göre gruplanmış.

BirimAileNe yapar
sgcCrypto_AESSimetrikAES-CBC, AES-GCM (AEAD), AES-CTR.
sgcCrypto_ModesSimetrikAES-ECB, OFB, CFB, CTS ve Key Wrap / Padding'li Key Wrap.
sgcCrypto_CMACSimetrikAES-CMAC mesaj kimlik doğrulaması.
sgcCrypto_ChaChaSimetrikChaCha20, XChaCha20, Salsa20, XSalsa20.
sgcCrypto_Poly1305SimetrikPoly1305 MAC, ChaCha20-Poly1305 ve XChaCha20-Poly1305 AEAD.
sgcCrypto_SHA2Hashing ve KDFSHA-1, SHA-224, SHA-256, SHA-384, SHA-512.
sgcCrypto_KeccakHashing ve KDFSHA-3, SHAKE128/256, cSHAKE, KMAC.
sgcCrypto_Blake2bHashing ve KDFBLAKE2b, anahtarlı veya anahtarsız.
sgcCrypto_Blake2sHashing ve KDFBLAKE2s, anahtarlı veya anahtarsız.
sgcCrypto_HMACHashing ve KDFHMAC-SHA1/256/384/512.
sgcCrypto_KDFHashing ve KDFPBKDF2, seçilebilir hash.
sgcCrypto_HKDFHashing ve KDFHKDF extract-and-expand.
sgcCrypto_ScryptHashing ve KDFBellek zorlu scrypt KDF.
sgcCrypto_Argon2Hashing ve KDFArgon2d, Argon2i, Argon2id.
sgcCrypto_SipHashHashing ve KDFSipHash-2-4 anahtarlı hash.
sgcCrypto_TLSHHashing ve KDFTLSH bulanık hash ve benzerlik diff'i.
sgcCrypto_Ed25519İmzalar ve anahtar değişimiEd25519 imzala / doğrula.
sgcCrypto_X25519İmzalar ve anahtar değişimiX25519 Diffie-Hellman.
sgcCrypto_Ed448İmzalar ve anahtar değişimiEd448 imzala / doğrula.
sgcCrypto_X448İmzalar ve anahtar değişimiX448 Diffie-Hellman.
sgcCrypto_GF448İmzalar ve anahtar değişimiEd448/X448 için dahili GF(2^448-2^224-1) alan aritmetiği.
sgcCrypto_ECCurvesİmzalar ve anahtar değişimisecp256k1 ve Brainpool P256r1/P384r1/P512r1 üzerinde ECDSA / ECDH.
sgcCrypto_ECİmzalar ve anahtar değişimiJWS olarak genel EC imzala/doğrula (ES256/384/512), ECDH.
sgcCrypto_RSAİmzalar ve anahtar değişimiPEM veya ham anahtardan RSA PKCS#1 v1.5 imzala, PKCS#1 v1.5 / PSS doğrula.
sgcCrypto_RSA_Keysİmzalar ve anahtar değişimiRSA anahtar üretimi, OAEP, PSS, PKCS#1 imzala/doğrula, DER/PEM dışa aktarımı.
sgcCrypto_ECIESİmzalar ve anahtar değişimiX25519 üzerinde ECIES mühürleme / açma hibrit şifrelemesi.
sgcCrypto_ASN1PKIDER okuyucu, PEM kodeği, PKCS#1/SEC 1 anahtar ayrıştırma.
sgcCrypto_DERPKIDER yazıcı ilkelleri.
sgcCrypto_BigIntegerPKIDahili keyfi hassasiyetli tam sayı aritmetiği.
sgcCrypto_X509PKIX.509 ayrıştır, doğrula, zincirle, CRL, iptal.
sgcCrypto_X509_GenPKIKendinden imzalı sertifika ve PKCS#10 CSR üretimi.
sgcCrypto_MLKEMKuantum sonrasıML-KEM anahtar kapsülleme (FIPS 203), 3 parametre seti.
sgcCrypto_MLKEM_PolyKuantum sonrasıML-KEM'in arkasındaki dahili polinom halka aritmetiği.
sgcCrypto_MLKEM_HybridKuantum sonrasıHibrit X25519 + ML-KEM anahtar kapsülleme.
sgcCrypto_MLDSAKuantum sonrasıML-DSA dijital imzalar (FIPS 204), 3 parametre seti.
sgcCrypto_MLDSA_PolyKuantum sonrasıML-DSA'nın arkasındaki dahili polinom halka aritmetiği.
sgcCrypto_SLHDSAKuantum sonrasıSLH-DSA imzaları (FIPS 205), 6 SHAKE parametre seti.
sgcCrypto_OTPOTP ve diğerHOTP, TOTP, sabit zamanlı doğrulama penceresi.
sgcCrypto_EncodingOTP ve diğerSabit zamanlı karşılaştırma, güvenli sıfırlama, hex/Base64url/Base32.
sgcCrypto_Zip_AE2OTP ve diğerZIP girdileri için WinZip AES şifrelemesi, AE-1 / AE-2.
sgcCrypto_LegacyOTP ve diğerMD4, MD5, HMAC-MD5, DES-ECB, yalnızca birlikte çalışabilirlik için.
sgcCrypto_RandomOTP ve diğerPlatformlar arası CSPRNG.
sgcCrypto_Int64OTP ve diğerDelphi 7 için dahili 64 bit tam sayı emülasyonu.

Şifreleme ve MAC'ler

Üretim kodunun gerçekte kullandığı modlarda AES, artı ChaCha20/Poly1305 AEAD ailesi.

YetenekFonksiyonNotlar
AES-CBCsgcAES_CBC_Encrypt / sgcAES_CBC_DecryptPKCS#7 dolgusu, 16 baytlık IV. Anahtar uzunluğu şifreyi seçer: 16/24/32 bayt = AES-128/192/256.
AES-GCM (AEAD)sgcAES_GCM_Encrypt / sgcAES_GCM_Decrypt12 baytlık IV önerilir. Sabit zamanda karşılaştırılan 16 baytlık etiket; başarısız bir etikette decrypt False ve boş düz metin döndürür.
AES-CTRsgcAES_CTRSRTP tarzı AES-CM (RFC 3711). Simetrik çağrı, dolgu yok, 128 bit büyük-endian sayaç.
AES-ECBsgcAES_ECB_Encrypt / sgcAES_ECB_DecryptIV yok, zincirleme yok. Bunu belirten biçimlerle birlikte çalışabilirlik için dahildir.
AES-OFB / AES-CFBsgcAES_OFB, sgcAES_CFB_Encrypt / sgcAES_CFB_DecryptAkış şifresi tarzı geri besleme modları.
AES-CTSsgcAES_CTS_Encrypt / sgcAES_CTS_DecryptŞifreli metin çalma: blok boyutunun katı olmayan veriyi dolgu ek yükü olmadan şifreler.
AES Key WrapsgcAES_KeyWrap / sgcAES_KeyUnwrapRFC 3394, bir anahtarı başka bir anahtar altında sarmak için.
Padding'li AES Key WrapsgcAES_KeyWrapPad / sgcAES_KeyUnwrapPadRFC 5649, 8 baytın katı olmayan anahtar malzemesi için.
AES-CMACsgcAES_CMAC / sgcAES_CMAC_VerifyRFC 4493 mesaj kimlik doğrulama kodu.
Düşük seviyeli blok ilkellerisgcAES_ExpandKey, sgcAES_EncryptBlock, sgcAES_DecryptBlockYukarıdaki mod ve MAC birimleri için açığa çıkarılmıştır; henüz sağlanmayan bir modu inşa etmek için bunları doğrudan yalnızca gerektiğinde çağırın.
ChaCha20sgcChaCha20RFC 8439, 96 bit nonce, 32 bit sayaç.
XChaCha20sgcXChaCha20192 bit genişletilmiş nonce, ölçekte rastgele nonce üretimi için güvenli.
Salsa20 / XSalsa20sgcSalsa20 / sgcXSalsa20Öncül akış şifresi ailesi, her iki nonce boyutuyla.
Alt anahtar türetmesgcHChaCha20 / sgcHSalsa20X varyantlarının, ilk 16 nonce baytından bir alt anahtar türetmek için dahili olarak kullandığı şey.
Poly1305 MACsgcPoly1305 / sgcPoly1305_VerifyTek kullanımlık doğrulayıcı, RFC 8439. Bir Poly1305 anahtarını asla yeniden kullanmayın.
ChaCha20-Poly1305 AEADsgcChaCha20Poly1305_Encrypt / _DecryptTLS 1.3'ün ikinci şifre paketinin ve SSH'nin arkasındaki AEAD şifresi.
XChaCha20-Poly1305 AEADsgcXChaCha20Poly1305_Encrypt / _DecryptAynı AEAD, 192 bit nonce; libsodium'un crypto_aead_xchacha20poly1305_ietf dediği yapı.

Özetler, MAC'ler ve Parola Hashing

Her yaygın hash ailesi, artı PBKDF2, HKDF, scrypt ve üç Argon2 varyantının tamamı.

YetenekFonksiyonNotlar
SHA-1 / SHA-2sgcSHA1, sgcSHA224, sgcSHA256, sgcSHA384, sgcSHA512FIPS 180-4. SHA-1, birlikte çalışabilirlik için tutulur, yeni imzalar için önerilmez.
SHA-3sgcSHA3_224 / _256 / _384 / _512FIPS 202, Keccak süngeri, SHA-2'den yapısal olarak bağımsız.
SHAKE128 / SHAKE256sgcSHAKE128 / sgcSHAKE256Genişletilebilir çıktılı fonksiyonlar: herhangi bir özet uzunluğu isteyin.
cSHAKE128 / cSHAKE256sgcCSHAKE128 / sgcCSHAKE256Alan ayrımlı SHAKE, NIST SP 800-185, KMAC'in temeli.
KMAC128 / KMAC256sgcKMAC128 / sgcKMAC256Değişken çıktı uzunluklu Keccak tabanlı MAC.
BLAKE2bsgcBlake2b / sgcBlake2b_KeyedRFC 7693, 64 bayta kadar özetler, yerleşik anahtarlama (ayrı bir HMAC gerekmez).
BLAKE2ssgcBlake2s / sgcBlake2s_KeyedRFC 7693, 32 bayta kadar özetler, 32 bit platformlar için ayarlanmış.
Akışlı özetlersgcBlake2b_Init/_Update/_Final, Keccak/Blake2s üzerinde eşleşen çağrılarBelleğe tek seferde sığmayacak kadar büyük veriyi hashlemek için.
HMACsgcHMAC_SHA1 / _SHA256 / _SHA384 / _SHA512SHA-1/2 ailesi üzerinde RFC 2104 anahtarlı hashing.
PBKDF2sgcPBKDF2, sgcPBKDF2_SHA1 / _SHA256 / _SHA512RFC 8018. Yalnızca hafifçe bellek zorlu; seçebiliyorsanız Argon2id veya scrypt'i tercih edin.
HKDFsgcHKDF_Extract_SHA256 / _SHA384, sgcHKDF_Expand_SHA256 / _SHA384, sgcHKDF_SHA256 / _SHA384RFC 5869, extract-then-expand anahtar türetme; paylaşılan bir gizli anahtarı birkaç anahtara dönüştürmenin standart yolu.
scryptsgcScryptRFC 7914, bellek zorlu, GPU/ASIC saldırısına PBKDF2'den çok daha iyi direnir.
Argon2sgcArgon2 (d / i / id), sgcArgon2id kolaylık sarmalayıcısıRFC 9106, Password Hashing Competition kazananı. İsteğe bağlı gizli (pepper) ve ilişkili veriyle tam arayüz.
SipHash-2-4sgcSipHash24 / sgcSipHash24_ValueHash tablosu anahtarları için hızlı anahtarlı PRF, hash-flooding hizmet reddine direnir.
TLSH bulanık hashsgcTLSH, sgcTLSH_Init/_Update/_FinalKriptografik bir özet değil, benzer-yakın tespit için konuma duyarlı hash.
TLSH benzerlik skorusgcTLSH_Diffİki TLSH özeti arasındaki mesafe; düşük olması daha benzer demektir.

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

Beş ayrı eğri ailesi artı RSA üzerinde imzalayın, doğrulayın ve paylaşılan gizli anahtarlar türetin.

YetenekFonksiyonNotlar
Ed25519 imzala / doğrulasgcEd25519_Sign / sgcEd25519_VerifyRFC 8032. 32 baytlık genel anahtar, 64 baytlık imza. Doğrulama, kanonik olmayan noktaları ve bölüm 5.1.7'ye göre S >= L'yi reddeder.
X25519 anahtar değişimisgcX25519, sgcX25519_PublicKey, sgcX25519_SharedSecretCurve25519 üzerinde RFC 7748 Diffie-Hellman.
Ed448 imzala / doğrulasgcEd448_GenerateKeyPair, sgcEd448_Sign, sgcEd448_VerifyRFC 8032, 448 bitlik (Goldilocks) EdDSA eğrisi.
X448 anahtar değişimisgcX448, sgcX448_PublicKey, sgcX448_SharedSecretCurve448 üzerinde RFC 7748 Diffie-Hellman.
secp256k1eccSecp256k1 ile sgcECDSA_SignHash / VerifyHashsgcCrypto_ECCurves içinde, Bitcoin/Ethereum eğrisi, SEC 2.
Brainpool P256r1 / P384r1 / P512r1eccBrainpoolP256r1 / P384r1 / P512r1 ile aynı fonksiyonlarRFC 5639, AB eIDAS ve devlet profillerinde yaygın.
Deterministik ECDSA nonce'usgcECDSA_SignHash'e yerleşikRFC 6979: nonce, özel anahtardan ve mesajdan türetilir, RNG hata modu yoktur.
ECDH (secp256k1 / Brainpool)sgcECDH_SharedSecretAynı dört eğri üzerinde paylaşılan gizli anahtar.
Nokta sıkıştırmasgcEC_Compress / sgcEC_DecompressDaha kısa sıkıştırılmış genel anahtar biçimini saklayın veya iletin.
JWS olarak EC (ES256/384/512)sgcECDSA_SignJWS / sgcECDSA_VerifyJWSİstenen bit uzunluğundan otomatik seçilen eğri, doğrudan bir PEM anahtarından imzala/doğrula; ECCurves'in JOSE odaklı kardeşi.
Genel ECDHsgcECDHHam bir özel anahtardan ve eş genel noktasından paylaşılan gizli anahtar.
Ham / DER ECDSA doğrulamasgcECDSA_VerifyRaw / sgcECDSA_VerifyDERHam bir (Qx, Qy, r, s) demetine ya da DER kodlu bir imzaya karşı doğrulayın.
RSA imzalama (PKCS#1 v1.5)sgcRSA_SignPKCS1Bir PEM özel anahtarından, SHA-1/256/384/512 özeti.
RSA doğrulama (PKCS#1 v1.5 / PSS)sgcRSA_VerifyPKCS1, sgcRSA_VerifyPSS ve bir modül/üs üzerinde _Raw varyantlarıRFC 8017. Doğrulama, bir anahtar nesnesi oluşturmadan bir PEM anahtarından ya da ham modül ve üsten çalışır.
RSA anahtar üretimisgcRSA_GenerateKeyİstenen herhangi bir bit uzunluğu, Miller-Rabin asallık testi.
RSA-OAEP şifrelemesgcRSA_OAEP_Encrypt / sgcRSA_OAEP_DecryptRFC 8017 optimal asimetrik şifreleme dolgusu.
RSA-PSS / PKCS#1 imzalamasgcRSA_PSS_Sign / Verify, sgcRSA_PKCS1_Sign / VerifyÜretilen bir TsgcRSAPrivateKey'den doğrudan imzalayın.
RSA anahtar dışa aktarımısgcRSA_ExportPrivateKeyPEM, sgcRSA_ExportPublicKeyPEM, eşleşen DER çağrılarıPKCS#1 ve SubjectPublicKeyInfo kodlamaları.
ECIES mühürleme / açmasgcECIES_GenerateKeyPair, sgcECIES_Seal, sgcECIES_OpenBir X25519 genel anahtarına hibrit şifreleme: geçici ECDH artı bir AEAD, her yönde tek çağrı.

X.509 Sertifikaları ve ASN.1

Başkasının yayınladığı bir sertifikayı okuyun, ya da kendiniz üretin; her ikisinin altında bir DER kodlayıcı ve kod çözücü bulunur.

YetenekFonksiyonNotlar
DER okuyucusgcASN1_Read, sgcASN1_Next, sgcASN1_ContentBir DER yapısını düğüm düğüm gezer.
PEM kodeğisgcPEM_Decode / sgcPEM_EncodeRFC 7468, DER'in etrafındaki -----BEGIN ... -----END sarmalayıcısı.
RSA anahtar ayrıştırmasgcASN1_ParseRSAPrivateKey / PublicKeyPKCS#1 (RFC 8017) anahtar yapıları.
EC anahtar ayrıştırmasgcASN1_ParseECPrivateKey / PublicKeySEC 1 anahtar yapıları.
DER yazıcı, yapısalsgcDER_Sequence, sgcDER_Set, sgcDER_Tagged, sgcDER_ContextExplicit / ImplicitHer sertifika alanının inşa edildiği yapı taşları.
DER yazıcı, değerlersgcDER_Integer, sgcDER_OctetString, sgcDER_BitString, sgcDER_Boolean, sgcDER_Nullİlkel değer kodlayıcıları.
DER yazıcı, dizeler ve tanımlayıcılarsgcDER_OID, sgcDER_UTF8String, sgcDER_PrintableString, sgcDER_IA5String, sgcDER_TimeNesne tanımlayıcıları, X.509'un kullandığı üç dize türü, ve UTCTime/GeneralizedTime.
Sertifika ayrıştırmasgcX509_ParseTam sertifika yapısı: konu, yayıncı, geçerlilik, genel anahtar, uzantılar.
İmza / zincir doğrulamasgcX509_VerifySignedBy, sgcX509_VerifyChainBir sertifikayı bir yayıncıya karşı doğrulayın, ya da bir DER sertifika dizisini yürüyüp doğrulayın.
CRL ayrıştırma ve iptalsgcX509_CRL_Parse, sgcX509_IsRevoked, sgcX509_CRL_VerifySignedByBir Sertifika İptal Listesini ayrıştırın ve bir seri numarasını buna karşı kontrol edin.
Ad biçimlendirmesgcX509_SubjectRFC2253, sgcX509_IssuerRFC2253, sgcX509_SubjectOneLineGünlükleme ve görüntüleme için RFC 2253 ayırt edici ad dizeleri.
Uzantılar ve SAN'larsgcX509_GetExtension, sgcX509_GetCRLDistributionURIsKeyfi uzantı OID'lerini ve CRL dağıtım noktası URI'lerini okuyun.
Kendinden imzalı sertifika üretimisgcX509_CreateSelfSignedTam TsgcX509Options: konu DN'si, geçerlilik penceresi, seri numarası, yol uzunluğu kısıtlamalı CA bayrağı, anahtar kullanımı, genişletilmiş anahtar kullanımı, konu alternatif adları (IPv4 SAN'ları dahil).
PKCS#10 CSR üretimisgcX509_CreateCSRAynı seçenekler kaydından RFC 2986 sertifika imzalama isteği.
PEM çıktısısgcX509_ToPEMÜretilen DER'i kaydetmeye hazır bir PEM dosyası olarak sarar.

ML-KEM, ML-DSA ve SLH-DSA

NIST'in Ağustos 2024'te FIPS 203, 204 ve 205 olarak kesinleştirdiği üç algoritma, artı geçiş dönemi için bir hibrit birleştirici.

YetenekFonksiyonNotlar
ML-KEM anahtar üretimisgcMLKEM_GenerateKeyPair, sgcMLKEM_GenerateKeyPairFromSeedFIPS 203, eski adıyla Kyber. Üç parametre seti: mlkem512, mlkem768, mlkem1024.
ML-KEM kapsüllemesgcMLKEM_Encapsulate, sgcMLKEM_EncapsulateWithSeedTaze bir 32 baytlık paylaşılan gizli anahtar ve bunu taşıyan şifreli metni üretir.
ML-KEM çözme (decapsulate)sgcMLKEM_DecapsulateAsla başarısız olmaz: bozuk bir şifreli metin, bir hata yerine sözde rastgele bir gizli anahtar üretir (örtük ret); bu yüzden zamanlama ve hata davranışı hiçbir şey ortaya çıkarmaz.
ML-KEM boyutlarısgcMLKEM_PublicKeySize, PrivateKeySize, CiphertextSize, SharedSecretSizeTampon boyutlandırma için parametre setine göre bayt uzunlukları.
Hibrit X25519 + ML-KEMsgcHybrid_GenerateKeyPair, sgcHybrid_Encapsulate, sgcHybrid_DecapsulateKlasik ve kuantum sonrası bir paylaşılan gizli anahtarı bir KDF üzerinden birleştirir; böylece sonuç asla X25519'dan tek başına daha zayıf olmaz. Sektörün ML-KEM'i bugün nasıl devreye aldığının önerilen yolu.
ML-DSA anahtar üretimisgcMLDSA_GenerateKeyPair, sgcMLDSA_GenerateKeyPairFromSeedFIPS 204, eski adıyla Dilithium. Üç parametre seti: mldsa44, mldsa65, mldsa87.
ML-DSA imzala / doğrulasgcMLDSA_Sign / sgcMLDSA_VerifyFIPS 204 arayüzüne göre deterministik veya rastgeleleştirilmiş imzalama, artı bir bağlam dizesi.
ML-DSA boyutlarısgcMLDSA_PublicKeySize, PrivateKeySize, SignatureSizeParametre setine göre bayt uzunlukları.
SLH-DSA anahtar üretimisgcSLHDSA_GenerateKeyPair, sgcSLHDSA_GenerateKeyPairFromSeedFIPS 205, eski adıyla SPHINCS+. Durumsuz hash tabanlı imzalar: güvenlik yalnızca hash fonksiyonuna dayanır, bir kafes veya eğri varsayımına değil.
SLH-DSA imzala / doğrulasgcSLHDSA_Sign / sgcSLHDSA_VerifyAltı SHAKE parametre seti: slhShake128s, slhShake128f, slhShake192s, slhShake192f, slhShake256s, slhShake256f. s setleri küçük imzaları, f setleri hızlı imzalamayı önceliklendirir.
SLH-DSA boyutları ve adlandırmasgcSLHDSA_PublicKeySize, PrivateKeySize, SignatureSize, sgcSLHDSA_ParamsNameSLH-DSA imzaları büyüktür (sete bağlı olarak 7,8 KB ile 49 KB arası); imzalamadan önce tamponu boyutlandırın.

sgcCrypto, ed25519187 veya SPECK olduğunu iddia etmez. ed25519187'nin yayınlanmış bir spesifikasyonu yoktur, ve SPECK 2018'de ISO standardizasyonundan geri çekilmiştir; ikisi de burada uygulanmamıştır.

Tek Kullanımlık Parolalar, Kodekler ve Şifreli ZIP

Yardımcı katman: tek kullanımlık kodlar, kütüphanenin geri kalanının dayandığı kodlamalar ve WinZip AES şifrelemesi.

YetenekFonksiyonNotlar
HOTPsgcHOTPRFC 4226, sayaç tabanlı tek kullanımlık parola.
TOTPsgcTOTP, sgcTOTP_FromBase32RFC 6238, zaman tabanlı tek kullanımlık parola; Base32 varyantı, gizli anahtarı bir kimlik doğrulayıcı uygulamasının gösterdiği tam haliyle kabul eder.
TOTP doğrulamasgcTOTP_VerifyGönderilen bir kodu bir adım penceresi boyunca sabit zamanda kontrol eder; böylece ne sonuç ne de konumu zamanlama üzerinden sızmaz. Tekrar oynatmayı kendisi durdurmaz; çağıran, kullanılan kodları izler.
Sabit zamanlı karşılaştırmasgcConstantTimeEqualsKütüphane genelinde etiket ve MAC karşılaştırmaları için kullanılır.
Güvenli sıfırlamasgcSecureZeroAnahtar malzemesinin bellekte kalmaması için bir bayt tamponunun üzerine yazar.
HexsgcHexEncode / sgcHexDecodeKüçük harf hex, büyük/küçük harfe duyarsız çözme.
Base64urlsgcBase64UrlEncode / sgcBase64UrlDecodeRFC 4648 bölüm 5, dolgusuz; JWT ve JOSE'nin kullandığı kodlama.
Base32sgcBase32Encode / sgcBase32DecodeRFC 4648 bölüm 6; TOTP gizli anahtarlarının ve kimlik doğrulayıcı uygulamalarının kullandığı kodlama.
WinZip AES anahtar türetmesgcZipAE2_DeriveKeysBir paroladan ve tuzdan PBKDF2 tabanlı anahtar, kimlik doğrulama anahtarı ve parola doğrulayıcısı.
WinZip AES şifrele / çözsgcZipAE2_Encrypt / sgcZipAE2_DecryptAE-1 ve AE-2, AES-128/192/256; TsgcZipAESStrength üzerinden girdi başına tuz boyutlandırması.
WinZip girdi paketlemesgcZipAE2_PackEntry / sgcZipAE2_UnpackEntryTuzu, doğrulayıcıyı, şifreli metni ve kimlik doğrulama kodunu diskteki düzende birleştirir.
WinZip ek alanısgcZipAE2_BuildExtraField / sgcZipAE2_ParseExtraFieldBir ZIP girdisini AES şifreli olarak işaretleyen 0x9901 ek alanı.
Eski hash'ler (yalnızca birlikte çalışabilirlik)sgcMD4, sgcMD5, sgcHMAC_MD5Daha eski biçimleri ve protokolleri okumak için tutulur; yeni bir tasarımda kullanmayın.
Eski şifre (yalnızca birlikte çalışabilirlik)sgcDES_EncryptECB / sgcDES_DecryptECB, sgcDES_NTLM7to8DES-ECB ve DES tabanlı NTLM anahtar genişletme adımı; ikisi de geri çekilmiştir (FIPS 46-3), eski birlikte çalışabilirlik için tutulur.
Güvenli rastgele baytsgcRandomBytes / sgcRandomFillMSWINDOWS altında Windows CryptoAPI, başka yerlerde /dev/urandom; her iki durumda da tek çağrı.

sgcCrypto Nerede Çalışır

Neyin desteklendiği, kesin olarak belirtilmiş.

AlanAyrıntı
İşletim sistemisgcVer.inc içinde SGC_CRYPTO'yu saran bir MSWINDOWS koruması, ya da başka herhangi bir platform koruması yoktur. 43 birimin tamamı Win32, Win64, Linux64, macOS, iOS ve Android için derlenir.
Rastgele sayı kaynağıTek platform-farkındalıklı birim olan sgcCrypto_Random, hedef başına bir CSPRNG seçer: MSWINDOWS altında Windows CryptoAPI, POSIX hedeflerde /dev/urandom; hepsi aynı sgcRandomBytes çağrısının arkasında.
DelphiDelphi 7'den RAD Studio 13 Florence'a kadar. Hiçbir yerde yerel bir 64 bitlik tam sayı türü varsayılmaz: sgcCrypto_Int64 ve sgcCrypto_BigInteger içindeki TsgcBigInt türü, hash'lerin, eğrilerin ve kuantum sonrası birimlerin ihtiyaç duyduğu aritmetiği taklit eder.
C++ BuilderÜretilen başlıklar üzerinden C++ Builder, aynı kaynak ağacı.
Tasarım zamanı iziYok. Bir sgcCrypto_Reg.pas yoktur, hiçbir şey RegisterComponents'lanmaz ve hiçbir birim bir bileşen paleti sayfasında görünmez.
BağımlılıklarOpenSSL bağlaması yok, harici DLL yok. Her ilkel, başvurduğunuz birimin içinde doğrudan Object Pascal olarak uygulanır.
Kaynak koduHer ücretli katmanda ve sgcCrypto'yu zaten içeren sürüm paketlerinde tam Object Pascal kaynağı.
Yeniden dağıtımOluşturduğunuz ikili dosyalar, koltuk başına veya sunucu başına bir çalışma zamanı ücreti olmadan telifsizdir.
En avantajlı seçenek: All-AccessTüm eSeGeCe ürünleri, Premium Destek dahil, yılda €1,059'dan itibaren.
All-Access fiyatlarına bakın

sgcCrypto ile Geliştirin

Ücretsiz deneme sürümünü indirin ve bir fonksiyon çağırın, bileşen gerekmez.