Luigit
repositories / dotfiles

dotfiles

bugabingas dorkfiles

owned by admin

pi/agent/skills/optional/java/java-kem-api/SKILL.md

Raw
Rendered preview

name: java-kem-api description: "Use when Java 21+ crypto uses javax.crypto.KEM encapsulators/decapsulators for shared-secret establishment." license: CC-BY-4.0-summary compatibility: "JDK 21+" metadata: sources: - "https://openjdk.org/jeps/452"

Key Encapsulation Mechanism API

Use for Key Encapsulation Mechanism API work from JEP 452 when targeting JDK 21+.

When active

  • Use KEM for key encapsulation rather than forcing it into Cipher or KeyAgreement.
  • Sender encapsulates with receiver public key; receiver decapsulates with private key.
  • Transmit encapsulation bytes and algorithm params when needed.

Pitfalls

  • KEM key-pair generation still uses KeyPairGenerator.
  • Provider selection can depend on key and parameters.
  • Do not assume SecretKey.getEncoded() is available.

Examples

Read examples/jep-452.md for JEP-derived snippets.

References

---
name: java-kem-api
description: "Use when Java 21+ crypto uses `javax.crypto.KEM` encapsulators/decapsulators for shared-secret establishment."
license: CC-BY-4.0-summary
compatibility: "JDK 21+"
metadata:
  sources:
    - "https://openjdk.org/jeps/452"
---

# Key Encapsulation Mechanism API

Use for **Key Encapsulation Mechanism API** work from [JEP 452](https://openjdk.org/jeps/452) when targeting JDK 21+.

## When active

- Use KEM for key encapsulation rather than forcing it into `Cipher` or `KeyAgreement`.
- Sender encapsulates with receiver public key; receiver decapsulates with private key.
- Transmit encapsulation bytes and algorithm params when needed.

## Pitfalls

- KEM key-pair generation still uses `KeyPairGenerator`.
- Provider selection can depend on key and parameters.
- Do not assume `SecretKey.getEncoded()` is available.

## Examples

Read `examples/jep-452.md` for JEP-derived snippets.

## References

- https://openjdk.org/jeps/452