Next Article in Journal
Research on SAR Image Target Recognition Method Based on Multi-Dimensional Feature Fusion
Next Article in Special Issue
Unsupervised Anomaly Detection Framework for Multimodal Data in Industrial Control Systems
Previous Article in Journal
ADS-MIR: A Machine Perception-Oriented Visible-Infrared Sensor Fusion Framework for Intelligent Transportation Perception Under Complex Illumination Conditions
Previous Article in Special Issue
Hardware-Efficient Configurable Ring-Oscillator-Based Physical Unclonable Function/True Random Number Generator Module for Secure Key Management
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

MoRo: From One-Sample Ring-LWE Rounding Key Exchange to Module-LWE IND-CCA KEM

1
Graduate School of Informatics and Engineering, The University of Electro-Communications, Tokyo 182-8585, Japan
2
Graduate School of Information Science and Technology, The University of Tokyo, Tokyo 113-8656, Japan
*
Author to whom correspondence should be addressed.
Sensors 2026, 26(12), 3674; https://doi.org/10.3390/s26123674
Submission received: 9 April 2026 / Revised: 3 June 2026 / Accepted: 4 June 2026 / Published: 9 June 2026
(This article belongs to the Collection Cryptography and Security in IoT and Sensor Networks)

Abstract

With the growing need for long-term secure communications in Internet-of-Things (IoT) and sensor-network environments, practical and robust post-quantum key-establishment mechanisms have become increasingly important. In this work, we revisit the ephemeral-only Ding key exchange (DKE) proposed at ACNS 2019, which is based on one-sample Ring Learning With Errors (Ring-LWE) with rounding, and the original analysis of which covers only passive security. Building on the DKE framework, we propose MoRo-KEM, a Module Learning With Errors (Module-LWE)-based key-encapsulation mechanism using rounding. First, we lift the construction from the Ring-LWE setting to the Module-LWE setting, retaining ring-level efficiency while enabling more flexible parameter choices and reducing reliance on rigid algebraic structure. Second, we replace discrete Gaussian sampling for secrets and errors with centered binomial sampling, thereby simplifying constant-time vectorized implementations while preserving the required noise behavior. Third, we extend the resulting key-exchange core to an IND-CPA-secure public-key encryption scheme and further obtain an IND-CCA-secure KEM via the Fujisaki–Okamoto transform. Finally, at security level I , MoRo-KEM achieves a decryption failure rate of 2 166 , lower than the 2 139 reported for CRYSTALS-Kyber, thus improving robustness against decryption-failure attacks. These properties make the proposed design attractive for secure key establishment among sensor nodes, edge devices, and gateways operating under constrained computation, memory, and communication budgets. Overall, our construction provides a concrete path from ephemeral key exchange to a practical IND-CCA-secure KEM instantiated over Module-LWE.

1. Introduction

1.1. Background

IoT and sensor-network environments typically consist of a large number of resource-constrained devices, such as sensor nodes, edge devices, and aggregation gateways, which operate under limited computational power, memory, bandwidth, and energy budgets. At the same time, these systems often require long-term confidentiality and authenticated key establishment, because they are widely deployed in critical application domains, including smart homes, industrial monitoring, environmental sensing, healthcare systems, and intelligent transportation. Such infrastructures may remain in operation for many years and rely on cryptographic algorithms for long-term protection. In 1976, Diffie and Hellman introduced the first practical key-exchange protocol, now known as the Diffie–Hellman key exchange [1]. This seminal work established the feasibility of public-key cryptography and fundamentally influenced the design of many subsequent cryptographic schemes and key-establishment protocols. A representative example is the ElGamal encryption scheme, which can be derived from the Diffie–Hellman framework and whose security relies on the hardness of the discrete logarithm problem. Meanwhile, today, widely deployed public-key cryptosystems include RSA, whose security is based on the presumed hardness of the integer factorization problem.
However, in 1994, Shor showed that both integer factorization and discrete logarithms can be solved in polynomial time on a sufficiently powerful quantum computer [2]. Consequently, if large-scale quantum computers become practical, the security of these conventional schemes would be fundamentally undermined. This threat has motivated the development of post-quantum cryptography (PQC), namely, cryptographic schemes that are believed to remain secure even against adversaries equipped with quantum computers.
Driven by this concern, NIST launched its PQC standardization effort and invited submissions for core public-key primitives, including public-key encryption, key exchange, and digital signatures [3]. As part of the evaluation process, candidates were required to provide both security self-evaluations and performance data. For encryption and key-establishment mechanisms, security was primarily assessed under standard notions such as Indistinguishability under Chosen-Ciphertext Attack (IND-CCA). This process has significantly accelerated the development and analysis of practical post-quantum schemes, especially lattice-based constructions, which have emerged as some of the most promising candidates for standardization and deployment.
Among the main families of lattice-based cryptography, schemes based on the Learning With Errors (LWE) problem are particularly important. The plain LWE setting offers a conservative foundation, but typically leads to relatively large public keys and ciphertexts; a representative example is Frodo [4]. To improve efficiency, algebraically structured variants such as Ring-LWE have been introduced [5], enabling more compact keys and faster polynomial arithmetic. Representative Ring-LWE-based schemes include NewHope [6] and the Ding key exchange (DKE) [7]. A further development is Module-LWE, which provides a middle ground between the stronger structure of Ring-LWE and the more conservative but less efficient plain LWE setting. This design space has proved especially attractive in practice, as exemplified by Kyber, a Module-LWE-based IND-CCA-secure key-encapsulation mechanism (KEM) [8].
Among these schemes, DKE is the most closely related to our work. DKE is a one-sample Ring-LWE-based key-exchange protocol in which the secret and error vectors are ephemeral; that is, freshly sampled for each session and not reused across different executions. This design avoids the long-term reuse of noisy secret material and supports a simple and efficient key-exchange mechanism in the passive security model. To offset the communication overhead introduced by the ephemeral setting, DKE combines Ring-LWE with a rounding-based reconciliation mechanism through the Round function, thereby achieving a practical trade-off between security and efficiency.
From the viewpoint of modern PQC deployment, however, several issues remain open. First, although Kyber achieves excellent overall efficiency, its concrete parameter sets are closely tied to number-theoretic transform (NTT)-friendly design choices, which limits flexibility in parameter selection. Second, the decryption failure rate reported for Kyber512 is larger than 2 143 , and decryption failures have long been recognized as a potential attack surface in lattice-based encryption and KEM constructions. Due to the constraints imposed by NTT-friendly parameters, it remains highly challenging to construct parameter sets that simultaneously achieve both a low decryption failure rate and AES-128-bit security. Therefore, it is meaningful to investigate alternative designs that simultaneously provide greater parameter flexibility and a smaller decryption failure rate. In addition, DKE itself provides only passive security for key-exchange, rather than stronger notions such as IND-CPA security for public-key encryption (PKE) or IND-CCA security for KEMs.
These considerations motivate the present work. We revisit the one-sample Ring-LWE key-exchange with rounding and reconciliation proposed by Ding et al. [7], and extend it in two directions. First, we lift the construction from the Ring-LWE setting to the Module-LWE setting, aiming to retain high efficiency while allowing more flexible parameter choices and reducing reliance on rigid algebraic structure. Second, we show how to transform the resulting rounding-based key-exchange core into a practical IND-CCA KEM through a standard PKE → Fujisaki–Okamoto (FO) transform pipeline. In this way, our work connects an ephemeral one-sample key-exchange paradigm with the security and functionality requirements expected of modern post-quantum KEMs.
Simultaneously, the development of practical post-quantum cryptosystems suitable for IoT and sensor-network settings is an important topic within the scope of post-quantum cryptography for IoT and sensor networks. Recent work has also emphasized the importance and deployment challenges of integrating post-quantum cryptography into networking protocols, connected-device environments (e.g., VANET), and federated machine learning systems [9,10,11,12]. From this perspective, a post-quantum KEM for IoT-oriented deployment should not only provide strong security guarantees, but also support efficient and robust implementation on constrained platforms. In particular, moderate implementation complexity, efficient polynomial arithmetic, simple sampling procedures, and a low decryption failure probability are desirable for practical deployment in large-scale sensor-network systems.
These requirements directly motivate the design of MoRo-KEM. The proposed MoRo-KEM has several features that make it relevant to secure communication in IoT and sensor-network architectures. First, the Module-LWE setting provides a practical balance between security and efficiency, making it suitable for post-quantum key establishment between sensor nodes, edge devices, and gateways. Second, the use of centered binomial distributions instead of discrete Gaussian sampling, simplifies implementation and is more amenable to constant-time and vectorized software or hardware designs, which is beneficial for resource-constrained devices. Third, the reduced decryption failure probability improves the robustness and reliability of repeated key-establishment procedures. This property is particularly important in large-scale sensing systems, where even rare failures may be amplified by frequent protocol executions among many devices. Therefore, beyond its theoretical contribution, MoRo-KEM is motivated by practical security requirements arising from IoT and sensor-network deployments. These features make the proposed construction a relevant post-quantum key-establishment approach for constrained and large-scale networked environments.
Recent studies have further emphasized both the deployment relevance of post-quantum KEMs in IoT environments [13,14] and the need for careful treatment of FO-based decapsulation and decryption-failure behavior in post-quantum KEMs [15,16,17]. Moreover, the 2025 NIST fourth-round status report highlights the continuing standardization and diversification of post-quantum key-establishment mechanisms [18].

