Off-by-one error in polynomial degree calculation fixed
This commit is contained in:
@@ -145,7 +145,10 @@ impl Command for GenPoly {
|
|||||||
|
|
||||||
let mut polys = Vec::with_capacity(payload.len());
|
let mut polys = Vec::with_capacity(payload.len());
|
||||||
for i in 0..payload.len() {
|
for i in 0..payload.len() {
|
||||||
polys.push(rng.sample(UniformPoly{ intercept: GF256::from(payload[i]), degree: self.min_shares as usize}));
|
if i % 1000 == 0 {
|
||||||
|
eprint!("\rGenerated {i}/{}", payload.len());
|
||||||
|
}
|
||||||
|
polys.push(rng.sample(UniformPoly{ intercept: GF256::from(payload[i]), degree: self.min_shares as usize - 1}));
|
||||||
}
|
}
|
||||||
|
|
||||||
// export the poly
|
// export the poly
|
||||||
@@ -159,7 +162,7 @@ impl Command for GenShare {
|
|||||||
eprintln!("Reading poly");
|
eprintln!("Reading poly");
|
||||||
let mut poly: Vec<rssss::poly::Poly<GF256>> = serde_cbor::from_reader(io::stdin())?;
|
let mut poly: Vec<rssss::poly::Poly<GF256>> = serde_cbor::from_reader(io::stdin())?;
|
||||||
eprintln!("Read poly");
|
eprintln!("Read poly");
|
||||||
let mut rng = rand::rngs::JitterRng::new()?;
|
let mut rng = rand::rngs::OsRng::new()?;
|
||||||
|
|
||||||
let share = rssss::s4::Share::new((self.share_no as u8).into(), poly.as_slice());
|
let share = rssss::s4::Share::new((self.share_no as u8).into(), poly.as_slice());
|
||||||
eprintln!("{share:?}");
|
eprintln!("{share:?}");
|
||||||
|
|||||||
Reference in New Issue
Block a user