Startseite Inner product functional encryption based on the UOV scheme
Artikel Open Access

Inner product functional encryption based on the UOV scheme

  • Roberto La Scala EMAIL logo und Alessio Meneghetti
Veröffentlicht/Copyright: 21. November 2025
Veröffentlichen auch Sie bei De Gruyter Brill

Abstract

We analyze the efficiency and security of the inner product functional encryption (IPFE) protocol introduced in 2021 by Debnath, Mesnager, Dey, and Kundu, specifically when instantiated with UOV. While the scheme offers several advantages, including improvements in key generation and encryption/decryption algorithms, along with compact key sizes, the decryption algorithm remains exponential in complexity with respect to the security parameter. To address this limitation, we propose a variant aimed at reducing the decryption cost. However, this alternative remains impractical at present due to the resulting large ciphertext size.

MSC 2020: 94A60; 11T06; 11T71

1 Introduction

In recent years, with the progressive improvement in the speed and reliability of data networks, we have witnessed a growing diffusion of “cloud computing”. This practice involves entrusting storage functions, software applications, and computation to powerful remote servers capable of meeting the needs of millions or even billions of users. In this context, ensuring the confidentiality of individual user data is of fundamental importance, making the use of specific cryptographic tools indispensable. To allow providers to deliver services through data processing while preserving confidentiality, the paradigms that are emerging as particularly promising are functional encryption [1], 2] and homomorphic encryption [3], briefly FE and HE. These approaches pursue distinct objectives: in HE, the value of functions applied to plaintext data is calculated as a function of the encrypted data and returned to the owner in encrypted form. Only the data owner has the capability to use it, unless they decide to share it with the provider through an additional encryption system. Conversely, in FE, by using specific “functional keys” the provider can directly compute the value of the required functions on plaintext data starting from encrypted data, which are never fully decrypted. These features allow the provider to deliver services to users without requiring further actions from them, except for distributing the necessary functional keys.

To illustrate the paradigm of functional encryption, we provide a couple of examples of its applications. Consider a hospital that records the medical data of its patients. For research purposes, it could be useful to perform data analysis on these records. Using FE, the hospital can delegate the storage of the records to a cloud service without compromising their confidentiality because the data are encrypted before being sent to the server. At the same time, the hospital can distribute functional keys to researchers, enabling them to conduct medical statistical analyses on the records stored in the cloud for purposes such as evaluating a therapy, without accessing the actual content of the records.

Another common application of FE is performing machine learning on encrypted data while ensuring confidentiality. Specifically, after training a classifier on standard data, the data owner can generate specific functional keys for the functions required by the classifier. In other words, the classifier can perform classification on encrypted data without knowing its plaintext content.

If such computations require knowledge of linear functions of the plaintext data, we refer to the FE scheme as an inner product functional encryption, briefly IPFE, protocol. Some examples of inner products widely used in data analysis are the expected value and the convolution product. Recently, in [4], the authors introduced an IPFE protocol based on multivariate cryptography. We recall that this type of post-quantum cryptographic primitives achieves security through the challenge of computing preimages of generic quadratic polynomial maps F : F n F m where F is a finite field. These primitives are typically digital signatures where signing a vector v F m corresponds to compute a preimage u F 1 ( v ) F n . The signer holds a secret that allows for efficient computation of such a preimage.

In the present paper, we discuss the possibility of designing multivariate IPFE schemes. We start by discussing the efficiency and security of the IPFE protocol in [4] modified by leveraging the UOV digital signature [5], [6], [7], [8]. In this version of the protocol, the property that the quadratic map F : F n F m is an “oil-vinegar map” corresponds to the existence of a secret vector subspace OF −1(0). Using this subspace one can obtain elements in the preimages of F without the need for any linear change of coordinates. If otherwise the subspace O is unknown, an opponent faces a problem currently considered indistinguishable from the NP-hard problem of solving a quadratic polynomial system over a finite field. For a recent paper on solving polynomial systems over finite fields, see for instance [9].

Our analysis of the IPFE scheme reveals that the protocol’s decryption algorithm incurs a computational cost exponential in the scheme’s parameters. To address this inefficiency, we propose a variant aimed at mitigating the issue. However, it appears that circumventing the exponential decryption cost necessitates an increase in ciphertext size, which once again leads to inefficiency. The challenge of developing a practical multivariate IPFE scheme remains an open problem and requires further investigation.

2 Oil-vinegar maps

We start presenting the modern concept of an oil-vinegar map and its corresponding algorithms for the UOV digital signature. References include [5], [6], [7].

Let F be a finite field and denote by S = F [ x 1 , , x n ] the algebra of the polynomials with coefficients in the field F and variables x 1, …, x n . For all 1 ≤ km, let f k S be a quadratic form, that is, a homogeneous polynomial of degree 2. Let F = (f 1, …, f m ) ∈ S m . By abuse of notation, we also denote by F : F n F m the quadratic map such that, for all v = ( v 1 , , v n ) F n

F ( v ) = ( f 1 ( v ) , , f m ( v ) ) .

Note that each quadratic form f k (1 ≤ km) corresponds to a matrix A k = A k i j M n ( F ) such that, if x = (x 1, …, x n ) ∈ S n then

f k ( x ) = x A k x T S .

To avoid issues arising from the characteristic of the field F, we make the assumption that all the matrices A k are upper triangular, that is, A k i j = 0 whenever i > j. We have hence that

f k = i j A k i j x i x j .

Consider another variable set {y 1, …, y n } which is disjoint from the set {x 1, …, x n } and let S ̄ = F [ x 1 , , x n , y 1 , , y n ] . The polar form of the quadratic form f k is by definition the bilinear form

f ̄ k ( x , y ) = f k ( x + y ) f k ( x ) f k ( y ) S ̄ .

In matrix terms, we have that

f ̄ k ( x , y ) = x A k y T + y A k x T = x A k + A k T y T

that is

f ̄ k = i , j A k i j + A k j i x i y j .

Note that A k + A k T is a symmetric matrix with elements along the main diagonal that are divisible by 2. Hence, the monomials x i y i (1 ≤ in) will not appear in the polar forms f ̄ k whenever c h a r ( F ) = 2 . We call F ̄ = ( f ̄ 1 , , f ̄ m ) S ̄ m the polar map of the quadratic map F = (f 1, …, f m ) ∈ S. By abuse of notation, we denote by F ̄ : F n × F n F m the bilinear map such that, for all u , v F n

