<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xml:lang="en" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">CMC</journal-id>
<journal-id journal-id-type="nlm-ta">CMC</journal-id>
<journal-id journal-id-type="publisher-id">CMC</journal-id>
<journal-title-group>
<journal-title>Computers, Materials &#x0026; Continua</journal-title>
</journal-title-group>
<issn pub-type="epub">1546-2226</issn>
<issn pub-type="ppub">1546-2218</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">65085</article-id>
<article-id pub-id-type="doi">10.32604/cmc.2025.065085</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Polynomial Commitment in a Verkle Tree Based on a Non-Positional Polynomial Notation</article-title>
<alt-title alt-title-type="left-running-head">Polynomial Commitment in a Verkle Tree Based on a Non-Positional Polynomial Notation</alt-title>
<alt-title alt-title-type="right-running-head">Polynomial Commitment in a Verkle Tree Based on a Non-Positional Polynomial Notation</alt-title>
</title-group>
<contrib-group>
<contrib id="author-1" contrib-type="author">
<name name-style="western"><surname>Algazy</surname><given-names>Kunbolat T.</given-names></name><xref ref-type="aff" rid="aff-1">1</xref></contrib>
<contrib id="author-2" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Sakan</surname><given-names>Kairat S.</given-names></name><xref ref-type="aff" rid="aff-1">1</xref><xref ref-type="aff" rid="aff-2">2</xref><xref rid="cor1" ref-type="corresp">&#x002A;</xref><email>19kairat78@gmail.com</email></contrib>
<contrib id="author-3" contrib-type="author">
<name name-style="western"><surname>Nyssanbayeva</surname><given-names>Saule E.</given-names></name><xref ref-type="aff" rid="aff-1">1</xref><xref ref-type="aff" rid="aff-2">2</xref></contrib>
<contrib id="author-4" contrib-type="author">
<name name-style="western"><surname>Khompysh</surname><given-names>Ardabek</given-names></name><xref ref-type="aff" rid="aff-1">1</xref><xref ref-type="aff" rid="aff-3">3</xref></contrib>
<aff id="aff-1"><label>1</label><institution>Information Security Laboratory, Institute of Information and Computational Technologies</institution>, <addr-line>Almaty, 050010</addr-line>, <country>Kazakhstan</country></aff>
<aff id="aff-2"><label>2</label><institution>Faculty of Information Technology, Al-Farabi Kazakh National University</institution>, <addr-line>Almaty, 050040</addr-line>, <country>Kazakhstan</country></aff>
<aff id="aff-3"><label>3</label><institution>Faculty of Languages and Humanities, Nur-Mubarak University</institution>, <addr-line>Almaty, 050040</addr-line>, <country>Kazakhstan</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>&#x002A;</label>Corresponding Author: Kairat S. Sakan. Email: <email>19kairat78@gmail.com</email></corresp>
</author-notes>
<pub-date date-type="collection" publication-format="electronic">
<year>2025</year>
</pub-date>
<pub-date date-type="pub" publication-format="electronic">
<day>09</day><month>06</month><year>2025</year>
</pub-date>
<volume>84</volume>
<issue>1</issue>
<fpage>1581</fpage>
<lpage>1595</lpage>
<history>
<date date-type="received">
<day>03</day>
<month>3</month>
<year>2025</year>
</date>
<date date-type="accepted">
<day>24</day>
<month>4</month>
<year>2025</year>
</date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2025 The Authors.</copyright-statement>
<copyright-year>2025</copyright-year>
<copyright-holder>Published by Tech Science Press.</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_CMC_65085.pdf"></self-uri>
<abstract>
<p>This paper examines the application of the Verkle tree&#x2014;an efficient data structure that leverages commitments and a novel proof technique in cryptographic solutions. Unlike traditional Merkle trees, the Verkle tree significantly reduces signature size by utilizing polynomial and vector commitments. Compact proofs also accelerate the verification process, reducing computational overhead, which makes Verkle trees particularly useful. The study proposes a new approach based on a non-positional polynomial notation (NPN) employing the Chinese Remainder Theorem (CRT). CRT enables efficient data representation and verification by decomposing data into smaller, independent components, simplifying computations, reducing overhead, and enhancing scalability. This technique facilitates parallel data processing, which is especially advantageous in cryptographic applications such as commitment and proof construction in Verkle trees, as well as in systems with constrained computational resources. Theoretical foundations of the approach, its advantages, and practical implementation aspects are explored, including resistance to potential attacks, application domains, and a comparative analysis with existing methods based on well-known parameters and characteristics. An analysis of potential attacks and vulnerabilities, including greatest common divisor (GCD) attacks, approximate multiple attacks (LLL lattice-based), brute-force search for irreducible polynomials, and the estimation of their total number, indicates that no vulnerabilities have been identified in the proposed method thus far. Furthermore, the study demonstrates that integrating CRT with Verkle trees ensures high scalability, making this approach promising for blockchain systems and other distributed systems requiring compact and efficient proofs.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Verkle tree</kwd>
<kwd>Verkle tree commitment and proof</kwd>
<kwd>non-positional polynomial notation (NPN)</kwd>
<kwd>Chinese remainder theorem</kwd>
</kwd-group>
<funding-group>
<award-group id="awg1">
<funding-source>Development and study of a quantum-resistant digital signature scheme based on a Verkle tree</funding-source>
<award-id>AP23488112</award-id>
</award-group>
</funding-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>Public-key encryption is vulnerable to attacks using quantum computers. Currently, the most well-known and widely used public-key encryption systems are Elliptic Curve Cryptography (ECC) and Rivest-Shamir-Adleman (RSA). The security of ECC is based on the intractability of the elliptic curve discrete logarithm problem, whereas the security of RSA cryptography relies on the intractability of integer factorization of large numbers. Both ECC and RSA are susceptible to attacks utilizing quantum computers [<xref ref-type="bibr" rid="ref-1">1</xref>&#x2013;<xref ref-type="bibr" rid="ref-3">3</xref>].</p>
<p>Shor&#x2019;s algorithm is a well-known quantum algorithm capable of efficiently factoring large integers in polynomial time, significantly reducing the security of cryptographic algorithms such as ECC and RSA. Such attacks pose a threat to many applications that rely on public-key cryptography, including Transport Layer Security (TLS), Secure/Multipurpose Internet Mail Extensions (S/MIME), Pretty Good Privacy (PGP), and digital signatures. If Shor&#x2019;s algorithm is implemented on a quantum computer with a sufficient number of qubits, it can break the elliptic curve digital signature algorithm (ECDSA), which is the primary public-key signature algorithm used for Bitcoin, Ethereum, and many other blockchains [<xref ref-type="bibr" rid="ref-4">4</xref>&#x2013;<xref ref-type="bibr" rid="ref-7">7</xref>].</p>
<p>One of the most critical aspects of implementing post-quantum cryptography is ensuring compatibility with existing technological systems. This is essential to allow the transition to new cryptographic standards without the need for a complete overhaul of current digital infrastructure. By maintaining such continuity, organizations can smoothly and efficiently upgrade their security frameworks, significantly reducing the risks posed by potential quantum computer-based attacks. Therefore, the integration of new algorithms into current protocols and software becomes a key component of any information protection strategy in the era of quantum technologies [<xref ref-type="bibr" rid="ref-8">8</xref>].</p>
<p>In July 2022, after three rounds of evaluation, the National Institute of Standards and Technology (NIST) announced the first batch of standardized post-quantum cryptographic algorithms. Ultimately, four algorithms were selected: CRYSTALS-KYBER, CRYSTALS-Dilithium, FALCON, and SPHINCS&#x002B; [<xref ref-type="bibr" rid="ref-9">9</xref>]. Among them, NIST recommends two primary algorithms: CRYSTALS-KYBER (for key establishment) and CRYSTALS-Dilithium (for digital signatures) for most use cases, while also endorsing FALCON and SPHINCS&#x002B; for signature schemes [<xref ref-type="bibr" rid="ref-10">10</xref>]. NIST-standardized algorithms, such as CRYSTALS-KYBER, belong to the field of post-quantum cryptography, but they are designed for entirely different tasks&#x2014;specifically, encryption and key exchange. In contrast, the proposed method focuses on efficient polynomial commitments in Verkle trees.</p>
<p>Traditional hash-based signature schemes, such as those based on Merkle trees, require strict key management to prevent reuse, as key reuse can lead to security compromises [<xref ref-type="bibr" rid="ref-11">11</xref>,<xref ref-type="bibr" rid="ref-12">12</xref>].</p>
<p>The primary issue with Merkle trees is that in the process of &#x201C;proving something&#x201D;, nearly all hashes must be revealed, even if they do not contain relevant information. As the Ethereum blockchain scales, running nodes and verifying data integrity becomes increasingly challenging due to the growing amount of stored information. This has led to the need for a new approach that enables more efficient data verification without requiring the disclosure of all hashes throughout the process. The solution currently being developed is the Verkle tree [<xref ref-type="bibr" rid="ref-13">13</xref>].</p>
<p>In recent years, Verkle trees have emerged as a promising approach to organizing Merkle-like structures in blockchains. Their main advantage lies in significantly reducing proof sizes and accelerating verification processes, which is particularly critical for scalable blockchain systems. Unlike Merkle trees, which require a logarithmic number of hashes for proof generation, Verkle trees utilize polynomial commitments, providing compact proofs of fixed size. The issue of polynomial commitment efficiency remains relevant, as modern approaches such as Kate-Zaverucha-Goldberg-based (KZG-based) or Bulletproofs-based commitments have their limitations despite offering substantial proof size reductions. In particular, KZG commitments require a trusted setup, whereas Bulletproofs, despite not having such requirements, involve relatively high computational complexity. This motivates the search for alternative solutions that can offer a balance between efficiency, security, and computational costs [<xref ref-type="bibr" rid="ref-14">14</xref>,<xref ref-type="bibr" rid="ref-15">15</xref>].</p>
<p>The Verkle tree is a key component of Ethereum&#x2019;s next upgrade. It serves the same purpose as the Merkle tree but offers a significant advantage with its shorter proof size. If there are 1,000,000 data fragments, a Merkle tree requires a 1 KB proof, whereas a Verkle tree needs only 150 bytes. Verkle trees were first proposed by John Kuszmaul in 2018. While Verkle trees provide substantial benefits, they require advanced cryptographic and mathematical knowledge.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>Literature Review</title>
<p>In recent years, cryptographic structures that enable compact and efficient data storage and verification have garnered significant attention from researchers. Among them, Verkle trees, polynomial commitments, and vector commitments play a crucial role in modern cryptographic systems, including blockchain and post-quantum protocols. This section focuses on analyzing contemporary research related to Verkle trees, as well as polynomial and vector commitments. Specifically, it examines their cryptographic properties, efficiency, and applicability in the context of blockchain and post-quantum cryptography.</p>
<p>The study [<xref ref-type="bibr" rid="ref-16">16</xref>] explores Verkle trees, a cryptographic data structure designed as an alternative to Merkle trees. The author provides a detailed analysis of their architecture, mathematical properties, the use of vector commitments, and their advantages over traditional Merkle trees. John Kusmaul&#x2019;s research demonstrates that Verkle trees can significantly reduce storage and proof verification overhead, making them a promising solution for next-generation blockchain systems.</p>
<p>The work [<xref ref-type="bibr" rid="ref-17">17</xref>] proposes an adaptive restructuring of Merkle and Verkle trees to enhance blockchain scalability. It highlights the unique advantages of adaptive restructuring, such as simplicity, security, and increased efficiency, without introducing additional complexity or dependencies. The study suggests modifying the structure of Merkle and Verkle trees in response to data usage patterns, thereby shortening the average verification path length and lowering the computational overhead associated with data validation.</p>
<p>In [<xref ref-type="bibr" rid="ref-18">18</xref>], the authors propose an efficient Bulletproofs protocol for range proofs and other zero-knowledge proof tasks. This protocol is designed for confidential transactions in blockchains like Monero and Bitcoin. Its key advantages include short proof sizes, making it more efficient than existing approaches, the absence of a trusted setup, eliminating the need for a trusted initialization phase, and efficient verification. Bulletproofs is based on the discrete logarithm problem, making them potentially resistant to quantum attacks.</p>
<p>Traditional approaches to spatiotemporal queries in blockchain often require additional external storage or rely on static indexes. In light of this, study [<xref ref-type="bibr" rid="ref-19">19</xref>] introduces a novel adaptive indexing method for spatiotemporal data in blockchain to improve query efficiency and data verification. This method employs encrypted signatures for spatiotemporal indexing and features an adaptive algorithm capable of modifying the tree structure based on query history, optimizing the index for current needs.</p>
<p>Traditional vector commitment schemes require recomputation of all proofs when adding new elements, leading to significant computational overhead. To address this issue, the authors of [<xref ref-type="bibr" rid="ref-20">20</xref>] propose a new scheme of aggregatable subvector commitments based on Newton interpolation. This scheme enables efficient updates of commitments and proofs when adding new elements, eliminating the need for complete recomputation.</p>
<p>The study [<xref ref-type="bibr" rid="ref-21">21</xref>] focuses on the development of a lattice-based commitment scheme aimed at reducing communication overhead in cryptographic protocols. The authors provide a comprehensive security analysis of the proposed scheme, demonstrating its resistance to various attacks, including those potentially feasible with quantum computing. Additionally, experimental results confirm the scheme&#x2019;s efficiency and practical applicability in real-world scenarios. Overall, this work makes a significant contribution to post-quantum cryptography by offering an efficient and secure solution for low-communication-cost commitments.</p>
<p>Thus, the Verkle tree represents a promising technology that can significantly enhance blockchain system performance and scalability. Polynomial and vector commitments serve as powerful tools that can contribute to improving the efficiency and scalability of cryptographic systems. However, as the literature review suggests, further research is needed, particularly in the areas of security and practical implementation.</p>
</sec>
<sec id="s3">
<label>3</label>
<title>Materials and Methods</title>
<p>This section presents the theoretical and practical approaches used in the study. It describes the mathematical models, algorithms, and experimental attack methodologies applied for the analysis and verification of the proposed method. Additionally, key research parameters, data used, and evaluation criteria for assessing the efficiency of the proposed method are outlined.</p>
<sec id="s3_1">
<label>3.1</label>
<title>Verkle Tree</title>
<p>The Verkle tree is a data structure that combines the properties of Merkle trees and polynomial commitments. It is designed to improve blockchain scalability by reducing the size of data inclusion proofs [<xref ref-type="bibr" rid="ref-22">22</xref>]. The Verkle tree is used to represent a large set of elements while providing provable integrity guarantees (<xref ref-type="fig" rid="fig-1">Fig. 1</xref>).</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>Verkle Tree Structure</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_65085-fig-1.tif"/>
</fig>
<p>Key Characteristics of the Verkle Tree:
<list list-type="bullet">
<list-item>
<p>More Compact Proofs: The Verkle tree requires significantly less computationally expensive proofs compared to Merkle trees, which is crucial for conserving computational resources and increasing blockchain throughput [<xref ref-type="bibr" rid="ref-23">23</xref>].</p></list-item>
<list-item>
<p>Flat Structure: Unlike binary Merkle trees, Verkle trees can utilize nodes with a higher branching factor, reducing their height.</p></list-item>
<list-item>
<p>Fast Membership Proofs: Clients can quickly verify the presence of elements in the tree using short proofs.</p></list-item>
</list></p>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>Polynomial Commitments</title>
<p>Polynomial commitments enable the verification of polynomial computations without revealing the polynomial itself or its coefficients.</p>
<p>Key Properties:
<list list-type="bullet">
<list-item>
<p>Polynomial Representation: A polynomial commitment is a compact representation of a polynomial from which proofs of its values at specific points can be derived.</p></list-item>
<list-item>
<p>Proof Correctness: The party generating the commitment can produce proofs for any given points, while the verifying party can check their correctness without knowing the polynomial itself.</p></list-item>
</list></p>
<p>Types of Polynomial Commitments:
<list list-type="bullet">
<list-item>
<p>KZG-based Commitments (Kate, Zaverucha, and Goldberg): Widely used in modern implementations of Verkle trees.</p></list-item>
<list-item>
<p>Bulletproofs-based Commitments: Do not require trusted setups but have higher computational costs.</p></list-item>
</list></p>
</sec>
<sec id="s3_3">
<label>3.3</label>
<title>Construction of a Non-Positional Polynomial Notation</title>
<p>The construction of a non-positional polynomial notation based on the Chinese Remainder Theorem (CRT) represents an intriguing approach in cryptography, information encoding, and number theory. The key steps and principles for implementing this system are as follows:</p>
<sec id="s3_3_1">
<label>3.3.1</label>
<title>Chinese Remainder Theorem (CRT)</title>
<p>The CRT states that the system of congruences:
<disp-formula id="eqn-1"><label>(1)</label><mml:math id="mml-eqn-1" display="block"><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false"><mml:mtr><mml:mtd><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mspace width="negativethinmathspace" /><mml:mspace width="negativethinmathspace" /><mml:mspace width="negativethinmathspace" /><mml:mi>x</mml:mi><mml:mo>&#x2261;</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mspace width="negativethinmathspace" /><mml:mspace width="negativethinmathspace" /><mml:mspace width="negativethinmathspace" /><mml:mi>x</mml:mi><mml:mo>&#x2261;</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x22EE;</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>x</mml:mi><mml:mo>&#x2261;</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math></disp-formula>has a unique solution <inline-formula id="ieqn-1"><mml:math id="mml-ieqn-1"><mml:mi>x</mml:mi></mml:math></inline-formula> in the ring <inline-formula id="ieqn-2"><mml:math id="mml-ieqn-2"><mml:msub><mml:mi>Z</mml:mi><mml:mrow><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, where <inline-formula id="ieqn-3"><mml:math id="mml-ieqn-3"><mml:mi>P</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x22C5;</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, provided that the moduli <inline-formula id="ieqn-4"><mml:math id="mml-ieqn-4"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> are pairwise coprime. This allows any number <inline-formula id="ieqn-5"><mml:math id="mml-ieqn-5"><mml:mi>x</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msub><mml:mi>Z</mml:mi><mml:mrow><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> to be represented as a set of residues <inline-formula id="ieqn-6"><mml:math id="mml-ieqn-6"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> [<xref ref-type="bibr" rid="ref-24">24</xref>&#x2013;<xref ref-type="bibr" rid="ref-26">26</xref>].</p>
<p><xref ref-type="disp-formula" rid="eqn-1">Eq. (1)</xref> represents a system of congruences stating that for any number <italic>x</italic> in the ring <inline-formula id="ieqn-7"><mml:math id="mml-ieqn-7"><mml:msub><mml:mi>Z</mml:mi><mml:mrow><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, a unique set of remainders <inline-formula id="ieqn-8"><mml:math id="mml-ieqn-8"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> can be determined modulo <inline-formula id="ieqn-9"><mml:math id="mml-ieqn-9"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, provided that the moduli are pairwise coprime. This follows from the Chinese Remainder Theorem (CRT). In the context of the proposed polynomial commitment scheme, this representation plays a key role in constructing commitments and computing verifiable values.</p>
</sec>
<sec id="s3_3_2">
<label>3.3.2</label>
<title>Non-Positional Representation</title>
<p>Instead of the traditional positional numeral system, where each digit has a specific weight, the non-positional representation based on the CRT operates with residues <inline-formula id="ieqn-10"><mml:math id="mml-ieqn-10"><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> modulo <inline-formula id="ieqn-11"><mml:math id="mml-ieqn-11"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>.</p>
<p>A number <italic>x</italic> is represented as: <inline-formula id="ieqn-12"><mml:math id="mml-ieqn-12"><mml:mi>x</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, where <inline-formula id="ieqn-13"><mml:math id="mml-ieqn-13"><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>x</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. In this system, the order of residues <inline-formula id="ieqn-14"><mml:math id="mml-ieqn-14"><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> does not affect the representation, making it non-positional.</p>
<p>Example:</p>
<p>Suppose we want to represent the number 29 using the moduli (5, 7). In this case:</p>
<p>The remainder of 29 divided by 5: 29 mod 5 &#x003D; 4</p>
<p>The remainder of 29 divided by 7: 29 mod 7 &#x003D; 1</p>
<p>Thus, the representation of 29 in the Non-Positional Notation (NPN) with moduli (5, 7) is (4, 1). By applying the Chinese Remainder Theorem (CRT), the original number can be reconstructed, enabling efficient computations within this system.</p>
</sec>
<sec id="s3_3_3">
<label>3.3.3</label>
<title>Polynomial Structure</title>
<p>For a polynomial notation, the moduli <inline-formula id="ieqn-15"><mml:math id="mml-ieqn-15"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> can be chosen as polynomials over a finite field <inline-formula id="ieqn-16"><mml:math id="mml-ieqn-16"><mml:msub><mml:mi>Z</mml:mi><mml:mrow><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. For example, the moduli can be: <inline-formula id="ieqn-17"><mml:math id="mml-ieqn-17"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, where <inline-formula id="ieqn-18"><mml:math id="mml-ieqn-18"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> are irreducible polynomials. Any polynomial <inline-formula id="ieqn-19"><mml:math id="mml-ieqn-19"><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> from the ring <inline-formula id="ieqn-20"><mml:math id="mml-ieqn-20"><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">[</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:math></inline-formula> can be represented as a set of residues [<xref ref-type="bibr" rid="ref-27">27</xref>,<xref ref-type="bibr" rid="ref-28">28</xref>]:
<disp-formula id="ueqn-2"><mml:math id="mml-ueqn-2" display="block"><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>f</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mi>f</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>f</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">)</mml:mo><mml:mo>.</mml:mo></mml:math></disp-formula></p>
</sec>
<sec id="s3_3_4">
<label>3.3.4</label>
<title>Polynomial Reconstruction Algorithm</title>
<p>Using the CRT, the original polynomial <inline-formula id="ieqn-21"><mml:math id="mml-ieqn-21"><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> can be reconstructed from the given residues using the formula:
<disp-formula id="eqn-2"><label>(2)</label><mml:math id="mml-eqn-2" display="block"><mml:mi>f</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mi>P</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula>here,
<list list-type="bullet">
<list-item>
<p><inline-formula id="ieqn-22"><mml:math id="mml-ieqn-22"><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is the common modulus, which is the product of all polynomial moduli <inline-formula id="ieqn-23"><mml:math id="mml-ieqn-23"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>.</p></list-item>
<list-item>
<p><inline-formula id="ieqn-24"><mml:math id="mml-ieqn-24"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is defined as the quotient of the common modulus divided by a specific modulus <inline-formula id="ieqn-25"><mml:math id="mml-ieqn-25"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>.</p></list-item>
<list-item>
<p>The polynomial <inline-formula id="ieqn-26"><mml:math id="mml-ieqn-26"><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is the multiplicative inverse of <inline-formula id="ieqn-27"><mml:math id="mml-ieqn-27"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> modulo <inline-formula id="ieqn-28"><mml:math id="mml-ieqn-28"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, ensuring correct reconstruction.</p></list-item>
<list-item>
<p>Each remainder <inline-formula id="ieqn-29"><mml:math id="mml-ieqn-29"><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, which corresponds to the remainder of the polynomial <inline-formula id="ieqn-30"><mml:math id="mml-ieqn-30"><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> modulo <inline-formula id="ieqn-31"><mml:math id="mml-ieqn-31"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, is combined with the respective modular polynomials to reconstruct the original <inline-formula id="ieqn-32"><mml:math id="mml-ieqn-32"><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> modulo <inline-formula id="ieqn-33"><mml:math id="mml-ieqn-33"><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>.</p></list-item>
</list></p>
<p><xref ref-type="disp-formula" rid="eqn-2">Eq. (2)</xref> allows for the reconstruction of the original polynomial <inline-formula id="ieqn-34"><mml:math id="mml-ieqn-34"><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> based on its remainders modulo <inline-formula id="ieqn-35"><mml:math id="mml-ieqn-35"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. In the context of the proposed polynomial commitment scheme, this equation enables efficient recovery of the polynomial from its representation in a non-positional notation. This is crucial for verifying the correctness of commitments and ensuring computational efficiency.</p>
</sec>
</sec>
<sec id="s3_4">
<label>3.4</label>
<title>GCD-Based Attacks and the LLL Algorithm</title>
<p>Greatest common divisor (GCD) attacks are used to compromise public-key cryptographic systems. These attacks allow an adversary to find common factors of different users&#x2019; keys or expose private keys if a weak prime number generator is used. In RSA, DSA, or other cryptosystems, insufficient randomness in key generation can lead to vulnerabilities that an attacker can exploit in seconds. The attack concept is as follows: In classical RSA, the public key consists of a modulus <inline-formula id="ieqn-36"><mml:math id="mml-ieqn-36"><mml:mi>N</mml:mi><mml:mo>=</mml:mo><mml:mi>p</mml:mi><mml:mo>&#x22C5;</mml:mo><mml:mi>q</mml:mi></mml:math></inline-formula>, where <inline-formula id="ieqn-37"><mml:math id="mml-ieqn-37"><mml:mi>p</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-38"><mml:math id="mml-ieqn-38"><mml:mi>q</mml:mi></mml:math></inline-formula> are large prime numbers. If two different users accidentally select the same prime number <italic>p</italic> when generating their keys, it becomes trivial to discover <italic>p</italic> using the GCD operation. Suppose there are two RSA keys: <inline-formula id="ieqn-39"><mml:math id="mml-ieqn-39"><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>p</mml:mi><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>p</mml:mi><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>. An attacker can compute <inline-formula id="ieqn-40"><mml:math id="mml-ieqn-40"><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mi>g</mml:mi><mml:mi>c</mml:mi><mml:mi>d</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. If <inline-formula id="ieqn-41"><mml:math id="mml-ieqn-41"><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mi>p</mml:mi></mml:math></inline-formula>, then both keys can be factorized: <inline-formula id="ieqn-42"><mml:math id="mml-ieqn-42"><mml:mi>p</mml:mi><mml:mo>=</mml:mo><mml:mi>d</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>p</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>p</mml:mi><mml:mo>.</mml:mo></mml:math></inline-formula></p>
<p>The LLL (Lenstra&#x2013;Lenstra&#x2013;Lov&#x00E1;sz) Algorithm is a powerful method used in cryptanalysis, including attacks on RSA, factorization, and finding short vectors in lattices. It is an efficient technique for computing a reduced lattice basis, making it more orthogonal and containing shorter vectors. This is crucial because short vectors help solve difficult cryptographic problems, such as identifying weak secret keys.</p>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>Results and Discussion</title>
<sec id="s4_1">
<label>4.1</label>
<title>Development of a New Scheme Based on CRT</title>
<p>Verkle trees are an advanced alternative to Merkle trees, designed for efficient data storage and verification in decentralized systems. One of the key components of a Verkle tree is the use of polynomial commitments. This section describes the process of constructing such commitments using the CRT. <xref ref-type="fig" rid="fig-2">Fig. 2</xref> illustrates the structure of a Verkle tree, where the commitment and proofs are built based on CRT. An example is provided using a cross-section of a single root and three leaves.</p>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>Polynomial commitments based on NPN</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_65085-fig-2.tif"/>
</fig>
<p>The scheme operates as follows: first, a hash code <inline-formula id="ieqn-43"><mml:math id="mml-ieqn-43"><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is computed for the information <inline-formula id="ieqn-44"><mml:math id="mml-ieqn-44"><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> using the hash function <italic>H</italic>. The obtained hash code is then combined with a pre-generated key <inline-formula id="ieqn-45"><mml:math id="mml-ieqn-45"><mml:msub><mml:mi>g</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> using the XOR operation, resulting in the proof <inline-formula id="ieqn-46"><mml:math id="mml-ieqn-46"><mml:msub><mml:mi>&#x03C0;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. The XOR operation with pre-generated keys, as shown in <xref ref-type="fig" rid="fig-2">Fig. 2</xref>, enhances security and is accompanied by a whitening process. The whitening process plays a crucial role in strengthening cryptographic resistance, as it improves diffusion in the early stages. This, in turn, helps prevent attacks based on known structures, complicates related-key attacks, and increases the entropy of input data. This process is repeated for all proofs <inline-formula id="ieqn-47"><mml:math id="mml-ieqn-47"><mml:msub><mml:mi>&#x03C0;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. Next, using these proofs and predefined irreducible polynomials <inline-formula id="ieqn-48"><mml:math id="mml-ieqn-48"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, the commitment <inline-formula id="ieqn-49"><mml:math id="mml-ieqn-49"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> is determined using <xref ref-type="disp-formula" rid="eqn-2">Eq. (2)</xref>. An important aspect to consider is that all <inline-formula id="ieqn-50"><mml:math id="mml-ieqn-50"><mml:msub><mml:mi>g</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-51"><mml:math id="mml-ieqn-51"><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> must have the same degree: <inline-formula id="ieqn-52"><mml:math id="mml-ieqn-52"><mml:mi>deg</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>g</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>deg</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>n</mml:mi></mml:math></inline-formula>. Additionally, all <inline-formula id="ieqn-53"><mml:math id="mml-ieqn-53"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> must also have the same degree, given by: <inline-formula id="ieqn-54"><mml:math id="mml-ieqn-54"><mml:mi>deg</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>, where <inline-formula id="ieqn-55"><mml:math id="mml-ieqn-55"><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:math></inline-formula>. Consequently, the degree of the polynomial commitment <inline-formula id="ieqn-56"><mml:math id="mml-ieqn-56"><mml:mi>C</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> must be <inline-formula id="ieqn-57"><mml:math id="mml-ieqn-57"><mml:mi>deg</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>C</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>k</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow><mml:mtext>&#x00A0;</mml:mtext><mml:mo stretchy="false">(</mml:mo><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>.</p>
<p><inline-formula id="ieqn-58"><mml:math id="mml-ieqn-58"><mml:mrow><mml:mtext mathvariant="bold">KeyGen</mml:mtext></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="bold">1</mml:mtext></mml:mrow><mml:mrow><mml:mi mathvariant="bold-italic">n</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">k</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. <inline-formula id="ieqn-59"><mml:math id="mml-ieqn-59"><mml:mi>n</mml:mi></mml:math></inline-formula>&#x2014;security parameter, which represents either the polynomial degree or its length in binary representation. The parameter <inline-formula id="ieqn-60"><mml:math id="mml-ieqn-60"><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>N</mml:mi></mml:math></inline-formula> determines the number of nodes in the Verkle tree. A cryptographically secure hash function <inline-formula id="ieqn-61"><mml:math id="mml-ieqn-61"><mml:mi>H</mml:mi><mml:mo>&#x003A;</mml:mo><mml:msup><mml:mrow><mml:mo>{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>}</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:mo stretchy="false">&#x2192;</mml:mo><mml:msup><mml:mrow><mml:mo>{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>}</mml:mo></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> is used for hashing data.</p>
<p>At this stage, the degree of the polynomial <inline-formula id="ieqn-62"><mml:math id="mml-ieqn-62"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is set to <inline-formula id="ieqn-63"><mml:math id="mml-ieqn-63"><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula> and depends on the requirements of the cryptographic scheme. As a working basis, irreducible polynomials <inline-formula id="ieqn-64"><mml:math id="mml-ieqn-64"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> of degree <inline-formula id="ieqn-65"><mml:math id="mml-ieqn-65"><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula> are randomly selected, where <inline-formula id="ieqn-66"><mml:math id="mml-ieqn-66"><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mover><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:math></inline-formula>. Then, using a pseudorandom sequence generator <inline-formula id="ieqn-67"><mml:math id="mml-ieqn-67"><mml:mi>G</mml:mi></mml:math></inline-formula>, the required number of keys <inline-formula id="ieqn-68"><mml:math id="mml-ieqn-68"><mml:msub><mml:mi>g</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> are generated, forming the complete key <inline-formula id="ieqn-69"><mml:math id="mml-ieqn-69"><mml:mi>G</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>g</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:msub><mml:mi>g</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>g</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, where each <inline-formula id="ieqn-70"><mml:math id="mml-ieqn-70"><mml:msub><mml:mi>g</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> has a degree of <inline-formula id="ieqn-71"><mml:math id="mml-ieqn-71"><mml:mi>n</mml:mi></mml:math></inline-formula>.</p>
<p><inline-formula id="ieqn-72"><mml:math id="mml-ieqn-72"><mml:msub><mml:mrow><mml:mtext mathvariant="bold">Com</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext mathvariant="bold">pp</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">m</mml:mi><mml:mrow><mml:mrow><mml:mtext mathvariant="bold">1</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">m</mml:mi><mml:mrow><mml:mi mathvariant="bold-italic">k</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. To compute the polynomial commitment <inline-formula id="ieqn-73"><mml:math id="mml-ieqn-73"><mml:mi>C</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> for all messages <inline-formula id="ieqn-74"><mml:math id="mml-ieqn-74"><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, the commitment <inline-formula id="ieqn-75"><mml:math id="mml-ieqn-75"><mml:msub><mml:mi>&#x03C0;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is first calculated for each given message <inline-formula id="ieqn-76"><mml:math id="mml-ieqn-76"><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, where <inline-formula id="ieqn-77"><mml:math id="mml-ieqn-77"><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mover><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:math></inline-formula>. Using the cryptographic hash function <inline-formula id="ieqn-78"><mml:math id="mml-ieqn-78"><mml:mi>H</mml:mi><mml:mo>&#x003A;</mml:mo><mml:msup><mml:mrow><mml:mo>{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>}</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:mo stretchy="false">&#x2192;</mml:mo><mml:msup><mml:mrow><mml:mo>{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>}</mml:mo></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, the hash value is computed as <inline-formula id="ieqn-79"><mml:math id="mml-ieqn-79"><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>H</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:math></inline-formula> Then, the proof <inline-formula id="ieqn-80"><mml:math id="mml-ieqn-80"><mml:msub><mml:mi>&#x03C0;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is determined as <inline-formula id="ieqn-81"><mml:math id="mml-ieqn-81"><mml:msub><mml:mi>&#x03C0;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2295;</mml:mo><mml:msub><mml:mi>g</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, where <inline-formula id="ieqn-82"><mml:math id="mml-ieqn-82"><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mover><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:math></inline-formula>.</p>
<p>Now, based on the CRT, the polynomial commitment <inline-formula id="ieqn-83"><mml:math id="mml-ieqn-83"><mml:mi>C</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, can be reconstructed using all <inline-formula id="ieqn-84"><mml:math id="mml-ieqn-84"><mml:msub><mml:mi>&#x03C0;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> as its remainders. <inline-formula id="ieqn-85"><mml:math id="mml-ieqn-85"><mml:mi>C</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> can be uniquely restored provided that its degree is smaller than the degree of the product of all <inline-formula id="ieqn-86"><mml:math id="mml-ieqn-86"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, i.e., <inline-formula id="ieqn-87"><mml:math id="mml-ieqn-87"><mml:mi>d</mml:mi><mml:mi>e</mml:mi><mml:mi>g</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>C</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x003C;</mml:mo><mml:mi>d</mml:mi><mml:mi>e</mml:mi><mml:mi>g</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x22C5;</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. The reconstruction of <inline-formula id="ieqn-88"><mml:math id="mml-ieqn-88"><mml:mi>C</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> consists of the following four steps:
<list list-type="bullet">
<list-item>
<p>Compute the product of the working bases: <inline-formula id="ieqn-89"><mml:math id="mml-ieqn-89"><mml:mi>P</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x22C5;</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>.</p></list-item>
<list-item>
<p>Compute <inline-formula id="ieqn-90"><mml:math id="mml-ieqn-90"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mover><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:math></inline-formula>.</p></list-item>
<list-item>
<p>Find the inverse polynomial <inline-formula id="ieqn-91"><mml:math id="mml-ieqn-91"><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> such that <inline-formula id="ieqn-92"><mml:math id="mml-ieqn-92"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x22C5;</mml:mo><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2261;</mml:mo><mml:mn>1</mml:mn><mml:mspace width="thinmathspace" /><mml:mrow><mml:mo>(</mml:mo><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-93"><mml:math id="mml-ieqn-93"><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mover><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:math></inline-formula>.</p></list-item>
<list-item>
<p>Compute <inline-formula id="ieqn-94"><mml:math id="mml-ieqn-94"><mml:mi>C</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> using the formula: <inline-formula id="ieqn-95"><mml:math id="mml-ieqn-95"><mml:mi>C</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mi>&#x03C0;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x22C5;</mml:mo><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mi>P</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> and declare it as the public key for message verification. <inline-formula id="ieqn-96"><mml:math id="mml-ieqn-96"><mml:mi>C</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mi>&#x03C0;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x22C5;</mml:mo><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mi>P</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mi>l</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mi>k</mml:mi></mml:math></inline-formula>.</p></list-item>
</list></p>
<p><inline-formula id="ieqn-97"><mml:math id="mml-ieqn-97"><mml:mrow><mml:mtext mathvariant="bold">Open</mml:mtext></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">m</mml:mi><mml:mrow><mml:mi mathvariant="bold-italic">i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">&#x03C0;</mml:mi><mml:mrow><mml:mi mathvariant="bold-italic">i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">i</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mspace width="negativethinmathspace" /><mml:mo>.</mml:mo></mml:math></inline-formula> The algorithm declares that the message <inline-formula id="ieqn-98"><mml:math id="mml-ieqn-98"><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is committed to <inline-formula id="ieqn-99"><mml:math id="mml-ieqn-99"><mml:msub><mml:mi>&#x03C0;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and that this commitment is indeed included in <inline-formula id="ieqn-100"><mml:math id="mml-ieqn-100"><mml:mi>C</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> without revealing all other values of <inline-formula id="ieqn-101"><mml:math id="mml-ieqn-101"><mml:msub><mml:mi>&#x03C0;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>.</p>
<p><inline-formula id="ieqn-102"><mml:math id="mml-ieqn-102"><mml:mrow><mml:mtext mathvariant="bold">Ver</mml:mtext></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mrow><mml:mi mathvariant="bold-italic">i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">g</mml:mi><mml:mrow><mml:mi mathvariant="bold-italic">i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">i</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. The algorithm verifies that the provided commitment <inline-formula id="ieqn-103"><mml:math id="mml-ieqn-103"><mml:msub><mml:mi>&#x03C0;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is indeed contained in <inline-formula id="ieqn-104"><mml:math id="mml-ieqn-104"><mml:mi>C</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> and, accordingly, that the signed or received message <inline-formula id="ieqn-105"><mml:math id="mml-ieqn-105"><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> has not been modified. To do this, the proof <inline-formula id="ieqn-106"><mml:math id="mml-ieqn-106"><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>g</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is sent, and the following computations and comparisons are performed: <inline-formula id="ieqn-107"><mml:math id="mml-ieqn-107"><mml:msub><mml:mi>&#x03C0;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>C</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, <inline-formula id="ieqn-108"><mml:math id="mml-ieqn-108"><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>H</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2295;</mml:mo><mml:msub><mml:mi>g</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>.</p>
<p>If <inline-formula id="ieqn-109"><mml:math id="mml-ieqn-109"><mml:msub><mml:mi>&#x03C0;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, then the commitment is valid, and it is concluded that <inline-formula id="ieqn-110"><mml:math id="mml-ieqn-110"><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is authentic.</p>
<p><inline-formula id="ieqn-111"><mml:math id="mml-ieqn-111"><mml:mrow><mml:mtext mathvariant="bold">Update</mml:mtext></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">m</mml:mi><mml:mrow><mml:mi mathvariant="bold-italic">i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:msubsup><mml:mi mathvariant="bold-italic">m</mml:mi><mml:mrow><mml:mi mathvariant="bold-italic">i</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:msubsup><mml:mi mathvariant="bold-italic">g</mml:mi><mml:mrow><mml:mi mathvariant="bold-italic">i</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">i</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. The algorithm is initiated by the sender who wishes to update the commitment <inline-formula id="ieqn-112"><mml:math id="mml-ieqn-112"><mml:mi>C</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> by replacing the <inline-formula id="ieqn-113"><mml:math id="mml-ieqn-113"><mml:mi>i</mml:mi></mml:math></inline-formula>th message. To perform the update, the commitment is recomputed as follows: <inline-formula id="ieqn-114"><mml:math id="mml-ieqn-114"><mml:msup><mml:mi>C</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msubsup><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:msub><mml:mi>&#x03C0;</mml:mi><mml:mrow><mml:mi mathvariant="bold-italic">i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi mathvariant="bold-italic">i</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi mathvariant="bold-italic">i</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mi>P</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, while there is no need to recompute <inline-formula id="ieqn-115"><mml:math id="mml-ieqn-115"><mml:mi>P</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>.</p>
<p><inline-formula id="ieqn-116"><mml:math id="mml-ieqn-116"><mml:mrow><mml:mtext mathvariant="bold">ProofUpdate</mml:mtext></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:msubsup><mml:mi mathvariant="bold-italic">m</mml:mi><mml:mrow><mml:mi mathvariant="bold-italic">j</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:msubsup><mml:mi mathvariant="bold-italic">&#x03C0;</mml:mi><mml:mrow><mml:mi mathvariant="bold-italic">j</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">j</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. When one or more nodes in a Verkle tree are modified, the corresponding commitments are recomputed upwards in the tree, altering the root commitment. To update the proof for query <inline-formula id="ieqn-117"><mml:math id="mml-ieqn-117"><mml:mi>j</mml:mi></mml:math></inline-formula>, only the changed paths need to be considered. Instead of recomputing the entire proof from scratch, the algorithm modifies the existing proof by incorporating the difference between the old and new commitment states.</p>
<p>The use of polynomial commitments in tree nodes minimizes proof sizes, making them more efficient for transmission and verification. This significantly accelerates data authentication, which is particularly important in scenarios with limited computational resources.</p>
<p>By leveraging polynomial commitments with the CRT, Verkle trees enable faster data verification. Unlike traditional methods that require sequential hash function computations, this structure employs a compact representation that substantially reduces verification time. This is especially crucial for distributed systems where authentication speed plays a key role.</p>
<p>Vector commitments for Verkle trees based on CRT allow for compact storage and verification of nodes, eliminating the need for discrete logarithm operations. At the same time, the structure remains concise while supporting efficient inclusion and update proofs. <xref ref-type="table" rid="table-1">Table 1</xref> presents a comparative analysis of various polynomial commitment methods.</p>
<table-wrap id="table-1">
<label>Table 1</label>
<caption>
<title>Comparative analysis of the proposed method against other methods</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Characteristic</th>
<th>Method with NPNs</th>
<th>RSA (2048-bit)</th>
<th>CDH</th>
</tr>
</thead>
<tbody>
<tr>
<td>Computation speed</td>
<td>&#x007E;10 ms</td>
<td>&#x007E;500 ms</td>
<td>&#x007E;200 ms</td>
</tr>
<tr>
<td>Key size</td>
<td>256&#x2013;512 bits</td>
<td>2048 bits</td>
<td>3072 bits</td>
</tr>
<tr>
<td>Commitment size</td>
<td>&#x007E;512 bits</td>
<td>&#x007E;512&#x2013;1024 bits</td>
<td>&#x007E;1024 bits</td>
</tr>
<tr>
<td>Resistance to quantum attacks</td>
<td>High</td>
<td>Low</td>
<td>Low</td>
</tr>
<tr>
<td>Update capability</td>
<td>Local update</td>
<td>Recalculation of the entire system</td>
<td>Limited</td>
</tr>
<tr>
<td>Support for ZK proofs</td>
<td>Optimized</td>
<td>Limited</td>
<td>Medium</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>For an objective evaluation of the proposed method, a comparison was conducted with existing schemes, including KZG and Bulletproofs (<xref ref-type="table" rid="table-2">Table 2</xref>). The evaluation criteria included commitment generation time and proof verification time.</p>
<table-wrap id="table-2">
<label>Table 2</label>
<caption>
<title>Comparison results</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Tree size</th>
<th>Scheme</th>
<th>Commitment generation time (ms)</th>
<th>Proof verification time (ms)</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="3">1000 nodes</td>
<td>KZG</td>
<td>1650</td>
<td>125</td>
</tr>
<tr>
<td>Bulletproofs [<xref ref-type="bibr" rid="ref-18">18</xref>]</td>
<td>1594</td>
<td>114</td>
</tr>
<tr>
<td>Proposed scheme</td>
<td>1289</td>
<td>109</td>
</tr>
<tr>
<td rowspan="3">10,000 nodes</td>
<td>KZG</td>
<td>3288</td>
<td>248</td>
</tr>
<tr>
<td>Bulletproofs [<xref ref-type="bibr" rid="ref-18">18</xref>]</td>
<td>3128</td>
<td>210</td>
</tr>
<tr>
<td>Proposed scheme</td>
<td>2974</td>
<td>185</td>
</tr>
<tr>
<td rowspan="3">100,000 nodes</td>
<td>KZG</td>
<td>6515</td>
<td>500</td>
</tr>
<tr>
<td>Bulletproofs [<xref ref-type="bibr" rid="ref-18">18</xref>]</td>
<td>6171</td>
<td>392</td>
</tr>
<tr>
<td>Proposed scheme</td>
<td>5803</td>
<td>371</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>As seen from the results, the proposed scheme provides a balance between commitment size and computational speed while demonstrating lower verification costs compared to Bulletproofs and eliminating the need for a trusted setup, which is required by KZG.</p>
<p><xref ref-type="table" rid="table-3">Table 3</xref> provides a comparative analysis of the polynomial commitment scheme based on the Chinese Remainder Theorem (CRT) and the classical KZG scheme. We examine the parameters&#x2014;proof size and computational complexity&#x2014;at the Commitment and Verify stages, as well as their security properties.</p>
<table-wrap id="table-3">
<label>Table 3</label>
<caption>
<title>Comparative analysis with KZG</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Parameter</th>
<th>Proposed scheme</th>
<th>KZG</th>
</tr>
</thead>
<tbody>
<tr>
<td>Proof size</td>
<td>Single polynomial <inline-formula id="ieqn-118"><mml:math id="mml-ieqn-118"><mml:msub><mml:mi>&#x03C0;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:math></inline-formula> degree <inline-formula id="ieqn-119"><mml:math id="mml-ieqn-119"><mml:mi>n</mml:mi></mml:math></inline-formula></td>
<td>One group element in <inline-formula id="ieqn-120"><mml:math id="mml-ieqn-120"><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></td>
</tr>
<tr>
<td>Commitment complexity</td>
<td><inline-formula id="ieqn-121"><mml:math id="mml-ieqn-121"><mml:mi>O</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>&#x22C5;</mml:mo><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-122"><mml:math id="mml-ieqn-122"><mml:mi>O</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>d</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x22C5;</mml:mo><mml:mi>E</mml:mi><mml:mi>C</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mi>m</mml:mi><mml:mi>u</mml:mi><mml:mi>l</mml:mi><mml:mi>t</mml:mi></mml:math></inline-formula></td>
</tr>
<tr>
<td>Verify complexity</td>
<td><inline-formula id="ieqn-123"><mml:math id="mml-ieqn-123"><mml:mi>O</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-124"><mml:math id="mml-ieqn-124"><mml:mi>O</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>g</mml:mi><mml:mi>d</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x22C5;</mml:mo><mml:mi>E</mml:mi><mml:mi>C</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mi>m</mml:mi><mml:mi>u</mml:mi><mml:mi>l</mml:mi><mml:mi>t</mml:mi></mml:math></inline-formula></td>
</tr>
<tr>
<td>Post-quantum security</td>
<td>Yes</td>
<td>No</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Here, <italic>EC mult</italic> stands for <italic>Elliptic Curve Multiplication</italic>, i.e., point multiplication on an elliptic curve. While KZG grows more efficiently with large polynomial degree <italic>d</italic>, in practice it tends to be slower due to the high computational cost of elliptic curve operations.</p>
</sec>
<sec id="s4_2">
<label>4.2</label>
<title>Analysis of Potential Attacks on the Proposed Method Based on NPNs</title>
<p>Problem Statement: Let us consider a system of congruences based on the CRT for polynomials:
<disp-formula id="ueqn-4"><mml:math id="mml-ueqn-4" display="block"><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mi>C</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2261;</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>C</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2261;</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x22EE;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>C</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2261;</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>Is it possible to compute the moduli <inline-formula id="ieqn-125"><mml:math id="mml-ieqn-125"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> given only <inline-formula id="ieqn-126"><mml:math id="mml-ieqn-126"><mml:mi>C</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>X</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and all <inline-formula id="ieqn-127"><mml:math id="mml-ieqn-127"><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> for <inline-formula id="ieqn-128"><mml:math id="mml-ieqn-128"><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mover><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:math></inline-formula>?</p>
<sec id="s4_2_1">
<label>4.2.1</label>
<title>Greatest Common Divisor (GCD) Attack</title>
<p>One fundamental attack approach is attempting to compute <inline-formula id="ieqn-129"><mml:math id="mml-ieqn-129"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> through GCD-based attacks. Given <inline-formula id="ieqn-130"><mml:math id="mml-ieqn-130"><mml:mi>C</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and <inline-formula id="ieqn-131"><mml:math id="mml-ieqn-131"><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, one can construct the difference: <inline-formula id="ieqn-132"><mml:math id="mml-ieqn-132"><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mi>C</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. Since <inline-formula id="ieqn-133"><mml:math id="mml-ieqn-133"><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> must be divisible by <inline-formula id="ieqn-134"><mml:math id="mml-ieqn-134"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, an adversary can attempt to compute: <inline-formula id="ieqn-135"><mml:math id="mml-ieqn-135"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mi>g</mml:mi><mml:mi>c</mml:mi><mml:mi>d</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, where <inline-formula id="ieqn-136"><mml:math id="mml-ieqn-136"><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mover><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mo accent="false">&#x00AF;</mml:mo></mml:mover></mml:math></inline-formula>. To mitigate such attacks, the following precautions must be taken:
<list list-type="bullet">
<list-item>
<p>Selecting moduli <inline-formula id="ieqn-137"><mml:math id="mml-ieqn-137"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> without common factors, ensuring that: <inline-formula id="ieqn-138"><mml:math id="mml-ieqn-138"><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mi>i</mml:mi><mml:mo>&#x2260;</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x003A;</mml:mo><mml:mi>g</mml:mi><mml:mi>c</mml:mi><mml:mi>d</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>.</p></list-item>
<list-item>
<p>Making moduli <inline-formula id="ieqn-139"><mml:math id="mml-ieqn-139"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> random and unrelated to each other.</p></list-item>
</list></p>
</sec>
<sec id="s4_2_2">
<label>4.2.2</label>
<title>Approximate Multiples Attack (LLL Lattice Reduction)</title>
<p>If the moduli <inline-formula id="ieqn-140"><mml:math id="mml-ieqn-140"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> exhibit a specific structure or belong to a certain class of polynomials, an adversary may attempt to recover them using the approximate multiples method. If these moduli have small coefficients or a known form (e.g., many zeroes or fixed bits), a lattice can be constructed based on the residues, and the LLL algorithm can be used to approximate <inline-formula id="ieqn-141"><mml:math id="mml-ieqn-141"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. The LLL algorithm finds a reduced basis for the lattice, which may help reconstruct the target moduli.</p>
<p>To protect against such attacks, the moduli should be chosen as random dense polynomials, i.e., without fixed bits or known coefficients. If only irreducible polynomials of degree 256 are used as moduli in the CRT, the probability of an attacker recovering them becomes negligible because:
<list list-type="bullet">
<list-item>
<p>Irreducible polynomials cannot be factored into lower-degree polynomials, which eliminates the possibility of a GCD attack.</p></list-item>
<list-item>
<p>The number of possible irreducible polynomials is large, and they are uniformly distributed, making it difficult to identify patterns or predict their structure.</p></list-item>
<list-item>
<p>An LLL-based lattice attack becomes ineffective if the coefficients of irreducible polynomials are chosen randomly.</p></list-item>
</list></p>
</sec>
<sec id="s4_2_3">
<label>4.2.3</label>
<title>Brute-Force Search for Irreducible Polynomials</title>
<p>If an adversary knows that the moduli are irreducible polynomials of degree 256, they may attempt to enumerate them exhaustively. However, such enumeration has exponential complexity.</p>
<p>Estimation of the Number of Possible Irreducible Polynomials</p>
<p>In the scheme, the proof components consist of two parts, <inline-formula id="ieqn-142"><mml:math id="mml-ieqn-142"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> and <inline-formula id="ieqn-143"><mml:math id="mml-ieqn-143"><mml:msub><mml:mi>g</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:math></inline-formula> which are generated independently. The first part of the proof represents a pseudorandom sequence, while the second part consists of the selected system of polynomial bases <inline-formula id="ieqn-144"><mml:math id="mml-ieqn-144"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. It is known that the number of operations required to enumerate all possible keys <inline-formula id="ieqn-145"><mml:math id="mml-ieqn-145"><mml:msub><mml:mi>g</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> of length <inline-formula id="ieqn-146"><mml:math id="mml-ieqn-146"><mml:mi>n</mml:mi></mml:math></inline-formula> bits is <inline-formula id="ieqn-147"><mml:math id="mml-ieqn-147"><mml:msup><mml:mn>2</mml:mn><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>. To determine the number of irreducible polynomials of degree <inline-formula id="ieqn-148"><mml:math id="mml-ieqn-148"><mml:mi>n</mml:mi></mml:math></inline-formula> over a finite field <inline-formula id="ieqn-149"><mml:math id="mml-ieqn-149"><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mi>q</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, where <inline-formula id="ieqn-150"><mml:math id="mml-ieqn-150"><mml:mi>q</mml:mi></mml:math></inline-formula> is the power of a prime number, the following formula can be used: <inline-formula id="ieqn-151"><mml:math id="mml-ieqn-151"><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>q</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>n</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>n</mml:mi></mml:mfrac><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>d</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:munder><mml:mi>&#x03BC;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>d</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:msup><mml:mi>q</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>d</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, where <inline-formula id="ieqn-152"><mml:math id="mml-ieqn-152"><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>q</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>n</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is the number of irreducible polynomials of degree <inline-formula id="ieqn-153"><mml:math id="mml-ieqn-153"><mml:mi>n</mml:mi></mml:math></inline-formula> over the field <inline-formula id="ieqn-154"><mml:math id="mml-ieqn-154"><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mi>q</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-155"><mml:math id="mml-ieqn-155"><mml:mi>&#x03BC;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>d</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is the M&#x00F6;bius function, and the sum is taken over all divisors <inline-formula id="ieqn-156"><mml:math id="mml-ieqn-156"><mml:mi>d</mml:mi></mml:math></inline-formula> of <inline-formula id="ieqn-157"><mml:math id="mml-ieqn-157"><mml:mi>n</mml:mi></mml:math></inline-formula>.</p>
<p>The M&#x00F6;bius function is defined as follows:
<disp-formula id="ueqn-5"><mml:math id="mml-ueqn-5" display="block"><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>d</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x003A;</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false"><mml:mtr><mml:mtd><mml:mn>0</mml:mn><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:mrow><mml:mtext>if&#xA0;</mml:mtext></mml:mrow><mml:mi>d</mml:mi><mml:mrow><mml:mtext>&#xA0;has</mml:mtext></mml:mrow><mml:mtext>&#x00A0;</mml:mtext><mml:mrow><mml:mtext>a</mml:mtext></mml:mrow><mml:mtext>&#x00A0;</mml:mtext><mml:mrow><mml:mtext>squared factor</mml:mtext></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:mrow><mml:mtext>if&#xA0;</mml:mtext></mml:mrow><mml:mi>d</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mrow><mml:mtext>is the product of&#xA0;</mml:mtext></mml:mrow><mml:mi>k</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mrow><mml:mtext>distinct prime numbers</mml:mtext></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:mrow><mml:mtext>if&#xA0;</mml:mtext></mml:mrow><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mn>1.</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>For <inline-formula id="ieqn-158"><mml:math id="mml-ieqn-158"><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn>256</mml:mn></mml:math></inline-formula> and <inline-formula id="ieqn-159"><mml:math id="mml-ieqn-159"><mml:mi>q</mml:mi><mml:mo>=</mml:mo><mml:mn>2</mml:mn></mml:math></inline-formula> (field <inline-formula id="ieqn-160"><mml:math id="mml-ieqn-160"><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>): <inline-formula id="ieqn-161"><mml:math id="mml-ieqn-161"><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mn>256</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mn>256</mml:mn></mml:mfrac><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>d</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mn>256</mml:mn></mml:mrow></mml:munder><mml:mi>&#x03BC;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>d</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:msup><mml:mi>q</mml:mi><mml:mrow><mml:mn>256</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>d</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>.</p>
<p>The divisors of 256 are <inline-formula id="ieqn-162"><mml:math id="mml-ieqn-162"><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mn>4</mml:mn><mml:mo>,</mml:mo><mml:mn>8</mml:mn><mml:mo>,</mml:mo><mml:mn>16</mml:mn><mml:mo>,</mml:mo><mml:mn>32</mml:mn><mml:mo>,</mml:mo><mml:mn>64</mml:mn><mml:mo>,</mml:mo><mml:mn>128</mml:mn><mml:mo>,</mml:mo><mml:mn>256</mml:mn><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>, and the values of the M&#x00F6;bius function for these divisors are: <inline-formula id="ieqn-163"><mml:math id="mml-ieqn-163"><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mn>2</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mn>4</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mn>8</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mn>16</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo></mml:math></inline-formula> <inline-formula id="ieqn-164"><mml:math id="mml-ieqn-164"><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mn>32</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mn>64</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mn>128</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>,<inline-formula id="ieqn-165"><mml:math id="mml-ieqn-165"><mml:mi>&#x03BC;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mn>256</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>.</p>
<p>Since only the terms for <inline-formula id="ieqn-166"><mml:math id="mml-ieqn-166"><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula> and <inline-formula id="ieqn-167"><mml:math id="mml-ieqn-167"><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mn>2</mml:mn></mml:math></inline-formula> are nonzero in the summation:
<disp-formula id="ueqn-6"><mml:math id="mml-ueqn-6" display="block"><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mn>256</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mn>256</mml:mn></mml:mfrac><mml:mrow><mml:mo>(</mml:mo><mml:mi>&#x03BC;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:msup><mml:mi>q</mml:mi><mml:mrow><mml:mn>256</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:mi>&#x03BC;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mn>2</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:msup><mml:mi>q</mml:mi><mml:mrow><mml:mn>256</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mn>256</mml:mn></mml:mfrac><mml:mrow><mml:mo>(</mml:mo><mml:msup><mml:mn>2</mml:mn><mml:mrow><mml:mn>256</mml:mn></mml:mrow></mml:msup><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mn>2</mml:mn><mml:mrow><mml:mn>128</mml:mn></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msup><mml:mn>2</mml:mn><mml:mrow><mml:mn>248</mml:mn></mml:mrow></mml:msup><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mn>2</mml:mn><mml:mrow><mml:mn>120</mml:mn></mml:mrow></mml:msup></mml:math></disp-formula></p>
<p>As a result, the number of irreducible polynomials of degree 256 over the field <inline-formula id="ieqn-168"><mml:math id="mml-ieqn-168"><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> is: <inline-formula id="ieqn-169"><mml:math id="mml-ieqn-169"><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mn>256</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msup><mml:mn>2</mml:mn><mml:mrow><mml:mn>248</mml:mn></mml:mrow></mml:msup><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mn>2</mml:mn><mml:mrow><mml:mn>120</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>. From this, the total proof space is given by <inline-formula id="ieqn-170"><mml:math id="mml-ieqn-170"><mml:msup><mml:mn>2</mml:mn><mml:mrow><mml:mn>256</mml:mn></mml:mrow></mml:msup><mml:mo>&#x22C5;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msup><mml:mn>2</mml:mn><mml:mrow><mml:mn>248</mml:mn></mml:mrow></mml:msup><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mn>2</mml:mn><mml:mrow><mml:mn>120</mml:mn></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msup><mml:mn>2</mml:mn><mml:mrow><mml:mn>504</mml:mn></mml:mrow></mml:msup><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mn>2</mml:mn><mml:mrow><mml:mn>376</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>. This is an extremely large number, making an exhaustive search infeasible, even for quantum computers.</p>
<p>Using Coefficient Information</p>
<p>If the moduli <inline-formula id="ieqn-171"><mml:math id="mml-ieqn-171"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> have a specific structure (e.g., some coefficients are zero or follow a known pattern), an adversary might attempt to reconstruct them. To mitigate this risk, the algorithm ensures that:
<list list-type="bullet">
<list-item>
<p>The moduli are generated using cryptographically secure random methods.</p></list-item>
<list-item>
<p>No predictable patterns are used in the coefficients.</p></list-item>
</list></p>
<p>Using irreducible polynomials of degree 256 makes it extremely difficult to determine the moduli because:
<list list-type="bullet">
<list-item>
<p>GCD attacks are ineffective, as irreducible polynomials cannot be factored.</p></list-item>
<list-item>
<p>LLL-based lattice attacks are useless if the coefficients are randomly chosen.</p></list-item>
<list-item>
<p>The number of possible moduli is enormous, making exhaustive search infeasible.</p></list-item>
</list></p>
<p>Verkle trees represent an advanced data structure that significantly outperforms traditional Merkle trees and Patricia Tries in several key aspects. They provide more compact data storage and proof sizes, which is critical for the scalability of blockchains and distributed systems. By leveraging polynomial commitments in tree nodes, Verkle trees minimize proof sizes to the lowest possible level, making them more efficient for transmission and verification. This reduces network load and speeds up data authentication, which is particularly important in resource-constrained environments.</p>
<p>Another major advantage of Verkle trees is their memory efficiency. Unlike classical structures that require storing numerous intermediate hashes, Verkle trees reduce the amount of necessary data, improving overall system performance. This is especially beneficial in environments where data growth is rapid, and efficient storage is essential.</p>
<p>The flexibility of data updates in Verkle trees is another key advantage. Unlike Merkle trees, where modifying a single node requires recomputing an entire hash chain, Verkle trees allow individual elements to be updated with minimal computational overhead. This makes them ideal for dynamic systems where data changes in real time. <xref ref-type="table" rid="table-4">Table 4</xref> presents the key characteristics of Verkle trees compared to Merkle trees and Patricia Tries. The values presented in <xref ref-type="table" rid="table-4">Table 4</xref> are theoretical estimates based on the analysis of the characteristics of various data structures.</p>
<table-wrap id="table-4">
<label>Table 4</label>
<caption>
<title>Comparison of Verkle trees, Merkle trees, and Patricia tries</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Parameter</th>
<th>Verkle tree</th>
<th>Merkle tree</th>
<th>Patricia trie</th>
</tr>
</thead>
<tbody>
<tr>
<td>Proof size</td>
<td>&#x007E;1&#x2013;2 KB</td>
<td>&#x007E;10&#x2013;100 KB</td>
<td>&#x007E;5&#x2013;50 KB</td>
</tr>
<tr>
<td>Hashes for verification</td>
<td><italic>O</italic>(log <italic>n</italic>)</td>
<td><italic>O</italic>(log <italic>n</italic>)</td>
<td><italic>O</italic>(log <italic>n</italic>)</td>
</tr>
<tr>
<td>Verification performance</td>
<td>Fast (polynomials)</td>
<td>Medium</td>
<td>Slow</td>
</tr>
<tr>
<td>Memory usage</td>
<td>Low</td>
<td>High</td>
<td>Medium</td>
</tr>
<tr>
<td>Computational complexity</td>
<td><italic>O</italic>(log <italic>n</italic>)</td>
<td><italic>O</italic>(log <italic>n</italic>)</td>
<td><italic>O</italic>(log <italic>n</italic>)</td>
</tr>
<tr>
<td>Optimized for ZK</td>
<td>Yes</td>
<td>Partially</td>
<td>No</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
<sec id="s4_3">
<label>4.3</label>
<title>Future Works</title>
<p>As shown in <xref ref-type="sec" rid="s4_2">Section 4.2</xref>, no vulnerabilities have been identified so far as a result of the theoretical analysis. Given the limited scope of our study, which focused primarily on the theoretical foundations of the proposed method, the next stage of our work will involve identifying potential practical vulnerabilities (e.g., side-channel attacks and fault injection attacks) and exploring possible countermeasures. In addition, further efforts will be directed toward optimizing computational processes and investigating the applicability of the scheme to real-world blockchain platforms.</p>
</sec>
</sec>
<sec id="s5">
<label>5</label>
<title>Conclusion</title>
<p>The use of the CRT for constructing polynomial commitments in Verkle trees opens new prospects in cryptography and information security. This approach enhances key properties of the scheme, such as computational efficiency, data compactness, and resistance to quantum attacks. A CRT-based system relies on decomposition into multiple pairwise coprime moduli, allowing large polynomials to be represented as a set of remainders corresponding to these moduli. This method facilitates the development of efficient verification and update mechanisms for commitments while optimizing computations by leveraging the properties of the CRT.</p>
<p>In the proposed scheme, we use a combination of the Chinese Remainder Theorem (CRT) and hash functions to construct polynomial commitments. This combination ensures resistance to quantum computer attacks due to:
<list list-type="bullet">
<list-item>
<p>The absence of reliance on complexity assumptions vulnerable to quantum attacks. Unlike schemes based on discrete logarithms or factorization, our scheme does not rely on mathematical problems solvable by Shor&#x2019;s algorithm.</p></list-item>
<list-item>
<p>The use of hash functions. Properly chosen cryptographic hash functions are assumed to remain secure even against quantum computer attacks (e.g., against Grover&#x2019;s algorithm, which only provides a quadratic speedup for preimage searches). This makes our scheme potentially post-quantum secure.</p></list-item>
</list></p>
<p>Another crucial feature of polynomial commitments based on CRT is their compactness. Traditional schemes relying on RSA or CDH often involve large commitments and proofs, posing challenges for data storage and transmission. The use of CRT reduces these sizes by representing polynomials as remainders over multiple moduli, thereby decreasing memory requirements and accelerating data transfer operations. This compactness is particularly important in the context of Verkle trees, where numerous polynomial commitments must be structured hierarchically with minimal overhead.</p>
<p>Polynomial commitments constructed using CRT can also exhibit resistance to quantum attacks. Unlike conventional schemes based on hard mathematical problems, such as the discrete logarithm problem, which are vulnerable to quantum algorithms, CRT-based approaches can be adapted to ensure post-quantum security. For instance, combining CRT with lattice-based cryptography or homomorphic hash functions can yield a commitment scheme resistant to quantum computing attacks. This enhances the system&#x2019;s long-term reliability, especially in light of advancing quantum technologies. Since one of the proposed approaches to constructing quantum-resistant cryptographic primitives involves the use of cryptographically secure hash functions, incorporating hashing of the signed message in the proposed method provides additional protection against quantum attacks, as well as other cryptanalytic algorithms that pose a threat to classical cryptographic systems [<xref ref-type="bibr" rid="ref-29">29</xref>].</p>
<p>An additional advantage of CRT-based commitments is the flexibility and efficiency of updates. In classical schemes, updating a commitment may require extensive data recomputation, increasing computational costs. The CRT allows for partial commitment updates, as changes in one remainder do not necessitate recomputation of the entire system. This is particularly beneficial for dynamic Verkle trees, where nodes may change over time. The ability to update commitments locally without recalculating the entire structure improves system efficiency in practical applications. Furthermore, the mathematical foundation of CRT enables additional optimization of cryptographic operations.</p>
<p>Thus, employing the CRT for constructing polynomial commitments in Verkle trees provides numerous advantages. It accelerates computations through residue representations, reduces the size of commitments and proofs, enhances system updatability, and increases resistance to quantum attacks. These properties make CRT-based approaches a promising direction in cryptographic commitments, with potential applications ranging from blockchain technology to secure distributed computing.</p>
<p>As shown in <xref ref-type="sec" rid="s4_2">Section 4.2</xref>, no vulnerabilities have been identified so far as a result of various types of theoretical analysis. The study of potential practical attacks remains a subject for future research. Future work will focus on further optimization of computational processes and exploring the possibility of applying the scheme to real blockchain platforms.</p>
</sec>
</body>
<back>
<ack>
<p>The authors express their gratitude to the staff of the Information Security Laboratory of the Institute of Information and Computational Technologies for their assistance, as well as to all reviewers for their valuable comments, which have significantly improved the presentation of this paper.</p>
</ack>
<sec>
<title>Funding Statement</title>
<p>The research work was funded by the Ministry of Science and Higher Education of Kazakhstan and carried out within the framework of the project AP23488112 &#x201C;Development and study of a quantum-resistant digital signature scheme based on a Verkle tree&#x201D; at the Institute of Information and Computational Technologies.</p>
</sec>
<sec>
<title>Author Contributions</title>
<p>The authors confirm contribution to the paper as follows: conceptualization: Kunbolat T. Algazy and Kairat S. Sakan; methodology: Kunbolat T. Algazy and Kairat S. Sakan; software: Ardabek Khompysh; validation: Saule E. Nyssanbayeva; formal analysis: Saule E. Nyssanbayeva; investigation: Kunbolat T. Algazy and Kairat S. Sakan; resources: Saule E. Nyssanbayeva; data curation: Kairat S. Sakan and Ardabek Khompysh; writing&#x2014;original draft preparation: Kunbolat T. Algazy; writing&#x2014;review and editing: Kairat S. Sakan; visualization: Kairat S. Sakan; supervision: Kunbolat T. Algazy; project administration: Saule E. Nyssanbayeva; funding acquisition: Saule E. Nyssanbayeva. All authors reviewed the results and approved the final version of the manuscript.</p>
</sec>
<sec sec-type="data-availability">
<title>Availability of Data and Materials</title>
<p>Not applicable.</p>
</sec>
<sec>
<title>Ethics Approval</title>
<p>Not applicable.</p>
</sec>
<sec sec-type="COI-statement">
<title>Conflicts of Interest</title>
<p>The authors declare no conflicts of interest to report regarding the present study.</p>
</sec>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>[1]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Thilagam</surname> <given-names>JST</given-names></string-name></person-group>. <article-title>Rsa encryption using VLSI architecture for high speed applications</article-title>. <source>Int J Adv Signal Image Sci</source>. <year>2017</year>;<volume>3</volume>(<issue>2</issue>):<fpage>21</fpage>. doi:<pub-id pub-id-type="doi">10.29284/IJASIS.3.2.2017.21-26</pub-id>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Cotan</surname> <given-names>P</given-names></string-name>, <string-name><surname>Te&#x015F;eleanu</surname> <given-names>G</given-names></string-name></person-group>. <article-title>A security analysis of two classes of RSA-like cryptosystems</article-title>. <source>J Math Crypt</source>. <year>2024</year>;<volume>18</volume>(<issue>1</issue>):<fpage>20240013</fpage>. doi:<pub-id pub-id-type="doi">10.1515/jmc-2024-0013</pub-id>.</mixed-citation></ref>
<ref id="ref-3"><label>[3]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Boneh</surname> <given-names>D</given-names></string-name></person-group>. <article-title>Twenty years of attacks on the RSA cryptosystem</article-title>. <source>Not AMS</source>. <year>1999</year>;<volume>46</volume>(<issue>2</issue>):<fpage>203</fpage>&#x2013;<lpage>13</lpage>.</mixed-citation></ref>
<ref id="ref-4"><label>[4]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Wardhani</surname> <given-names>RW</given-names></string-name>, <string-name><surname>Putranto</surname> <given-names>DSC</given-names></string-name>, <string-name><surname>Cho</surname> <given-names>J</given-names></string-name>, <string-name><surname>Kim</surname> <given-names>H</given-names></string-name></person-group>. <article-title>A highly efficient ECPM quantum circuit for binary elliptic curve cryptanalysis</article-title>. <source>IEEE Access</source>. <year>2024</year>;<volume>12</volume>(<issue>2</issue>):<fpage>161569</fpage>&#x2013;<lpage>83</lpage>. doi:<pub-id pub-id-type="doi">10.1109/ACCESS.2024.3489552</pub-id>.</mixed-citation></ref>
<ref id="ref-5"><label>[5]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Larasati</surname> <given-names>HT</given-names></string-name>, <string-name><surname>Kim</surname> <given-names>H</given-names></string-name></person-group>. <article-title>Quantum cryptanalysis landscape of shor&#x2019;s algorithm for elliptic curve discrete logarithm problem</article-title>. In: <conf-name>Information Security Applications: 22nd International Conference</conf-name>; <year>2021 Aug 11&#x2013;13</year>; <publisher-loc>Jeju-do, Republic of Korea</publisher-loc>. doi:<pub-id pub-id-type="doi">10.1007/978-3-030-89432-0_8</pub-id>.</mixed-citation></ref>
<ref id="ref-6"><label>[6]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Banegas</surname> <given-names>G</given-names></string-name>, <string-name><surname>Bernstein</surname> <given-names>DJ</given-names></string-name>, <string-name><surname>Van Hoof</surname> <given-names>I</given-names></string-name>, <string-name><surname>Lange</surname> <given-names>T</given-names></string-name></person-group>. <article-title>Concrete quantum cryptanalysis of binary elliptic curves</article-title>. <source>IACR Trans Cryptogr Hardw Embed Syst</source>. <year>2020</year>;<volume>1</volume>:<fpage>451</fpage>&#x2013;<lpage>72</lpage>. doi:<pub-id pub-id-type="doi">10.46586/tches.v2021.i1.451-472</pub-id>.</mixed-citation></ref>
<ref id="ref-7"><label>[7]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Putranto</surname> <given-names>DSC</given-names></string-name>, <string-name><surname>Wardhani</surname> <given-names>RW</given-names></string-name>, <string-name><surname>Larasati</surname> <given-names>HT</given-names></string-name>, <string-name><surname>Ji</surname> <given-names>J</given-names></string-name>, <string-name><surname>Kim</surname> <given-names>H</given-names></string-name></person-group>. <article-title>Depth-optimization of quantum cryptanalysis on binary elliptic curves</article-title>. <source>IEEE Access</source>. <year>2023</year>;<volume>11</volume>:<fpage>45083</fpage>&#x2013;<lpage>97</lpage>. doi:<pub-id pub-id-type="doi">10.1109/ACCESS.2023.3273601</pub-id>.</mixed-citation></ref>
<ref id="ref-8"><label>[8]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Begimbayeva</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Zhaxalykov</surname> <given-names>T</given-names></string-name>, <string-name><surname>Ussatova</surname> <given-names>O</given-names></string-name></person-group>. <article-title>Investigation of strength of E91 quantum key distribution protocol</article-title>. In: <conf-name>2023 19th International Asian School-Seminar on Optimization Problems of Complex Systems (OPCS)</conf-name>; <year>2023 Aug 14&#x2013;22</year>; <publisher-loc>Novosibirsk, Moscow, Russian</publisher-loc>. doi:<pub-id pub-id-type="doi">10.1109/OPCS59592.2023.10275771</pub-id>.</mixed-citation></ref>
<ref id="ref-9"><label>[9]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><surname>Buchmann</surname> <given-names>J</given-names></string-name>, <string-name><surname>Dahmen</surname> <given-names>E</given-names></string-name>, <string-name><surname>Szydlo</surname> <given-names>M</given-names></string-name></person-group>. <chapter-title>Hash-based digital signature schemes</chapter-title>. In: <person-group person-group-type="editor"><string-name><surname>Bernstein</surname> <given-names>DJ</given-names></string-name>, <string-name><surname>Buchmann</surname> <given-names>J</given-names></string-name>, <string-name><surname>Dahmen</surname> <given-names>E</given-names></string-name></person-group>, editors. <source>Post-quantum cryptography</source>. <publisher-loc>Berlin/Heidelberg, Germany</publisher-loc>: <publisher-name>Springer</publisher-name>; <year>2009</year>. p. <fpage>35</fpage>&#x2013;<lpage>93</lpage>. doi:<pub-id pub-id-type="doi">10.1007/978-3-540-88702-7_3</pub-id>.</mixed-citation></ref>
<ref id="ref-10"><label>[10]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Algazy</surname> <given-names>K</given-names></string-name>, <string-name><surname>Sakan</surname> <given-names>K</given-names></string-name>, <string-name><surname>Khompysh</surname> <given-names>A</given-names></string-name>, <string-name><surname>Dyusenbayev</surname> <given-names>D</given-names></string-name></person-group>. <article-title>Development of a new post-quantum digital signature algorithm: syrga-1</article-title>. <source>Computers</source>. <year>2024</year>;<volume>13</volume>(<issue>1</issue>):<fpage>26</fpage>. doi:<pub-id pub-id-type="doi">10.3390/computers13010026</pub-id>.</mixed-citation></ref>
<ref id="ref-11"><label>[11]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Algazy</surname> <given-names>K</given-names></string-name>, <string-name><surname>Sakan</surname> <given-names>K</given-names></string-name>, <string-name><surname>Nyssanbayeva</surname> <given-names>S</given-names></string-name>, <string-name><surname>Lizunov</surname> <given-names>O</given-names></string-name></person-group>. <article-title>Syrga2: post-quantum hash-based signature scheme</article-title>. <source>Computation</source>. <year>2024</year>;<volume>12</volume>(<issue>6</issue>):<fpage>125</fpage>. doi:<pub-id pub-id-type="doi">10.3390/computation12060125</pub-id>.</mixed-citation></ref>
<ref id="ref-12"><label>[12]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Lee</surname> <given-names>J</given-names></string-name>, <string-name><surname>Park</surname> <given-names>Y</given-names></string-name></person-group>. <article-title>HORSIC&#x002B;: an efficient post-quantum few-time signature scheme</article-title>. <source>Appl Sci</source>. <year>2021</year>;<volume>11</volume>(<issue>16</issue>):<fpage>7350</fpage>. doi:<pub-id pub-id-type="doi">10.3390/app11167350</pub-id>.</mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Kuznetsov</surname> <given-names>O</given-names></string-name>, <string-name><surname>Frontoni</surname> <given-names>E</given-names></string-name>, <string-name><surname>Kuznetsova</surname> <given-names>K</given-names></string-name>, <string-name><surname>Arnesano</surname> <given-names>M</given-names></string-name></person-group>. <article-title>Optimizing merkle proof size through path length analysis: a probabilistic framework for efficient blockchain state verification</article-title>. <source>Future Internet</source>. <year>2025</year>;<volume>17</volume>(<issue>2</issue>):<fpage>72</fpage>. doi:<pub-id pub-id-type="doi">10.3390/fi17020072</pub-id>.</mixed-citation></ref>
<ref id="ref-14"><label>[14]</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name><surname>Kate</surname> <given-names>A</given-names></string-name>, <string-name><surname>Zaverucha</surname> <given-names>GM</given-names></string-name>, <string-name><surname>Goldberg</surname> <given-names>I</given-names></string-name></person-group>. <article-title>Constant-size commitments to polynomials and their applications</article-title>. <comment>[cited 2025 Mar 1]</comment>. Available from: <ext-link ext-link-type="uri" xlink:href="https://www.iacr.org/archive/asiacrypt2010/6477178/6477178.pdf">https://www.iacr.org/archive/asiacrypt2010/6477178/6477178.pdf</ext-link>.</mixed-citation></ref>
<ref id="ref-15"><label>[15]</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name><surname>Kate</surname> <given-names>A</given-names></string-name>, <string-name><surname>Zaverucha</surname> <given-names>GM</given-names></string-name>, <string-name><surname>Goldberg</surname> <given-names>I</given-names></string-name></person-group>. <article-title>Polynomial commitments</article-title>. <comment>[cited 2025 Feb 22]</comment>. Available from: <ext-link ext-link-type="uri" xlink:href="https://cacr.uwaterloo.ca/techreports/2010/cacr2010-10.pdf">https://cacr.uwaterloo.ca/techreports/2010/cacr2010-10.pdf</ext-link>.</mixed-citation></ref>
<ref id="ref-16"><label>[16]</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name><surname>Kuszmaul</surname> <given-names>J</given-names></string-name></person-group>. <article-title>Verkle trees</article-title>. <comment>[cited 2024 May 22]</comment>. Available from: <ext-link ext-link-type="uri" xlink:href="https://math.mit.edu/research/highschool/primes/materials/2018/Kuszmaul">https://math.mit.edu/research/highschool/primes/materials/2018/Kuszmaul</ext-link>.</mixed-citation></ref>
<ref id="ref-17"><label>[17]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Kuznetsov</surname> <given-names>O</given-names></string-name>, <string-name><surname>Kanonik</surname> <given-names>D</given-names></string-name>, <string-name><surname>Rusnak</surname> <given-names>A</given-names></string-name>, <string-name><surname>Yezhov</surname> <given-names>A</given-names></string-name>, <string-name><surname>Domin</surname> <given-names>O</given-names></string-name>, <string-name><surname>Kuznetsova</surname> <given-names>K</given-names></string-name></person-group>. <article-title>Adaptive Merkle trees for enhanced blockchain scalability</article-title>. <source>Internet Things</source>. <year>2024</year>;<volume>27</volume>(<issue>14</issue>):<fpage>101315</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.iot.2024.101315</pub-id>.</mixed-citation></ref>
<ref id="ref-18"><label>[18]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>B&#x00FC;nz</surname> <given-names>B</given-names></string-name>, <string-name><surname>Bootle</surname> <given-names>J</given-names></string-name>, <string-name><surname>Boneh</surname> <given-names>D</given-names></string-name>, <string-name><surname>Poelstra</surname> <given-names>A</given-names></string-name>, <string-name><surname>Wuille</surname> <given-names>P</given-names></string-name>, <string-name><surname>Maxwell</surname> <given-names>G</given-names></string-name></person-group>. <article-title>Bulletproofs: short proofs for confidential transactions and more</article-title>. In: <conf-name>2018 IEEE Symposium on Security and Privacy (SP)</conf-name>; <year>2018 May 20&#x2013;24</year>; <publisher-loc>San Francisco, CA, USA</publisher-loc>. p. <fpage>315</fpage>&#x2013;<lpage>34</lpage>. doi:<pub-id pub-id-type="doi">10.1109/SP.2018.00020</pub-id>.</mixed-citation></ref>
<ref id="ref-19"><label>[19]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Chen</surname> <given-names>H</given-names></string-name>, <string-name><surname>Liang</surname> <given-names>D</given-names></string-name></person-group>. <article-title>Adaptive spatio-temporal query strategies in blockchain</article-title>. <source>ISPRS Intern J Geo-Inf</source>. <year>2022</year>;<volume>11</volume>(<issue>7</issue>):<fpage>409</fpage>. doi:<pub-id pub-id-type="doi">10.3390/ijgi11070409</pub-id>.</mixed-citation></ref>
<ref id="ref-20"><label>[20]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Xu</surname> <given-names>Q</given-names></string-name>, <string-name><surname>Gao</surname> <given-names>C</given-names></string-name>, <string-name><surname>Wang</surname> <given-names>Y</given-names></string-name></person-group>. <article-title>Aggregatable subvector commitment with efficient updates</article-title>. <source>App Sci</source>. <year>2025</year>;<volume>15</volume>(<issue>2</issue>):<fpage>554</fpage>. doi:<pub-id pub-id-type="doi">10.3390/app15020554</pub-id>.</mixed-citation></ref>
<ref id="ref-21"><label>[21]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Miyaji</surname> <given-names>H</given-names></string-name>, <string-name><surname>Wang</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Miyaji</surname> <given-names>A</given-names></string-name></person-group>. <article-title>Lattice-based commitment scheme for low communication costs</article-title>. <source>IEEE Access</source>. <year>2024</year>;<volume>12</volume>:<fpage>111400</fpage>&#x2013;<lpage>10</lpage>. doi:<pub-id pub-id-type="doi">10.1109/ACCESS.2024.3421995</pub-id>.</mixed-citation></ref>
<ref id="ref-22"><label>[22]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Zhao</surname> <given-names>X</given-names></string-name>, <string-name><surname>Zhang</surname> <given-names>G</given-names></string-name>, <string-name><surname>Long</surname> <given-names>HW</given-names></string-name>, <string-name><surname>Si</surname> <given-names>YW</given-names></string-name></person-group>. <article-title>Minimizing block incentive volatility through Verkle tree-based dynamic transaction storage</article-title>. <source>Decis Support Syst</source>. <year>2024</year>;<volume>180</volume>(<issue>5</issue>):<fpage>114180</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.dss.2024.114180</pub-id>.</mixed-citation></ref>
<ref id="ref-23"><label>[23]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Iavich</surname> <given-names>M</given-names></string-name>, <string-name><surname>Kuchukhidze</surname> <given-names>T</given-names></string-name>, <string-name><surname>Bocu</surname> <given-names>R</given-names></string-name></person-group>. <article-title>A post-quantum digital signature using Verkle trees and lattices</article-title>. <source>Symmetry</source>. <year>2023</year>;<volume>15</volume>(<issue>12</issue>):<fpage>2165</fpage>. doi:<pub-id pub-id-type="doi">10.3390/sym15122165</pub-id>.</mixed-citation></ref>
<ref id="ref-24"><label>[24]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><surname>Omondi</surname> <given-names>A</given-names></string-name></person-group>. <source>Residue number systems: theory and implementation</source>. <publisher-loc>London, UK</publisher-loc>: <publisher-name>Imperial College Press</publisher-name>; <year>2016</year>. doi:<pub-id pub-id-type="doi">10.1007/978-3-319-41385-3</pub-id></mixed-citation></ref>
<ref id="ref-25"><label>[25]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Wang</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Xia</surname> <given-names>Y</given-names></string-name></person-group>. <article-title>Residue number systems: a new paradigm to datapath optimization for low-power and high-performance digital signal processing applications</article-title>. <source>IEEE Circuits Syst Mag</source>. <year>2010</year>;<volume>10</volume>(<issue>2</issue>):<fpage>45</fpage>&#x2013;<lpage>56</lpage>. doi:<pub-id pub-id-type="doi">10.1109/MCAS.2015.2484118</pub-id>.</mixed-citation></ref>
<ref id="ref-26"><label>[26]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Biyashev</surname> <given-names>RG</given-names></string-name>, <string-name><surname>Kalimoldayev</surname> <given-names>MN</given-names></string-name>, <string-name><surname>Nyssanbayeva</surname> <given-names>SE</given-names></string-name>, <string-name><surname>Kapalova</surname> <given-names>NA</given-names></string-name>, <string-name><surname>Dyusenbayev</surname> <given-names>DS</given-names></string-name>, <string-name><surname>Algazy</surname> <given-names>KT</given-names></string-name></person-group>. <article-title>Development and analysis of the encryption algorithm in nonpositional polynomial notations</article-title>. <source>Euras J Math Comp App</source>. <year>2018</year>;<volume>6</volume>(<issue>2</issue>):<fpage>19</fpage>&#x2013;<lpage>33</lpage>. doi:<pub-id pub-id-type="doi">10.32523/2306-6172-2018-6-2-19-33</pub-id>.</mixed-citation></ref>
<ref id="ref-27"><label>[27]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Kapalova</surname> <given-names>N</given-names></string-name>, <string-name><surname>Sakan</surname> <given-names>K</given-names></string-name>, <string-name><surname>Algazy</surname> <given-names>K</given-names></string-name>, <string-name><surname>Dyusenbayev</surname> <given-names>D</given-names></string-name></person-group>. <article-title>Development and study of an encryption algorithm</article-title>. <source>Computation</source>. <year>2022</year>;<volume>10</volume>(<issue>11</issue>):<fpage>198</fpage>. doi:<pub-id pub-id-type="doi">10.3390/computation10110198</pub-id>.</mixed-citation></ref>
<ref id="ref-28"><label>[28]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Biyashev</surname> <given-names>RG</given-names></string-name>, <string-name><surname>Smolarz</surname> <given-names>A</given-names></string-name>, <string-name><surname>Algazy</surname> <given-names>KT</given-names></string-name>, <string-name><surname>Khompysh</surname> <given-names>A</given-names></string-name></person-group>. <article-title>Encryption algorithm &#x201C;QAMAL NPNS&#x201D; based on a nonpositional polynomial notation</article-title>. <source>J Math Mech Comp Sci</source>. <year>2020</year>;<volume>105</volume>(<issue>1</issue>):<fpage>198</fpage>&#x2013;<lpage>207</lpage>. doi:<pub-id pub-id-type="doi">10.26577/JMMCS.2020.v105.i1.17</pub-id>.</mixed-citation></ref>
<ref id="ref-29"><label>[29]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Iavich</surname> <given-names>M</given-names></string-name>, <string-name><surname>Kapalova</surname> <given-names>N</given-names></string-name></person-group>. <article-title>Optimizing post-quantum digital signatures with Verkle trees and quantum seed-based pseudo-random generators</article-title>. <source>Computers</source>. <year>2025</year>;<volume>14</volume>(<issue>3</issue>):<fpage>103</fpage>. doi:<pub-id pub-id-type="doi">10.3390/computers14030103</pub-id>.</mixed-citation></ref>
</ref-list>
</back></article>