ECDH en una curva pequeña
Calcula por separado el punto de curva compartido de Alice y Bob y explora el orden del punto base.
Acerca de esta herramienta
Esta herramienta ilustra Diffie–Hellman sobre curva elíptica en la curva fija y² = x³ + 2x + 3 sobre el cuerpo finito F₉₇. Las coordenadas son residuos 0…96; la aritmética se hace módulo 97. El gráfico contiene 99 puntos finitos y discretos, no muestras de una curva real continua. Junto con el punto en el infinito O, la curva tiene 100 puntos. O es la identidad del grupo y no tiene coordenadas x/y finitas: no es (0,0) y nunca se dibuja en una posición de píxel.
El punto base fijo es G = (3,6). Su ciclo es 0G = O, G = (3,6), 2G = (80,10), 3G = (80,87), 4G = (3,91) y 5G = O. Así ord(G) = 5, mientras que toda la curva tiene orden #E = 100. El cofactor es #E/ord(G) = 20. Estas tres cantidades describen cosas distintas. Los escalares privados a y b deben ser enteros de 1 a 4, los escalares no nulos por debajo del orden del punto base. Nunca se reducen en silencio módulo 97 ni se redondean.
Alice calcula su punto público A = aG y Bob calcula B = bG. Intercambian A y B. Alice calcula entonces S_A = aB y Bob calcula S_B = bA de forma independiente; ambos igualan abG. La tabla muestra las cuatro multiplicaciones escalares con las entradas reales y ambos puntos finales. Multiplicar aquí significa adición repetida del grupo de la curva elíptica, no multiplicar cada coordenada. En esta página didáctica las entradas privadas y los resultados son visibles para poder seguir los cálculos.
Selecciona Calcular para construir el gráfico y el intercambio. Los tres ejemplos usan a/b = 2/3, 1/4 y 2/2; el segundo da puntos públicos inversos y el tercero puntos públicos iguales. Editar cualquiera de los escalares privados o elegir otro ejemplo borra el resultado anterior. Borrar resultado conserva las entradas. El verde marca G; A de Alice, B de Bob y el punto compartido tienen anillos de distinto tamaño. Los anillos superpuestos conservan la identidad de cada papel, con una leyenda de texto y coordenadas numéricas.
Mueve el deslizador entero bajo el gráfico de 0 a 5. Abre Múltiplos de G para ver la tabla del ciclo, el orden del grupo y el cofactor. El anillo sonda naranja marca kG, y se enfatiza la fila correspondiente de la tabla. En k = 0 o 5 el anillo no aparece y O se nombra fuera del gráfico. Solo cambia la sonda; el conjunto de puntos finitos y el intercambio permanecen fijos. Las entradas originales, incluidos estos escalares de ejemplo visibles, el múltiplo elegido y los detalles abiertos se guardan en el almacenamiento local de este navegador. Recargar restaura los ejemplos calculados con su gráfico; los borradores modificados o no válidos conservan exactamente el texto introducido y esperan Calcular. Cada campo admite hasta 64 caracteres.
Esta curva muy pequeña es deliberadamente insegura y no es un conjunto recomendado ni seguro de parámetros ECDH. La herramienta muestra un punto compartido; no implementa autenticación, generación segura de escalares aleatorios, una función de derivación de clave ni un protocolo de cifrado de producción. Los escalares de ejemplo pueden guardarse en los ajustes locales de la app. En una primitiva ECDH real el punto en el infinito debe rechazarse como resultado compartido, y el estándar deriva entonces un elemento de cuerpo de la coordenada x del punto. No uses estos ejemplos como claves.
Fuente: SEC 1: Elliptic Curve Cryptography, Version 2.0, §2.2.1 para el grupo de la curva y la identidad; §3.1.1 para parámetros de dominio, orden y cofactor; §3.2.1 para escalares privados y puntos públicos; §3.3.1 para la primitiva ECDH y el rechazo de O.