F ̄ ( u , v ) = ( f ̄ 1 ( u , v ) , , f ̄ m ( u , v ) ) .

Let F = G F ( q ) be the finite field with q elements and consider the ideal E = x 1 q x 1 , , x n q x n S . If JS is an ideal and F ̄ is the algebraic closure of the field F , we denote

V ( J ) = { v F ̄ n f ( v ) = 0 for all f J }

and V F ( J ) = V ( J ) F n . The Nullstellensatz over finite fields [10] implies the following result.

Proposition 2.1.

Let JS be an ideal. We have V ( E ) = F n and V F ( J ) = V ( J + E ) where J + E is a radical ideal of S.

Definition 2.2.

Let F = (f 1, …, f m ) be a quadratic map and consider the corresponding ideal I F = ⟨f 1, …, f m ⟩. We call F an oil-vinegar map if there exists a vector subspace 0 O F n such that O V F ( I F ) = F 1 ( 0 ) . We call O the oil subspace and r = dim F O the oil dimension of F.

Let l 1, …, l nr S be linear forms and put L = (l 1, …, l nr ) ∈ S nr . By abuse of notation, we also denote L : F n F n r the corresponding linear map. If O = V F ( I L ) where I L = ⟨l 1, …, l nr ⟩, then the inclusion O V F ( I F ) is equivalent to the inclusion

I F I L + E

due to the fact that I F + E, I L + E are radical ideals. By assuming that the linear forms l k are linearly independent we have that r = dim F O .

Observe that the condition I F I L + E is equivalent to require that each quadratic form f i (1 ≤ im) can be written in the form

f i = 1 j n r g i j l j mod E

where g ij S are linear forms.

3 Preimages of oil–vinegar maps

The computation of a preimage of a quadratic map is generally a difficult task because it corresponds to solve a quadratic polynomial system over a finite field. Indeed, it is well-know that the solution to such a general problem is NP-hard [11]. We show now that computing a preimage of an oil-vinegar map becomes efficient once the oil-subspace is known.

Let w = ( w 1 , , w m ) F m . If F = (f 1, …, f m ) is a quadratic map, computing v = ( v 1 , , v n ) F n such that F(v) = w is equivalent to solve, over the base field F , the following system of quadratic equations

f 1 ( x ) = w 1 , f m ( x ) = w m .

In other words, the vector v is a preimage of w under the map F. We denote this by writing vF −1(w). Assume now that F is an oil–vinegar map and we have knowledge of its oil subspace O V F ( I F ) = F 1 ( 0 ) . In particular, let O = V F ( I L ) = L 1 ( 0 ) where L = (l 1, …, l nr ) and l k S are linear independent linear forms. Fix a random vector u F n . If oO and hence F(o) = 0, then

w = F ( u + o ) = F ( u ) + F ( o ) + F ̄ ( u , o ) = F ( u ) + F ̄ ( u , o ) .

To compute a preimage v = u + oF −1(w) it is sufficient therefore to solve the system of linear equations L ( x ) = 0 , F ̄ ( u , x ) = w F ( u ) which is explicitly

l 1 ( x ) = 0 , l n r ( x ) = 0 , f 1 ̄ ( u , x ) = w 1 f 1 ( u ) , f m ̄ ( u , x ) = w m f m ( u ) .

Note that if m = r we have a system of n linear equations in exactly n variables. In this case, the matrix of its coefficients has no maximal rank (determinant is zero) with probability 1/q. If we do not obtain maximal rank, it is sufficient to choose a new random vector u F n . Moreover, by assuming that the equations f 1(x) = w 1, …, f m (x) = w m are sufficiently generic (complete intersection), one has that the preimage F 1 ( w ) F n is an affine variety of dimension nm.

The signing algorithm of the UOV protocol corresponding to the oil-vinegar map F : F n F m is, by definition, the computation of a preimage v F 1 ( w ) F n for a document w F m . More precisely, the vector w is generally the hash value of a document, so the parameter m is fixed and not very large. The cryptanalysis of the UOV protocol [12] implies that the condition n > 2m is necessary to achieve a secure signature. As we have just seen, an efficient signing algorithm is made possible by the knowledge of the oil subspace OF −1(0). The verification of the signature v simply consists in checking that F(v) = w which involves the cost of evaluating the quadratic map F. Therefore, the public key of UOV is the map F and the private key is the pair (F, O).

4 Generation of oil–vinegar maps

We address now the task of the key generation in the UOV protocol, that is, how to construct an oil–vinegar map F = (f 1, …, f m ) from any subspace O F n of dimension r. Up to permutating the coordinates of the vector space F n , we can assume that O is the subspace generated by the rows of a block matrix ( H I ) M r × n ( F ) where H M r × n r ( F ) is any matrix and I G L r ( F ) is the identity matrix. Consider the upper triangular matrices A k M n ( F ) corresponding to each quadratic form f k (1 ≤ km), that is

f k ( x ) = x A k x T .

We consider A k as a block upper triangular matrix of type

A k = A k A k 0 A k

where A k M n r ( F ) , A k M n r × r ( F ) , A k M r ( F ) and A k , A k are upper triangular matrices. To enforce OF −1(0), or equivalently F(O) = {0}, corresponds to impose, for each 1 ≤ km, the following matrix equations

( H I ) A k ( H I ) T = 0 .

From the above equations, one obtains that

H A k H T + H A k + A k = 0

and hence

A k = H A k H A k H T .

In other words, by arbitrarily assigning the matrix H that defines the oil subspace O F n and arbitrarily choosing the matrices A k , A k (1 ≤ km), it is always possible to define the matrices A k (1 ≤ km) in such a way that the quadratic map F = (f 1, …, f m ) corresponding to the block upper triangular matrices A 1 , , A m M n ( F ) satisfies OF −1(0). It is worth noting that the random matrix A k M n r ( F ) can be directly generated as an upper triangular matrix, whereas the matrix A k M r ( F ) is defined as the upper triangular matrix that yields the same quadratic form as the matrix H A k H A k H T .

