open-quantum-safe / liboqs-rust

Rust bindings for liboqs
https://openquantumsafe.org/
Apache License 2.0
121 stars 48 forks source link

ARMv8 compatibility: CI and cross-compiling? #127

Open thomwiggers opened 2 years ago

thomwiggers commented 2 years ago

At the moment, this crate is only expected to work on intel. We might want to set up CI for ARMv8 and next figure out the relevant CMake flags etc.

expressvpn-pete-m commented 2 years ago

I use the oqs-sys crate in wolfssl-sys. I've got an example that builds and tests post quantum with WolfSSL here: https://github.com/expressvpn/wolfssl-sys

It builds happily on an M1 mac as an arm64 executable.

Though I just discovered that the ports on the test site aren't fixed, so my test breaks if you don't update the port 😄

thomwiggers commented 2 years ago

That's good to hear; but I don't know what you mean by "the ports on the test site"?

thomwiggers commented 2 years ago

Also I think that cross-compiling to ARMv8 is something that we should probably support but I'm not too experienced with how to set up cmake for that.

thomwiggers commented 2 years ago

Okay for the latter it seems we're blocked on https://github.com/rust-lang/cmake-rs/pull/158 at least.

expressvpn-pete-m commented 2 years ago

Ah sorry, I have an example app that connects to test.openquantumsafe.org on port 6051. At the time of writing, it was the port used for the equivalent of WOLFSSL_P521_KYBER_LEVEL5. Since then though (I guess it was restarted?) the assigned port numbers have changed, so this example no longer works.

I just need to find out if there's a way to programmatically get that port lis, if I need to scrape the page or just make the port a command line argument 😊

thomwiggers commented 2 years ago

Ah right. That's more of a question for the liboqs repository I think.

baentsch commented 1 year ago

@expressvpn-pete-m : Sorry I only see this comment now:

I just need to find out if there's a way to programmatically get that port lis, if I need to scrape the page or just make the port a command line argument

There is: See the current port assignment JSON here.

aparcar commented 3 months ago

Is it possible that my issue here is related to this? I'm trying to use armv8 via cross compiling, too.