From 6ec7272586a073e1b37417ff10c2818beda18d39 Mon Sep 17 00:00:00 2001 From: Sean Bowe Date: Sat, 31 Mar 2018 23:23:08 -0600 Subject: [PATCH] Serialize lengths as 32-bit integers, not 64-bit. --- src/groth16/mod.rs | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/groth16/mod.rs b/src/groth16/mod.rs index 1f25a680d..18039fa1c 100644 --- a/src/groth16/mod.rs +++ b/src/groth16/mod.rs @@ -149,7 +149,7 @@ impl VerifyingKey { writer.write_all(self.gamma_g2.into_uncompressed().as_ref())?; writer.write_all(self.delta_g1.into_uncompressed().as_ref())?; writer.write_all(self.delta_g2.into_uncompressed().as_ref())?; - writer.write_u64::(self.ic.len() as u64)?; + writer.write_u32::(self.ic.len() as u32)?; for ic in &self.ic { writer.write_all(ic.into_uncompressed().as_ref())?; } @@ -182,7 +182,7 @@ impl VerifyingKey { reader.read_exact(g2_repr.as_mut())?; let delta_g2 = g2_repr.into_affine().map_err(|e| io::Error::new(io::ErrorKind::InvalidData, e))?; - let ic_len = reader.read_u64::()? as usize; + let ic_len = reader.read_u32::()? as usize; let mut ic = vec![]; @@ -256,27 +256,27 @@ impl Parameters { { self.vk.write(&mut writer)?; - writer.write_u64::(self.h.len() as u64)?; + writer.write_u32::(self.h.len() as u32)?; for g in &self.h[..] { writer.write_all(g.into_uncompressed().as_ref())?; } - writer.write_u64::(self.l.len() as u64)?; + writer.write_u32::(self.l.len() as u32)?; for g in &self.l[..] { writer.write_all(g.into_uncompressed().as_ref())?; } - writer.write_u64::(self.a.len() as u64)?; + writer.write_u32::(self.a.len() as u32)?; for g in &self.a[..] { writer.write_all(g.into_uncompressed().as_ref())?; } - writer.write_u64::(self.b_g1.len() as u64)?; + writer.write_u32::(self.b_g1.len() as u32)?; for g in &self.b_g1[..] { writer.write_all(g.into_uncompressed().as_ref())?; } - writer.write_u64::(self.b_g2.len() as u64)?; + writer.write_u32::(self.b_g2.len() as u32)?; for g in &self.b_g2[..] { writer.write_all(g.into_uncompressed().as_ref())?; } @@ -336,35 +336,35 @@ impl Parameters { let mut b_g2 = vec![]; { - let len = reader.read_u64::()? as usize; + let len = reader.read_u32::()? as usize; for _ in 0..len { h.push(read_g1(&mut reader)?); } } { - let len = reader.read_u64::()? as usize; + let len = reader.read_u32::()? as usize; for _ in 0..len { l.push(read_g1(&mut reader)?); } } { - let len = reader.read_u64::()? as usize; + let len = reader.read_u32::()? as usize; for _ in 0..len { a.push(read_g1(&mut reader)?); } } { - let len = reader.read_u64::()? as usize; + let len = reader.read_u32::()? as usize; for _ in 0..len { b_g1.push(read_g1(&mut reader)?); } } { - let len = reader.read_u64::()? as usize; + let len = reader.read_u32::()? as usize; for _ in 0..len { b_g2.push(read_g2(&mut reader)?); } @@ -535,7 +535,7 @@ mod test_with_bls12_381 { let mut v = vec![]; params.write(&mut v).unwrap(); - assert_eq!(v.len(), 2160); + assert_eq!(v.len(), 2136); let de_params = Parameters::read(&v[..], true).unwrap(); assert!(params == de_params);