-
Notifications
You must be signed in to change notification settings - Fork 44
Replace ct_find_uint8 by Eqaf_cstruct.find_uint8 #52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
this is fine, though:
|
so, this will eventually solve itself (once the windows runner has a fresher opam repository!?) |
It's done 👍. |
thanks again, sorry for being picky, but I'd appreciate a function definition (a la |
hmm, or not - I'm not sure anymore. why should |
let res = Eqaf.find_uint8 ... in
let v = Eqaf.select_int (res - 1) default res in Is constant-time where: let res = Eqaf.find_uint8 ... in
let res = if res = (-1) then None else Some res in
let v = Option.get ~def res in is not. Instead, we can implement a |
@dinosaure thanks for your answer. yes, I'd appreciate a |
oh, another way to move here is: develop such a |
Yes, it's mostly due to the limitation to avoid any call to the GC in your
Sure, may be today, or this week 👍. |
Done in this way 👍 into my last commit. Should I rebase? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks fine to me, can be squashed and merged into a single commit when CI passes
mirage-crypto-pk depends on >= eqaf.0.7
thanks, merged. the CI failures (on windows) are lacking the eqaf 0.7 release in opam-repository-mingw (that will eventually appear at some point) ;the OCaml-CI has an update cycle of "around a week" (there's discussion on ocurrent/ocaml-ci#26 about ways out -- no, embedding submodules into this repository won't happen, sorry). since we use a variety of CI systems, we still have some that test this PR successfully :) |
…0.7.0) CHANGES: * CPU feature detection (AESNI, SSE3, PCLMULQ) at runtime instead of compile time (mirage/mirage-crypto#53 @Julow, fixed MirageOS support mirage/mirage-crypto#61, review by @hannesm) performance hit up to 5% * Revise entropy collection (mirage/mirage-crypto#64 @hannesm review by @dinosaure @cfcs) mirage-crypto-entropy has been folded into mirage-crypto-rng.{unix,lwt,mirage} - the RNG is no longer fork() safe, if you use fork in your code, be sure to reseed the RNG in the child process - on Unix and Lwt, the used RNG is Fortuna, seeded by getrandom(), rdrand/rdseed, and whirlwind - Mirage_crypto_rng_lwt does entropy collection for Lwt applications - entropy collection is now similar to FreeBSD: - rdrand/rdseed is executed in a separate task (by default every second) - on Unix, getrandom() is executed in another separate task (by default every 10 seconds) - on every enter of the Lwt event loop, some bits of rdtsc are collected (rdrand/rdseed is not on each even loop enter anymore) - Fortuna only uses entropy pools if the given period is exhausted (defaults to 1s), and the pool size exceeds 64 bytes - The unseeded generator exception prints instructions how to seed the RNG * 32 bit support (for ghash), requested by @TImada in mirage/mirage-crypto#60, mirage/mirage-crypto#65 @hannesm * use Eqaf_cstruct.find_uint8 instead of Cs.ct_find_uint8 (mirage/mirage-crypto#52 @dinosaure) * add (:standard) in C flags to allow cross-compilation mirage/mirage-crypto#47 @samoht * Mirage_crypto.Uncommon: remove several functions (Cs.create, Option), requires OCaml 4.08 (mirage/mirage-crypto#49 mirage/mirage-crypto#51 @hannesm) * remove ocplib-endian dependency, use Bytes directly (since 4.07) mirage/mirage-crypto#51 @hannesm * bitfn.h cleanup (mirage/mirage-crypto#56 mirage/mirage-crypto#58 @hannesm) * fix build if opam is not available (mirage/mirage-crypto#66 @hannesm) * update test.yml GitHub actions (mirage/mirage-crypto#44 mirage/mirage-crypto#57 @imbsky) * Travis CI for arm64 (mirage/mirage-crypto#55 @hannesm)
A fix of #23