5 Efficient secret key and signature for UOV

In order to reduce the key sizes and make the signing process more efficient in UOV, we observe the following. Assume as before that the oil subspace O F n is the subspace generated by the rows of a block matrix ( H I ) M r × n ( F ) where I is the identity matrix of order r. Under this assumption, note that the last r entries of a vector o′ ∈ O can be arbitrarily chosen.

Let w F m and u F n . We have shown that the knowledge of the oil subspace O implies that a vector u + o (oO) such that F(u + o) = w can be computed by solving a system of linear equations. Let now o′ ∈ O. Note that if oO is such that L(o) = 0, F(u + o) = w, then oo′ ∈ O clearly satisfies L(oo′) = 0, F(u + o′ + (oo′)) = w. In other words, the computation of a preimage in F −1(w) can be obtained in the same way if we replace the arbitrary vector u F n with a vector of the form u + o′ where o′ ∈ O.

Due to the assumption that a basis of the oil subspace O is provided by the rows of a block matrix of type (H I), replacing u with u + o′ offers the advantage that one can require that the last r entries of the vector o′ are precisely the opposite of the corresponding entries of the vector u. In other words, we can assume that the vector u + o′ has its last r coordinates all equal to zero.

Let u = ( u 0 ) F n with u F n r . Recall that f k (x) = xA k x T (1 ≤ km) where

A k = A k A k 0 A k

with A k M n r ( F ) , A k M n r × r ( F ) , A k M r ( F ) . We have therefore that

f k ( u ) = u A k u T .

Moreover, recall that f ̄ k ( x , y ) = x A k + A k T y T . Since we are assuming that O admits as a basis the row vectors of a block matrix of the form (H I), any vector oO can be obtained as o = c(H I) = (cH c) where c = ( c 1 , , c r ) F r . By computing f ̄ k ( u , o ) one obtains hence

f ̄ k ( u , o ) = ( u 0 ) A k + A k T A k A k T A k + A k T ( c H c ) T = u ( A k + A k T H T + A k ) c T .

By putting

C k = A k + A k T H T + A k M n r × r ( F )

we finally obtain that

f ̄ k ( u , o ) = u C k c T .

Once a vector u = ( u 0 ) F n is fixed, we recall that the UOV signature of w = ( w 1 , , w m ) F m consists in solving the following system of linear equations

f 1 ̄ ( u , o ) = w 1 f 1 ( u ) , f m ̄ ( u , o ) = w m f m ( u )

where the vector oO is unknown. Since such a vector is parametrized by a vector c F r , once the matrices A 1 , C 1 , , A m , C m along with the matrix H are stored as the secret key, the signing process involves solving the corresponding linear system, namely

u C 1 c T = w 1 u A 1 u T , u C m c T = w m u A m u T

where the vector c F r is the unknown. After computing c, we put o = c(H I) and the signature is defined as the preimage v = u + oF −1(w).

6 Formal description of UOV algorithms

Henceforth, we assume that m = r = dim F O and n > 2m. Note that in order to set and decrease the value of the parameter m, the vector w F m typically represents a hash value of the message to be signed.

7 Key sizes in the UOV scheme

The public key of UOV is given by an oil–vinegar map F : F n F m , that is, by m upper triangular matrices A 1 , , A m M n ( F ) . Since each element of the finite field F = G F ( q ) is represented by ⌈ log2(q)⌉ bits, it follows that the size of the public key is

s i z e ( p k ) = m n ( n + 1 ) 2 log 2 ( q ) .

Recall that the matrices A k (1 ≤ km) are block matrices of the form

A k = A k A k 0 A k

where A k , A k are random matrices and A k is determined by these matrices along with the oil subspace O F n ( dim F O = m ) . By generating the matrices A k , A k (1 ≤ km) using a pseudorandom number generator initialized with a public seed, we have that for the public key pk = (A 1, …, A m ) we only need to store the upper triangular matrices A k M m ( F ) (1 ≤ km) in addition to the public seed. We conclude that the size of the compact public key is

s i z e ( p k c ) = m 2 ( m + 1 ) 2 log 2 ( q ) + | seed pub | .

For the secret key, we need to store the matrix H M m × n m ( F ) such that the rows of the block matrix ( H I ) M m × n ( F ) are a basis of the oil subspace. In addition to the matrix H, the UOV signing process requires the upper triangular matrices A k M n m ( F ) alongside the matrices C k M n m × m ( F ) , for all k = 1, 2, …, m. The total size of the secret key is hence

s i z e ( s k ) = m ( n m ) + m ( n m ) ( n m + 1 ) 2 + m 2 ( n m ) log 2 ( q ) = m ( n + m + 3 ) ( n m ) 2 log 2 ( q ) .

As with the public key, we can avoid storing the random matrices A k (1 ≤ km) and H by using a pseudorandom number generator initialized with the public seed used for the public key, along with an additional secret seed. We conclude that the size of the compact secret key is

s i z e ( s k c ) = m 2 ( n m ) log 2 ( q ) + | seed pub | + | seed sec | .

Note that by including the computation of the matrices C k = A k + A k T H T + A k in the UOV signing algorithm, then the size of the compact secret key can be further reduced to

| seed pub | + | seed sec | .

In this case, however, the signing process would result in less efficiency.

The size of the UOV signatures is clearly n⌈ log2(q)⌉. If the vector w F m for which we compute a preimage vF −1(w) is a hash of the message to be signed and the hashing process includes a random number salt, then the size of the signature is precisely

s i z e ( sign ) = n log 2 ( q ) + | salt | .

8 Functional encryption

In this section, we briefly recall the formal notion of Functional Encryption. Let X be the set of plaintexts and Y be the set of ciphertexts. Denote by K the set of functional keys and by V the set of functional values. Then, a function F : K × XV is given. We also introduce a set K sec of the secret keys, a set K pub of the public keys and finally a set K usr of the user secret keys. Then, we have a function keygen : K × K secK usr , that is, for any functional key kK and for each secret key skK sec, we have a user secret key usk k = keygen(k, sk) ∈ K usr. For any public key pkK pub, there is a functional encryption mapping enc pk : XY. For each user secret key usk k , we have a functional decryption mapping d e c us k k : Y V such that if y = enc pk (x), then d e c us k k ( y ) = F ( k , x ) .

