Next Article in Journal
Intelligent Stretch Optimization in Information Centric Networking-Based Tactile Internet Applications
Previous Article in Journal
Case Study of Expected Loss Failure Mode and Effect Analysis Model Based on Maintenance Data
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

HORSIC+: An Efficient Post-Quantum Few-Time Signature Scheme

1
Department of Computer and Information Security, Daejeon University, Daejeon 34520, Korea
2
Department of Computer Science, Hanyang University, Seoul 04763, Korea
*
Author to whom correspondence should be addressed.
Appl. Sci. 2021, 11(16), 7350; https://doi.org/10.3390/app11167350
Submission received: 14 June 2021 / Revised: 6 August 2021 / Accepted: 8 August 2021 / Published: 10 August 2021
(This article belongs to the Section Computing and Artificial Intelligence)

Abstract

:
It is well known that conventional digital signature algorithms such as RSA and ECDSA are vulnerable to quantum computing attacks. Hash-based signature schemes are attractive as post-quantum signature schemes in that it is possible to calculate the quantitative security level and the security is proven. SPHINCS is a stateless hash-based signature scheme and introduces HORST few-time signature scheme which is an improvement of HORS. However, HORST as well as HORS suffers from pretty large signature sizes. HORSIC is proposed to reduce the signature size, yet does not provide in-depth security analysis. In this paper, we propose HORSIC+, which is an improvement of HORSIC. HORSIC+ differs from HORSIC in that HORSIC+ does not apply f as a plain function to the signature key, but uses a member of a function family. In addition, HORSIC+ uses the chaining function similar to W-OTS + . These enable the strict security proof without the need for the used function family to be a permutation or collision resistant. HORSIC+ is existentially unforgeable under chosen message attacks, assuming a second-preimage resistant family of undetectable one-way functions and cryptographic hash functions in the random oracle model. HORSIC+ reduces the signature size by as much as 37.5% or 18.75% compared to HORS and by as much as 61.5% or 45.8% compared to HORST for the same security level.

1. Introduction

Nowadays, digital signatures are widely used in various security applications to provide authentication, integrity, and non-repudiation. RSA [1] and ECDSA [2] are two of the most widely used digital signature schemes. The security of RSA and ECDSA is based on the difficulty of factoring and computing discrete logarithms, respectively. However, in 1994, Shor proposed a polynomial-time quantum algorithm for integer factorization and discrete logarithm problems [3]. If a large-scale quantum computer is built, RSA and ECDSA cannot be used anymore. Thus, alternative digital signature schemes which are resilient to attacks by quantum computers are needed. They are called post-quantum cryptography [4,5].
Various post-quantum signature schemes such as lattice-based [6], multivariate [7], code-based [8], and hash-based have been studied. Lattice-based signature schemes are relatively fast with a reasonably small signature size. However, it is difficult to calculate the quantitative security level and the security is not proven against quantum adversaries. Multivariate signature schemes are relatively fast with an extremely small signature size. However, it is also difficult to estimate the security of multivariate signature schemes against quantum attacks. Code-based signature schemes have a reasonably small signature size and it is possible to calculate the quantitative security level to some extent. However, code-based signature schemes need too large keys to be secure against quantum attacks. Hash-based signature schemes receive a lot of attention in that it is possible to calculate the quantitative security level and the security is also proven [9]. Moreover, hash-based signature schemes are considered to be a good candidate for the security of IoT devices due to their simplicity of implementation and customization [10,11].
The hash-based signature schemes XMSS (eXtended Merkle Signature Scheme) [12] and SPHINCS [13] were introduced in 2011 and 2015, respectively. XMSS is stateful, meaning that the signer and the verifier have to maintain their own state information, while SPHINCS is stateless. SPHINCS introduces a few-time signature scheme named HORST (HORS with Trees). HORST is an improvement of a few-time signature scheme HORS (Hash to Obtain Random Subset) [14]. In the context of SPHINCS, each full signature should contain not only a HORST signature but also a HORST public key. HORST uses a Merkle tree to reduce the public key size to a single hash value. However, HORST as well as HORS suffers from pretty large signature sizes.
HORSIC (Hash to Obtain Random Subset and Integer Composition) [15] is a few-time signature scheme for broadcast authentication in wireless sensor networks. HORSIC reduces the signature size compared to HORS and HORST. Whereas HORS and HORST use only a cryptographic hash function H, making it infeasible to find two different messages that will produce the same k-element subset, HORSIC decreases the probability of forgery by using another cryptographic hash function G and a bijective function C k , z as well as H to make it infeasible to find two different messages that will produce the same k-part integer composition as well as the same k-element subset. The security analysis of HORSIC is performed on the unrealistic assumption that it is impossible for an adversary to invert the one-way permutation f. In fact, the probability of inverting f is not zero, but negligible. The security analysis should consider the probability of inverting f.
This paper proposes HORSIC+, an improvement of HORSIC. HORSIC+ differs from HORSIC in that HORSIC+ does not apply f as a plain function to the signature key, but uses a member of a function family which is second-preimage resistant, undetectable, and one-way. In addition, HORSIC+ uses the chaining function c s ( x , r ) similar to W-OTS + [16]. These enable the strict security proof without the need for the used function family to be a permutation or collision resistant. We prove HORSIC+ is existentially unforgeable under chosen message attacks, if the used function family is a second-preimage resistant family of undetectable one-way functions and H and G are cryptographic hash functions in the random oracle model. HORSIC+ reduces the signature size by as much as 37.5% or 18.75% compared to HORS and by as much as 61.5% or 45.8% compared to HORST for the same security level.
The rest of the paper is organized as follows. Section 2 introduces some preliminaries and presents two signature schemes that HORSIC+ is based on. Section 3 describes the details of the proposed scheme HORSIC+. Section 4 discusses the security of HORSIC+ including a comparison with HORS and HORST. Section 5 presents the conclusions.

2. Preliminaries and Related Works

In this section, we discuss two signature schemes that HORSIC+ is based on. One is the Winternitz one-time signature scheme (W-OTS) [17], and the other is HORSIC [15]. We begin by introducing some preliminaries and then describe W-OTS and HORSIC.

2.1. Preliminaries

We start this subsection with several definitions and notions related to digital signature schemes and function families [16,18,19]. From now on, we write x $ S if x is chosen randomly from the finite set S using a uniform distribution.
Definition 1.
Let M be a message space. A digital signature scheme Dss = ( Kg , Sign , Vf ) is a triple of probabilistic polynomial time algorithms:
  • Kg ( 1 n ) takes as input a security parameter 1 n and outputs a signature key X and a verification key Y;
  • Sign ( X , M ) outputs a signature σ under the signature key X for message M M ;
  • Vf ( Y , M , σ ) outputs 1 iff σ is a valid signature on M under the verification key Y;
