From ea600930c3e920b75d15fa1bffe3d48d818a294b Mon Sep 17 00:00:00 2001 From: MITSUNARI Shigeo Date: Sat, 27 Aug 2016 18:03:04 +0900 Subject: init by user defined p --- src/bls.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/bls.cpp b/src/bls.cpp index ab3d68b..40599af 100644 --- a/src/bls.cpp +++ b/src/bls.cpp @@ -180,9 +180,13 @@ inline bool Sign::verify(const PublicKey& pub, const std::string& m) const struct SecretKey { Fr s; const Fr& get() const { return s; } - void init() + void init(const uint64_t *p) { - s.setRand(getRG()); + if (p) { + s.setArray(p, keySize); + } else { + s.setRand(getRG()); + } } void getPublicKey(PublicKey& pub) const { @@ -367,9 +371,9 @@ std::istream& operator>>(std::istream& is, SecretKey& sec) return is >> sec.id_ >> sec.self_->s; } -void SecretKey::init() +void SecretKey::init(const uint64_t *p) { - self_->init(); + self_->init(p); } void SecretKey::getPublicKey(PublicKey& pub) const -- cgit v1.2.3