In practice, the secret key sk and the public key pk are owned by a Master user, a central authority, who distributes pk to Alice to enable them to functionally encrypt the plaintext x, that is, to compute y = enc pk (x). If Bob is a user corresponding to the functional key k, then the Master distributes to Bob the user secret key usk k = keygen(k, sk). With this key, Bob can decrypt the functional value d e c us k k ( y ) = F ( k , x ) of the plaintext belonging to Alice.

In addition to these algorithms, a protocol of functional encryption, briefly FE, involves a setup function such that for each value of appropriate parameters, it returns a pair (sk, pk) chosen arbitrarily from those satisfying the required parameters. It is assumed that all functions of an FE protocol can be computed efficiently.

If K = X = F d and V = F where F is a finite field, we have an inner product functional encryption, briefly IPFE, if F(k, x) = ⟨k, x⟩ = i k i x i V where k = (k 1, …, k d ) ∈ K and x = (x 1, …, x d ) ∈ X.

9 An IPFE protocol based on the UOV scheme

In this section we introduce an IPFE protocol that leverages modern UOV algorithms, inspired by the protocol introduced by Debnath, Mesnager, Dey and Kundu in [4] (See Algorithms 9.1, 9.2, 9.3, and 9.4). As previously explained for general IPFE schemes, the set of plaintexts and the set of functional keys coincide with a vector space F d over a finite field F . The set of functional values is thus F .

Let {t 1, …, t d } and {x 1, …, x n } be two disjoint sets of variables and consider the polynomial algebras R = F [ t 1 , , t d ] and S = F [ x 1 , , x n ] . We put

P = R [ x 1 , , x n ] = F [ t 1 , , t d , x 1 , , x n ] .

Moreover, let K = F ( t 1 , , t d ) denote the field of rational functions corresponding to R = F [ t 1 , , t d ] . We consider m quadratic forms in the variables x 1, …, x n whose coefficients are polynomials in the variables t 1, …, t d . Precisely, if we put t = (t 1, …, t d ) ∈ R d and x = (x 1, …, x n ) ∈ S n , for each 1 ≤ km we define

f k ( t ) ( x ) = x A ( t ) k x T P

where A ( t ) k = ( A ( t ) k i j ) M n ( R ) is an upper triangular matrix. By evaluating the variable vector t = (t 1, …, t d ) at a vector a = ( a 1 , , a d ) F d , we obtain a quadratic form f k ( a ) S associated with the matrix A ( a ) k M n ( F ) , which in turn is obtained by evaluating the matrix A(t) k . By setting F ( a ) = ( f 1 ( a ) , , f m ( a ) ) , we have a quadratic map F ( a ) : F n F m for every vector a = ( a 1 , , a d ) F d . This set of maps is clearly obtained by evaluating the quadratic map F ( t ) = ( f 1 ( t ) , , f m ( t ) ) , where we can assume that F ( t ) : K n K m .

Let now {y 1, …, y n } be a set of variables disjoint from the sets {x 1, …, x n } and {t 1, …, t d }. We consider the polynomial algebra P ̄ = R [ x 1 , , x n , y 1 , , y n ] . The polar form of the quadratic map f k ( t ) is by definition the bilinear form

f ̄ k ( t ) ( x , y ) = f k ( t ) ( x + y ) f k ( t ) ( x ) f k ( t ) ( y ) P ̄ .

In other words, we have

f ̄ k ( t ) ( x , y ) = x ( A ( t ) k + A ( t ) k T ) y T .

Observe that A ( t ) k + A ( t ) k T M n ( R ) is a symmetric matrix with even elements along the main diagonal. By evaluating the variable vector t = (t 1, …, t d ) at a vector a = ( a 1 , , a d ) F d , we obtain the polar form f ̄ k ( a ) of f k ( a ) from the polar form f ̄ k ( t ) of f k ( t ) .

By setting F ̄ ( t ) = ( f ̄ 1 ( t ) , , f ̄ m ( t ) ) P ̄ m , we call F ̄ ( t ) the polar map of the quadratic map F (t). Clearly, F ̄ ( a ) is the polar map of the quadratic map F (a), for all a = ( a 1 , , a d ) F d .

Definition 9.1.

We call F ( t ) = ( f 1 ( t ) , , f m ( t ) ) an oil–vinegar map if F (a) is an oil–vinegar map, for each a = ( a 1 , , a d ) F d . If O ( a ) F n is the oil subspace of F (a), we assume that dim F O ( a ) = m , for all a F d .

We now illustrate how to construct an oil–vinegar map F ( t ) = ( f 1 ( t ) , , f m ( t ) ) . Let H(t) ∈ M m×nm (R) be a matrix whose entries are linear forms in the variables t 1, …, t d and consider the block matrix (H(t) I) ∈ M m×n (R) where I is the identity matrix of order m. Denote by O(t) ⊂ R n the vector subspace generated by the rows of the matrix (H(t) I). Note that if O(a) ⊂ F n is the vector subspace generated by the rows of the matrix ( H ( a ) I ) M m × n ( F ) , then dim F O ( a ) = m for every a = ( a 1 , , a d ) F d .

Let A ( t ) k M n m ( R ) , A ( t ) k M n m × m ( R ) (1 ≤ km) be matrices whose entries are linear forms in R and assume that A ( t ) k is an upper triangular matrix. Denote by A ( t ) k M m ( R ) the upper triangular matrix defining the same quadratic form of the matrix

H ( t ) A ( t ) k H ( t ) A ( t ) k H ( t ) T .

Since the entries of A ( t ) k , A ( t ) k and H(t) are linear forms, it is important to note that the entries of A ( t ) k are cubic polynomials with homogeneous components of degrees 2 and 3.

We finally define the block upper triangular matrices

A ( t ) k = A ( t ) k A ( t ) k 0 A ( t ) k M n ( R )

and the corresponding quadratic forms f k ( t ) = x A ( t ) k x T (1 ≤ km). By defining F ( t ) = ( f 1 ( t ) , , f m ( t ) ) , it is clear that F (a) is an oil–vinegar map with O(a) as its oil subspace.