such that ( X , Y ) Kg ( 1 n ) , ( M M ) : Vf ( Y , M , Sign ( X , M ) ) = 1 .
Let Dss ( 1 n ) be a digital signature scheme with security parameter n. The standard definition of security for digital signature schemes is existential unforgeability under adaptive chosen message attack (EU-CMA). EU-CMA is defined using the following experiment.
Experiment Exp Dss ( 1 n ) EU CMA ( A )
( X , Y ) Kg ( 1 n )
( M , σ ) A Sign ( X , · ) ( Y )
Let { ( M i , σ i ) } 1 q be the query-answer pairs of Sign ( X , · ) .
Return 1 iff Vf ( Y , M , σ ) = 1 and M { M i } 1 q .
The success probability of an adversary A in the above experiment can be written by:
Succ Dss ( 1 n ) EU CMA ( A ) = Pr [ Exp Dss ( 1 n ) EU CMA ( A ) = 1 ] .
Definition 2.
Let n , T , q N and T , q = p o l y ( n ) . A digital signature scheme Dss ( 1 n ) is EU-CMA secure if the success probability of any adversary A running in time T and making at most q queries to the oracle Sign in the above experiment is negligible in n:
InSec EU CMA ( Dss ( 1 n ) ; T , q ) = d e f max A { Succ Dss ( 1 n ) EU CMA ( A ) } = n e g l ( n ) .
We then discuss several security properties for function families: preimage resistance (one-wayness, OW), second preimage resistance (SPR), collision resistance (CR), and undetectability (UD). Let n N be the security parameter and
F n = { f κ : { 0 , 1 } n { 0 , 1 } n κ K }
be a family of functions. The elements of K are called keys and each key κ specifies a particular function f κ in the family F n .
A function is preimage resistant (or one-way) if it is easy to compute but difficult to invert. The success probability of an adversary against the preimage resistance of F n is
Succ F n O W ( A ) = P r [ κ $ K ; x $ { 0 , 1 } n , y f κ ( x ) ; x $ A ( κ , y ) : y = f κ ( x ) ] .
Definition 3.
We call F n preimage resistant (or one-way), if the success probability of any adversary A running in time T against the preimage resistance of F n is negligible in n:
InSec OW ( F n ; T ) = d e f max A { Succ F n OW ( A ) } = n e g l ( n ) .
A function is second preimage resistant if, given some x in the domain, it is difficult to find some x unequal to x that maps the same value. The success probability of an adversary against the second preimage resistance of F n is
Succ F n S P R ( A ) = P r [ κ $ K ; x $ { 0 , 1 } n ; x $ A ( κ , x ) : x x f κ ( x ) = f κ ( x ) ] .
Definition 4.
We call F n second preimage resistant, if the success probability of any adversary A running in time T against the second preimage resistance of F n is negligible in n:
InSec SPR ( F n ; T ) = d e f max A { Succ F n SPR ( A ) } = n e g l ( n ) .
A function is collision resistant if it is hard to find any pair ( x , x ) in the domain that maps to the same value. The success probability of an adversary against the collision resistance of F n is
Succ F n C R ( A ) = P r [ κ $ K ; ( x , x ) $ A ( κ ) : x x f κ ( x ) = f κ ( x ) ] .
Definition 5.
We call F n collision resistant, if the success probability of any adversary A running in time T against the collision resistance of F n is negligible in n:
InSec CR ( F n ; T ) = d e f max A { Succ F n CR ( A ) } = n e g l ( n ) .
To define the undetectability property, we need to define the (distinguishing) advantage of an adversary.
Definition 6.
Let X and Y be two distributions. The advantage Adv X , Y ( A ) of an adversary A in distinguishing between these two distributions is defined as
Adv X , Y ( A ) = Pr [ 1 A ( X ) ] Pr [ 1 A ( Y ) ] .
A function family is undetectable if no adversary can distinguish its outputs from uniformly random values. Consider two distributions D UD , U and D UD , F n over { 0 , 1 } n × K . A sample ( u , κ ) from the first distribution D UD , U is obtained in the following way: u $ { 0 , 1 } n , κ $ K . A sample ( u , κ ) from the second distribution D UD , F n is obtained in the following way: x $ { 0 , 1 } n , κ $ K , and then calculating u = f κ ( x ) . The advantage of an adversary against the undetectability of F n is defined as the distinguishing advantage for these two distributions:
Adv F n UD ( A ) = Adv D UD , U , D UD , F n ( A ) .
Definition 7.
We call F n undetectable, if the advantage of any adversary A running in time T against the undetectability of F n is negligible in n:
InSec UD ( F n ; T ) = d e f max A { Adv F n UD ( A ) } = n e g l ( n ) .
Table 1 summarizes the best known generic attacks against different functions given different environments [20]. Using generic(brute-force) classical attacks, one requires Θ ( 2 n ) evaluations of the function to compute preimages or second preimages. Because of the birthday paradox, one requires Θ ( 2 n / 2 ) evaluations of the function to find a collision with probability greater than 1 2 [21]. Using generic quantum attacks such as Grover’s algorithm [9], one requires Θ ( 2 n / 2 ) evaluations of the function to compute preimages or second preimages and Θ ( 2 n / 3 ) evaluations of the function to find a collision [22].

2.2. Winternitz One-Time Signature Scheme (W-OTS)

In this subsection, we discuss W-OTS and its two variants, W-OTS $ and W-OTS + .

2.2.1. W-OTS

W-OTS produces much shorter signatures than Lamport-Diffie one-time signature scheme [23] by iteratively applying a function on a secret key, whereas the number of iterations depends on the signed message [17]. W-OTS uses a one-way function
f : { 0 , 1 } n { 0 , 1 } n .
Key generation: A Winternitz parameter w, which is the number of bits to be signed simultaneously is chosen. In the following, we restrict the length of the message to be signed to m bits. It is straightforward to generalize to arbitrary sized messages by using a collision resistant hash function.
The signature key X consists of l bit strings of length n chosen uniformly at random,
X = ( x 1 , x 2 , , x l ) $ { 0 , 1 } l n ,
where l is computed as follows.
l 1 = m w , l 2 = log 2 l 1 + 1 + w w , l = l 1 + l 2 .
The chaining function c s ( x ) for W-OTS is defined as follows.
c s ( x ) = x , if s = 0 f ( c s 1 ( x ) ) if 1 s 2 w 1
The verification key Y is calculated by applying the chaining function to each x i in the signature key 2 w 1 times. Thus we have
Y = ( y 1 , y 2 , , y l ) = ( c 2 w 1 ( x 1 ) , c 2 w 1 ( x 2 ) , , c 2 w 1 ( x l ) ) .
Signature generation: A message M is split into l 1 bit strings of length w and each bit string is converted to an integer in base-w. So we have
M = ( m 1 , m 2 , , m l 1 )
where
m i { 0 , 1 , , 2 w 1 } , 1 i l 1 .
Then the checksum C is calculated as follows.
C = i = 1 l 1 ( 2 w m i )
The checksum C is converted to base w. The base w representation of the checksum C is C = ( c 1 , c 2 , , c l 2 ) . The signature of M is computed as
σ = ( σ 1 , σ 2 , , σ l 1 , σ l 1 + 1 , σ l 1 + 2 , , σ l ) = ( c m 1 ( x 1 ) , c m 2 ( x 2 ) , , c m l 1 ( x l 1 ) , c c 1 ( x l 1 + 1 ) , c c 2 ( x l 1 + 2 ) , , c c l 2 ( x l ) )
Signature verification: For the verification of the signature σ = ( σ 1 , σ 2 , , σ l ) , the base-w strings M = ( m 1 , m 2 , , m l 1 ) and C = ( c 1 , c 2 , , c l 2 ) are calculated as described above. Then we check if
( c 2 w 1 m 1 ( σ 1 ) , , c 2 w 1 m l 1 ( σ l 1 ) , c 2 w 1 c 1 ( σ l 1 + 1 ) , , c 2 w 1 c l 2 ( σ l ) ) = ( y 1 , , y l 1 , y l 1 + 1 , , y l )
It is proved that W-OTS is strongly unforgeable under chosen message attacks if F n is a collision resistant family of undetectable one-way functions [20].

