Organisationsmiragemirage-cryptobranch/mainBuild History

Build History for branch/main

Builds (54)
changes for 226 230
dc08c7
[ec] Handle K_gen correctly for bitlen mod 8 <> 0 (#230) * [ec] Handle K_gen correctly for bitlen mod 8 <> 0
a7b60c
mirage-crypto-ec: Set bytes used for "zero" to '\000' (#226) Cstruct.create does this. If we don't initialize bytes with '\000', Field_element.zero can be something else than '\000'. It's a fix for mirleft/ocaml-x509#167. Co-authored-by: Hannes Mehnert <hannes@mehnert.org>
38bde3
mirage-crypto: whitespace change
47751d
changes for 221 223 225, also avoid module alias in fortuna
47127e
Merge pull request #225 from hannesm/rename mirage-crypto: skip Cipher_block / Cipher_stream module indirection
aed257
Use an atomic instead of a reference to be domain-safe (#221) * Random number generator initialisation is domain-safe * Atomic is only available since OCaml 4.12 * set entropy sources via compare_and_set * CI: use 4.12+ only Co-authored-by: Hannes Mehnert <hannes@mehnert.org> Co-authored-by: Reynir Björnsson <reynir@reynir.dk>
5f2d71
mirage-crypto: revise DES to avoid global state in key derivation / key usage (#223) * mirage-crypto: revise DES to avoid global state in key derivation / key usage * mirage-crypto: DES more const, declarations Co-authored-by: Pierre Alain <pierre.alain@tuta.io>
cd7fc5
3des test vectors (manually generated by test_random_runner)
770001
Merge pull request #222 from hannesm/fix-mirage RNG: fix some docstrings
b1a794
further changes (214 215 218 219)
918bef
avoid global buffers (#219) * avoid global buffers * rng: safety - ensure generate_into takes a long enough buffer (raise otherwise) * rng: interrupt_hook only one unit argument (@reynir) * remove offset from counters Co-authored-by: Reynir Björnsson <reynir@reynir.dk> Co-authored-by: Calascibetta Romain <romain.calascibetta@gmail.com>
1ca85f
avoid global buffers (#219) * avoid global buffers * rng: safety - ensure generate_into takes a long enough buffer (raise otherwise) * rng: interrupt_hook only one unit argument (@reynir) * remove offset from counters Co-authored-by: Reynir Björnsson <reynir@reynir.dk>
87248e
Merge pull request #217 from hannesm/firobe-ec add Firobe to mirage-crypto-ec authors
5864c0
Merge pull request #218 from hannesm/entropy-sources use a set for entropy sources
14006f
remove cstruct from mirage-crypto (#214) Co-authored-by: Reynir Björnsson <reynir@reynir.dk>
cfa941
use digestif 1.2.0 API (#215) * use digestif 1.2.0 API Co-authored-by: Reynir Björnsson <reynir@reynir.dk>
4b757b
Merge pull request #213 from hannesm/no-hash remove Hash
fff44e
further changes entries until 213
ccdccb
mirage-crypto-rng: use string instead of cstruct (#212) * mirage-crypto-rng: use string instead of cstruct * across pk, ec, rng: use digestif instead of Mirage_crypto.Hash * wycheproof: no Mirage_crypto.Hash * rng: provide a generate_into : ?g -> bytes -> ?off:int -> int -> unit and reimplement the generate in terms of generate_into this keeps the allocation at the API boundary if desired Co-authored-by: Reynir Björnsson <reynir@reynir.dk>
1d488d
mirage-crypto-pk: revise API to not use Cstruct.t (#211) * mirage-crypto-pk: revise API to not use Cstruct.t Co-Authored-By: Reynir Björnsson <reynir@reynir.dk>
b68ef2
mirage-crypto-ec: move API to string (instead of cstruct) (#210) * mirage-crypto-ec: move API to string (instead of cstruct) minor performance gain(s)
7a6820
changes for 209
61721c
Merge pull request #209 from hannesm/no-p224 mirage-crypto-ec: remove NIST P224 support
547892
fill in some changes
653ea9
Chacha20-Poly1305: use string instead of cstruct (#203) * Chacha20-Poly1305: use string instead of cstruct Performance improvement from 8MB/s to 20MB/s (with 16 byte blocks, on my laptop) Co-Authored-By: Reynir Björnsson <reynir@reynir.dk>
0a74d9
Merge pull request #208 from hannesm/pk-no-sexp mirage-crypto-pk: remove s-expression converters and sexplib0 dependency
ec3e5b
mirage-crypto-ec: GNUmakefile - fix p256_tables target
9cb2eb
mirage-crypto: CCM bugfix 32 bit with long adata (#207) * Add 32 bit ccm test case * Fix CCM on 32 bit architecture
701e98
finalize changes for release
3ebc0e
minor tweaks (80 cols)
28f8cd
changes for 194
8a526d
riscv64: Replace rdcycle64 with rdtime64 when running in userspace (#194) Reviewed-by: Török Edwin <edwintorok@users.noreply.github.com>
482d4b
update changes
9ce288
windows/dkml: minor CI adjustments (#198) * pin local opam files * remove mirage-crypto-ec from dkml-windows (test fail, let's not ship it)
ccbf96
Merge pull request #196 from hannesm/ed25519 improvements for 25519
27cb3e
mirage-crypto-ec test: avoid gmp dependency (#200) * test_ec_wycheproof: use let* instead of >>= * mirage-crypto-ec tests: avoid mirage-crypto-pk and asn1-combinators dependency
bcfa05
dkml: also trigger on pull requests
7f3887
Support Microsoft CL.EXE compiler (#137) Support Microsoft CL.EXE compiler
839558
changes for 191
9603eb
mirage-crypto-ec: Use windowed algorithm for base scalar mult on NIST P-curves (#191) * [ec] Use windowed algorithm for base scalar mult Using a sliding window method with pre-computed values of multiples of the generator point, obtain far more efficient performance for the special case where G = P in the scalar multiplication kP. By using a safe selection algorithm for pre-computed values and no branches in the main loop, the algorithm leaks no less information about its inputs than the current Montgomery ladder. * [ec] Rewrite scalar_mult_base in C For performance. This implies the need to get generator points from C as well. The pre-computed tables are stored in static memory, and computed lazily. * Generate pre-tables AOT and hardcode them * Separate 64/32 tables * Add 32-bit tables
c9ef51
update CHANGES
febeb9
README: add code from BoringSSL paragraph
603a46
Merge pull request #195 from hannesm/warn-k-ec mirage-crypto-ec: warn about power/timing analysis on k in sign
7b6c5f
Replace the internal usage of Cstruct.t by string (#146) Originally, we used Cstruct.t (bigarray) for interfacing. Instead, we use string now. The benefit is that allocating a string is cheap, and in line with OCaml's GC. After some years of stalling, we included benchmarks in bench/speed.ml fot the EC operations in #192 (sign, verify, generate for EC/EdDSA; and ECDH). The result for thi change is a factor between 2 and 2.5. The external API (mirage_crypto_ec.mli) does not change at all. There are various other cleanups in the code, such as providing a layer to isolate the C calls (which receive a bytes buffer for the result value, and thus mutate this buffer) to be immutable. Co-authored-by: Pierre Alain <pierre.alain@tuta.io> Co-authored-by: Hannes Mehnert <hannes@mehnert.org> Co-authored-by: Reynir Björnsson <reynir@reynir.dk> Reviewed-by: Virgile Robles <virgile.robles@protonmail.ch> Reviewed-by: Pierre Alain <pierre.alain@tuta.io>
36bc72
add EC to bench/speed (#192) * add ECDSA to bench/speed * ecdsa-generate * remaining ec bench * minimize diff * DRY * mirage-crypto: conflict with result < 1.5 (since that redefines Result module, and we don't get Result.get_ok)
33bde0
test-mirage: bump version
29c82f
fix typo in changes
414244
changes entry for 190
e209e5
Merge pull request #190 from fangyaling/main Add support for Loongarch
a63f18
changes so far
cf42ee
Allocate less in Fortuna (#188) * Fortuna.add: don't allocate a 2 byte cstruct on each call Instead, use a temporary buffer. Contradicts #186 * minor fix
24dff0
Merge pull request #189 from drchrispinnock/chrispinnock@netbsd Add NetBSD to the list of BSD OS in define
8e8f83
opam: fix typo
46e71a