コード例 #1
0
ファイル: keys.py プロジェクト: amiller/python-ecdsa
 def from_string(klass, string, curve=NIST192p):
     order = curve.order
     assert len(string) == curve.verifying_key_length, \
            (len(string), curve.verifying_key_length)
     xs = string[:curve.baselen]
     ys = string[curve.baselen:]
     assert len(xs) == curve.baselen, (len(xs), curve.baselen)
     assert len(ys) == curve.baselen, (len(ys), curve.baselen)
     x = string_to_number(xs)
     y = string_to_number(ys)
     assert ecdsa.point_is_valid(curve.generator, x, y)
     import ellipticcurve
     point = ellipticcurve.Point(curve.curve, x, y, order)
     return klass.from_public_point(point, curve)
コード例 #2
0
ファイル: keys.py プロジェクト: taboca/Chromeless-Tests-
 def from_string(klass, string, curve=NIST192p):
     order = curve.order
     assert len(string) == curve.verifying_key_length, \
            (len(string), curve.verifying_key_length)
     xs = string[:curve.baselen]
     ys = string[curve.baselen:]
     assert len(xs) == curve.baselen, (len(xs), curve.baselen)
     assert len(ys) == curve.baselen, (len(ys), curve.baselen)
     x = string_to_number(xs)
     y = string_to_number(ys)
     assert ecdsa.point_is_valid(curve.generator, x, y)
     import ellipticcurve
     point = ellipticcurve.Point(curve.curve, x, y, order)
     return klass.from_public_point(point, curve)
コード例 #3
0
ファイル: keys.py プロジェクト: amiller/python-ecdsa
 def sign_digest(self, digest, entropy=None, sigencode=sigencode_string):
     if len(digest) > self.curve.baselen:
         raise BadDigestError("this curve (%s) is too short "
                              "for your digest (%d)" % (self.curve.name,
                                                        8*len(digest)))
     number = string_to_number(digest)
     r, s = self.sign_number(number, entropy)
     return sigencode(r, s, self.privkey.order)
コード例 #4
0
ファイル: keys.py プロジェクト: taboca/Chromeless-Tests-
 def sign_digest(self, digest, entropy=None, sigencode=sigencode_string):
     if len(digest) > self.curve.baselen:
         raise BadDigestError("this curve (%s) is too short "
                              "for your digest (%d)" % (self.curve.name,
                                                        8*len(digest)))
     number = string_to_number(digest)
     r, s = self.sign_number(number, entropy)
     return sigencode(r, s, self.privkey.order)
コード例 #5
0
ファイル: keys.py プロジェクト: amiller/python-ecdsa
 def verify_digest(self, signature, digest, sigdecode=sigdecode_string):
     if len(digest) > self.curve.baselen:
         raise BadDigestError("this curve (%s) is too short "
                              "for your digest (%d)" % (self.curve.name,
                                                        8*len(digest)))
     number = string_to_number(digest)
     r, s = sigdecode(signature, self.pubkey.order)
     sig = ecdsa.Signature(r, s)
     if self.pubkey.verifies(number, sig):
         return True
     raise BadSignatureError
コード例 #6
0
 def verify_digest(self, signature, digest, sigdecode=sigdecode_string):
     if len(digest) > self.curve.baselen:
         raise BadDigestError("this curve (%s) is too short "
                              "for your digest (%d)" %
                              (self.curve.name, 8 * len(digest)))
     number = string_to_number(digest)
     r, s = sigdecode(signature, self.pubkey.order)
     sig = ecdsa.Signature(r, s)
     if self.pubkey.verifies(number, sig):
         return True
     raise BadSignatureError
コード例 #7
0
 def sign_digest(self,
                 digest,
                 entropy=None,
                 sigencode=sigencode_string,
                 k=None,
                 ensure_low_s_according_to_bip62=False):
     if len(digest) > self.curve.baselen:
         raise BadDigestError("this curve (%s) is too short "
                              "for your digest (%d)" %
                              (self.curve.name, 8 * len(digest)))
     number = string_to_number(digest)
     r, s = self.sign_number(
         number,
         entropy,
         k,
         ensure_low_s_according_to_bip62=ensure_low_s_according_to_bip62)
     # print("r = {}".format(hex(r)))
     # print("s = {}".format(hex(s)))
     return sigencode(r, s, self.privkey.order)
コード例 #8
0
ファイル: keys.py プロジェクト: amiller/python-ecdsa
 def from_string(klass, string, curve=NIST192p):
     assert len(string) == curve.baselen, (len(string), curve.baselen)
     secexp = string_to_number(string)
     return klass.from_secret_exponent(secexp, curve)
コード例 #9
0
 def from_string(klass, string, curve=NIST192p, hashfunc=sha1):
     assert len(string) == curve.baselen, (len(string), curve.baselen)
     secexp = string_to_number(string)
     return klass.from_secret_exponent(secexp, curve, hashfunc)