2.2.2. W-OTS $

W-OTS $ differs from W-OTS in that W-OTS $ uses a family of pseudo random functions instead of a one-way function [24]. The chaining function c s ( x ) for W-OTS $ is defined as follows.
c s ( x ) = x , if s = 0 f c s 1 ( x ) ( r ) if 1 s 2 w 1
It is proved that W-OTS $ is existentially unforgeable under chosen message attacks if F n is a pseudorandom function family [24].

2.2.3. W-OTS +

W-OTS + uses a second preimage resistant family of undetectable one-way functions [16]. It uses bitmasks to replace the collision resistant one-way function families. The idea of using bitmasks comes from the “XOR tree” [25]. The chaining function c s ( x , r ) for W-OTS + is defined as follows.
c s ( x , r ) = x , i f s = 0 f κ ( c s 1 ( x , r ) r s ) i f 1 s 2 w 1
where the bitmasks r consist of 2 w 1 bit strings of length n chosen uniformly at random,
r = ( r 1 , r 2 , , r 2 w 1 ) $ { 0 , 1 } ( 2 w 1 , n ) .
It is proved that W-OTS + is strongly unforgeable under chosen message attacks if F n is a second preimage resistant family of undetectable one-way functions [16].

2.3. HORSIC

HORSIC [15] is basically an extension of HORS [14]. Whereas HORS uses only a cryptographic hash function H, making it infeasible to find two different messages that will produce the same k-element subset, HORSIC decreases the probability of forgery by using another cryptographic hash function G and a bijective function C k , z as well as H to make it infeasible to find two different messages that will produce the same k-part integer composition as well as the same k-element subset.
Let f : { 0 , 1 } n { 0 , 1 } n be a one-way permutation operating on n-bit strings. Let H : { 0 , 1 } * { 0 , 1 } k log 2 t and G : { 0 , 1 } * 0 , z 1 k 1 be cryptographic hash functions in the random oracle model [26]. t, k, and z are security parameters. The public key size is linear in t, and the signature size is linear in k.
HORSIC uses a bijective function C k , z that, on input g, where 0 g < z 1 k 1 , outputs the g-th solution of the following equation:
z = i = 1 k a i , a i is an integer such that a i 1 .
Note that the number of solutions to the above equation, which is the number of compositions of z into exactly k parts, is denoted by the binomial coefficient z 1 k 1 [27]. For example, suppose k = 3 and z = 5 . The equation a 1 + a 2 + a 3 = 5 has 6 solutions ( z 1 k 1 = 5 1 3 1 = 4 2 = 6 ) : C 3 , 5 ( 0 ) = ( 1 , 1 , 3 ) , C 3 , 5 ( 1 ) = ( 1 , 2 , 2 ) , C 3 , 5 ( 2 ) = ( 1 , 3 , 1 ) , C 3 , 5 ( 3 ) = ( 2 , 1 , 2 ) , C 3 , 5 ( 4 ) = ( 2 , 2 , 1 ) , and C 3 , 5 ( 5 ) = ( 3 , 1 , 1 ) .
Algorithm 1 represents the key generation of HORSIC. If first generates t random n-bit numbers and then creates a one-way chain of length w for each n-bit number.
Algorithm 1: Key generation of HORSIC ( K g H O R S I C ( ) )
System Parameters: Parameters n, t, k, z, and w
Output: Signature key X and verification key Y
1: Choose X = ( x 1 , x 2 , , x t ) $ { 0 , 1 } ( t , n )
2: Compute Y = ( y 1 , y 2 , , y t ) = ( f w ( x 1 ) , f w ( x 2 ) , , f w ( x t ) )
3: return ( X , Y )
Algorithm 2 represents the signing of HORSIC. HORSIC uses a bijective function C k , z and two cryptographic hash functions H and G. A cryptographic hash function H is used to map each message M to a k-element ordered subset ( i 1 , i 2 , , i k ) of a t-element set { 1 , 2 , , t } . A counter c t r is used to ensure that all i j are distinct. A cryptographic hash function G and a bijective function C k , z are used to map each message M to a k-part integer composition ( a 1 , a 2 , , a k ) of z.
Algorithm 2: Signing of HORSIC ( S i g n H O R S I C ( X , M ) )
System Parameters: Parameters n, t, k, z, and w
Input: Signature key X and message M
Output: Signature σ
1: Compute g = G ( M )
2: Compute ( a 1 , a 2 , , a k ) = C k , z ( g )
3: Set c t r = 0
4: Compute h = H ( M c t r )
5: Split h into k pieces ( h 1 , h 2 , , h k ) of length log 2 t bits each
6: Interpret each h j as an integer i j for all j { 1 , 2 , , k }
7: if there exist p and q with p , q { 1 , 2 , , k } such that i p = i q and p q then
8:         c t r = c t r + 1 and go to Step 4
9: Compute s i g j = f w a j ( x i j ) for all j { 1 , 2 , , k }
10: return σ = ( c t r , s i g 1 , s i g 2 , , s i g k )
Algorithm 3 represents the verification of HORSIC. Each s i g j is verified by applying the one-way permutation a j times and comparing it with the verification key.
Algorithm 3: Verification of HORSIC ( V f H O R S I C ( Y , M , σ ) )
System Parameters: Parameters n, t, k, z, and w
Input: Verification key Y, message M, and signature σ
Output: “accept” or “reject”
1: Compute g = G ( M )
2: Compute ( a 1 , a 2 , , a k ) = C k , z ( g )
3: Compute h = H ( M c t r )
4: Split h into k pieces ( h 1 , h 2 , , h k ) of length log 2 t bits each
5: Interpret each h j as an integer i j for all j { 1 , 2 , , k }
6: if there exist p and q with p , q { 1 , 2 , , k } such that i p = i q and p q  then
7:     return “reject”
8: if there exist j { 1 , 2 , , k } such that f a j ( s i g j ) y i j  then
9:     return “reject”
10: return “accept”
The probability of a forgery for HORSIC is k ! ( k 1 ) ! ( z k ) ! t k ( z 1 ) ! [15]. Note that it does not depend on the security parameter n. The security analysis of HORSIC is performed on the unrealistic assumption that it is impossible for an adversary to invert the one-way permutation f. In fact, the probability of inverting f is not zero, but negligible. The security analysis should consider the probability of inverting f. Moreover, HORSIC requires f to be a one-way permutation. Whereas one-way functions can be based on various assumptions, candidate one-way permutation families are remarkably rare [28].

3. The HORSIC+ Signature Scheme

