<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xml:lang="en" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">CMC</journal-id>
<journal-id journal-id-type="nlm-ta">CMC</journal-id>
<journal-id journal-id-type="publisher-id">CMC</journal-id>
<journal-title-group>
<journal-title>Computers, Materials &#x0026; Continua</journal-title>
</journal-title-group>
<issn pub-type="epub">1546-2226</issn>
<issn pub-type="ppub">1546-2218</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">38029</article-id>
<article-id pub-id-type="doi">10.32604/cmc.2023.038029</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Secure Blockchain-Enabled Internet of Vehicles Scheme with Privacy Protection</article-title>
<alt-title alt-title-type="left-running-head">Secure Blockchain-Enabled Internet of Vehicles Scheme with Privacy Protection</alt-title>
<alt-title alt-title-type="right-running-head">Secure Blockchain-Enabled Internet of Vehicles Scheme with Privacy Protection</alt-title>
</title-group>
<contrib-group>
<contrib id="author-1" contrib-type="author">
<name name-style="western"><surname>Zhang</surname><given-names>Jiansheng</given-names></name><xref ref-type="aff" rid="aff-1">1</xref></contrib>
<contrib id="author-2" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Xin</surname><given-names>Yang</given-names></name><xref ref-type="aff" rid="aff-1">1</xref><email>yangxin@bupt.edu.cn</email></contrib>
<contrib id="author-3" contrib-type="author">
<name name-style="western"><surname>Wang</surname><given-names>Yuyan</given-names></name><xref ref-type="aff" rid="aff-2">2</xref></contrib>
<contrib id="author-4" contrib-type="author">
<name name-style="western"><surname>Lei</surname><given-names>Xiaohui</given-names></name><xref ref-type="aff" rid="aff-2">2</xref></contrib>
<contrib id="author-5" contrib-type="author">
<name name-style="western"><surname>Yang</surname><given-names>Yixian</given-names></name><xref ref-type="aff" rid="aff-1">1</xref></contrib>
<aff id="aff-1"><label>1</label><institution>Information Security Center, State Key Laboratory of Networking and Switching Technology, Beijing University of Posts and Telecommunications</institution>, <addr-line>Beijing, 100876</addr-line>, <country>China</country></aff>
<aff id="aff-2"><label>2</label><institution>Beijing Everyone Crowdsourcing Technology Company Ltd.</institution>, <addr-line>Beijing, 100018</addr-line>, <country>China</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>&#x002A;</label>Corresponding Author: Yang Xin. Email: <email>yangxin@bupt.edu.cn</email></corresp>
</author-notes>
<pub-date date-type="collection" publication-format="electronic"><year>2023</year></pub-date>
<pub-date date-type="pub" publication-format="electronic"><day>1</day><month>5</month><year>2023</year></pub-date>
<volume>75</volume>
<issue>3</issue>
<fpage>6185</fpage>
<lpage>6199</lpage>
<history>
<date date-type="received"><day>24</day><month>11</month><year>2022</year></date>
<date date-type="accepted"><day>08</day><month>2</month><year>2023</year></date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2023 Zhang et al.</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Zhang et al.</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_CMC_38029.pdf"></self-uri>
<abstract><p>The car-hailing platform based on Internet of Vehicles (IoV) technology greatly facilitates passengers&#x2019; daily car-hailing, enabling drivers to obtain orders more efficiently and obtain more significant benefits. However, to match the driver closest to the passenger, it is often necessary to process the location information of the passenger and driver, which poses a considerable threat to privacy disclosure to the passenger and driver. Targeting these issues, in this paper, by combining blockchain and Paillier homomorphic encryption algorithm, we design a secure blockchain-enabled IoV scheme with privacy protection for online car-hailing. In this scheme, firstly, we propose an encryption scheme based on the lattice. Thus, the location information of passengers and drivers is encrypted in this system. Secondly, by introducing Paillier homomorphic encryption algorithm, the location matching of passengers and drivers is carried out in the ciphertext state to protect their location privacy. At last, blockchain technology is used to record the transactions in online car-hailing, which can provide a security guarantee for passengers and drivers. And we further analyze the security and performance of this scheme. Compared with other schemes, the experimental results show that the proposed scheme can protect the user&#x2019;s location privacy and have a better performance.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Blockchain</kwd>
<kwd>IoV</kwd>
<kwd>privacy protection</kwd>
<kwd>anti-quantum</kwd>
</kwd-group>
<funding-group>
<award-group id="awg1">
<funding-source>National Key R&#x0026;D Program of China</funding-source>
<award-id>2020YFB1805403</award-id>
</award-group>
<award-group id="awg2">
<funding-source>Major Scientific and Technological Special Project of Guizhou Province</funding-source>
<award-id>20183001</award-id>
</award-group>
<award-group id="awg3">
<funding-source>Foundation of Guizhou Provincial Key Laboratory of Public Big Data</funding-source>
<award-id>2018BDKFJJ021</award-id>
<award-id>2018BDKFJJ020</award-id>
<award-id>2017BDKFJJ015</award-id>
<award-id>2018BDKFJJ008</award-id>
</award-group>
<award-group id="awg4">
<funding-source>Fundamental Research Funds for the Central Universities</funding-source>
<award-id>CUC210A003</award-id>
</award-group>
</funding-group>
</article-meta>
</front>
<body>
<sec id="s1"><label>1</label><title>Introduction</title>
<p>In the Internet of vehicles (IoV), vehicles use onboard communication equipment to conduct wireless communication and information exchange through specific protocols and data standards to realize network interconnection with other vehicles, road facilities and service management platforms [<xref ref-type="bibr" rid="ref-1">1</xref>]. The connection realizes the control of intelligent vehicles and intelligent transportation. And it provides many convenient and diversified services for intelligent transportation [<xref ref-type="bibr" rid="ref-2">2</xref>,<xref ref-type="bibr" rid="ref-3">3</xref>]. Through the IoV, ordinary users and drivers can quickly obtain safe, advanced and comfortable services. The rapid development of IoV technology has fundamentally changed people&#x2019;s production and life [<xref ref-type="bibr" rid="ref-4">4</xref>]. For example, under the trend of the Internet-sharing economy, online car-hailing service based on vehicle networking has developed rapidly, which not only facilitates the car-hailing travel of users but also improves the efficiency of online car-hailing service.</p>
<p>However, due to the need for multiple message exchanges between vehicle and vehicle networking systems, IoV is facing the challenge of privacy leakage. Taking the parking charging service in IoV of smart city as an example, when users register and pay for parking to the service provider, many privacy information of users, such as hobbies, vehicle information, location and habits, will be obtained by the service provider. In this process, how to protect users&#x2019; privacy has become the key [<xref ref-type="bibr" rid="ref-5">5</xref>,<xref ref-type="bibr" rid="ref-6">6</xref>]. Therefore, while providing services, the IoV needs to focus on the design of a privacy protection model. Users can not only enjoy high-quality services but also avoid their private information being illegally obtained by a third party [<xref ref-type="bibr" rid="ref-7">7</xref>], which needs to find a solution to protect the privacy information of vehicles and users.</p>
<p>Nakamoto proposed a new decentralized digital currency based on blockchain technology [<xref ref-type="bibr" rid="ref-8">8</xref>,<xref ref-type="bibr" rid="ref-9">9</xref>]. Nowadays, the success of the bitcoin case has proven the strong development potential and application value of blockchain technology. Blockchain can share a secure public database through the distributed network without trust between users [<xref ref-type="bibr" rid="ref-10">10</xref>].</p>
<p>Due to the large amount of real-time data generated in IoV, these data enrich the context and social relationship information of vehicles, drivers, passengers and the surrounding environment. The data are collected and stored in different layers of its architecture. Therefore, the role of privacy management in IoV becomes crucial [<xref ref-type="bibr" rid="ref-11">11</xref>]. With the characteristics of decentralization and independence, emerging blockchain is widely used in finance, providing a new way to solve the privacy disclosure in the IoV. In 2018, Arora et al. proposed a method to provide authentication and secure data transmission between vehicle nodes in IoV to ensure accurate information communication between nodes [<xref ref-type="bibr" rid="ref-12">12</xref>]. However, the proposed algorithm is not analyzed and verified in this paper. Based on blockchain technology, Knirsch et al. proposed a protocol to match the most cost-effective charging station near the vehicle without disclosing the location information of electric vehicles [<xref ref-type="bibr" rid="ref-13">13</xref>]. Electric vehicles send demand signal, and charging stations can send bids similar to an auction. The principle of this scheme is relatively simple, but the protocol requires multiple communications during the process, which has the disadvantage of high communication costs. Xu et al. proposed a blockchain-based data-sharing framework to adapt to the limited computing and storage resources in edge devices [<xref ref-type="bibr" rid="ref-14">14</xref>]. Recently, in 2020, the authors in Ref. [<xref ref-type="bibr" rid="ref-15">15</xref>] proposed a collaborative data sharing model for industrial IoT applications, in which data owners and data requesters can achieve secure and fast data exchange between decentralized parties. In 2021, Qi et al. proposed a consortium blockchain-based federated learning framework, which can protect data privacy in industrial Internet by applying a noise-adding mechanism for the blockchain-based federated learning framework [<xref ref-type="bibr" rid="ref-16">16</xref>]. In this study, miners can verify model updates to avoid fraudulent updates, thereby mitigating the impact of data poisoning attacks. In addition, differential privacy has been used to prevent inference attacks and protect vehicle privacy. Unfortunately, with the increasing number of customers, the vast data processing and storage will become a new challenge for this framework to be further optimized.</p>
<p>Taking advantage of the decentralized, anonymous, and tamper-proof characteristics, blockchain can bring a new decentralized solution to the privacy disclosure problem of the IoV data, which is conducive to enhancing the safe data-sharing. At the same time, the blockchain does not need a trusted environment and special hardware facilities. It can combine multiple devices at the network&#x2019;s edge to achieve secure and reliable data consensus, reducing communication and hardware costs. More importantly, combining the IoV and blockchain technology can also form a trustworthy computing and effective incentive mechanism. Therefore, introducing blockchain into the IoV system ensures data privacy and security, which is of great significance for promoting data sharing of the Internet of Vehicles.</p>
<p>Blockchain has promoted the development of IoV from centralized to distributed trust mode, and Blockchain-enabled Internet of Vehicles (BIoV) is proposed. Aiming at the challenges of privacy protection and data security, we propose a location privacy protection method based on homomorphic encryption and blockchain. This method requires each passenger and driver to encrypt their location information before issuing a request, and then send the ciphertext to the online car-hailing platform. The car-hailing platform uses homomorphic encryption technology to execute the user&#x2019;s location.</p>
<p>The remainder of this paper is organized as follows. In Section 2, we make a brief introduction to related works, security model, and paillier homomorphic encryption. In Section 3, an asymmetric encryption scheme is proposed. Afterward, the privacy protection scheme for BIoV is designed. In Section 4, we further illustrate and analyze its security, and we compare the performance of our scheme in Section 5. At last, some concluding remarks are presented in Section 6.</p>
</sec>
<sec id="s2"><label>2</label><title>Preliminary</title>
<sec id="s2_1"><label>2.1</label><title>Related Works</title>
<p>For vehicle positioning, the IoV mainly adopts location-based service (LBS). In LBS, private car first provides services to LBS providers (LBSP, location-based service provider). It sends a query request message, including the current vehicle location and query keywords that can reflect the vehicle interest. Then, LBSP returns a keyword-based response message, including a Point of Interest (PoI) related to the vehicle location and query keywords, such as restaurants, gas stations, and parking lots.</p>
<p>Although LBS brings many benefits and convenience to users, it also has the problem of privacy disclosure. For example, when the location data is leaked, the enemy can reconstruct its driving track and infer the private information of the vehicle user, such as a home address, work unit, and health status. The disclosure of this private information may lead to acts endangering the user&#x2019;s safety [<xref ref-type="bibr" rid="ref-17">17</xref>]. Therefore, location privacy protection in LBS has attracted the attention of scholars. Because of the above problems, there are mainly three types of solutions.</p>
<p>(1) Using the cryptographic algorithms to provide privacy protection. The representative achievement is that Yi et al. [<xref ref-type="bibr" rid="ref-18">18</xref>] proposed a location privacy protection scheme based on differential privacy, which uses Paillier homomorphic encryption technology to realize geographic indistinguishable s-differential location privacy. Paulet et al. [<xref ref-type="bibr" rid="ref-19">19</xref>] proposed a nearest-neighbor search scheme. In 2021, Yi et al. designed a privacy protection scheme using the ring signature algorithm on the lattice [<xref ref-type="bibr" rid="ref-20">20</xref>].</p>
<p>(2) Use confusion strategies. Beresford et al. [<xref ref-type="bibr" rid="ref-21">21</xref>] proposed the concept of diverse region and introduced the idea of confusion in location privacy protection. The principle is to constantly change the user&#x2019;s pseudonym in this area to protect the user&#x2019;s location privacy. In 2017, Yang et al. Proposed a new method that can completely protect the user&#x2019;s location privacy, the confined space hiding method [<xref ref-type="bibr" rid="ref-22">22</xref>].</p>
<p>(3) Using space and pseudonyms. Users can retrieve the required content in the local cache without sending queries to LBSP, which protects privacy. For example, Amini&#x2019;s scheme [<xref ref-type="bibr" rid="ref-23">23</xref>] and Shokri et al. [<xref ref-type="bibr" rid="ref-24">24</xref>]. In 2018, Khodaei et al. Proposed a collaborative location privacy protection scheme to hide the location information of vehicles [<xref ref-type="bibr" rid="ref-25">25</xref>].</p>
</sec>
<sec id="s2_2"><label>2.2</label><title>Security Model</title>
<p>According to the description of privacy attacks in Ref. [<xref ref-type="bibr" rid="ref-26">26</xref>], the security modes are divided into the following types.</p>
<p>(1) IoV location privacy disclosure. By attacking the vehicle networking system data, the attacker may obtain the location data or travel trajectory of the driver or passenger, expose the specific location, and disclose the personal privacy information of the driver and passenger users.</p>
<p>(2) Blockchain data disclosure. As is known to all, blockchain is open and transparent. Other users can also read the driving record information in the blockchain ledger. Therefore, potential attackers can read all transactions recorded on the blockchain to gain the privacy of passengers and drivers.</p>
<p>(3) Payment fraud. If the driver is paid at the beginning of the trip, he may not be able to complete the trip. In addition, if the driver receives the fare at the end of the trip, the passenger may not be willing to pay the fare.</p>
</sec>
<sec id="s2_3"><label>2.3</label><title>Paillier Homomorphic Encryption</title>
<p>Homomorphic encryption is a special encryption method. In addition to the particular encryption operation, it can also realize various computing functions between ciphertext. Various mathematical calculation operations are carried out for ciphertext, and the results of these operations are the same as those on plaintext [<xref ref-type="bibr" rid="ref-8">8</xref>]. In other words, homomorphic encryption allows specific calculations to be performed on the encrypted data without knowing the private key. And the decrypted result of the encrypted data obtained after the calculation is the same as that obtained by performing the same calculation on the plaintext. The implementation effect is shown in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>, and homomorphic encryption algorithm is often used to protect data privacy.</p>
<fig id="fig-1"><label>Figure 1</label><caption><title>Homomorphic encryption</title></caption><graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_38029-fig-1.tif"/></fig>
<p>The Paillier algorithm is one of the most studied homomorphic encryption algorithms. The details of the Paillier algorithm are as follows.</p>
<p><bold>Key generation.</bold> Select two large primes <italic>p</italic> and <italic>q</italic>, which satisfies the following equation
<disp-formula id="eqn-1"><label>(1)</label><mml:math id="mml-eqn-1" display="block"><mml:mo movablelimits="true" form="prefix">gcd</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>p</mml:mi><mml:mi>q</mml:mi><mml:mo>,</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>p</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>q</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mn>1.</mml:mn></mml:math></disp-formula></p>
<p>Then calculate
<disp-formula id="eqn-2"><label>(2)</label><mml:math id="mml-eqn-2" display="block"><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mi>p</mml:mi><mml:mi>q</mml:mi><mml:mo>,</mml:mo></mml:math></disp-formula>
<disp-formula id="eqn-3"><label>(3)</label><mml:math id="mml-eqn-3" display="block"><mml:mi>&#x03BB;</mml:mi><mml:mo>=</mml:mo><mml:mi>l</mml:mi><mml:mi>c</mml:mi><mml:mi>m</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>p</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>q</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p>The <italic>lcm</italic> function is used to calculate the least common multiple of the two parameters.</p>
<p>Select a random integer <inline-formula id="ieqn-1"><mml:math id="mml-ieqn-1"><mml:mi>g</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mi>Z</mml:mi><mml:mrow><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, and <italic>g</italic> satisfies
<disp-formula id="eqn-4"><label>(4)</label><mml:math id="mml-eqn-4" display="block"><mml:mi>&#x03BC;</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mi>L</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msup><mml:mi>g</mml:mi><mml:mrow><mml:mi>&#x03BB;</mml:mi></mml:mrow></mml:msup><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>n</mml:mi><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p><inline-formula id="ieqn-2"><mml:math id="mml-ieqn-2"><mml:mi>L</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>u</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is defined as <inline-formula id="ieqn-3"><mml:math id="mml-ieqn-3"><mml:mi>L</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>u</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>u</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>n</mml:mi></mml:math></inline-formula>. <inline-formula id="ieqn-4"><mml:math id="mml-ieqn-4"><mml:msubsup><mml:mi>Z</mml:mi><mml:mrow><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> represents the set of integers coprime to <inline-formula id="ieqn-5"><mml:math id="mml-ieqn-5"><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> in <inline-formula id="ieqn-6"><mml:math id="mml-ieqn-6"><mml:msub><mml:mi>Z</mml:mi><mml:mrow><mml:mrow><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>. Thus, the user obtains the public and private keys that can be used for homomorphic encryption. The public key is <inline-formula id="ieqn-7"><mml:math id="mml-ieqn-7"><mml:mo stretchy="false">(</mml:mo><mml:mi>n</mml:mi><mml:mo>,</mml:mo><mml:mi>g</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and the private key is <inline-formula id="ieqn-8"><mml:math id="mml-ieqn-8"><mml:mi>&#x03BB;</mml:mi></mml:math></inline-formula>.</p>
<p><bold>Encryption.</bold> Suppose that the information <italic>m</italic> needs to be encrypted and <inline-formula id="ieqn-9"><mml:math id="mml-ieqn-9"><mml:mi>m</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msub><mml:mi>Z</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mn>0</mml:mn><mml:mo>&#x003C;</mml:mo><mml:mi>m</mml:mi><mml:mo>&#x003C;</mml:mo><mml:mi>n</mml:mi></mml:math></inline-formula>. Randomly select an integer <inline-formula id="ieqn-10"><mml:math id="mml-ieqn-10"><mml:mi>r</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mi>Z</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> and <inline-formula id="ieqn-11"><mml:math id="mml-ieqn-11"><mml:mi>r</mml:mi><mml:mo>&#x003C;</mml:mo><mml:mi>n</mml:mi></mml:math></inline-formula>. The encryption algorithm as <inline-formula id="ieqn-12"><mml:math id="mml-ieqn-12"><mml:mi>c</mml:mi><mml:mo>=</mml:mo><mml:mi>E</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>m</mml:mi><mml:mo>,</mml:mo><mml:mi>r</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. Calculate and obtain the ciphertext
<disp-formula id="eqn-5"><label>(5)</label><mml:math id="mml-eqn-5" display="block"><mml:mi>c</mml:mi><mml:mo>=</mml:mo><mml:mi>E</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>m</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>,</mml:mo><mml:mi>g</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msup><mml:mi>g</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msup><mml:msup><mml:mi>r</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p><bold>Decryption.</bold> For the ciphertext <italic>c</italic>, calculate as follows and obtain the plaintext <italic>m</italic>.
<disp-formula id="eqn-6"><label>(6)</label><mml:math id="mml-eqn-6" display="block"><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mi>D</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>c</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>L</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msup><mml:mi>c</mml:mi><mml:mrow><mml:mi>&#x03BB;</mml:mi></mml:mrow></mml:msup><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow><mml:mi>&#x03BC;</mml:mi><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mi>L</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msup><mml:mi>c</mml:mi><mml:mrow><mml:mi>&#x03BB;</mml:mi></mml:mrow></mml:msup><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>L</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msup><mml:mi>g</mml:mi><mml:mrow><mml:mi>&#x03BB;</mml:mi></mml:mrow></mml:msup><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mfrac><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>n</mml:mi><mml:mo>.</mml:mo></mml:math></disp-formula></p>
</sec>
</sec>
<sec id="s3"><label>3</label><title>BIoV with Privacy Protection</title>
<sec id="s3_1"><label>3.1</label><title>Architecture of the BIoV</title>
<p>The architecture of the BIoV is described in <xref ref-type="fig" rid="fig-2">Fig. 2</xref> below. The management of vehicle data is realized through a five-layer structure which includes the physical layer, network layer, consensus layer, platform layer, and application layer. The detail function introductions of every layer are as follows.</p>
<p>(1) <bold>Physical layer.</bold> This layer is mainly the intelligent devices in the IoV, such as intelligent vehicles and Roadside Units (RSU). As the edge computing infrastructure of BIoV, RSU is widely deployed in the whole road network. Therefore, vehicles can easily reach the range of RSU receiving data. Because these RSUs have sufficient computing and storage resources, they can become miners in blockchain technology to collect and record driving data for the BIoV. Therefore, these miners play an important role in publicly reviewing and storing vehicle data and data-sharing records in BIoV.</p>
<p>(2) <bold>Network layer.</bold> The network layer mainly changes the protocols related to the communication between nodes, such as Bluetooth, WiFi, ZigBee and other network protocols. Blockchain network is a distributed network in which user nodes broadcast transactions to other user nodes it knows in the network. If the core user node in the network receives the transaction, first verify whether the signature in the transaction is correct, whether the transaction structure is correct, and whether the size is within the specified range. If all validations are successful, the transaction will be further aggregated and added to the new block.</p>
<p>(3) <bold>Consensus layer.</bold> The consensus layer mainly includes RSU and blockchain systems in the IoV. The consensus mechanism is one of the core technologies of blockchain, which determines whose block will be the next block of the main chain in a decentralized and trusting environment. The purpose of the consensus layer is to realize the consensus and unification of the node storage ledger in a distributed network. In BIoV, each RSU can be regarded as a miner node in the blockchain system. The data is sorted and uploaded to the blockchain system through the RSU.</p>
<p>The blockchain system adopts the Delegated Proof of Stake (DPoS). It adopts the method of electing principal, who as a producer of the new block in turn. Unlike the previous Proof of Work (PoW) mining methods, this method not only reduces the energy consumption of the blockchain system and minimizes the network operation cost, but also improves the block confirmation time. The evaluation confirmation time of each block is about 10 s. The above advantages make DPoS more suitable for IoV applications.</p>
<p>(4) <bold>Platform layer.</bold> As shown in <xref ref-type="fig" rid="fig-2">Fig. 2</xref>, the device layer is mainly the intelligent devices that drivers, passengers access and use vehicle data, such as mobile phones and computers. Through these devices, users can connect with the BIoV system through the network. Thus, the BIoV system can provide users with various transportation services efficiently and conveniently.</p>
<p>(5) <bold>Application layer.</bold> The application layer is the highest level of the BIoV system which is mainly applicable to the application scenarios of blockchain. According to different application scenarios, the application layer will also be different. Based on the safety of the BIoV model, it can be applied to car-hailing, intelligent transportation and other application scenarios.</p>
<fig id="fig-2"><label>Figure 2</label><caption><title>The architecture of BIoV</title></caption><graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_38029-fig-2.tif"/></fig>
</sec>
<sec id="s3_2"><label>3.2</label><title>Lattice-Based Encryption Scheme</title>
<p>In this subsection, we propose an encryption scheme based on lattice as follows. For one thing, we introduce two lemmas used in the scheme. For another, we describe the encryption and decryption process of the scheme in detail. Our scheme consists of four probabilistic polynomial time (PPT) algorithms.</p>
<p><bold>Lemma 1.</bold> <inline-formula id="ieqn-13"><mml:math id="mml-ieqn-13"><mml:mrow><mml:mtext mathvariant="italic">TrapGen</mml:mtext></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>q</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. Given a prime <inline-formula id="ieqn-14"><mml:math id="mml-ieqn-14"><mml:mi>q</mml:mi><mml:mo>&#x2265;</mml:mo><mml:mn>2</mml:mn></mml:math></inline-formula>, <inline-formula id="ieqn-15"><mml:math id="mml-ieqn-15"><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mi>n</mml:mi><mml:mo>,</mml:mo><mml:mi>m</mml:mi><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mo>&#x2208;</mml:mo><mml:mi>Z</mml:mi><mml:mo>,</mml:mo><mml:mi>m</mml:mi><mml:mo>&#x2265;</mml:mo><mml:mn>5</mml:mn><mml:mi>n</mml:mi><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mi>q</mml:mi></mml:math></inline-formula>. Run <inline-formula id="ieqn-16"><mml:math id="mml-ieqn-16"><mml:mrow><mml:mtext mathvariant="italic">TrapGen</mml:mtext></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>q</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> algorithm can output <inline-formula id="ieqn-17"><mml:math id="mml-ieqn-17"><mml:mi>A</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mi>Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> and <inline-formula id="ieqn-18"><mml:math id="mml-ieqn-18"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mi>Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, where <inline-formula id="ieqn-19"><mml:math id="mml-ieqn-19"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is a basis for <inline-formula id="ieqn-20"><mml:math id="mml-ieqn-20"><mml:msubsup><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x22A5;</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mi>A</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> satisfying <inline-formula id="ieqn-21"><mml:math id="mml-ieqn-21"><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:mo>|</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>S</mml:mi><mml:mo>&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo>|</mml:mo></mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mo>&#x2264;</mml:mo><mml:mi>O</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msqrt><mml:mi>n</mml:mi><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mi>q</mml:mi></mml:msqrt><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mtext>&#xA0;and&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:mo>|</mml:mo><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo>|</mml:mo></mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mo>&#x2264;</mml:mo><mml:mi>O</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>n</mml:mi><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mi>q</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>.</p>
<p><bold>Lemma 2.</bold> <inline-formula id="ieqn-22"><mml:math id="mml-ieqn-22"><mml:mrow><mml:mtext mathvariant="italic">SampleLeft</mml:mtext></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>A</mml:mi><mml:mo>,</mml:mo><mml:mi>B</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>&#x03C3;</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. Input <inline-formula id="ieqn-23"><mml:math id="mml-ieqn-23"><mml:mi>A</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mi>Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, <inline-formula id="ieqn-24"><mml:math id="mml-ieqn-24"><mml:mi>B</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mi>Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:math></inline-formula>, <inline-formula id="ieqn-25"><mml:math id="mml-ieqn-25"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mi>Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, a vector <inline-formula id="ieqn-26"><mml:math id="mml-ieqn-26"><mml:mi>u</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mi>Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> and a Gaussian parameter <inline-formula id="ieqn-27"><mml:math id="mml-ieqn-27"><mml:mi>&#x03C3;</mml:mi><mml:mo>&#x2265;</mml:mo><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:mo>|</mml:mo><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo>|</mml:mo></mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mi>&#x03C9;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msqrt><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>m</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:msqrt><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, run <inline-formula id="ieqn-28"><mml:math id="mml-ieqn-28"><mml:mrow><mml:mtext mathvariant="italic">SampleLeft</mml:mtext></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>A</mml:mi><mml:mo>,</mml:mo><mml:mi>B</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>&#x03C3;</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> algorithm can output a vector <inline-formula id="ieqn-29"><mml:math id="mml-ieqn-29"><mml:mi>e</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>u</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mi>F</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and <inline-formula id="ieqn-30"><mml:math id="mml-ieqn-30"><mml:mi>F</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>A</mml:mi><mml:mrow><mml:mo>|</mml:mo><mml:mi>B</mml:mi><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mrow><mml:mtext>Z</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>m</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> satisfying <inline-formula id="ieqn-31"><mml:math id="mml-ieqn-31"><mml:mi>F</mml:mi><mml:mi>e</mml:mi><mml:mo>=</mml:mo><mml:mi>u</mml:mi><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mi>q</mml:mi></mml:math></inline-formula>.</p>
<p><bold>Setup.</bold> Select two primes <italic>n</italic>, <inline-formula id="ieqn-32"><mml:math id="mml-ieqn-32"><mml:mi>q</mml:mi><mml:mo>&#x2265;</mml:mo><mml:mn>2</mml:mn></mml:math></inline-formula>, and an integer <inline-formula id="ieqn-33"><mml:math id="mml-ieqn-33"><mml:mi>m</mml:mi><mml:mo>&#x2265;</mml:mo><mml:mn>5</mml:mn><mml:mi>n</mml:mi><mml:mi>lg</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mi>q</mml:mi></mml:math></inline-formula>, which are security parameters in this scheme. Then, run <inline-formula id="ieqn-34"><mml:math id="mml-ieqn-34"><mml:mo stretchy="false">(</mml:mo><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:mi>S</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">&#x2190;</mml:mo><mml:mrow><mml:mtext mathvariant="italic">TrapGen</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mn>1</mml:mn><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mi>P</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mi>Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> and output the public key <inline-formula id="ieqn-35"><mml:math id="mml-ieqn-35"><mml:mi>P</mml:mi><mml:mi>K</mml:mi><mml:mo>=</mml:mo><mml:mi>P</mml:mi></mml:math></inline-formula>, master key <inline-formula id="ieqn-36"><mml:math id="mml-ieqn-36"><mml:mi>M</mml:mi><mml:mi>K</mml:mi><mml:mo>=</mml:mo><mml:mi>S</mml:mi></mml:math></inline-formula>.</p>
<p><bold>Key generation.</bold> Choose a matrix <inline-formula id="ieqn-37"><mml:math id="mml-ieqn-37"><mml:mi>b</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mi>Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> randomly and a parameter <inline-formula id="ieqn-38"><mml:math id="mml-ieqn-38"><mml:mi>&#x03C3;</mml:mi><mml:mo>&#x2265;</mml:mo><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:mo>|</mml:mo><mml:mi>S</mml:mi><mml:mo>|</mml:mo></mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mi>&#x03C9;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtext>lb</mml:mtext></mml:mrow><mml:mi>m</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:msqrt><mml:mi>m</mml:mi></mml:msqrt></mml:math></inline-formula>. Input the Public key <italic>P</italic> and master key <italic>S</italic> and run <inline-formula id="ieqn-39"><mml:math id="mml-ieqn-39"><mml:mrow><mml:mtext mathvariant="italic">SampleLeft</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>S</mml:mi><mml:mo>,</mml:mo><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mi>&#x03C3;</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> to output <inline-formula id="ieqn-40"><mml:math id="mml-ieqn-40"><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. Thus, system generates secret key <inline-formula id="ieqn-41"><mml:math id="mml-ieqn-41"><mml:mi>s</mml:mi><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>b</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>.</p>
<p><bold>Encryption.</bold> Choose error parameter <inline-formula id="ieqn-42"><mml:math id="mml-ieqn-42"><mml:mi>a</mml:mi><mml:mo stretchy="false">&#x2190;</mml:mo><mml:mi>&#x03C7;</mml:mi></mml:math></inline-formula>, where <inline-formula id="ieqn-43"><mml:math id="mml-ieqn-43"><mml:mi>&#x03C7;</mml:mi></mml:math></inline-formula> is Gaussian error distribution. Plaintext M &#x003D; <inline-formula id="ieqn-44"><mml:math id="mml-ieqn-44"><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula>, compute <inline-formula id="ieqn-45"><mml:math id="mml-ieqn-45"><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>a</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>&#x230A;</mml:mo><mml:mi>q</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn><mml:mo>&#x230B;</mml:mo></mml:mrow></mml:math></inline-formula>. Then, select <inline-formula id="ieqn-46"><mml:math id="mml-ieqn-46"><mml:mi>x</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mi>Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">&#x2190;</mml:mo><mml:mi>&#x03C7;</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-47"><mml:math id="mml-ieqn-47"><mml:mi>d</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:msup><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>m</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> randomly. Compute <inline-formula id="ieqn-48"><mml:math id="mml-ieqn-48"><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>d</mml:mi><mml:mi>x</mml:mi></mml:math></inline-formula> and output the ciphertext <inline-formula id="ieqn-49"><mml:math id="mml-ieqn-49"><mml:mi>C</mml:mi><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula>.</p>
<p><bold>Decryption.</bold> The algorithm takes the public key, private key <italic>sk</italic> and ciphertext <italic>C</italic> as inputs. Compute</p>
<p><disp-formula id="ueqn-1">
<mml:math id="mml-ueqn-1" display="block"><mml:mi>w</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mi>d</mml:mi><mml:mi>x</mml:mi><mml:mo>,</mml:mo></mml:math></disp-formula>
<disp-formula id="ueqn-2">
<mml:math id="mml-ueqn-2" display="block"><mml:mi>g</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mi>w</mml:mi></mml:math></disp-formula></p>
<p>If <inline-formula id="ieqn-50"><mml:math id="mml-ieqn-50"><mml:mrow><mml:mo>|</mml:mo><mml:mi>g</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mo>&#x230A;</mml:mo><mml:mi>q</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn><mml:mo>&#x230B;</mml:mo></mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mo>&#x003C;</mml:mo><mml:mrow><mml:mo>&#x230A;</mml:mo><mml:mi>q</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>4</mml:mn><mml:mo>&#x230B;</mml:mo></mml:mrow></mml:math></inline-formula>, return <inline-formula id="ieqn-51"><mml:math id="mml-ieqn-51"><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>. Else, return <inline-formula id="ieqn-52"><mml:math id="mml-ieqn-52"><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>, thus, plaintext M is obtained.</p>
</sec>
<sec id="s3_3"><label>3.3</label><title>Privacy Protection for BIoV</title>
<p>The decentralized BIoV system proposed in this section eliminates the intermediary mechanism in the current online car-hailing service system. A decentralized Internet of vehicles service system is constructed by using blockchain technology and smart contract. The security requirement in this system is to protect the location privacy of taxi users. Therefore, we assume that the system contains four key nodes.</p>
<p>As mentioned above, the Paillier algorithm is a homomorphic encryption algorithm. The positions of passenger and driver are represented by <italic>loc<sub>p</sub></italic> and <italic>loc<sub>d</sub></italic>, respectively. As shown in <xref ref-type="fig" rid="fig-3">Fig. 3</xref>, the detail steps of privacy protection for BIoV are as follows.</p>
<fig id="fig-3"><label>Figure 3</label><caption><title>The processes of anonymity authentication for BIoV</title></caption><graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_38029-fig-3.tif"/></fig>
<p><bold>Step 1. Key generation.</bold> The cryptographic service system runs the Paillier algorithm to obtain the public key and private key <inline-formula id="ieqn-53"><mml:math id="mml-ieqn-53"><mml:mo stretchy="false">(</mml:mo><mml:mi>p</mml:mi><mml:mi>k</mml:mi><mml:mi>h</mml:mi><mml:mo>,</mml:mo><mml:mi>s</mml:mi><mml:mi>k</mml:mi><mml:mi>h</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. Meanwhile, it runs the proposed lattice-based asymmetric encryption scheme to generate public-private key pairs for each passenger and driver. In general, <inline-formula id="ieqn-54"><mml:math id="mml-ieqn-54"><mml:mo stretchy="false">(</mml:mo><mml:mi>p</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>s</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and <inline-formula id="ieqn-55"><mml:math id="mml-ieqn-55"><mml:mo stretchy="false">(</mml:mo><mml:mi>p</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>d</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>s</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>d</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> are used to denote the public-private key pairs for passenger and driver respectively. <inline-formula id="ieqn-56"><mml:math id="mml-ieqn-56"><mml:mo stretchy="false">(</mml:mo><mml:mi>p</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>s</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> represents the system&#x2019;s public-private key pair.</p>
<p><bold>Step 2. Encryption.</bold> Suppose that the number of drivers is <italic>x</italic>, thus, there is a driver&#x2019;s location set <inline-formula id="ieqn-57"><mml:math id="mml-ieqn-57"><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>d</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>d</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>d</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula>. The process of encrypting passenger and driver location information is as follows.</p>
<p>(1) The passenger&#x2019;s current position and driver&#x2019;s location set <inline-formula id="ieqn-58"><mml:math id="mml-ieqn-58"><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>d</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>d</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> are encrypted by the system&#x2019;s public key and sent to the cryptographic service system.</p>
<p>(2) Service system decrypts the location information of passenger and drivers through its private key <italic>sk<sub>c</sub></italic>.</p>
<p>(3) Through Paillier algorithm, the public key <italic>pkh</italic> is used to encrypt the position information of passenger and drivers
<disp-formula id="eqn-7"><label>(7)</label><mml:math id="mml-eqn-7" display="block"><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>E</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>p</mml:mi><mml:mi>k</mml:mi><mml:mi>h</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>d</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>E</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>d</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>p</mml:mi><mml:mi>k</mml:mi><mml:mi>h</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">]</mml:mo><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p>And the generated ciphertext <italic>c<sub>p</sub></italic> and <italic>c<sub>di</sub></italic> are sent to the BIoV.</p>
<p><bold>Step 3. Homomorphic calculation.</bold> The BIoV system receives the position information ciphertext of passenger and drivers. It combines the road network embedding algorithm to calculate the homomorphism of position information in high-dimensional spatial coordinates to obtain the linear ciphertext distance <italic>d<sub>i</sub></italic> between passengers and drivers as follows.
<disp-formula id="eqn-8"><label>(8)</label><mml:math id="mml-eqn-8" display="block"><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>d</mml:mi><mml:mi>i</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>d</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">]</mml:mo><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p>Afterward, the BIoV returns these ciphertext information results to the cryptographic service system.</p>
<p><bold>Step 4. Matching request.</bold> The driver retrieves and selects the passenger&#x2019;s boarding request from the blockchain network, encrypts the passenger&#x2019;s location, and sends a message to the blockchain to accept the request for additional public key. The passenger encrypts the specific riding position using the public key of the driver receiving the trip, and sends the encrypted position to the blockchain.</p>
<p><bold>Step 5. Get private address.</bold> After the driver gets it back, decrypt the passenger&#x2019;s specific location, and then drive to pick up the passenger.</p>
<p><bold>Step 6. Blockchain transaction.</bold> When the driver arrives at the designated location after decryption, the passenger will inform the driver of the destination. The driver encrypts the destination with the passenger&#x2019;s public key and sends the ciphertext to the blockchain.</p>
<p><bold>Step 7. Complete transaction.</bold> The passenger releases a transaction information to upload to the blockchain, pays in advance and starts taking the bus. Based on the smart contract, when the conditions for arriving at the destination are met, passengers need to release the end of journey message to the blockchain. The smart contract will automatically calculate the driver&#x2019;s commission and transfer it to the driver&#x2019;s account.</p>
</sec>
</sec>
<sec id="s4"><label>4</label><title>Security Analysis</title>
<sec id="s4_1"><label>4.1</label><title>Correctness</title>
<p><bold>Theorem 1.</bold> Using the encryption algorithm to encrypt plaintext M, the decryption algorithm decrypts plaintext M with a probability close to 1.</p>
<p>In the decryption phase of the lattice scheme, <inline-formula id="ieqn-59"><mml:math id="mml-ieqn-59"><mml:mi>w</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mi>d</mml:mi><mml:mi>x</mml:mi></mml:math></inline-formula>, <inline-formula id="ieqn-60"><mml:math id="mml-ieqn-60"><mml:mi>g</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mi>w</mml:mi></mml:math></inline-formula>. So we can have
<disp-formula id="eqn-9"><label>(9)</label><mml:math id="mml-eqn-9" display="block"><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mi>g</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mi>w</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtext>&#x00A0;&#x00A0;&#x00A0;</mml:mtext><mml:mo>=</mml:mo><mml:mi>a</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>&#x230A;</mml:mo><mml:mi>q</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn><mml:mo>&#x230B;</mml:mo></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mi>d</mml:mi><mml:mi>x</mml:mi><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>In particular, the parameters <inline-formula id="ieqn-61"><mml:math id="mml-ieqn-61"><mml:mi>a</mml:mi><mml:mrow><mml:mtext>&#xA0;and&#xA0;</mml:mtext></mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mi>d</mml:mi><mml:mi>x</mml:mi></mml:math></inline-formula> are short vectors in this scheme, therefore, the result <inline-formula id="ieqn-62"><mml:math id="mml-ieqn-62"><mml:mi>a</mml:mi><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mi>d</mml:mi><mml:mi>x</mml:mi></mml:math></inline-formula> will be in <inline-formula id="ieqn-63"><mml:math id="mml-ieqn-63"><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>q</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>4</mml:mn><mml:mo>,</mml:mo><mml:mi>q</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>4</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. As the above <xref ref-type="disp-formula" rid="eqn-9">Eq. (9)</xref> holds, we can derive that <inline-formula id="ieqn-64"><mml:math id="mml-ieqn-64"><mml:mrow><mml:mo>&#x230A;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi>a</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>&#x230A;</mml:mo><mml:mi>q</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn><mml:mo>&#x230B;</mml:mo></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mi>d</mml:mi><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x230A;</mml:mo><mml:mi>q</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn><mml:mo>&#x230B;</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>&#x230B;</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. Therefore, the decryption algorithm can decrypt the ciphertext and obtain the plaintext M.</p>
</sec>
<sec id="s4_2"><label>4.2</label><title>Privacy Security</title>
<p>Our scheme mainly serves the location information of passengers and drivers through the communication between the cryptographic service system and the IoV. More specifically, thecryptographic service system encrypts the location information and then sends it to the IoV to calculate the ciphertext. Finally, the service system decrypts the ciphertext results to obtain the distance between the driver and passengers. Then it generates the transaction between the driver and passengers through the blockchain to complete the taxi service. In IoV, the location information of drivers and passengers is encrypted. Therefore, the IoV can not obtain the user&#x2019;s address information, which ensures the user&#x2019;s location privacy.</p>
<p><bold>Proof.</bold> Homomorphic encryption is a particular form of encryption which allows people to calculate the encrypted data without decrypting it. The calculation result is also presented in encryption, and the output after decryption is the same as that obtained by processing unencrypted data in the same method. Based on the homomorphism of the Paillier public key cryptosystem, the correctness of the location information calculation in the scheme is proved as follows.</p>
<p><bold>Decryption.</bold> For the ciphertext <italic>c</italic>, calculate as follows and obtain the plaintext <italic>m</italic>.
<disp-formula id="eqn-10"><label>(10)</label><mml:math id="mml-eqn-10" display="block"><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mi>L</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msup><mml:mi>c</mml:mi><mml:mrow><mml:mi>&#x03BB;</mml:mi></mml:mrow></mml:msup><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow><mml:mi>&#x03BC;</mml:mi><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mi>L</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msup><mml:mi>c</mml:mi><mml:mrow><mml:mi>&#x03BB;</mml:mi></mml:mrow></mml:msup><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>L</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msup><mml:mi>g</mml:mi><mml:mrow><mml:mi>&#x03BB;</mml:mi></mml:mrow></mml:msup><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mfrac><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>n</mml:mi><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p><bold>Additive homomorphism.</bold> For the plaintext <italic>m</italic><sub>1</sub> and <italic>m</italic><sub>2</sub>, the result of encryption is
<disp-formula id="eqn-11"><label>(11)</label><mml:math id="mml-eqn-11" display="block"><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mi>g</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup><mml:msubsup><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msubsup><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mi>g</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup><mml:msubsup><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msubsup><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p>Therefore, we can get the following equation
<disp-formula id="eqn-12"><label>(12)</label><mml:math id="mml-eqn-12" display="block"><mml:mi>c</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mi>g</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p>The ciphertext <italic>c</italic> can be decrypted as
<disp-formula id="eqn-13"><label>(13)</label><mml:math id="mml-eqn-13" display="block"><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mi>L</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msup><mml:mi>c</mml:mi><mml:mrow><mml:mi>&#x03BB;</mml:mi></mml:mrow></mml:msup><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>L</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msup><mml:mi>g</mml:mi><mml:mrow><mml:mi>&#x03BB;</mml:mi></mml:mrow></mml:msup><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mfrac><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p>In this way, even if the location information of passengers and drivers is in the ciphertext state, IoV can obtain correct results and provide them with complementary taxi services as before. The homomorphic encryption ensures the security of users&#x2019; location privacy information in the IoV.</p>
</sec>
<sec id="s4_3"><label>4.3</label><title>Attack Resistance</title>
<p>The location privacy disclosure of passengers and drivers has always been one of the essential research contents of IoV security. In this subsection, we will analyze these attack modes and verify the security of our scheme.</p>
<p><list list-type="simple">
<list-item><label>(1)</label><p>Resistance IoV location privacy disclosure.</p></list-item>
</list></p>
<p>For the privacy disclosure of the IoV, we introduce homomorphic encryption in it. Therefore, all the location information obtained by the IoV is encrypted ciphertext information. On the one hand, without knowing Paillier&#x2019;s private key, IoV can&#x2019;t know the specific location of passengers and drivers, nor can it get their driving route. It shows that our scheme can ensure the location privacy and security of users. On the other hand, the Paillier encryption algorithm satisfies additive homomorphism, ciphertext multiplication is equal to plaintext addition. Therefore, after the encrypted location information is calculated, the distance result is not only presented in the form of ciphertext, but also the decrypted result is the same as that obtained with the corresponding calculated plaintext data. Therefore, our scheme can resist location privacy disclosure in BIoV.
<list list-type="simple">
<list-item><label>(2)</label><p>Resistance to blockchain data disclosure.</p></list-item>
</list></p>
<p>Blockchain is open and transparent. Anyone can read the driving record information in the blockchain ledger. However, in our blockchain transaction information, the transaction sheet mainly includes the wallet, signature and numbers of passengers and drivers. It does not include the location information of passengers and drivers. Therefore, in our proposed scheme, the information on the blockchain will not disclose the location information of passengers and drivers.
<list list-type="simple">
<list-item><label>(3)</label><p>Resistance payment fraud.</p></list-item>
</list></p>
<p>For the payment fraud problem caused by the lack of trust of passengers and drivers, it can be optimized and improved through the blockchain technology in the proposed scheme. On the blockchain platform, there is a passenger&#x2019;s wallet account. After the driver accepts the passenger&#x2019;s ride order, the transaction order begins to be created. Before arriving at the destination, without the passenger&#x2019;s signature on the transaction, the driver can not obtain income, avoiding the situation that the driver does not complete the taxi service when he is paid. When the driver arrives at the designated destination, the smart contract of the blockchain can provide a proof for this transaction and prompt the passengers to complete this transaction. Therefore, the problem of ticket evasion can be avoided.</p>
</sec>
</sec>
<sec id="s5"><label>5</label><title>Comparison</title>
<p>Generally speaking, the size of the secret key is essential to the encryption scheme&#x2019;s performance in practical applications. Compared with other algorithms in Ref. [<xref ref-type="bibr" rid="ref-27">27</xref>], Ref. [<xref ref-type="bibr" rid="ref-28">28</xref>] and Ref. [<xref ref-type="bibr" rid="ref-29">29</xref>]. As shown in <xref ref-type="table" rid="table-1">Table 1</xref>, the sizes of the public key and private key in other schemes are larger than those in our scheme. In addition, the security of the signature algorithm in this paper depends on the lattice SIS problem. As we know, the lattice SIS problem in the average case can be reduced to the shortest independent vector problem (SIVP) in the worst case in polynomial time. It shows that our scheme is more secure and effective.</p>
<table-wrap id="table-1"><label>Table 1</label><caption><title>Performance comparison with other similar schemes</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Scheme</th>
<th align="left">Public key size</th>
<th align="left">Private key size</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">Ref. [<xref ref-type="bibr" rid="ref-27">27</xref>]</td>
<td align="left"><italic>mn</italic>log(2<italic>q</italic> &#x002B; 1)</td>
<td align="left"><italic>mn</italic>log(2<italic>q</italic> &#x002B; 1)</td>
</tr>
<tr>
<td align="left">Ref. [<xref ref-type="bibr" rid="ref-28">28</xref>]</td>
<td align="left">(<italic>mn</italic> &#x002B; <italic>dm</italic>)log<italic>q</italic></td>
<td align="left"><italic>m</italic><sup>2</sup>log<italic>q</italic></td>
</tr>
<tr>
<td align="left">Ref. [<xref ref-type="bibr" rid="ref-29">29</xref>]</td>
<td align="left"><italic>Mn</italic>log<italic>q</italic></td>
<td align="left"><italic>m</italic><sup>2</sup>log<italic>q</italic></td>
</tr>
<tr>
<td align="left">Our scheme</td>
<td align="left"><italic>Mn</italic>log<italic>q</italic></td>
<td align="left">(<italic>m</italic> &#x002B; <italic>mn</italic>)log<italic>q</italic></td>
</tr>
</tbody>
</table>
</table-wrap>
<p>According to the actual requirements in these schemes, under reasonable parameters <inline-formula id="ieqn-65"><mml:math id="mml-ieqn-65"><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>&#x2308;</mml:mo><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mi>n</mml:mi><mml:mo>&#x2309;</mml:mo></mml:mrow></mml:math></inline-formula>, <italic>q&#x2009;</italic>&#x003D;&#x2009;2<sup>10</sup>, <italic>m&#x2009;</italic>&#x003D;&#x2009;6<italic>n</italic>log<italic>q</italic>, take the range of security parameter <italic>n</italic> to increase from 10 to 160. The public key size and private size of our proposed scheme and those in Ref. [<xref ref-type="bibr" rid="ref-27">27</xref>], Ref. [<xref ref-type="bibr" rid="ref-28">28</xref>] and Ref. [<xref ref-type="bibr" rid="ref-29">29</xref>] are compared respectively. And the simulation experiment results are shown in <xref ref-type="fig" rid="fig-4">Figs. 4</xref> and <xref ref-type="fig" rid="fig-5">5</xref>, respectively. Obviously, with the security parameter <italic>n</italic>&#x2019;s increase, the public key and private key sizes in our lattice-based scheme are significantly reduced, which can improve operational efficiency in the BIoV scheme with privacy protection.</p>
<fig id="fig-4"><label>Figure 4</label><caption><title>The public key size comparison</title></caption><graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_38029-fig-4.tif"/></fig><fig id="fig-5"><label>Figure 5</label><caption><title>The private key size comparison</title></caption><graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_38029-fig-5.tif"/></fig>
</sec>
<sec id="s6"><label>6</label><title>Conclusions</title>
<p>The IoV is a network that provides efficient and safe information services by building a network topology between vehicles, pedestrians, roadside units, and other communication entities. The IoV can effectively meet the growing demand for traffic environment. However, because of its mobility and openness, the IoV is vulnerable to attacks. Among the numerous threats, the privacy disclosure of IoV users may cause irreparable losses, so the privacy protection of IoV is widely concerned by researchers. In this paper, we conduct research on the privacy protection for IoV and introduce the current relevant research results. Targeting this issue, we propose a lattice-based encryption scheme. Thus, the location information of passengers and drivers can be encrypted with anti-quantum security. Then, by introducing Paillier homomorphic encryption algorithm, the location matching of passengers and drivers is carried out in the ciphertext state to protect their location privacy. At last, blockchain is used to record the transactions in online car-hailing, which can provide a security guarantee for passengers and drivers. And we further analyze the security and performance of this scheme. Compared with other schemes, the experimental results show that the proposed scheme can protect the user&#x2019;s location privacy and have a better performance. Our study in this paper mainly aims at the data security problem of the IoV system, especially the privacy leakage problem, and proposes new solutions to provide theoretical support for the construction of future IoV data privacy protection. Researchers can further study this promising technology in IoV security. In future research, we will also further explore the performance optimization for the IoV privacy protection scheme.</p>
</sec>
</body>
<back>
<ack>
<p>The authors are grateful to the financial supports from the National Key R&#x0026;D Program of China, Major Scientific and Technological Special Project of Guizhou Province, the Foundation of Guizhou Provincial Key Laboratory of Public Big Data, and the Fundamental Research Funds for the Central Universities.</p>
</ack>
<sec><title>Funding Statement</title>
<p>This work is supported by National Key R&#x0026;D Program of China (Grant No. 2020YFB1805403), Major Scientific and Technological Special Project of Guizhou Province (Grant No. 20183001), Foundation of Guizhou Provincial Key Laboratory of Public Big Data (Grant Nos. 2018BDKFJJ021, 2018BDKFJJ020, 2017BDKFJJ015, 2018BDKFJJ008), the Fundamental Research Funds for the Central Universities (CUC210A003).</p></sec>
<sec sec-type="COI-statement"><title>Conflicts of Interest</title>
<p>The authors declare that they have no conflicts of interest to report regarding the present study.</p></sec>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>[1]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Contreras</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Zeadally</surname></string-name> and <string-name><given-names>J. A.</given-names> <surname>Guerrero-Ibanez</surname></string-name></person-group>, &#x201C;<article-title>Internet of vehicles: Architecture, protocols, and security</article-title>,&#x201D; <source>IEEE Internet of Things Journal</source>, vol. <volume>5</volume>, no. <issue>5</issue>, pp. <fpage>3701</fpage>&#x2013;<lpage>3709</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>F.</given-names> <surname>Yang</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Liu</surname></string-name> and <string-name><given-names>Q.</given-names> <surname>Sun</surname></string-name></person-group>, &#x201C;<article-title>An overview of internet of vehicles</article-title>,&#x201D; <source>China Communications</source>, vol. <volume>11</volume>, no. <issue>10</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>15</lpage>, <year>2014</year>.</mixed-citation></ref>
<ref id="ref-3"><label>[3]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Gerla</surname></string-name>, <string-name><given-names>E. K.</given-names> <surname>Lee</surname></string-name>, <string-name><given-names>G.</given-names> <surname>Pau</surname></string-name> and <string-name><given-names>U.</given-names> <surname>Lee</surname></string-name></person-group>, &#x201C;<article-title>Internet of vehicles: From intelligent grid to autonomous cars and vehicular clouds</article-title>,&#x201D; in <conf-name>Proc. of the 2014 IEEE World Forum on Internet of Things (WF-IoT)</conf-name>, <conf-loc>Seoul, Korea</conf-loc>, pp. <fpage>241</fpage>&#x2013;<lpage>246</lpage>, <year>2014</year>.</mixed-citation></ref>
<ref id="ref-4"><label>[4]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Cheng</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Cheng</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Zhou</surname></string-name>, <string-name><given-names>F.</given-names> <surname>Liu</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Gao</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Routing in internet of vehicles: A review</article-title>,&#x201D; <source>IEEE Transactions on Intelligent Transportation Systems</source>, vol. <volume>16</volume>, no. <issue>5</issue>, pp. <fpage>2339</fpage>&#x2013;<lpage>2352</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-5"><label>[5]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Sun</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Wu</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Wu</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>T.</given-names> <surname>Zhang</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Security and privacy in the internet of vehicles</article-title>,&#x201D; in <conf-name>Proc. of the 2015 Int. Conf. on Identification, Information, and Knowledge in the Internet of Things (IIKI)</conf-name>, <conf-loc>Beijing, China</conf-loc>, pp. <fpage>116</fpage>&#x2013;<lpage>121</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-6"><label>[6]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Q.</given-names> <surname>Kong</surname></string-name>, <string-name><given-names>R.</given-names> <surname>Lu</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Ma</surname></string-name> and <string-name><given-names>H.</given-names> <surname>Bao</surname></string-name></person-group>, &#x201C;<article-title>A privacy-preserving sensory data sharing scheme in internet of vehicles</article-title>,&#x201D; <source>Future Generation Computer Systems</source>, vol. <volume>92</volume>, pp. <fpage>644</fpage>&#x2013;<lpage>655</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-7"><label>[7]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>T.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Cao</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Qi</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Privacy-enhanced data collection based on deep learning for internet of vehicles</article-title>,&#x201D; <source>IEEE Transactions on Industrial Informatics</source>, vol. <volume>16</volume>, no. <issue>10</issue>, pp. <fpage>6663</fpage>&#x2013;<lpage>6672</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-8"><label>[8]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Nakamoto</surname></string-name></person-group>, &#x201C;<article-title>Bitcoin: A peer-to-peer electronic cash system</article-title>,&#x201D; <source>Decentralized Business Review</source>, <year>2008</year>. [Online]. Available: <ext-link ext-link-type="uri" xlink:href="https://bitcoin.org/bitcoin.pdf">https://bitcoin.org/bitcoin.pdf</ext-link></mixed-citation></ref>
<ref id="ref-9"><label>[9]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Hamilton</surname></string-name></person-group>, &#x201C;<article-title>Blockchain distributed ledger technology: An introduction and focus on smart contracts</article-title>,&#x201D; <source>Journal of Corporate Accounting and Finance</source>, vol. <volume>31</volume>, no. <issue>2</issue>, pp. <fpage>7</fpage>&#x2013;<lpage>12</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-10"><label>[10]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>G.</given-names> <surname>Zyskind</surname></string-name> and <string-name><given-names>O.</given-names> <surname>Nathan</surname></string-name></person-group>, &#x201C;<article-title>Decentralizing privacy: Using blockchain to protect personal data</article-title>,&#x201D; in <conf-name>Proc. of the 2015 IEEE Security and Privacy Workshops</conf-name>, <conf-loc>San Jose, CA</conf-loc>, pp. <fpage>180</fpage>&#x2013;<lpage>184</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-11"><label>[11]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>T. A.</given-names> <surname>Butt</surname></string-name>, <string-name><given-names>R.</given-names> <surname>Iqbal</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Salah</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Aloqaily</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>Jararweh</surname></string-name></person-group>, &#x201C;<article-title>Privacy management in social internet of vehicles: Review, challenges and blockchain based solutions</article-title>,&#x201D; <source>IEEE Access</source>, vol. <volume>7</volume>, pp. <fpage>79694</fpage>&#x2013;<lpage>79713</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-12"><label>[12]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Arora</surname></string-name> and <string-name><given-names>S. K.</given-names> <surname>Yadav</surname></string-name></person-group>, &#x201C;<article-title>Block chain based security mechanism for internet of vehicles (iov)</article-title>,&#x201D; in <conf-name>Proc. of the 3rd Int. Conf. on Internet of Things and Connected Technologies (ICIoTCT)</conf-name>, <conf-loc>Jaipur, India</conf-loc>, pp. <fpage>26</fpage>&#x2013;<lpage>27</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>F.</given-names> <surname>Knirsch</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Unterweger</surname></string-name> and <string-name><given-names>D.</given-names> <surname>Engel</surname></string-name></person-group>, &#x201C;<article-title>Privacy-preserving blockchain-based electric vehicle charging with dynamic tariff decisions</article-title>,&#x201D; <source>Computer Science-Research and Development</source>, vol. <volume>33</volume>, no. <issue>1</issue>, pp. <fpage>71</fpage>&#x2013;<lpage>79</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-14"><label>[14]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>C.</given-names> <surname>Xu</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>G.</given-names> <surname>Xu</surname></string-name>, <string-name><given-names>P.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Guo</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Making big data open in collaborative edges: A blockchain-based framework with reduced resource requirements</article-title>,&#x201D; in <conf-name>Proc. of the 2018 IEEE Int. Conf. on Communications (ICC)</conf-name>, <conf-loc>Kansas City, MO, USA</conf-loc>, pp. <fpage>1</fpage>&#x2013;<lpage>6</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-15"><label>[15]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Lu</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Huang</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Dai</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Maharjan</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>Zhang</surname></string-name></person-group>, &#x201C;<article-title>Blockchain and federated learning for privacy-preserved data sharing in industrial IoT</article-title>,&#x201D; <source>IEEE Transactions on Industrial Informatics</source>, vol. <volume>16</volume>, no. <issue>6</issue>, pp. <fpage>4177</fpage>&#x2013;<lpage>4186</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-16"><label>[16]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Qi</surname></string-name>, <string-name><given-names>H. S.</given-names> <surname>Hossain</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Nie</surname></string-name> and <string-name><given-names>X.</given-names> <surname>Li</surname></string-name></person-group>, &#x201C;<article-title>Privacy-preserving blockchain-based federated learning for traffic flow prediction</article-title>,&#x201D; <source>Future Generation Computer Systems</source>, vol. <volume>117</volume>, pp. <fpage>328</fpage>&#x2013;<lpage>337</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-17"><label>[17]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>L.</given-names> <surname>Hu</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Qian</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Chen</surname></string-name>, <string-name><given-names>M. S.</given-names> <surname>Hossain</surname></string-name> and <string-name><given-names>G.</given-names> <surname>Muhammad</surname></string-name></person-group>, &#x201C;<article-title>Proactive cache-based location privacy preserving for vehicle networks</article-title>,&#x201D; <source>IEEE Wireless Communications</source>, vol. <volume>25</volume>, no. <issue>6</issue>, pp. <fpage>77</fpage>&#x2013;<lpage>83</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-18"><label>[18]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>X.</given-names> <surname>Yi</surname></string-name>, <string-name><given-names>R.</given-names> <surname>Paulet</surname></string-name>, <string-name><given-names>E.</given-names> <surname>Bertino</surname></string-name> and <string-name><given-names>V.</given-names> <surname>Varadharajan</surname></string-name></person-group>, &#x201C;<article-title>Practical k nearest neighbor queries with location privacy</article-title>,&#x201D; in <conf-name>Proc. of the 2014 IEEE 30th Int. Conf. on Data Engineering</conf-name>, <conf-loc>Chicago, IL, USA</conf-loc>, pp. <fpage>640</fpage>&#x2013;<lpage>651</lpage>, <year>2014</year>.</mixed-citation></ref>
<ref id="ref-19"><label>[19]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>R.</given-names> <surname>Paulet</surname></string-name>, <string-name><given-names>M. G.</given-names> <surname>Kaosar</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Yi</surname></string-name> and <string-name><given-names>E.</given-names> <surname>Bertino</surname></string-name></person-group>, &#x201C;<article-title>Privacy-preserving and content-protecting location based queries</article-title>,&#x201D; <source>IEEE Transactions on Knowledge and Data Engineering</source>, vol. <volume>26</volume>, no. <issue>5</issue>, pp. <fpage>1200</fpage>&#x2013;<lpage>1210</lpage>, <year>2014</year>.</mixed-citation></ref>
<ref id="ref-20"><label>[20]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>H.</given-names> <surname>Yi</surname></string-name></person-group>, &#x201C;<article-title>Secure social internet of things based on post-quantum blockchain</article-title>,&#x201D; <source>IEEE Transactions on Network Science and Engineering</source>, <year>2021</year>. <pub-id pub-id-type="doi">10.1109/TNSE.2021.3095192</pub-id></mixed-citation></ref>
<ref id="ref-21"><label>[21]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A. R.</given-names> <surname>Beresford</surname></string-name> and <string-name><given-names>F.</given-names> <surname>Stajano</surname></string-name></person-group>, &#x201C;<article-title>Location privacy in pervasive computing</article-title>,&#x201D; <source>IEEE Pervasive Computing</source>, vol. <volume>2</volume>, no. <issue>1</issue>, pp. <fpage>46</fpage>&#x2013;<lpage>55</lpage>, <year>2003</year>.</mixed-citation></ref>
<ref id="ref-22"><label>[22]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>G.</given-names> <surname>Yang</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>Cai</surname></string-name></person-group>, &#x201C;<article-title>Full location privacy protection through restricted space cloaking</article-title>,&#x201D; <source>Journal of Information Processing</source>, vol. <volume>25</volume>, pp. <fpage>756</fpage>&#x2013;<lpage>765</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-23"><label>[23]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Amini</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Lindqvist</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Hong</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Lin</surname></string-name>, <string-name><given-names>E.</given-names> <surname>Toch</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Cach&#x00E9;: Caching location-enhanced content to improve user privacy</article-title>,&#x201D; in <conf-name>Proc. of the 9th Int. Conf. on Mobile Systems, Applications, and Services</conf-name>, <conf-loc>New York, USA</conf-loc>, pp. <fpage>197</fpage>&#x2013;<lpage>210</lpage>, <year>2011</year>.</mixed-citation></ref>
<ref id="ref-24"><label>[24]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>R.</given-names> <surname>Shokri</surname></string-name>, <string-name><given-names>G.</given-names> <surname>Theodorakopoulos</surname></string-name>, <string-name><given-names>P.</given-names> <surname>Papadimitratos</surname></string-name>, <string-name><given-names>E.</given-names> <surname>Kazemi</surname></string-name> and <string-name><given-names>J. P.</given-names> <surname>Hubaux</surname></string-name></person-group>, &#x201C;<article-title>Hiding in the mobile crowd: Location privacy through collaboration</article-title>,&#x201D; <source>IEEE Transactions on Dependable and Secure Computing</source>, vol. <volume>11</volume>, no. <issue>3</issue>, pp. <fpage>266</fpage>&#x2013;<lpage>279</lpage>, <year>2013</year>.</mixed-citation></ref>
<ref id="ref-25"><label>[25]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Khodaei</surname></string-name> and <string-name><given-names>P.</given-names> <surname>Papadimitratos</surname></string-name></person-group>, &#x201C;<article-title>Poster: Mix-zones everywhere: A dynamic cooperative location privacy protection scheme</article-title>,&#x201D; in <conf-name>Proc. of the 2018 IEEE Vehicular Networking Conf. (VNC)</conf-name>, <conf-loc>Taipei, Taiwan</conf-loc>, pp. <fpage>1</fpage>&#x2013;<lpage>2</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-26"><label>[26]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Zhu</surname></string-name> and <string-name><given-names>X.</given-names> <surname>Lin</surname></string-name></person-group>, &#x201C;<article-title>Efficient and privacy-preserving carpooling using blockchain-assisted vehicular fog computing</article-title>,&#x201D; <source>IEEE Internet of Things Journal</source>, vol. <volume>6</volume>, no. <issue>3</issue>, pp. <fpage>4573</fpage>&#x2013;<lpage>4584</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-27"><label>[27]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Ruckert</surname></string-name></person-group>, &#x201C;<article-title>Lattice-based blind signatures</article-title>,&#x201D; in <conf-name>Proc. of the Int. Conf. on the Theory and Application of Cryptology and Information Security</conf-name>, <conf-loc>Berlin, Heidelberg</conf-loc>, pp. <fpage>413</fpage>&#x2013;<lpage>430</lpage>, <year>2010</year>.</mixed-citation></ref>
<ref id="ref-28"><label>[28]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>L.</given-names> <surname>Zhang</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>Ma</surname></string-name></person-group>, &#x201C;<article-title>A lattice-based identity-based proxy blind signature scheme in the standard model</article-title>,&#x201D; <source>Mathematical Problems in Engineering</source>, vol. <volume>2014</volume>, pp. <fpage>1</fpage>&#x2013;<lpage>6</lpage>, <year>2014</year>.</mixed-citation></ref>
<ref id="ref-29"><label>[29]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>C.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Chen</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Chen</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Hou</surname></string-name> and <string-name><given-names>J.</given-names> <surname>Li</surname></string-name></person-group>, &#x201C;<article-title>A new lattice-based signature scheme in post-quantum blockchain network</article-title>,&#x201D; <source>IEEE Access</source>, vol. <volume>7</volume>, pp. <fpage>2026</fpage>&#x2013;<lpage>2033</lpage>, <year>2019</year>.</mixed-citation></ref>
</ref-list>
</back>
</article>