¿Por qué la agregación de claves públicas en MuSig se describe como un producto de las claves públicas?

En el artículo de MuSig2 , se describe que:

Cada firmante genera aleatoriamente y comunica a los demás un nonce Ri=g^ri; luego, cada uno de ellos calcula R=∏ni=1Ri,c=H( ̃X,R,m)donde ̃X=∏ni=1Xii es el producto de las claves públicas individuales

Esperaría que una operación de dos o más puntos en una curva elíptica se describiera como una operación de suma, como la suma de claves públicas individuales {X1...Xn} (no el producto de claves públicas individuales). El documento describe la agregación de claves públicas y valores nonce públicos como un producto. ¿Estoy malinterpretando la operación real que ocurre aquí? ¿Por qué es este el producto de los puntos de la curva?

En otras palabras: tengo entendido que agregar puntos en la curva implica la operación geométrica de dibujar una línea entre dos puntos y encontrar el tercer punto que interseca la curva (con un giro sobre el eje x). Cuando se trata de hacer cosas como combinar claves públicas y nonces públicos, ¿sigue ocurriendo la misma operación geométrica? ¿No se sigue describiendo esto como 'agregar' puntos en la curva?

Respuestas (1)

Esto es puramente una cuestión de notación.

Los puntos de la curva elíptica forman un grupo cíclico. Un grupo es un conjunto con un elemento de identidad asociado y una operación de grupo. La gente necesita un símbolo para esa operación de grupo. En algunos contextos, es más común usar un símbolo de suma (y una multiplicación que representa la aplicación repetida de la operación de grupo), y en otros contextos es más común usar un símbolo de multiplicación (y una exponenciación que representa la aplicación repetida de la operación de grupo).

Ambas notaciones se usan comúnmente y no tienen efecto en las operaciones reales. Es sólo una cuestión de cómo escribir qué. Incluso hay debates algo acalorados sobre este tema. Incluso puede notar que uno de los autores del artículo de MuSig2 comenta en ese hilo.

Una cosa a señalar que puede explicar esto es que el artículo de MuSig2 nunca menciona las curvas elípticas. Necesita grupos de orden primo en los que se mantengan ciertas suposiciones, pero más allá de eso podría ser cualquier grupo, y el documento establece, en la Sección 3.1, "El grupo G se denota multiplicativamente". Este es el caso de la mayoría de las criptografías basadas en el problema del logaritmo discreto: funciona para cualquier grupo. E históricamente, el primer tipo de grupos utilizados para este propósito fueron los números enteros módulo a números primos (con algunas otras restricciones), donde la multiplicación es la opción obvia para el símbolo. También puede notar que se llama el problema del "logaritmo discreto" y no el problema de la "división discreta".

Al mismo tiempo, en el contexto de las curvas elípticas, tiene razón, por supuesto, en que la operación se llama suma de puntos, y su aplicación repetida se llama multiplicación de puntos. Personalmente, también lo prefiero, ya que significa que obtiene una correspondencia más obvia entre las operaciones escalares y grupales (por ejemplo, s = k + H (R, P, m) x para calcular una firma de Schnorr frente a s · G = k · G + H (R,P,M)·x·G = R + H(R,P,m)·P para verificarlo, a diferencia de G s = R·P H(R,P,m) en notación multiplicativa), y evita a veces capas anidadas de superíndices en la composición tipográfica.

EDITAR: Tim Ruffing me señaló que la verdadera razón para usar la notación multiplicativa en MuSig2 es porque el artículo comenzó como una revisión del artículo de MuSig , que también usaba la notación multiplicativa. Sin embargo, el documento MuSig-DN usa notación aditiva.

El punto sobre el artículo que no menciona las curvas elípticas es interesante. Parecería que una vez que tiene un grupo de orden primo con ciertas suposiciones, el razonamiento sobre los conceptos de criptografía (como MuSig) se puede hacer dentro de la abstracción de un grupo abeliano sin pensar en las operaciones de curvas subyacentes.