In this section, we describe HORSIC+ focusing on the differences with HORSIC. Firstly, HORSIC+ does not apply f as a plain function to the signature key, but uses a member of a function family. Let F n = { f κ : { 0 , 1 } n { 0 , 1 } n κ K } be a family of functions which is second-preimage resistant, undetectable and one-way. The function key κ $ K specifies a particular function f κ in the family F n . The function key κ is chosen at random at key generation time and is the same for all function calls. In addition, HORSIC+ uses the chaining function c s ( x , r ) similar to W-OTS + [16]. It enables the strict security proof without the need for the used function family to be collision resistant.
c s ( x , r ) = x , if s = 0 f κ ( c s 1 ( x , r ) r s ) if 1 s w
where bitmasks r is defined as
r = ( r 1 , r 2 , , r w ) { 0 , 1 } ( w , n )
We denote r a , b as the substring ( r a , , r b ) of r . We also define r a , b to be the empty string when a > b .
Let H : { 0 , 1 } * { 0 , 1 } k log 2 t and G : { 0 , 1 } * 0 , z 1 k 1 be cryptographic hash functions in the random oracle model. HORSIC+ uses a bijective function C k , z same as HORSIC. Algorithm 4 describes the implementation of the function C k , z ( g ) . It is based on the following equation:
z 1 k 1 = z 2 k 2 + z 3 k 2 + + k 2 k 2 = j = 1 z k + 1 z 1 j k 2
In Equation (29), z 2 k 2 , z 3 k 2 and k 2 k 2 are the number of solutions when a 1 is 1, 2 and z k + 1 , respectively. First, Algorithm 4 checks whether g < z 2 k 2 . If so, a 1 = 1 and z 1 = i = 2 k a i . If not, Algorithm 4 checks whether g < z 2 k 2 + z 3 k 2 . If so, a 1 = 2 and z 2 = i = 2 k a i , and so on.
Algorithm 4: Implementation of the function C k , z ( g )
System Parameters: Parameters k and z where k z
Input: g where 0 g < z 1 k 1
Output: ( a 1 , a 2 , , a k )
1: s = 0 , r = k
2: for i = 1 to k 2  do
3:     for j = 1 to z r + 1  do
4:         if g < s + z 1 j r 2 then
5:              a i = j , r = r 1 , z = z j
6:             break
7:          s = s + z 1 j r 2
8: a k 1 = g s + 1 , a k = z a k 1
Algorithm 5 represents the key generation of HORSIC+. It first chooses t and wn-bit strings uniformly at random. The first t bit strings are used as the signature key and the remaining w bit strings are used as the bitmasks r = ( r 1 , r 2 , , r w ) . Then it also chooses a function key κ $ K . The function key κ specifies a particular function f κ in the family F n . It is important to note that the verification key Y includes ( κ , r ) and thus known to everybody.
Algorithm 5: Key generation of HORSIC+ ( K g H O R S I C + ( ) )
System Parameters: Parameters n, t, k, z, and w
Output: Signature key X and verification key Y
1: Choose X = ( x 1 , x 2 , , x t ) $ { 0 , 1 } ( t , n )
2: Choose r = ( r 1 , r 2 , , r w ) $ { 0 , 1 } ( w , n )
3: Choose κ $ K
4: Compute Y = ( y 0 , y 1 , y 2 , , y t ) = ( ( κ , r ) , c w ( x 1 , r ) , c w ( x 2 , r ) , , c w ( x t , r ) )
5: return ( X , Y )
Figure 1 and Algorithm 6 represent the signing of HORSIC+. HORSIC+ uses a bijective function C k , z and two cryptographic hash functions H and G. A cryptographic hash function H is used to map each message M to a k-element ordered subset ( i 1 , i 2 , , i k ) of a t-element set { 1 , 2 , , t } . A counter c t r is used to ensure that all i j are distinct. A cryptographic hash function G and a bijective function C k , z are used to map each message M to a k-part integer composition ( a 1 , a 2 , , a k ) of z. Each s i g j is generated by applying the chaining function w a j times on x i j .
Algorithm 6: Signing of HORSIC+ ( S i g n H O R S I C + ( X , M , κ , r ) )
System Parameters: Parameters n, t, k, z, and w
Input: Signature key X, message M, function key κ , and bitmasks r
Output: Signature σ
1: Compute g = G ( M )
2: Compute ( a 1 , a 2 , , a k ) = C k , z ( g )
3: Set c t r = 0
4: Compute h = H ( M c t r )
5: Split h into k pieces ( h 1 , h 2 , , h k ) of length log 2 t bits each
6: Interpret each h j as an integer i j for all j { 1 , 2 , , k }
7: if there exist p and q with p , q { 1 , 2 , , k } such that i p = i q and p q  then
8:     c t r = c t r + 1 and go to Step 4
9: Compute s i g j = c w a j ( x i j , r ) for all j { 1 , 2 , , k }
10: return σ = ( c t r , s i g 1 , s i g 2 , , s i g k )
Algorithm 7 represents the verification of HORSIC+. Each s i g j is verified by applying the chaining function a j times and comparing it with the verification key.
Algorithm 7: Verification of HORSIC+ ( V f H O R S I C + ( Y , M , σ ) )
System Parameters: Parameters n, t, k, z, and w
Input: Verification key Y, message M, and signature σ
Output: “accept” or “reject”
1: Compute g = G ( M )
2: Compute ( a 1 , a 2 , , a k ) = C k , z ( g )
3: Compute h = H ( M c t r )
4: Split h into k pieces ( h 1 , h 2 , , h k ) of length log 2 t bits each
5: Interpret each h j as an integer i j for all j { 1 , 2 , , k }
6: if there exist p and q with p , q { 1 , 2 , , k } such that i p = i q and p q  then
7:     return “reject”
8: if there exist j { 1 , 2 , , k } such that c a j ( s i g j , r w a j + 1 , w ) y i j  then
9:    return “reject”
10: return “accept”

4. Analysis

In this section, we analyze the security of HORSIC+ and calculate its security level. We also compare HORSIC+ with HORS and HORST for the same security levels.

4.1. Security Analysis

In this subsection, we analyze the security of HORSIC+. We prove HORSIC+ is existentially unforgeable under chosen message attacks, if the used function family F n is a second-preimage resistant family of undetectable one-way functions and H and G are cryptographic hash functions in the random oracle model.
Theorem 1.
Suppose F n = { f κ : { 0 , 1 } n { 0 , 1 } n κ K } is a second-preimage resistant, undetectable one-way function family and H and G are cryptographic hash functions in the random oracle model. Then the insecurity of HORSIC+ against an EU-CMA attack is bounded by
InSec EU CMA ( HORSIC + ( 1 n , t , k , z , w ) ; T , 1 ) max { T · k ! ( k 1 ) ! ( z k ) ! t k ( z 1 ) ! , w · InSec UD ( F n ; T ) + w t · max { InSec OW ( F n ; T ) , w · InSec SPR ( F n ; T ) } }
with the time T = T + ( t + 2 k ) w and T = T + ( t + 2 k + 1 ) w 1 .
Proof of Theorem 1. 
The proof is provided in Appendix A.    □

4.2. Security Level

In this subsection, we calculate the security level of HORSIC+ using Theorem 1. According to [29], HORSIC+ has security level b if a successful attack on HORSIC+ is expected to require 2 b 1 evaluations of functions from F n on average. The security level of HORSIC+ can be calculated by finding a lower bound for T such that 1 2 InSec EU CMA ( HORSIC + ( 1 n , t , k , z , w ) ; T , 1 ) .
Table 1 in Section 2.1 and [20] can be used to compute the insecurity of F n under generic attacks:
InSec OW ( F n ; T ) = InSec SPR ( F n ; T ) = InSec UD ( F n ; T ) = T 2 n .
From now on, we assume T = T = T , since ( t + 2 k ) w and ( t + 2 k + 1 ) w 1 are negligible when compared to the value T. We calculate the lower bound on T.
1 2 InSec EU CMA ( HORSIC + ( 1 n , t , k , z , w ) ; T , 1 ) max { T · k ! ( k 1 ) ! ( z k ) ! t k ( z 1 ) ! , w · T 2 n + w t · max { T 2 n , w · T 2 n } } = max { T · k ! ( k 1 ) ! ( z k ) ! t k ( z 1 ) ! , w T 2 n + w 2 t T 2 n } = T · max { k ! ( k 1 ) ! ( z k ) ! t k ( z 1 ) ! , w 2 t + w 2 n } .
Solving this for T gives us
T 1 2 · min { t k ( z 1 ) ! k ! ( k 1 ) ! ( z k ) ! , 2 n w 2 t + w } = 2 min { log 2 ( t k ( z 1 ) ! k ! ( k 1 ) ! ( z k ) ! ) , n log 2 ( w 2 t + w ) } 1
So, we can obtain the security level b for HORSIC+:
b min { log 2 ( t k ( z 1 ) ! k ! ( k 1 ) ! ( z k ) ! ) , n log 2 ( w 2 t + w ) } .

