Casos de Prueba

Casos de Prueba

de Andres Yeral Vasilev Viera -
Número de respuestas: 1

Alguien tiene algún set de casos de prueba para esta última entrega?
Esta bastante difícil sin poder probar las funciones.

Gracias!

En respuesta a Andres Yeral Vasilev Viera

Re: Casos de Prueba

de Nathan Ryan -

Ej. 1:  Hay varios ejemplos de curvas elípticas en la web y en el texto:  por ejemplo, en esta charla:

http://www.math.brown.edu/~jhs/Presentations/WyomingEllipticCurve.pdf

Ej. 2: Hay varios ejemplos de sumas de dos puntos en la web y en el texto.  (también en la misma charla a que referí arriba)

 

Ej. 3: nP es una caso particular de Ej. 2.

 

Ej. 4: Se puede hacer la misma cuenta en Sage:

sage: E = EllipticCurve(F,[0,0,0,-3,b])

sage: p = 6277101735386680763835789423207666416083908700390324961279

sage: b_hex = "64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1"

sage: b = ZZ(b_hex,16)

 

 

sage: Gx_hex = "188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012"

sage: Gy_hex = "07192b95ffc8da78631011ed6b24cdd573f977a11e794811"

sage: P = (F(ZZ(Gx_hex,16)),F(ZZ(Gy_hex,16)))

sage: PP = E(P) #ya sabemos que el punto está en E porque sage no se queja en este paso

sage: E.is_on_curve(P[0],P[1])
True

sage: 5*PP
(410283251116784874018993562136566870110676706936762660240 : 1206654674899825246688205669651974202006189255452737318561 : 1)

Ej. 5: se puede verificar usando Ej. 6

Ej. 6: se puede verificar usando cualquier curva en las especificaciones

Ej. 7: Se puede comparar con este applet

http://www-ti.informatik.uni-tuebingen.de/~reinhard/krypto/English/4.4.en.html  

 

(me funcionó hace un mes más o menos pero ahora tengo mi vieja computador de linux y Java no corre en ella)

 

Ej. 8: Las especificaciones te dicen los valores de los parámetros para las curvas P-192, etc. y el resultado debería ser igual al resultado análogo en Sage.

 

Saludos,

Nathan