Merge pull request #270 from PQClean/fix_newhope
Fix NewHope CCA verify function
This commit is contained in:
commit
36283693d2
@ -5,7 +5,7 @@ static const uint32_t qinv = 12287; // -inverse_mod(p,2^18)
|
|||||||
static const uint32_t rlog = 18;
|
static const uint32_t rlog = 18;
|
||||||
|
|
||||||
/*************************************************
|
/*************************************************
|
||||||
* Name: verify
|
* Name: montgomery_reduce
|
||||||
*
|
*
|
||||||
* Description: Montgomery reduction; given a 32-bit integer a, computes
|
* Description: Montgomery reduction; given a 32-bit integer a, computes
|
||||||
* 16-bit integer congruent to a * R^-1 mod q,
|
* 16-bit integer congruent to a * R^-1 mod q,
|
||||||
|
@ -22,7 +22,7 @@ int PQCLEAN_NEWHOPE1024CCA_CLEAN_verify(const unsigned char *a, const unsigned c
|
|||||||
r |= a[i] ^ b[i];
|
r |= a[i] ^ b[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
r = (-(int64_t)r) >> 63;
|
r = (uint64_t)(-(int64_t)r) >> 63;
|
||||||
return (int)r;
|
return (int)r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ static const uint32_t qinv = 12287; // -inverse_mod(p,2^18)
|
|||||||
static const uint32_t rlog = 18;
|
static const uint32_t rlog = 18;
|
||||||
|
|
||||||
/*************************************************
|
/*************************************************
|
||||||
* Name: verify
|
* Name: montgomery_reduce
|
||||||
*
|
*
|
||||||
* Description: Montgomery reduction; given a 32-bit integer a, computes
|
* Description: Montgomery reduction; given a 32-bit integer a, computes
|
||||||
* 16-bit integer congruent to a * R^-1 mod q,
|
* 16-bit integer congruent to a * R^-1 mod q,
|
||||||
|
@ -22,7 +22,7 @@ int PQCLEAN_NEWHOPE1024CPA_CLEAN_verify(const unsigned char *a, const unsigned c
|
|||||||
r |= a[i] ^ b[i];
|
r |= a[i] ^ b[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
r = (-(int64_t)r) >> 63;
|
r = (uint64_t)(-(int64_t)r) >> 63;
|
||||||
return (int)r;
|
return (int)r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ static const uint32_t qinv = 12287; // -inverse_mod(p,2^18)
|
|||||||
static const uint32_t rlog = 18;
|
static const uint32_t rlog = 18;
|
||||||
|
|
||||||
/*************************************************
|
/*************************************************
|
||||||
* Name: verify
|
* Name: montgomery_reduce
|
||||||
*
|
*
|
||||||
* Description: Montgomery reduction; given a 32-bit integer a, computes
|
* Description: Montgomery reduction; given a 32-bit integer a, computes
|
||||||
* 16-bit integer congruent to a * R^-1 mod q,
|
* 16-bit integer congruent to a * R^-1 mod q,
|
||||||
|
@ -22,7 +22,7 @@ int PQCLEAN_NEWHOPE512CCA_CLEAN_verify(const unsigned char *a, const unsigned ch
|
|||||||
r |= a[i] ^ b[i];
|
r |= a[i] ^ b[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
r = (-(int64_t)r) >> 63;
|
r = (uint64_t)(-(int64_t)r) >> 63;
|
||||||
return (int)r;
|
return (int)r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ static const uint32_t qinv = 12287; // -inverse_mod(p,2^18)
|
|||||||
static const uint32_t rlog = 18;
|
static const uint32_t rlog = 18;
|
||||||
|
|
||||||
/*************************************************
|
/*************************************************
|
||||||
* Name: verify
|
* Name: montgomery_reduce
|
||||||
*
|
*
|
||||||
* Description: Montgomery reduction; given a 32-bit integer a, computes
|
* Description: Montgomery reduction; given a 32-bit integer a, computes
|
||||||
* 16-bit integer congruent to a * R^-1 mod q,
|
* 16-bit integer congruent to a * R^-1 mod q,
|
||||||
|
@ -22,7 +22,7 @@ int PQCLEAN_NEWHOPE512CPA_CLEAN_verify(const unsigned char *a, const unsigned ch
|
|||||||
r |= a[i] ^ b[i];
|
r |= a[i] ^ b[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
r = (-(int64_t)r) >> 63;
|
r = (uint64_t)(-(int64_t)r) >> 63;
|
||||||
return (int)r;
|
return (int)r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user