4.3. Comparison with HORS and HORST

In this subsection, we compare HORSIC+ with HORS and HORST for the same security levels. Since the security level of HORS is the same as that of HORST with the same parameters, we refer to HORS and HORST together as HORS/HORST.

4.3.1. Security Parameters for HORSIC+

In this sub-subsection, we choose security parameters for HORSIC+ having the same security levels as HORS/HORST. Figure 2 shows the security level of HORSIC+ for various choices of k and HORS/HORST for signing a single message. In this case, we set z = w + k 1 for HORSIC+. The X-axis represents the parameter w, which affects the computational cost. The Y-axis corresponds to the security level.
The parameters for HORS/HORST in Figure 2 are chosen from (a) HORS [14] and (b) HORST as used in SPHINCS [13]. The original HORS scheme recommends to use SHA-1 [30] or RIPEMD-160 [31] as a cryptographic hash function H which has an output length of 160 bits [14]. Thus, the original HORS scheme uses t = 2 10 and k = 16 ( 10 × 16 = 160 ). The parameters for SPHINCS-256 ( t = 2 16 , k = 32 ) are selected to provide long-term 2 128 security against attackers with access to quantum computers.
The security level of HORS/HORST can be obtained from the following equation [14,32]:
k ( log 2 t log 2 k ) .
When using the parameters in Figure 2a,b, the security levels of HORS/HORST are 96 and 352, respectively.
16 ( log 2 2 10 log 2 16 ) = 16 ( 10 4 ) = 96 . 32 ( log 2 2 16 log 2 32 ) = 32 ( 16 5 ) = 352 .
In Figure 2, ‘HORSIC+ 1st’ refers to the first argument of the min function in Equation (34) (i.e., log 2 ( t k ( z 1 ) ! k ! ( k 1 ) ! ( z k ) ! ) ). ‘HORSIC+ 2nd’ refers to the second argument of the min function in Equation (34) (i.e., n log 2 ( w 2 t + w ) ). ‘HORSIC+ 1st’ corresponds to the case where the adversary succeeds in forging only with already revealed secret values. As the number of signatures using the same HORSIC+ key increases, the number of revealed secret values also increases. Thus, the security level of ‘HORSIC+ 1st’ decreases more rapidly than that of ‘HORSIC+ 2nd’. So it is more appropriate to compare the security level of ‘HORSIC+ 1st’ with that of HORS/HORST.
To get a security level of 96 bits for HORSIC+, w should be 3, 6, 13, 28, and 72, when k is 12, 11, 10, 9, and 8, respectively. See the diamond marker in Figure 2a. To get a security level of 352 bits for HORSIC+, w should be 2, 5, 10, 17, and 29, when k is 28, 27, 26, 25, and 24, respectively. See the diamond marker in Figure 2b.
In HORSIC+, as the parameter k decreases, the signature size also decreases, but the parameter w should increase to offer the same security level. Figure 2 shows that increased w results in increased security level of ‘HORSIC+ 1st’. However, it also results in increased overhead in key generation, signing, and verification. We choose two sets of parameters taking into account the relative importance of speed and signature size. The first is n = 128 , t = 2 10 , k = 10 , and w = 13 , implying z = 22 which offers 96-bit security level. The second is n = 256 , t = 2 16 , k = 26 , and w = 10 , implying z = 35 which offers 352-bit security level. Based on these two sets of parameters, a comparison of HORSIC+ with HORS/HORST will be presented in Section 4.3.3.

4.3.2. Security for Multiple Messages

HORSIC+ can be used as a few-time signature scheme in two ways. The first is for the signer and the verifier to maintain their own state information as in [15,33]. It is a good strategy when HORSIC+ is used in broadcast authentication in wireless sensor networks. However, it is not appropriate when used as a general signature scheme because maintaining the state information means it is stateful. If the state information update fails, then HORSIC+ cannot be used anymore. The second is to use HORSIC+ many times without state information as HORST in [13]. In this case, the security level decreases as the number of signatures using the same key increases.
To investigate how rapidly the security level decreases as the number of signatures using the same key (r) increases, we normalize the security level for r = 1 to 1 and compare the normalized security level of HORSIC+ and HORS/HORST. For simplicity, we compute the normalized security level of HORSIC+ by solving the subset-resilience problem.
Figure 3 shows the normalized security level of HORSIC+ and HORS/HORST for multiple messages. The x-axis shows the number of signatures using the same key (r). We can see that the normalized security level of HORSIC+ decreases more slowly than that of HORS/HORST. It is because HORSIC+ uses smaller k than HORS/HORST for the same security level.

4.3.3. Comparison

Table 2 compares HORSIC+ with HORS and HORST for the same security levels (96 bit, 352 bit). For simplicity, we assume that HORST does not apply any optimizations in [13]. The table shows that a HORSIC+ signature size is smaller than a HORS and HORST signature size with a comparable security level. With parameters n = 128 ,   t = 2 10 ,   k = 10 , z = 22 ,   w = 13 , HORSIC+ signatures are 37.5% shorter than HORS signatures and 61.5% shorter than HORST signatures to offer a 96-bit security level. With parameters n = 256 ,   t = 2 16 ,   k = 26 ,   z = 35 ,   w = 10 , HORSIC+ signatures are 18.75% shorter than HORS signatures and 45.8% shorter than HORST signatures to offer a 352-bit security level. HORSIC+ reduces the signature size at the cost of increased overhead in key generation, signing, and verification. The key generation overhead and the signing overhead of HORSIC+ are larger than those of HORS and HORST. However, it does not affect the usability of HORSIC+, since the key generation has to be performed only once and the signing overhead is still tolerable. Since asymmetric key algorithms are typically hundreds to thousands of times slower than symmetric key algorithms and hash algorithms [34], the costs of signing HORSIC+ (130 with 96-bit security level and 260 with 352-bit security level) are relatively low.

5. Conclusions

In this paper, we proposed HORSIC+, an efficient post-quantum few-time signature scheme. HORSIC+ differs from HORSIC in that HORSIC+ does not apply f as a plain function to the signature key, but uses a member of a function family which is second-preimage resistant, undetectable, and one-way. Moreover, HORSIC+ uses the chaining function c s ( x , r ) similar to W-OTS + . These enable the strict security proof without the need for the used function family to be a permutation or collision resistant. We proved HORSIC+ is existentially unforgeable under chosen message attacks, if the used function family is a second-preimage resistant family of undetectable one-way functions and H and G are cryptographic hash functions in the random oracle model. HORSIC+ reduces the signature size by as much as 37.5% or 18.75% compared to HORS and by as much as 61.5% or 45.8% compared to HORST for the same security level. Future work includes further analysis of HORSIC+ and integration of HORSIC+ in SPHINCS.

