Exemplo n.º 1
0
	def test_6_recover_y(self):
		"""
		There are two y points for every x
		"""
		for _ in range(0, 10):
			p = self._point_r()
			q = Point.from_x(p.x)
			self.assertEqual(p.x, q.x)
			self.assertTrue(p.y in [q.y, -q.y])

		# These confirm compatibility across implementations
		known_test_cases = [
			(20616554786359396897066290204264220576319536076538991133935783866206841138898,
			 10592275084648178561464128859907688344447649297734555224341876545305639835999),

			(11610117029953798428826613242669939481045605849364609771767823351326159443609,
			 3722409228507723418678713896319610332389736117851027921973860155000856891140),

			(21680045038775759642189425577922609025982451102460978847266452551495203884482,
			 6168854640927408084732268325506202000962285527703379133980054444068219727690),

			(18879782252170350866370777185563748782908354718484814019474117245310535071541,
			 2946855428411022359321514310392164228862398839132752152798293872913224129374)
		]
		for x, y in known_test_cases:
			x, y = FQ(x), FQ(y)
			q = Point.from_y(y)
			self.assertEqual(q.x, x)
Exemplo n.º 2
0
	def test_6_recover_y(self):
		"""
		There are two y points for every x
		"""
		for _ in range(0, 10):
			p = self._point_r()
			q = Point.from_x(p.x)
			self.assertEqual(p.x, q.x)
			self.assertTrue(p.y in [q.y, -q.y])