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