UC-IIC3253 / 2022

37 stars 6 forks source link

[T3P2] Punto (x,y) no esta en la curva. #73

Open Ignaciomendezp opened 2 years ago

Ignaciomendezp commented 2 years ago

Hola! Tengo una duda con respecto a los datos con lo que se prueba la P2. Por lo que tengo entendido, solo estaremos trabajando con puntos que esten dentro de la curva elpitica, es decir, que satisfagan la ecuación y^2 = x^3 + Ax + B mod p. Sin embargo, cuando estoy inicializando el Element en la pregunta 2 y verifico que efectivamente el punto se encuentre en la curva, me sale que NO esta (Utilizando los datos de A yB que se encuentran en la misma celda que (x,y). Esta bien que eso suceda y no estoy entendiendo bien lo que hay que hacer? O hay una falla con lo datos? Muchas gracias!

marceloarenassaavedra commented 2 years ago

El punto entregado en la pregunta sí está en la curva, aquí está la verificación en Python:

Captura de Pantalla 2022-06-24 a la(s) 21 00 12

Por favor revisa la forma con la cual estás verificando que un punto está sobre la curva (esto debe ocurrir para todos los puntos usados en esta pregunta).

Saludos!

Ignaciomendezp commented 2 years ago

Toda la razón. Al parecer es otro punto (no el que nos dan) que al tratar de instanciarlo no me queda dentro de la curva, y no me daba cuenta que el primero si lograba instanciarse bien. Muchas gracias!

Jaluco commented 2 years ago

Toda la razón. Al parecer es otro punto (no el que nos dan) que al tratar de instanciarlo no me queda dentro de la curva, y no me daba cuenta que el primero si lograba instanciarse bien. Muchas gracias!

Lograste solucionar esto? me pasa que calculando g**cualquier numero llega un punto en que se sale de la curva

marceloarenassaavedra commented 2 years ago

La operación en el grupo debe ser cerrada, si operas dos elementos en el grupo te debe dar un elemento del grupo. En el caso de las curvas elípticas esto también es cierto, si operas dos puntos en la curva según la definición dada en el libro, entonces el resultado es un punto en la curva. Nótese que si esta propiedad se cumple, entonces al realizar la operación g ** n para un elemento g del grupo y n un número natural, entonces se debe tener que g ** n es un elemento del grupo puesto que estas operando g consigo mismo n veces.

Saludos!