Author Contributions

Conceptualization, J.L.; methodology, J.L.; validation, J.L. and Y.P.; investigation, J.L.; Writing—Original draft preparation, J.L.; Writing—Review and editing, J.L. and Y.P.; funding acquisition, Y.P. Both authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the National Research Foundation of Korea (NRF) grant funded by the Korea government (MSIT), grant number 2020R1F1A1048443. This research was also supported by the National Research Foundation of Korea (NRF) grant funded by the Korea government(MSIT) (No. NRF-2017R1C1B5076925).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A

In this appendix, we give the proof of Theorem 1. The proof follows similar lines of the proof of Theorem 1 in [16]. Since each HORSIC+ signature have to reveal z secret values, forging a signature can be accomplished in two mutually exclusive cases.
Case 1: The adversary is able to forge a signature to any of the k ! permutations of ( s i g 1 , s i g 2 , s i g 3 , , s i g k ) . For example, the adversary can create a valid signature σ = ( c t r , s i g 2 , s i g 1 , s i g 3 , , s i g k ) for its own message M where H ( M c t r ) = ( h 2 , h 1 , h 3 , , h k ) and C k , z ( G ( M ) ) = ( a 2 , a 1 , a 3 , , a k ) . In this case, the adversary is able to forge a signature by using only already revealed secret values by the signature to the signature query.
Case 2: The adversary is able to forge a signature that contains at least one secret value which has not been revealed by the signature to the signature query. In this case, we try to guess the position of the revealed secret value and place the preimage challenge y c there. So we can respond to the signature query and hopefully get a preimage of y c . We also place a second preimage challenge in the same chain to manipulate the randomization elements.
We slightly modify the distribution of the public key to manipulate our challenges. It is proved that this does not significantly change the adversary’s success probability if F n is undetectable [16].
Proof of Theorem 1. 
We’ll prove by contradiction. Suppose there exists an adversary A that can produce existential forgeries for HORSIC+ ( 1 n , t , k , z , w ) by mounting an adaptive chosen message attack in time T with success probability ϵ A = Succ HORSIC + ( 1 n , t , k , z , w ) EU CMA ( A ) . Then we can construct an oracle machine M A that either breaks the OW or SPR of F n using the adversary A . Algorithm A1 shows the pseudo-code description of M A and Figure A1 shows its key structure.
The oracle machine M A first generates a pair of HORSIC+ keys ( X , Y ) (Line 1). Then, M A randomly selects the positions to place the OW and the SPR challenges in the key chain. The index of the key chain is α , the positions of the OW and the SPR challenges are β and γ , respectively (Line 2, 6). M A places the OW challenge y c in the position β . M A also places the SPR challenge x c at the input of the γ th evaluation of the chain, replacing r γ (Line 7). The modified public key Y is computed using the manipulated randomization elements r (Line 8, Figure A1). Then M A runs A on input Y (Line 9).
The adversary A can ask to provide the signature on a message M of the adversary’s choice (Line 10). M A knows the secret key values x i for all i { 1 , 2 , , t } except for α , and M A only knows the β th intermediate value for the chain with the index α . Thus, M A can answer the query for the j where i j = α , only when w a j β (Line 12). Otherwise, M A returns “fail” (Line 13). M A generates signature σ of message M as described in the signature algorithm (Line 14).
If the adversary A returns an existential forgery ( M , σ ) (Line 16), M A first checks whether the forged signature is generated by using only already revealed secret values by the signature to the signature query (Line 18). If it is, M A returns “fail” (Line 19). Then, M A looks for j { 1 , 2 , , k } where i j = α . The forgery is only useful if such j exists and w a j < β (Line 20).
If β = w , the forgery contains a preimage of y c . In this case, s i g j is an intermediate value of the chain with the index α that ends in y c . So M A calculates the preimage and returns it (Line 23).
Otherwise, the chain continuing at s i g j either has or does not have y c as the β th intermediate value. In the first case, we can compute the preimage again (Line 25). In the second case, the chains continued from y c and s i g j must collide somewhere between β + 1 and w according to the pigeonhole principle. If they collide at position γ for the first time, a second preimage for x c can be calculated (Line 27). Otherwise, M A returns “fail” (Line 28).
To easily calculate the success probability of M A , we only calculate the probability for a certain success case. If there exists j { 1 , 2 , , k } such that i j = α obtained from A ’s query, we assume a j = w β . If not, we assume β = w . Since β is randomly chosen from a uniform distribution, the probability of a j = w β and β = w are both equal to 1 w .
Modification of the verification key Y might lead to changing the input distribution of A , so we denote the probability that A returns a valid forgery in line 16 of the Algorithm A1 as ϵ A . In case where the forged signature ( M , σ ) is generated by using only already revealed secret values, the probability that A returns a valid forgery is k ! ( k 1 ) ! ( z k ) ! t k ( z 1 ) ! [15]. If not, the forged signature ( M , σ ) contains at least one secret value which has not been revealed yet. The probability of the newly revealed secret value being in the chain with the index α is at least 1 t . At this point there are two mutually exclusive cases, one of which occurs with probability p and the other with probability ( 1 p ) .
Case 1: Either β = w or the chain continuing at s i g j has y c as the β th intermediate value. In this case, M A returns a preimage for y c with probability 1.
Case 2: β < w and the chain continuing at s i g j does not have y c as the β th intermediate value. In this case, M A returns a second preimage for x c if the chains continued from y c and s i g j collide for the first time at position γ . This occurs with a greater probability of 1 w as γ was randomly and uniformly chosen within the interval [ β + 1 , w ] .
Using the assumptions about the one-wayness and second preimage resistance of F n we can bound the success probability of A if called by M A :
ϵ A max { T · k ! ( k 1 ) ! ( z k ) ! t k ( z 1 ) ! , w t · max { InSec OW ( F n ; T ) , w · InSec SPR ( F n ; T ) } }
where the time T = T + ( t + 2 k ) w is an upper bound obtained as the runtime of A plus the time needed to run each algorithm of HORSIC+ once; K g H O R S I C + , S i g n H O R S I C + , and V f H O R S I C + used in M A require at most t w , k w , and k w calculations of f κ , respectively.
As a second step, we bound the difference between the success probability ϵ A of A when called by M A and its probabillity of success ϵ A in the original experiment. It can be directly obtained from [16], so we omit this proof. Finally, we can get a bound on ϵ A which leads to the required contradiction:
ϵ A max { T · k ! ( k 1 ) ! ( z k ) ! t k ( z 1 ) ! , w · InSec UD ( F n ; T ) + w t · max { InSec OW ( F n ; T ) , w · InSec SPR ( F n ; T ) } }
where the time T = T + ( t + 2 k ) w and T = T + ( t + 2 k + 1 ) w 1 .    □
Figure A1. The basic construction of the modified public key.
Figure A1. The basic construction of the modified public key.
Applsci 11 07350 g0a1
Algorithm A1: M A
Input: Parameters n, t, k, z, w, one-way challenge y c , and second preimage resistance challenge x c
Output: A value x that is either a preimage of y c or a second preimage for x c under f κ or “fail”
1: Generate HORSIC+ key pair : ( X , Y ) = K g H O R S I C + ( )
2: Choose indices α $ { 1 , , t } and β $ { 1 , , w } uniformly at random
3: if β = w then
4:    Set r = r
5: else
6:    Choose index γ $ { β + 1 , , w } uniformly at random
7:    Obtain r by setting r i = r i for all i [ 1 , w ] { γ } and r γ = c γ β 1 ( y c , r β + 1 , w ) x c
8: Obtain Y by setting y 0 = ( κ , r ) , y i = c w ( x i , r ) for all i [ 1 , t ] { α } , and y α = c w β ( y c , r β + 1 , w )
9: Run A S i g n ( X , · ) ( Y )
10: if A S i g n ( X , · ) ( Y ) queries S i g n with message M then
11:    Compute ( i 1 , i 2 , , i k ) , ( a 1 , a 2 , , a k ) , and c t r which corresponds to M
12:    if there exist j { 1 , 2 , , k } such that i j = α and w a j < β  then
13:        return “fail”
14:    Generate signature σ of M:
a.
Run σ = ( c t r , s i g 1 , s i g 2 , , s i g k ) S i g n H O R S I C + ( X , M , κ , r )
b.
if there exists j { 1 , 2 , , k } such that i j = α  then
          s i g j = c w a j β ( y c , r β + 1 , w )
