En criptografía , el esquema de aceite y vinagre desequilibrado (UOV) es una versión modificada del esquema de aceite y vinagre diseñado por J. Patarin. Ambos son protocolos de firma digital . Son formas de criptografía multivariante . La seguridad de este esquema de firma se basa en un problema matemático NP-hard . Para crear y validar firmas, se debe resolver un sistema de ecuaciones cuadráticas mínimas. Resolver m ecuaciones con n variables es NP-hard. Si bien el problema es fácil si m es mucho mucho más grande o mucho mucho más pequeño que n , [1] lo que es importante para fines criptográficos, se cree que el problema es difícil en el caso promedio cuando m y n son casi iguales, incluso cuando se usa una computadora cuántica . Se han ideado múltiples esquemas de firma basados en ecuaciones multivariantes con el objetivo de lograr resistencia cuántica .
Un inconveniente importante de UOV es que el tamaño de la clave puede ser grande. Normalmente , se elige que n , el número de variables, sea el doble de m , el número de ecuaciones. Codificar los coeficientes de todas estas ecuaciones en la clave requiere un espacio considerable, al menos 200 kilobytes para un sistema que ofrezca una seguridad comparable a la del algoritmo de firma digital o al algoritmo de firma digital de curva elíptica .
Un esquema de firma tiene una clave de firma, que se mantiene privada, y una clave de verificación, que se revela públicamente. Por ejemplo, en los esquemas de firma basados en RSA, las claves son ambas exponentes. En el esquema UOV, y en cualquier otro esquema de firma multivariante, las claves son más complejas.
El problema matemático consiste en resolver ecuaciones con variables. Todo el sistema de ecuaciones es la clave pública.
Para utilizar un problema matemático en criptografía, es necesario modificarlo. El cálculo de las variables necesitaría muchos recursos. Un ordenador estándar no es capaz de calcular esto en un tiempo aceptable. Por lo tanto, se inserta una trampilla especial en el sistema de ecuaciones. Esta trampilla es la clave de firma. Consta de tres partes: dos transformaciones afines y un vector polinómico . Ambas transformaciones se utilizan para transformar elementos de ciertos grupos. transforma en . La segunda transformación transforma la variable vector en la firma válida.
El tercer elemento secreto proporciona ciertas herramientas para la creación de ecuaciones. Las ecuaciones se construyen con reglas que sólo conoce el propietario de la clave de firma.
Para crear una firma válida, se debe resolver el siguiente sistema de ecuaciones
Aquí se muestra un mensaje que debe firmarse. La firma válida es .
Para firmar un determinado mensaje, primero se debe transformar para que encaje en el sistema de ecuaciones. se utiliza para "dividir" el mensaje en partes aceptables . Luego se deben construir las ecuaciones. Todas las ecuaciones tienen la misma forma:
Los siguientes pasos firman un mensaje dado y el resultado es una firma válida .
Las variables vinagre y aceite forman la prefirma . Finalmente, se transforman mediante la transformación privada para dar la firma válida .
El sistema de ecuaciones se vuelve lineal si las variables del vinagre son fijas (ninguna variable del aceite se multiplica por otra variable del aceite en la ecuación). Por lo tanto, las variables del aceite se pueden calcular fácilmente utilizando, por ejemplo, un algoritmo de reducción gaussiana . La creación de la firma es en sí misma rápida y computacionalmente sencilla.
La firma se transmite al interlocutor. La validación de la firma se realiza con ayuda de la clave pública, que es un sistema de ecuaciones.
Este sistema de ecuaciones es una versión ligeramente modificada del sistema necesario para la creación de firmas. Se modifica de modo que un atacante no pueda obtener información sobre los coeficientes secretos y el formato especial de las variables de aceite y vinagre. Cada ecuación de la clave pública debe resolverse para validar la firma. La entrada es la propia firma. Si cada resultado es igual a la parte correspondiente del mensaje original, entonces la verificación se ha realizado correctamente.
Una ventaja principal es que el problema matemático que se debe resolver en el algoritmo es resistente a la tecnología cuántica. Cuando se construya una computadora cuántica que pueda factorizar números compuestos grandes utilizando el algoritmo de Shor , esto romperá los esquemas de firma comerciales como RSA o ElGamal que se basan en que el problema del logaritmo discreto es irresoluble. La UOV puede seguir siendo segura porque no se conoce ningún algoritmo que le dé a la computadora cuántica una gran ventaja en la resolución de sistemas de ecuaciones multivariantes.
La segunda ventaja es que las operaciones que se utilizan en las ecuaciones son relativamente sencillas. Las firmas se crean y validan únicamente con la suma y multiplicación de valores "pequeños", lo que hace que esta firma sea viable para hardware de bajos recursos como el que se encuentra en las tarjetas inteligentes .
Una desventaja es que UOV utiliza longitudes de clave muy largas, y la clave pública involucra todo el sistema de ecuaciones, lo que puede requerir varios cientos de kilobytes . UOV no se ha utilizado ampliamente. Si bien ya se conocen varios métodos de ataque, es posible que aparezcan más si UOV se vuelve ampliamente utilizado. UOV aún no está listo para su uso comercial porque su seguridad requiere más investigación.
El criptosistema Rainbow se basa en UOV y es uno de los tres finalistas en el concurso del NIST para un estándar de firma digital postcuántica, aunque recientemente han surgido importantes preocupaciones con respecto a su seguridad, tal como se propuso en el concurso del NIST. Se descubrió un nuevo ataque MinRank contra Rainbow, que reduce la seguridad de la instanciación Rainbow propuesta a un nivel por debajo de los requisitos establecidos por el NIST. [2] Beullens descubrió un nuevo ataque en 2022, que recupera la clave privada para el conjunto de parámetros L1 de Rainbow en un fin de semana. [3] UOV en sí no se ve afectado por este ataque.