Apex Flex Vivokey SmartPGP Issues?

See Support of Curve25519 · Issue #10 · github-af/SmartPGP · GitHub for the status of ed25519 in the PGP applet implementation.

Javacard (3.0.x) does not offer native support for Curve25519 and does not offer enough low-level primitives to implement it at the applet level (encryption - Using Curve25519 on javacard - Stack Overflow)

The newly released Java Card 3.1 specification supports x25519 and Ed25519.

SmartPGP will support Curve25519 on cards compliant with JavaCard 3.1 only.

The NXP P71 which powers the Apex supports Javacard 3.0.5 at maximum. SmartPGP is also yet missing the actual implementation. So maybe in a future Apex interation it might be a possibility, but not on the current one.

Please understand that the world of hardware-based, especially Javacards, moves slowly. There are still many cards which don’t even support ECC. I agree that ed25519 should be preferred over NIST-P and Brainpool, but then again think about your threat model and the resources of a potential attacker, and whether a large ECC key might be good enough for you on these other curves; most of the payment networks, cryptocurrencies and even FIDO run on the NIST P-256 curve (secp256r1).

1 Like