15:    Reply to the query string σ
16: if A S i g n ( X , · ) ( Y ) returns valid ( M , σ )  then
17:    Compute ( i 1 , i 2 , , i k ) , ( a 1 , a 2 , , a k ) , and c t r which corresponds to M
18:    if ( s i g 1 , s i g 2 , , s i g k ) is a permutation of ( s i g 1 , s i g 2 , , s i g k )  then
19:       return “fail”
20:    else if there exists no  j { 1 , 2 , , k } such that i j = α and w a j β  then
21:       return “fail”
22:    else if β = w then
23:       return preimage c a j 1 ( s i g j , r w a j + 1 , w ) r w
24:    else if c β w + a j ( s i g j , r w a j + 1 , w ) = y c then
25:       return preimage c β w + a j 1 ( s i g j , r w a j + 1 , w ) r β
26:    else if c γ w + a j 1 ( s i g j , r w a j + 1 , w ) r γ x c and c γ w + a j ( s i g j , r w a j + 1 , w ) = c γ β ( y c , r β + 1 , w ) then
27:       return second preimage c γ w + a j 1 ( s i g j , r w a j + 1 , w ) r γ
28: return “fail”

References

  1. Rivest, R.L.; Shamir, A.; Adleman, L. A Method for Obtaining Digital Signatures and Public-Key Cryptosystems. Commun. ACM 1978, 21, 120–126. [Google Scholar] [CrossRef]
  2. Johnson, D.; Menezes, A.; Vanstone, S. The Elliptic Curve Digital Signature Algorithm (ECDSA). Int. J. Inf. Secur. 2001, 1, 36–63. [Google Scholar] [CrossRef]
  3. Shor, P.W. Algorithms for quantum computation: Discrete logarithms and factoring. In Proceedings of the 35th Annual Symposium on Foundations of Computer Science, Santa Fe, NM, USA, 20–22 November 1994; pp. 124–134. [Google Scholar] [CrossRef]
  4. Cambou, B.; Gowanlock, M.; Yildiz, B.; Ghanaimiandoab, D.; Lee, K.; Nelson, S.; Philabaum, C.; Stenberg, A.; Wright, J. Post Quantum Cryptographic Keys Generated with Physical Unclonable Functions. Appl. Sci. 2021, 11, 2801. [Google Scholar] [CrossRef]
  5. Ghosh, S.; Zaman, M.; Sakauye, G.; Sampalli, S. An Intrusion Resistant SCADA Framework Based on Quantum and Post-Quantum Scheme. Appl. Sci. 2021, 11, 2082. [Google Scholar] [CrossRef]
  6. Hoffstein, J.; Howgrave-Graham, N.; Pipher, J.; Silverman, J.H.; Whyte, W. NTRUSign: Digital signatures using the NTRU lattice. In Proceedings of the Cryptographers’ Track at the RSA Conference, San Francisco, CA, USA, 13–17 April 2003; Volume 2612, pp. 122–140. [Google Scholar] [CrossRef]
  7. Porras, J.; Baena, J.; Ding, J. ZHFE, a new multivariate public key encryption scheme. In Proceedings of the International Workshop on Post-Quantum Cryptography, Waterloo, ON, Canada, 1–3 October 2014; Volume 8772, pp. 229–245. [Google Scholar] [CrossRef]
  8. McEliece, R.J. A Public-Key Cryptosystem Based On Algebraic Coding Theory. Coding THV 1978, 4244, 114–116. [Google Scholar]
  9. Grover, L.K. A fast quantum mechanical algorithm for database search. In Proceedings of the Annual ACM Symposium on Theory of Computing, Philadelphia, PA, USA, 22–24 May 1996; Association for Computing Machinery: New York, NY, USA, 1996; pp. 212–219. Available online: https://arxiv.org/pdf/quant-ph/9605043.pdf (accessed on 10 August 2021).
  10. Palmieri, P. Hash-based signatures for the internet of things: Position paper. In Proceedings of the 15th ACM International Conference on Computing Frontiers, Ischia, Italy, 8–10 May 2018; Association for Computing Machinery: New York, NY, USA, 2018; pp. 332–335. [Google Scholar] [CrossRef]
  11. Suhail, S.; Hussain, R.; Khan, A.; Hong, C.S. On the Role of Hash-Based Signatures in Quantum-Safe Internet of Things: Current Solutions and Future Directions. IEEE Internet Things J. 2021, 8, 1–17. [Google Scholar] [CrossRef]
  12. Buchmann, J.; Dahmen, E.; Hülsing, A. XMSS—A practical forward secure signature scheme based on minimal security assumptions. In Proceedings of the International Workshop on Post-Quantum Cryptography, Taipei, Taiwan, 29 November–2 December 2011; Volume 7071, pp. 117–129. [Google Scholar] [CrossRef] [Green Version]
  13. Bernstein, D.J.; Hopwood, D.; Hülsing, A.; Lange, T.; Niederhagen, R.; Papachristodoulou, L.; Schneider, M.; Schwabe, P.; Wilcox-O’hearn, Z. SPHINCS: Practical stateless hash-based signatures. In Proceedings of the Annual International Conference on the Theory and Applications of Cryptographic Techniques, Sofia, Bulgaria, 26–30 April 2015; Volume 9056, pp. 368–397. [Google Scholar] [CrossRef] [Green Version]
  14. Reyzin, L.; Reyzin, N. Better than BiBa: Short one-time signatures with fast signing and verifying. In Proceedings of the Australasian Conference on Information Security and Privacy, Perth, WA, Australia, 3–5 July 2002; Volume 2384, pp. 144–153. [Google Scholar] [CrossRef]
  15. Lee, J.; Kim, S.; Cho, Y.; Chung, Y.; Park, Y. HORSIC: An efficient one-time signature scheme for wireless sensor networks. Inf. Process. Lett. 2012, 112, 783–787. [Google Scholar] [CrossRef]
  16. Hülsing, A. W-OTS+—Shorter signatures for hash-based signature schemes. In Proceedings of the International Conference on Cryptology in Africa, Cairo, Egypt, 22–24 June 2013; Volume 7918, pp. 173–188. [Google Scholar] [CrossRef]
  17. Merkle, R.C. A certified digital signature. In Advances in Cryptology—CRYPTO’ 89 Proceedings; Brassard, G., Ed.; Springer: New York, NY, USA, 1989; pp. 218–238. [Google Scholar]
  18. Katz, J.; Lindell, Y. Introduction to Modern Cryptography, 3rd ed.; Chapman & Hall/CRC: London, UK, 2020. [Google Scholar]
  19. Kudinov, M.A.; Kiktenko, E.O.; Fedorov, A.K. Security analysis of the W-OTS+ signature scheme: Updating security bounds. arXiv 2020, arXiv:2002.07419. [Google Scholar]
  20. Dods, C.; Smart, N.P.; Stam, M. Hash based digital signature schemes. In Cryptography and Coding; Smart, N.P., Ed.; Springer: Berlin/Heidelberg, Germany, 2005; pp. 96–115. [Google Scholar]
  21. Dahmen, E.; Okeya, K.; Takagi, T.; Vuillaume, C. Digital signatures out of second-preimage resistant hash functions. In Proceedings of the 2nd International Workshop on Post-Quantum Cryptography, Cincinnati, OH, USA, 17–19 October 2020; Springer: Berlin/Heidelberg, Germany, 2008; pp. 109–123. [Google Scholar] [CrossRef]
  22. Brassard, G.; HØyer, P.; Tapp, A. Quantum cryptanalysis of hash and claw-free functions. In Latin American Symposium on Theoretical Informatics; Springer: Berlin/Heidelberg, Germany, 1998; pp. 163–169. [Google Scholar] [CrossRef] [Green Version]
  23. Lamport, L. Constructing Digital Signatures from a One Way Function; Technical Report CSL-98; SRI International Computer Science Laboratory: Menlo Park, CA, USA, 1979. [Google Scholar]
  24. Buchmann, J.; Dahmen, E.; Ereth, S.; Hülsing, A.; Rückert, M. On the security of the Winternitz one-time signature scheme. Int. J. Appl. Cryptogr. 2013, 3, 84–96. [Google Scholar] [CrossRef]
  25. Bellare, M.; Rogaway, P. Collision-resistant hashing: Towards making UOWHFs practical. In Advances in Cryptology—CRYPTO ’97; Kaliski, B.S., Ed.; Springer: Berlin/Heidelberg, Germany, 1997; pp. 470–484. [Google Scholar]
  26. Bellare, M.; Rogaway, P. Random oracles are practical: A paradigm for designing efficient protocols. In Proceedings of the 1st ACM Conference on Computer and Communications Security, Fairfax, VA, USA, 3–5 November 1993; Association for Computing Machinery: New York, NY, USA, 1993; pp. 62–73. [Google Scholar] [CrossRef]
  27. Andrews, G.E. The Theory of Partitions; Encyclopedia of Mathematics and Its Applications, Cambridge University Press: Cambridge, UK, 1984. [Google Scholar] [CrossRef]
  28. Asharov, G.; Segev, G. On constructing one-way permutations from indistinguishability obfuscation. In TCC (A2); Springer: Berlin/Heidelberg, Germany, 2016; pp. 512–541. [Google Scholar] [CrossRef]
  29. Lenstra, A.K. Key Length. Contribution to The Handbook of Information Security. 2004. Available online: https://infoscience.epfl.ch/record/164539/files/NPDF-32.pdf (accessed on 10 August 2021).
  30. FIPS Publication 180-1, Secure Hash Standard. 1995. National Institute of Standards and Technology (NIST). Available online: https://nvlpubs.nist.gov/nistpubs/Legacy/FIPS/fipspub180-1.pdf (accessed on 10 August 2021).
  31. Dobbertin, H.; Bosselaers, A.; Preneel, B. RIPEMD-160: A strengthened version of RIPEMD. In Fast Software Encryption; Gollmann, D., Ed.; Springer: Berlin/Heidelberg, Germany, 1996; pp. 71–82. [Google Scholar]
  32. Aumasson, J.P.; Endignoux, G. Clarifying the Subset-Resilience Problem; Report 2017/909; Cryptology ePrint Archive: Lyon, France, 2017. [Google Scholar]
  33. Perrig, A. The BiBa one-time signature and broadcast authentication protocol. In Proceedings of the 8th ACM Conference on Computer and Communications Security—CCS ’01, Philadelphia, PA, USA, 5–8 November 2001; Association for Computing Machinery (ACM): New York, NY, USA, 2001; p. 28. [Google Scholar] [CrossRef]
  34. Crypto++ 5.6.0 Benchmarks. Available online: https://www.cryptopp.com/benchmarks.html (accessed on 6 August 2021).
