cryspen / hacl-packages Goto Github PK
View Code? Open in Web Editor NEWThe Cryspen HACL Distribution
Home Page: https://cryspen.com/hacl-packages
License: Other
The Cryspen HACL Distribution
Home Page: https://cryspen.com/hacl-packages
License: Other
The basic hacl-star-raw source is in https://github.com/cryspen/hacl-packages/tree/main/ocaml.
This issue should make sure that the raw package is working as expected.
Tracking generation of snapshots (other dists)
The build currently replicates what the upstream configure
script. But that's not always correct or complete (see for example hacl-star/hacl-star#519 (comment)).
See https://github.com/cryspen/hacl/blob/main/cpu-features.md for full CPU feature matrix.
Lib_IntVector_Intrinsics_ni_aes_enc
, Lib_IntVector_Intrinsics_ni_aes_enc_last
, Lib_IntVector_Intrinsics_ni_aes_keygen_assist
Lib_IntVector_Intrinsics_ni_clmul
Lib_IntVector_Intrinsics_vec128_xor
, Lib_IntVector_Intrinsics_vec128_eq32
, Lib_IntVector_Intrinsics_vec128_gt32
, Lib_IntVector_Intrinsics_vec128_or
, Lib_IntVector_Intrinsics_vec128_and
, Lib_IntVector_Intrinsics_vec128_lognot
, Lib_IntVector_Intrinsics_vec128_shift_left
, Lib_IntVector_Intrinsics_vec128_shift_right
, Lib_IntVector_Intrinsics_vec128_shift_left64
, Lib_IntVector_Intrinsics_vec128_shift_right64
, Lib_IntVector_Intrinsics_vec128_shift_left32
, Lib_IntVector_Intrinsics_vec128_shift_right32
, Lib_IntVector_Intrinsics_vec128_shuffle32
, Lib_IntVector_Intrinsics_vec128_shuffle64
, Lib_IntVector_Intrinsics_vec128_rotate_right_lanes32
, Lib_IntVector_Intrinsics_vec128_rotate_right_lanes64
, Lib_IntVector_Intrinsics_vec128_load32_le
, Lib_IntVector_Intrinsics_vec128_load64_le
, Lib_IntVector_Intrinsics_vec128_store32_le
, Lib_IntVector_Intrinsics_vec128_store64_le
, Lib_IntVector_Intrinsics_vec128_zero
, Lib_IntVector_Intrinsics_vec128_add64
, Lib_IntVector_Intrinsics_vec128_sub64
, Lib_IntVector_Intrinsics_vec128_mul64
, Lib_IntVector_Intrinsics_vec128_smul64
, Lib_IntVector_Intrinsics_vec128_add32
, Lib_IntVector_Intrinsics_vec128_sub32
, Lib_IntVector_Intrinsics_vec128_load64
, Lib_IntVector_Intrinsics_vec128_load64s
, Lib_IntVector_Intrinsics_vec128_load32
, Lib_IntVector_Intrinsics_vec128_load32s
, Lib_IntVector_Intrinsics_vec128_interleave_low32
, Lib_IntVector_Intrinsics_vec128_interleave_high32
, Lib_IntVector_Intrinsics_vec128_interleave_low64
, Lib_IntVector_Intrinsics_vec128_interleave_high64
Lib_IntVector_Intrinsics_vec128_rotate_left32_8
, Lib_IntVector_Intrinsics_vec128_rotate_left32_16
, Lib_IntVector_Intrinsics_vec128_rotate_left32_24
, Lib_IntVector_Intrinsics_vec128_rotate_left32
, Lib_IntVector_Intrinsics_vec128_rotate_right32
, Lib_IntVector_Intrinsics_vec128_load_be
, Lib_IntVector_Intrinsics_vec128_load32_be
, Lib_IntVector_Intrinsics_vec128_load64_be
, Lib_IntVector_Intrinsics_vec128_store_be
, Lib_IntVector_Intrinsics_vec128_store32_be
, Lib_IntVector_Intrinsics_vec128_store64_be
(all also SSE2)Lib_IntVector_Intrinsics_vec128_eq64
, Lib_IntVector_Intrinsics_vec128_insert8
, Lib_IntVector_Intrinsics_vec128_insert32
, Lib_IntVector_Intrinsics_vec128_insert64
, Lib_IntVector_Intrinsics_vec128_extract8
, Lib_IntVector_Intrinsics_vec128_extract32
, Lib_IntVector_Intrinsics_vec128_extract64
, Lib_IntVector_Intrinsics_vec128_mul32
, Lib_IntVector_Intrinsics_vec128_smul32
(also sse2)Lib_IntVector_Intrinsics_vec128_gt64
,Tracking build feature parity with the upstream hacl* dist directory.
Tracking implementations of benchmarks.
Ensure that Rust exposes all APIs we have (advertise) in the C API.
Tier 1 targets are guaranteed to work. These targets have automated testing to ensure that changes do not break them.
Tier 2 targets are guaranteed to build. These targets have automated builds to ensure that changes do not break the builds. However, not all of them are always tested.
Tracking progress on mach for building
Tracking the cmake build
To catch issues like: hacl-star/hacl-star#550
We should make sure this applies to the Windows and C89 flavors of our code;
Building with ./mach build -a blake2
(or any other algorithm) disables evercrypt (the agile APIs).
While this is intentional, it's not great. It would be best to add a new well-designed, flexible API on top of HACL that would allow this.
- [ ] GCC 4.8
The c89 compatible code is broken. We are skipping this for now.
Move https://github.com/hacl-star/hacl-star/tree/main/bindings/js to this repo and delete there.
js
mach update
to copy wasm as wellmach
node api_test.js && node test2.js && node test3.js
Documentation only says SHA3 and blake2 but doesn't mention which versions are supported.
./mach update
should take an argument where to find the hacl-star distribution.
This can be
If the upstream is a git repository
The hacl-star source code is in https://github.com/cryspen/hacl-packages/tree/main/ocaml/hacl-star.
This issue should make sure that the opam packaging works as expected and it is easy to publish new packages.
./mach test
[mach] Running tests ...
[mach] ! Nothing is built! Please build first. Aborting!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.