def test_unserialize_wrong(self): s = SPAKE2_A(b"password", params=Params1024) s.start() data = s.serialize() SPAKE2_A.from_serialized(data, params=Params1024) # this is ok self.assertRaises(spake2.WrongGroupError, SPAKE2_A.from_serialized, data) # default is P2048 self.assertRaises(spake2.WrongGroupError, SPAKE2_A.from_serialized, data, params=Params3072) self.assertRaises(spake2.WrongSideSerialized, SPAKE2_B.from_serialized, data, params=Params1024) ss = SPAKE2_Symmetric(b"password", params=Params1024) ss.start() sdata = ss.serialize() SPAKE2_Symmetric.from_serialized(sdata, params=Params1024) # ok self.assertRaises(spake2.WrongGroupError, # default is P2048 SPAKE2_Symmetric.from_serialized, sdata) self.assertRaises(spake2.WrongGroupError, SPAKE2_Symmetric.from_serialized, sdata, params=Params3072) self.assertRaises(spake2.WrongSideSerialized, SPAKE2_Symmetric.from_serialized, data, # from A params=Params1024)
def test_unserialize_wrong(self): s = SPAKE2_A(b"password", params=params.Params1024) s.start() data = s.serialize() SPAKE2_A.from_serialized(data, params=params.Params1024) # this is ok self.assertRaises(spake2.WrongGroupError, SPAKE2_A.from_serialized, data) # default is P2048 self.assertRaises(spake2.WrongGroupError, SPAKE2_A.from_serialized, data, params=params.Params3072) self.assertRaises(spake2.WrongSideSerialized, SPAKE2_B.from_serialized, data, params=params.Params1024) ss = SPAKE2_Symmetric(b"password", params=params.Params1024) ss.start() sdata = ss.serialize() SPAKE2_Symmetric.from_serialized(sdata, params=params.Params1024) # ok self.assertRaises(spake2.WrongGroupError, # default is P2048 SPAKE2_Symmetric.from_serialized, sdata) self.assertRaises(spake2.WrongGroupError, SPAKE2_Symmetric.from_serialized, sdata, params=params.Params3072) self.assertRaises(spake2.WrongSideSerialized, SPAKE2_Symmetric.from_serialized, data, # from A params=params.Params1024)
def test_serialize(self): pw = b"password" s1,s2 = SPAKE2_Symmetric(pw), SPAKE2_Symmetric(pw) m1,m2 = s1.start(), s2.start() s1 = SPAKE2_Symmetric.from_serialized(s1.serialize()) k1,k2 = s1.finish(m2), s2.finish(m1) self.assertEqual(hexlify(k1), hexlify(k2))