Have LA recompute H rather than accepting it from user
This commit is contained in:
parent
e2e59e50a6
commit
af68c8818d
|
@ -44,7 +44,7 @@ pub struct Request {
|
|||
CQ: RistrettoPoint,
|
||||
|
||||
// Fields for proving which bucket we have
|
||||
pub H: RistrettoPoint,
|
||||
pub date: u32, // date is used to compute H
|
||||
pub BP: RistrettoPoint,
|
||||
|
||||
// Fields for proving 3 <= trust_level <= 4
|
||||
|
@ -86,13 +86,13 @@ pub fn request(lox_cred: &cred::Lox, lox_pub: &IssuerPubKey) -> Result<Request,
|
|||
let Atable: &RistrettoBasepointTable = &CMZ_A_TABLE;
|
||||
|
||||
// TODO: Where should this go? For efficiency, this should probably be global
|
||||
let today: u32 = time::OffsetDateTime::now_utc()
|
||||
let date: u32 = time::OffsetDateTime::now_utc()
|
||||
.date()
|
||||
.to_julian_day()
|
||||
.try_into()
|
||||
.unwrap();
|
||||
let H: RistrettoPoint = RistrettoPoint::hash_from_bytes::<Sha512>(
|
||||
format!("PR Generator H for {}", today).as_bytes(),
|
||||
format!("PR Generator H for {}", date).as_bytes(),
|
||||
);
|
||||
let Htable: RistrettoBasepointTable = RistrettoBasepointTable::create(&H);
|
||||
|
||||
|
@ -223,7 +223,7 @@ pub fn request(lox_cred: &cred::Lox, lox_pub: &IssuerPubKey) -> Result<Request,
|
|||
CInvRemain,
|
||||
CBlockages,
|
||||
CQ,
|
||||
H,
|
||||
date,
|
||||
BP,
|
||||
CGsq,
|
||||
piUser,
|
||||
|
@ -234,8 +234,11 @@ impl BridgeAuth {
|
|||
/// Receive a positive report request
|
||||
pub fn handle_positive_report(&mut self, req: Request) -> Result<(), ProofError> {
|
||||
let A: &RistrettoPoint = &CMZ_A;
|
||||
let H: RistrettoPoint = RistrettoPoint::hash_from_bytes::<Sha512>(
|
||||
format!("PR Generator H for {}", req.date).as_bytes(),
|
||||
);
|
||||
|
||||
if req.P.is_identity() || req.H.is_identity() {
|
||||
if req.P.is_identity() {
|
||||
return Err(ProofError::VerificationFailure);
|
||||
}
|
||||
|
||||
|
@ -275,7 +278,7 @@ impl BridgeAuth {
|
|||
Xsince: &self.lox_pub.X[4].compress(),
|
||||
Xinvremain: &self.lox_pub.X[5].compress(),
|
||||
Xblockages: &self.lox_pub.X[6].compress(),
|
||||
H: &req.H.compress(),
|
||||
H: &H.compress(),
|
||||
BP: &req.BP.compress(),
|
||||
CG: &CG.compress(),
|
||||
CGsq: &req.CGsq.compress(),
|
||||
|
|
Loading…
Reference in New Issue