Closed kotval closed 7 months ago
On xous-core, the work to get this integrated is here: https://github.com/kotval/xous-core/tree/dalek_to_v4. I was able to update the use of curve25519-dalek in the wycheproof tests, but I got stuck on a cryptic issue with Zeroize that I don't fully have the context for.
I cannot build service/root-keys due to Zeroize. It seems that Zeroize does not have the feature derive
that it needs, but I don't seem to be able to add it, either by specifying that feature in the Cargo.toml or by manually adding zeroize_derive
to the Cargo.toml and adjusting the code accordingly.
Since xous-core now builds with curve25519-dalek at 4.1.1, I can start working on getting libsignal working in sigchat.
There is still some work do be done to get hardware acceleration working. I switched to cfg flags rather than features, but it seems I missed something important in the docs that the dalek folks also missed. cfg flags can't enable arbitrary features. I am now working on fixing that here: https://github.com/betrusted-io/curve25519-dalek/pull/2. If @bunnie would like to take on the maintenance work, I can work on getting libsignal working in sigchat with the software backend for now.
I will wait to close this issue until we have upgraded the hardware acceleration. I will also open a PR from my xous-core, but note that is should not be merged until we fix hardware acceleration.
OK, the hardware acceleration should be working and the PR merged. I'll go ahead and close out this issue because I think we're there. Thanks for all the hard work getting this together @kotval
I will also open a new issue to track some remaining items to be covered in terms of the locking and fall-back behaviors.
To support recent versions of libsignal, version 4 release of curve25519-dalek is required. Work in progress here: https://github.com/kotval/curve25519-dalek/tree/update_to_v4