1
- from __future__ import with_statement , division
1
+ from __future__ import with_statement , division , print_function
2
2
3
3
try :
4
4
import unittest2 as unittest
16
16
from hypothesis import given , settings
17
17
import hypothesis .strategies as st
18
18
19
- from six import b , print_ , binary_type
19
+ from six import binary_type
20
20
from .keys import SigningKey , VerifyingKey
21
21
from .keys import BadSignatureError , MalformedPointError , BadDigestError
22
22
from . import util
@@ -365,8 +365,8 @@ def test_sk_to_der_with_invalid_point_encoding(self):
365
365
366
366
def test_vk_from_der_garbage_after_curve_oid (self ):
367
367
type_oid_der = encoded_oid_ecPublicKey
368
- curve_oid_der = der . encode_oid ( * ( 1 , 2 , 840 , 10045 , 3 , 1 , 1 )) + b (
369
- "garbage"
368
+ curve_oid_der = (
369
+ der . encode_oid ( * ( 1 , 2 , 840 , 10045 , 3 , 1 , 1 )) + b "garbage"
370
370
)
371
371
enc_type_der = der .encode_sequence (type_oid_der , curve_oid_der )
372
372
point_der = der .encode_bitstring (b"\x00 \xff " , None )
@@ -770,10 +770,10 @@ def test_encoding(self):
770
770
sk = SigningKey .from_secret_exponent (123456789 )
771
771
vk = sk .verifying_key
772
772
773
- exp = b (
774
- "\x0c \xe0 \x1d \xe0 d\x1c \x8e S\x8a \xc0 \x9e K\xa8 x !\xd5 \xc2 \xc3 "
775
- "\xfd \xc8 \xa0 c\xff \xfb \x02 \xb9 \xc4 \x84 )\x1a \x0f \x8b \x87 \xa4 "
776
- "z\x8a #\xb5 \x97 \xec O\xb6 \xa0 HQ\x89 *"
773
+ exp = (
774
+ b "\x0c \xe0 \x1d \xe0 d\x1c \x8e S\x8a \xc0 \x9e K\xa8 x !\xd5 \xc2 \xc3 "
775
+ b "\xfd \xc8 \xa0 c\xff \xfb \x02 \xb9 \xc4 \x84 )\x1a \x0f \x8b \x87 \xa4 "
776
+ b "z\x8a #\xb5 \x97 \xec O\xb6 \xa0 HQ\x89 *"
777
777
)
778
778
self .assertEqual (vk .to_string (), exp )
779
779
self .assertEqual (vk .to_string ("raw" ), exp )
@@ -785,10 +785,10 @@ def test_decoding(self):
785
785
sk = SigningKey .from_secret_exponent (123456789 )
786
786
vk = sk .verifying_key
787
787
788
- enc = b (
789
- "\x0c \xe0 \x1d \xe0 d\x1c \x8e S\x8a \xc0 \x9e K\xa8 x !\xd5 \xc2 \xc3 "
790
- "\xfd \xc8 \xa0 c\xff \xfb \x02 \xb9 \xc4 \x84 )\x1a \x0f \x8b \x87 \xa4 "
791
- "z\x8a #\xb5 \x97 \xec O\xb6 \xa0 HQ\x89 *"
788
+ enc = (
789
+ b "\x0c \xe0 \x1d \xe0 d\x1c \x8e S\x8a \xc0 \x9e K\xa8 x !\xd5 \xc2 \xc3 "
790
+ b "\xfd \xc8 \xa0 c\xff \xfb \x02 \xb9 \xc4 \x84 )\x1a \x0f \x8b \x87 \xa4 "
791
+ b "z\x8a #\xb5 \x97 \xec O\xb6 \xa0 HQ\x89 *"
792
792
)
793
793
794
794
from_raw = VerifyingKey .from_string (enc )
@@ -804,22 +804,22 @@ def test_decoding(self):
804
804
self .assertEqual (from_uncompressed .pubkey .point , vk .pubkey .point )
805
805
806
806
def test_uncompressed_decoding_as_only_alowed (self ):
807
- enc = b (
808
- "\x04 "
809
- "\x0c \xe0 \x1d \xe0 d\x1c \x8e S\x8a \xc0 \x9e K\xa8 x !\xd5 \xc2 \xc3 "
810
- "\xfd \xc8 \xa0 c\xff \xfb \x02 \xb9 \xc4 \x84 )\x1a \x0f \x8b \x87 \xa4 "
811
- "z\x8a #\xb5 \x97 \xec O\xb6 \xa0 HQ\x89 *"
807
+ enc = (
808
+ b "\x04 "
809
+ b "\x0c \xe0 \x1d \xe0 d\x1c \x8e S\x8a \xc0 \x9e K\xa8 x !\xd5 \xc2 \xc3 "
810
+ b "\xfd \xc8 \xa0 c\xff \xfb \x02 \xb9 \xc4 \x84 )\x1a \x0f \x8b \x87 \xa4 "
811
+ b "z\x8a #\xb5 \x97 \xec O\xb6 \xa0 HQ\x89 *"
812
812
)
813
813
vk = VerifyingKey .from_string (enc , valid_encodings = ("uncompressed" ,))
814
814
sk = SigningKey .from_secret_exponent (123456789 )
815
815
816
816
self .assertEqual (vk , sk .verifying_key )
817
817
818
818
def test_raw_decoding_with_blocked_format (self ):
819
- enc = b (
820
- "\x0c \xe0 \x1d \xe0 d\x1c \x8e S\x8a \xc0 \x9e K\xa8 x !\xd5 \xc2 \xc3 "
821
- "\xfd \xc8 \xa0 c\xff \xfb \x02 \xb9 \xc4 \x84 )\x1a \x0f \x8b \x87 \xa4 "
822
- "z\x8a #\xb5 \x97 \xec O\xb6 \xa0 HQ\x89 *"
819
+ enc = (
820
+ b "\x0c \xe0 \x1d \xe0 d\x1c \x8e S\x8a \xc0 \x9e K\xa8 x !\xd5 \xc2 \xc3 "
821
+ b "\xfd \xc8 \xa0 c\xff \xfb \x02 \xb9 \xc4 \x84 )\x1a \x0f \x8b \x87 \xa4 "
822
+ b "z\x8a #\xb5 \x97 \xec O\xb6 \xa0 HQ\x89 *"
823
823
)
824
824
with self .assertRaises (MalformedPointError ) as exp :
825
825
VerifyingKey .from_string (enc , valid_encodings = ("hybrid" ,))
@@ -833,76 +833,76 @@ def test_decoding_with_unknown_format(self):
833
833
self .assertIn ("Only uncompressed, compressed" , str (e .exception ))
834
834
835
835
def test_uncompressed_decoding_with_blocked_format (self ):
836
- enc = b (
837
- "\x04 "
838
- "\x0c \xe0 \x1d \xe0 d\x1c \x8e S\x8a \xc0 \x9e K\xa8 x !\xd5 \xc2 \xc3 "
839
- "\xfd \xc8 \xa0 c\xff \xfb \x02 \xb9 \xc4 \x84 )\x1a \x0f \x8b \x87 \xa4 "
840
- "z\x8a #\xb5 \x97 \xec O\xb6 \xa0 HQ\x89 *"
836
+ enc = (
837
+ b "\x04 "
838
+ b "\x0c \xe0 \x1d \xe0 d\x1c \x8e S\x8a \xc0 \x9e K\xa8 x !\xd5 \xc2 \xc3 "
839
+ b "\xfd \xc8 \xa0 c\xff \xfb \x02 \xb9 \xc4 \x84 )\x1a \x0f \x8b \x87 \xa4 "
840
+ b "z\x8a #\xb5 \x97 \xec O\xb6 \xa0 HQ\x89 *"
841
841
)
842
842
with self .assertRaises (MalformedPointError ) as exp :
843
843
VerifyingKey .from_string (enc , valid_encodings = ("hybrid" ,))
844
844
845
845
self .assertIn ("Invalid X9.62 encoding" , str (exp .exception ))
846
846
847
847
def test_hybrid_decoding_with_blocked_format (self ):
848
- enc = b (
849
- "\x06 "
850
- "\x0c \xe0 \x1d \xe0 d\x1c \x8e S\x8a \xc0 \x9e K\xa8 x !\xd5 \xc2 \xc3 "
851
- "\xfd \xc8 \xa0 c\xff \xfb \x02 \xb9 \xc4 \x84 )\x1a \x0f \x8b \x87 \xa4 "
852
- "z\x8a #\xb5 \x97 \xec O\xb6 \xa0 HQ\x89 *"
848
+ enc = (
849
+ b "\x06 "
850
+ b "\x0c \xe0 \x1d \xe0 d\x1c \x8e S\x8a \xc0 \x9e K\xa8 x !\xd5 \xc2 \xc3 "
851
+ b "\xfd \xc8 \xa0 c\xff \xfb \x02 \xb9 \xc4 \x84 )\x1a \x0f \x8b \x87 \xa4 "
852
+ b "z\x8a #\xb5 \x97 \xec O\xb6 \xa0 HQ\x89 *"
853
853
)
854
854
with self .assertRaises (MalformedPointError ) as exp :
855
855
VerifyingKey .from_string (enc , valid_encodings = ("uncompressed" ,))
856
856
857
857
self .assertIn ("Invalid X9.62 encoding" , str (exp .exception ))
858
858
859
859
def test_compressed_decoding_with_blocked_format (self ):
860
- enc = b (
861
- "\x02 "
862
- "\x0c \xe0 \x1d \xe0 d\x1c \x8e S\x8a \xc0 \x9e K\xa8 x !\xd5 \xc2 \xc3 "
863
- "\xfd \xc8 \xa0 c\xff \xfb \x02 \xb9 \xc4 \x84 )\x1a \x0f \x8b \x87 \xa4 "
864
- "z\x8a #\xb5 \x97 \xec O\xb6 \xa0 HQ\x89 *"
860
+ enc = (
861
+ b "\x02 "
862
+ b "\x0c \xe0 \x1d \xe0 d\x1c \x8e S\x8a \xc0 \x9e K\xa8 x !\xd5 \xc2 \xc3 "
863
+ b "\xfd \xc8 \xa0 c\xff \xfb \x02 \xb9 \xc4 \x84 )\x1a \x0f \x8b \x87 \xa4 "
864
+ b "z\x8a #\xb5 \x97 \xec O\xb6 \xa0 HQ\x89 *"
865
865
)[:25 ]
866
866
with self .assertRaises (MalformedPointError ) as exp :
867
867
VerifyingKey .from_string (enc , valid_encodings = ("hybrid" , "raw" ))
868
868
869
869
self .assertIn ("(hybrid, raw)" , str (exp .exception ))
870
870
871
871
def test_decoding_with_malformed_uncompressed (self ):
872
- enc = b (
873
- "\x0c \xe0 \x1d \xe0 d\x1c \x8e S\x8a \xc0 \x9e K\xa8 x !\xd5 \xc2 \xc3 "
874
- "\xfd \xc8 \xa0 c\xff \xfb \x02 \xb9 \xc4 \x84 )\x1a \x0f \x8b \x87 \xa4 "
875
- "z\x8a #\xb5 \x97 \xec O\xb6 \xa0 HQ\x89 *"
872
+ enc = (
873
+ b "\x0c \xe0 \x1d \xe0 d\x1c \x8e S\x8a \xc0 \x9e K\xa8 x !\xd5 \xc2 \xc3 "
874
+ b "\xfd \xc8 \xa0 c\xff \xfb \x02 \xb9 \xc4 \x84 )\x1a \x0f \x8b \x87 \xa4 "
875
+ b "z\x8a #\xb5 \x97 \xec O\xb6 \xa0 HQ\x89 *"
876
876
)
877
877
878
878
with self .assertRaises (MalformedPointError ):
879
879
VerifyingKey .from_string (b"\x02 " + enc )
880
880
881
881
def test_decoding_with_malformed_compressed (self ):
882
- enc = b (
883
- "\x0c \xe0 \x1d \xe0 d\x1c \x8e S\x8a \xc0 \x9e K\xa8 x !\xd5 \xc2 \xc3 "
884
- "\xfd \xc8 \xa0 c\xff \xfb \x02 \xb9 \xc4 \x84 )\x1a \x0f \x8b \x87 \xa4 "
885
- "z\x8a #\xb5 \x97 \xec O\xb6 \xa0 HQ\x89 *"
882
+ enc = (
883
+ b "\x0c \xe0 \x1d \xe0 d\x1c \x8e S\x8a \xc0 \x9e K\xa8 x !\xd5 \xc2 \xc3 "
884
+ b "\xfd \xc8 \xa0 c\xff \xfb \x02 \xb9 \xc4 \x84 )\x1a \x0f \x8b \x87 \xa4 "
885
+ b "z\x8a #\xb5 \x97 \xec O\xb6 \xa0 HQ\x89 *"
886
886
)
887
887
888
888
with self .assertRaises (MalformedPointError ):
889
889
VerifyingKey .from_string (b"\x01 " + enc [:24 ])
890
890
891
891
def test_decoding_with_inconsistent_hybrid (self ):
892
- enc = b (
893
- "\x0c \xe0 \x1d \xe0 d\x1c \x8e S\x8a \xc0 \x9e K\xa8 x !\xd5 \xc2 \xc3 "
894
- "\xfd \xc8 \xa0 c\xff \xfb \x02 \xb9 \xc4 \x84 )\x1a \x0f \x8b \x87 \xa4 "
895
- "z\x8a #\xb5 \x97 \xec O\xb6 \xa0 HQ\x89 *"
892
+ enc = (
893
+ b "\x0c \xe0 \x1d \xe0 d\x1c \x8e S\x8a \xc0 \x9e K\xa8 x !\xd5 \xc2 \xc3 "
894
+ b "\xfd \xc8 \xa0 c\xff \xfb \x02 \xb9 \xc4 \x84 )\x1a \x0f \x8b \x87 \xa4 "
895
+ b "z\x8a #\xb5 \x97 \xec O\xb6 \xa0 HQ\x89 *"
896
896
)
897
897
898
898
with self .assertRaises (MalformedPointError ):
899
899
VerifyingKey .from_string (b"\x07 " + enc )
900
900
901
901
def test_decoding_with_point_not_on_curve (self ):
902
- enc = b (
903
- "\x0c \xe0 \x1d \xe0 d\x1c \x8e S\x8a \xc0 \x9e K\xa8 x !\xd5 \xc2 \xc3 "
904
- "\xfd \xc8 \xa0 c\xff \xfb \x02 \xb9 \xc4 \x84 )\x1a \x0f \x8b \x87 \xa4 "
905
- "z\x8a #\xb5 \x97 \xec O\xb6 \xa0 HQ\x89 *"
902
+ enc = (
903
+ b "\x0c \xe0 \x1d \xe0 d\x1c \x8e S\x8a \xc0 \x9e K\xa8 x !\xd5 \xc2 \xc3 "
904
+ b "\xfd \xc8 \xa0 c\xff \xfb \x02 \xb9 \xc4 \x84 )\x1a \x0f \x8b \x87 \xa4 "
905
+ b "z\x8a #\xb5 \x97 \xec O\xb6 \xa0 HQ\x89 *"
906
906
)
907
907
908
908
with self .assertRaises (MalformedPointError ):
@@ -1894,7 +1894,7 @@ def OFF_test_prove_uniformity(self): # pragma: no cover
1894
1894
# this technique should use the full range
1895
1895
self .assertTrue (counts [order - 1 ])
1896
1896
for i in range (1 , order ):
1897
- print_ ("%3d: %s" % (i , "*" * (counts [i ] // 100 )))
1897
+ print ("%3d: %s" % (i , "*" * (counts [i ] // 100 )))
1898
1898
1899
1899
1900
1900
class RFC6979 (unittest .TestCase ):
@@ -1981,9 +1981,7 @@ def test_1(self):
1981
1981
),
1982
1982
secexp = int ("09A4D6792295A7F730FC3F2B49CBC0F62E862272F" , 16 ),
1983
1983
hsh = unhexlify (
1984
- b (
1985
- "AF2BDBE1AA9B6EC1E2ADE1D694F41FC71A831D0268E9891562113D8A62ADD1BF"
1986
- )
1984
+ b"AF2BDBE1AA9B6EC1E2ADE1D694F41FC71A831D0268E9891562113D8A62ADD1BF"
1987
1985
),
1988
1986
hash_func = hashlib .sha256 ,
1989
1987
expected = int ("23AF4074C90A02B3FE61D286D5C87F425E6BDD81B" , 16 ),
0 commit comments