| Ed25519 imzala / doğrula | sgcEd25519_Sign / sgcEd25519_Verify | RFC 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şimi | sgcX25519, sgcX25519_PublicKey, sgcX25519_SharedSecret | Curve25519 üzerinde RFC 7748 Diffie-Hellman. |
| Ed448 imzala / doğrula | sgcEd448_GenerateKeyPair, sgcEd448_Sign, sgcEd448_Verify | RFC 8032, 448 bitlik (Goldilocks) EdDSA eğrisi. |
| X448 anahtar değişimi | sgcX448, sgcX448_PublicKey, sgcX448_SharedSecret | Curve448 üzerinde RFC 7748 Diffie-Hellman. |
| secp256k1 | eccSecp256k1 ile sgcECDSA_SignHash / VerifyHash | sgcCrypto_ECCurves içinde, Bitcoin/Ethereum eğrisi, SEC 2. |
| Brainpool P256r1 / P384r1 / P512r1 | eccBrainpoolP256r1 / P384r1 / P512r1 ile aynı fonksiyonlar | RFC 5639, AB eIDAS ve devlet profillerinde yaygın. |
| NIST P-256 / P-384 / P-521 | aynı fonksiyonlar eccP256 / eccP384 / eccP521 ile | TsgcECCurve artık yedi eğri adlandırıyor, bu yüzden anahtar üretimi, imzalama, doğrulama, ECDH ve nokta sıkıştırmanın hepsi, yalnızca bir PEM dosyasından değil, ham anahtar baytlarından da NIST asal eğrilerine ulaşır. |
| Deterministik ECDSA nonce'u | sgcECDSA_SignHash'e yerleşik | RFC 6979: nonce, özel anahtardan ve mesajdan türetilir, RNG hata modu yoktur. |
| ECDH (secp256k1 / Brainpool) | sgcECDH_SharedSecret | Aynı dört eğri üzerinde paylaşılan gizli anahtar. |
| Nokta sıkıştırma | sgcEC_Compress / sgcEC_Decompress | Daha 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 ECDH | sgcECDH | Ham bir özel anahtardan ve eş genel noktasından paylaşılan gizli anahtar. |
| Ham / DER ECDSA doğrulama | sgcECDSA_VerifyRaw / sgcECDSA_VerifyDER | Ham bir (Qx, Qy, r, s) demetine ya da DER kodlu bir imzaya karşı doğrulayın. |
| DER ECDSA imzalama ve dönüştürme | sgcECDSA_SignDER / sgcECDSA_VerifyDER, sgcECDSA_RawToDER / sgcECDSA_DERToRaw | X.509, CMS ve TLS, DER ECDSA-Sig-Value'yu taşır; INTEGER r ve ardından INTEGER s'den oluşan bir SEQUENCE. JOSE ve WebAuthn bunun yerine ham R || S çiftini taşır. Doğrudan iki biçimden birine imzalayın, ya da mevcut bir imzayı aralarında dönüştürün. |
| Schnorr imzaları (BIP-340) | sgcSchnorr_PublicKey, sgcSchnorr_Sign, sgcSchnorr_Verify | Yalnızca secp256k1, yalnızca-x 32 baytlık açık anahtarlar ve 64 baytlık imzalarla: Taproot'un, Nostr'un ve Lightning'in kullandığı budur. sgcSchnorr_TaggedHash, BIP-341 ve BIP-342 etiketlerinin aynı yapı üzerine inşa edilebilmesi için dışa açılmıştır. |
| RSA imzalama (PKCS#1 v1.5) | sgcRSA_SignPKCS1 | Bir 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 üretimi | sgcRSA_GenerateKey | İstenen herhangi bir bit uzunluğu, Miller-Rabin asallık testi. |
| RSA-OAEP şifreleme | sgcRSA_OAEP_Encrypt / sgcRSA_OAEP_Decrypt | RFC 8017 optimal asimetrik şifreleme dolgusu. |
| Bağımsız bir MGF1 hash'iyle RSA-OAEP | beş parametreli sgcRSA_OAEP_Encrypt / sgcRSA_OAEP_Decrypt aşırı yüklemeleri | Etiket hash'ini ve MGF1 hash'ini ayrı ayrı sabitleyin. OAEPWithSHA256AndMGF1Padding, Bouncy Castle'da ikisi için de SHA-256 anlamına gelir ama SunJCE'de MGF1-SHA1 ile SHA-256 anlamına gelir, ve bu uyuşmazlık, Java birlikte çalışabilirliğinin başarısız olmasının olağan nedenidir. |
| RSA PKCS#1 v1.5 şifreleme | sgcRSA_PKCS1_Encrypt / sgcRSA_PKCS1_Decrypt | RFC 8017 bölüm 7.2, Java'nın RSA/ECB/PKCS1Padding olarak adlandırdığı mod. Decrypt, her başarısızlık için aynı yoldan geçer, bu yüzden bir padding oracle'a çalışacak hiçbir şey vermez. Yeni herhangi bir şey için OAEP'i tercih edin. |
| RSA-PSS / PKCS#1 imzalama | sgcRSA_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ı. |
| PKCS#8 ve SEC 1 anahtar dışa aktarımı | sgcRSA_ExportPrivateKeyPKCS8DER / PKCS8PEM, sgcEC_ExportPrivateKeyPKCS8DER / PKCS8PEM, sgcEC_ExportPrivateKeySEC1DER / SEC1PEM, sgcEC_ExportSubjectPublicKeyInfo, sgcEC_ExportPublicKeyPEM | Java'nın, .NET'in ve çoğu modern araç setinin beklediği BEGIN PRIVATE KEY kabı, SEC 1 BEGIN EC PRIVATE KEY biçiminin ve bir sertifikanın gömdüğü SubjectPublicKeyInfo'nun yanında. Şifresizdir, bu yüzden geri dönen şey çıplak anahtar malzemesidir. |
| RSA ve EC anahtarı içe aktarımı | sgcRSA_ImportPrivateKeyDER / PEM, sgcRSA_ImportPublicKeyDER / PEM, sgcEC_ImportPrivateKeyDER / PEM, sgcEC_ImportPublicKeyDER / PEM | Bu daha önce yoktu: üretilen bir anahtar yazılabiliyordu ama asla geri okunamıyordu. İçe aktarma, PKCS#1, PKCS#8, SEC 1 ve SubjectPublicKeyInfo'yu, DER veya PEM olarak kabul eder, dosya bunları atladığında CRT parametrelerini veya açık noktayı yeniden hesaplar, ve bozuk girdide raise etmek yerine False döndürür; bu yüzden güvenilmeyen dosyalar ona vermek için güvenlidir. |
| ECIES mühürleme / açma | sgcECIES_GenerateKeyPair, sgcECIES_Seal, sgcECIES_Open | Bir X25519 genel anahtarına hibrit şifreleme: geçici ECDH artı bir AEAD, her yönde tek çağrı. |