package mlkem
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
Pure OCaml implementation of FIPS 203 ML-KEM
Install
dune-project
Dependency
Authors
Maintainers
Sources
v0.1.1.tar.gz
md5=20087fca24222c6de0db3a2d2b05f9c1
sha512=69bdfe62d0a93ff4dbe85280b7fd3db9970adbc36f52891f63e727a4eb32a19bfccf727a62d3740d4771522489cdcbb4feaa3537cdd9b183962252065674ed32
doc/src/mlkem.for_testing/mlkem_for_testing.ml.html
Source file mlkem_for_testing.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42module M512 = Mlkem__Mlkem_engine.Mlkem512 module M768 = Mlkem__Mlkem_engine.Mlkem768 module M1024 = Mlkem__Mlkem_engine.Mlkem1024 module type ENGINE = Mlkem__Mlkem_engine.S let sha3_256 = Mlkem__Keccak.sha3_256 let sha3_512 = Mlkem__Keccak.sha3_512 let shake128 = Mlkem__Keccak.shake128 let shake256 = Mlkem__Keccak.shake256 let keygen (module M : ENGINE) ~d ~z = match M.keygen_internal ~d ~z with | Error _ as e -> e | Ok dk -> let ek = M.encapsulation_key_of_decapsulation_key dk in Ok (M.decapsulation_key_to_expanded dk, M.encapsulation_key_to_octets ek) let encapsulate (module M : ENGINE) ~encapsulation_key ~randomness = match M.encapsulation_key_of_octets encapsulation_key with | Error _ as e -> e | Ok ek -> match M.encapsulate_internal ek ~randomness with | Error _ as e -> e | Ok (ct, ss) -> Ok (M.ciphertext_to_octets ct, M.shared_secret_to_octets ss) let decapsulate (module M : ENGINE) ~expanded_decapsulation_key ~ciphertext = match M.decapsulation_key_of_expanded expanded_decapsulation_key with | Error _ as e -> e | Ok dk -> match M.ciphertext_of_octets ciphertext with | Error _ as e -> e | Ok ct -> Ok (M.shared_secret_to_octets (M.decapsulate dk ct)) let keygen_512 = keygen (module M512) let encapsulate_512 = encapsulate (module M512) let decapsulate_512 = decapsulate (module M512) let keygen_768 = keygen (module M768) let encapsulate_768 = encapsulate (module M768) let decapsulate_768 = decapsulate (module M768) let keygen_1024 = keygen (module M1024) let encapsulate_1024 = encapsulate (module M1024) let decapsulate_1024 = decapsulate (module M1024)
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>