Skip to content

Commit 5614384

Browse files
committed
mastic: Use empty seeds instead of zero seeds
1 parent 3d837e9 commit 5614384

File tree

11 files changed

+99
-98
lines changed

11 files changed

+99
-98
lines changed

src/flp/szk.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -343,8 +343,8 @@ impl<T: Type> Szk<T> {
343343
helper_joint_rand_part: &Seed<32>,
344344
ctx: &[u8],
345345
) -> Seed<32> {
346-
let mut xof = XofTurboShake128::init(
347-
&[0; 32],
346+
let mut xof = XofTurboShake128::from_seed_slice(
347+
&[],
348348
&[
349349
&mastic::dst_usage(mastic::USAGE_JOINT_RAND_SEED),
350350
&self.id,

src/vdaf/mastic.rs

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,11 @@ const NONCE_SIZE: usize = 16;
3737

3838
// draft-jimouris-cfrg-mastic:
3939
//
40-
// ONEHOT_PROOF_INIT = XofTurboShake128(zeros(XofTurboShake128.SEED_SIZE),
41-
// dst(b'', USAGE_ONEHOT_PROOF_INIT),
42-
// b'').next(PROOF_SIZE)
40+
// ONEHOT_PROOF_INIT = XofTurboShake128(
41+
// b'', dst(b'', USAGE_ONEHOT_PROOF_INIT), b'').next(PROOF_SIZE)
4342
pub(crate) const ONEHOT_PROOF_INIT: [u8; 32] = [
44-
253, 211, 45, 179, 139, 135, 183, 67, 202, 144, 13, 205, 241, 39, 165, 73, 232, 54, 57, 193,
45-
106, 154, 133, 22, 15, 194, 223, 162, 79, 108, 60, 133,
43+
97, 188, 153, 213, 116, 162, 25, 70, 98, 231, 255, 255, 1, 207, 231, 225, 13, 187, 182, 1, 16,
44+
90, 161, 104, 201, 152, 149, 153, 35, 92, 254, 149,
4645
];
4746

4847
pub(crate) const USAGE_PROVE_RAND: u8 = 0;
@@ -187,9 +186,7 @@ impl<'a, T: Type> ParameterizedDecode<(&'a Mastic<T>, usize)> for MasticInputSha
187186
if *agg_id > 1 {
188187
return Err(CodecError::UnexpectedValue);
189188
}
190-
let mut value = [0; 16];
191-
bytes.read_exact(&mut value)?;
192-
let vidpf_key = VidpfKey::from_bytes(value);
189+
let vidpf_key = VidpfKey::decode(bytes)?;
193190
let proof_share = SzkProofShare::decode_with_param(
194191
&(
195192
*agg_id == 0,
@@ -550,8 +547,10 @@ impl<T: Type> Aggregator<32, NONCE_SIZE> for Mastic<T> {
550547

551548
// Onehot and payload checks
552549
let (payload_check, onehot_proof) = {
553-
let mut payload_check_xof =
554-
XofTurboShake128::init(&[0; 32], &[&dst_usage(USAGE_PAYLOAD_CHECK), &self.id, ctx]);
550+
let mut payload_check_xof = XofTurboShake128::from_seed_slice(
551+
&[],
552+
&[&dst_usage(USAGE_PAYLOAD_CHECK), &self.id, ctx],
553+
);
555554
let mut payload_check_buf = Vec::with_capacity(T::Field::ENCODED_SIZE);
556555
let mut onehot_proof = ONEHOT_PROOF_INIT;
557556

@@ -604,8 +603,10 @@ impl<T: Type> Aggregator<32, NONCE_SIZE> for Mastic<T> {
604603
};
605604

606605
let eval_proof = {
607-
let mut eval_proof_xof =
608-
XofTurboShake128::init(&[0; 32], &[&dst_usage(USAGE_EVAL_PROOF), &self.id, ctx]);
606+
let mut eval_proof_xof = XofTurboShake128::from_seed_slice(
607+
&[],
608+
&[&dst_usage(USAGE_EVAL_PROOF), &self.id, ctx],
609+
);
609610
eval_proof_xof.update(&onehot_proof);
610611
eval_proof_xof.update(&counter_check);
611612
eval_proof_xof.update(&payload_check);

src/vdaf/test_vec/mastic/04/MasticCount_0.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@
4242
],
4343
"prep_shares": [
4444
[
45-
"fd29b942ce3020071ba652fa5597991fb6baa655eeb3dc6aced3b5fc4c8c0bd082518600b8bd84150c9df3154968eb00fd6949610bbaa838f528e845e9b134bf",
46-
"fd29b942ce3020071ba652fa5597991fb6baa655eeb3dc6aced3b5fc4c8c0bd07fae79ff46427bea6814d366e7d3bd95781ac4b7ab90e6a99f6399ebb8914e6d"
45+
"7e721d28bd48370b6a16ea503791be940d88fa776d7bb59945b5c8eff6973e8d82518600b8bd84150c9df3154968eb00fd6949610bbaa838f528e845e9b134bf",
46+
"7e721d28bd48370b6a16ea503791be940d88fa776d7bb59945b5c8eff6973e8d7fae79ff46427bea6814d366e7d3bd95781ac4b7ab90e6a99f6399ebb8914e6d"
4747
]
4848
],
4949
"public_share": "0e30118b55bf77ff34817d80025c5c736b1ee2188425350e71cc1dc5a779de3e6ff0676312c362381937b2713cf2d65c6bfd5e3a8400fe1b3f71da0726d672f55f796f086f2d82ba5c736f5c7854b6fbe6605a571bdabcacce7acd94b9c87b314bead370e09dc18618bd5cc3c8825338a085d4790108cbeb9ecdb914466664cfa0",

src/vdaf/test_vec/mastic/04/MasticCount_1.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@
4242
],
4343
"prep_shares": [
4444
[
45-
"245c09de0594a55d2dead508e9de14af70fa8a3343057af3949f09dc8fb5d7bd82518600b8bd8415522695511228b9228a6b0a9d88a7f97af0b1b62107f08c47",
46-
"245c09de0594a55d2dead508e9de14af70fa8a3343057af3949f09dc8fb5d7bd7fae79ff46427beaf79ffb3f48d217d30f4b40b400becf0407f72fed209095f2"
45+
"bfdffd964fe8b1d7804cc7bb1197c5b1c6f08094599a8021986e517e923f43a282518600b8bd8415522695511228b9228a6b0a9d88a7f97af0b1b62107f08c47",
46+
"bfdffd964fe8b1d7804cc7bb1197c5b1c6f08094599a8021986e517e923f43a27fae79ff46427beaf79ffb3f48d217d30f4b40b400becf0407f72fed209095f2"
4747
]
4848
],
4949
"public_share": "0e30118b55bf77ff34817d80025c5c736b1ee2188425350e71cc1dc5a779de3e6ff0676312c362381937b2713cf2d65c6bfd5e3a8400fe1b3f71da0726d672f55f796f086f2d82ba5c736f5c7854b6fbe6605a571bdabcacce7acd94b9c87b314bead370e09dc18618bd5cc3c8825338a085d4790108cbeb9ecdb914466664cfa0",

src/vdaf/test_vec/mastic/04/MasticCount_2.json

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@
7070
],
7171
"prep_shares": [
7272
[
73-
"0bc6f29eb752bdfb3d51b2d0deffe1ab6e16e7902f76f6270338cd16c063c8c02c6d7e029fcf988f10f9095c548f022766f44bd80f2e0313d1f3468b15732930",
74-
"0bc6f29eb752bdfb3d51b2d0deffe1ab6e16e7902f76f6270338cd16c063c8c0d59281fd5f30677010fb3c8ed88093515d94632fceae87396146dd9ef6cad681"
73+
"08b013261b93d7cad0fd4d78b8ab88d700e20e4c99a725cac93c4da0ab5f2f1e2c6d7e029fcf988f10f9095c548f022766f44bd80f2e0313d1f3468b15732930",
74+
"08b013261b93d7cad0fd4d78b8ab88d700e20e4c99a725cac93c4da0ab5f2f1ed59281fd5f30677010fb3c8ed88093515d94632fceae87396146dd9ef6cad681"
7575
]
7676
],
7777
"public_share": "8d038031b3e41fc4b2fe2a3f77de06db7fe0806225f5601afc6f1578ceb8a6d174c50c4eecaffdf4f2310f168d03c5a4cbfc4c3ed6bc04479d05151e4f21be576a880c8ec3143a6b9fb9509d7d0658fc05dc149b0a3cb2046aef8e96793a0ac548f123fcc6eebe7973c8a4500651955a500673e19649c10909b051ef18c08828de79e178096261b4c3169c50015389bba0478bf97610f7213fc164c370974ff59af71fcf7e3da5536ef5a1668edbcf156f0fd3c945373fb5dc1c9a6186492c2287744721f599cd4fb470b85efdbc10e10b3e26b2429a6995974f60522f4f897077de82268c3c3c4c2ebfa2d5c92c144865eb2034a91595dd4e4a21cc389ddac89cfa96d8e9329459a6e5edafd9f4ac1ecae95f9449e7210b0af9c4d2f16abee578ad709db6928479adc6cc0714f759d7f43412e7c2139b9c3d002fee3526734be175",
@@ -132,8 +132,8 @@
132132
],
133133
"prep_shares": [
134134
[
135-
"0bc6f29eb752bdfb3d51b2d0deffe1ab6e16e7902f76f6270338cd16c063c8c02c6d7e029fcf988f10f9095c548f022766f44bd80f2e0313d1f3468b15732930",
136-
"0bc6f29eb752bdfb3d51b2d0deffe1ab6e16e7902f76f6270338cd16c063c8c0d59281fd5f30677010fb3c8ed88093515d94632fceae87396146dd9ef6cad681"
135+
"08b013261b93d7cad0fd4d78b8ab88d700e20e4c99a725cac93c4da0ab5f2f1e2c6d7e029fcf988f10f9095c548f022766f44bd80f2e0313d1f3468b15732930",
136+
"08b013261b93d7cad0fd4d78b8ab88d700e20e4c99a725cac93c4da0ab5f2f1ed59281fd5f30677010fb3c8ed88093515d94632fceae87396146dd9ef6cad681"
137137
]
138138
],
139139
"public_share": "8d038031b3e41fc4b2fe2a3f77de06db7fe0806225f5601afc6f1578ceb8a6d174c50c4eecaffdf4f2310f168d03c5a4cbfc4c3ed6bc04479d05151e4f21be576a880c8ec3143a6b9fb9509d7d0658fc05dc149b0a3cb2046aef8e96793a0ac548f123fcc6eebe7973c8a4500651955a500673e19649c10909b051ef18c08828de79e178096261b4c3169c50015389bba0478bf97610f7213fc164c370974ff59af71fcf7e3da5536ef5a1668edbcf156f0fd3c945373fb5dc1c9a6186492c2287744721f599cd4fb470b85efdbc10e10b3e26b2429a6995974f60522f4f897077de82268c3c3c4c2ebfa2d5c92c144865eb2034a91595dd4e4a21cc389ddac89cfa96d8e9329459a6e5edafd9f4ac1ecae95f9449e7210b0af9c4d2f16abee578ad709db6928479adc6cc0714f759d7f43412e7c2139b9c3d002fee3526734be175",
@@ -194,8 +194,8 @@
194194
],
195195
"prep_shares": [
196196
[
197-
"ad47c82dc356b1088a1f800db0b2241297b80f3aabf5298f0cf84de046cb89262c6d7e029fcf988f10f9095c548f022766f44bd80f2e0313d1f3468b15732930",
198-
"ad47c82dc356b1088a1f800db0b2241297b80f3aabf5298f0cf84de046cb8926d59281fd5f30677010fb3c8ed88093515d94632fceae87396146dd9ef6cad681"
197+
"93aa1ea5db60044dc07cfa56c058fe9f82e56f011ce42072a48b6574184b8cc52c6d7e029fcf988f10f9095c548f022766f44bd80f2e0313d1f3468b15732930",
198+
"93aa1ea5db60044dc07cfa56c058fe9f82e56f011ce42072a48b6574184b8cc5d59281fd5f30677010fb3c8ed88093515d94632fceae87396146dd9ef6cad681"
199199
]
200200
],
201201
"public_share": "7d038031b3e41fc4b2fe2a3f77de06db7fe0806225f5601afc6f1578ceb8a6d174c5848d58535ab915bafb428087a2f62dbc76138f52a253028dda7eae3b502b33a9e821410b02d88a837bc1be5f59b920e4149b0a3cb2046aef8e96793a0ac548f123fcc6eebe7973c8a4500651955a5006024a26201bd34c0c4a4cdc45998b19adf4c9f946b4430a94eee7e5347e4fd8ca08c7752a400682f85f764f00e454aa8e1fcf7e3da5536ef5a1668edbcf156f0fd3c945373fb5dc1c9a6186492c2287744721f599cd4fb470b85efdbc10e10b3e26b2429a6995974f60522f4f897077de7f7b07549a8dc1b8aab05ba555010958751c39bbd2be9c8207b8ebe22fbc59eecd318a107e2606fe4be6c1cbfb534c5dcffb0bdefdab1e463a32e237453b5c563fc296a049fe4876f4c7eb407a2b965a8661740929d1f3cb67f6a88acfa6603c",
@@ -256,8 +256,8 @@
256256
],
257257
"prep_shares": [
258258
[
259-
"7e72a4ee8fc1708118ef8c59c98e610f6deec6758c348a7de5249df47260c2db2c6d7e029fcf988f10f9095c548f022766f44bd80f2e0313d1f3468b15732930",
260-
"7e72a4ee8fc1708118ef8c59c98e610f6deec6758c348a7de5249df47260c2dbd59281fd5f30677010fb3c8ed88093515d94632fceae87396146dd9ef6cad681"
259+
"579fbb066a904fe34314d993aea5cb73042f9bb1192d83ad90e7d7a55692cbeb2c6d7e029fcf988f10f9095c548f022766f44bd80f2e0313d1f3468b15732930",
260+
"579fbb066a904fe34314d993aea5cb73042f9bb1192d83ad90e7d7a55692cbebd59281fd5f30677010fb3c8ed88093515d94632fceae87396146dd9ef6cad681"
261261
]
262262
],
263263
"public_share": "7d008031b3e41fc4b2fe2a3f77de06db7fe0806225f5601afc6f1578ceb8a6d174c5848d58535ab915bafb428087a2f62dbc76138f52a253028dda7eae3b502b33a916e5a7207c22876c3e8651e6ec087889149b0a3cb2046aef8e96793a0ac548f123fcc6eebe7973c8a4500651955a5006024a26201bd34c0c4a4cdc45998b19adf4c9f946b4430a94eee7e5347e4fd8ca85fb7348903670f480514fbeb9082d791fcf7e3da5536ef5a1668edbcf156f0fd3c945373fb5dc1c9a6186492c2287744721f599cd4fb470b85efdbc10e10b3e26b2429a6995974f60522f4f897077de7f7b07549a8dc1b8aab05ba555010958751c39bbd2be9c8207b8ebe22fbc59eecd318a107e2606fe4be6c1cbfb534c5dcffb0bdefdab1e463a32e237453b5c56f26b55fc7fa6e4e7ea335244210e9dc2033fdaccd3beb6d9c970e326344c9c08",
@@ -318,8 +318,8 @@
318318
],
319319
"prep_shares": [
320320
[
321-
"c2fe3f3d30d0e7117847c8764660ba072000d16a73cea13bd41ae6b1f47b61352c6d7e029fcf988f10f9095c548f022766f44bd80f2e0313d1f3468b15732930",
322-
"c2fe3f3d30d0e7117847c8764660ba072000d16a73cea13bd41ae6b1f47b6135d59281fd5f30677010fb3c8ed88093515d94632fceae87396146dd9ef6cad681"
321+
"fb4d5e0dcbcd577640e4afab8880184b0b3046022c78da1cfefb5ecc7a8b5a522c6d7e029fcf988f10f9095c548f022766f44bd80f2e0313d1f3468b15732930",
322+
"fb4d5e0dcbcd577640e4afab8880184b0b3046022c78da1cfefb5ecc7a8b5a52d59281fd5f30677010fb3c8ed88093515d94632fceae87396146dd9ef6cad681"
323323
]
324324
],
325325
"public_share": "f1008031b3e41fc4b2fe2a3f77de06db7fe06eb6ffd9b0e2083236efcc45c94d7ca7c061c2d66fafdc0b34509f1ee246cbb15e5ac395c89a2db8dbb05470e32bb53f2e5dce6ec3fc1614aeae2cc0abde9ed7149b0a3cb2046aef8e96793a0ac548f162d5e495135c2e58052f8f36198892949f86b8b81414971f05f924425ae428b5a936fed7a48b510d19fd09bbfab24426f53efa61f0150248095da69d5a7c1f4f1fcf7e3da5536ef5a1668edbcf156f0fd3c945373fb5dc1c9a6186492c228774054291117c18b81662a9088383ee06b10e90164cd82e94d2b5ad07dc2ae07ab1b861d103b3ec7fb911023c394b0bd14698b3910ef1d5fd790320674116b9355f3778591f096266f48a2de6414a003ff2721f924ca54dd4d7c5ce3d1eae38d8370869cff496518a2d0aa3303977d5daf465ff518c978ab6e167d16816f88efc55",
@@ -380,8 +380,8 @@
380380
],
381381
"prep_shares": [
382382
[
383-
"a67d267d46babd82774a4784ccb33925c00018a9c535a6df7c2e6794a2dd4eb92c6d7e029fcf988f10f9095c548f022766f44bd80f2e0313d1f3468b15732930",
384-
"a67d267d46babd82774a4784ccb33925c00018a9c535a6df7c2e6794a2dd4eb9d59281fd5f30677010fb3c8ed88093515d94632fceae87396146dd9ef6cad681"
383+
"a56754c9117a51c30534afb5894e4845f061e2a50bc5eb3b8e24b4465410f50a2c6d7e029fcf988f10f9095c548f022766f44bd80f2e0313d1f3468b15732930",
384+
"a56754c9117a51c30534afb5894e4845f061e2a50bc5eb3b8e24b4465410f50ad59281fd5f30677010fb3c8ed88093515d94632fceae87396146dd9ef6cad681"
385385
]
386386
],
387387
"public_share": "31028031b3e41fc4b2fe2a3f77de06db7fe06eb6ffd9b0e2083236efcc45c94d7ca7c061c2d66fafdc0b34509f1ee246cbb18481284d0d1422caa93c58f805ae12fc96571eb833cf5d83fb68cbb285da472b149b0a3cb2046aef8e96793a0ac548f162d5e495135c2e58052f8f36198892949f86b8b81414971f05f924425ae428b556e4139b9825e7e74c4196275f57f2fc35eb52f72c55e93e3193770130eeba061fcf7e3da5536ef5a1668edbcf156f0fd3c945373fb5dc1c9a6186492c228774054291117c18b81662a9088383ee06b10e90164cd82e94d2b5ad07dc2ae07ab1b861d103b3ec7fb911023c394b0bd14698b3910ef1d5fd790320674116b9355f384805f18cca0e14c8327d5bfa82ff97dba54bc303dc21396e9b7349f4fed3663944c431225ef122e692349ac63e7346117ad2ff85ce46879ce73a37fb41a748",
@@ -442,8 +442,8 @@
442442
],
443443
"prep_shares": [
444444
[
445-
"a67d267d46babd82774a4784ccb33925c00018a9c535a6df7c2e6794a2dd4eb92c6d7e029fcf988f10f9095c548f022766f44bd80f2e0313d1f3468b15732930",
446-
"a67d267d46babd82774a4784ccb33925c00018a9c535a6df7c2e6794a2dd4eb9d59281fd5f30677010fb3c8ed88093515d94632fceae87396146dd9ef6cad681"
445+
"a56754c9117a51c30534afb5894e4845f061e2a50bc5eb3b8e24b4465410f50a2c6d7e029fcf988f10f9095c548f022766f44bd80f2e0313d1f3468b15732930",
446+
"a56754c9117a51c30534afb5894e4845f061e2a50bc5eb3b8e24b4465410f50ad59281fd5f30677010fb3c8ed88093515d94632fceae87396146dd9ef6cad681"
447447
]
448448
],
449449
"public_share": "31028031b3e41fc4b2fe2a3f77de06db7fe06eb6ffd9b0e2083236efcc45c94d7ca7c061c2d66fafdc0b34509f1ee246cbb18481284d0d1422caa93c58f805ae12fc96571eb833cf5d83fb68cbb285da472b149b0a3cb2046aef8e96793a0ac548f162d5e495135c2e58052f8f36198892949f86b8b81414971f05f924425ae428b556e4139b9825e7e74c4196275f57f2fc35eb52f72c55e93e3193770130eeba061fcf7e3da5536ef5a1668edbcf156f0fd3c945373fb5dc1c9a6186492c228774054291117c18b81662a9088383ee06b10e90164cd82e94d2b5ad07dc2ae07ab1b861d103b3ec7fb911023c394b0bd14698b3910ef1d5fd790320674116b9355f384805f18cca0e14c8327d5bfa82ff97dba54bc303dc21396e9b7349f4fed3663944c431225ef122e692349ac63e7346117ad2ff85ce46879ce73a37fb41a748",
@@ -504,8 +504,8 @@
504504
],
505505
"prep_shares": [
506506
[
507-
"a67d267d46babd82774a4784ccb33925c00018a9c535a6df7c2e6794a2dd4eb92c6d7e029fcf988f10f9095c548f022766f44bd80f2e0313d1f3468b15732930",
508-
"a67d267d46babd82774a4784ccb33925c00018a9c535a6df7c2e6794a2dd4eb9d59281fd5f30677010fb3c8ed88093515d94632fceae87396146dd9ef6cad681"
507+
"a56754c9117a51c30534afb5894e4845f061e2a50bc5eb3b8e24b4465410f50a2c6d7e029fcf988f10f9095c548f022766f44bd80f2e0313d1f3468b15732930",
508+
"a56754c9117a51c30534afb5894e4845f061e2a50bc5eb3b8e24b4465410f50ad59281fd5f30677010fb3c8ed88093515d94632fceae87396146dd9ef6cad681"
509509
]
510510
],
511511
"public_share": "31028031b3e41fc4b2fe2a3f77de06db7fe06eb6ffd9b0e2083236efcc45c94d7ca7c061c2d66fafdc0b34509f1ee246cbb18481284d0d1422caa93c58f805ae12fc96571eb833cf5d83fb68cbb285da472b149b0a3cb2046aef8e96793a0ac548f162d5e495135c2e58052f8f36198892949f86b8b81414971f05f924425ae428b556e4139b9825e7e74c4196275f57f2fc35eb52f72c55e93e3193770130eeba061fcf7e3da5536ef5a1668edbcf156f0fd3c945373fb5dc1c9a6186492c228774054291117c18b81662a9088383ee06b10e90164cd82e94d2b5ad07dc2ae07ab1b861d103b3ec7fb911023c394b0bd14698b3910ef1d5fd790320674116b9355f384805f18cca0e14c8327d5bfa82ff97dba54bc303dc21396e9b7349f4fed3663944c431225ef122e692349ac63e7346117ad2ff85ce46879ce73a37fb41a748",

0 commit comments

Comments
 (0)