1.2. Our Contributions

In this paper, we revisit the ephemeral-only Ding key exchange (DKE) [7], a one-sample key-exchange protocol based on Ring-LWE, the original analysis of which is restricted to the passive security model. Building on DKE, we propose MoRo-KEM and make the following contributions.
  • Lifting to the Module-LWE setting: We lift the original Ring-LWE-based construction to the Module-LWE setting. This preserves the implementation efficiency of ring-based instantiations while enabling more flexible choices of module rank and parameters, and it reduces reliance on rigid algebraic structure, thereby improving robustness against structure-exploiting attacks.
  • Replacing discrete Gaussian sampling with centered binomial sampling: We sample the secret vector s and error vector e from a centered binomial distribution (CBD) instead of a discrete Gaussian distribution. This preserves the required noise behavior while enabling simpler constant-time and vectorized implementations.
  • From key exchange to public-key encryption and IND-CCA KEM: Following the DKE paradigm, we extend the key-exchange core to an IND-CPA-secure PKE scheme. We then apply the Fujisaki–Okamoto transform [19] to obtain an IND-CCA-secure KEM.
  • Reducing the decryption failure rate: The decryption failure rate of CRYSTALS-Kyber is 2 139 , which is larger than 2 143 , motivating concern about attacks exploiting decryption errors, such as decryption-failure attacks. In contrast, MoRo-KEM with q = 7681 achieves a decryption failure rate of 2 166 , which is significantly lower and thus improves robustness against such attacks.
    Note that the second-round submission of Kyber estimated the decryption failure rate of Kyber512 to be approximately 2 160 , but this estimate was later considered overly conservative and was revised to approximately 2 139 in the third-round submission.
These properties also make MoRo-KEM relevant to post-quantum key establishment in IoT and sensor-network scenarios, where lightweight implementation and communication robustness are both important.

1.3. Organization

The rest of this paper is organized as follows. Section 2 introduces the necessary preliminaries. Section 3 introduces cryptographic constructions related to our work, including CRYSTALS-Kyber and the Ding key exchange. Section 4 presents the proposed scheme and proves its correctness. Section 5 provides the security analysis. Section 6 presents concrete parameter sets for the proposed scheme. Finally, Section 7 concludes the paper.

2. Preliminaries

2.1. Notation

We first fix the notation and symbols used throughout this paper. Let p and q be moduli with p < q , and let k denote the module rank. We assume that n is a power of two. Let η denote the parameter of the centered binomial distribution. We write Z for the set of integers and Z q = Z / q Z for the ring of integers modulo q. We define the polynomial ring R = Z [ x ] / ( x n + 1 ) and its reduction modulo q by R q = Z q [ x ] / ( x n + 1 ) . We also define β p = log 2 p and β q = log 2 q as the bit lengths used for compression. Let | | · | | be the l -norm. In particular, for a vector x with polynomial components, we denote its infinity norm by x , which is the maximum absolute value of the polynomial coefficients. We write x $ χ to denote sampling from a distribution χ . We use x , x , and  x to denote the floor, ceiling, and rounding functions, respectively. Concatenation is denoted by a b , and  a [ i ] denotes the i-th element of an array a.
In this paper, elements of Z q are represented by their centered representatives in { q 1 2 , , q 1 2 } rather than ( 0 , q 1 ) . Vectors are denoted by bold lowercase letters, for example, a , and matrices by bold uppercase letters, for example, A .

2.2. Probability Distributions

  • Centered binomial distribution (CBD): For η N , the centered binomial distribution CBD η is defined as the distribution of the random variable i = 1 η ( a i b i ) , where a i and b i are independent and uniformly sampled from { 0 , 1 } . Its support is the set of integers in the interval [ η , η ] .
  • Uniform distribution: The uniform distribution over a finite set S is denoted by U ( S ) and is defined as the distribution of a random variable X that takes each value in S with equal probability. Formally, if  S = { s 1 , s 2 , , s n } , then
    X U ( S ) Pr [ X = s i ] = 1 n , i = 1 , , n .
    Let U [ a , b ] denote the uniform distribution over the discrete set { a , a + 1 , , b } . A random sample from this distribution is written as X $ U [ a , b ] . For example, the uniform distribution over the set { 0 , 1 , , q 1 } used in this paper is written as X $ U [ 0 , q 1 ] .

2.3. Symmetric Primitives

Let B denote the set of byte values. We write B for the set of -byte strings and B * for the set of byte strings of arbitrary length. Our IND-CCA KEM construction relies on the following symmetric primitives. We use a pseudorandom function (PRF),
PRF : B 32 × B B * ,
and an extendable-output function (XOF),
XOF : B * × B * × B * B * .
We also use two hash functions,
H : B * B 32 , G : B * B 32 × B 32 ,
and a key-derivation function (KDF),
KDF : B * B * .
Furthermore, for  a B * and c Z , we write a + c to denote the subarray of a starting at the c-th byte.

2.4. Lattice Problems

  • Learning With Errors (LWE) problem [20]: Let A Z q m × n be sampled uniformly at random, where m , n Z > 0 . Let s be a small secret vector and e be an error vector, sampled from an appropriate noise distribution, for example, D σ . Then, the pair
    ( A , b = A s + e mod q ) Z q m × n × Z q m
    is called an LWE instance. Search version of the LWE problem: Given an LWE instance ( A , b ) , recover the pair ( s , e ) . Decision version of the LWE problem: Given ( A , b ) , distinguish whether b is generated from an LWE instance or is sampled uniformly at random from Z q m .
  • Ring-LWE problem [5]: Let m 1 be a power of 2, let q 2 be an integer, and let
    R q = Z q [ x ] / Φ m ( x ) ,
    where Φ m ( x ) = x n + 1 is the m-th cyclotomic polynomial with n = m / 2 . For a secret polynomial s $ χ and an error polynomial e $ χ , choose a R q uniformly at random and output
    ( a , b = a · s + e ) R q × R q .
    Search version of the Ring-LWE problem: Given polynomially many samples ( a , b = a · s + e ) R q × R q , recover the pair ( s , e ) . Decision version of the Ring-LWE problem: Given a R q , distinguish whether b = a · s + e R q is generated from a Ring-LWE instance or is sampled uniformly at random from R q .
  • Module-LWE problem [21]: Let R q = Z q [ x ] / ( x n + 1 ) , and fix integers k , m N . Sample A U ( R q m × k ) , s χ k , and  e χ m independently, where χ is applied coefficient-wise to elements of R q . Then, the pair
    ( A , A s + e ) R q m × k × R q m
    is called a Module-LWE instance. Search version of the Module-LWE problem: Given multiple samples
    ( A , B = A s + e ) R q m × k × R q m ,
    recover the pair ( s , e ) . Decision version of the Module-LWE problem: Given A R q m × k , distinguish whether B = A s + e R q m is generated from a Module-LWE instance or is sampled uniformly at random from R q m .
The Module-LWE assumption, which underlies the security of the key-exchange scheme proposed in this work, states that distinguishing such samples from uniformly random elements is hard for any probabilistic polynomial-time (PPT) adversary.

3. Cryptographic Background

