Skip to content

Commit b8414d1

Browse files
committed
change the encode/decode boolean
1 parent 6295a4f commit b8414d1

2 files changed

Lines changed: 14 additions & 11 deletions

File tree

src/ecdsa/der.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -541,7 +541,7 @@ def integer_to_octet_string(integer):
541541
# For large integer, it is needed to calculate a sufficient length first
542542
length = (max(int_len, 1) + 7) // 8
543543
# int.to_bytes was added at python 3.2
544-
if version[0] < 3 or (version[0] == 3 and version[1] < 2):
545-
return bytes(
546-
(integer >> i * 8) & 0xFF for i in reversed(range(length)))
547-
return int.to_bytes(integer, length=length, byteorder="big")
544+
# if version[0] < 3 or (version[0] == 3 and version[1] < 2):
545+
return bytes(
546+
(integer >> i * 8) & 0xFF for i in reversed(range(length)))
547+
# return int.to_bytes(integer, length=length, byteorder="big")

src/ecdsa/test_pyecdsa.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -490,12 +490,12 @@ def test_sigencode_der_full_r_compressed(self):
490490
r, s = sigdecode_der_full_r(sig)
491491
point = ellipticcurve.Point.from_bytes(priv1.privkey.public_key.generator.curve(), r)
492492
sig = sigencode_der_full_r(point, s, encoding="compressed")
493-
print("print the sig lenght in r compressed")
493+
print("print the sig length in r compressed")
494494
print(len(sig))
495495
r, s = sigdecode_der_full_r(sig)
496-
print("right lenght of compressed x")
496+
print("right length of compressed r")
497497
print(len(r))
498-
print("right lenght of compressed s")
498+
print("right length of compressed s")
499499
print(s.bit_length())
500500

501501
self.assertEqual(type(sig), binary_type)
@@ -507,13 +507,16 @@ def test_sigencode_der_sig_value_with_y_boolean(self):
507507
data = b"data"
508508
sig = priv1.sign(data, sigencode=sigencode_der_sig_value_y_boolean,
509509
accelerate=True)
510-
print("print the sig lenght in y boolean")
510+
print("print the sig length in y boolean")
511511
print(len(sig))
512512
r, s = sigdecode_der_ecdsa_sig_value(sig)
513-
print("lenght of failing encoded y as boolean")
513+
print("length of failing encoded y as boolean")
514514
print(len(r))
515-
print("lenght of s failing encoded y as boolean")
516-
print(s.bit_length())
515+
print("length of s failing encoded y as boolean")
516+
s_len = bin(s)
517+
s_res = s_len.lstrip('-0b')
518+
int_len = len(s_res)
519+
print(int_len)
517520
self.assertEqual(type(sig), binary_type)
518521
self.assertTrue(pub1.verify(sig, data, sigdecode=sigdecode_der_ecdsa_sig_value, accelerate=True))
519522

0 commit comments

Comments
 (0)