Opensc: Add curve25519 support in OpenSC

Created on 7 Nov 2019  ·  5Comments  ·  Source: OpenSC/OpenSC

Currently, there is no support for curve25519 in OpenSC. There is support for the curves shown here and here only (as far as I can see). It is possible that there are just not many cards out there that support this curve, but there are people looking out for this curve. So this is a newer version of an old request.

I can not oversee the work that needs to be done to make curve25519 work, therefore I created this issue. I hope for discussion and help. If anyone wants to implement this, I would be happy. Nitrokey can provide free Nitrokey Start devices (equivalent to Gnuk devices, which support curve25519) to test code. The openpgp card driver used by Gnuk is already prepared.

Wishlist help wanted

Most helpful comment

for the record, this is already WIP, but I still do not have anything that can be published as it is touching a lot of things all over the code base, but I hope in coming weeks I will be able to open a PR.

All 5 comments

Yubikey with firmware 5.2.3+ is also supporting Ed25519/Curve25519, and these kind of curves are more and more popular.

The problem with Ed25519/Curve25519 is that it is not supported in the current version of PKCS #11 specification without vendor specific extension (see the discussion in softhsm PR: https://github.com/opendnssec/SoftHSMv2/pull/324 ). The IDs for these should come in PKCS#11 3.0, but it is not out yet (even though used in SoftHSM: https://github.com/opendnssec/SoftHSMv2/blob/develop/src/lib/pkcs11/pkcs11.h#L889 )

I think I have old yubikey that does not support these keys, but it would be interesting to implement support for these (at least keys -- not sure about the use of the pure curve25519).

@Jakuje If it helps, we could ship you a free Nitrokey Start.

@jans23 That would be nice. Please, drop me an email. Unfortunately, I can not estimate when I will be able to work on these, but I would be certainly interested in improving OpenSC in this way.

for the record, this is already WIP, but I still do not have anything that can be published as it is touching a lot of things all over the code base, but I hope in coming weeks I will be able to open a PR.

Was this page helpful?
0 / 5 - 0 ratings