Figure 1. Signing of HORSIC+.
Figure 1. Signing of HORSIC+.
Applsci 11 07350 g001
Figure 2. Security level of HORSIC+ for various choices of k and HORS/HORST for signing a single message. The parameters are chosen from (a) HORS and (b) HORST as used in SPHINCS.
Figure 2. Security level of HORSIC+ for various choices of k and HORS/HORST for signing a single message. The parameters are chosen from (a) HORS and (b) HORST as used in SPHINCS.
Applsci 11 07350 g002
Figure 3. Normalized security level of HORSIC+ and HORS/HORST for multiple messages.
Figure 3. Normalized security level of HORSIC+ and HORS/HORST for multiple messages.
Applsci 11 07350 g003
Table 1. Generic Security.
Table 1. Generic Security.
OWSPRCR
Classical Θ ( 2 n ) Θ ( 2 n ) Θ ( 2 n / 2 )
Quantum Θ ( 2 n / 2 ) Θ ( 2 n / 2 ) Θ ( 2 n / 3 )
Table 2. Comparison of HORS, HORST, and HORSIC+.
Table 2. Comparison of HORS, HORST, and HORSIC+.
SchemeKey Gen.SigningVerificationSig. SizeV. K. SizeSecurity Level
HORS( 1 n , t , k )t1 k + 1 k n t n k ( log 2 ( t / k ) )
HORST( 1 n , t , k ) 2 t 1 1 k ( log 2 t + 1 ) ( k + log 2 t ) n n k ( log 2 ( t / k ) )
HORSIC+( 1 n , t , k , z , w ) w t k w k w k n ( 1 + w + t ) n Equation (34)
HORS( 1 128 , 2 10 , 16 )1024117 16 × 128 1024 × 128 96
HORST( 1 128 , 2 10 , 16 )20471 16 × 11 26 × 128 12896
HORSIC+( 1 128 , 2 10 , 10 , 22 , 13 )13,312 10 × 13 10 × 13 10 × 128 1038 × 128 min { 96 , 111 }
HORS( 1 256 , 2 16 , 32 )65,536133 32 × 256 65 , 536 × 256 352
HORST( 1 256 , 2 16 , 32 )131,0711 32 × 17 48 × 256 256352
HORSIC+( 1 256 , 2 16 , 26 , 35 , 10 )655,360 26 × 10 26 × 10 26 × 256 65 , 547 × 256 min { 353 , 233 }
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Lee, J.; Park, Y. HORSIC+: An Efficient Post-Quantum Few-Time Signature Scheme. Appl. Sci. 2021, 11, 7350. https://doi.org/10.3390/app11167350

AMA Style

Lee J, Park Y. HORSIC+: An Efficient Post-Quantum Few-Time Signature Scheme. Applied Sciences. 2021; 11(16):7350. https://doi.org/10.3390/app11167350

Chicago/Turabian Style

Lee, Jaeheung, and Yongsu Park. 2021. "HORSIC+: An Efficient Post-Quantum Few-Time Signature Scheme" Applied Sciences 11, no. 16: 7350. https://doi.org/10.3390/app11167350

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop