| Ed25519 ondertekenen / verifiëren | sgcEd25519_Sign / sgcEd25519_Verify | RFC 8032. 32-byte publieke sleutel, 64-byte handtekening. Verify wijst niet-canonieke punten en S >= L af volgens sectie 5.1.7. |
| X25519-sleuteluitwisseling | sgcX25519, sgcX25519_PublicKey, sgcX25519_SharedSecret | RFC 7748 Diffie-Hellman over Curve25519. |
| Ed448 ondertekenen / verifiëren | sgcEd448_GenerateKeyPair, sgcEd448_Sign, sgcEd448_Verify | RFC 8032, de 448-bit (Goldilocks) EdDSA-curve. |
| X448-sleuteluitwisseling | sgcX448, sgcX448_PublicKey, sgcX448_SharedSecret | RFC 7748 Diffie-Hellman over Curve448. |
| secp256k1 | sgcECDSA_SignHash / VerifyHash met eccSecp256k1 | De Bitcoin/Ethereum-curve, SEC 2, in sgcCrypto_ECCurves. |
| Brainpool P256r1 / P384r1 / P512r1 | dezelfde functies met eccBrainpoolP256r1 / P384r1 / P512r1 | RFC 5639, gangbaar in EU-eIDAS- en overheidsprofielen. |
| NIST P-256 / P-384 / P-521 | dezelfde functies met eccP256 / eccP384 / eccP521 | TsgcECCurve noemt nu zeven curves, zodat sleutelgeneratie, ondertekenen, verifiëren, ECDH en puntcompressie allemaal de NIST-priemcurves bereiken vanuit raw sleutelbytes, niet alleen vanuit een PEM-bestand. |
| Deterministische ECDSA-nonce | ingebouwd in sgcECDSA_SignHash | RFC 6979: de nonce wordt afgeleid van de private sleutel en het bericht, geen RNG-faalmodus. |
| ECDH (secp256k1 / Brainpool) | sgcECDH_SharedSecret | Gedeeld geheim over dezelfde vier curves. |
| Puntcompressie | sgcEC_Compress / sgcEC_Decompress | Sla de kortere gecomprimeerde publieke-sleutelvorm op of verstuur die. |
| EC als JWS (ES256/384/512) | sgcECDSA_SignJWS / sgcECDSA_VerifyJWS | Curve automatisch gekozen op basis van de gevraagde bitlengte, ondertekenen/verifiëren rechtstreeks vanuit een PEM-sleutel, JOSE-georiënteerde tegenhanger van ECCurves. |
| Generieke ECDH | sgcECDH | Gedeeld geheim uit een raw private sleutel en een remote publiek punt. |
| Raw / DER ECDSA-verificatie | sgcECDSA_VerifyRaw / sgcECDSA_VerifyDER | Verifieer tegen een raw (Qx, Qy, r, s)-tuple of een DER-gecodeerde handtekening. |
| ECDSA DER-ondertekening & -conversie | sgcECDSA_SignDER / sgcECDSA_VerifyDER, sgcECDSA_RawToDER / sgcECDSA_DERToRaw | X.509, CMS en TLS dragen de DER ECDSA-Sig-Value, een SEQUENCE van INTEGER r gevolgd door INTEGER s. JOSE en WebAuthn dragen in plaats daarvan het raw paar R || S. Onderteken rechtstreeks in beide vormen, of converteer een bestaande handtekening ertussen. |
| Schnorr-handtekeningen (BIP-340) | sgcSchnorr_PublicKey, sgcSchnorr_Sign, sgcSchnorr_Verify | Alleen secp256k1, met x-only publieke sleutels van 32 bytes en handtekeningen van 64 bytes: wat Taproot, Nostr en Lightning gebruiken. sgcSchnorr_TaggedHash wordt blootgesteld zodat de BIP-341- en BIP-342-tags op dezelfde constructie kunnen worden gebouwd. |
| RSA-ondertekening (PKCS#1 v1.5) | sgcRSA_SignPKCS1 | Vanuit een PEM private sleutel, SHA-1/256/384/512-digest. |
| RSA-verificatie (PKCS#1 v1.5 / PSS) | sgcRSA_VerifyPKCS1, sgcRSA_VerifyPSS, en _Raw-varianten over een modulus/exponent | RFC 8017. Verify werkt vanuit een PEM-sleutel of raw modulus en exponent, geen key-object-constructie nodig. |
| RSA-sleutelgeneratie | sgcRSA_GenerateKey | Elke gevraagde bitlengte, Miller-Rabin-priemtest. |
| RSA-OAEP-versleuteling | sgcRSA_OAEP_Encrypt / sgcRSA_OAEP_Decrypt | RFC 8017 optimal asymmetric encryption padding. |
| RSA-OAEP met een onafhankelijke MGF1-hash | de vijf-parameteroverloads van sgcRSA_OAEP_Encrypt / sgcRSA_OAEP_Decrypt | Leg de labelhash en de MGF1-hash apart vast. OAEPWithSHA256AndMGF1Padding betekent SHA-256 voor beide in Bouncy Castle maar SHA-256 met MGF1-SHA1 in SunJCE, en die mismatch is meestal de reden waarom Java-interoperabiliteit faalt. |
| RSA PKCS#1 v1.5-versleuteling | sgcRSA_PKCS1_Encrypt / sgcRSA_PKCS1_Decrypt | RFC 8017 sectie 7.2, de modus die Java RSA/ECB/PKCS1Padding noemt. Decrypt doorloopt voor elke fout hetzelfde pad, zodat een padding-oracle er niets aan heeft. Geef de voorkeur aan OAEP voor iets nieuws. |
| RSA-PSS / PKCS#1-ondertekening | sgcRSA_PSS_Sign / Verify, sgcRSA_PKCS1_Sign / Verify | Onderteken rechtstreeks vanuit een gegenereerde TsgcRSAPrivateKey. |
| RSA-sleutelexport | sgcRSA_ExportPrivateKeyPEM, sgcRSA_ExportPublicKeyPEM, overeenkomende DER-aanroepen | PKCS#1- en SubjectPublicKeyInfo-encoderingen. |
| PKCS#8- en SEC 1-sleutelexport | sgcRSA_ExportPrivateKeyPKCS8DER / PKCS8PEM, sgcEC_ExportPrivateKeyPKCS8DER / PKCS8PEM, sgcEC_ExportPrivateKeySEC1DER / SEC1PEM, sgcEC_ExportSubjectPublicKeyInfo, sgcEC_ExportPublicKeyPEM | De container BEGIN PRIVATE KEY die Java, .NET en de meeste moderne tools verwachten, naast de SEC 1-vorm BEGIN EC PRIVATE KEY en de SubjectPublicKeyInfo die een certificaat insluit. Onversleuteld, dus wat terugkomt is kaal sleutelmateriaal. |
| RSA- en EC-sleutelimport | sgcRSA_ImportPrivateKeyDER / PEM, sgcRSA_ImportPublicKeyDER / PEM, sgcEC_ImportPrivateKeyDER / PEM, sgcEC_ImportPublicKeyDER / PEM | Dit bestond eerder niet: een gegenereerde sleutel kon worden weggeschreven maar nooit worden teruggelezen. Import accepteert PKCS#1, PKCS#8, SEC 1 en SubjectPublicKeyInfo, DER of PEM, herberekent de CRT-parameters of het publieke punt wanneer het bestand ze weglaat, en geeft False terug bij misvormde invoer in plaats van een exception te gooien, zodat niet-vertrouwde bestanden er veilig aan kunnen worden meegegeven. |
| ECIES seal / open | sgcECIES_GenerateKeyPair, sgcECIES_Seal, sgcECIES_Open | Hybride versleuteling naar een X25519-publieke sleutel: ephemere ECDH plus een AEAD, één aanroep per richting. |