Crypto Wiki

The Unbalanced Oil and Vinegar scheme is a modified version of the Oil and Vinegar scheme designed by J. Patarin. Both are Digital signature schemes, used in Cryptography. They belong to the group of multivariate cryptography. The security of this signature scheme is based on an NP-hard mathematical problem. To create and validate signatures a minimal quadratic equations system has to be solved. Solving m equations with n variables stays even with a real existing quantum computer NP-hard. Therefore the signature schemes based on multivariate equations systems are quantum resistant signature schemes.

Public and Private Key[]

Every asymmetric scheme has a public and a private key (Public-key cryptography). In known schemes like RSA the keys are bit strings. In the UOV scheme, and in every other multivariate signature scheme the keys are more complex.

The mathematical problem is to solve equations with variables. The whole equations system is the public key.

To use a mathematical problem for cryptography it has to be modified. The computing of the variables would need a lot of resources. A standard computer isn't able to compute this in an acceptable time. Therefore a special Trapdoor gets insert in the equations system. This trapdoor is the private key. It consists of three parts: Two Affine transformations and and a polynomial vector . Both transformations are used to transform elements in certain groups. transforms to . The second transformation transforms the variable vector to the valid signature.

The third secret element provides certain tools for the equations creation. The equations are build with certain rules which are only known to the owner of the private key.

Creation of a Signature[]

To create a valid signature the following equations system has to be solved


Here the is a given message which should be signed. The valid signature is .
To sign a given certain steps have to be performed. At first the message has to be transformed to fit in the equations system. is used to "split" the message to acceptable pieces . Then the equations have to be build. Every single equation has the same form:

The next steps sign a given message and the result is a valid signature .

  1. The secret coefficients () must be chosen secretly.
  2. The vinegar variables () are chosen randomly
  3. The resulting linear equations system gets solved for the oil variables ()

The vinegar and oil variables build the pre-signature . Finally gets transformed by the private affine transformation to , the valid signature.
The great advantage is, that the equations system get linear if the vinegar variables are fixed. No oil variable is multiplied with another oil variable in the equation. Therefore the oil variables can be computed for example with the help of the Gaussian reduction algorithm. The signature creation is fast and computational easy.

Validation of a Signature[]

The signature is transmitted to the communication partner. The validation of the signature is performed with the help of the public key, which is an equations system.

This equations system is a slight modified version of the system needed for signature creation. It is modified, because an attacker should not get information about the secret coefficients and the special formatting of the oil and vinegar variables. Every equation of these public key has to be solved, to validate the signature. The input is the signature itself. If every result is equal to the corresponding part of the original message, the verification succeeded.

Problems and Advantages of the UOV scheme[]

A great advantage is certainly, that the mathematical problem, which is used for this signature scheme is quantum resistant. If someday a quantum computer is built that can handle enough states to break commercial signature schemes like RSA or ElGamal, the Unbalanced Oil and Vinegar signature scheme keeps secure. Today no algorithm exists, which gives a quantum computer a great advantage in solving the multivariate equations systems.

The second advantage are the inner operations. Signatures get created and validated only with addition and multiplication of "small" values. Especially for systems with very small resources this signature scheme may be interesting (Smart card).

Problems of this signature scheme are the key-lengths. The public key is a whole equations system. Someone who wants to verify a signature needs all equations to compute and compare it with the original message. The public key is in the range of some Kilobyte.

The UOV scheme is a young digital signature scheme. Some attacks are known and prevented at presentTemplate:Citation needed, but certainly in the next years other attacks will follow. The actual state of the art can't be used for commercial purpose.