In this section, we review prior work on lattice-based key-exchange and encryption schemes. We first introduce the Ding key exchange (DKE) protocol [7], which is an ephemeral Ring-LWE+Rounding-based key-exchange scheme achieving passive security. We then describe several functions from DKE that are essential to our construction. We also briefly review Kyber [8], a Module-LWE-based key-encapsulation mechanism (KEM) that has been standardized by NIST for post-quantum security.

3.1. Ding Key Exchange (DKE)

In this subsection, we introduce the key functions and components of DKE [7], which are essential to our proposed construction. In particular, we review the Hint Function, Signal Function, Reconciliation Function, Rounding Function, Recovering Function, and the derivation of a .
  • Hint Function: The Hint Function indicates whether a value lies in a specified region and is defined as follows:
    σ 0 ( x ) = 0 , x q 4 , q 4 , 1 , otherwise ,
    and
    σ 1 ( x ) = 0 , x q 4 + 1 , q 4 + 1 , 1 , otherwise .
    Here, x Z q , and  σ 0 ( x ) , σ 1 ( x ) { 0 , 1 } .
  • Signal Function: The Signal Function serves as an indicator used in the reconciliation procedure to determine how nearby values should be grouped. It is defined as follows. For any y Z q ,
    Sig ( y ) = σ b ( y ) ,
    where b { 0 , 1 } . If Sig ( y ) = 1 , then y is said to lie in the outer region; otherwise, it lies in the inner region. The Signal Function is defined for integers in Z q . For a R q , it is applied coefficient-wise to each coefficient a i Z q . In this paper, the same notation Sig ( · ) is used for both the scalar and polynomial versions.
  • Reconciliation Function: The Reconciliation Function is used to enable both parties to derive the same shared value. For any x Z q , let w = Sig ( x ) . Then,
    Mod 2 ( x , w ) = x + w · q 1 2 mod q mod 2 .
    Here, elements of Z q are first interpreted as integers in Z before the modulo-2 operation is applied.
Let Δ denote the error tolerance of Mod 2 ( · ) . Namely, for any x , y Z q , if  x y Δ , then
Mod 2 ( x , w ) = Mod 2 ( y , w ) ,
where w = Sig ( y ) . In DKE, the value Δ = q / 4 2 is used to ensure an overwhelmingly small decryption failure rate.
The Reconciliation Function is defined for integers in Z q . For a R q , it is applied coefficient-wise to each coefficient a i Z q . In this paper, the same notation Mod 2 ( · ) is used for both the scalar and polynomial versions.
To explain its role, note that the input is first reduced modulo q and then modulo 2. Because q is odd, the modulo-q reduction may change parity only when wrap-around occurs. Such a parity mismatch can occur when one of the two compared values crosses the modulo-q boundary while the other does not. The following Signal Function Sig ( · ) prevents this by adjusting the reconciliation inputs so that both values lie in compatible regions of Z q , thereby avoiding asymmetric wrap-around.
Lemma 1.
Let q > 8 be an odd integer. The function Mod 2 ( · ) defined above is a robust extractor with respect to the Signal Function Sig ( · ) with error tolerance
δ = q 4 2 .
The proof of Lemma 1 can be found in [22].
  • Rounding Function: The Rounding Function maps an element from Z q to Z p . The function Round ( x , p , q ) is defined in Algorithm 1. Here, we assume that x Z and that q > p > 0 are integers. The value x is a coefficient of a polynomial a R q , and q and p are protocol parameters. For convenience, before applying Round ( · ) , we convert
    x q 1 2 , , q 1 2 to x { 0 , , q 1 } .
    The Rounding Function is defined for integers in Z q . For a R q , it is applied coefficient-wise to each coefficient a i Z q . In this paper, the same notation Round ( · ) is used for both the scalar and polynomial versions.
Algorithm 1  Round ( x , p , q )
Input:   x Z q , p , q
Output:  Rounded value x of x
  1:
t 2 q / p , k x / t
  2:
if x is odd  then
  3:
     x 2 k + 1
  4:
else if x is even then
  5:
     x 2 k
  6:
end if
  7:
if  x = p   then
  8:
     r n d $ U [ 0 , 1 ]
  9:
    if  r n d = 1  then
10:
         x x 2
11:
    else
12:
         x x + 2 mod ( p + 1 )
13:
    end if
14:
end if
15:
return  x
  • Recovering Function: The Recovering Function is the inverse of the Rounding Function and maps values from Z p back to Z q . It is defined in Algorithm 2. Here, we assume that x Z and that q > p > 0 are integers. The value x is a coefficient of a polynomial a R q , and q and p are protocol parameters. For convenience, after applying Recover ( · ) , we convert
    x { 0 , , q 1 } back to x q 1 2 , , q 1 2 .
    The Recovering Function is defined for integers in Z . For a R q , it is applied coefficient-wise to each coefficient a i Z q . In this paper, the same notation Recover ( · ) is used for both the scalar and polynomial versions.
Algorithm 2  Recover ( x , p , q )
Input:  x , p , q
Output:  Recovered value x of x
  1:
t q / p
  2:
if  x is odd then
  3:
     x x · t + 1
  4:
else if  x is even then
  5:
     x ( x + 1 ) · t
  6:
end if
  7:
return  x
The case distinction in the Round and Recover procedures is introduced to preserve the parity of the reconciliation inputs. Moreover, in the boundary case x = p , a random ± 2 correction is applied to avoid parity inversion caused by modulo reduction.
  • Derivation of polynomial a function: We use a 128-bit seed to generate a fresh a . Specifically, the seed is given to a pseudorandom number generator, and each coefficient a i Z q for i [ 1 , n ] of a R q is derived as in Algorithm 3.
Algorithm 3  Derive a ( s e e d )
Output: 
Coefficient a i of polynomial a R q
  1:
a i $ U [ 0 , q 1 ]

3.2. Kyber.CCA-KEM

Kyber [8] constructs an IND-CCA-secure KEM. It first designs an IND-CPA-secure public-key encryption (PKE) scheme and then applies the Fujisaki–Okamoto (FO) transform [19] to obtain an IND-CCA-secure KEM.
More specifically, Kyber follows the standard paradigm of constructing an IND-CCA-secure key-encapsulation mechanism (KEM) by applying the Fujisaki–Okamoto (FO) transform to an underlying IND-CPA-secure public-key encryption (PKE) scheme based on the Module Learning With Errors (Module-LWE) problem. In the context of Kyber, the algorithms Enc and Dec refer to encapsulation and decapsulation, respectively, rather than to encryption and decryption algorithms for a PKE scheme.
Algorithm 4 describes the key-generation procedure, which outputs a public key and a secret key augmented with the auxiliary values required by the FO transform. Algorithm 5 performs encapsulation by sampling a random message, deriving a shared key through a hash-based key-derivation process, and encrypting the message using the underlying IND-CPA-secure PKE. Algorithm 6 performs decapsulation by decrypting the ciphertext, recomputing the expected ciphertext, and outputting the shared key according to the FO verification rule.
Algorithm 4 Kyber.CCAKEM.KeyGen()
Output: 
Public key p k B 12 · k · n / 8 + 32
Output: 
Secret key s k B 24 · k · n / 8 + 96
  1:
z B 32
  2:
( p k , s k ) : = KyberCPAPKE . KeyGen ( )
  3:
s k : = ( s k p k H ( p k ) z )
  4:
return  ( p k , s k )
Algorithm 5 Kyber.CCAKEM.Enc( p k )
Input: 
Public key p k B 12 · k · n / 8 + 32
Output: 
Ciphertext c B d u · k · n / 8 + d v · n / 8
Output: 
Shared key K B *
  1:
m B 32
  2:
m H ( m )
  3:
( K ¯ , r ) : = G ( m | | H ( p k ) )
  4:
c : = KyberCPAPKE . Enc ( p k , m , r )
  5:
K : = KDF ( K ¯ | | H ( c ) )
  6:
return  ( c , K )
Algorithm 6 Kyber.CCAKEM.Dec( c , s k )
Input: 
Ciphertext c B d u · k · n / 8 + d v · n / 8
Input: 
Secret key s k B 24 k · n / 8 + 96
Output: 
Shared key K B *
  1:
p k : = s k + 12 · k · n / 8 B 12 · k · n / 8
  2:
h : = s k + 24 · k · n / 8 + 32 B 32
  3:
z : = s k + 24 · k · n / 8 + 64
  4:
m : = KyberCPAPKE . Dec ( s , ( u , v ) )
  5:
( K ¯ , r ) : = G ( m | | h )
  6:
c : = KyberCPAPKE . Enc ( p k , m , r )
  7:
if  c = c  then
  8:
     K : = KDF ( K ¯ | | H ( c ) )
  9:
else
10:
     K : = KDF ( z | | H ( c ) )
11:
end if
12:
return K

4. Our Proposal

4.1. Design Approach

We revisit the one-sample Ring-LWE-based key-exchange scheme and propose a new construction that extends it to the Module-LWE with Rounding setting, which we abbreviate as MoRo. MoRo achieves a simple and secure key-exchange mechanism by leveraging rounding, while benefiting from the efficiency and implementation simplicity of the Module-LWE framework. In this design, the exchanged information is protected by the hardness of the Module-LWE problem, whereas the reconstruction of shared secret values is achieved through a rounding mechanism that suppresses errors. As a result, MoRo maintains high computational efficiency while offering more flexible parameter choices and greater extensibility than existing one-sample Ring-LWE schemes. Furthermore, based on this construction, we design an IND-CPA-secure public-key encryption (PKE) scheme, denoted by MoRo.CPA-PKE, and apply the Fujisaki–Okamoto (FO) transform to obtain an IND-CCA-secure key-encapsulation mechanism (KEM), denoted by MoRo.CCA-KEM. An overview of the proposed construction is shown in Figure 1. Here, a y denotes the k × 1 column vector corresponding to the first column of A .

4.2. MoRo.CPA-PKE

Based on DKE, we construct an IND-CPA-secure public-key encryption (PKE) scheme. Unlike the original DKE setting where the secret values are ephemeral, the proposed PKE uses the secret vector as a static long-term secret key, similar to standard lattice-based PKE constructions such as Kyber. The PKE consists of three algorithms—key generation, encryption, and decryption—which are formally defined in Algorithms 7, 8, and 9, respectively. In Figure 1, Algorithm 7 (MoRo.CPA-PKE: key generation of party x ) corresponds to the upper-left part, Algorithm 8 (MoRo.CPA-PKE: encryption of party y ) corresponds to the right part, and Algorithm 9 (MoRo.CPA-PKE: decryption of party x ) corresponds to the lower-left part.
We define the encoding and decoding procedures as follows. Algorithm 10 gives the pseudocode for the function Decode. This function takes a 32 -byte array B B 32 as input and outputs a polynomial
f = f 0 + f 1 X + + f 255 X 255 ,
where n = 256 and f i belongs to  { 0 , 1 , , 2 1 } . Formally, the function is defined as shown in Algorithm 10. The function Encode (Algorithm 11) is defined as the inverse of Decode.
Algorithm 7 MoRo.CPAPKE: key generation of party x
Output: 
Secret key s k B β q · k · n / 8
Output: 
Public key p k B β p · k · n / 8 + 32
  1:
d B 32
  2:
( ρ , σ ) : = G ( d )
  3:
N : = 0
  4:
for  i = 0 to k 1  do
  5:
    for  j = 0 to k 1  do
  6:
         A ^ [ i ] [ j ] : = Parse ( XOF ( ρ , j , i ) )
  7:
    end for
  8:
end for
  9:
for  i = 0 to k 1  do
10:
     s x [ i ] : = CBD η ( PRF ( σ , N ) )
11:
     N : = N + 1
12:
end for
13:
for  i = 0 to k 1  do
14:
     e x [ i ] : = CBD η ( PRF ( σ , N ) )
15:
     N : = N + 1
16:
end for
17:
p x : = A ^ · s x + 2 e x
18:
p x = Round ( p x , p , q )
19:
p k : = ( Encode β p ( p x mod p ) ρ )
20:
s k : = Encode β q ( s x mod q )
21:
return  ( p k , s k )
Algorithm 8 MoRo.CPAPKE: encryption of party y
Input: 
public key p k B β p · k · n / 8 + 32
Input: 
message m B 32 · k
Input: 
random coin σ B 32
Output: 
ciphertext c t B β p · k · n / 8 + n / 8 + β q · k · n / 8
  1:
( p x , ρ ) : = Decode β p ( p k )
  2:
N : = 0
  3:
for  i = 0 to k 1  do
  4:
    for  j = 0 to k 1  do
  5:
         A ^ T [ i ] [ j ] : = Parse ( XOF ( ρ , i , j ) )
  6:
    end for
  7:
end for
  8:
for  i = 0 to k 1  do
  9:
     s y [ i ] : = CBD η ( PRF ( σ , N ) )
10:
     N : = N + 1
11:
end for
12:
for  i = 0 to k 1  do
13:
     e y [ i ] : = CBD η ( PRF ( σ , N ) )
14:
     N : = N + 1
15:
end for
16:
p y : = A ^ T · s y + 2 e y
17:
p y = Round ( p y , p , q )
18:
p x = Recover ( p x , p , q )
19:
k y = s y T · p x
20:
w y = Sig ( k y )
21:
s k y = Mod 2 ( k y , w y )
22:
c t 1 : = ( Encode β p ( p y mod p ) w y )
23:
h s k y = H ( s k y )
24:
c t 2 : = s k y · p x + ( m + h s k y · a y )
25:
c t = ( c t 1 c t 2 )
26:
return  c t
Algorithm 9 MoRo.CPAPKE: decryption of party x
Input: 
ciphertext c t B β p · k · n / 8 + n / 8 + β q · k · n / 8
Output: 
message m B 32 · k
  1:
( c t 1 , c t 2 ) : = c t
  2:
( p y , w y ) : = Decode β p ( c t 1 )
  3:
p y = Recover ( p y , p , q )
  4:
k x = ( p y ) T · s x
  5:
s k x = Mod 2 ( k x , w y )
  6:
h s k x = H ( s k x )
  7:
m = c t 2 s k x · p x h s k x · a y
  8:
return  m
Algorithm 10 Decode: B 32 R q
  1:
Input: Byte array B B 32
  2:
Output: Polynomial f R q
  3:
( b 0 , b 1 , , b 256 1 ) : = BytesToBits ( B )
  4:
for  i = 0 to 255 do
  5:
     f i : = j = 0 1 b i + j · 2 j
  6:
end for
  7:
return  f 0 + f 1 X + f 2 X 2 + + f 255 X 255
Algorithm 11 Encode: R q B 32
  1:
Input: Polynomial f = f 0 + f 1 X + + f 255 X 255 R q , where f i { 0 , 1 , , 2 1 }
  2:
Output: Byte array B B 32
  3:
for  i = 0 to 255 do
  4:
    for  j = 0 to 1  do
  5:
         b i + j : = f i 2 j mod 2
  6:
    end for
  7:
end for
  8:
B : = BitsToBytes ( b 0 , b 1 , , b 256 1 )
  9:
return B

4.3. Correctness

To prove correctness, we show that if a ciphertext ct is generated as an encryption of a message m , then decrypting ct recovers the same message, that is, m = m . Recall that
p x = A s x + 2 e x , p y = A s y + 2 e y .
k x = p y s x = A s y + 2 e y + d y s x = s y A s x + 2 e y s x + d y s x ,
and
k y = s y p x = s y A s x + 2 e x + d x = s y A s x + 2 s y e x + s y d x .
Hence,
k x k y = 2 e y s x 2 s y e x + d y s x s y d x ,
and therefore
k x k y = 2 e y s x 2 s y e x + d y s x s y d x .
By Lemma 1, the outputs of Mod 2 agree whenever the difference is smaller than q / 4 2 . Accordingly, the decryption failure rate δ fail is defined as
δ fail = Pr 2 e y s x 2 s y e x + d y s x s y d x Δ .
Note that the difference term in (3) consists of linear combinations of the error vectors. Since the error terms in the public values are scaled by a factor of 2, their contribution to the difference is always even. Moreover, the rounding and recovery procedures introduce additional error terms that are also distributed over even values. Therefore, the overall difference between the two reconciliation inputs remains even, and no parity inversion occurs after reduction modulo q. Consequently, both parties deterministically derive the same shared bit in { 0 , 1 } . The Δ -closeness condition guarantees that the difference between the two inputs remains within the range in which this parity consistency is preserved under the adjustment introduced by Sig ( · ) .
Moreover, the parity-preserving property of the reconciliation procedure follows from the discussion in Section 3.1. Here, the error tolerance is Δ = q 4 2 . If this condition is satisfied, then s k x = s k y holds. Moreover, we have
c t 2 = s k y · p x + m + h s k y · a y .
Since h s k x = h s k y , it follows that
m = s k y · p x + m + h s k y · a y s k x · p x h s k x · a y = m ,
which proves correctness.
In this setting, d denotes the error terms introduced by the Round and Recover functions. Let
t = log 2 q log 2 p , p = ( p 1 , p 2 , , p n ) , p = ( p 1 , p 2 , , p n ) .
Each element is given by
p i = Recover ( Round ( p i , p , q ) , p , q ) ,
and the error vector is defined as d = p p . Each component d i takes values from
{ 2 t , 2 t + 2 , , 2 t 2 } ,
and these values occur with equal probability, namely,
Pr [ d i = 2 t ] = Pr [ d i = 2 t + 2 ] = = Pr [ d i = 2 t 2 ] = 1 2 t .