We present now a direct instantiation of the IPFE protocol in [4] with the modern UOV scheme and discuss its limitations. Up to optimizations in key generation similar to those used for UOV, we have that the secret key sk held by the Master consists of an oil–vinegar map F ( t ) = ( f 1 ( t ) , , f m ( t ) ) along with the corresponding oil subspace O(t) ⊂ R m . The public key pk given to Alice is the oil–vinegar map F (t) alone, and the user secret key usk a given to Bob consists of the oil–vinegar map F ( a ) = ( f 1 ( a ) , , f m ( a ) ) along with the oil subspace O ( a ) F m .

We observe that the subspaces O(t) and O(a) are assigned using matrices H(t) ∈ M m×nm (R) and H ( a ) M m × n m ( F ) . To prevent a collusion attack on the protocol that could, for example, determine H(t) from the knowledge of various matrices H(a 1), …, H(a l ), it is essential to limit the number s of functional keys { a 1 , , a s } F d allowed by the protocol relative to the dimension d of the plaintexts b F d .

We will now illustrate how Alice performs the functional encryption of their plaintext b = ( b 1 , , b d ) F d using the public key F (t) and how Bob can perform the functional decryption using the user secret key usk a = (F (a), O(a)). We recall that the goal of the (inner product) functional decryption is to determine the inner product F(a, b) = ⟨a, b⟩ = i a i b i .

Following the general framework, the functional encryption is defined for any functional key a = (a 1, …, a d ). We will see that this implies that the corresponding ciphertext is generally a large data. Alternatively, Alice could construct different ciphertexts for different functional keys. Nonetheless, we will examine the general scheme in the following algorithms.

Observe that each component of the vectors u ̄ ( t ) , v ̄ ( t ) R n is a polynomial of type

u ̄ ( t ) k = i j A ( t ) k i j u ( t ) i u ( t ) j , v ̄ ( t ) k = i j A ( t ) k i j v ( t ) i v ( t ) j .

The (inner product) functional decryption performed by Bob, namely the computation of ⟨a, b⟩, involves the following operations.

According to the UOV protocol, Bob’s knowledge of the oil subspace O(a) enables him to efficiently compute an element of any preimage of the oil-vinegar map F(a). In fact, we recall that such a computation reduces to solving a system of n linear equations in n variables. Moreover, assuming that the polynomial map F (a) is sufficiently generic, the dimension of a preimage, as an algebraic variety, is nm. Consequently, the dimension of the product of preimages ( F ( a ) ) 1 ( u ̄ ) × ( F ( a ) ) 1 ( v ̄ ) is d = 2n − 2m. Under the assumption that n is slightly larger than 2m, we obtain that dn. If we impose the n linear equations corresponding to the condition vu = c on the pairs ( u , v ) ( F ( a ) ) 1 ( u ̄ ) × ( F ( a ) ) 1 ( v ̄ ) , we obtain essentially a unique solution that coincides with the pair (u(a), v(a)). In other words, the probability of finding this pair in the product set ( F ( a ) ) 1 ( u ̄ ) × ( F ( a ) ) 1 ( v ̄ ) is one out of its number of elements, which can be approximately estimated as 1/q n . This explains the correctness of the functional encryption-decryption algorithms described above.

Note that the protocol described in Decryption Algorithm 9.3 has a computational cost of the order of q nm . This (exponential, and thus infeasible) approach is directly derived from [4], with whom it shares the trial-and-error decryption algorithm: Bob continues to generate valid preimages u and v for u ̄ and v ̄ until the check vu = c is satisfied. Looking back at UOV Signature Algorithm 6.2, this method turns out to be equivalent to keep generating random vectors u F n m , until the correct preimage u is found.

To solve this issue we consider here a variant in which Alice encodes their information in a particular subspace of R n , so that, when the ciphertext is specialized by Bob by using their functional key, the decryption algorithm can be speed-up. Before providing the details of the protocol we present the general idea.

Consider a vector subspace V F n of dimension such that its intersection O′ with Bob’s Oil subspace O has dimension klt. Without loss of generality, we can assume that V is defined via a linear map

V : F F n

such that its restriction to the first coordinates of the co-domain is a bijection. If Alice is given V , they can proceed similarly to Algorithm 9.3, with the difference that Steps 2 and 3, used to compute the vector u(t) = (u(t)1, …, u(t) n ) ∈ R n , are replaced by the following:

  1. u′(t) = (u′(t)1, …, u′(t) ) consists of linear forms in the variables t 1, …, t d such that i = 1 u ( t ) i = t , b .

  2. u(t) = (u(t)1, …, u(t) n ) is computed as V ( u ( t ) ) .

Thus, Bob performs the functional decryption using Algorithm 9.4, with the slight modification that the search is confined to the subspace V. In this way, the algorithm runs in O(q k ), in which k can be fixed of the order of log(n). In this way, the computational cost of the decryption algorithm is polynomial in n instead of exponential in nm.

It is important to note that the variant just described cannot directly be used. Indeed, an attacker can easily guess an element of Bob’s Oil subspace by looking at V . To solve this issue, we consider V to be a parametric space V (t), so that, at the cost of increasing the ciphertext’s size, an attacker is not capable of guessing the subspace V associated to Bob’s oil subspace (which, with this newly introduced notation, is V (a)) and thus to directly attack the scheme.

Finally, to further improve the decryption algorithm 9.4, instead of searching for two preimages satisfying the check vu = c we modify the scheme so that Bob can directly check whether u is correct without generating a corresponding v.

Remark 9.2.

A key difference with respect to the IPFE protocol described in Section 9 is the necessity of knowing in advance the user’s functional keys. In Section 9 the key-generation is composed by two algorithms run by the authority: Algorithm 9.1 used to obtain the parametric public key pk and the master secret key sk, and Algorithm 9.2 used to specialize the master key sk to obtain users’ secret keys usk. In this section instead, during the key generation, the authority generates all the user’s secret keys usk 1, …, usk s and the corresponding unique parametric public key pk. No further users can be added after the key-generation, so there is no need to store che master key. This results in the key-generation algorithm 9.5. This choice has been made to mitigate key-recovery attacks that could leverage on the knowledge of V ( t ) (which is part of the public key and is linked to users’ secret keys).

