Skip to content

Commit e9ecdd2

Browse files
Merge pull request #1389 from MavenRain/fix-1362-xof-streaming-squeeze
Fix 1362 xof streaming squeeze
2 parents e83007e + 31bf003 commit e9ecdd2

70 files changed

Lines changed: 970 additions & 404 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1111

1212
- (libcrux-secrets) [#1460](https://github.com/cryspen/libcrux/issues/1460): Fix incorrect cmp in aarch64 select/swap implementation
1313
- (libcrux-sha3) [#1456](https://github.com/cryspen/libcrux/pull/1456): Fix out of bounds indexing in avx2 SHAKE-256 implementation
14+
- (libcrux-sha3) [#1389](https://github.com/celabshq/libcrux/pull/1389): Fix partial Block output of incremental XOF API
1415

1516
### Changed
1617

combined_extraction/generated/code_gen.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ Charon: e656e17bff6ca5efac8ab6919b9b74cb9a8dd8ad
33
Eurydice: aaa9fa657fb6f09802edb890252040d94cd93982
44
Karamel: 8c19d41458ce5cbfea029ebc03334ba96d149039
55
F*: 7b347386330d0e5a331a220535b6f15288903234
6-
Libcrux: c2593afcf1c70df94fe6b696747fa02197763c3b
6+
Libcrux: bc35d2f21221fbea025ce4f6780bea527ee525d6

combined_extraction/generated/combined_core.h

Lines changed: 101 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
* Eurydice: aaa9fa657fb6f09802edb890252040d94cd93982
99
* Karamel: 8c19d41458ce5cbfea029ebc03334ba96d149039
1010
* F*: 7b347386330d0e5a331a220535b6f15288903234
11-
* Libcrux: c2593afcf1c70df94fe6b696747fa02197763c3b
11+
* Libcrux: bc35d2f21221fbea025ce4f6780bea527ee525d6
1212
*/
1313

1414

@@ -210,7 +210,7 @@ with const generics
210210
- N= 1184
211211
*/
212212
static inline Eurydice_borrow_slice_u8
213-
Eurydice_array_to_subslice_to_shared_210(const Eurydice_arr_5f *a, size_t r)
213+
Eurydice_array_to_subslice_to_shared_212(const Eurydice_arr_5f *a, size_t r)
214214
{
215215
Eurydice_borrow_slice_u8 lit;
216216
lit.ptr = a->data;
@@ -646,18 +646,6 @@ with const generics
646646
*/
647647
typedef struct Eurydice_arr_c5_s { uint8_t data[168U]; } Eurydice_arr_c5;
648648

649-
/**
650-
A monomorphic instance of Eurydice.array_to_subslice_shared
651-
with types uint8_t, core_ops_range_Range size_t, Eurydice_derefed_slice uint8_t
652-
with const generics
653-
- N= 168
654-
*/
655-
static inline Eurydice_borrow_slice_u8
656-
Eurydice_array_to_subslice_shared_d46(const Eurydice_arr_c5 *a, core_ops_range_Range_87 r)
657-
{
658-
return (Eurydice_borrow_slice_u8{ a->data + r.start, r.end - r.start });
659-
}
660-
661649
/**
662650
A monomorphic instance of Eurydice.arr
663651
with types Eurydice_arr_c5
@@ -709,7 +697,7 @@ with const generics
709697
- N= 504
710698
*/
711699
static inline Eurydice_borrow_slice_u8
712-
Eurydice_array_to_subslice_shared_d45(const Eurydice_arr_79 *a, core_ops_range_Range_87 r)
700+
Eurydice_array_to_subslice_shared_d46(const Eurydice_arr_79 *a, core_ops_range_Range_87 r)
713701
{
714702
return (Eurydice_borrow_slice_u8{ a->data + r.start, r.end - r.start });
715703
}
@@ -868,7 +856,7 @@ with const generics
868856
- N= 1088
869857
*/
870858
static inline Eurydice_borrow_slice_u8
871-
Eurydice_array_to_subslice_shared_d44(const Eurydice_arr_2b *a, core_ops_range_Range_87 r)
859+
Eurydice_array_to_subslice_shared_d45(const Eurydice_arr_2b *a, core_ops_range_Range_87 r)
872860
{
873861
return (Eurydice_borrow_slice_u8{ a->data + r.start, r.end - r.start });
874862
}
@@ -1114,7 +1102,7 @@ with const generics
11141102
- N= 24
11151103
*/
11161104
static inline Eurydice_borrow_slice_u8
1117-
Eurydice_array_to_subslice_shared_d43(const Eurydice_arr_94 *a, core_ops_range_Range_87 r)
1105+
Eurydice_array_to_subslice_shared_d44(const Eurydice_arr_94 *a, core_ops_range_Range_87 r)
11181106
{
11191107
return (Eurydice_borrow_slice_u8{ a->data + r.start, r.end - r.start });
11201108
}
@@ -1152,7 +1140,7 @@ with const generics
11521140
- N= 16
11531141
*/
11541142
static inline Eurydice_borrow_slice_u8
1155-
Eurydice_array_to_subslice_shared_d42(const Eurydice_arr_b2 *a, core_ops_range_Range_87 r)
1143+
Eurydice_array_to_subslice_shared_d43(const Eurydice_arr_b2 *a, core_ops_range_Range_87 r)
11561144
{
11571145
return (Eurydice_borrow_slice_u8{ a->data + r.start, r.end - r.start });
11581146
}
@@ -1184,7 +1172,7 @@ with const generics
11841172
- N= 19
11851173
*/
11861174
static inline Eurydice_borrow_slice_u8
1187-
Eurydice_array_to_subslice_shared_d41(const Eurydice_arr_38 *a, core_ops_range_Range_87 r)
1175+
Eurydice_array_to_subslice_shared_d42(const Eurydice_arr_38 *a, core_ops_range_Range_87 r)
11881176
{
11891177
return (Eurydice_borrow_slice_u8{ a->data + r.start, r.end - r.start });
11901178
}
@@ -1525,18 +1513,6 @@ Eurydice_array_to_subslice_from_shared_5f(const Eurydice_arr_ff *a, size_t r)
15251513
return (Eurydice_borrow_slice_u8{ a->data + r, (size_t)136U - r });
15261514
}
15271515

1528-
/**
1529-
A monomorphic instance of Eurydice.array_to_subslice_shared
1530-
with types uint8_t, core_ops_range_Range size_t, Eurydice_derefed_slice uint8_t
1531-
with const generics
1532-
- N= 136
1533-
*/
1534-
static inline Eurydice_borrow_slice_u8
1535-
Eurydice_array_to_subslice_shared_d40(const Eurydice_arr_ff *a, core_ops_range_Range_87 r)
1536-
{
1537-
return (Eurydice_borrow_slice_u8{ a->data + r.start, r.end - r.start });
1538-
}
1539-
15401516
/**
15411517
Declassify secret memory.
15421518
@@ -2010,20 +1986,6 @@ typedef struct Eurydice_arr_c5_x4_s
20101986
}
20111987
Eurydice_arr_c5_x4;
20121988

2013-
/**
2014-
A monomorphic instance of Eurydice.array_to_slice_mut
2015-
with types uint8_t
2016-
with const generics
2017-
- N= 168
2018-
*/
2019-
static inline Eurydice_mut_borrow_slice_u8 Eurydice_array_to_slice_mut_2c(Eurydice_arr_c5 *a)
2020-
{
2021-
Eurydice_mut_borrow_slice_u8 lit;
2022-
lit.ptr = a->data;
2023-
lit.meta = (size_t)168U;
2024-
return lit;
2025-
}
2026-
20271989
/**
20281990
A monomorphic instance of Eurydice.array_to_slice_mut
20291991
with types uint8_t
@@ -2047,28 +2009,14 @@ typedef struct Eurydice_arr_ff_x4_s
20472009
}
20482010
Eurydice_arr_ff_x4;
20492011

2050-
/**
2051-
A monomorphic instance of Eurydice.array_to_slice_mut
2052-
with types uint8_t
2053-
with const generics
2054-
- N= 136
2055-
*/
2056-
static inline Eurydice_mut_borrow_slice_u8 Eurydice_array_to_slice_mut_58(Eurydice_arr_ff *a)
2057-
{
2058-
Eurydice_mut_borrow_slice_u8 lit;
2059-
lit.ptr = a->data;
2060-
lit.meta = (size_t)136U;
2061-
return lit;
2062-
}
2063-
20642012
/**
20652013
A monomorphic instance of Eurydice.array_to_subslice_shared
20662014
with types uint8_t, core_ops_range_Range size_t, Eurydice_derefed_slice uint8_t
20672015
with const generics
20682016
- N= 32
20692017
*/
20702018
static inline Eurydice_borrow_slice_u8
2071-
Eurydice_array_to_subslice_shared_d4(const Eurydice_arr_ec *a, core_ops_range_Range_87 r)
2019+
Eurydice_array_to_subslice_shared_d41(const Eurydice_arr_ec *a, core_ops_range_Range_87 r)
20722020
{
20732021
return (Eurydice_borrow_slice_u8{ a->data + r.start, r.end - r.start });
20742022
}
@@ -2109,6 +2057,47 @@ Eurydice_array_to_subslice_mut_d46(Eurydice_arr_ec *a, core_ops_range_Range_87 r
21092057
return (Eurydice_mut_borrow_slice_u8{ a->data + r.start, r.end - r.start });
21102058
}
21112059

2060+
/**
2061+
A monomorphic instance of Eurydice.array_to_subslice_to_shared
2062+
with types uint8_t, core_ops_range_RangeTo size_t, Eurydice_derefed_slice uint8_t
2063+
with const generics
2064+
- N= 168
2065+
*/
2066+
static inline Eurydice_borrow_slice_u8
2067+
Eurydice_array_to_subslice_to_shared_211(const Eurydice_arr_c5 *a, size_t r)
2068+
{
2069+
Eurydice_borrow_slice_u8 lit;
2070+
lit.ptr = a->data;
2071+
lit.meta = r;
2072+
return lit;
2073+
}
2074+
2075+
/**
2076+
A monomorphic instance of Eurydice.array_to_slice_mut
2077+
with types uint8_t
2078+
with const generics
2079+
- N= 168
2080+
*/
2081+
static inline Eurydice_mut_borrow_slice_u8 Eurydice_array_to_slice_mut_2c(Eurydice_arr_c5 *a)
2082+
{
2083+
Eurydice_mut_borrow_slice_u8 lit;
2084+
lit.ptr = a->data;
2085+
lit.meta = (size_t)168U;
2086+
return lit;
2087+
}
2088+
2089+
/**
2090+
A monomorphic instance of Eurydice.array_to_subslice_shared
2091+
with types uint8_t, core_ops_range_Range size_t, Eurydice_derefed_slice uint8_t
2092+
with const generics
2093+
- N= 168
2094+
*/
2095+
static inline Eurydice_borrow_slice_u8
2096+
Eurydice_array_to_subslice_shared_d40(const Eurydice_arr_c5 *a, core_ops_range_Range_87 r)
2097+
{
2098+
return (Eurydice_borrow_slice_u8{ a->data + r.start, r.end - r.start });
2099+
}
2100+
21122101
/**
21132102
A monomorphic instance of Eurydice.array_to_subslice_from_mut
21142103
with types uint8_t, core_ops_range_RangeFrom size_t, Eurydice_derefed_slice uint8_t
@@ -2298,6 +2287,58 @@ Eurydice_array_to_subslice_mut_d43(Eurydice_arr_ab *a, core_ops_range_Range_87 r
22982287
return (Eurydice_mut_borrow_slice_u8{ a->data + r.start, r.end - r.start });
22992288
}
23002289

2290+
/**
2291+
A monomorphic instance of Eurydice.array_to_subslice_to_shared
2292+
with types uint8_t, core_ops_range_RangeTo size_t, Eurydice_derefed_slice uint8_t
2293+
with const generics
2294+
- N= 136
2295+
*/
2296+
static inline Eurydice_borrow_slice_u8
2297+
Eurydice_array_to_subslice_to_shared_210(const Eurydice_arr_ff *a, size_t r)
2298+
{
2299+
Eurydice_borrow_slice_u8 lit;
2300+
lit.ptr = a->data;
2301+
lit.meta = r;
2302+
return lit;
2303+
}
2304+
2305+
/**
2306+
A monomorphic instance of Eurydice.array_to_slice_mut
2307+
with types uint8_t
2308+
with const generics
2309+
- N= 136
2310+
*/
2311+
static inline Eurydice_mut_borrow_slice_u8 Eurydice_array_to_slice_mut_58(Eurydice_arr_ff *a)
2312+
{
2313+
Eurydice_mut_borrow_slice_u8 lit;
2314+
lit.ptr = a->data;
2315+
lit.meta = (size_t)136U;
2316+
return lit;
2317+
}
2318+
2319+
/**
2320+
A monomorphic instance of Eurydice.array_to_subslice_shared
2321+
with types uint8_t, core_ops_range_Range size_t, Eurydice_derefed_slice uint8_t
2322+
with const generics
2323+
- N= 136
2324+
*/
2325+
static inline Eurydice_borrow_slice_u8
2326+
Eurydice_array_to_subslice_shared_d4(const Eurydice_arr_ff *a, core_ops_range_Range_87 r)
2327+
{
2328+
return (Eurydice_borrow_slice_u8{ a->data + r.start, r.end - r.start });
2329+
}
2330+
2331+
/**
2332+
A monomorphic instance of Eurydice.slice_subslice_to_mut
2333+
with types uint8_t, core_ops_range_RangeTo size_t, Eurydice_derefed_slice uint8_t
2334+
2335+
*/
2336+
static inline Eurydice_mut_borrow_slice_u8
2337+
Eurydice_slice_subslice_to_mut_72(Eurydice_mut_borrow_slice_u8 s, size_t r)
2338+
{
2339+
return (Eurydice_mut_borrow_slice_u8{ s.ptr, r });
2340+
}
2341+
23012342
/**
23022343
A monomorphic instance of Eurydice.slice_subslice_to_shared
23032344
with types uint8_t, core_ops_range_RangeTo size_t, Eurydice_derefed_slice uint8_t

combined_extraction/generated/header.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@
88
* Eurydice: aaa9fa657fb6f09802edb890252040d94cd93982
99
* Karamel: 8c19d41458ce5cbfea029ebc03334ba96d149039
1010
* F*: 7b347386330d0e5a331a220535b6f15288903234
11-
* Libcrux: c2593afcf1c70df94fe6b696747fa02197763c3b
11+
* Libcrux: bc35d2f21221fbea025ce4f6780bea527ee525d6
1212
*/

combined_extraction/generated/libcrux_ct_ops.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
* Eurydice: aaa9fa657fb6f09802edb890252040d94cd93982
99
* Karamel: 8c19d41458ce5cbfea029ebc03334ba96d149039
1010
* F*: 7b347386330d0e5a331a220535b6f15288903234
11-
* Libcrux: c2593afcf1c70df94fe6b696747fa02197763c3b
11+
* Libcrux: bc35d2f21221fbea025ce4f6780bea527ee525d6
1212
*/
1313

1414

combined_extraction/generated/libcrux_mldsa65_avx2.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
* Eurydice: aaa9fa657fb6f09802edb890252040d94cd93982
99
* Karamel: 8c19d41458ce5cbfea029ebc03334ba96d149039
1010
* F*: 7b347386330d0e5a331a220535b6f15288903234
11-
* Libcrux: c2593afcf1c70df94fe6b696747fa02197763c3b
11+
* Libcrux: bc35d2f21221fbea025ce4f6780bea527ee525d6
1212
*/
1313

1414

combined_extraction/generated/libcrux_mldsa65_portable.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
* Eurydice: aaa9fa657fb6f09802edb890252040d94cd93982
99
* Karamel: 8c19d41458ce5cbfea029ebc03334ba96d149039
1010
* F*: 7b347386330d0e5a331a220535b6f15288903234
11-
* Libcrux: c2593afcf1c70df94fe6b696747fa02197763c3b
11+
* Libcrux: bc35d2f21221fbea025ce4f6780bea527ee525d6
1212
*/
1313

1414

combined_extraction/generated/libcrux_mldsa_avx2.h

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
* Eurydice: aaa9fa657fb6f09802edb890252040d94cd93982
99
* Karamel: 8c19d41458ce5cbfea029ebc03334ba96d149039
1010
* F*: 7b347386330d0e5a331a220535b6f15288903234
11-
* Libcrux: c2593afcf1c70df94fe6b696747fa02197763c3b
11+
* Libcrux: bc35d2f21221fbea025ce4f6780bea527ee525d6
1212
*/
1313

1414

@@ -1239,7 +1239,7 @@ libcrux_ml_dsa_simd_avx2_encoding_gamma1_serialize_when_gamma1_is_2_pow_19(
12391239
(core_ops_range_Range_87{ (size_t)10U, (size_t)26U })),
12401240
upper_4);
12411241
Eurydice_slice_copy(out,
1242-
Eurydice_array_to_subslice_shared_d4(&serialized,
1242+
Eurydice_array_to_subslice_shared_d41(&serialized,
12431243
(core_ops_range_Range_87{ (size_t)0U, (size_t)20U })),
12441244
uint8_t);
12451245
}
@@ -1305,7 +1305,7 @@ libcrux_ml_dsa_simd_avx2_encoding_gamma1_serialize_when_gamma1_is_2_pow_17(
13051305
(core_ops_range_Range_87{ (size_t)9U, (size_t)25U })),
13061306
upper_4);
13071307
Eurydice_slice_copy(out,
1308-
Eurydice_array_to_subslice_shared_d4(&serialized,
1308+
Eurydice_array_to_subslice_shared_d41(&serialized,
13091309
(core_ops_range_Range_87{ (size_t)0U, (size_t)18U })),
13101310
uint8_t);
13111311
}
@@ -1681,7 +1681,7 @@ libcrux_ml_dsa_simd_avx2_encoding_commitment_serialize(
16811681
(core_ops_range_Range_87{ (size_t)0U, (size_t)16U })),
16821682
libcrux_ml_dsa_simd_avx2_encoding_commitment_serialize_4(simd_unit));
16831683
Eurydice_slice_copy(out,
1684-
Eurydice_array_to_subslice_shared_d41(&serialized,
1684+
Eurydice_array_to_subslice_shared_d42(&serialized,
16851685
(core_ops_range_Range_87{ (size_t)0U, (size_t)4U })),
16861686
uint8_t);
16871687
break;
@@ -1700,7 +1700,7 @@ libcrux_ml_dsa_simd_avx2_encoding_commitment_serialize(
17001700
(core_ops_range_Range_87{ (size_t)3U, (size_t)19U })),
17011701
upper_3);
17021702
Eurydice_slice_copy(out,
1703-
Eurydice_array_to_subslice_shared_d41(&serialized,
1703+
Eurydice_array_to_subslice_shared_d42(&serialized,
17041704
(core_ops_range_Range_87{ (size_t)0U, (size_t)6U })),
17051705
uint8_t);
17061706
break;
@@ -1786,7 +1786,7 @@ libcrux_ml_dsa_simd_avx2_encoding_error_serialize_when_eta_is_4(
17861786
(core_ops_range_Range_87{ (size_t)0U, (size_t)16U })),
17871787
adjacent_4_combined);
17881788
Eurydice_slice_copy(out,
1789-
Eurydice_array_to_subslice_shared_d42(&serialized,
1789+
Eurydice_array_to_subslice_shared_d43(&serialized,
17901790
(core_ops_range_Range_87{ (size_t)0U, (size_t)4U })),
17911791
uint8_t);
17921792
}
@@ -1892,7 +1892,7 @@ libcrux_ml_dsa_simd_avx2_encoding_error_serialize_when_eta_is_2(
18921892
(core_ops_range_Range_87{ (size_t)0U, (size_t)16U })),
18931893
adjacent_6_combined);
18941894
Eurydice_slice_copy(out,
1895-
Eurydice_array_to_subslice_shared_d42(&serialized,
1895+
Eurydice_array_to_subslice_shared_d43(&serialized,
18961896
(core_ops_range_Range_87{ (size_t)0U, (size_t)3U })),
18971897
uint8_t);
18981898
}
@@ -2060,7 +2060,7 @@ libcrux_ml_dsa_simd_avx2_encoding_t0_serialize(
20602060
libcrux_intrinsics_avx2_mm_storeu_bytes_si128(Eurydice_array_to_slice_mut_29(&serialized),
20612061
bits_sequential);
20622062
Eurydice_slice_copy(out,
2063-
Eurydice_array_to_subslice_shared_d42(&serialized,
2063+
Eurydice_array_to_subslice_shared_d43(&serialized,
20642064
(core_ops_range_Range_87{ (size_t)0U, (size_t)13U })),
20652065
uint8_t);
20662066
}
@@ -2203,7 +2203,7 @@ libcrux_ml_dsa_simd_avx2_encoding_t1_serialize(
22032203
(core_ops_range_Range_87{ (size_t)5U, (size_t)21U })),
22042204
upper_4);
22052205
Eurydice_slice_copy(out,
2206-
Eurydice_array_to_subslice_shared_d43(&serialized,
2206+
Eurydice_array_to_subslice_shared_d44(&serialized,
22072207
(core_ops_range_Range_87{ (size_t)0U, (size_t)10U })),
22082208
uint8_t);
22092209
}
@@ -6611,7 +6611,7 @@ libcrux_ml_dsa_sample_sample_challenge_ring_element_18(
66116611
randomness0 = libcrux_ml_dsa_hash_functions_simd256_squeeze_first_block_8c(&state);
66126612
Eurydice_array_u8x8 arr;
66136613
memcpy(arr.data,
6614-
Eurydice_array_to_subslice_shared_d40(&randomness0,
6614+
Eurydice_array_to_subslice_shared_d4(&randomness0,
66156615
(core_ops_range_Range_87{ (size_t)0U, (size_t)8U })).ptr,
66166616
(size_t)8U * sizeof (uint8_t));
66176617
uint64_t

0 commit comments

Comments
 (0)