4.4. MoRo.CCA-KEM

By applying the Fujisaki–Okamoto transform to the IND-CPA-secure PKE described above, we construct an IND-CCA-secure key-encapsulation mechanism (KEM). The KEM consists of three algorithms—key generation, encapsulation, and decapsulation—which are formally defined in Algorithms 12–14. In the following, Algorithm 7, Algorithm 8, and Algorithm 9 are denoted by MoRo.CPA-PKE.KeyGen(·), MoRo.CPA-PKE.Enc(·), and MoRo.CPA-PKE.Dec(·), respectively. Although the Fujisaki–Okamoto transform is widely used to achieve IND-CCA security in practical post-quantum KEMs, it also introduces additional implementation considerations, including re-encryption overhead and verification during decapsulation [15,16]. These verification procedures require careful implementation and may introduce additional attack surfaces, including side-channel leakage. Therefore, secure deployment of FO-based constructions requires careful constant-time implementation techniques.
Algorithm 12 MoRo.CCA-KEM: key generation of party x
Output: 
secret key s k B β q · k · n / 8 + β p · k · n / 8 + 32 · k + 64
Output: 
public key p k B β p · k · n / 8 + 32
  1:
z B 32 · k
  2:
( p k , s k ) : = MoRo . CPA - PKE . KeyGen ( )
  3:
s k : = ( s k | | p k | | H ( p k ) | | z )
  4:
return  ( p k , s k )
Algorithm 13 MoRo.CCA-KEM: encapsulation of party y
Input: 
public key p k B β p · k · n / 8 + 32
Output: 
ciphertext c t B β p · k · n / 8 + n / 8 + β q · k · n / 8
Output: 
shared key K B *
  1:
m B 32 · k
  2:
m H ( m )
  3:
( K ¯ , σ ) : = G ( m | | H ( p k ) )
  4:
c t : = MoRo . CPA - PKE . Enc ( p k , m , σ )
  5:
K : = KDF ( K ¯ | | H ( c t ) )
  6:
return  ( c t , K )
Algorithm 14 MoRo.CCA-KEM: decapsulation of party x
Input: 
ciphertext c t B β p · k · n / 8 + n / 8 + β q · k · n / 8
Input: 
secret key s k B β q · k · n / 8 + β p · k · n / 8 + 32 · k + 64
Output: 
shared key K B *
  1:
p k : = s k + β q · k · n / 8 B β p · k · n / 8
  2:
H ( p k ) : = s k + β q · k · n / 8 + β p · k · n / 8 + 32 B 32
  3:
z : = s k + β q · k · n / 8 + β p · k · n / 8 + 64
  4:
m : = MoRo . CPA - PKE . Dec ( c t )
  5:
( K ¯ , r ) : = G ( m | | H ( p k ) )
  6:
c t : = MoRo . CPA - PKE . Enc ( p k , m , r )
  7:
if  c t = c t   then
  8:
     K : = KDF ( K ¯ | | H ( c t ) )
  9:
else
10:
     K : = KDF ( z | | H ( c t ) )
11:
end if

5. Security

In this section, we provide the IND-CPA security proof for the proposed public-key encryption (PKE) scheme and the IND-CCA security proof for the resulting key-encapsulation mechanism (KEM) obtained via the Fujisaki–Okamoto (FO) transform. We first introduce several lemmas used in the proofs.
Lemma 2.
In Game 2 , we obtain two Module-LWE samples ( A , p x = B x ) and ( A , k y = u y ) . Assume that the secret and error vectors are sampled from the centered binomial distribution (CBD), denoted by B η . If p x is a Module-LWE instance, that is,
p x = A s x + 2 e x ,
then
k y = s y p x = s y A s x + 2 s y e x .
Since the coefficients of s y and e x lie in [ η , η ] , each coefficient of s y e x is a sum of signed products of independent bounded coefficients. Let | s i | B s and | e i | B e . Then, each summand is bounded by B s B e . In the case of CBD η , we may take it that B s = B e = η , the  B s B e follows a discrete distribution with expectation 0, the variance is k n η 2 4 and upper bounded by η 2 . Note that the upper bound appears with an extremely small probability of 2 4 η + 1 k n , which is interpreted in Appendix A.
Lemma 3.
Let q > 2 be a prime. For a uniformly chosen a $ Z q and b $ { 0 , 1 } , let
w = Sig ( a ) = σ b ( a ) .
Then, the value Mod 2 ( a , w ) { 0 , 1 } is uniformly distributed.
Proof. 
We show that for any c { 0 , 1 } ,
Pr [ Mod 2 ( a , w ) = c σ b ( a ) = w ] = 1 2 ,
where a is uniformly sampled from Z q and b is uniformly chosen from { 0 , 1 } .
First, consider the interval where σ b ( a ) = 0 , namely,
R + b : = [ q / 4 + b , q / 4 + b ] .
Its size is
| R + b | = 2 q 4 + 1 .
Thus, for uniformly random a $ Z q ,
Pr [ σ 0 ( a ) = 0 ] = Pr [ σ 1 ( a ) = 0 ] = 2 q / 4 + 1 q .
Now, define two disjoint subsets of R + b according to the parity of a:
( R + b ) 0 : = { a R + b a 0 ( mod 2 ) } ,
( R + b ) 1 : = { a R + b a 1 ( mod 2 ) } .
Therefore, for  c { 0 , 1 } ,
Pr [ Mod 2 ( a , 0 ) = c σ b ( a ) = 0 ] = | ( R + b ) c | q .
Since | R + b | = 2 q / 4 + 1 is odd, we have the balanced partition
| ( R + 0 ) 0 | + | ( R + 1 ) 0 | = | ( R + 0 ) 1 | + | ( R + 1 ) 1 | = | R + b | .
Hence, conditioning on σ b ( a ) = 0 , we obtain
Pr [ Mod 2 ( a , 0 ) = c σ b ( a ) = 0 ] = Pr [ Mod 2 ( a , 0 ) = c σ b ( a ) = 0 ] Pr [ σ b ( a ) = 0 ] = 1 2 · | ( R + 0 ) c | q + 1 2 · | ( R + 1 ) c | q · q 2 q / 4 + 1 = 1 2 · | R + b | q · q 2 q / 4 + 1 = 1 2 .
Next, consider the complementary region Z q ( R + b ) , where σ b ( a ) = 1 . Since
| Z q ( R + b ) | = q ( 2 q / 4 + 1 ) ,
we have
Pr [ σ 0 ( a ) = 1 ] = Pr [ σ 1 ( a ) = 1 ] = q ( 2 q / 4 + 1 ) q .
As this region has even size, parity is again uniformly distributed. Thus,
Pr [ Mod 2 ( a , 1 ) = c σ b ( a ) = 1 ] = Pr [ Mod 2 ( a , 1 ) = c σ b ( a ) = 1 ] Pr [ σ b ( a ) = 1 ] = 1 2 · q ( 2 q / 4 + 1 ) q · q q ( 2 q / 4 + 1 ) = 1 2 .
Combining the two cases σ b ( a ) = 0 and σ b ( a ) = 1 , we conclude that Mod 2 ( a , w ) is uniformly distributed over { 0 , 1 } .    □
Lemma 4.
The vector
p = A s + 2 e
can also be regarded as arising from a decisional Module-LWE instance of the form
b = A s + e .
Proof. 
We have
p = A s + 2 e 2 1 p = 2 1 A s + e p = A s + e ,
where
p = 2 1 p , A = 2 1 A .
Since gcd ( q , 2 ) = 1 , multiplication by 2 1 in Z q is a bijection. Hence, if  A is uniform over R q k × k , then A is also uniform over R q k × k . Therefore, ( A , p ) can be regarded as a decisional Module-LWE instance.    □