In Algorithms 9.5, 9.6, and 9.7 we describe in details the key-generation, encryption, and decryption of our variant of the IPFE protocol based on [4] and UOV.

10 Key and ciphertext sizes in the IPFE protocol

The public key pk possessed by Alice is composed by two parts:

  1. a parametric oil–vinegar map F ( t ) = ( f 1 ( t ) , , f m ( t ) ) ;

  2. a parametric linear map V ( t ) .

Recall that the map F ( t ) = ( f 1 ( t ) , , f m ( t ) ) where f k ( t ) = x A ( t ) k x T P is a quadratic form defined by the matrix

A ( t ) k = A ( t ) k A ( t ) k 0 A ( t ) k

with A ( t ) k , A ( t ) k being random matrices whose entries are linear forms in R and A ( t ) k is determined by these matrices and the oil subspace O(t) ⊂ R n . By generating the random matrices A ( t ) k , A ( t ) k (1 ≤ km) using a pseudorandom generator from a public seed, for the public key pk we only need to store the upper triangular matrices A ( t ) k M m ( R ) (1 ≤ km) in addition to the public seed. We recall that the entries of A ( t ) k are cubic polynomials with homogeneous components of degree 2 and 3. Since each element of the finite field F = G F ( q ) is represented by ⌈ log2(q)⌉ bits, each entry of the upper triangular matrix A ( t ) k is represented by the following number of bits

d ( d + 1 ) 2 + d ( d + 1 ) ( d + 2 ) 6 log 2 ( q ) = d ( d + 1 ) ( d + 5 ) 6 log 2 ( q ) ,

so that we have

s i z e ( F ( t ) ) = m 2 ( m + 1 ) 2 d ( d + 1 ) ( d + 5 ) 6 log 2 ( q ) + | seed pub | .

The second part of the public key is V ( t ) . Recall that V ( t ) = i = 1 d t i V i where V i : F F n are randomly generated maps. This implies that it is sufficient to store the seed used. In particular, the set { V i } can be obtained again by using seedpub, which has been already accounted for. Putting everything together we have

s i z e ( p k ) = m 2 ( m + 1 ) 2 d ( d + 1 ) ( d + 5 ) 6 log 2 ( q ) + | seed pub | .

The user secret key usk j owned by Bob is given by a j , A ( a j ) k , A ( a j ) k (1 ≤ km), H(a j ), and V ( a j ) . Using the public seed, Bob can obtain A ( t ) k , A ( t ) k and V ( t ) which can be transformed into A ( a j ) k , A ( a j ) k and V ( a j ) by evaluation. However, the matrix H(t) in the secret key sk must remain unknown to Bob, so the matrix H(a j ) must be explicitly provided to them. We therefore have

s i z e ( u s k j ) = m ( n m ) log 2 ( q ) + | seed pub | .

Note that in Algorithm 9.5 Bob is also provided with the matrices

C ( a ) k = ( A ( a ) k + A ( a ) k T ) H ( a ) T + A k ( a ) 4

aiming to speed up the computation of preimages. In this case the size becomes

( m ( n m ) + m 2 ( n m ) ) log 2 ( q ) + | seed pub | = m ( m + 1 ) ( n m ) log 2 ( q ) + | seed pub | .

Finally, we calculate the size of the plaintext and ciphertext. A plaintext is a vector b = ( b 1 , , b d ) F d , which means it consists of d elements from the field F . We therefore have

s i z e ( b ) = d log 2 ( q ) .

The corresponding ciphertext C T ( t ) ( b ) = ( u ̄ ( t ) , v ̄ ( t ) , c ) consists of the vectors u ̄ ( t ) = ( u ̄ ( t ) 1 , , u ̄ ( t ) m ) = F ( t ) ( u ( t ) ) and v ̄ ( t ) = ( v ̄ ( t ) 1 , , v ̄ ( t ) m ) = F ( t ) ( v ( t ) ) where u ( t ) = V ( t ) ( u ( t ) ) and v(t) = u(t) + c are each quadratic forms in d unknowns. Thus, we have that u ̄ ( t ) k = u ( t ) k A ( t ) k u ( t ) k T R and v ̄ ( t ) k = v ( t ) k A ( t ) k v ( t ) k T R (1 ≤ km) where

A ( t ) k = A ( t ) k A ( t ) k 0 A ( t ) k

and A ( t ) k M n m ( R ) , A ( t ) k M n m × m ( R ) are matrices whose entries are linear forms and A ( t ) k is an upper triangular matrix. Moreover, A ( t ) k M m ( R ) is an upper triangular matrix whose entries are cubic polynomials with homogeneous components of degree 2 and 3. We therefore have that u ̄ ( t ) k , v ̄ ( t ) k are polynomials in d variables of degree 7. We conclude that the size of the ciphertext CT(t)(b) is

s i z e ( C T ( t ) ( b ) ) = ( 2 m d + 7 7 + n ) log 2 ( q ) .

11 Security and parameters

We start by considering the security of [4] specialized with UOV (Algorithms 9.1, 9.2, 9.3, and 9.4). A first issue when studying the security of a Functional Encryption protocol is that such a protocol is naturally exposed to “collusion attacks” where different functional decryptors, different Bobs, agree to share the information available to them. Specifically, the decryptors could exchange their functional keys a and thus the values of the functions F(a, b), in order to determine the plaintext b that Alice has functionally encrypted. This type of attack is particularly risky in the case of IPFE, where different functional keys a 1 , , a l F d determine a system of linear equations in the variables t 1, …, t d of type

a 1 , t = a 1 , b a l , t = a l , b

The plaintext b is clearly one of the solutions of this linear system. It is therefore absolutely essential that the number of functional keys allowed in the protocol is not too high compared to the dimension d of the plaintexts. In particular, if l is less than d, than the linear system is underdetermined. Fortunately, this assumption is not too restrictive in practical applications of IPFE.

To perform a security analysis of an FE protocol, the notion of security commonly employed is the paradigm of “simulation-based security”. Specifically, let b F d be a plaintext generated by a challenger Ch who possesses the public key, and let a 1 , , a l F d be the functional keys owned by an adversary Ad. We can identify the challenger Ch as Alice and the adversary Ad as multiple Bobs who collaborate on a collusion attack.

