<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.0 20120330//EN" "JATS-journalpublishing1.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">INFORMATICA</journal-id>
<journal-title-group><journal-title>Informatica</journal-title></journal-title-group>
<issn pub-type="epub">1822-8844</issn><issn pub-type="ppub">0868-4952</issn><issn-l>0868-4952</issn-l>
<publisher>
<publisher-name>Vilnius University</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">INFOR531</article-id>
<article-id pub-id-type="doi">10.15388/23-INFOR531</article-id>
<article-categories><subj-group subj-group-type="heading">
<subject>Research Article</subject></subj-group></article-categories>
<title-group>
<article-title>Tax Declaration Scheme Using Blockchain Confidential Transactions</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Sakalauskas</surname><given-names>Eligijus</given-names></name><email xlink:href="eligijus.sakalauskas@ktu.lt">eligijus.sakalauskas@ktu.lt</email><xref ref-type="aff" rid="j_infor531_aff_001">1</xref><xref ref-type="corresp" rid="cor1">∗</xref><bio>
<p><bold>E. Sakalauskas</bold> is a professor in the Department of Applied Mathematics at Kaunas University of Technology. He is the head of Cryptography and Blockchain Research Group. The scope of his scientific interests is new cryptographic method creation and their security analysis. The other area of activity is cryptographic method application to blockchain providing additional functionality and trustworthiness to this technology. He is an author of the presented idea and cryptographic solution of tax collection system using blockchain.</p></bio>
</contrib>
<contrib contrib-type="author">
<name><surname>Bendoraitis</surname><given-names>Antanas</given-names></name><email xlink:href="antanas.bendoraitis@ktu.edu">antanas.bendoraitis@ktu.edu</email><xref ref-type="aff" rid="j_infor531_aff_002">2</xref><bio>
<p><bold>A. Bendoraitis</bold> is a second-year master’s degree student in the Faculty of Informatics. He is finishing a competence course in cryptography and blockchain systems in the Department of Applied Mathematics. He is dealing with practical implementation of blockchain technology and provided a simulation of proposed solution.</p></bio>
</contrib>
<contrib contrib-type="author">
<name><surname>Lukšaitė</surname><given-names>Dalė</given-names></name><email xlink:href="dale.luksaite@go.kauko.lt">dale.luksaite@go.kauko.lt</email><xref ref-type="aff" rid="j_infor531_aff_003">3</xref><bio>
<p><bold>D. Lukšaitė</bold> is currently a lecturer at the Department of Informatics of Kauno kolegija Higher Education Institution. She is an expert in software engineering. Her scientific interests are research of development and application of software systems algorithms, blockchain technology. She contributed in literature analysis and protocol construction.</p></bio>
</contrib>
<contrib contrib-type="author">
<name><surname>Butkus</surname><given-names>Gintaras</given-names></name><email xlink:href="gintaras.butkus@go.kauko.lt">gintaras.butkus@go.kauko.lt</email><xref ref-type="aff" rid="j_infor531_aff_003">3</xref><bio>
<p><bold>G. Butkus</bold> is currently a lecturer at the Department of Informatics of Kauno kolegija Higher Education Institution. He is an expert in computer networks and security. His scientific interests are blockchain technology, computer networks, cyber security and cryptography. He contributed to simulation of proposed protocol and literature analysis.</p></bio>
</contrib>
<contrib contrib-type="author">
<name><surname>Vitkutė-Adžgauskienė</surname><given-names>Daiva</given-names></name><email xlink:href="daiva.vitkute@vdu.lt">daiva.vitkute@vdu.lt</email><xref ref-type="aff" rid="j_infor531_aff_004">4</xref><bio>
<p><bold>D. Vitkutė-Adžgauskienė</bold> is a professor and head of Department of Applied Informatics at Vytautas Magnus University (VMU). Her main research interests are process simulation and digital transformation technologies, artificial and augmented intelligence, natural language processing. She is the coordinator of Digital Transformation Group in the Artificial Intelligence and Digitalization Systems Research Cluster at VMU with research focus on digital transformation aspects in different business areas including FinTech and blockchain technologies. She contributed in proposed protocol analysis and verification and literature analysis.</p></bio>
</contrib>
<aff id="j_infor531_aff_001"><label>1</label>Department of Applied Mathematics, <institution>Kaunas University of Technology</institution>, <country>Lithuania</country></aff>
<aff id="j_infor531_aff_002"><label>2</label>Faculty of Informatics, <institution>Kaunas University of Technology</institution>, <country>Lithuania</country></aff>
<aff id="j_infor531_aff_003"><label>3</label>Department of Informatics, <institution>Kauno kolegija Higher Education Institution</institution>, <country>Lithuania</country></aff>
<aff id="j_infor531_aff_004"><label>4</label>Department of Applied Informatics, <institution>Vytautas Magnus University</institution>, <country>Lithuania</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>∗</label>Corresponding author.</corresp>
</author-notes>
<pub-date pub-type="ppub"><year>2023</year></pub-date><pub-date pub-type="epub"><day>18</day><month>9</month><year>2023</year></pub-date><volume>34</volume><issue>3</issue><fpage>603</fpage><lpage>616</lpage><history><date date-type="received"><month>3</month><year>2023</year></date><date date-type="accepted"><month>9</month><year>2023</year></date></history>
<permissions><copyright-statement>© 2023 Vilnius University</copyright-statement><copyright-year>2023</copyright-year>
<license license-type="open-access" xlink:href="http://creativecommons.org/licenses/by/4.0/">
<license-p>Open access article under the <ext-link ext-link-type="uri" xlink:href="http://creativecommons.org/licenses/by/4.0/">CC BY</ext-link> license.</license-p></license></permissions>
<abstract>
<p>The article presents the tax declaration scheme using blockchain confidential transactions based on the modified ElGamal encryption providing additively-homomorphic property. Transactions are based on the unspent transactions output (UTxO) paradigm allowing to effectively represent digital asset of cryptocurrencies in e-wallets and to perform financial operations. The main actors around transaction are specified, include money senders, receivers, transaction creator, Audit Authority (AA) and Net of users. A general transaction model with <italic>M</italic> inputs and <italic>N</italic> outputs is created, providing transaction amount confidentiality and verifiability for all actors with different levels of available information.</p>
<p>The transaction model allows Net to verify the validity of a transaction, having access only to encrypted transaction data. Each money receiver is able to decrypt and verify the actual sum that is transferred by the sender. AA is provided with actual transaction values and is able to supervise the tax payments for business actors. Such information allows to verify the honesty of transaction data for each user role.</p>
<p>The security analysis of the scheme is presented, referencing to ElGamal security assumptions. The coalition attack is formulated and prevention of this attack is proposed. It is shown that transaction creation is effective and requires almost the same resources as multiple ElGamal encryption. In addition to ElGamal encryption of all income and expenses, an additional exponentiation operation with small exponents, representing transferred sums, is needed. AA computation resources are slightly larger, since they have to be adequate for search procedures in the small range from 1 to <inline-formula id="j_infor531_ineq_001"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>32</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>=</mml:mo>
<mml:mn>4294967295</mml:mn></mml:math><tex-math><![CDATA[${2^{32}}-1=4294967295$]]></tex-math></alternatives></inline-formula> for individual money transfers.</p>
</abstract>
<kwd-group>
<label>Key words</label>
<kwd>blockchain</kwd>
<kwd>transactions</kwd>
<kwd>unspent transaction output</kwd>
<kwd>confidentiality</kwd>
<kwd>verifiability</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="j_infor531_s_001">
<label>1</label>
<title>Introduction</title>
<p>Recently blockchain technology has been penetrating into business processes monitoring and control (Maupin, <xref ref-type="bibr" rid="j_infor531_ref_008">2017</xref>), as this technology is based on clear and transparent security foundations. The blockchain technology does not require a Trusted Third Party (TTP) since any user (node) participates in the peer-to-peer blockchain network and is operating according to consensus rules recognized by all. The information is stored and shared on a variety of nodes in many different locations. A node is simply any computer or electronic device, maintaining copies of the blockchain database, named a (hyper)ledger.</p>
<p>The global trends, current tendencies, and frontiers of blockchain technology are reported in Boakye <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor531_ref_002">2022</xref>), pointing out that blockchain technology research in finance has evolved and is predominated by studies on crowdfunding/equity crowdfunding, entrepreneurial finance, bitcoin, entrepreneurship, fintech, and venture capital. The overview covers 157 articles. However, the interaction of finance activity and tax collection system is not outlined in this study.</p>
<p>The systematic analysis of blockchain in sustainable finance is presented in Ren <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor531_ref_013">2023</xref>) for the field of renewable finance. Authors indicate that: (1) Blockchain has been widely used in many industries involved in sustainable finance; (2) Blockchain will have a long-term impact on sustainable finance in the fields of smart city and sharing economy fields; (3) Blockchain can be deeply integrated with other technologies to promote the diversified development of sustainable finance. Despite the fact that authors do not reveal specific technologies, the latter proposition is important to justify the solution proposed in this paper, namely integration of tax collection system with blockchain technology, providing transaction confidentiality and verifiability. We are unaware of any solutions of this problem in the literature.</p>
<p>The unspent transaction output (UTxO) and account-based transactions (ABT) are two types of record-keeping methods used by a blockchain network to record provenance of its cryptocurrency and the way cryptocurrency balances are determined. UTxO is also considered a token-based system. Bitcoin, Bitcoin Cash, Zcash, Litecoin, Dogecoin, Dash, etc., are UtxO instances.</p>
<p>The ABT blockchains, such as Ethereum, EOS, Tron, and Ethereum Classic, are focused on smart contracts. In ABT system, the ledger would have accounts for all users of the currency and requires real-time updates of the account balance (Bai <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor531_ref_001">2019</xref>). This means that we have exponentially growing account information to manage.</p>
<p>The UTxO system can also be used in smart contracts and would enable business models based on asset tokenisation. It would also reduce the large-scale information keeping.</p>
<p>In this paper, we consider an UTxO system, allowing to create e-wallets to the users, thus meeting the user’s needs for offline transactions more effectively, e.g. between users of mobile phones with implemented e-wallets (Sakalauskas <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor531_ref_014">2017</xref>, <xref ref-type="bibr" rid="j_infor531_ref_015">2018</xref>; Muleravicius <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor531_ref_010">2019</xref>). In this case, digital currency is implemented in the customer e-wallet and in the blockchain ledger.</p>
<p>A new and perspective trend in blockchain technology is business process monitoring and control, requiring faster and less expensive transactions, as well as more transparent investment mechanisms using tokens and smart contracts.</p>
<p>However, governments have pointed out that so far there has been a lack of regulation for such activities. Regulation is especially important for tax declaration and honest tax collection. The need for such regulation will also grow, when a new type of blockchain-based cryptocurrency will be issued by Central Banks and named Central Bank Digital Currency (CBDC) (Bouchaud <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor531_ref_003">2020</xref>).</p>
<p>The overview of tax collection problem is actualized in Phadke <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor531_ref_012">2021</xref>). But authors do not present technological solutions to this problem. In Dedhia <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor531_ref_006">2023</xref>) the novel tax tracker application is presented working completely over the blockchain technology, which prioritises decentralised data as its key principle. This solution can solve the transparency problem by showing the use of the tax amount by the government to the users and will keep track of the amount and its allocation for various government projects. But this research does not provide data confidentiality that is important in business processes.</p>
<p>In general, it is natural that in business processes some information is confidential and limited to certain participants. However, it is necessary to define what information can be shared by system users to provide verifiable transactions. This problem can be solved by using a permissioned IBM Hyperledger Fabric or Ethereum blockchain (Paulavičius <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor531_ref_011">2019</xref>; Mohan, <xref ref-type="bibr" rid="j_infor531_ref_009">2019</xref>). To simultaneously provide both authentication and confidentiality, a signcryption scheme is used combining signing and encrypting processes which is an important cryptographic primitive (Tseng <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor531_ref_016">2022</xref>), that can be also be used in blockchain technology. Such networks are more dedicated to consortium activity, and therefore have certain limitations for flexible and effective new users’ growth and involvement. The Ethereum Mainnet, for example, is a public or permissionless blockchain, which, however, does not provide the confidentiality of sensitive business data.</p>
<p>This paper proposes a solution of the regulation for tax collection, when a certain TTP, named Audit Authority (AA), is needed. At the same time, we propose a scheme to provide transaction data confidentiality for other actors, apart from AA. Existing solutions are using range proofs on committed values (Bünz <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor531_ref_004">2018</xref>). However, range proofs are not adequate for tax collection, since they do not prove the exact amount of transferred money, that is needed for AA.</p>
<p>In Section <xref rid="j_infor531_s_002">2</xref>, the overall description of the proposed scheme is presented. In Section <xref rid="j_infor531_s_003">3</xref>, introduction to ElGamal encryption is given. The Confidential transaction construction and creation are presented in Sections <xref rid="j_infor531_s_004">4</xref> and <xref rid="j_infor531_s_005">5</xref>. In Section <xref rid="j_infor531_s_006">6</xref>, security and efficiency analysis is provided. Section <xref rid="j_infor531_s_007">7</xref> gives the conclusions, and at the end the list of references is presented.</p>
</sec>
<sec id="j_infor531_s_002">
<label>2</label>
<title>The Overall Description of the Scheme</title>
<p>We have constructed the following scheme for multiple input and multiple output blockchain transaction. The following actors are defined: the transaction creator Alice, the AA and the network we denote by the Net. The Net is divided into three parts: the Bobs B<sub>1</sub>, B<sub>2</sub>, …, B<sub><italic>M</italic></sub>, transferring money to Alice and providing her with income; the Laries L<sub>1</sub>, L<sub>2</sub>, …, L<sub><italic>N</italic></sub>, receiving money from Alice and thus causing Alice expenses; and other Net nodes verifying the transaction validity, composing and validating blocks, etc.</p>
<p>The presented solution is an integration of several approaches providing trustworthy tax declaration while keeping confidential transactions in blockchain technology. It is known that the trustworthiness of transactions relies on the balance between income (inputs) and expenses (outputs). Bünz <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor531_ref_005">2020</xref>) presents a method to provide confidentiality and verifiability of transactions to the Net using some modification of ElGamal encryption, ElGamal (<xref ref-type="bibr" rid="j_infor531_ref_007">1985</xref>). This technique transfers multiplicatively-homomorphic ElGamal encryption to additively-homomorphic encryption. We will use this technique to create a tax declaration scheme.</p>
<p>UTxO transactions rely on the requirement that the sum of all inputs must be equal to the sum of all outputs plus the transaction fee. Change, if it exists, gets sent to the transaction creator as one of the outputs.</p>
<p>Confidentiality means that the transaction data must be encrypted using a secure probabilistic encryption method. The problem is in providing the honesty of transaction with encrypted income and expenses, when, despite the equality of these values, their ciphertexts differ when using the probabilistic encryption. In this case, the balance violation cannot be determined. Moreover, there is a way of cheating by making a transaction with the sum of expenses greater than the sum of actual income, thus “making money out of the air”. The presented solution is provable, secure, transparent, and hence, trustworthy.</p>
<p>Let us consider a transaction, created by Alice, consisting of income and expenses. Any single income or expense is denoted by an integer <italic>d</italic> representing its value.</p>
<p>Let us assume Alice received income sums <inline-formula id="j_infor531_ineq_002"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${i_{1}},{i_{2}},\dots ,{i_{M}}$]]></tex-math></alternatives></inline-formula> from several Bobs <inline-formula id="j_infor531_ineq_003"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>B</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>B</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>B</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\text{B}_{1}},{\text{B}_{2}},\dots ,{\text{B}_{M}}$]]></tex-math></alternatives></inline-formula>, respectively. Then the total income is <inline-formula id="j_infor531_ineq_004"><alternatives><mml:math>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$i={i_{1}}+{i_{2}}+\dots ,{i_{M}}$]]></tex-math></alternatives></inline-formula>. Alice transfers part of her total income <italic>i</italic> to several Laries <inline-formula id="j_infor531_ineq_005"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>L</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>L</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>L</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\text{L}_{1}},{\text{L}_{2}},\dots ,{\text{L}_{N}}$]]></tex-math></alternatives></inline-formula> by incurring expenses <inline-formula id="j_infor531_ineq_006"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${e_{1}},{e_{2}},\dots ,{e_{N}}$]]></tex-math></alternatives></inline-formula>, respectively. If the sum of expenses <inline-formula id="j_infor531_ineq_007"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mo stretchy="false">⋯</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${e^{\prime }}={e_{1}}+{e_{2}}+\cdots +{e_{N}}$]]></tex-math></alternatives></inline-formula> is less than the total income, then she transfers the change value that we denote by <inline-formula id="j_infor531_ineq_008"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${e_{N+1}}$]]></tex-math></alternatives></inline-formula>, to herself. If the transaction is honest, then the following balance equation must hold 
<disp-formula id="j_infor531_eq_001">
<label>(1)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mo stretchy="false">⋯</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mo stretchy="false">⋯</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ i={i_{1}}+{i_{2}}+\cdots +{i_{M}}={e_{1}}+{e_{2}}+\cdots +{e_{N}}+{e_{N+1}}={e^{\prime }}+{e_{N+1}}=e.\]]]></tex-math></alternatives>
</disp-formula> 
In open blockchain, i.e. in open distributed ledger, all nodes in the Net can verify the balance of the transaction. If it holds, and the transaction is authentic, i.e. signed by eSignatures, then this transaction can be included in the block and validated by the node. The problems of transaction authentication and block validation are not considered in this paper.</p>
<p>The first question is how to share functions between AA and Net?</p>
<p>Secondly, how to provide transaction confidentiality for the Net while ensuring honesty of transactions?</p>
<p>Since AA is a TTP for all the Net, then it is sensible to provide the verification of all actual transaction data to AA. Laries must be able to verify their actual income. Net must be able to verify the balance between income and expenses without any knowledge about the actual values of these data.</p>
<p>Our solution relies on the probabilistic asymmetric ElGamal encryption. In order to realize ElGamal encryption/decryption, public parameters must be shared in the Net. Probabilistic encryption is performed by the sender using receiver’s public key and randomly generated number, thus providing different ciphertexts even for the encryption of the same plaintext. Ciphertext is sent to the receiver, who can decrypt it using the same shared public parameters and his/her private key for obtaining corresponding plaintext. ElGamal encryption has the so-called multiplicatively isomorphic property: the encrypted product of plaintexts is equal to the product of ciphertexts of every corresponding plaintext.</p>
</sec>
<sec id="j_infor531_s_003">
<label>3</label>
<title>ElGamal Encryption</title>
<p>Let <italic>G</italic> be a cyclic group of order <italic>q</italic> with generator <italic>g</italic>. Let <italic>Msg</italic> be a message to be encrypted and <italic>m</italic> – an image of reversible 1-to-1 function, transforming <italic>Msg</italic> to <italic>m</italic> in <italic>G</italic>. We denote public parameters in ElGamal encryption by 
<disp-formula id="j_infor531_eq_002">
<label>(2)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mtext mathvariant="italic">PP</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">G</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">g</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \textit{PP}=(G,g).\]]]></tex-math></alternatives>
</disp-formula> 
ElGamal cryptosystem is using discrete exponent function (DEF) defined by generator <italic>g</italic> in <italic>G</italic> and providing the following isomorphic mapping <inline-formula id="j_infor531_ineq_009"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext mathvariant="italic">DEF</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">→</mml:mo>
<mml:mi mathvariant="italic">G</mml:mi></mml:math><tex-math><![CDATA[${\textit{DEF}_{g}}:{Z_{q}}\to G$]]></tex-math></alternatives></inline-formula>, where <inline-formula id="j_infor531_ineq_010"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[${Z_{q}}=\{0,1,2,\dots ,q-1\}$]]></tex-math></alternatives></inline-formula> is a ring with addition, subtraction and multiplication operations mod <italic>q</italic>. For any integer <inline-formula id="j_infor531_ineq_011"><alternatives><mml:math>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$i\in {Z_{q}}$]]></tex-math></alternatives></inline-formula> 
<disp-formula id="j_infor531_eq_003">
<label>(3)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mtext mathvariant="italic">DEF</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\textit{DEF}_{g}}(i)={g^{i}}.\]]]></tex-math></alternatives>
</disp-formula> 
Private and public key pair (PrK, PuK) is computed using public parameters PP in (<xref rid="j_infor531_eq_002">2</xref>) and DEF. Encryption is performed using receiver’s PuK, and decryption, correspondingly, with receiver’s PrK. Let <inline-formula id="j_infor531_ineq_012"><alternatives><mml:math>
<mml:mtext>PrK</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">z</mml:mi></mml:math><tex-math><![CDATA[$\text{PrK}=z$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor531_ineq_013"><alternatives><mml:math>
<mml:mtext>PuK</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">α</mml:mi></mml:math><tex-math><![CDATA[$\text{PuK}=\alpha $]]></tex-math></alternatives></inline-formula>, then their generation is performed in the following way: 
<list>
<list-item id="j_infor531_li_001">
<label>1.</label>
<p><inline-formula id="j_infor531_ineq_014"><alternatives><mml:math>
<mml:mtext>PrK</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">z</mml:mi></mml:math><tex-math><![CDATA[$\text{PrK}=z$]]></tex-math></alternatives></inline-formula> is an integer generated at random in set <inline-formula id="j_infor531_ineq_015"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${Z_{q}}$]]></tex-math></alternatives></inline-formula>: 
<disp-formula id="j_infor531_eq_004">
<label>(4)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">z</mml:mi>
<mml:mo stretchy="false">←</mml:mo>
<mml:mtext mathvariant="italic">randi</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ z\gets \textit{randi}({Z_{q}}).\]]]></tex-math></alternatives>
</disp-formula>
</p>
</list-item>
<list-item id="j_infor531_li_002">
<label>2.</label>
<p><inline-formula id="j_infor531_ineq_016"><alternatives><mml:math>
<mml:mtext>Puk</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">α</mml:mi></mml:math><tex-math><![CDATA[$\text{Puk}=\alpha $]]></tex-math></alternatives></inline-formula> is computed using DEF: 
<disp-formula id="j_infor531_eq_005">
<label>(5)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">z</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \alpha ={g^{z}}.\]]]></tex-math></alternatives>
</disp-formula>
</p>
</list-item>
</list> 
Let Alice encrypt transaction data <italic>d</italic> corresponding to single income or expense by receiver’s <inline-formula id="j_infor531_ineq_017"><alternatives><mml:math>
<mml:mtext>PuK</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">α</mml:mi></mml:math><tex-math><![CDATA[$\text{PuK}=\alpha $]]></tex-math></alternatives></inline-formula>. Then ciphertext <inline-formula id="j_infor531_ineq_018"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ε</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${c_{\alpha }}=({\varepsilon _{\alpha }},{\delta _{\alpha }})$]]></tex-math></alternatives></inline-formula> is obtained in the following two steps: 
<list>
<list-item id="j_infor531_li_003">
<label>1.</label>
<p>Generate random integer <inline-formula id="j_infor531_ineq_019"><alternatives><mml:math>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$j\in {Z_{q}}$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
<list-item id="j_infor531_li_004">
<label>2.</label>
<p>Compute two components <inline-formula id="j_infor531_ineq_020"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ε</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\varepsilon _{\alpha }}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor531_ineq_021"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\delta _{\alpha }}$]]></tex-math></alternatives></inline-formula> of ciphertext <inline-formula id="j_infor531_ineq_022"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{\alpha }}$]]></tex-math></alternatives></inline-formula> 
<disp-formula id="j_infor531_eq_006">
<label>(6)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ε</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {c_{\alpha }}=({\varepsilon _{\alpha }},{\delta _{\alpha }})=\big(d{\alpha ^{j}},{g^{j}}\big).\]]]></tex-math></alternatives>
</disp-formula>
</p>
</list-item>
</list> 
Decryption is performed using receiver’s <inline-formula id="j_infor531_ineq_023"><alternatives><mml:math>
<mml:mtext>PrK</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">z</mml:mi></mml:math><tex-math><![CDATA[$\text{PrK}=z$]]></tex-math></alternatives></inline-formula> 
<disp-formula id="j_infor531_eq_007">
<label>(7)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ε</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">z</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ d={\varepsilon _{\alpha }}{\delta _{\alpha }^{-z}}.\]]]></tex-math></alternatives>
</disp-formula> 
We denote encryption and decryption functions by <italic>Enc</italic>( ) and <italic>Dec</italic>( ). Then, formally, encryption and decryption operations are expressed in the following way: 
<disp-formula id="j_infor531_eq_008">
<label>(8)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mtext mathvariant="italic">Enc</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>;</mml:mo>
<mml:mspace width="2em"/>
<mml:mtext mathvariant="italic">Dec</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">z</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \textit{Enc}(\alpha ,j,d)={c_{\alpha }};\hspace{2em}\textit{Dec}(z,{c_{\alpha }})=d.\]]]></tex-math></alternatives>
</disp-formula> 
ElGamal encryption has the following multiplicative isomorphic property. Let <inline-formula id="j_infor531_ineq_024"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="italic">G</mml:mi></mml:math><tex-math><![CDATA[${d_{1}},{d_{2}}\in G$]]></tex-math></alternatives></inline-formula>. Then, for the encryption of two plaintexts <inline-formula id="j_infor531_ineq_025"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${d_{1}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor531_ineq_026"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${d_{2}}$]]></tex-math></alternatives></inline-formula>, two random numbers <inline-formula id="j_infor531_ineq_027"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${j_{1}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor531_ineq_028"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${j_{2}}$]]></tex-math></alternatives></inline-formula> are generated, yielding two ciphertexts <inline-formula id="j_infor531_ineq_029"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{1}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor531_ineq_030"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{2}}$]]></tex-math></alternatives></inline-formula>: 
<disp-formula id="j_infor531_eq_009">
<label>(9)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="italic">Enc</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ε</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>;</mml:mo>
<mml:mspace width="2em"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="italic">Enc</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ε</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {c_{\alpha ,1}}=\textit{Enc}(\alpha ,{j_{1}},{d_{1}})=({\varepsilon _{\alpha ,1}},{\delta _{\alpha ,1}});\hspace{2em}{c_{\alpha ,2}}=\textit{Enc}(\alpha ,{j_{2}},{d_{2}})=({\varepsilon _{\alpha ,2}},{\delta _{\alpha ,2}}).\]]]></tex-math></alternatives>
</disp-formula> 
Encryption of product <inline-formula id="j_infor531_ineq_031"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${d_{1}}{d_{2}}$]]></tex-math></alternatives></inline-formula> with the random parameter <inline-formula id="j_infor531_ineq_032"><alternatives><mml:math>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$j={j_{1}}+{j_{2}}$]]></tex-math></alternatives></inline-formula> mod <italic>q</italic> yields a ciphertext <inline-formula id="j_infor531_ineq_033"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>12</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{\alpha ,12}}$]]></tex-math></alternatives></inline-formula> equal to the product of two ciphertexts <inline-formula id="j_infor531_ineq_034"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{\alpha ,1}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor531_ineq_035"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{\alpha ,2}}$]]></tex-math></alternatives></inline-formula> in <italic>G</italic>, i.e. <disp-formula-group id="j_infor531_dg_001">
<disp-formula id="j_infor531_eq_010">
<label>(10)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mtext mathvariant="italic">Enc</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>12</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="italic">Enc</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mtext mathvariant="italic">Enc</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}& \textit{Enc}(\alpha ,j,{d_{1}}{d_{2}})={c_{\alpha ,12}}=\textit{Enc}(\alpha ,{j_{1}},{d_{1}})\textit{Enc}(\alpha ,{j_{2}},{d_{2}})={c_{\alpha ,1}}{c_{\alpha ,2}},\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_infor531_eq_011">
<label>(11)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>12</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ε</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ε</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ε</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ε</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}& {c_{\alpha ,12}}=({\varepsilon _{\alpha ,1}},{\delta _{\alpha ,1}})({\varepsilon _{\alpha ,2}},{\delta _{\alpha ,2}})=({\varepsilon _{\alpha ,1}}{\varepsilon _{\alpha ,2}},{\delta _{\alpha ,1}}{\delta _{\alpha ,2}})=\big({d_{1}}{d_{2}}{\alpha ^{{j_{1}}+{j_{2}}}},{g^{{j_{1}}+{j_{2}}}}\big).\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</disp-formula-group> We will use this isomorphic property after modification in our solution by defining adequate algebraic structures.</p>
</sec>
<sec id="j_infor531_s_004">
<label>4</label>
<title>Confidential Transaction Construction</title>
<p>Let <italic>p</italic> be a large strong prime number, expressed by <inline-formula id="j_infor531_ineq_036"><alternatives><mml:math>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$p=2q+1$]]></tex-math></alternatives></inline-formula>, where <italic>q</italic> is a prime number, defining a multiplicative cyclic group <inline-formula id="j_infor531_ineq_037"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">Z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[${Z_{p}^{\ast }}=\{1,2,\dots ,p-1\}$]]></tex-math></alternatives></inline-formula> with operations performed mod <italic>p</italic>. This group has a subgroup of prime order <italic>q</italic>, denoted by <inline-formula id="j_infor531_ineq_038"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">G</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${G_{q}}$]]></tex-math></alternatives></inline-formula> with all elements, except 1, being generators in <inline-formula id="j_infor531_ineq_039"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">G</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${G_{q}}$]]></tex-math></alternatives></inline-formula>. From now on, group <italic>G</italic>, defined in Section <xref rid="j_infor531_s_002">2</xref>, is replaced by group <inline-formula id="j_infor531_ineq_040"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">G</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${G_{q}}$]]></tex-math></alternatives></inline-formula>. The operations, defined for group <italic>G</italic> in previous section, are computed mod <italic>p</italic> unless otherwise stated.</p>
<p>If <italic>g</italic> is a generator of <inline-formula id="j_infor531_ineq_041"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">G</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${G_{q}}$]]></tex-math></alternatives></inline-formula>, then according to Lagrange theorem and its consequences, the following relation is satisfied 
<disp-formula id="j_infor531_eq_012">
<label>(12)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>;</mml:mo>
<mml:mspace width="2em"/>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo stretchy="false">≠</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>;</mml:mo>
<mml:mspace width="2em"/>
<mml:mi mathvariant="italic">g</mml:mi>
<mml:mo stretchy="false">≠</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {g^{q}}=1;\hspace{2em}{g^{2}}\ne 1;\hspace{2em}g\ne 1.\]]]></tex-math></alternatives>
</disp-formula> 
We denote public parameters in ElGamal encryption by 
<disp-formula id="j_infor531_eq_013">
<label>(13)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mtext mathvariant="italic">PP</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">g</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \textit{PP}=(p,g).\]]]></tex-math></alternatives>
</disp-formula> 
PP generation is performed in the following way: 
<list>
<list-item id="j_infor531_li_005">
<label>1.</label>
<p>Generate a strong prime number <italic>p</italic> of 2048 bit length.</p>
</list-item>
<list-item id="j_infor531_li_006">
<label>2.</label>
<p>Generate a random number <italic>g</italic> in <inline-formula id="j_infor531_ineq_042"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">Z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${Z_{p}^{\ast }}$]]></tex-math></alternatives></inline-formula> and verify if <italic>g</italic> satisfies (<xref rid="j_infor531_eq_012">12</xref>). If yes, then <italic>g</italic> is a generator in subgroup <inline-formula id="j_infor531_ineq_043"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">G</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${G_{q}}$]]></tex-math></alternatives></inline-formula>; otherwise, we repeat step 2.</p>
</list-item>
</list> 
All actors have their generated public and private key pairs. They share public keys within the Net. Let AA have a public and private key pair that we denote by (<inline-formula id="j_infor531_ineq_044"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>PrK</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mi mathvariant="italic">A</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">z</mml:mi></mml:math><tex-math><![CDATA[${\text{PrK}_{AA}}=z$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor531_ineq_045"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>PuK</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mi mathvariant="italic">A</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">α</mml:mi></mml:math><tex-math><![CDATA[${\text{PuK}_{AA}}=\alpha $]]></tex-math></alternatives></inline-formula>); Alice’s public and private key pair is (<inline-formula id="j_infor531_ineq_046"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>PrK</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">A</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi></mml:math><tex-math><![CDATA[${\text{PrK}_{A}}=x$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor531_ineq_047"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>PuK</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">A</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">a</mml:mi></mml:math><tex-math><![CDATA[${\text{PuK}_{A}}=a$]]></tex-math></alternatives></inline-formula>).</p>
<p>All Laries <inline-formula id="j_infor531_ineq_048"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>L</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>L</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>L</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\text{L}_{1}},{\text{L}_{2}},\dots ,{\text{L}_{N}}$]]></tex-math></alternatives></inline-formula> have their key pairs that we denote by (<inline-formula id="j_infor531_ineq_049"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>PrK</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\text{PrK}_{Ln}}={y_{n}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor531_ineq_050"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>PuK</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\text{PuK}_{Ln}}={l_{n}}$]]></tex-math></alternatives></inline-formula>), <inline-formula id="j_infor531_ineq_051"><alternatives><mml:math>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi></mml:math><tex-math><![CDATA[$n=1,2,\dots ,N$]]></tex-math></alternatives></inline-formula>. The direct income and expenses encryption does not provide the opportunity to verify transaction balance (1), since, according to (<xref rid="j_infor531_eq_010">10</xref>) and (<xref rid="j_infor531_eq_011">11</xref>), encryption is a multiplicative homomorphism of plaintexts. We need to have additively multiplicative homomorphism instead by transforming transaction data by DEF in (<xref rid="j_infor531_eq_003">3</xref>). Let <inline-formula id="j_infor531_ineq_052"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${d_{1}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor531_ineq_053"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${d_{2}}$]]></tex-math></alternatives></inline-formula> be transaction data. Then they are transformed to new variables <inline-formula id="j_infor531_ineq_054"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${D_{1}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor531_ineq_055"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${D_{2}}$]]></tex-math></alternatives></inline-formula> computed in the following way 
<disp-formula id="j_infor531_eq_014">
<label>(14)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo>;</mml:mo>
<mml:mspace width="2em"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {D_{1}}={g^{{d_{1}}}};\hspace{2em}{D_{2}}={g^{{d_{2}}}}.\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>We denote the ciphertexts of encrypted exponent values <inline-formula id="j_infor531_ineq_056"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${D_{1}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor531_ineq_057"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${D_{2}}$]]></tex-math></alternatives></inline-formula> by capital letters while lower cases are used otherwise. Then, after encrypting the product <inline-formula id="j_infor531_ineq_058"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">D</mml:mi></mml:math><tex-math><![CDATA[${D_{1}}{D_{2}}=D$]]></tex-math></alternatives></inline-formula> with <inline-formula id="j_infor531_ineq_059"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>PuK</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mi mathvariant="italic">A</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">α</mml:mi></mml:math><tex-math><![CDATA[${\text{PuK}_{AA}}=\alpha $]]></tex-math></alternatives></inline-formula> according to (<xref rid="j_infor531_eq_010">10</xref>) and (<xref rid="j_infor531_eq_011">11</xref>), and when <inline-formula id="j_infor531_ineq_060"><alternatives><mml:math>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$j={j_{1}}+{j_{2}}$]]></tex-math></alternatives></inline-formula> mod <italic>q</italic>, we obtain 
<disp-formula id="j_infor531_eq_015">
<label>(15)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mtext mathvariant="italic">Enc</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>12</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="italic">Enc</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mspace width="0.2778em"/>
<mml:mtext mathvariant="italic">Enc</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \textit{Enc}(\alpha ,j,{D_{1}}{D_{2}})={C_{\alpha ,12}}=\textit{Enc}(\alpha ,{j_{1}},{D_{1}})\hspace{0.2778em}\textit{Enc}(\alpha ,{j_{2}},{D_{2}})={C_{\alpha ,1}}{C_{\alpha ,2}}.\]]]></tex-math></alternatives>
</disp-formula> 
Implicitly, ciphertext can be expressed by the following relations: 
<disp-formula id="j_infor531_eq_016">
<label>(16)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>12</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd class="align-even">
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ε</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ε</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ε</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ε</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mtext>mod</mml:mtext>
<mml:mspace width="0.2778em"/>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mtext>mod</mml:mtext>
<mml:mspace width="0.2778em"/>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mtext>mod</mml:mtext>
<mml:mspace width="0.2778em"/>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mtext>mod</mml:mtext>
<mml:mspace width="0.2778em"/>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mtext>mod</mml:mtext>
<mml:mspace width="0.2778em"/>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}{C_{\alpha ,12}}& =({\varepsilon _{\alpha ,1}},{\delta _{\alpha ,1}})({\varepsilon _{\alpha ,2}},{\delta _{\alpha ,2}})=({\varepsilon _{\alpha ,1}}{\varepsilon _{\alpha ,2}},{\delta _{\alpha ,1}}{\delta _{\alpha ,2}})\\ {} & =\big({D_{1}}{D_{2}}{\alpha ^{({j_{1}}+{j_{2}})\text{mod}\hspace{0.2778em}q}},{g^{({j_{1}}+{j_{2}})\text{mod}\hspace{0.2778em}q}}\big)\\ {} & =\big({g^{({d_{1}}+{d_{2}})\text{mod}\hspace{0.2778em}q}}{\alpha ^{({j_{1}}+{j_{2}})\text{mod}\hspace{0.2778em}q}},{g^{({j_{1}}+{j_{2}})\text{mod}\hspace{0.2778em}q}}\big)={C_{\alpha ,1}}{C_{\alpha ,2}}.\end{aligned}\]]]></tex-math></alternatives>
</disp-formula> 
Note that all operations in exponents are computed mod <italic>q</italic>, since the order of all the elements of the prime order group <inline-formula id="j_infor531_ineq_061"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">G</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${G_{q}}$]]></tex-math></alternatives></inline-formula> (except 1) is equal to <italic>q</italic>.</p>
<p>As there is 1-to-1 correspondence between <inline-formula id="j_infor531_ineq_062"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${d_{1}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor531_ineq_063"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${d_{2}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor531_ineq_064"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${D_{1}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor531_ineq_065"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${D_{2}}$]]></tex-math></alternatives></inline-formula>, and according to (<xref rid="j_infor531_eq_016">16</xref>), we can state the following properties of ElGamal encryption, if <inline-formula id="j_infor531_ineq_066"><alternatives><mml:math>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$j=({j_{1}}+{j_{2}}$]]></tex-math></alternatives></inline-formula>) mod <italic>q</italic>:</p>
<list>
<list-item id="j_infor531_li_007">
<label>1.</label>
<p>ElGamal encryption provides the multiplicative isomorphism of plaintexts <inline-formula id="j_infor531_ineq_067"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${D_{1}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor531_ineq_068"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${D_{2}}$]]></tex-math></alternatives></inline-formula> to ciphertexts.</p>
</list-item>
<list-item id="j_infor531_li_008">
<label>2.</label>
<p>If initial data <inline-formula id="j_infor531_ineq_069"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${d_{1}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor531_ineq_070"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${d_{2}}$]]></tex-math></alternatives></inline-formula> is exponentially transformed to corresponding data <inline-formula id="j_infor531_ineq_071"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${D_{1}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor531_ineq_072"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${D_{2}}$]]></tex-math></alternatives></inline-formula>, then the encryption of <inline-formula id="j_infor531_ineq_073"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${D_{1}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor531_ineq_074"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${D_{2}}$]]></tex-math></alternatives></inline-formula> is the additively-multiplicative encryption of exponents <inline-formula id="j_infor531_ineq_075"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${d_{1}},{d_{2}}$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
</list>
<p>In general, in order to implement an additively-multiplicative isomorphism for encryption, any integer of transaction data <italic>d</italic> in <inline-formula id="j_infor531_ineq_076"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${Z_{q}}$]]></tex-math></alternatives></inline-formula> is transformed to the element <italic>D</italic> in <inline-formula id="j_infor531_ineq_077"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">G</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${G_{q}}$]]></tex-math></alternatives></inline-formula> by DEF in (<xref rid="j_infor531_eq_003">3</xref>). 
<disp-formula id="j_infor531_eq_017">
<label>(17)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">D</mml:mi>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ D={g^{d}}.\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>In order to create Alice’s confidential and verifiable transaction, all her actual income <inline-formula id="j_infor531_ineq_078"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${i_{1}},{i_{2}},\dots ,{i_{M}}$]]></tex-math></alternatives></inline-formula> must be transformed to the numbers <inline-formula id="j_infor531_ineq_079"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{1}},{I_{2}},\dots ,{I_{M}}$]]></tex-math></alternatives></inline-formula>, and expenses <inline-formula id="j_infor531_ineq_080"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${e_{1}},{e_{2}},\dots ,{e_{N+1}}$]]></tex-math></alternatives></inline-formula>, correspondingly, to the numbers <inline-formula id="j_infor531_ineq_081"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${E_{1}},{E_{2}},\dots ,{E_{N+1}}$]]></tex-math></alternatives></inline-formula> by (<xref rid="j_infor531_eq_017">17</xref>). Then the balance equation (<xref rid="j_infor531_eq_001">1</xref>) can be verified by the following equation: 
<disp-formula id="j_infor531_eq_018">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>…</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>…</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {I_{1}}{I_{2}}\dots {I_{M}}={E_{1}}{E_{2}}\dots {E_{N+1}},\]]]></tex-math></alternatives>
</disp-formula> 
where addition is replaced by multiplication operation of exponent values of actual incomes and expenses in (<xref rid="j_infor531_eq_001">1</xref>).</p>
<p>In order to achieve verifiability of transaction, both sets <inline-formula id="j_infor531_ineq_082"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{1}},{I_{2}},\dots ,{I_{M}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor531_ineq_083"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${E_{1}},{E_{2}},\dots ,{E_{N+1}}$]]></tex-math></alternatives></inline-formula> must be encrypted with the same public key in a special way providing the equality of the sums of random generated numbers for income and expenses. We denote the ciphertexts of encrypted numbers <inline-formula id="j_infor531_ineq_084"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{1}},{I_{2}},\dots ,{I_{M}}$]]></tex-math></alternatives></inline-formula> with Alice <inline-formula id="j_infor531_ineq_085"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>PuK</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">A</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">a</mml:mi></mml:math><tex-math><![CDATA[${\text{PuK}_{A}}=a$]]></tex-math></alternatives></inline-formula> by <inline-formula id="j_infor531_ineq_086"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${C_{a,{I_{1}}}},{C_{a,{I_{2}}}},\dots ,{C_{a,{I_{M}}}}$]]></tex-math></alternatives></inline-formula>. In this case, the following problems have to be solved:</p>
<list>
<list-item id="j_infor531_li_009">
<label><bold>P1</bold>.</label>
<p>How to find the actual values of income <inline-formula id="j_infor531_ineq_087"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${i_{1}},{i_{2}},\dots ,{i_{M}}$]]></tex-math></alternatives></inline-formula>, transformed to <inline-formula id="j_infor531_ineq_088"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{1}},{I_{2}},\dots ,{I_{M}}$]]></tex-math></alternatives></inline-formula>?</p>
</list-item>
<list-item id="j_infor531_li_010">
<label><bold>P2</bold>.</label>
<p>How to prevent “money making out of the air”, satisfying balance equation (<xref rid="j_infor531_eq_001">1</xref>)?</p>
</list-item>
<list-item id="j_infor531_li_011">
<label><bold>P3</bold>.</label>
<p>How to ensure confidential transaction data declaration to AA and data verifiability to the Net?</p>
</list-item>
<list-item id="j_infor531_li_012">
<label><bold>P4</bold>.</label>
<p>How to implement confidential expenses transfer to Laries, verifiable by AA?</p>
</list-item>
<list-item id="j_infor531_li_013">
<label><bold>P5</bold>.</label>
<p>How to ensure confidential balance verification for the Net?</p>
</list-item>
</list>
<p>The solution to these problems is presented in next section.</p>
</sec>
<sec id="j_infor531_s_005">
<label>5</label>
<title>Confidential and Auditable Transaction Creaton</title>
<p>In the proposed solution, all the information about actual transaction data is available for Alice as a transaction creator and AA as an Audit Authority. 
<list>
<list-item id="j_infor531_li_014">
<label><bold>P1</bold>.</label>
<p>Alice receives the following ciphertexts <inline-formula id="j_infor531_ineq_089"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${C_{\alpha ,{I_{1}}}},{C_{\alpha ,{I_{2}}}},\dots ,{C_{\alpha ,{I_{M}}}}$]]></tex-math></alternatives></inline-formula> from Bobs, and obtains numbers <inline-formula id="j_infor531_ineq_090"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{1}},{I_{2}},\dots ,{I_{M}}$]]></tex-math></alternatives></inline-formula> corresponding to actual income values <inline-formula id="j_infor531_ineq_091"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${i_{1}},{i_{2}},\dots ,{i_{M}}$]]></tex-math></alternatives></inline-formula> transformed according to (<xref rid="j_infor531_eq_017">17</xref>) after their decryption. Since they are in the exponents of generator <italic>g</italic>, it is necessary to solve a Discrete Logarithmic Problem (DLP) in <inline-formula id="j_infor531_ineq_092"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">G</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${G_{q}}$]]></tex-math></alternatives></inline-formula>, i.e. if 
<disp-formula id="j_infor531_eq_019">
<label>(18)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {I_{m}}={g^{{i_{m}}}},\hspace{1em}m=1,2,\dots ,M,\]]]></tex-math></alternatives>
</disp-formula> 
then the discrete logarithm function with base <italic>g</italic> must be computed for value <inline-formula id="j_infor531_ineq_093"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{m}}$]]></tex-math></alternatives></inline-formula> 
<disp-formula id="j_infor531_eq_020">
<label>(19)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext mathvariant="italic">DLF</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {i_{m}}={\textit{DLF}_{g}}({I_{m}}),\hspace{1em}m=1,2,\dots ,M.\]]]></tex-math></alternatives>
</disp-formula> 
However, in order to provide security of ElGamal encryption (and of most traditional cryptosystems), DLP must be assumed as infeasible for securely generated public parameters, e.g. with prime number <italic>p</italic> having 2048 bit length.</p>
<p>Notice that the values of transaction data <italic>d</italic> are not so large as compared with the order of exponent ring <inline-formula id="j_infor531_ineq_094"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${Z_{q}}$]]></tex-math></alternatives></inline-formula>. For business processes, it is enough to restrict <italic>d</italic> value from 1 to, let us say, <inline-formula id="j_infor531_ineq_095"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>32</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[${2^{32}}-1$]]></tex-math></alternatives></inline-formula>, i.e. <italic>d</italic> can be represented by 32 bits, while <italic>q</italic> has at most 2047 bits, if <italic>p</italic> is generated by 2048 bit strong prime. Since money receiver Alice knows the exact range of Bobs payments, she can easily verify by (<xref rid="j_infor531_eq_017">17</xref>) if the decrypted data <italic>D</italic> correctly represents required sum <italic>d</italic>.</p>
<p>Since AA has much more powerful computation resources, it is not a problem to find transaction data <italic>d</italic> from (<xref rid="j_infor531_eq_017">17</xref>).</p>
</list-item>
<list-item id="j_infor531_li_015">
<label><bold>P2</bold>.</label>
<p>Prevention has its origin from ring <inline-formula id="j_infor531_ineq_096"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${Z_{q}}$]]></tex-math></alternatives></inline-formula> property, that it is an additive group, where addition and subtraction operations are performed mod <italic>q</italic>. For example, let <inline-formula id="j_infor531_ineq_097"><alternatives><mml:math>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>23</mml:mn></mml:math><tex-math><![CDATA[$p=23$]]></tex-math></alternatives></inline-formula>, then <inline-formula id="j_infor531_ineq_098"><alternatives><mml:math>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>11</mml:mn></mml:math><tex-math><![CDATA[$q=11$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor531_ineq_099"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>10</mml:mn>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[${Z_{q}}=\{0,1,2,\dots ,10\}$]]></tex-math></alternatives></inline-formula>. Let <inline-formula id="j_infor531_ineq_100"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[${d_{1}}=1$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor531_ineq_101"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>2</mml:mn></mml:math><tex-math><![CDATA[${d_{2}}=2$]]></tex-math></alternatives></inline-formula>, then <inline-formula id="j_infor531_ineq_102"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>3</mml:mn></mml:math><tex-math><![CDATA[${d_{1}}+{d_{2}}=3$]]></tex-math></alternatives></inline-formula> mod 11. But, at the same time, if <inline-formula id="j_infor531_ineq_103"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>4</mml:mn></mml:math><tex-math><![CDATA[${d_{1}}=4$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor531_ineq_104"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>10</mml:mn></mml:math><tex-math><![CDATA[${d_{2}}=10$]]></tex-math></alternatives></inline-formula>, then <inline-formula id="j_infor531_ineq_105"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>14</mml:mn></mml:math><tex-math><![CDATA[${d_{1}}+{d_{2}}=14$]]></tex-math></alternatives></inline-formula> mod 11 = 3 mod 11 = 3.</p>
<p>The solution is to dedicate a function for AA in order to verify that all the actual values <italic>d</italic> in transactions do not exceed <inline-formula id="j_infor531_ineq_106"><alternatives><mml:math>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mn>2</mml:mn></mml:math><tex-math><![CDATA[$q/2$]]></tex-math></alternatives></inline-formula>. It is more than sufficient, since when proposing the solution of P2 we restricted the upper range of <italic>d</italic> to the value <inline-formula id="j_infor531_ineq_107"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>32</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">≪</mml:mo>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mn>2</mml:mn></mml:math><tex-math><![CDATA[${2^{32}}-1\ll q/2$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
<list-item id="j_infor531_li_016">
<label><bold>P3</bold>.</label>
<p>The solution is obtained by generalizing (<xref rid="j_infor531_eq_015">15</xref>) and (<xref rid="j_infor531_eq_016">16</xref>) encryption to multiple income and expenses. It is implemented in the following steps: 
<list>
<list-item id="j_infor531_li_017">
<label>1.</label>
<p>Bobs incur their expenses as Alice receives income <inline-formula id="j_infor531_ineq_108"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${i_{1}},{i_{2}},\dots ,{i_{M}}$]]></tex-math></alternatives></inline-formula>, computing values <inline-formula id="j_infor531_ineq_109"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{1}},{I_{2}},\dots ,{I_{M}}$]]></tex-math></alternatives></inline-formula> and encrypting them using Alice <inline-formula id="j_infor531_ineq_110"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>PuK</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">A</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">a</mml:mi></mml:math><tex-math><![CDATA[${\text{PuK}_{A}}=a$]]></tex-math></alternatives></inline-formula> with the random generated numbers <inline-formula id="j_infor531_ineq_111"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${j_{1}},{j_{2}},\dots ,{j_{M}}$]]></tex-math></alternatives></inline-formula>, thus obtaining ciphertexts <inline-formula id="j_infor531_ineq_112"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${C_{a,{I_{1}}}},{C_{a,{I_{2}}}},\dots ,{C_{a,{I_{M}}}}$]]></tex-math></alternatives></inline-formula>. In addition, all Bobs encrypt numbers <inline-formula id="j_infor531_ineq_113"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${j_{1}},{j_{2}},\dots ,{j_{M}}$]]></tex-math></alternatives></inline-formula>, also using Alice <inline-formula id="j_infor531_ineq_114"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>PuK</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">A</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">a</mml:mi></mml:math><tex-math><![CDATA[${\text{PuK}_{A}}=a$]]></tex-math></alternatives></inline-formula> and obtaining ciphertexts <inline-formula id="j_infor531_ineq_115"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{a,{j_{1}}}},{c_{a,{j_{2}}}},\dots ,{c_{a,{j_{M}}}}$]]></tex-math></alternatives></inline-formula>. All Bobs send (<inline-formula id="j_infor531_ineq_116"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${C_{a,{I_{1}}}},{C_{a,{I_{2}}}},\dots ,{C_{a,{I_{M}}}}$]]></tex-math></alternatives></inline-formula>) and (<inline-formula id="j_infor531_ineq_117"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{a,{j_{1}}}},{c_{a,{j_{2}}}},\dots ,{c_{a,{j_{M}}}}$]]></tex-math></alternatives></inline-formula>) to Alice.</p>
</list-item>
<list-item id="j_infor531_li_018">
<label>2.</label>
<p>Alice decrypts (<inline-formula id="j_infor531_ineq_118"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${C_{a,{I_{1}}}},{C_{a,{I_{2}}}},\dots ,{C_{a,{I_{M}}}}$]]></tex-math></alternatives></inline-formula>) and (<inline-formula id="j_infor531_ineq_119"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{a,{j_{1}}}},{c_{a,{j_{2}}}},\dots ,{c_{a,{j_{M}}}}$]]></tex-math></alternatives></inline-formula>) with her <inline-formula id="j_infor531_ineq_120"><alternatives><mml:math>
<mml:mtext>PrK</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi></mml:math><tex-math><![CDATA[$\text{PrK}=x$]]></tex-math></alternatives></inline-formula>, thus obtaining <inline-formula id="j_infor531_ineq_121"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{1}},{I_{2}},\dots ,{I_{M}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor531_ineq_122"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${j_{1}},{j_{2}},\dots ,{j_{M}}$]]></tex-math></alternatives></inline-formula>. As it is outlined in P1, the actual values <inline-formula id="j_infor531_ineq_123"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${i_{1}},{i_{2}},\dots ,{i_{M}}$]]></tex-math></alternatives></inline-formula> are found from <inline-formula id="j_infor531_ineq_124"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{1}},{I_{2}},\dots ,{I_{M}}$]]></tex-math></alternatives></inline-formula>. Alice encrypts <inline-formula id="j_infor531_ineq_125"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${i_{1}},{i_{2}},\dots ,{i_{M}}$]]></tex-math></alternatives></inline-formula> by AA <inline-formula id="j_infor531_ineq_126"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>PuK</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mi mathvariant="italic">A</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">α</mml:mi></mml:math><tex-math><![CDATA[${\text{PuK}_{AA}}=\alpha $]]></tex-math></alternatives></inline-formula> and sends obtained ciphertexts (<inline-formula id="j_infor531_ineq_127"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${C_{\alpha ,{I_{1}}}},{C_{\alpha ,{I_{2}}}},\dots ,{C_{\alpha ,{I_{M}}}}$]]></tex-math></alternatives></inline-formula>) to AA for auditing.</p>
</list-item>
<list-item id="j_infor531_li_019">
<label>3.</label>
<p>Alice defines expenses <inline-formula id="j_infor531_ineq_128"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${e_{1}},{e_{2}},\dots ,{e_{N+1}}$]]></tex-math></alternatives></inline-formula> and transforms them to <inline-formula id="j_infor531_ineq_129"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${E_{1}},{E_{2}},\dots ,{E_{N+1}}$]]></tex-math></alternatives></inline-formula>, by applying (<xref rid="j_infor531_eq_017">17</xref>). Alice randomly generates numbers <inline-formula id="j_infor531_ineq_130"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${j_{E1}},{j_{E2}},\dots ,{j_{EN}}$]]></tex-math></alternatives></inline-formula> and computes number <inline-formula id="j_infor531_ineq_131"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${j_{E,N+1}}$]]></tex-math></alternatives></inline-formula> 
<disp-formula id="j_infor531_eq_021">
<label>(20)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mo stretchy="false">⋯</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mo stretchy="false">⋯</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mspace width="0.1667em"/>
<mml:mtext>mod</mml:mtext>
<mml:mspace width="0.1667em"/>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {j_{E,N+1}}=\big({j_{1}}+{j_{2}}+\cdots +{j_{M}}-({j_{E1}}+{j_{E2}}+\cdots +{j_{EN}})\big)\hspace{0.1667em}\text{mod}\hspace{0.1667em}q.\]]]></tex-math></alternatives>
</disp-formula> 
In this way, the following relation is satisfied for balance verification 
<disp-formula id="j_infor531_eq_022">
<label>(21)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mo stretchy="false">⋯</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mspace width="0.1667em"/>
<mml:mtext>mod</mml:mtext>
<mml:mspace width="0.1667em"/>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mo stretchy="false">⋯</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mspace width="0.1667em"/>
<mml:mtext>mod</mml:mtext>
<mml:mspace width="0.1667em"/>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ ({j_{1}}+{j_{2}}+\cdots +{j_{M}})\hspace{0.1667em}\text{mod}\hspace{0.1667em}q=({j_{E1}}+{j_{E2}}+\cdots +{j_{EN}}+{j_{E,N+1}})\hspace{0.1667em}\text{mod}\hspace{0.1667em}q.\]]]></tex-math></alternatives>
</disp-formula> 
Alice encrypts <inline-formula id="j_infor531_ineq_132"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${E_{1}},{E_{2}},\dots ,{E_{N+1}}$]]></tex-math></alternatives></inline-formula> using AA <inline-formula id="j_infor531_ineq_133"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>PuK</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mi mathvariant="italic">A</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">α</mml:mi></mml:math><tex-math><![CDATA[${\text{PuK}_{AA}}=\alpha $]]></tex-math></alternatives></inline-formula> by computing ciphertexts (<inline-formula id="j_infor531_ineq_134"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">E</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">E</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">E</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${C_{\alpha ,E1}},{C_{\alpha ,E2}},\dots ,{C_{\alpha ,E,N+1}}$]]></tex-math></alternatives></inline-formula>) and sends them to AA.</p>
</list-item>
<list-item id="j_infor531_li_020">
<label>4.</label>
<p>AA decrypts (<inline-formula id="j_infor531_ineq_135"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${C_{\alpha ,{I_{1}}}},{C_{\alpha ,{I_{2}}}},\dots ,{C_{\alpha ,{I_{M}}}}$]]></tex-math></alternatives></inline-formula>) and (<inline-formula id="j_infor531_ineq_136"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">E</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${C_{\alpha ,{E_{1}}}},{C_{\alpha ,{E_{2}}}},\dots ,{C_{\alpha ,E,N+1}}$]]></tex-math></alternatives></inline-formula>) using its <inline-formula id="j_infor531_ineq_137"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>PrK</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mi mathvariant="italic">A</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">z</mml:mi></mml:math><tex-math><![CDATA[${\text{PrK}_{AA}}=z$]]></tex-math></alternatives></inline-formula>, and finds values <inline-formula id="j_infor531_ineq_138"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{1}},{I_{2}},\dots ,{I_{M}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor531_ineq_139"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${E_{1}},{E_{2}},\dots ,{E_{N+1}}$]]></tex-math></alternatives></inline-formula>. AA finds actual values of income <inline-formula id="j_infor531_ineq_140"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${i_{1}},{i_{2}},\dots ,{i_{M}}$]]></tex-math></alternatives></inline-formula> and expenses <inline-formula id="j_infor531_ineq_141"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${e_{1}},{e_{2}},\dots ,{e_{N+1}}$]]></tex-math></alternatives></inline-formula>, using the search procedure outlined in P1, and can verify the transaction validity.</p>
<p>Verification passes if:</p>
<list>
<list-item id="j_infor531_li_021">
<label>a)</label>
<p>for all <inline-formula id="j_infor531_ineq_142"><alternatives><mml:math>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi></mml:math><tex-math><![CDATA[$m=1,2,\dots ,M$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor531_ineq_143"><alternatives><mml:math>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$n=1,2,\dots ,N+1$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor531_ineq_144"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>32</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[${i_{m}}\lt {2^{32}}-1$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor531_ineq_145"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>32</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[${e_{n}}\lt {2^{32}}-1$]]></tex-math></alternatives></inline-formula>;</p>
</list-item>
<list-item id="j_infor531_li_022">
<label>b)</label>
<p>the balance equation (<xref rid="j_infor531_eq_001">1</xref>) is satisfied.</p>
</list-item>
</list>
</list-item>
</list> 
Data verifiability to the Net is performed by verifying the following equation 
<disp-formula id="j_infor531_eq_023">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo>…</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo>…</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">E</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {C_{\alpha ,{I_{1}}}}{C_{\alpha ,{I_{2}}}}\dots {C_{\alpha ,IM}}={C_{\alpha ,{E_{1}}}}{C_{\alpha ,{E_{2}}}}\dots {C_{\alpha ,E,N+1}}.\]]]></tex-math></alternatives>
</disp-formula> 
If this equation holds, then 
<disp-formula id="j_infor531_eq_024">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>…</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>…</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {I_{1}}{I_{2}}\dots {I_{M}}={E_{1}}{E_{2}}\dots {E_{N+1}},\]]]></tex-math></alternatives>
</disp-formula> 
and balance equation (<xref rid="j_infor531_eq_001">1</xref>) is valid. The scheme of transaction declaration and verification is presented in Fig. <xref rid="j_infor531_fig_001">1</xref>.</p>
<p>
<fig id="j_infor531_fig_001">
<label>Fig. 1</label>
<caption>
<p>Alice transaction declaration to AA and Net.</p>
</caption>
<graphic xlink:href="infor531_g001.jpg"/>
</fig>
</p>
</list-item>
<list-item id="j_infor531_li_023">
<label><bold>P4</bold>.</label>
<p>Alice must transfer her expenses <inline-formula id="j_infor531_ineq_146"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${e_{1}},{e_{2}},\dots ,{e_{N}}$]]></tex-math></alternatives></inline-formula> to Laries <inline-formula id="j_infor531_ineq_147"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{1}},{L_{2}},\dots ,{L_{N}}$]]></tex-math></alternatives></inline-formula> as their income. In order to make a transfer to Larie <inline-formula id="j_infor531_ineq_148"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{n}}$]]></tex-math></alternatives></inline-formula>, she encrypts the transformed expense <inline-formula id="j_infor531_ineq_149"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${E_{n}}$]]></tex-math></alternatives></inline-formula> using <inline-formula id="j_infor531_ineq_150"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>PuK</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\text{PuK}_{Ln}}={l_{n}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor531_ineq_151"><alternatives><mml:math>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi></mml:math><tex-math><![CDATA[$n=1,\dots ,N$]]></tex-math></alternatives></inline-formula> with the randomly generated number <inline-formula id="j_infor531_ineq_152"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${j_{Ln}}$]]></tex-math></alternatives></inline-formula>, thus obtaining ciphertext <inline-formula id="j_infor531_ineq_153"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">E</mml:mi>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${C_{ln,En}}$]]></tex-math></alternatives></inline-formula>. Alice randomly generates a number <inline-formula id="j_infor531_ineq_154"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${j_{En}}$]]></tex-math></alternatives></inline-formula> and encrypts the number <inline-formula id="j_infor531_ineq_155"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${j_{Ln}}$]]></tex-math></alternatives></inline-formula>, thus obtaining ciphertext <inline-formula id="j_infor531_ineq_156"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mi mathvariant="italic">E</mml:mi>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{ln,jEn}}$]]></tex-math></alternatives></inline-formula>. Alice sends <inline-formula id="j_infor531_ineq_157"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">E</mml:mi>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${C_{ln,En}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor531_ineq_158"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mi mathvariant="italic">E</mml:mi>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{ln,jEn}}$]]></tex-math></alternatives></inline-formula> to <inline-formula id="j_infor531_ineq_159"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{n}}$]]></tex-math></alternatives></inline-formula>.</p>
<p>Larie <inline-formula id="j_infor531_ineq_160"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{n}}$]]></tex-math></alternatives></inline-formula> decrypts <inline-formula id="j_infor531_ineq_161"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">E</mml:mi>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${C_{ln,En}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor531_ineq_162"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mi mathvariant="italic">E</mml:mi>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{ln,jEn}}$]]></tex-math></alternatives></inline-formula> using her <inline-formula id="j_infor531_ineq_163"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>PrK</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\text{PrK}_{Ln}}={y_{n}}$]]></tex-math></alternatives></inline-formula>, and obtains transformed Alice’s expense <inline-formula id="j_infor531_ineq_164"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${E_{n}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor531_ineq_165"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${j_{Ln}}$]]></tex-math></alternatives></inline-formula>. Number <inline-formula id="j_infor531_ineq_166"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${j_{Ln}}$]]></tex-math></alternatives></inline-formula> will be needed to create Larie’s own transaction by acting in a similar way as Bob <inline-formula id="j_infor531_ineq_167"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${B_{n}}$]]></tex-math></alternatives></inline-formula> did. Larie computes <inline-formula id="j_infor531_ineq_168"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${e_{n}}$]]></tex-math></alternatives></inline-formula> and verifies if the obtained sum is correct. If Yes, he assigns <inline-formula id="j_infor531_ineq_169"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${e_{n}}$]]></tex-math></alternatives></inline-formula> to his income <inline-formula id="j_infor531_ineq_170"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${i_{Ln}}$]]></tex-math></alternatives></inline-formula> to be declared to AA. Using (<xref rid="j_infor531_eq_017">17</xref>), Larie computes 
<disp-formula id="j_infor531_eq_025">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {I_{Ln}}={g^{{i_{Ln}}}},\]]]></tex-math></alternatives>
</disp-formula> 
and encrypts it using <inline-formula id="j_infor531_ineq_171"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>PuK</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mi mathvariant="italic">A</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">α</mml:mi></mml:math><tex-math><![CDATA[${\text{PuK}_{AA}}=\alpha $]]></tex-math></alternatives></inline-formula> and random generated number <inline-formula id="j_infor531_ineq_172"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${j_{ln}}$]]></tex-math></alternatives></inline-formula> obtaining ciphertext <inline-formula id="j_infor531_ineq_173"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${C_{\alpha ,I{L_{n}}}}$]]></tex-math></alternatives></inline-formula>. Larie sends <inline-formula id="j_infor531_ineq_174"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${C_{\alpha ,I{L_{n}}}}$]]></tex-math></alternatives></inline-formula> to AA.</p>
<p>AA decrypts <inline-formula id="j_infor531_ineq_175"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${C_{\alpha ,I{L_{n}}}}$]]></tex-math></alternatives></inline-formula> obtains <inline-formula id="j_infor531_ineq_176"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{{L_{n}}}}$]]></tex-math></alternatives></inline-formula>. AA verifies if <inline-formula id="j_infor531_ineq_177"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${i_{{L_{n}}}}={e_{n}}$]]></tex-math></alternatives></inline-formula>, declared by Alice.</p>
<p>The scheme of confidential money transfer from Alice to Larie <inline-formula id="j_infor531_ineq_178"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{n}}$]]></tex-math></alternatives></inline-formula> is presented in Fig. <xref rid="j_infor531_fig_002">2</xref> below.</p>
<p>
<fig id="j_infor531_fig_002">
<label>Fig. 2</label>
<caption>
<p>Alice expense <inline-formula id="j_infor531_ineq_179"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${e_{n}}$]]></tex-math></alternatives></inline-formula> transfer to Lary <inline-formula id="j_infor531_ineq_180"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{n}}$]]></tex-math></alternatives></inline-formula> as his income <inline-formula id="j_infor531_ineq_181"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${i_{{L_{n}}}}={e_{n}}$]]></tex-math></alternatives></inline-formula> verification.</p>
</caption>
<graphic xlink:href="infor531_g002.jpg"/>
</fig>
</p>
</list-item>
</list>
</p>
</sec>
<sec id="j_infor531_s_006">
<label>6</label>
<title>Security and Effectivity Analysis</title>
<p>We will show that the presented tax declaration scheme ensures semantic security. It implies that any encrypted information in ciphertext accessible to the eavesdropper can provide only negligible information about the plaintext.</p>
<p>The group <inline-formula id="j_infor531_ineq_182"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">G</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${G_{q}}$]]></tex-math></alternatives></inline-formula>, introduced in Section <xref rid="j_infor531_s_003">3</xref>, is so-called Schnorr group where the Decissional Diffie-Hellman assumption (DDH) holds (Tsiounis and Yung, <xref ref-type="bibr" rid="j_infor531_ref_017">1998</xref>). It is proved in the same source that if the DDH assumption holds, then ElGamal achieves semantic security. If DDH assumption holds, then DLP is infeasible in <inline-formula id="j_infor531_ineq_183"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">G</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${G_{q}}$]]></tex-math></alternatives></inline-formula>. In this case, the solution of (<xref rid="j_infor531_eq_003">3</xref>) for finding <italic>i</italic> when <inline-formula id="j_infor531_ineq_184"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">G</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${G_{q}}$]]></tex-math></alternatives></inline-formula> and <italic>g</italic> is given is infeasible. It means that it is infeasible to find either decryptor’s private key <inline-formula id="j_infor531_ineq_185"><alternatives><mml:math>
<mml:mtext>PrK</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">z</mml:mi></mml:math><tex-math><![CDATA[$\text{PrK}=z$]]></tex-math></alternatives></inline-formula> in (<xref rid="j_infor531_eq_005">5</xref>) or random secret encryption parameter <italic>j</italic> in (6). Since DLP is infeasible, the public key exchange between the parties can be achieved using open communication channels. In order to provide authenticity and integrity of this exchange, the public keys should be digitally signed. We do not consider this technique in this paper.</p>
<p>Let us consider the following issue. If random integer <inline-formula id="j_infor531_ineq_186"><alternatives><mml:math>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$j\in {Z_{q}}$]]></tex-math></alternatives></inline-formula> can be found, then the ciphertext <italic>c</italic> in (<xref rid="j_infor531_eq_006">6</xref>) can be decrypted using the following relation 
<disp-formula id="j_infor531_eq_026">
<label>(22)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">ε</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ d=\varepsilon {\alpha ^{-j}}=d{\alpha ^{j}}{\alpha ^{-j}}.\]]]></tex-math></alternatives>
</disp-formula> 
This relation implies the so called coalition attack, when all Bobs and Laries agree to exchange secret numbers numbers <inline-formula id="j_infor531_ineq_187"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${j_{1}},{j_{2}},\dots ,{j_{M}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor531_ineq_188"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${j_{e1}},{j_{e2}},\dots ,{j_{eN}}$]]></tex-math></alternatives></inline-formula> in order to find a secret number <inline-formula id="j_infor531_ineq_189"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${j_{E,N+1}}$]]></tex-math></alternatives></inline-formula> from (<xref rid="j_infor531_eq_021">20</xref>). If this is done, then Alice’s change represented by <inline-formula id="j_infor531_ineq_190"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${E_{N+1}}$]]></tex-math></alternatives></inline-formula> can be decrypted according to (<xref rid="j_infor531_eq_027">23</xref>) 
<disp-formula id="j_infor531_eq_027">
<label>(23)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ε</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {E_{e,N+1}}={\varepsilon _{e,N+1}}{\alpha ^{-{j_{e,N+1}}}}.\]]]></tex-math></alternatives>
</disp-formula> 
In order to prevent this attack, an additional ciphertext is needed. For example, Alice can include the <inline-formula id="j_infor531_ineq_191"><alternatives><mml:math>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn></mml:math><tex-math><![CDATA[$N+2$]]></tex-math></alternatives></inline-formula>-th expense <inline-formula id="j_infor531_ineq_192"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${e_{N+2}}$]]></tex-math></alternatives></inline-formula> in order to pay a tax for her transaction to AA.</p>
<p>The efficiency of the implementation of the proposed scheme is almost the same as the efficiency of the implementation of ElGamal encryption. In order to create a transaction, it is necessary to perform an extra exponentiation operation to transform transaction data <italic>d</italic> to <italic>D</italic> according to (<xref rid="j_infor531_eq_017">17</xref>). Since we bounded the actual transfer sums up to <inline-formula id="j_infor531_ineq_193"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>32</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>=</mml:mo>
<mml:mn>4294967295</mml:mn></mml:math><tex-math><![CDATA[${2^{32}}-1=4294967295$]]></tex-math></alternatives></inline-formula>, then by using a well-known square and multiply algorithm for all exponentiations, we have the additional number of operations for money transfer as <inline-formula id="j_infor531_ineq_194"><alternatives><mml:math>
<mml:mi mathvariant="italic">O</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false">log</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$O({\log _{2}}d)$]]></tex-math></alternatives></inline-formula>. The maximal number of exponentiations for AA is 32.</p>
</sec>
<sec id="j_infor531_s_007">
<label>7</label>
<title>Conclusions</title>
<p>Tax declaration scheme using blockchain confidential transactions based on unspent transactions output (UTxO) paradigm is presented. The main actors are money senders Bobs, Alice (being a receiver and a sender, and a transaction creator), money receivers Laries, Audit Authority AA and the Net. Different information is available for all these actors.</p>
<p>The proposed scheme provides that the Net can only verify the transaction honesty with guarantee that every transaction indirectly satisfies the balance equation (<xref rid="j_infor531_eq_001">1</xref>) without revealing any feasible information about the actual transaction data. It is guaranteed by the semantic security of the ElGamal encryption, presented in section <xref rid="j_infor531_s_005">5</xref>, providing the confidentiality property of transactions for the Net. Actual money transfer values from Alice are available for each Larie, since they can be decrypted by their private keys respectively.</p>
<p>AA is handling all information about the actual transaction income and expenses. AA can also verify that the sum transferred from the sender Alice, as an expense, is equal to the sum received by Larie as an input. Therefore, the expense and income declaration can be monitored. It holds for all related transactions, thus also allowing to monitor tax payments. The efficiency of the implementation of the proposed scheme is almost the same as the efficiency of the implementation of ElGamal encryption. The additional number of operations for money transfer is <inline-formula id="j_infor531_ineq_195"><alternatives><mml:math>
<mml:mi mathvariant="italic">O</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false">log</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$O({\log _{2}}d)$]]></tex-math></alternatives></inline-formula>. The maximum number of exponentiations for AA is 32.</p>
</sec>
</body>
<back>
<ref-list id="j_infor531_reflist_001">
<title>References</title>
<ref id="j_infor531_ref_001">
<mixed-citation publication-type="chapter"><string-name><surname>Bai</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Zhou</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Yang</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Li</surname>, <given-names>L.</given-names></string-name> (<year>2019</year>). <chapter-title>RZcash: a privacy protection scheme for the account-based blockchain</chapter-title>. In: <source>2019 17th International Conference on Privacy, Security and Trust (PST)</source>, <conf-loc>Fredericton, NB, Canada</conf-loc>, <conf-date>2019</conf-date>, pp. <fpage>1</fpage>–<lpage>9</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/PST47121.2019.8949060" xlink:type="simple">https://doi.org/10.1109/PST47121.2019.8949060</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor531_ref_002">
<mixed-citation publication-type="journal"><string-name><surname>Boakye</surname>, <given-names>E.A.</given-names></string-name>, <string-name><surname>Zhao</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Ahia</surname>, <given-names>B.N.K.</given-names></string-name> (<year>2022</year>). <article-title>Emerging research on blockchain technology in finance; a conveyed evidence of bibliometric-based evaluations</article-title>. <source>The Journal of High Technology Management Research</source>, <volume>33</volume>(<issue>2</issue>), <elocation-id>100437</elocation-id>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.hitech.2022.100437" xlink:type="simple">https://doi.org/10.1016/j.hitech.2022.100437</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor531_ref_003">
<mixed-citation publication-type="other"><string-name><surname>Bouchaud</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Lyons</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Saint Olive</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Timsit</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Adinolfi</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Calmejane</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Singer</surname>, <given-names>M.</given-names></string-name> (2020). Central banks and the future of digital money. <italic>ConsenSys AG Whitepaper</italic>, 1–20. <uri>https://smallake.kr/wp-content/uploads/2020/10/ConsenSys-CBDC-White-Paper.pdf</uri>.</mixed-citation>
</ref>
<ref id="j_infor531_ref_004">
<mixed-citation publication-type="chapter"><string-name><surname>Bü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> (<year>2018</year>). <chapter-title>Bulletproofs: short proofs for confidential transactions and more</chapter-title>. In: <source>2018 IEEE Symposium on Security and Privacy (SP)</source>, <conf-loc>San Francisco, CA, USA</conf-loc>, <conf-date>2018</conf-date>, pp. <fpage>315</fpage>–<lpage>334</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/SP.2018.00020" xlink:type="simple">https://doi.org/10.1109/SP.2018.00020</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor531_ref_005">
<mixed-citation publication-type="other"><string-name><surname>Bünz</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Agrawal</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Zamani</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Boneh</surname>, <given-names>D.</given-names></string-name> (2020). Zether: Towards privacy in a smart contract world. In: <italic>Financial Cryptography and Data Security: 24th International Conference</italic>, FC 2020, Kota Kinabalu, Malaysia, February 10–14, 2020, pp. 423–443. <uri>https://eprint.iacr.org/2019/191</uri>.</mixed-citation>
</ref>
<ref id="j_infor531_ref_006">
<mixed-citation publication-type="chapter"><string-name><surname>Dedhia</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Mair</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Waghmare</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Nagarhalli</surname>, <given-names>T.</given-names></string-name> (<year>2023</year>). <chapter-title>TraceX: a tax tracking application</chapter-title>. In: <source>2023 7th International Conference on Intelligent Computing and Control Systems (ICICCS)</source>, <conf-loc>Madurai, India</conf-loc>, <conf-date>2023</conf-date>, pp. <fpage>887</fpage>–<lpage>894</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/ICICCS56967.2023.10142226" xlink:type="simple">https://doi.org/10.1109/ICICCS56967.2023.10142226</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor531_ref_007">
<mixed-citation publication-type="journal"><string-name><surname>ElGamal</surname>, <given-names>T.</given-names></string-name> (<year>1985</year>). <article-title>A public key cryptosystem and a signature scheme based on discrete logarithms</article-title>. <source>IEEE Transactions on Information Theory</source>, <volume>31</volume>(<issue>4</issue>), <fpage>469</fpage>–<lpage>472</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/TIT.1985.1057074" xlink:type="simple">https://doi.org/10.1109/TIT.1985.1057074</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor531_ref_008">
<mixed-citation publication-type="other"><string-name><surname>Maupin</surname>, <given-names>J.A.</given-names></string-name> (2017). Blockchains and the G20: building an inclusive, transparent and accountable digital economy. <italic>Transparent and Accountable Digital Economy</italic>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.2139/ssrn.2935261" xlink:type="simple">https://doi.org/10.2139/ssrn.2935261</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor531_ref_009">
<mixed-citation publication-type="other"><string-name><surname>Mohan</surname>, <given-names>C.</given-names></string-name> (2019). State of public and private blockchains: myths and reality. In: <italic>Proceedings of the 2019 International Conference on Management of Data</italic>, pp. 404-411. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1145/3299869.3314116" xlink:type="simple">https://doi.org/10.1145/3299869.3314116</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor531_ref_010">
<mixed-citation publication-type="journal"><string-name><surname>Muleravicius</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Timofejeva</surname>, <given-names>I.</given-names></string-name>, <string-name><surname>Mihalkovich</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Sakalauskas</surname>, <given-names>E.</given-names></string-name> (<year>2019</year>). <article-title>Security, trustworthiness and effectivity analysis of an offline E-cash system with observers</article-title>. <source>Informatica</source>, <volume>30</volume>(<issue>2</issue>), <fpage>327</fpage>–<lpage>348</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.15388/Informatica.2019.208" xlink:type="simple">https://doi.org/10.15388/Informatica.2019.208</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor531_ref_011">
<mixed-citation publication-type="journal"><string-name><surname>Paulavičius</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Grigaitis</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Igumenov</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Filatovas</surname>, <given-names>E.</given-names></string-name> (<year>2019</year>). <article-title>A decade of Blockchain: review of the current status, challenges, and future directions</article-title>. <source>Informatica</source>, <volume>30</volume>(<issue>4</issue>), <fpage>729</fpage>–<lpage>748</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.15388/Informatica.2019.227" xlink:type="simple">https://doi.org/10.15388/Informatica.2019.227</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor531_ref_012">
<mixed-citation publication-type="chapter"><string-name><surname>Phadke</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Medrano</surname>, <given-names>F.A.</given-names></string-name>, <string-name><surname>Brahmbhatt</surname>, <given-names>J.</given-names></string-name> (<year>2021</year>). <chapter-title>A conceptual framework for a Blockchain-based Tax payment financial service</chapter-title>. In: <source>2021 International Conference on Computational Science and Computational Intelligence (CSCI)</source>, <conf-loc>Las Vegas, NV, USA</conf-loc>, <conf-date>2021</conf-date>, pp. <fpage>1523</fpage>–<lpage>1527</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/CSCI54926.2021.00296" xlink:type="simple">https://doi.org/10.1109/CSCI54926.2021.00296</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor531_ref_013">
<mixed-citation publication-type="journal"><string-name><surname>Ren</surname>, <given-names>Y.-S.</given-names></string-name>, <string-name><surname>Ma</surname>, <given-names>C.-Q.</given-names></string-name>, <string-name><surname>Chen</surname>, <given-names>X.-Q.</given-names></string-name>, <string-name><surname>Lei</surname>, <given-names>Y.-T.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>Y.-R.</given-names></string-name> (<year>2023</year>). <article-title>Sustainable finance and blockchain: a systematic review and research agenda</article-title>. <source>Research in International Business and Finance</source>, <volume>64</volume>, <elocation-id>101871</elocation-id>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.ribaf.2022.101871" xlink:type="simple">https://doi.org/10.1016/j.ribaf.2022.101871</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor531_ref_014">
<mixed-citation publication-type="chapter"><string-name><surname>Sakalauskas</surname>, <given-names>E.</given-names></string-name>, <string-name><surname>Muleravicius</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Timofejeva</surname>, <given-names>I.</given-names></string-name> (<year>2017</year>). <chapter-title>Computational resources for mobile E-wallet system with observers</chapter-title>. In: <source>2017 Electronics</source>, <conf-loc>Palanga, Lithuania</conf-loc>, <conf-date>2017</conf-date>, pp. <fpage>1</fpage>–<lpage>5</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/ELECTRONICS.2017.7995226" xlink:type="simple">https://doi.org/10.1109/ELECTRONICS.2017.7995226</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor531_ref_015">
<mixed-citation publication-type="journal"><string-name><surname>Sakalauskas</surname>, <given-names>E.</given-names></string-name>, <string-name><surname>Timofejeva</surname>, <given-names>I.</given-names></string-name>, <string-name><surname>Michalkovič</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Muleravičius</surname>, <given-names>J.</given-names></string-name> (<year>2018</year>). <article-title>A simple off-line E-cash system with observers</article-title>. <source>Information Technology and Control</source>, <volume>47</volume>(<issue>1</issue>), <fpage>107</fpage>–<lpage>117</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.5755/j01.itc.47.1.18021" xlink:type="simple">https://doi.org/10.5755/j01.itc.47.1.18021</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor531_ref_016">
<mixed-citation publication-type="journal"><string-name><surname>Tseng</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Tsai</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Huang</surname>, <given-names>S.</given-names></string-name> (<year>2022</year>). <article-title>Fully continuous leakage-resilient certificate-based signcryption scheme for mobile communications</article-title>. <source>Informatica</source>, <volume>34</volume>(<issue>1</issue>), <fpage>199</fpage>–<lpage>222</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.15388/22-INFOR506" xlink:type="simple">https://doi.org/10.15388/22-INFOR506</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor531_ref_017">
<mixed-citation publication-type="chapter"><string-name><surname>Tsiounis</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Yung</surname>, <given-names>M.</given-names></string-name> (<year>1998</year>). <chapter-title>On the security of ElGamal based encryption</chapter-title>. In: <string-name><surname>Imai</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Zheng</surname>, <given-names>Y.</given-names></string-name> (Eds.), <source>Public Key Cryptography, PKC 1998</source>, <series><italic>Lecture Notes in Computer Science</italic></series>, Vol. <volume>1431</volume>. <publisher-name>Springer</publisher-name>, <publisher-loc>Berlin, Heidelberg</publisher-loc>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/BFb0054019" xlink:type="simple">https://doi.org/10.1007/BFb0054019</ext-link>.</mixed-citation>
</ref>
</ref-list>
</back>
</article>