5.1. IND-CPA Security

This subsection presents a game-based proof of IND-CPA security for the proposed public-key encryption (PKE) scheme.
  • Game0:
This is the real IND-CPA experiment between the challenger and the adversary A . The challenger generates the public parameters honestly and returns the challenge ciphertext corresponding to one of the two challenge messages. Let S i denote the event that A outputs the correct challenge bit in Gamei. Then, the IND-CPA advantage of A is
Adv MoRo . CPAPKE ind cpa ( A ) = Pr [ S 0 ] 1 2 .
  • Game1:
This game is identical to Game0, except that the secret and error vectors are generated from the centered binomial distribution (CBD) using the pseudorandom function (PRF), instead of being viewed as ideally sampled noise.
Lemma 5.
For any PPT adversary A , there exists a PPT adversary B 0 such that
Pr [ S 0 ] Pr [ S 1 ] Adv PRF ( B 0 ) .
Proof. 
The only difference between Game0 and Game1 is whether the randomness used to derive the secret and error vectors is generated by a truly random process or by the PRF. Any distinguisher between these two games therefore yields a distinguisher against the PRF with the same advantage.    □
  • Game2:
This game is identical to Game1, except that A is sampled uniformly at random rather than being deterministically derived from the seed through the extendable-output function (XOF).
Lemma 6.
Assuming that the XOF is modeled as a random oracle, the distributions in Game1 and Game2 are identical. In particular, Pr [ S 1 ] = Pr [ S 2 ] .
Proof. 
In both games, the matrix A is distributed uniformly over the same domain. The only difference is whether it is obtained by explicit uniform sampling or by programming the XOF as a random oracle. Hence, the resulting distributions are identical.    □
  • Game3:
This game is identical to Game2, except that p x is replaced with a uniformly random element r x of the same domain.
Lemma 7.
Assume that the decisional Module-LWE problem is hard. Then, for any PPT adversary A , there exists a PPT adversary B 1 such that
Pr [ S 2 ] Pr [ S 3 ] Adv MLWE ( B 1 ) .
Proof. 
Given a challenge pair ( A , B x ) , where B x is either a valid Module-LWE sample or a uniformly random element, the reduction B 1 embeds B x as p x in the public view given to A . All remaining components are generated honestly. If B x is a valid Module-LWE sample, then the view of A is exactly that of Game2. If B x is uniform, then the view of A is exactly that of Game3. Therefore, any distinguisher between Game2 and Game3 yields a distinguisher for the decisional Module-LWE problem.    □
  • Game4:
This game is identical to Game3, except that p y is replaced with a uniformly random element r y of the same domain.
Lemma 8.
Assume that the decisional Module-LWE problem is hard. Then, for any PPT adversary A , there exists a PPT adversary B 2 such that
Pr [ S 3 ] Pr [ S 4 ] Adv MLWE ( B 2 ) .
Proof. 
The proof is analogous to that of Lemma 7. The reduction B 2 receives a challenge pair ( A , B y ) and embeds B y as p y . If B y is a valid Module-LWE sample, the view is that of Game3; if B y is uniform, the view is that of Game4. Hence, any distinguisher between the two games yields a distinguisher for the decisional Module-LWE problem.    □
  • Game5:
This game is identical to Game4, except that w y is replaced with a uniformly random value of the same length.
Lemma 9.
For any PPT adversary A , Pr [ S 4 ] = Pr [ S 5 ] .
Proof. 
By Lemma 3, the output of the reconciliation bit Mod 2 ( · , · ) is uniformly distributed once its input is uniform. In Game4, the value from which w y is derived is already replaced by a uniformly random element. Hence, replacing w y by an explicit uniformly random value does not change the adversary’s view.    □
  • Game6:
This game is identical to Game5, except that the challenge ciphertext is replaced by a uniformly random ciphertext of the same length.
The following lemma isolates the only nontrivial step needed to complete the IND-CPA argument.
Lemma 10
(Standard FO-style masking step). In Game5, assume that the masking value
s k y · p x + H ( s k y ) · a y
is computationally indistinguishable from a uniformly random element of the message space, even given the public view ( A , p x , p y , w y ) . Then, for any PPT adversary A , Pr [ S 5 ] Pr [ S 6 ] negl ( λ ) . This step follows the standard FO-style masking argument; see [23,24,25].
Proof. 
In Game5, the challenge ciphertext has the form
c t = ( c t 1 , c t 2 ) , c t 2 = s k y · p x + m b + H ( s k y ) · a y ,
where b is the challenge bit. By the assumption of the lemma, the masking term
s k y · p x + H ( s k y ) · a y
is computationally indistinguishable from a uniformly random element, even conditioned on the public view. Therefore, c t 2 is computationally indistinguishable from a uniformly random encoding of the same length and, in particular, is independent of the challenge bit b. Since c t 1 is already independent of b in Game5, replacing the entire challenge ciphertext by a uniformly random ciphertext changes the adversary’s success probability by at most a negligible amount.    □
Theorem 1.
Assume that the PRF is secure, the decisional Module-LWE problem is hard, and the hypothesis of Lemma 10 holds. Then, MoRo.CPAPKE is IND-CPA-secure. More precisely, for any PPT adversary A , there exist PPT adversaries B 0 , B 1 , B 2 such that
Adv MoRo . CPAPKE ind cpa ( A ) Adv PRF ( B 0 ) + Adv MLWE ( B 1 ) + Adv MLWE ( B 2 ) + negl ( λ ) .
Proof. 
By construction, the challenge ciphertext in Game6 is independent of the challenge bit. Hence, Pr [ S 6 ] = 1 2 . Using the triangle inequality together with Lemmas 5–10, we obtain
Adv MoRo . CPAPKE ind cpa ( A ) = Pr [ S 0 ] 1 2 = Pr [ S 0 ] Pr [ S 6 ] i = 0 5 Pr [ S i ] Pr [ S i + 1 ] Adv PRF ( B 0 ) + Adv MLWE ( B 1 ) + Adv MLWE ( B 2 ) + negl ( λ ) .
This proves the theorem.    □

5.2. IND-CCA Security (ROM)

We now derive the IND-CCA security of the KEM from the IND-CPA security of the underlying PKE via the Fujisaki–Okamoto (FO) transform. Rather than reproving the FO transform from scratch, we invoke the standard modular ROM analysis of Hofheinz, Hövelmanns, and Kiltz [23].
Theorem 2.
Assume that the hypotheses of Theorem 1 hold and let δ be the decryption-failure probability defined in (3). Then, in the random oracle model (ROM), MoRo.CCAKEM is IND-CCA-secure. More precisely, for any PPT adversary A making at most q R O random-oracle queries, there exists a PPT adversary B such that
Adv MoRo . CCAKEM ind cca ( A ) Adv MoRo . CPAPKE ind cpa ( B ) + 4 q R O δ .
Consequently, by Theorem 1,
Adv MoRo . CCAKEM ind cca ( A ) Adv PRF ( B 0 ) + Adv MLWE ( B 1 ) + Adv MLWE ( B 2 ) + 4 q R O δ + negl ( λ ) .
Proof. 
The claim follows by applying the standard ROM security theorem for the Fujisaki–Okamoto transform [23] to the PKE scheme MoRo.CPAPKE. The required PKE security is provided by Theorem 1, and the only additional loss comes from decryption failures, whose probability is δ . Substituting the bound from Theorem 1 yields the final inequality.    □

5.3. IND-CCA Security (QROM)