We denote by Game(0) the so-called “real experiment” of simulation-based security, which is the activity of Ad attempting to distinguish different ciphertexts generated by Ch from different plaintexts.

Now we consider another activity, denoted by Game(1), which we consider intermediate between the real experiment Game(0) and the so-called “ideal experiment” Game(2) of simulation-based security. We will explain later what the activity of Game(2) consists of. Indeed, we recall that security in this paradigm is achieved when Game(0) and Game(2) are computationally indistinguishable by the adversary Ad with only a negligible probability of success.

Starting from the same public key pk, the activity of the challenger Ch is replaced in Game(1) by that of a simulator Sim 1. Given an original plaintext b, the agent Sim 1 generates a distinct plaintext b* ≠ b such that its corresponding ciphertext C T ( t ) ( b * ) = ( u ̄ * ( t ) , v ̄ * ( t ) , c * ) satisfies, for each i = 1, 2, …, l

(1) a i , b = a i , b * .

In other words, Ad observes the same functional decryption for the plaintexts b and b* when using the different functional keys a i it possesses. Hence, functional decryption does not help Ad to distinguish between b and b*. Note that the vector b* can be efficiently computed by Sim 1 from the vectors b and a 1, …, a l by using the linear equations (1).

Assuming that the randomly selected public key pk consists of a generic quadratic map F (t), the ciphertexts CT(t)(b) and CT(t)(b*) generated by the activities of Game(0) and Game(1) respectively, share equal probability within the ciphertext space. Therefore, the adversary Ad is left only to try to compute the plaintexts b and b* in order to distinguish the corresponding ciphertexts. Precisely, if { e k } 1 k d is the canonical basis of the vector space F d , observe that

i u ( e k ) i = e k , b = b k , i u * ( e k ) i = e k , b * = b k * .

In other words, by computing the preimages u ( e k ) F n of the vectors u ̄ ( e k ) F m under the map F ( e k ) (1 ≤ kd), the adversary Ad obtains the plaintext b. In a similar way, Ad can compute b*. Observe that computing a preimage of a generic quadratic map over a finite field is an NP-hard problem. Thus, Ad can distinguish the ciphertexts CT(t)(b) and CT(t)(b*) by computing b and b*, respectively, with a negligible probability of efficiently solving such a problem. We denote this negligible probability by ϵ 1. Using the language of simulation-based security, we then write

| Pr ( GAME ( 1 ) ) Pr ( GAME ( 0 ) ) | ϵ 1 .

Similarly to the activity of Game(1), the ideal experiment Game(2) consists in replacing the challenger Ch with a simulator Sim 2 who computed a third plaintext b** such that, for each i = 1, 2, …, l, we have

a i , b = a i , b * = a i , b * * .

Therefore, the adversary Ad cannot distiguish b, b* and b** using the functional keys he owns. The agent Sim 2 differs from Sim 1 in that the former can use a different public key pk, that is, a distinct polynomial map F (t) from the one used in the real experiment. Since the ciphertext C (t)(b**) is computed by the generic polynomial map F (t), this ciphertext is probabilistically uncorrelated with those generated by Game(0) and Game(1). This implies that the only way to distinguish the outcomes of these activities from that of Game(2) is by determining the plaintexts b, b* and b** in order in order to identify the corresponding ciphertexts. Again, this implies the ability of Ad to solve generic systems of quadratic equations over a finite field, which is a known NP-hard problem.

Consequently, distinguishing Game(2) from activities Game(1) and Game(0) can be achieved by Ad with negligible probability. Specifically, we have

| Pr ( GAME ( 2 ) ) Pr ( GAME ( 1 ) ) | ϵ 2

and thus

| Pr ( GAME ( 2 ) ) Pr ( GAME ( 0 ) ) | | Pr ( GAME ( 2 ) ) Pr ( GAME ( 1 ) ) | + | Pr ( GAME ( 1 ) ) Pr ( GAME ( 0 ) ) | ϵ 1 + ϵ 2 = ϵ

where ϵ is still a negligible probability.

The security of the proposed IPFE scheme (Algorithms 9.5, 9.6, and 9.7) relies on one hand of the security of [4] instantiated with UOV, and on the other hand on the inability of the attacker to determine (part of) Bob’s Oil subspace by looking at the public key V ( t ) . By construction, V ( t ) and O(t) are generated randomly: the only link is that, for any a j in the predetermined set {a 1, …, a s }, V ( a ) is a subspace of Bob’s oil subspace O(a). This implies that, if a ̃ { a 1 , , a s } , then V ( a ̃ ) is a random vector subspace of F n , thus unrelated to the hypothetical corresponding oil subspace O ( a ̃ ) . In other words, an attacker have to guess Bob’s functional key a j , but a wrong guess a ̃ a j will lead to a specialized public key ( A ( a ̃ ) 1 , , A ( a ̃ ) m , V ( a ̃ ) ) where O ( a ̃ ) and V ( a ̃ ) are random and not linked together, thus preventing its ability to decrypt due to the security of UOV. To achieve the required security it is necessary that the number s of valid functional keys (those associated to UOV secret keys) is negligible with respect to q d , for example

q d s 2 λ

with λ the security parameter. Note that this assumption is in line with the already discussed limitation on the number of functional keys to resist against collusion attacks.

In this case, a functional key recovery attack implies the solution of nonlinear system in d + n variables of degree 7 obtained by searching for zeros of the map F ( t ) V ( t ) ( x ) .

In Table 1 we show an example of parameters set corresponding to the instantiation UOV-Ip.

Table 1:

Parameters.

λ d n m k q CT(t)(b)
128 20 112 44 19 20 256 78.1MB

As we can see from Table 1, the main open problem is to determine a more efficient encryption algorithm. In particular, the large ciphertext is a set of polynomial of degree 7 in d variables, and a possibility is to design a method to lower this degree. For example, with the presented parameters, by lowering the degree from 7 to 5 we would obtain a compression of the ciphertext of the order of 94 %, resulting, for the parameters choices in Table 1, in a ciphertext of 4.7MB.

A possibility is to change the key-generation algorithm to obtain a linear (in t) public key F (t). In Algorithm 11.1 we propose a variant of Algorithm 9.5 with this feature, whose security is however still under investigation.

