UC-IIC3253 / 2022

37 stars 6 forks source link

[T3P2] Operandos en grupo EllipticCurve #71

Open Ignaciomendezp opened 2 years ago

Ignaciomendezp commented 2 years ago

Hola! Estoy teniendo algunas dudas con respecto al grupo de curvas elípticas. En el código se señala que debemos implementar los métodos de multiplicación (*) y de pow (**). Sin embargo, de lo que se habla en el texto guía solo se señala la suma entre 2 puntos en una curva elíptica. Esto quiere decir que el comando * lo usamos como la suma de 2 puntos? De ser asi, no me queda claro como seria el operando **. De lo contrario, sigo perdido. 😅 Muchas gracias!

marceloarenassaavedra commented 2 years ago

El símbolo * es usado para representar la operación en el grupo. En el caso de la clase ZpStar esto representa la multiplicación en módulo p, y en el caso de la clase EllipticCurve esto representa la suma de puntos en una curva elíptica (como es definido en el libro). Cuando se realiza la operación x ** n, x es un elemento del grupo y n es un número natural, de manera tal que esto indica que x se debe operar consigo mismo n veces en el grupo. Por ejemplo, x ** 4 es equivalente a x * x * x * x, donde *es la operación en el grupo.

¿Queda más claro?

Saludos!

Ignaciomendezp commented 2 years ago

Clarísimo, muchas gracias!