We next extend the above argument to the quantum random oracle model (QROM). Again, the cleanest formulation is to invoke the standard QROM analysis for the FO transform rather than to sketch the proof directly.
Theorem 3.
Assume that the hypotheses of Theorem 1 hold and let δ be the decryption-failure probability defined in (3). Then, in the quantum random oracle model (QROM), MoRo.CCAKEM is IND-CCA-secure. More precisely, for any quantum adversary A making at most q R O quantum random-oracle queries, there exists an adversary B such that
Adv MoRo . CCAKEM ind cca ( A ) 4 q R O Adv MoRo . CPAPKE ind cpa ( B ) + 8 q R O 2 δ .
Consequently, by Theorem 1,
Adv MoRo . CCAKEM ind cca ( A ) 4 q R O X + 8 q R O 2 δ ,
where
X = Adv PRF ( B 0 ) + Adv MLWE ( B 1 ) + Adv MLWE ( B 2 ) + negl ( λ ) .
Proof. 
The result follows from the standard QROM security analysis of FO-based KEMs [23,26], applied to the PKE scheme MoRo.CPAPKE. The underlying IND-CPA bound is supplied by Theorem 1, and the additional term is due to the decryption-failure probability δ . Substituting the IND-CPA bound gives the stated inequality.    □

6. Parameter Sets

We select the parameters by taking into account the decryption failure rate, computational security, and compatibility with the number-theoretic transform (NTT). The resulting parameter sets are summarized in Table 1, and a comparison with DKE and Kyber is given in Table 2. We propose the parameter set with q = 7681 because it provides a larger noise margin and achieves a lower decryption failure rate while maintaining the targeted security level. The decryption failure rate was evaluated using a Python 3.12.3 simulation script based on the error distribution in Equation (3). Compared with the original Ring-LWE-based DKE construction, the transition to the Module-LWE setting increases the public-key and ciphertext sizes due to the module dimension k and the associated vector structure. Nevertheless, this trade-off enhances overall robustness by combining the conservative security assumptions underlying LWE with the efficiency gains enabled by NTT-based computation in Ring-LWE. To estimate computational security against the Module-LWE problem, we use the LWE Estimator with the 2016 cost model [27]. More precisely, letting β denote the BKZ block size, the sieving-based attack cost is estimated by
T sieving BKZ = 8 d · 2 0.292 β + 16.4 · 64 ( bits ) .
We report the best-known attack cost in log 2 operations and select parameter sets that satisfy NIST Level  I security, namely, AES-128-bit security. In particular, our main parameter set achieves a decryption failure rate of 2 166 , which is lower than 2 143 and therefore provides stronger robustness against decryption-failure attacks.

Performance of MoRo on Intel Xeon

We evaluated the performance of our MoRo implementation on an Intel Xeon Gold 6240 CPU at 2.60 GHz and report both cycle counts and running time. Our implementation was written in C and compiled with gcc 8.5.0 using the default Makefile settings. For fair comparison, Kyber was also evaluated under the same hardware and software environment. The benchmark output is reported in cycles, which we interpret as CPU-cycle-level cost. For KEM-level evaluation, corresponding to key generation, encapsulation, and decapsulation, we report the median over 10,000 executions, as shown in Table 3. The parameter set used in our experiments is listed in Table 2.

7. Conclusions

In this paper, we first constructed a public-key encryption (PKE) scheme based on the DKE mechanism and proved its IND-CPA security. We then obtained a key-encapsulation mechanism (KEM) by applying a slight variant of the Fujisaki–Okamoto (FO) transform to this PKE and proved its IND-CCA security. Moreover, we proposed parameter sets that achieve a decryption failure rate as low as 2 166 while satisfying AES-128-bit security. In addition, we implemented the proposed scheme and evaluated its performance, demonstrating its practical efficiency.
Beyond the core cryptographic contribution, our results also suggest the relevance of MoRo-KEM to post-quantum protection in IoT and sensor-network environments. In such scenarios, secure key establishment must be achieved under practical constraints on computation, memory, and communication, while maintaining robustness across a large number of distributed devices. The combination of Module-LWE-based efficiency, implementation-friendly sampling, and a low decryption failure rate makes the proposed scheme a meaningful candidate for secure communications between sensor nodes, edge devices, and gateways in long-lived systems that must prepare for the advent of quantum attacks. Accordingly, we believe that the proposed construction provides not only a useful theoretical extension of DKE, but also a practical post-quantum design direction for secure IoT and sensing applications.

Author Contributions

Conceptualization, Y.W.; methodology, Y.O. and Y.W.; validation, Y.W. and T.T.; formal analysis, Y.O. and Y.W.; investigation, Y.O. and Y.W.; resources, Y.W.; data curation, Y.O.; writing—original draft preparation, Y.W.; writing—review and editing, Y.O., Y.W. and T.T.; visualization, Y.O.; supervision, Y.W.; project administration, Y.W.; funding acquisition, Y.W. and T.T. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported in part by JSPS KAKENHI Grant Number JP21K11751, JP25K21805, JP26K02909, JST K Program Grant Number JPMJKP24U2, Japan.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Data is contained within the article. Further inquiries can be directed to the corresponding author.

Conflicts of Interest

The authors declare no conflicts of interest.

Appendix A

In this appendix, we provide the probability corresponding to the upper-bound described in Lemma 2.
For a centered binomial distribution CBD η , the probability that a coefficient takes the boundary value ± η is
Pr [ | x | = η ] = 2 2 η .
Hence, for two independent coefficients s i , e i CBD η , the probability that their product satisfies
| s i e i | = η 2
is
2 2 2 η 2 = 2 4 η + 1 ,
where the factor 2 corresponds to the two sign combinations.
Since each coefficient of s y e x contains k n such independent product terms, the probability that all terms simultaneously attain the maximum magnitude η 2 can be estimated as
2 4 η + 1 k n .

