You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Inside it has a mirage_crypto_bigint.mli specifying exactly what types and functions mirage-crypto needs from Zarith.
Make an implementation library mirage-crypto-bigint.zarith that just passes through to Zarith.
With a virtual library we could use the slower but much more portable num to implement the virtual library (ie. mirage-crypto-bigint.num). That would allow a slow Windows implementation. That slowness would be fine for many use cases (ex. testing out a web server on a Windows desktop) since I think the common use case is to deploy TLS endpoints on Linux. I believe TLS is the main use case for mirage-crypto-pk.
Someone would also be able to implement a new constant-time bignum implementation. I might even port a bignum from Rust or bind another C bignum library myself eventually, but that is a small chance since for most of my needs I prefer TLS offloading. (Yet if I had to use in-process TLS I would avoid the GMP library both because of its license and how difficult GNU software is to build with the MSVC compiler)
The text was updated successfully, but these errors were encountered:
TLDR: Having a virtual library so that GMP is not a hard-dependency of mirage-crypto-pk.
This was forked off from #137.
The specific request:
mirage-crypto-bigint
for now.mirage_crypto_bigint.mli
specifying exactly what types and functionsmirage-crypto
needs from Zarith.mirage-crypto-bigint.zarith
that just passes through to Zarith.With a virtual library we could use the slower but much more portable
num
to implement the virtual library (ie.mirage-crypto-bigint.num
). That would allow a slow Windows implementation. That slowness would be fine for many use cases (ex. testing out a web server on a Windows desktop) since I think the common use case is to deploy TLS endpoints on Linux. I believe TLS is the main use case for mirage-crypto-pk.Someone would also be able to implement a new constant-time bignum implementation. I might even port a bignum from Rust or bind another C bignum library myself eventually, but that is a small chance since for most of my needs I prefer TLS offloading. (Yet if I had to use in-process TLS I would avoid the GMP library both because of its license and how difficult GNU software is to build with the MSVC compiler)
The text was updated successfully, but these errors were encountered: