On the Implementation of a Lattice-Based DAA for Vanet System
Doryan Lesaignoux and Mikael Carmona
Univ. Grenoble Alpes, CEA, Leti, MINATEC Campus, F-38054 Grenoble, France
Keywords: Signature Scheme, Lattice-Based Cryptography, Direct Anonymous Attestation, Zero-Knowledge Proof,
Software Implementation, Performances.
Abstract: Direct Anonymous Attestation (DAA) is a cryptographic protocol that enables users with a Trusted Platform
Module (TPM) to authenticate without revealing their identity. DAA has been adapted to Vehicle Ad-hoc
NETwork system (VANETs) to offer secure vehicle-to-anything communication (V2X). In this paper, we
provide an implementation of the most advanced post-quantum DAA for VANETs with a complete
parametrization and benchmark in order to embed this scheme on TPM.
1 INTRODUCTION
Direct Anonymous Attestation (DAA) is an
anonymous digital signature scheme made up of three
entities: The issuer, a set of signers and a set the
verifiers (Brickell and al., 2004). Issuer oversees
credentials distribution for each signer. A signer is a
pair of TPM and host. She proves her membership
and her trustworthy to the group with a DAA
signature including a zero-knowledge proof.
In 2004, the first RSA-based DAA (Brickell
and al., 2004) is standardized by the Trusted
Computing Group (TCG) for TPM 1.2 (Trusted
Computing Group, 2004). In 2008, Brickel, Chen and
Li published the first DAA based on Elliptic Curve
Cryptography in (Brickel and al., 2008). After several
enhancements (Chen, 2010), a series of ECC-based
DAA protocols is specified in ISO/IEC 20008-2 to be
integrated in the new generation of TPM 2.0 (Trusted
Computing Group, 2014).
From today, few Lattice-based DAA (LDAA)
have been developed. The pioneering scheme is
proposed in (El Bansarkhani and al., 2017). However,
it still requires huge storage and computing capacity.
The new framework of LDAA introduced in (Chen
and al., 2019) improves signature size by two orders
of magnitude regarding previous post-quantum DAA.
Vehicular Ad-hoc Network (VANET) is a network
enabling communication between vehicles and anything
(V2X) in order to enhance road safety and traffic
efficiency. Based on the same framework as (Chen and
al., 2019), the first post-quantum DAA applied to
VANETs is described by (Chen and al., 2021).
Due to the recent nature of LDAA, it exits only
one work (Chen and al., 2021) providing deep insight
on implementation concerns and performance. In
particular, the generation of parameters to achieve a
given security level is not straightforward. The
purpose of this paper is to provide a software
implementation of the most advanced post-quantum
DAA scheme for VANETs named V-LDAA (Chen
and al., 2021). The implementation comes with a
structured and comprehensive overview of the
scheme as well as a methodology for input parameters
generation. Also, we provide an analysis of the
performance and bottlenecks of our implementation
and a benchmark with pre-quantum DAA.
The paper is composed of two main sections.
Section 2 introduces the studied V-LDAA and
describes the methodology used to derive a set of
parameters for a given security level. Section 3
describes our software implementation of the V-
LDAA. The performance analysis allows the
bottleneck identification and a comparison with the
existing implementation from (Chen and al., 2021)
and the pre-quantum DAA.
2 STUDY OF V-LDAA SCHEME
2.1 Notations
In this paper, we define the polynomial ring โ„› =
โ„ค
[
๐‘‹
]
/
โŒฉ
๐‘‹
๎ฏ—
+1
โŒช
and quotient ring โ„›
๎ญฏ
= โ„›/๐‘žโ„› with
๐‘ž a prime integer and ๐‘‘ an integer power of 2. For
642
Lesaignoux, D. and Carmona, M.
On the Implementation of a Lattice-Based DAA for Vanet System.
DOI: 10.5220/0012717900003767
Paper published under CC license (CC BY-NC-ND 4.0)
In Proceedings of the 21st International Conference on Security and Cr yptography (SECRYPT 2024), pages 642-648
ISBN: 978-989-758-709-2; ISSN: 2184-7711
Proceedings Copyright ยฉ 2024 by SCITEPRESS โ€“ Science and Technology Publications, Lda.
clarity, we denote element of โ„› in lowercase letter,
vector over โ„› in bold lowercase letter and matrix
over โ„› in capital bold letter. We consider the scalar
product of two elements of โ„› as
โŒฉ
๐‘Ž|๐‘
โŒช
=โˆ‘๐‘Ž
๎ฏœ
๐‘
๎ฏœ
where ๐‘Ž
๎ฏœ
and ๐‘
๎ฏœ
are the coefficients of polynomials ๐‘Ž
and ๐‘. We denote the Euclidean norm over โ„› as
โ€–
๐‘Ž
โ€–
๎ฌถ
=
โ€–
๐‘Ž
โ€–
=
๎ถฅ
โŒฉ
๐‘Ž|๐‘Ž
โŒช
. We further define the
notation for vectors
โ€–
๐’‚
โ€–
=
๎ถฅ
โˆ‘โ€–
๐‘Ž
๎ฏœ
โ€–
๎ฌถ
and matrices
โ€–
๐‘จ
โ€–
=
๎ถฅ
โˆ‘โ€–
๐’‚
๐’Š
โ€–
๎ฌถ
.
We denote by ๐ท
ฮ›,๐œŽ,๐’„
the discrete gaussian
distribution over a lattice ฮ› with standard deviation
๐œŽ>0 and center ๐’„โˆˆโ„
๎ฏก
. If ๐’„=0
๎ฏก
, we omit it.
2.2 V-LDAA: General Framework
V-LDAA is a digital signature scheme secure under
Random Oracle Model where each user composed of
a host and a TPM can prove their trustworthiness to a
party of the network i.e. a verifier. V-LDAA is
composed of five main primitives:
โ€ข ๐’๐ž๐ญ๐ฎ๐ฉ to initialize parameters of TPM, host
and issuer.
โ€ข ๐‰๐จ๐ข๐ง to enable a user to join the network and
get credentials from the issuer.
โ€ข ๐‚๐ซ๐ž๐š๐ญ๐ž to build pseudonym and two
signatures for revocation process and
credentials verification.
โ€ข ๐’๐ข๐ ๐ง/๐•๐ž๐ซ๐ข๐Ÿ๐ฒ for signing and verifying a
signature of a plain text.
โ€ข ๐‘๐ž๐ฏ๐จ๐ค to revoke a user.
In the Join process, the creation of credentials is
based on the same concept as the ABB lattice-based
signature scheme (Agrawal and al., 2010) with a
slight modification. Following a Zero-Knowledge
Proof (ZKP) proving that a user has a valid
endorsement key, the issuer generates a pair
(
๐‘–,๐’”
)
,
named credentials, satisfying the relation:
[
๐‘จ
๎ดฅ
โ”‚๐‘ฉ + ๐‘–๐’ˆ]
๏‡ฉ
๏‡ญ
๏‡ญ
๏‡ช
๏‡ญ
๏‡ญ
๏‡ซ
๐‘จ
โˆ™๐’”=๐‘ข+๐’–
๐‘ป
โˆ™๐’†
๐‘ป
+๐’–
๐‘ฏ
โˆ™๐’†
๐‘ฏ
(1)
where ๐‘จ
๎ดฅ
, ๐‘ฉ, ๐‘ข are the issuer public key, ๐’ˆ is the
gadget matrix and the two pairs (๐’–
๐‘ป
,๐’†
๐‘ป
), (๐’–
๐‘ฏ
,๐’†
๐‘ฏ
)
are the public and private key of the TPM and the
host. ๐‘– is the long-term ID attributed to the new
member and ๐’” is a secret bounded-norm vector of
polynomials proving membership. Itโ€™s important to
notice that the matrix ๐‘จ is unique for each member
due to the long-term ID ๐‘–. Thus, it is essential that this
matrix is known only to the issuer and the user
concerned, otherwise one could break the anonymity
of anyone by recovering ๐‘–. Before signing
anonymously a message, a member need first, to
build a pseudonym by creating a Ring-LWE instance
with the TPMโ€™s secret key and a basename. Two
signatures will be linkable if a user decides to use the
same basename for each of them. Second, they must
generate a ZKP (named attestation signature) of their
credentials to prove their legitimacy to the verifiers
with the underlying primitive ๐๐ฅ๐ข๐ง๐๐ฌ๐ข๐ ๐ง . This
procedure is described in Create primitive. During
Sign operation, the signer sends the signature of the
message as well as the signature of the credentials.
Finally, the verifier checks each signature.
For further details, we refer the reader to the
references papers (Chen and al., 2019) and (Chen and
al., 2021).
2.3 Basics and Concepts on Lattices for
LDAA
In this section, we describe fundamental lattice-based
notions used in V-LDAA scheme.
A lattice ฮ› of โ„
๎ฏก
is a discrete additive subgroup
of โ„
๎ฏก
. Any lattice ฮ› of โ„
๎ฏก
is spanned on โ„ค by a set of
๐‘š vectors ๐’‚
๐ŸŽ
,โ€ฆ ,๐’‚
๐’Ž๎ฌฟ๐Ÿ
of โ„
๎ฏก
where 0<๐‘›โ‰ค๐‘š.
This set is a (non-unique) base for ฮ›. Let ๐‘จโˆˆโ„ค
๎ฏค
๎ฏกร—๎ฏ 
,
by definition, ๐›ฌ
(
๐‘จ
)
is the lattice of โ„
๎ฏก
spanned by
the columns of ๐‘จ. Given a lattice ๐›ฌ with basis ๐‘ฉ and
๐‘ฉ
๎ทฉ
the Gram-Schmidt orthogonalization of ๐‘ฉ, we
define a bound of the smoothing parameter ๐œ‚
๎ฐข
of
ฮ› as ๐œ‚
๎ฐข
(
ฮ›
)
< ๎ธฎ๐‘ฉ
๎ทฉ
๎ธฎ ln(2๐‘›(1 + 1/๐œ–)/๐œ‹) for any ๐œ–>
0 (Theorem 3.1, Gentry and al., 2008).
For lattice-based cryptography applications, we
introduce two ๐‘ž -ary lattices ฮ›
๎ฏค
๎ญ„
(
๐‘จ
)
:=
๏ˆผ
๐’™โˆˆ
โ„ค
๎ฏ 
|
๐‘จ๐’™ = ๐ŸŽ
๐’
๐‘š๐‘œ๐‘‘ ๐‘ž}, the set of all vectors of โ„ค
๎ฏ 
orthogonal to ๐‘จ and ฮ›
๎ฏค
๎ฏจ
(
๐‘จ
)
:=
๏ˆผ
๐’—โˆˆโ„ค
๎ฏ 
|
๐‘จ๐’— =
๐‘ข ๐‘š๐‘œ๐‘‘ ๐‘ž}, the set of all pre-images ๐’— of ๐’– by ๐‘จ. Two
problems follow from these lattices:
โ€ข Short Integer Solution problem (SIS): Given a
real ๐›ฝ>0, find a vector ๐’™ in ฮ›
๎ฏค
๎ญ„
(
๐‘จ
)
such that
0 <
โ€–
๐’™
โ€–
โ‰ค๐›ฝ.
โ€ข Learning With Error problem (LWE): Let ๐’”โˆˆ
โ„ค
๎ฏค
๎ฏ 
be a random secret vector and a gaussian
error vector ๐’† โ† ๐’Ÿ
โ„ค
๎ณ™
,๎ฐ“
, if ๐œ‡๐‘ž > 2
โˆš
๐‘› , find ๐’”
from the pair (๐‘จ,๐‘จ๐’” + ๐’†).
These two cryptographic problems are adaptable
to the polynomial case in โ„› with Ring-SIS
(Lyubashevsky and al., 2006) and Ring-LWE
(Lyubashevsky and al., 2010). They guarantee the
security of V-LDAA.
Let ๐›ฟ be an integer > 0, ๐’ˆ=
(
1 ๐›ฟ โ€ฆ ๐›ฟ
๎ฏž๎ฌฟ๎ฌต
)
be
the gadget matrix in โ„ค
๎ฏž
for polynomials and ๐‘– be an
invertible polynomial in ๐’ฎ
๎ญฏ
= ๎ต›๐‘Ž
๎ฌด
+
On the Implementation of a Lattice-Based DAA for Vanet System
643
๐‘Ž
๎ฌต
๐‘‹
๎ฏ—/๎ฌถ
| ๐‘Ž
๎ฌด
,๐‘Ž
๎ฌต
โˆˆโ„ค
๎ฏค
๎ตŸ. Notice that ๐‘˜=log
๎ฐ‹
(
๐‘ž
)
. The
construction of a trapdoor is based on a matrix ๐‘จ =
[
๐‘จ
๎ดฅ
|๐‘–๐’ˆ โˆ’ ๐‘จ
๎ดฅ
๐‘น
]
โˆˆโ„›
๎ฏค
๎ฏกร—๎ฏ 
with ๐‘จ
๎ดฅ
a random uniform
matrix in โ„›
๎ฏค
๎ฏกร—๎ฏก๎ฏž
. The matrix ๐‘นโˆˆ โ„›
(๎ฏ ๎ฌฟ๎ฏก๎ฏž)ร—๎ฏก๎ฏž
is
called a ๐’ˆ-trapdoor for ๐‘จ under the tag ๐‘– and with
๐‘จ๎ตฃ
๐‘น
๐‘ฐ
๎ตง=๐‘–๐’ˆ (Micciancio and Peikert, 2012). Applied
to V-LDAA, we recover the same structure described
in equation
(
1
)
where ๐‘น is the issuer secret key and
๐‘ฉ= โˆ’๐‘จ
๎ดฅ
๐‘น . We denote this procedure by the
primitive
(
๐‘จ, ๐‘น
)
= ๐“๐ซ๐š๐ฉ๐†๐ž๐ง(๐‘›,๐‘š,๐‘˜,๐‘ž,๐›ฝ). In the
next section, we give concrete parameters of this
construction for V-LDAA.
To generate credentials for each user in the Join
process, issuer needs to generate a ๐‘š-dimensional
discrete gaussian pre-image ๐’” satisfying (1) from
๐ท
โ„›
m
,๐œŽ,๐’„
. This can be done using primitive
SampleGaussian(๐‘จ,๐‘น, ๐‘–,๐‘ข,๐›พ,๐›ผ). In this work, we
use sampling method from (Micciancio and Peikert,
2012).
Another important notion used in DAA protocols
is zero-knowledge proof (ZKP) since they are used in
Join, Create, Sign and Revok. In lattice-based
cryptography, a ZKP is to prove the knowledge of a
low-norm secret vector ๐’” in ฮ›
๎ฏค
๎ฏจ
(
๐‘จ
)
without revealing
any other information. The more efficient method is
to use โ€œFiat-Shamir with Abortโ€ ZKP technique from
(Lyubashevsky, 2012). It relies on proving the
knowledge of a slighty larger-norm vector ๐’”
๎ดค
such that
๐‘จ๐’”
๎ดค
=๐‘๐‘ข where ๐‘ is a sparse polynomial challenge of
๐’ž=๎ต›๐‘โˆˆ๐‘…
๎ฏค
๎ธซ
โ€–
๐‘
โ€–
๎ฎถ
=1 โˆง
โ€–
๐‘
โ€–
๎ฌต
=๐œ…,2
๎ฐ‘
๎ตซ
๎ฏ—
๎ฐ‘
๎ตฏโ‰ฅ
2
๎ฐ
} . The secret key is โ€œhiddenโ€ by creating a Ring-
LWE instance. Then, the protocol uses a rejection
sampling subroutine of standard deviation ๐œ‰ to assert
outputs are Gaussian distributed and independent of
the secret key and the challenge. Finally, the verifier
sets a bound of acceptance ๐›ฝ
๎ฏญ
proportional to ๐œ‰ to
check the proof. We call this primitive
๐™๐Š๐(๐‘จ, ๐’”, ๐‘ข,๐œ‰, ๐›ฝ
๎ฏญ
).
In Create, users generate a signature with the
algorithm ๐๐ฅ๐ข๐ง๐๐’๐ข๐ ๐ง to enable verifiers to check the
authenticity of their credentials. Formally, the
protocol is a non-interactive ZKP from (Del Pino and
al., 2018) proving that the user knows a pair (๐’”, ๐‘–)
satisfying (1). However, this cannot be performed
directly because verifiers need to know the value of
๎ตฃ๐‘จ
๎ดฅ
โ”‚๐‘ฉ + ๐‘–๐’ˆ๎ตง which would compromise the long-term
ID ๐‘–. Therefore, the proof is applied on a commitment
value of each term of ๐‘–๐’ˆ. For simplification, we
consider ๐’ˆ =
(
1 ๐›ฟ
)
, the same gadget matrix as in V-
LDAA. We use the method described in (Baum and
al., 2018). The main idea is to sample two random
uniforms matrix ๐‘จ
๐Ÿ
=
[
๐‘ฐ
๐’
๐‘จ
๐Ÿ
๏‡ฑ
]
with
๐‘จ
๐Ÿ
๏‡ฑ
$
โ† โ„›
๎ฏค
๎ฏกร—(๎ฏ ๎ฌฟ๎ฏก)
, ๐‘จ
๐Ÿ
=
[
๐ŸŽ
๐’
1๐‘จ
๐Ÿ
๏‡ฑ
]
with
๐‘จ
๐Ÿ
๏‡ฑ
$
โ†โ„›
๎ฏค
๎ฌตร—(๎ฏ ๎ฌฟ๎ฏก๎ฌฟ๎ฌต)
and a short random vector ๐’“ in โ„›
๎ฌท
๎ฏ 
s.t : ๐ถ๐‘œ๐‘š
(
๐‘ฅ,๐’“
)
=
[
๐‘จ
๐Ÿ
๐‘จ
๐Ÿ
]
๎ญ˜
๐’“+
[
0๐‘ฅ
]
๎ฏ
=
[
๐‘ก
๎ฌต
๐‘ก
๎ฌถ
]
๎ฏ
=๐‘ก where ๐‘ฅ is a value to commit. Given
two commitments ๐‘ก= ๐ถ๐‘œ๐‘š
(
๐‘–,๐’“
)
and ๐‘ก
๏‡ฑ
=
๐ถ๐‘œ๐‘š
(
๐‘–๐›ฟ,๐’“โ€ฒ
)
, observe that:
๐’—
๐‘ป
๐’”
๏‡ฑ
=๐‘ข
(2)
where : ๐’—
๐‘ป
=
[
๐‘จ
๐‘ป
|
๐‘ฉ
๐‘ป
+
[
๐’•
๐Ÿ
๐’•
๐Ÿ
๏‡ฑ
]
|
โˆ’
[
๐’–
๐‘ป
๐’–
๐’‰
]
|โˆ’
[๐’‚
๐‘ป
๐’‚
๐‘ฏ
]
]
and ๐’”
๏‡ฑ
=
[
๐’”
๐Ÿ
๐’”
๐Ÿ
[๐’†
๐‘ป
๐’†
๐‘ฏ
] โˆ’
[
๐’“ ๐’“
๏‡ฑ
]
๐’”
๐Ÿ
]
๎ฏ
.
With this commitment scheme, the protocol
๐๐ฅ๐ข๐ง๐๐’๐ข๐ ๐ง creates 3 proofs of knowledge:
โ€ข ฮ 
๎ฌต
โˆถ commit values open to each committed
values ๐‘ฅ: using โ€œFiat-Shamir with Abortโ€
technique explained above, one can prove
the knowledge of a slightly larger-norm
polynomial vector ๐’“
๎ดค
s.t: ๐‘๐‘ก =
[
๐‘จ
๐Ÿ
๐‘จ
๐Ÿ
]
๎ญ˜
๐’“
๎ดค
+ ๐‘
[
0๐‘ฅ
]
๎ฏ
.
โ€ข ฮ 
๎ฌถ
โˆถ commit values open to long-term ID ๐‘–
such that ๐œŽ
๎ฌน
(
๐‘–
)
=๐‘– where ๐œŽ
๎ฌน
:๐‘‹โ†’๐‘‹
๎ฌน
. The
protocol uses automorphism stability to
prove that ๐‘–โˆˆ๐‘†
๎ฏค
(Corollary 4.2 from (Del
Pino and al., 2018)).
โ€ข ฮ 
๎ฌท
โˆถ user knows ๐‘ 
๏‡ฑ
satisfying (2).
2.4 Parametrization of the V-LDAA
We now introduce the set of parameters of the V-
LDAA and we provide a practical expression for each
of them. Table 1 below summarizes all parameters
discussed in previous section.
Table 1: Summary of all parameters used in V-LDAA.
Parameter Description
๐€ Level of security
๐‘› Lattice rank
๐‘š Lattice dimension
๐‘‘ Dimension of โ„›
๐‘ž Arithmetic modulus
๐›ฟ Basis for gadget matrix
๐‘˜ Size of ๐‘ž with basis ๐›ฟ
๐œ… Cardinal of ๐’ž
๐œŽ Standard deviation for sampling of ๐‘น
๐œ‰ Standard deviation for rejection
sampling
๐›ฝ
๎ฏญ
Bound of acceptance
๐›ผ Standard deviation for ๐‘บ๐’‚๐’Ž๐’‘๐’๐’†๐‘ฎ
๐›พ Upper bound on the spectral norm of
ฮฑ๐‘น
SECRYPT 2024 - 21st International Conference on Security and Cryptography
644
V-LDAA scheme sets ๐‘› = 1, ๐‘š = 4, ๐‘˜ = 2 and
๐›ฟ= ๎ถƒ
๎ถฅ
๐‘ž
๎ถ‡ . That is, the gadget matrix ๐’ˆ is a 2-
dimension vector equal to (1
๎ถฅ
๐‘ž
). The dimension of
the ring ๐‘‘ is a power of two and the arithmetic
modulus is ๐‘žโ‰ก3 ๐‘š๐‘œ๐‘‘ 4.
About standard deviation ๐œŽ, we use Theorem 4.1
from (Lyubashevsky and al., 2010) which state that,
for Ring-LWE instance, ๐œŽ must be higher or equal to
2๐œ”(
๎ถฅ
log
(
๐‘‘
)
). In V-LDAA, ๐œŽ is not used to sample
the trapdoor ๐‘น since coefficient of ๐‘น are uniformly
chosen in
๏ˆผ
โˆ’1,0,1
}
but parameters of gaussian pre-
image sampling depend on this ๐œŽ.
According to Lemma 2.2 of (Del Pino and al.,
2018), we set the standard deviation of rejection
sampling to ๐œ‰ = 12๐œ…
โ€–
๐‘ 
โ€–
where ๐’” is a bounded secret
polynomial vector, and the bound of acceptance ๐›ฝ
๎ฏญ
=
๐œ‰
โˆš
2๐‘‘๐‘š
to ensure that no information is leaked during
the ZKP. Parameter ๐œ… is chosen according to the
number of elements required to built ๐’ž. In our
implementation ๐œ… is such that
|
๐’ž
|
>2
๎ฐ’
to ensure that
our hash function has, at least, 2
๎ฐ’
elements.
Regarding Gaussian pre-image sampling, we
define standard deviation ๐›ผ for ๐’๐š๐ฆ๐ฉ๐ฅ๐ž๐† and upper
bound ๐›พ on the spectral norm of ฮฑ๐‘น as in (Bert and
al., 2021) i.e. ๐›ผโ‰ฅ
โˆš
2๐›ฟ
(2๐›ฟ + 1)
๎ถฅ
๐œ‚
๎ฐข
(โ„ค
๎ฏž
) and ๐›พ
๎ฌถ
>
(
๐›ผ
๎ฌถ
+1
)
๐‘ 
๎ฌต
(
๐‘น
)
+๐œ‚
๎ฐข
๎ฌถ
(
โ„ค
๎ฏก๎ฏ 
)
where ๐‘ 
๎ฌต
(
๐‘น
)
<
1.1๐œŽ(
โˆš
2๐‘‘
+
โˆš
๐‘‘๐‘˜ +4.7).
The level of security ๐œ† is related to parameters
๐‘›,๐œ‡ = ๐œŽ/๐‘ž and ๐‘ž. ๐œ† is the computational complexity
to solve LWE problem parametrized by ๐‘›,๐œ‡ and ๐‘ž.
This writes ๐œ†= ๐‹๐–๐„_๐„๐ฌ๐ญ(๐‘›,๐›ผ,๐›ผ๐‘ž) where
๐‹๐–๐„_๐„๐ฌ๐ญ is the best-known algorithm for solving
LWE. ๐‘›,๐›ผ and ๐‘ž must be to choose to achieve a level
of security greater or equal to ๐œ†. We evaluated the
security of our instances using LWE-estimator
(Albrecht and al., 2015, and dedicated website). We
ran the function ๐ž๐ฌ๐ญ๐ข๐ฆ๐š๐ญ๐ž_๐ฅ๐ฐ๐ž with the following
options:
โ€ข Secret distribution = (-1,1)
โ€ข Reduction cost model = BKZ.sieve
โ€ข Number of LWE-samples: ๐‘š = 2๐‘‘
Below, we give two practical parameters sets (i.e.,
respecting conditions listed above) for two security
levels ๐œ† :
VLDAA-128:
๐œ† โ‰ˆ 138, ๐‘‘ = 512, ๐‘ž = 7583, ๐›ฟ = 88, ๐œ… = 120
๐œŽ=6.0
๐›ผ = 12575.899863196026
๐›พ = 5702164.533998151
VLDAA-256:
๐œ† โ‰ˆ 261, ๐‘‘ = 1024, ๐‘ž = 14867, ๐›ฟ = 122, ๐œ… = 300
๐œŽ = 6.324555320336759
๐›ผ= 28874.112529324666
๐›พ = 19125481.447302323
3 IMPLEMENTATION
3.1 Presentation of the Implementation
In this section, we provide a finer analysis of the
performance of our software implementation of the
V-LDAA and highlight implementation issues. We
also compare the results with a pre-quantum ECC-
based DAA. Similarly to the original paper, we
implemented the scheme using Sagemath.
Additionally, we use the library Hashlib for hash
primitive (Hashlib, 2001).
Our implementation has 128 bits of precision by
default for basic operations such that scalar product
or Euclidean norm computation. Table 2 summarizes
the main primitives used for the implementation.
Table 2: Summary of all main primitives.
Primitive Implementation
Underl
y
in
g
schemes
Zero-knowled
e
roof L
y
ubashevsk
y
, 2012
Commitment Baum and al., 2018
BlindSign/Verify Del Pino and al., 2018
Lattice-Cryptography
Tra
p
Gen Micciancio and Peikert, 2012
Sam
p
leZ Sa
g
emath
Sam
p
leGaussian Guenise and Micciancio, 2019
SampleG Guenise and Micciancio, 2019
SamplePerturbZ Guenise and Micciancio, 2019
Rejection Sampling Lyubashevsky, 2012
SampleInBall Crystals-dilithium, Ducas and
al.,2018
General-Cryptography
Seed
g
eneration TRNG
Random Oracle SHAKE-128
3.1.1 SampleGaussian
Our Gaussian sampler is based on the MP framework
from (Micciancio and Peikert, 2012) instead of Klein
sampler (Klein, 2000 and Gentry and al., 2008). The
first one is known to be parallelizable and generally
faster than Klein but outputs longer vectors. We
considered that MP sampler could be more adapted
for VANET-based applications. Additionally, it
avoids possible precision problems that could be
encountered when sampling with Klein sampler,
On the Implementation of a Lattice-Based DAA for Vanet System
645
especially with the Gram-Schmidt orthogonalization
primitive (Carmona and al., 2023) and (Giraud and
al., 2005). Our implementation of MP sampler is
based on the work done in (Genise and Micciancio,
2018) which propose an algorithm adapted to ring
lattice i.e. which takes advantage of the algebraic
structure. ring structure. It also calls the primitive
๐’๐š๐ฆ๐ฉ๐ฅ๐ž๐™(๐ˆ,๐’„) which outputs an integer from ๐““
โ„ค,๎ฎข,๎ญก
and is implemented by Sagemath.
3.1.2 Zero-Knowledge Proof
For the zero-knowledge proof in ๐‰๐จ๐ข๐ง procedure, we
implemented the โ€œFiat-Shamir with Abortโ€ ZKP
scheme from (Lyubashevsky, 2012). We admit that
one could use the scheme described in (Ling and al.,
2013) proving the exact knowledge of a secret since,
even if it is not very efficient, the proof is done one
time. We justify this choice by the fact that the
general framework of (Lyubashevsky, 2012) is also
used on the others digital signature of the V-LDAA :
๐๐ฅ๐ข๐ง๐๐’๐ข๐ ๐ง and ๐’๐ข๐ ๐ง as well as the lattice-based
digital signature Crystals-Dilithium which has been
recently selected by the NIST (Ducas et al., 2018 and
NIST, 2024) to be standardized. To generate a
polynomial challenge, we implemented the algorithm
๐’๐š๐ฆ๐ฉ๐ฅ๐ž๐ˆ๐ง๐๐š๐ฅ๐ฅ used in Crystals-Dilithium.
3.1.3 Commitment
For the commitment, we use the same method used
by the authors of the V-LDAA i.e. the technique from
in (Baum and al., 2018) introduced in the previous
section. We emphasize on a particularity met on the
implementation of the commitment applied to the V-
LDAA during the ๐‚๐ซ๐ž๐š๐ญ๐ž . The framework implies
to create two commits ๐‘ก= ๐ถ๐‘œ๐‘š
(
๐‘–,๐’“
)
and ๐‘ก
๏‡ฑ
=
๐ถ๐‘œ๐‘š๎ตซ๐‘–
๎ถฅ
๐‘ž
,๐’“โ€ฒ๎ตฏ. Let ๐‘จ
๐Ÿ
and ๐‘จ
๐Ÿ
๏‡ฑ
, the vectors in
โ„›
๎ฏค
๎ฌตร—๎ฌธ
of the form
[
01โ„›
๎ญฏ
โ„›
๎ญฏ
]
(as defined in
section 3.2) and respectively associated to ๐‘ก and ๐‘ก
๏‡ฑ
.
Using equation (2) to recover equation (1), itโ€™s easy
to see that ๐‘จ
๐Ÿ
and ๐‘จ
๐Ÿ
๏‡ฑ
need to be equal to โˆ’[๐’‚
๐‘ป
๐’‚
๐‘ฏ
]
that contradicts the fact that those two matrix are
generated as
[
01โ„›
๎ญฏ
โ„›
๎ญฏ
]
. This issue is not
mentioned in the original paper.
The ๐๐ฅ๐ข๐ง๐๐’๐ข๐ ๐ง/๐•๐ž๐ซ๐ข๐Ÿ๐ฒ protocol is
implemented as described in (Del Pino and al., 2018).
3.2 Performances Analysis
We give a performance analysis of the timing of each
primitive of V-LDAA for two sets of parameters.
First, we compare our implementation with the one
provided in (Chen and al., 2021) with the same
instances: ๐‘‘ = 128, ๐‘ž = 114356107 โ‰ˆ2
๎ฌถ๎ฌป
.
According to LWE-estimator, the security level is
๐œ†โ‰ˆ42. Secondly, we tested our implementation with
a more practical (regarding security) set achieving
128 bits of security.
The implementation run on a Core i5-8265U CPU
@1.60GHz. To get execution time, we took the
average of the times recorded on 50 executions for
each primitive.
Table 3 below provides the execution time of all
primitives of the scheme. One can observe that our
implementation speeds up the ๐‰๐จ๐ข๐ง procedure by
85% and the ๐‚๐ซ๐ž๐š๐ญ๐ž procedure by almost 80%
regarding previous work.
Table 3: Execution time of V-LDAA for two sets of
parameters and performance comparison with
implementation from (Chen and al., 2021).
Time (in seconds)
(Chen and
al., 2021)
Our implementation
Parameters
๐‘› = 128
๐‘ž= 2
๎ฌถ๎ฌป
๐œ†โ‰ˆ44
VLDAA-
128
Setu
p
- 0.022 0.043
Join 7.45 1.19 72.05
Create 5.41 1.13 5.11
Si
g
n 0.030 0.030 0.087
Verif
y
0.047 0.069 0.68
Revoke -
1.41 + ๐‘‡
๎ฏ˜๎ฏก๎ฏ–
2.77 + ๐‘‡
๎ฏ˜๎ฏก๎ฏ–
Benchmark shows that the slower primitive is
๐‰๐จ๐ข๐ง. The bottleneck comes from the gaussian
sampler and especially from the generation of
perturbation. This is due to the number of operations
on polynomials (multiplication and inverse) executed
in the ring โ„
[
๐‘‹
]
/
โŒฉ
๐‘‹
๎ฏ—
+1
โŒช
of real-coefficients
polynomial. However, in practice, the procedure ๐‰๐จ๐ข๐ง
is called one time and can be executed offline.
Additionally, the algorithm used for gaussian
sampling is parallelizable.
Execution time of primitive ๐‚๐ซ๐ž๐š๐ญ๐ž is versatile
because of the number of polynomial multiplications
and rejection sampling in ๐๐ฅ๐ข๐ง๐๐’๐ข๐ ๐ง . Using
parameters from VLDAA-128, we registered a
standard deviation of 5.05 seconds for this primitive.
๐’๐ข๐ ๐ง and ๐•๐ž๐ซ๐ข๐Ÿ๐ฒ are the two primitives that have
to be implemented in an embedded (i.e. resources-
constrained) environment and executed several times.
For
VLDAA-128, in signing operation, polynomial
error sampling takes 64.81% of the total time,
rejection sampling takes 20.09%, hashing takes
12.09% and multiplications takes 3.01%. ๐•๐ž๐ซ๐ข๐Ÿ๐ฒ is
slower than ๐’๐ข๐ ๐ง since two verifications are required:
SECRYPT 2024 - 21st International Conference on Security and Cryptography
646
on the message signature and on the signature of
credentials generated by ๐๐ฅ๐ข๐ง๐๐ฏ๐ž๐ซ๐ข๐Ÿ๐ฒ . The latter
takes most of the times in the verification due to the
sixteen multiplications that takes 85.6% of the total
time.
Regarding the structure of these two primitives, it
is natural to find synergies with primitives Sign and
Verify of DILITHIUM (Ducas et al., 2018). Both
schemes sample a vector of polynomial to mask the
secret vector multiplied by a public matrix. However,
due to the specific structure of the ring and particular
choice of ๐‘ž โ‰ก 3 ๐‘š๐‘œ๐‘‘ 4 makes the V-LDAA not
compliant with the NTT for accelerating
multiplication operations (NTT requires ๐‘žโ‰ก
1 ๐‘š๐‘œ๐‘‘ 2๐‘‘).
The execution time of ๐‘๐ž๐ฏ๐จ๐ค depends on ๐‘‡
๎ฏ˜๎ฏก๎ฏ–
,
the time used to encrypt the message to send to all
users for the revocation. The reference papers did not
specify the algorithm used.
3.3 Benchmark with Pre Quantum
DAA
We compare our implementation of the V-LDAA
with a pre-quantum ECC-based DAA proposed in
(Yang and al., 2021) and compliant with the TPM 2.0
specifications (Trusted Computing Group, 2014).
Benchmark of this ECC-DAA has been evaluated on
a 1.80GHz Intel Core i7-8550U CPU (host) paired
with an Infineon TPM 2.0. The implementation is in
C and uses the library ACML. TPM 2.0 specifications
include two pairing EC (Trusted Computing Group,
2014): BN_P256 and BN_P638. The first provides โ‰ˆ
100 bits of security but cryptanalysis shows that
BN_P256 curve is no longer secure (Barbulescu and
al., 2018). The second guarantees 128 bits of security
but is not implemented on Infineon TPM 2.0.
Table 4: Comparison of the execution time of sign/verify
operation and size of credentials/signature between our
implementation of V-LDAA and ECC-based DAA of
(Yang and al., 2021).
VLDAA-
128
BN_P256 BN_P636
Size (in bytes)
Credentials 44,142 193 479
Sign. size 431,254
705 + ๐‘œ(1) 1,800 + ๐‘œ(1)
Time (in ms)
Sign time 87 137 -
Verif. Time 680 81 -
The size of credentials and signature remain very
large compared to those of the EC-DAA. The
signature size includes the signature of the message
(โ‰ˆ25 ๐‘˜๐ต) and the attestation signature (โ‰ˆ406 kB).
This confirms a general impact of post-quantum
cryptography on the instance size increasing
regarding pre-quantum cryptography The sign
operation is 37% faster in V-LDAA than in EC-DAA
with BN_P256 but the verify much slower in the
lattice-based case.
4 CONCLUSIONS
We proposed a software implementation of the most
recent V-LDAA and a complete parametrization of
the scheme. The main bottleneck remains the non-
compatibility of the NTT with the algebraic structure
of the V-LDAA to improve polynomial
multiplication. Size of the instances also represents a
huge challenge especially regarding to the size of
attestation signature.
This work is a first step toward the optimization
of V-LDAA implementation to achieve TPM
requirements in terms of resources. The synergy with
DILITHIUM regarding the Sign and Verify could
bring strong enabler to accelerate the LDAA in
hardware.
REFERENCES
Agrawal, S., Boneh, D., & Boyen, X. (2010). Efficient
lattice (H) IBE in the standard model. In Advances in
Cryptologyโ€“EUROCRYPT 2010: 29th Annual
International Conference on the Theory and
Applications of Cryptographic Techniques, French
Riviera, May 30โ€“June 3, 2010. Proceedings 29 (pp.
553-572). Springer Berlin Heidelberg.
Albrecht, R.M., Player, R., Scott, S. (2015). On the
concrete hardness of Learning with Errors, In Journal
of Mathematical Cryptology 2015. Related website:
https://lwe-estimator.readthedocs.io/en/latest/
Albrecht, M., Chase, M., Chen, H., Ding, J., Goldwasser,
S., Gorbunov, S., ... & Vaikuntanathan, V. (2021).
Homomorphic encryption standard. Protecting privacy
through homomorphic encryption, 31-62.
Bansarkhani, R. E., and Kaafarani, A. E. (2017) Direct
anonymous attestation from lattices. In Cryptology
ePrint Archive, Report 2017/1022.
Barbulescu, R., & Duquesne, S. (2019). Updating key size
estimations for pairings. Journal of cryptology, 32,
1298-1336.
Baum, C., Damgรฅrd, I., Lyubashevsky, V., Oechsner, S., &
Peikert, C. (2018, August). More efficient
commitments from structured lattice assumptions.
In International Conference on Security and
Cryptography for Networks (pp. 368-385). Cham:
Springer International Publishing.
On the Implementation of a Lattice-Based DAA for Vanet System
647
Bert, P., Eberhart, G., Prabel, L., Roux-Langlois, A., &
Sabt, M. (2021). Implementation of lattice trapdoors on
modules and applications. In Post-Quantum
Cryptography: 12th International Workshop,
PQCrypto 2021, Daejeon, South Korea, July 20โ€“22,
2021, Proceedings 12 (pp. 195-214). Springer
International Publishing.
Brickell, E., Camenisch, J., and Chen, L. (2004). Direct
anonymous attestation. In ACM Conference on
Computer and Communications Security, CCS 2004,
ACM.
Brickell, E., Chen, L., and Li, J. (2008). A new direct
anonymous attestation scheme from bilinear maps. In
Trusted Computing - Challenges and Applications, pp.
166โ€“178.
Carmona, M., Lesaignoux, D., & Loiseau, A. (2023, July).
On the implementation of a lattice-based revocable
hierarchical Ibe. In SECRYPT 2023-20th International
Conference on Security and Cryptography (pp. 617-
623). SCITEPRESSโ€“Science and Technology
Publications, Lda..
Chen, L. (2010). A DAA scheme requiring less TPM
resources. In Information Security and Cryptology: 5th
International Conference, Inscrypt 2009, Beijing,
China, December 12-15, 2009. Revised Selected Papers
5 (pp. 350-365). Springer Berlin Heidelberg.
Chen, L., El Kassem, N., Lehmann, A., & Lyubashevsky,
V. (2019). A framework for efficient lattice-based daa.
In Proceedings of the 1st ACM Workshop on Workshop
on Cyber-Security Arms Race (pp. 23-34).
Chen, L., Tu, T., Yu, K., Zhao, M., and Wang, Y. (2021).
V-ldaa: A new lattice-based direct anonymous
attestation scheme for vanets system. Security and
Communication Networks, 2021, 1-13.
Del Pino, R., Lyubashevsky, V., & Seiler, G. (2018,
October). Lattice-based group signatures and zero-
knowledge proofs of automorphism stability.
In Proceedings of the 2018 ACM SIGSAC conference
on computer and communications security (pp. 574-
591).
Ducas, L., Kiltz, E., Lepoint, T., Lyubashevsky, V.,
Schwabe, P., Seiler, G., & Stehlรฉ, D. (2018). Crystals-
dilithium: A lattice-based digital signature
scheme. IACR Transactions on Cryptographic
Hardware and Embedded Systems, 238-268.
Genise, N., & Micciancio, D. (2018). Faster Gaussian
sampling for trapdoor lattices with arbitrary modulus.
In Advances in Cryptologyโ€“EUROCRYPT 2018: 37th
Annual International Conference on the Theory and
Applications of Cryptographic Techniques, Tel Aviv,
Israel, April 29-May 3, 2018 Proceedings, Part I
37 (pp. 174-203). Springer International Publishing.
Gentry, C., Peikert, C., & Vaikuntanathan, V. (2008, May).
Trapdoors for hard lattices and new cryptographic
constructions. In Proceedings of the fortieth annual
ACM symposium on Theory of computing (pp. 197-
206).
Giraud, L., Langou, J., Rozloznik, M. (2005). The Loss of
Orthogonality in the Gram-Schmidt Orthogonalization
Process, In Computers & Mathematics with
Applications.
Hashlib, (2001), Hashlib official site: https://docs.python.o
rg/3/library/hashlib.html
He, D., Zeadally, S., Xu, B., & Huang, X. (2015). An
efficient identity-based conditional privacy-preserving
authentication scheme for vehicular ad hoc
networks. IEEE Transactions on Information Forensics
and Security
, 10(12), 2681-2691.
International Organization for Standardization. ISO/IEC
20008-2: Information technology - Security techniques
- Anonymous digital signatures โ€“ Part 2: Mechanisms
using a group public key, 2013.
Klein, P. (2000, February). Finding the closest lattice vector
when it's unusually close. In Proceedings of the
eleventh annual ACM-SIAM symposium on Discrete
algorithms (pp. 937-941).
Ling, S., Nguyen, K., Stehlรฉ, D., & Wang, H. (2013,
February). Improved zero-knowledge proofs of
knowledge for the ISIS problem, and applications.
In International workshop on public key
cryptography (pp. 107-124). Berlin, Heidelberg:
Springer Berlin Heidelberg.
Micciancio, D., & Peikert, C. (2012, April). Trapdoors for
lattices: Simpler, tighter, faster, smaller. In Annual
International Conference on the Theory and
Applications of Cryptographic Techniques (pp. 700-
718). Berlin, Heidelberg: Springer Berlin Heidelberg.
Lyubashevsky, V., & Micciancio, D. (2006, July).
Generalized compact knapsacks are collision resistant.
In International Colloquium on Automata, Languages,
and Programming (pp. 144-155). Berlin, Heidelberg:
Springer Berlin Heidelberg.
Lyubashevsky, V., Peikert, C., & Regev, O. (2010). On
ideal lattices and learning with errors over rings.
In Advances in Cryptologyโ€“EUROCRYPT 2010: 29th
Annual International Conference on the Theory and
Applications of Cryptographic Techniques, French
Riviera, May 30โ€“June 3, 2010. Proceedings 29 (pp. 1-
23). Springer Berlin Heidelberg.
Lyubashevsky, V. (2012, April). Lattice signatures without
trapdoors. In Annual International Conference on the
Theory and Applications of Cryptographic
Techniques (pp. 738-755). Berlin, Heidelberg: Springer
Berlin Heidelberg.
National Institute of Standards and Technology (NIST).
Module-Lattice-Based Digital Signature Standard,
2024.
Trusted Computing Group. TPM main specification version
1.2, 2004.
Trusted Computing Group. Trusted platform module
library specification, family โ€œ2.0โ€, 2014.
Yang, K., Chen, L., Zhang, Z., Newton, C. J., Yang, B., &
Xi, L. (2021). Direct anonymous attestation with
optimal tpm signing efficiency. IEEE transactions on
information forensics and security, 16, 2260-2275.
SECRYPT 2024 - 21st International Conference on Security and Cryptography
648