References

  1. Diffie, W.; Hellman, M. New directions in cryptography. IEEE Trans. Inf. Theory 1976, 22, 644–654. [Google Scholar] [CrossRef]
  2. 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]
  3. Computer Security Division, Information Technology Laboratory, National Institute of Standards and Technology (NIST), U.S. Department of Commerce. Post-Quantum Cryptography|CSRC. 2017. Available online: https://csrc.nist.gov/projects/post-quantum-cryptography (accessed on 1 June 2026).
  4. Bos, J.; Costello, C.; Ducas, L.; Mironov, I.; Naehrig, M.; Nikolaenko, V.; Raghunathan, A.; Stebila, D. Frodo: Take off the ring! practical, quantum-secure key exchange from LWE. In Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security; Association for Computing Machinery: New York, NY, USA, 2016; pp. 1006–1018. [Google Scholar]
  5. Lyubashevsky, V.; Peikert, C.; Regev, O. On ideal lattices and learning with errors over rings. In Proceedings of the Advances in Cryptology—EUROCRYPT 2010; Springer: Berlin/Heidelberg, Germany, 2010; pp. 1–23. [Google Scholar]
  6. Alkim, E.; Ducas, L.; Pöppelmann, T.; Schwabe, P. Post-quantum Key Exchange—A New Hope. In Proceedings of the USENIX Security Symposium; USENIX Association: Austin, TX, USA, 2016; pp. 327–343. [Google Scholar]
  7. Ding, J.; Gao, X.; Takagi, T.; Wang, Y. One Sample Ring-LWE with Rounding and Its Application to Key Exchange. In Proceedings of the Applied Cryptography and Network Security—17th International Conference, ACNS 2019, Bogota, Colombia, 5–7 June 2019; pp. 323–343. [Google Scholar]
  8. Bos, J.W.; Ducas, L.; Kiltz, E.; Lepoint, T.; Lyubashevsky, V.; Schanck, J.M.; Schwabe, P.; Seiler, G.; Stehlé, D. CRYSTALS—Kyber: A CCA-Secure Module-Lattice-Based KEM. In Proceedings of the 2018 IEEE European Symposium on Security and Privacy, EuroS&P 2018, London, UK, 24–26 April 2018; pp. 353–367. [Google Scholar]
  9. Chang, S.Y.; Khan, Q. Post-Quantum Cryptography in Networking Protocols: Challenges, Solutions, and Future Directions. Cryptography 2026, 10, 12. [Google Scholar] [CrossRef]
  10. Wang, Y.; Inoue, F.; Gu, Y.; Shen, X.; Zhang, M. Privacy-preserving federated learning via secret sharing and multi-key homomorphic encryption. Inf. Sci. 2026, 698, 1–31. [Google Scholar] [CrossRef]
  11. Yu, X.; Wang, Y.; Huang, X. Quantum-resistant ring signature-based authentication scheme against secret key exposure for VANETs. Comput. Netw. 2025, 262, 111213. [Google Scholar] [CrossRef]
  12. Zhang, M.; Zhu, B.; Li, Y.; Wang, Y. TPM-Based Conditional Privacy-Preserving Authentication Protocol in VANETs. Symmetry 2022, 14, 1123. [Google Scholar] [CrossRef]
  13. Hanna, Y.; Bozhko, J.; Tonyali, S.; Harrilal-Parchment, R.; Cebe, M.; Akkaya, K. A Comprehensive and Realistic Performance Evaluation of Post-Quantum Security for Consumer IoT Devices. Internet Things 2025, 33, 101650. [Google Scholar] [CrossRef]
  14. Ehsan, M.A.; Alayed, W.; Rehman, A.U.; ul Hassan, W.; Zeeshan, A. Post-Quantum KEMs for IoT: A Study of Kyber and NTRU. Symmetry 2025, 17, 881. [Google Scholar] [CrossRef]
  15. Hövelmanns, K.; Hülsing, A.; Majenz, C.; Sisinni, F. (Un)breakable Curses–Re-encryption in the Fujisaki-Okamoto Transform. In Proceedings of the Advances in Cryptology—EUROCRYPT 2025—44th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Madrid, Spain, 4–8 May 2025; Springer: Cham, Switzerland, 2025; Volume 15602, pp. 245–274. [Google Scholar]
  16. Glabush, L.; Günther, F.; Hövelmanns, K.; Stebila, D. Verifiable Decapsulation: Recognizing Faulty Implementations of Post-Quantum KEMs. In Proceedings of the Advances in Cryptology—CRYPTO 2025; Lecture Notes in Computer Science; Springer: Cham, Switzerland, 2025; pp. 543–574. [Google Scholar] [CrossRef]
  17. Zelenetsky, A.S.; Klyucharev, P.G. Zemlyanika: Module-LWE Based KEM with the Power-of-Two Modulus, Explicit Rejection and Revisited Decapsulation Failures. J. Comput. Virol. Hacking Tech. 2025, 21, 32. [Google Scholar] [CrossRef]
  18. Alagic, G.; Apon, D.; Cooper, D.A.; Dang, Q.H.; Kelsey, J.M.; Liu, Y.K.; Miller, C.A.; Moody, D.; Peralta, R.; Perlner, R.A.; et al. Status Report on the Fourth Round of the NIST Post-Quantum Cryptography Standardization Process; NIST Internal Report NIST IR 8545; National Institute of Standards and Technology: Gaithersburg, MD, USA, 2025. [CrossRef]
  19. Fujisaki, E.; Okamoto, T. Secure Integration of Asymmetric and Symmetric Encryption Schemes. In Proceedings of the Advances in Cryptology—CRYPTO ’99; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 1999; Volume 1666, pp. 537–554. [Google Scholar] [CrossRef]
  20. Regev, O. On lattices, learning with errors, random linear codes, and cryptography. J. ACM 2009, 56, 34. [Google Scholar] [CrossRef]
  21. Langlois, A.; Stehlé, D. Worst-Case to Average-Case Reductions for Module Lattices. Des. Codes Cryptogr. 2015, 75, 565–599. [Google Scholar] [CrossRef]
  22. Ding, J.; Xie, X.; Lin, X. A Simple Provably Secure Key Exchange Scheme Based on the Learning with Errors Problem. IACR Cryptology ePrint Archive, Paper 2012/688. 2012. Available online: https://eprint.iacr.org/2012/688 (accessed on 1 June 2026).
  23. Hofheinz, D.; Hövelmanns, K.; Kiltz, E. A Modular Analysis of the Fujisaki–Okamoto Transformation. In Proceedings of the Theory of Cryptography Conference (TCC 2017); LNCS; Springer: Cham, Switzerland, 2017; Volume 10677, pp. 341–371. [Google Scholar]
  24. Hövelmanns, K.; Hülsing, A.; Majenz, C. Failing Gracefully: Decryption Failures and the Fujisaki-Okamoto Transform. In Proceedings of the Advances in Cryptology—ASIACRYPT 2022—28th International Conference on the Theory and Application of Cryptology and Information Security, Taipei, Taiwan, 5–9 December 2022; Part IV; Lecture Notes in Computer Science; Agrawal, S., Lin, D., Eds.; Springer: Cham, Switzerland, 2022; pp. 414–443. [Google Scholar]
  25. Almeida, J.B.; Arranz-Olmos, S.; Barbosa, M.; Barthe, G.; Dupressoir, F.; Grégoire, B.; Laporte, V.; Léchenet, J.; Low, C.; Oliveira, T.; et al. Formally Verifying Kyber - Episode V: Machine-Checked IND-CCA Security and Correctness of ML-KEM in EasyCrypt. In Proceedings of the Advances in Cryptology—CRYPTO 2024—44th Annual International Cryptology Conference Santa Barbara, Santa Barbara, CA, USA, 18–22 August 2024; Part I; Lecture Notes in Computer Science; Reyzin, L., Stebila, D., Eds.; Springer: Cham, Switzerland, 2024; pp. 384–421. [Google Scholar]
  26. Saito, T.; Xagawa, K.; Yamakawa, T. Tightly-Secure Key-Encapsulation Mechanism in the Quantum Random Oracle Model. IACR Cryptology ePrint Archive, Paper 2017/1005. 2017. Available online: https://eprint.iacr.org/2017/1005 (accessed on 1 June 2026).
  27. Dachman-Soled, D.; Ducas, L.; Gong, H.; Rossi, M. LWE with Side Information: Attacks and Concrete Security Estimation. In Proceedings of the Advances in Cryptology—CRYPTO 2020—40th Annual International Cryptology Conference, CRYPTO 2020, Santa Barbara, CA, USA, 17–21 August 2020; Part II; Lecture Notes in Computer Science; Micciancio, D., Ristenpart, T., Eds.; Springer: Cham, Switzerland, 2020; Volume 12171, pp. 329–358. [Google Scholar] [CrossRef]
Figure 1. Module-LWE base PKE-protocol
Figure 1. Module-LWE base PKE-protocol
Sensors 26 03674 g001
Table 1. Security parameter candidates for MoRo KEM.
Table 1. Security parameter candidates for MoRo KEM.
nkqpt η δ fail Estimate for Classical Attacks Using [27]
12837681192023 2 181 107
2563332996022 2 44 146
25637681192022 2 166 199
Table 2. Comparison of schemes at AES-128 security level.
Table 2. Comparison of schemes at AES-128 security level.
SchemeStructurenqpSecurity δ fail Size pk (Bytes) Size ct (Bytes)
Kyber [8]Module-LWE25633291024IND-CCA 2 139 800768
DKE-512 [7]Ring-LWE5121208337552Passive 2 60 8321744
MoRoModule-LWE25676811920IND-CCA 2 166 10882336
Table 3. Cycle counts of MoRo for KEM.
Table 3. Cycle counts of MoRo for KEM.
OperationCyclesRuntime (μs)
Kyber_keypair88,93234.094
Kyber_encaps107,37641.008
Kyber_decaps138,33652.929
MoRo_keypair162,02061.989
MoRo_encaps403,904154.972
MoRo_decaps646,702248.909
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Wang, Y.; Otsuka, Y.; Takagi, T. MoRo: From One-Sample Ring-LWE Rounding Key Exchange to Module-LWE IND-CCA KEM. Sensors 2026, 26, 3674. https://doi.org/10.3390/s26123674

AMA Style

Wang Y, Otsuka Y, Takagi T. MoRo: From One-Sample Ring-LWE Rounding Key Exchange to Module-LWE IND-CCA KEM. Sensors. 2026; 26(12):3674. https://doi.org/10.3390/s26123674

Chicago/Turabian Style

Wang, Yuntao, Yuki Otsuka, and Tsuyoshi Takagi. 2026. "MoRo: From One-Sample Ring-LWE Rounding Key Exchange to Module-LWE IND-CCA KEM" Sensors 26, no. 12: 3674. https://doi.org/10.3390/s26123674

APA Style

Wang, Y., Otsuka, Y., & Takagi, T. (2026). MoRo: From One-Sample Ring-LWE Rounding Key Exchange to Module-LWE IND-CCA KEM. Sensors, 26(12), 3674. https://doi.org/10.3390/s26123674

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