Observe that in Algorithm 11.1 the public key is linear in t. By using a public key obtained from Algorithm 11.1 instead of 9.5, Alice will obtain a degree 5 ciphertext, thus mitigating the computational cost and memory requirements of both our encryption and decryption algorithms. We remark however that, even if from a security point of view this last approach seems to be comparable with our proposal, more analyses should be conducted to exclude any vulnerability.

12 Conclusions and further directions

In this paper we discuss the properties and limitations of inner product functional encryption (IPFE) protocols using a state-of-art version of the UOV digital signature. Even though this approach improves the key generation and encryption–decryption algorithms, as well as their security foundations, the decryption algorithm remains exponential. We then propose a variant to mitigate this limitation, whose main drawback is the dimension of the ciphertext. We conclude by proposing a modification which would allow for a more compact public key and smaller ciphertext, whose security is however still under investigation.


Corresponding author: Roberto La Scala, Dipartimento di Matematica, Università degli Studi di Bari “Aldo Moro”, Via Orabona 4, 70125, Bari, Italy, E-mail: 

Funding source: Università degli Studi di Bari

Award Identifier / Grant number: Fondo acquisto e manutenzione attrezzature per la

Award Identifier / Grant number: PNRR National Center for HPC, Big Data and Quantum

Award Identifier / Grant number: PNRR Security and Rights in the CyberSpace

Acknowledgments

The authors would like to thank the reviewers for their valuable comments and suggestions, which have significantly contributed to improving the clarity and readability of the manuscript.

  1. Author contribution: All authors accept full responsibility for the entire content of this manuscript, have reviewed all results, approved the final version, and consented to its submission to the journal. The manuscript was prepared collaboratively by all authors.

  2. Conflict of interest: Authors state no conflict of interest.

  3. Research funding: The first author acknowledges the partial support of PNRR MUR projects “Security and Rights in the CyberSpace”, Grant ref. CUP H93C22000620001, Code PE00000014, Spoke 3, and “National Center for HPC, Big Data and Quantum Computing”, Grant ref. CUP H93C22000450007, Code CN00000013, Spoke 10. The same author was co-funded by PRIN MUR project “Algebraic Methods in Cryptanalysis”, Grant ref. CUP H53C24000830006, Code 2022RFAZCJ, and by Università degli Studi di Bari, “Fondo acquisto e manutenzione attrezzature per la ricerca”, Grant ref. DR 3191. Both authors acknowledge membership in INdAM – GNSAGA and UMI – Crittografia e Codici.

References

1. Boneh, D, Sahai, A, Waters, B. Functional encryption: definitions and challenges. In Theory of cryptography. Lecture Notes in Comput. Sci., 6597. Heidelberg: Springer; 2011:253–73 pp.10.1007/978-3-642-19571-6_16Suche in Google Scholar

2. Mascia, C, Sala, M, Villa, I. A survey on functional encryption. Adv Math Commun 2023;17:1251–89. https://doi.org/10.3934/amc.2021049.Suche in Google Scholar

3. Gentry, C. Homomorphic encryption: a mathematical survey. Proc Int Cong Math 2022;2:956–1006. https://doi.org/10.4171/ICM2022/165.Suche in Google Scholar

4. Debnath, SK, Mesnager, S, Dey, K, Kundu, N. Post-quantum secure inner product functional encryption using multivariate public key cryptography. Mediterr J Math 2021;18, Paper No. 204:15. https://doi.org/10.1007/s00009-021-01841-2.Suche in Google Scholar

5. Beullens, W, Chen, M-S, Ding, J, Gong, B, Kannwischer, MJ, Patarin, J, et al.. UOV: unbalanced oil and vinegar algorithm specifications and supporting documentation, Version 1.0; 2023. https://csrc.nist.gov/csrc/media/Projects/pqc-dig-sig/documents/round-1/spec-files/UOV-spec-web.pdf.Suche in Google Scholar

6. Beullens, W, Chen, M-S, Hung, S-H, Kannwischer, MJ, Peng, B-Y, Shih, C-J, et al.. Oil and vinegar: modern parameters and implementations. IACR Trans Cryptogr Hardw Embed Syst 2023;2023:321–65. https://doi.org/10.46586/tches.v2023.i3.321-365.Suche in Google Scholar

7. Gringiani, A. Multivariate-based cryptography: a revision of MAYO parameters [Master thesis]. Trento: University of Trento; 2022.Suche in Google Scholar

8. Kipnis, A, Patarin, J, Goubin, L. Unbalanced oil and vinegar signature schemes. In: Stern, J, editor. Advances in Cryptology – EUROCRYPT ’99. EUROCRYPT 1999. Lecture Notes in Computer Science. Berlin, Heidelberg: Springer; 1999, vol 1592:206–22 pp.10.1007/3-540-48910-X_15Suche in Google Scholar

9. La Scala, R, Pintore, F, Tiwari, SK, Visconti, A. A multistep strategy for polynomial system solving over finite fields and a new algebraic attack on the stream cipher trivium. Finite Fields Appl 2024;98, Paper No. 102452:33. https://doi.org/10.1016/j.ffa.2024.102452.Suche in Google Scholar

10. Ghorpade, SR. A note on Nullstellensatz over finite fields. In: Contributions in Algebra and Algebraic Geometry, Contemp. Math., 738. Providence, RI: Amer. Math. Soc.; 2019:23–32 pp.10.1090/conm/738/14876Suche in Google Scholar

11. Garey, M R, David, S J. Computers and intractability. New York: Wh Freeman; 2002, vol 29.Suche in Google Scholar

12. Kipnis, A, Shamir, A. Cryptanalysis of the oil and vinegar signature scheme. In: Advances in Cryptology – CRYPTO ’98, Lecture Notes in Comput. Sci., 1462. Berlin: Springer-Verlag; 1998:257–66 pp.10.1007/BFb0055733Suche in Google Scholar

Received: 2024-06-20
Accepted: 2025-09-12
Published Online: 2025-11-21

© 2025 the author(s), published by De Gruyter, Berlin/Boston

This work is licensed under the Creative Commons Attribution 4.0 International License.

Heruntergeladen am 22.11.2025 von https://www.degruyterbrill.com/document/doi/10.1515/jmc-2024-0026/html
Button zum nach oben scrollen