# Cloud Storage Model Based on the BGV Fully Homomorphic Encryption in the Blockchain Environment

Authors: Jie Huang; Dehua Wu
Journal: Security and Communication Networks
 (2022)

---

## Abstract

Blockchain is a distributed time-series database. Based on the blockchain platform, this paper designs the framework model of cloud storage and designs the cloud storage model based on homomorphic encryption based on the operation process of the model. According to the applicability of underlying blockchain storage, the HElib library is established as the algorithm for data privacy protection. The BGV homomorphic encryption algorithm is used as the bottom layer of the algorithm, and the efficiency of the BGV homomorphic encryption algorithm is compared with that of the Gentry’s bootstrap-based homomorphic encryption algorithm. It is proved that the BGV algorithm is more suitable for big data.


---

## Body

## 1. Introduction

At present, the blockchain cloud storage system is mainly used to store all the data on the chain, so each user on the chain should have the right to retrieve the data. The on-chain user, namely, the data owner, stores the data on the cloud server (CS). How can the nodes in blockchain quickly retrieve the corresponding data in the face of massive ciphertext is an urgent problem to be solved at present. Encrypting storage in cloud storage is a feasible solution. This paper designs a blockchain environment based on the BGV (2011 Brakerski, Gentry, Vaikuntanathan, a fully homomorphic encryption scheme, referred to as the BGV scheme [1]) fully homomorphic encryption cloud storage model, so that the cloud server can directly process the ciphertext. When users need corresponding data, they only send a request. The cloud server returns the processed data, and users get the processed plaintext data after decryption. Compared with other models, the cloud storage model proposed in this paper has high efficiency and simple operation and can ensure data privacy.


## 2. Methodology

### 2.1. Homomorphic Algorithm

Since this paper mainly uses blockchain as the basic platform, from the perspective of practicality, data retrieval, and checking whether data are linked, is the main demand in practical applications. Therefore, it is the main demand of the cloud storage system to select a homomorphic algorithm with high efficiency and suitable for retrieval. The following two important homomorphic algorithms will be analyzed [2].From the perspective of applicability analysis of the basic status of homomorphism encryption, first of all, addition homomorphism and multiplication homomorphism are a part of the homomorphism encryption algorithm; this concept comes from recent algebra, Set <G, ∗> and <H, ∗> are two unrelated algebraic systems, f:G⟶H is a mapping, if ∀a,b∈G will make fa∗b=fa∗fb, then F is called a homomorphic mapping from G to H [3]. The above formula is the multiplication homomorphic algorithm, and because the formula only meets the multiplication operation, not the addition operation, so it is a partial homomorphic encryption operation. If both addition and multiplication can be satisfied, all the operations of addition and multiplication can be satisfied, which is called full homomorphic operation.At present, there are many fully homomorphic encryption (FHE) algorithms. Gentry for the first time proposed a homomorphic encryption algorithm that can carry out both multiplication and addition operations, but its implementation in practical applications is low [4]. A BGV scheme designed a new homomorphic encryption construction technology, and the two schemes are described in detail as follows.


#### 2.1.1. Gentry’s FHE Scheme

Gentry’s solutions are all “bootstrapping FHE solutions”. Bootstrapping technology is the core of this technology, and the main idea is to reduce the noise in the ciphertext by processing its own decryption function, so that noise content is reduced to the range that can be correctly decrypted [5]. The specific implementation is the Recrypts operation in the Gentry’s FHE scheme. The Recrypts operation performs noise reduction during the homomorphic decryption of the ciphertext. We set the message as m and the public key as pk1, then(1)c1=Encryptpk1,ms.The encrypted ciphertext isc1. Assuming that the other public key is pk2 and the decryption key after pk2 is encrypted as sk1, set(2)sk1¯=Encryptspk2,sk1.Recrypts operation: (3)Recyptspk2,Dε,sk1¯,c1¯.For each bit ofc1, c1j is (4)c1j¯=Encryptspk2,c1j.It is written as(5)c1¯=<c11¯,c12¯,…,c1i¯,…>.Output:(6)c←Encryptspk2,Dε,sk1¯,c1¯.In fact, the whole process can be regarded as the second encryption of messagem. The public key pk1 is used for the first encryption, and the public key pk2 is used for the second encryption. The function Recrypts is used to decrypt the encrypted data, and the result of the second encryption is retained, that is, the Recrypts function can retain the results of the outer layer and decrypt the inner layer in the case of two layers of encryption.


#### 2.1.2. BGV Scheme

BGV designs a new homomorphic encryption construction technology to ensure security and improve efficiency. The development process introduces dimension modulus specification, which enables ciphertext refresh to effectively control ciphertext dimension and noise growth, and constructs a hierarchical homomorphic encryption algorithm. Different from the Gentry’s homomorphic scheme, it does not require a bootstrap process [6].Based on the encryption scheme based on GLWE (general learning with error), the scheme is extended to construct a fully homomorphic scheme with a hierarchical structure. The scheme is evaluated by using the parameter, namely, the depthL of the arithmetic circuit. The process of the BGV solution is as follows:Step 1: input safety parametersλ, circuit depth L, and bit value b to represent the process as(7)Setuplλ,lL,b,whereb∈0,1 is mainly used to judge whether the encryption scheme is based on the LWE scheme or the R-LWE scheme.Second, we calculate the parameters as(8)paramsj←Setuplλ,lj+1⋅μ,b.j∈L,0 decreases step by step, and(9)μ=μλ,L,b=θlogλ+logL.Step 2: the key generation process is expressed as(10)KeyGenparamsj.To loopj from L to 0, we perform the following steps:(1)
We run the formula(11)sj←SecretKeyGenparamsj,Aj←PublicKeyGenparamsj,sj.(2)
We run the formula(12)sj′←sj⊗sj∈Rqjnj+12.sj′ is the tensor product of sj with itself.(3)
set(13)sj″←BitDecompsj′,qj.(4)
We run the formulaWhenj = L, we do not perform this operation.According to the calculation result in Step 2, the private keysk is sj, and the public key pk is Aj and τsj−1⟶sjn.Step 3: the encryption process is represented as(15)Encparams,pk,n.We make informationm in R2, and we run Enc(AL, m).Step 4: the decryption process is(16)Decparams,sk,c.Assuming that the ciphertextc is encrypted under the public key generated by the private key sj, we run Dec(sj, c).Step 5: the process of performing homomorphic addition and multiplication is as follows:(1)
The homomorphic addition process is as follows: add (pk, c1, c2), so that the ciphertext c1, c2 are encrypted under the public key pk generated by the same private key sj. Setting c3←c1+c2modq, c3 is the ciphertext under sj′; the output ciphertext refresh result is c4←Refreshc3,τsj⟶sj−1n,qj,qj−1;(2)
The homomorphic multiplication process is as follows: first, the ciphertext is multiplied by Mult(pk, c1, c2) to obtain the new ciphertext, which is mainly generated by encrypting the public key pk generated by sj under the private key. The new ciphertext obtained by multiplication is the coefficient vector c3 of linear equation Lc1⋅c2longx2 under the private key sj′←sj⊗sj, output: c4←Refreshc3,τsj⟶sj−1n,qj,qj−1.Step 6: the ciphertext refresh process is represented asRefreshc3,τsj⟶sj−1n,qj,qj−1. The input is the ciphertext c encrypted under the key sj′, the auxiliary information τsj⟶sj−1n used for the key exchange, the current module qj, and the next module qj − 1, which are divided into the following three steps.(1)
Extension: setc1←Powersof2c,qj;(2)
Analog to digital:c2←Scalec1,qj,qj−1,2;(3)
Key exchange: output ciphertextc3←SwitchKeyτsj⟶sj−1n,c2,qj−1, c3 is the ciphertext encrypted by the private key sj−1 with the module qj−1.BGV is more efficient than homomorphic encryption, so it is more likely to be used in real scenarios.The cloud storage system designed in this paper mainly determines the private key algorithm according to the application scenarios of the system. The current scheme uses the fully homomorphic encryption (FHE) algorithm library HElib to construct an FHE arithmetic model based on the BGV homomorphic algorithm. FHE arithmetic operations on arbitrary length integers and floating point numbers are implemented. In addition, some optimization methods, such as ciphertext packaging technology, are applied in the library.


#### 2.1.3. Full Homomorphic Encryption Algorithm Library HElib

HElib is an effective homomorphic encryption software library that implements homomorphic algorithms based on BGV schemes. BGV is a completely homomorphic encryption scheme based on learning with errors (LWE) and independent of ideal lattices. The detailed process is described in Section2.1.2. The main idea of the scheme is to shorten the ciphertext by using a mode dimension reduction technology, which greatly reduces the complexity of decryption and achieves the high efficiency of decryption when the ciphertext order increases [7]. In addition, directly applying the homomorphism algorithm to low-order operation is inefficient and waste. Therefore, the efficiency of homomorphism is greatly improved by packaging multisegment ciphertext into a batch for packaging [8].In addition to basic functions and algorithm optimization, the library also has some other useful functions, such as simple encryption functions [9]. The growth of noise in ciphertext is a big problem hindering its efficiency. Homomorphic addition causes the accumulation of noise. Homomorphic multiplication is the product of ciphertext noise on both sides, and its growth rate is much faster than addition. Therefore, in the HElib library, ciphertext refresh is mainly carried out after each homomorphic multiplication operation to achieve noise reduction. Theoretically, the noise growth rate of homomorphic multiplication is higher than that of homomorphic addition because the noise growth rate of homomorphic encryption addition is the sum of two ciphertext noises and the noise growth rate of homomorphic multiplication operation is the product of ciphertext noises. Therefore, after homomorphic multiplication, ciphertext refresh is required to reduce noise. Although the noise growth of homomorphic addition is relatively small, the increasing number of operations also requires ciphertext refresh to reduce noise. Since the bottom layer of the algorithm library is the operation in the logic circuit, and ciphertext refresh in the HElib library will consume a layer of modulus, let Ls be the total number of analog-to-digital conversion, the modulus in the modulus chain Lc, and the multiplication depth L. The main relationship of these three parameters is(17)Lc=Ls+1,(18)Ls≈2L2.From formulas (18) and (19), it can be concluded that(19)Ls≈2L2+1.In the HElib library, the larger the modulus value of the module chain is, the lower the efficiency of ciphertext homomorphism calculation. Therefore, the multiplication depthL should be reduced as much as possible in practical application. The cloud storage system described in this chapter is mainly applied to data retrieval. The complexity of the cloud storage system is equivalent to addition and meets system requirements.


### 2.2. Cloud Storage Model Based on the BGV Fully Homomorphic Encryption in the Blockchain Environment

Using the existing technology of cloud storage, combined with the actual characteristics of cloud on blockchain data, this chapter adopts the method of cloud (untrusted participants) storing the data uploaded by users. When uploading data, users perform homomorphic encryption to avoid risks during data transmission. The key is only owned by users, preventing data leakage during transmission. The interaction between users and the cloud storage systems consists of four processes: key distribution, data storage, data retrieval, and data retrieval.


#### 2.2.1. Key Distribution

On the blockchain platform, users participate in the consensus process, and then the corresponding host node stores the transaction data on the chain. The transaction on each block will be sequentially stored in memory, and then it will be persistent, that is, these data will be written to the disk. Generally, level DB is used as a database with LSM tree as its storage structure. Since each user needs all the data on the storage chain, the pressure on a single node will gradually increase in practical applications, and the demand for the node host performance will also increase. Therefore, users will initiate the demand for data on the cloud. First, authentication is required between users and cloud servers [10]. Figure 1 shows the process of key distribution to facilitate subsequent data request by users. As can be seen from Figure 1, the cloud authentication center generates the public and private keys of the user and the server. The user has his own private key and the public key of the server, and the cloud server also has its own private key and the public key of the user.Figure 1
Key distribution process.The cloud authentication center generates the public and private keys of users and cloud servers. When users initiate cloud storage, they need to apply for the key from the cloud authentication center and store the public key of corresponding users on the cloud server for later ciphertext processing.


#### 2.2.2. Data Storage

In this section, a relatively efficient homomorphic encryption algorithm is adopted to construct a cloud storage system. The system is mainly applied to blockchain, which encapsulates many encrypted transactions. Users mainly inquire whether the transaction exists, as shown in Figure2. As shown in Figure 2, the main idea of uploading cloud data is to upload the block id, transaction hash, sender and receiver of the transaction, and transaction status on the cloud. Users can query the actual situation of the transaction and whether the transaction is on the chain.Figure 2
Blockchain uploads cloud data.Figure3 shows the framework of CSS based on the storage units mentioned above. As can be seen from Figure 3, the blockchain platform is the actual use scenario of users. The client is the end of initiating requests for users, while the cloud service is the end of receiving requests from users. Other participants, such as blockchain managers, can also interact with the cloud server to initiate requests.Figure 3
Cloud storage framework based on blockchain.As shown in Figure3, the steps of initiating storage on the cloud for user data are as follows:Step 1: users initiate storage requests based on their own requirements.Step 2: after receiving the request, the client uses the homomorphic encryption algorithm to encrypt data.Step 3: ciphertext on the cloud. The data generated by the client based on the encryption algorithm is transmitted to the cloud server. Because the data is encrypted, no additional protection is required during data transmission.Step 4: after the data is uploaded to the cloud data storage center, the data is stored in the rented storage space, and the public keys of the users are also stored in the public key libraries of the users. During data processing, users initiate data processing requests through server applications, such as compression and retrieval [11].Step 5: the cloud storage server transmits the homomorphic encrypted ciphertext to the data processing module.Step 6: the data processing module processes the data.Step 7: the data processing module collects the processed data and returns the processed and sorted data to the server application.Step 8: the user module loads the processed data.Step 9: the homomorphic encryption module gets the processed data to decrypt the data to get plaintext.Step 10: the decrypted plaintext to the user is returned.The above steps are details of data storage on the cloud. The homomorphic encryption algorithm adopted in this chapter is the FHE algorithm library HElib, which is based on the calculation model of the BGV homomorphic algorithm.


#### 2.2.3. Data Retrieval

Inverted index is a mapping structure often used in full-text retrieval [12]. In the cloud storage system designed in this chapter, users generally search for the existence of corresponding data and its corresponding attributes by entering keywords. However, as the amount of data increases, the complexity of data matching will increase. In addition, as the data of the designed system is uploaded through encryption, it is of great importance to improve the efficiency of retrieval and query, help users quickly locate target information, and reduce the difficulty of information acquisition.Figure4 is a schematic diagram of an inverted index query. As shown in Figure 4, the request module is used to receive the query’s request and keywords and return the request results. In the inverted index structure, each word is followed by a corresponding linked list, in which the document number containing the word is stored. According to this structure, the document in which each word is located can be quickly queried. Applied to the blockchain platform, the data request is the hash of the transaction or the block, and the document in Figure 4 records the status of the transaction as well as sender and receiver information.Figure 4
Data query flow of the inverted index.The inverted index model is combined with the cloud storage model designed in this chapter to obtain the data retrieval model. The detailed steps of the data retrieval process based on inverted indexes are shown in Figure5. According to Figure 5, the detailed steps of the data retrieval scheme based on inverted indexes are as follows:Step 1: the user initiates a keyword retrieval request and uses the server public key to encrypt it.Step 2: the cloud server receives the encrypted keywords, decrypts them, and queries the index database for the existence of inverted indexes. If yes, go to Step 3. If no, go to Step 4.Step 3: ee return the results according to the retrieval process.Step 4: we establish the data inversion index according to keywords.Step 5: the server verifies the validity of the retrieval results.Step 6: we search keyword results that is returned.Step 7: the retrieval results are encrypted with the user’s public key and transmitted to the user.Step 8: the user decrypts data.Figure 5
Data retrieval process based on the reverse sorting index.The data retrieval process based on the inverted index can effectively improve the efficiency of data retrieval by establishing the index. Since the BGV homomorphism algorithm supports data retrieval, the data retrieval process described in this section is efficient and suitable for blockchain application scenarios.


#### 2.2.4. Data Update

The cloud storage system designed in this paper is mainly based on the homomorphic encryption algorithm and stores the increasing data on the blockchain platform [13], so the cloud storage solution also needs to design appropriate data update strategy. The data update of the original symmetric and asymmetric encryption system always decrypts the original data, and then further updates the decrypted plaintext, which consumes a lot of resources and time in terms of implementation. In the cloud storage model based on homomorphic encryption, users generate data documents, encrypt them, upload them, and send an update operation request. After obtaining the request, the cloud server updates the ciphertext according to the operation request to obtain the updated ciphertext. The specific process is shown in Figure 6.Figure 6
Data update process.As can be seen from Figure6, the specific steps of the data update process are as follows: Step 1: the user sends an update request to the server.Step 2: we encrypt the unupdated data to generate a data document.Step 3: after the encrypted document is generated, we upload the data to the cloud and send the data update request.Step 4: the cloud sends an update processing request to the data processing module.Step 5: the data processing module updates the data according to the operation and returns the updated data to the cloud server.Step 6: the cloud server returns the updated data to the user as required.Due to the time sequence and a large amount of blockchain data, continuous superimposed data will reduce efficiency in the actual user retrieval and the upload process. Therefore, the data update strategy effectively fits the user’s usage scenarios and updates stored data according to user requirements, saving cloud server resources and avoiding waste.


## 2.1. Homomorphic Algorithm

Since this paper mainly uses blockchain as the basic platform, from the perspective of practicality, data retrieval, and checking whether data are linked, is the main demand in practical applications. Therefore, it is the main demand of the cloud storage system to select a homomorphic algorithm with high efficiency and suitable for retrieval. The following two important homomorphic algorithms will be analyzed [2].From the perspective of applicability analysis of the basic status of homomorphism encryption, first of all, addition homomorphism and multiplication homomorphism are a part of the homomorphism encryption algorithm; this concept comes from recent algebra, Set <G, ∗> and <H, ∗> are two unrelated algebraic systems, f:G⟶H is a mapping, if ∀a,b∈G will make fa∗b=fa∗fb, then F is called a homomorphic mapping from G to H [3]. The above formula is the multiplication homomorphic algorithm, and because the formula only meets the multiplication operation, not the addition operation, so it is a partial homomorphic encryption operation. If both addition and multiplication can be satisfied, all the operations of addition and multiplication can be satisfied, which is called full homomorphic operation.At present, there are many fully homomorphic encryption (FHE) algorithms. Gentry for the first time proposed a homomorphic encryption algorithm that can carry out both multiplication and addition operations, but its implementation in practical applications is low [4]. A BGV scheme designed a new homomorphic encryption construction technology, and the two schemes are described in detail as follows.


### 2.1.1. Gentry’s FHE Scheme

Gentry’s solutions are all “bootstrapping FHE solutions”. Bootstrapping technology is the core of this technology, and the main idea is to reduce the noise in the ciphertext by processing its own decryption function, so that noise content is reduced to the range that can be correctly decrypted [5]. The specific implementation is the Recrypts operation in the Gentry’s FHE scheme. The Recrypts operation performs noise reduction during the homomorphic decryption of the ciphertext. We set the message as m and the public key as pk1, then(1)c1=Encryptpk1,ms.The encrypted ciphertext isc1. Assuming that the other public key is pk2 and the decryption key after pk2 is encrypted as sk1, set(2)sk1¯=Encryptspk2,sk1.Recrypts operation: (3)Recyptspk2,Dε,sk1¯,c1¯.For each bit ofc1, c1j is (4)c1j¯=Encryptspk2,c1j.It is written as(5)c1¯=<c11¯,c12¯,…,c1i¯,…>.Output:(6)c←Encryptspk2,Dε,sk1¯,c1¯.In fact, the whole process can be regarded as the second encryption of messagem. The public key pk1 is used for the first encryption, and the public key pk2 is used for the second encryption. The function Recrypts is used to decrypt the encrypted data, and the result of the second encryption is retained, that is, the Recrypts function can retain the results of the outer layer and decrypt the inner layer in the case of two layers of encryption.


### 2.1.2. BGV Scheme

BGV designs a new homomorphic encryption construction technology to ensure security and improve efficiency. The development process introduces dimension modulus specification, which enables ciphertext refresh to effectively control ciphertext dimension and noise growth, and constructs a hierarchical homomorphic encryption algorithm. Different from the Gentry’s homomorphic scheme, it does not require a bootstrap process [6].Based on the encryption scheme based on GLWE (general learning with error), the scheme is extended to construct a fully homomorphic scheme with a hierarchical structure. The scheme is evaluated by using the parameter, namely, the depthL of the arithmetic circuit. The process of the BGV solution is as follows:Step 1: input safety parametersλ, circuit depth L, and bit value b to represent the process as(7)Setuplλ,lL,b,whereb∈0,1 is mainly used to judge whether the encryption scheme is based on the LWE scheme or the R-LWE scheme.Second, we calculate the parameters as(8)paramsj←Setuplλ,lj+1⋅μ,b.j∈L,0 decreases step by step, and(9)μ=μλ,L,b=θlogλ+logL.Step 2: the key generation process is expressed as(10)KeyGenparamsj.To loopj from L to 0, we perform the following steps:(1)
We run the formula(11)sj←SecretKeyGenparamsj,Aj←PublicKeyGenparamsj,sj.(2)
We run the formula(12)sj′←sj⊗sj∈Rqjnj+12.sj′ is the tensor product of sj with itself.(3)
set(13)sj″←BitDecompsj′,qj.(4)
We run the formulaWhenj = L, we do not perform this operation.According to the calculation result in Step 2, the private keysk is sj, and the public key pk is Aj and τsj−1⟶sjn.Step 3: the encryption process is represented as(15)Encparams,pk,n.We make informationm in R2, and we run Enc(AL, m).Step 4: the decryption process is(16)Decparams,sk,c.Assuming that the ciphertextc is encrypted under the public key generated by the private key sj, we run Dec(sj, c).Step 5: the process of performing homomorphic addition and multiplication is as follows:(1)
The homomorphic addition process is as follows: add (pk, c1, c2), so that the ciphertext c1, c2 are encrypted under the public key pk generated by the same private key sj. Setting c3←c1+c2modq, c3 is the ciphertext under sj′; the output ciphertext refresh result is c4←Refreshc3,τsj⟶sj−1n,qj,qj−1;(2)
The homomorphic multiplication process is as follows: first, the ciphertext is multiplied by Mult(pk, c1, c2) to obtain the new ciphertext, which is mainly generated by encrypting the public key pk generated by sj under the private key. The new ciphertext obtained by multiplication is the coefficient vector c3 of linear equation Lc1⋅c2longx2 under the private key sj′←sj⊗sj, output: c4←Refreshc3,τsj⟶sj−1n,qj,qj−1.Step 6: the ciphertext refresh process is represented asRefreshc3,τsj⟶sj−1n,qj,qj−1. The input is the ciphertext c encrypted under the key sj′, the auxiliary information τsj⟶sj−1n used for the key exchange, the current module qj, and the next module qj − 1, which are divided into the following three steps.(1)
Extension: setc1←Powersof2c,qj;(2)
Analog to digital:c2←Scalec1,qj,qj−1,2;(3)
Key exchange: output ciphertextc3←SwitchKeyτsj⟶sj−1n,c2,qj−1, c3 is the ciphertext encrypted by the private key sj−1 with the module qj−1.BGV is more efficient than homomorphic encryption, so it is more likely to be used in real scenarios.The cloud storage system designed in this paper mainly determines the private key algorithm according to the application scenarios of the system. The current scheme uses the fully homomorphic encryption (FHE) algorithm library HElib to construct an FHE arithmetic model based on the BGV homomorphic algorithm. FHE arithmetic operations on arbitrary length integers and floating point numbers are implemented. In addition, some optimization methods, such as ciphertext packaging technology, are applied in the library.


### 2.1.3. Full Homomorphic Encryption Algorithm Library HElib

HElib is an effective homomorphic encryption software library that implements homomorphic algorithms based on BGV schemes. BGV is a completely homomorphic encryption scheme based on learning with errors (LWE) and independent of ideal lattices. The detailed process is described in Section2.1.2. The main idea of the scheme is to shorten the ciphertext by using a mode dimension reduction technology, which greatly reduces the complexity of decryption and achieves the high efficiency of decryption when the ciphertext order increases [7]. In addition, directly applying the homomorphism algorithm to low-order operation is inefficient and waste. Therefore, the efficiency of homomorphism is greatly improved by packaging multisegment ciphertext into a batch for packaging [8].In addition to basic functions and algorithm optimization, the library also has some other useful functions, such as simple encryption functions [9]. The growth of noise in ciphertext is a big problem hindering its efficiency. Homomorphic addition causes the accumulation of noise. Homomorphic multiplication is the product of ciphertext noise on both sides, and its growth rate is much faster than addition. Therefore, in the HElib library, ciphertext refresh is mainly carried out after each homomorphic multiplication operation to achieve noise reduction. Theoretically, the noise growth rate of homomorphic multiplication is higher than that of homomorphic addition because the noise growth rate of homomorphic encryption addition is the sum of two ciphertext noises and the noise growth rate of homomorphic multiplication operation is the product of ciphertext noises. Therefore, after homomorphic multiplication, ciphertext refresh is required to reduce noise. Although the noise growth of homomorphic addition is relatively small, the increasing number of operations also requires ciphertext refresh to reduce noise. Since the bottom layer of the algorithm library is the operation in the logic circuit, and ciphertext refresh in the HElib library will consume a layer of modulus, let Ls be the total number of analog-to-digital conversion, the modulus in the modulus chain Lc, and the multiplication depth L. The main relationship of these three parameters is(17)Lc=Ls+1,(18)Ls≈2L2.From formulas (18) and (19), it can be concluded that(19)Ls≈2L2+1.In the HElib library, the larger the modulus value of the module chain is, the lower the efficiency of ciphertext homomorphism calculation. Therefore, the multiplication depthL should be reduced as much as possible in practical application. The cloud storage system described in this chapter is mainly applied to data retrieval. The complexity of the cloud storage system is equivalent to addition and meets system requirements.


## 2.1.1. Gentry’s FHE Scheme

Gentry’s solutions are all “bootstrapping FHE solutions”. Bootstrapping technology is the core of this technology, and the main idea is to reduce the noise in the ciphertext by processing its own decryption function, so that noise content is reduced to the range that can be correctly decrypted [5]. The specific implementation is the Recrypts operation in the Gentry’s FHE scheme. The Recrypts operation performs noise reduction during the homomorphic decryption of the ciphertext. We set the message as m and the public key as pk1, then(1)c1=Encryptpk1,ms.The encrypted ciphertext isc1. Assuming that the other public key is pk2 and the decryption key after pk2 is encrypted as sk1, set(2)sk1¯=Encryptspk2,sk1.Recrypts operation: (3)Recyptspk2,Dε,sk1¯,c1¯.For each bit ofc1, c1j is (4)c1j¯=Encryptspk2,c1j.It is written as(5)c1¯=<c11¯,c12¯,…,c1i¯,…>.Output:(6)c←Encryptspk2,Dε,sk1¯,c1¯.In fact, the whole process can be regarded as the second encryption of messagem. The public key pk1 is used for the first encryption, and the public key pk2 is used for the second encryption. The function Recrypts is used to decrypt the encrypted data, and the result of the second encryption is retained, that is, the Recrypts function can retain the results of the outer layer and decrypt the inner layer in the case of two layers of encryption.


## 2.1.2. BGV Scheme

BGV designs a new homomorphic encryption construction technology to ensure security and improve efficiency. The development process introduces dimension modulus specification, which enables ciphertext refresh to effectively control ciphertext dimension and noise growth, and constructs a hierarchical homomorphic encryption algorithm. Different from the Gentry’s homomorphic scheme, it does not require a bootstrap process [6].Based on the encryption scheme based on GLWE (general learning with error), the scheme is extended to construct a fully homomorphic scheme with a hierarchical structure. The scheme is evaluated by using the parameter, namely, the depthL of the arithmetic circuit. The process of the BGV solution is as follows:Step 1: input safety parametersλ, circuit depth L, and bit value b to represent the process as(7)Setuplλ,lL,b,whereb∈0,1 is mainly used to judge whether the encryption scheme is based on the LWE scheme or the R-LWE scheme.Second, we calculate the parameters as(8)paramsj←Setuplλ,lj+1⋅μ,b.j∈L,0 decreases step by step, and(9)μ=μλ,L,b=θlogλ+logL.Step 2: the key generation process is expressed as(10)KeyGenparamsj.To loopj from L to 0, we perform the following steps:(1)
We run the formula(11)sj←SecretKeyGenparamsj,Aj←PublicKeyGenparamsj,sj.(2)
We run the formula(12)sj′←sj⊗sj∈Rqjnj+12.sj′ is the tensor product of sj with itself.(3)
set(13)sj″←BitDecompsj′,qj.(4)
We run the formulaWhenj = L, we do not perform this operation.According to the calculation result in Step 2, the private keysk is sj, and the public key pk is Aj and τsj−1⟶sjn.Step 3: the encryption process is represented as(15)Encparams,pk,n.We make informationm in R2, and we run Enc(AL, m).Step 4: the decryption process is(16)Decparams,sk,c.Assuming that the ciphertextc is encrypted under the public key generated by the private key sj, we run Dec(sj, c).Step 5: the process of performing homomorphic addition and multiplication is as follows:(1)
The homomorphic addition process is as follows: add (pk, c1, c2), so that the ciphertext c1, c2 are encrypted under the public key pk generated by the same private key sj. Setting c3←c1+c2modq, c3 is the ciphertext under sj′; the output ciphertext refresh result is c4←Refreshc3,τsj⟶sj−1n,qj,qj−1;(2)
The homomorphic multiplication process is as follows: first, the ciphertext is multiplied by Mult(pk, c1, c2) to obtain the new ciphertext, which is mainly generated by encrypting the public key pk generated by sj under the private key. The new ciphertext obtained by multiplication is the coefficient vector c3 of linear equation Lc1⋅c2longx2 under the private key sj′←sj⊗sj, output: c4←Refreshc3,τsj⟶sj−1n,qj,qj−1.Step 6: the ciphertext refresh process is represented asRefreshc3,τsj⟶sj−1n,qj,qj−1. The input is the ciphertext c encrypted under the key sj′, the auxiliary information τsj⟶sj−1n used for the key exchange, the current module qj, and the next module qj − 1, which are divided into the following three steps.(1)
Extension: setc1←Powersof2c,qj;(2)
Analog to digital:c2←Scalec1,qj,qj−1,2;(3)
Key exchange: output ciphertextc3←SwitchKeyτsj⟶sj−1n,c2,qj−1, c3 is the ciphertext encrypted by the private key sj−1 with the module qj−1.BGV is more efficient than homomorphic encryption, so it is more likely to be used in real scenarios.The cloud storage system designed in this paper mainly determines the private key algorithm according to the application scenarios of the system. The current scheme uses the fully homomorphic encryption (FHE) algorithm library HElib to construct an FHE arithmetic model based on the BGV homomorphic algorithm. FHE arithmetic operations on arbitrary length integers and floating point numbers are implemented. In addition, some optimization methods, such as ciphertext packaging technology, are applied in the library.


## 2.1.3. Full Homomorphic Encryption Algorithm Library HElib

HElib is an effective homomorphic encryption software library that implements homomorphic algorithms based on BGV schemes. BGV is a completely homomorphic encryption scheme based on learning with errors (LWE) and independent of ideal lattices. The detailed process is described in Section2.1.2. The main idea of the scheme is to shorten the ciphertext by using a mode dimension reduction technology, which greatly reduces the complexity of decryption and achieves the high efficiency of decryption when the ciphertext order increases [7]. In addition, directly applying the homomorphism algorithm to low-order operation is inefficient and waste. Therefore, the efficiency of homomorphism is greatly improved by packaging multisegment ciphertext into a batch for packaging [8].In addition to basic functions and algorithm optimization, the library also has some other useful functions, such as simple encryption functions [9]. The growth of noise in ciphertext is a big problem hindering its efficiency. Homomorphic addition causes the accumulation of noise. Homomorphic multiplication is the product of ciphertext noise on both sides, and its growth rate is much faster than addition. Therefore, in the HElib library, ciphertext refresh is mainly carried out after each homomorphic multiplication operation to achieve noise reduction. Theoretically, the noise growth rate of homomorphic multiplication is higher than that of homomorphic addition because the noise growth rate of homomorphic encryption addition is the sum of two ciphertext noises and the noise growth rate of homomorphic multiplication operation is the product of ciphertext noises. Therefore, after homomorphic multiplication, ciphertext refresh is required to reduce noise. Although the noise growth of homomorphic addition is relatively small, the increasing number of operations also requires ciphertext refresh to reduce noise. Since the bottom layer of the algorithm library is the operation in the logic circuit, and ciphertext refresh in the HElib library will consume a layer of modulus, let Ls be the total number of analog-to-digital conversion, the modulus in the modulus chain Lc, and the multiplication depth L. The main relationship of these three parameters is(17)Lc=Ls+1,(18)Ls≈2L2.From formulas (18) and (19), it can be concluded that(19)Ls≈2L2+1.In the HElib library, the larger the modulus value of the module chain is, the lower the efficiency of ciphertext homomorphism calculation. Therefore, the multiplication depthL should be reduced as much as possible in practical application. The cloud storage system described in this chapter is mainly applied to data retrieval. The complexity of the cloud storage system is equivalent to addition and meets system requirements.


## 2.2. Cloud Storage Model Based on the BGV Fully Homomorphic Encryption in the Blockchain Environment

Using the existing technology of cloud storage, combined with the actual characteristics of cloud on blockchain data, this chapter adopts the method of cloud (untrusted participants) storing the data uploaded by users. When uploading data, users perform homomorphic encryption to avoid risks during data transmission. The key is only owned by users, preventing data leakage during transmission. The interaction between users and the cloud storage systems consists of four processes: key distribution, data storage, data retrieval, and data retrieval.


### 2.2.1. Key Distribution

On the blockchain platform, users participate in the consensus process, and then the corresponding host node stores the transaction data on the chain. The transaction on each block will be sequentially stored in memory, and then it will be persistent, that is, these data will be written to the disk. Generally, level DB is used as a database with LSM tree as its storage structure. Since each user needs all the data on the storage chain, the pressure on a single node will gradually increase in practical applications, and the demand for the node host performance will also increase. Therefore, users will initiate the demand for data on the cloud. First, authentication is required between users and cloud servers [10]. Figure 1 shows the process of key distribution to facilitate subsequent data request by users. As can be seen from Figure 1, the cloud authentication center generates the public and private keys of the user and the server. The user has his own private key and the public key of the server, and the cloud server also has its own private key and the public key of the user.Figure 1
Key distribution process.The cloud authentication center generates the public and private keys of users and cloud servers. When users initiate cloud storage, they need to apply for the key from the cloud authentication center and store the public key of corresponding users on the cloud server for later ciphertext processing.


### 2.2.2. Data Storage

In this section, a relatively efficient homomorphic encryption algorithm is adopted to construct a cloud storage system. The system is mainly applied to blockchain, which encapsulates many encrypted transactions. Users mainly inquire whether the transaction exists, as shown in Figure2. As shown in Figure 2, the main idea of uploading cloud data is to upload the block id, transaction hash, sender and receiver of the transaction, and transaction status on the cloud. Users can query the actual situation of the transaction and whether the transaction is on the chain.Figure 2
Blockchain uploads cloud data.Figure3 shows the framework of CSS based on the storage units mentioned above. As can be seen from Figure 3, the blockchain platform is the actual use scenario of users. The client is the end of initiating requests for users, while the cloud service is the end of receiving requests from users. Other participants, such as blockchain managers, can also interact with the cloud server to initiate requests.Figure 3
Cloud storage framework based on blockchain.As shown in Figure3, the steps of initiating storage on the cloud for user data are as follows:Step 1: users initiate storage requests based on their own requirements.Step 2: after receiving the request, the client uses the homomorphic encryption algorithm to encrypt data.Step 3: ciphertext on the cloud. The data generated by the client based on the encryption algorithm is transmitted to the cloud server. Because the data is encrypted, no additional protection is required during data transmission.Step 4: after the data is uploaded to the cloud data storage center, the data is stored in the rented storage space, and the public keys of the users are also stored in the public key libraries of the users. During data processing, users initiate data processing requests through server applications, such as compression and retrieval [11].Step 5: the cloud storage server transmits the homomorphic encrypted ciphertext to the data processing module.Step 6: the data processing module processes the data.Step 7: the data processing module collects the processed data and returns the processed and sorted data to the server application.Step 8: the user module loads the processed data.Step 9: the homomorphic encryption module gets the processed data to decrypt the data to get plaintext.Step 10: the decrypted plaintext to the user is returned.The above steps are details of data storage on the cloud. The homomorphic encryption algorithm adopted in this chapter is the FHE algorithm library HElib, which is based on the calculation model of the BGV homomorphic algorithm.


### 2.2.3. Data Retrieval

Inverted index is a mapping structure often used in full-text retrieval [12]. In the cloud storage system designed in this chapter, users generally search for the existence of corresponding data and its corresponding attributes by entering keywords. However, as the amount of data increases, the complexity of data matching will increase. In addition, as the data of the designed system is uploaded through encryption, it is of great importance to improve the efficiency of retrieval and query, help users quickly locate target information, and reduce the difficulty of information acquisition.Figure4 is a schematic diagram of an inverted index query. As shown in Figure 4, the request module is used to receive the query’s request and keywords and return the request results. In the inverted index structure, each word is followed by a corresponding linked list, in which the document number containing the word is stored. According to this structure, the document in which each word is located can be quickly queried. Applied to the blockchain platform, the data request is the hash of the transaction or the block, and the document in Figure 4 records the status of the transaction as well as sender and receiver information.Figure 4
Data query flow of the inverted index.The inverted index model is combined with the cloud storage model designed in this chapter to obtain the data retrieval model. The detailed steps of the data retrieval process based on inverted indexes are shown in Figure5. According to Figure 5, the detailed steps of the data retrieval scheme based on inverted indexes are as follows:Step 1: the user initiates a keyword retrieval request and uses the server public key to encrypt it.Step 2: the cloud server receives the encrypted keywords, decrypts them, and queries the index database for the existence of inverted indexes. If yes, go to Step 3. If no, go to Step 4.Step 3: ee return the results according to the retrieval process.Step 4: we establish the data inversion index according to keywords.Step 5: the server verifies the validity of the retrieval results.Step 6: we search keyword results that is returned.Step 7: the retrieval results are encrypted with the user’s public key and transmitted to the user.Step 8: the user decrypts data.Figure 5
Data retrieval process based on the reverse sorting index.The data retrieval process based on the inverted index can effectively improve the efficiency of data retrieval by establishing the index. Since the BGV homomorphism algorithm supports data retrieval, the data retrieval process described in this section is efficient and suitable for blockchain application scenarios.


### 2.2.4. Data Update

The cloud storage system designed in this paper is mainly based on the homomorphic encryption algorithm and stores the increasing data on the blockchain platform [13], so the cloud storage solution also needs to design appropriate data update strategy. The data update of the original symmetric and asymmetric encryption system always decrypts the original data, and then further updates the decrypted plaintext, which consumes a lot of resources and time in terms of implementation. In the cloud storage model based on homomorphic encryption, users generate data documents, encrypt them, upload them, and send an update operation request. After obtaining the request, the cloud server updates the ciphertext according to the operation request to obtain the updated ciphertext. The specific process is shown in Figure 6.Figure 6
Data update process.As can be seen from Figure6, the specific steps of the data update process are as follows: Step 1: the user sends an update request to the server.Step 2: we encrypt the unupdated data to generate a data document.Step 3: after the encrypted document is generated, we upload the data to the cloud and send the data update request.Step 4: the cloud sends an update processing request to the data processing module.Step 5: the data processing module updates the data according to the operation and returns the updated data to the cloud server.Step 6: the cloud server returns the updated data to the user as required.Due to the time sequence and a large amount of blockchain data, continuous superimposed data will reduce efficiency in the actual user retrieval and the upload process. Therefore, the data update strategy effectively fits the user’s usage scenarios and updates stored data according to user requirements, saving cloud server resources and avoiding waste.


## 2.2.1. Key Distribution

On the blockchain platform, users participate in the consensus process, and then the corresponding host node stores the transaction data on the chain. The transaction on each block will be sequentially stored in memory, and then it will be persistent, that is, these data will be written to the disk. Generally, level DB is used as a database with LSM tree as its storage structure. Since each user needs all the data on the storage chain, the pressure on a single node will gradually increase in practical applications, and the demand for the node host performance will also increase. Therefore, users will initiate the demand for data on the cloud. First, authentication is required between users and cloud servers [10]. Figure 1 shows the process of key distribution to facilitate subsequent data request by users. As can be seen from Figure 1, the cloud authentication center generates the public and private keys of the user and the server. The user has his own private key and the public key of the server, and the cloud server also has its own private key and the public key of the user.Figure 1
Key distribution process.The cloud authentication center generates the public and private keys of users and cloud servers. When users initiate cloud storage, they need to apply for the key from the cloud authentication center and store the public key of corresponding users on the cloud server for later ciphertext processing.


## 2.2.2. Data Storage

In this section, a relatively efficient homomorphic encryption algorithm is adopted to construct a cloud storage system. The system is mainly applied to blockchain, which encapsulates many encrypted transactions. Users mainly inquire whether the transaction exists, as shown in Figure2. As shown in Figure 2, the main idea of uploading cloud data is to upload the block id, transaction hash, sender and receiver of the transaction, and transaction status on the cloud. Users can query the actual situation of the transaction and whether the transaction is on the chain.Figure 2
Blockchain uploads cloud data.Figure3 shows the framework of CSS based on the storage units mentioned above. As can be seen from Figure 3, the blockchain platform is the actual use scenario of users. The client is the end of initiating requests for users, while the cloud service is the end of receiving requests from users. Other participants, such as blockchain managers, can also interact with the cloud server to initiate requests.Figure 3
Cloud storage framework based on blockchain.As shown in Figure3, the steps of initiating storage on the cloud for user data are as follows:Step 1: users initiate storage requests based on their own requirements.Step 2: after receiving the request, the client uses the homomorphic encryption algorithm to encrypt data.Step 3: ciphertext on the cloud. The data generated by the client based on the encryption algorithm is transmitted to the cloud server. Because the data is encrypted, no additional protection is required during data transmission.Step 4: after the data is uploaded to the cloud data storage center, the data is stored in the rented storage space, and the public keys of the users are also stored in the public key libraries of the users. During data processing, users initiate data processing requests through server applications, such as compression and retrieval [11].Step 5: the cloud storage server transmits the homomorphic encrypted ciphertext to the data processing module.Step 6: the data processing module processes the data.Step 7: the data processing module collects the processed data and returns the processed and sorted data to the server application.Step 8: the user module loads the processed data.Step 9: the homomorphic encryption module gets the processed data to decrypt the data to get plaintext.Step 10: the decrypted plaintext to the user is returned.The above steps are details of data storage on the cloud. The homomorphic encryption algorithm adopted in this chapter is the FHE algorithm library HElib, which is based on the calculation model of the BGV homomorphic algorithm.


## 2.2.3. Data Retrieval

Inverted index is a mapping structure often used in full-text retrieval [12]. In the cloud storage system designed in this chapter, users generally search for the existence of corresponding data and its corresponding attributes by entering keywords. However, as the amount of data increases, the complexity of data matching will increase. In addition, as the data of the designed system is uploaded through encryption, it is of great importance to improve the efficiency of retrieval and query, help users quickly locate target information, and reduce the difficulty of information acquisition.Figure4 is a schematic diagram of an inverted index query. As shown in Figure 4, the request module is used to receive the query’s request and keywords and return the request results. In the inverted index structure, each word is followed by a corresponding linked list, in which the document number containing the word is stored. According to this structure, the document in which each word is located can be quickly queried. Applied to the blockchain platform, the data request is the hash of the transaction or the block, and the document in Figure 4 records the status of the transaction as well as sender and receiver information.Figure 4
Data query flow of the inverted index.The inverted index model is combined with the cloud storage model designed in this chapter to obtain the data retrieval model. The detailed steps of the data retrieval process based on inverted indexes are shown in Figure5. According to Figure 5, the detailed steps of the data retrieval scheme based on inverted indexes are as follows:Step 1: the user initiates a keyword retrieval request and uses the server public key to encrypt it.Step 2: the cloud server receives the encrypted keywords, decrypts them, and queries the index database for the existence of inverted indexes. If yes, go to Step 3. If no, go to Step 4.Step 3: ee return the results according to the retrieval process.Step 4: we establish the data inversion index according to keywords.Step 5: the server verifies the validity of the retrieval results.Step 6: we search keyword results that is returned.Step 7: the retrieval results are encrypted with the user’s public key and transmitted to the user.Step 8: the user decrypts data.Figure 5
Data retrieval process based on the reverse sorting index.The data retrieval process based on the inverted index can effectively improve the efficiency of data retrieval by establishing the index. Since the BGV homomorphism algorithm supports data retrieval, the data retrieval process described in this section is efficient and suitable for blockchain application scenarios.


## 2.2.4. Data Update

The cloud storage system designed in this paper is mainly based on the homomorphic encryption algorithm and stores the increasing data on the blockchain platform [13], so the cloud storage solution also needs to design appropriate data update strategy. The data update of the original symmetric and asymmetric encryption system always decrypts the original data, and then further updates the decrypted plaintext, which consumes a lot of resources and time in terms of implementation. In the cloud storage model based on homomorphic encryption, users generate data documents, encrypt them, upload them, and send an update operation request. After obtaining the request, the cloud server updates the ciphertext according to the operation request to obtain the updated ciphertext. The specific process is shown in Figure 6.Figure 6
Data update process.As can be seen from Figure6, the specific steps of the data update process are as follows: Step 1: the user sends an update request to the server.Step 2: we encrypt the unupdated data to generate a data document.Step 3: after the encrypted document is generated, we upload the data to the cloud and send the data update request.Step 4: the cloud sends an update processing request to the data processing module.Step 5: the data processing module updates the data according to the operation and returns the updated data to the cloud server.Step 6: the cloud server returns the updated data to the user as required.Due to the time sequence and a large amount of blockchain data, continuous superimposed data will reduce efficiency in the actual user retrieval and the upload process. Therefore, the data update strategy effectively fits the user’s usage scenarios and updates stored data according to user requirements, saving cloud server resources and avoiding waste.


## 3. Results and Discussion

### 3.1. Security Evaluation

As a distributed large-scale data storage system, the confidentiality of blockchain is the primary feature that needs to be guaranteed. Therefore, the most important feature of the user data stored on the chain in the cloud is data privacy. Different cloud storage systems have different security advantages and disadvantages. Generally speaking, the key points affecting data privacy mainly focus on the encryption algorithm, data transmission path, and key management.Encryption algorithm is the basis of storage model privacy protection. The cloud storage system designed in this paper is a storage model based on homomorphic encryption. Only the sender has the encryption key of the data, and the data need to be encrypted before transmission. After being uploaded to the cloud, the data will be processed according to the demand, but the plaintext data will not be leaked all the time. The sender only needs to get the corresponding decryption of data which can be processed after the data, and data security is improved.Data transmission path is also one of the important factors affecting data leakage. Generally, the data of cloud storage model is through the Internet communication network, which depends on the Internet environment, so the model may have the risk of information leakage. However, if the transmitted information is ciphertext, the risk of being stolen or monitored is the main risk. Therefore, it is necessary to adopt more secure network protocol in the transmission process.Key management also affects data security in cloud computing environments. For the cloud storage framework with homomorphic encryption, the key management organization generates a key for each user. The key is encrypted only during data upload and is not leaked. Therefore, the complexity of the key management scheme is low. The security evaluation of the three cloud storage system models described above is summarized in Table1.Table 1
Security comparison of cloud storage models.
Encryption algorithmData transmission pathKey managementSymmetric encryption systemSymmetric encryption easy to crackSecure transmission channels are requiredKey management is complex and easy to leakCloud storage model(Amazon S3)Public key encryption systemAsymmetric encryption difficult to crackNo secure transmission is requiredKey distribution is complex and secureCloud storage modelHomomorphic encryption systemHomomorphic encryption difficult to crackTransmission in ciphertext does not require secure transmissionSimple and efficient key management, good securityCloud storage model


### 3.2. Efficiency Assessment

Overall, the efficiency of the cloud storage system refers to the data encryption efficiency, transmission efficiency, retrieval efficiency, and data update efficiency. In terms of design details, it includes the means to ensure data privacy, namely, the homomorphic encryption security algorithm.


#### 3.2.1. Evaluation of Cloud Storage System Efficiency

Cloud storage systems, especially those on the blockchain platform, are most widely used for data retrieval. Different models have different retrieval schemes. For symmetric encrypted cloud storage components, such as Amazon S3, data retrieval requires decryption of ciphertext data before retrieval, which has low loss in terms of time and efficiency. The same is true for the public key encrypted cloud storage model. The idea of the core encryption algorithm of the homomorphic encrypted cloud storage model is that the processed plaintext data can still be obtained after the corresponding data is processed without data decryption. Therefore, this model supports the operation of ciphertext retrieval without decryption, and the operation of ciphertext directly is relatively efficient. However, in practical application, its accuracy is lower than that of plaintext retrieval because it needs to establish the data index to match ciphertext.As data are constantly uploaded to the cloud, cloud storage allocation needs to be updated constantly. Therefore, data update is also an important part of the evaluation of cloud storage efficiency. In the cloud storage model with symmetric and asymmetric encryption systems, the main steps of data update are as follows: “data decryption, update, reencryption, and old data destruction”. However, in the data update of homomorphic encryption, the client transfers the new data to the cloud, and the cloud directly updates the ciphertext data according to the data processing scheme, so the above steps are not required to operate it, just like the operation of plaintext. The update strategy is simple and efficient [14, 15].


#### 3.2.2. Data Privacy Efficiency Assessment

The cloud storage system is built on the blockchain platform, which carries a large amount of data, and the search for and determination of the existence of data on blockchain is a big demand. Therefore, the complexity of data retrieval is an important feature of the homomorphic encryption algorithm in the system designed in this chapter. This section focuses on evaluating the encryption and decryption efficiency of the Gentry’s FHE encryption algorithm and the BGV algorithm, as shown in Table2.Table 2
Allowable conditions of the Gentry’s FHE algorithm.
OperationExecution time (s)Encryption2.33Decryption0.12Cipher refresh27.28It can be seen from Table2 that the Gentry’s scheme has low computing efficiency, and since data encryption and decryption will produce noise, data refreshing is required to reduce noise, and the time consumed by ciphertext refreshing is much larger than that of encryption and decryption. In addition, the ciphertext data after encryption expands greatly. As the amount of data increases, the time consuming becomes long and the efficiency decreases greatly. It is not practical to use this encryption method for massive data storage on the blockchain platform.BGV is a learning with error (LWE) scheme based on polynomial rings. Both plaintext and ciphertext are defined on rings, so homomorphic encryption and decryption on ciphertext is closely related to operations on plaintext rings. According to the operation efficiency and algorithm principle of BGV in Table3, it can be seen that the BGV scheme has no bootstrap operation. Meanwhile, the scheme adopts the mode of single instruction and multiple data streams to package the plaintext of multiple channels and combine it into a ciphertext, so that the ciphertext data expansion growth rate meets the requirements of application.Table 3
BGV algorithm operation.
OperationExecution time (s)Encryption2.47Decryption0.57


#### 3.2.3. Efficiency Evaluation of System Retrieval

Data retrieval on the cloud is based on the premise of storing a large amount of data. With increasing data, the running time of the blockchain-based cloud storage system is also changing, and its distribution is shown in Figure7.Figure 7
Retrieval performance with and without inverted indexes.As shown in Figure7, this paper designs a cloud storage system to store the data of blocks in blockchain. For a cloud storage system that does not use the inverted index scheme, the time spent in data retrieval gradually increases with the increasing amount of data, as shown in Figure 2. The relationship between the two is, approximately, proportional.At the same time, Figure7 also shows the data retrieval situation of the cloud storage system with the introduction of the inverted index. The curve shows a relatively smooth state in the follow-up, and the growth rate of time spent decreases with the increase of data volume. By comparing the two, it can be concluded that the retrieval scheme of the inverted index is introduced. In the process of increasing data, the time for users to retrieve data will be shortened correspondingly, which gradually improves the efficiency of retrieval.


### 3.3. Economic Performance Evaluation

Firstly, in terms of computing resources, different models have different resource consumption according to application scenarios. First of all, in terms of data retrieval, although the homomorphic encryption model is not as accurate as other models, its efficiency and consumption are lower. In addition, in terms of data update, the model abolishes the traditional basic process that can only be updated after decryption, greatly reducing the time and power of calculation. On the other hand, the amount of data server can carry is also limited, so it is necessary to set reasonable requirements and allocate computing resources. Secondly, in terms of technical input, the encryption algorithm and the security mechanism of homomorphic encryption are not fully mature in the field of ensuring cloud storage data security, and the input needs to be further increased.


## 3.1. Security Evaluation

As a distributed large-scale data storage system, the confidentiality of blockchain is the primary feature that needs to be guaranteed. Therefore, the most important feature of the user data stored on the chain in the cloud is data privacy. Different cloud storage systems have different security advantages and disadvantages. Generally speaking, the key points affecting data privacy mainly focus on the encryption algorithm, data transmission path, and key management.Encryption algorithm is the basis of storage model privacy protection. The cloud storage system designed in this paper is a storage model based on homomorphic encryption. Only the sender has the encryption key of the data, and the data need to be encrypted before transmission. After being uploaded to the cloud, the data will be processed according to the demand, but the plaintext data will not be leaked all the time. The sender only needs to get the corresponding decryption of data which can be processed after the data, and data security is improved.Data transmission path is also one of the important factors affecting data leakage. Generally, the data of cloud storage model is through the Internet communication network, which depends on the Internet environment, so the model may have the risk of information leakage. However, if the transmitted information is ciphertext, the risk of being stolen or monitored is the main risk. Therefore, it is necessary to adopt more secure network protocol in the transmission process.Key management also affects data security in cloud computing environments. For the cloud storage framework with homomorphic encryption, the key management organization generates a key for each user. The key is encrypted only during data upload and is not leaked. Therefore, the complexity of the key management scheme is low. The security evaluation of the three cloud storage system models described above is summarized in Table1.Table 1
Security comparison of cloud storage models.
Encryption algorithmData transmission pathKey managementSymmetric encryption systemSymmetric encryption easy to crackSecure transmission channels are requiredKey management is complex and easy to leakCloud storage model(Amazon S3)Public key encryption systemAsymmetric encryption difficult to crackNo secure transmission is requiredKey distribution is complex and secureCloud storage modelHomomorphic encryption systemHomomorphic encryption difficult to crackTransmission in ciphertext does not require secure transmissionSimple and efficient key management, good securityCloud storage model


## 3.2. Efficiency Assessment

Overall, the efficiency of the cloud storage system refers to the data encryption efficiency, transmission efficiency, retrieval efficiency, and data update efficiency. In terms of design details, it includes the means to ensure data privacy, namely, the homomorphic encryption security algorithm.


### 3.2.1. Evaluation of Cloud Storage System Efficiency

Cloud storage systems, especially those on the blockchain platform, are most widely used for data retrieval. Different models have different retrieval schemes. For symmetric encrypted cloud storage components, such as Amazon S3, data retrieval requires decryption of ciphertext data before retrieval, which has low loss in terms of time and efficiency. The same is true for the public key encrypted cloud storage model. The idea of the core encryption algorithm of the homomorphic encrypted cloud storage model is that the processed plaintext data can still be obtained after the corresponding data is processed without data decryption. Therefore, this model supports the operation of ciphertext retrieval without decryption, and the operation of ciphertext directly is relatively efficient. However, in practical application, its accuracy is lower than that of plaintext retrieval because it needs to establish the data index to match ciphertext.As data are constantly uploaded to the cloud, cloud storage allocation needs to be updated constantly. Therefore, data update is also an important part of the evaluation of cloud storage efficiency. In the cloud storage model with symmetric and asymmetric encryption systems, the main steps of data update are as follows: “data decryption, update, reencryption, and old data destruction”. However, in the data update of homomorphic encryption, the client transfers the new data to the cloud, and the cloud directly updates the ciphertext data according to the data processing scheme, so the above steps are not required to operate it, just like the operation of plaintext. The update strategy is simple and efficient [14, 15].


### 3.2.2. Data Privacy Efficiency Assessment

The cloud storage system is built on the blockchain platform, which carries a large amount of data, and the search for and determination of the existence of data on blockchain is a big demand. Therefore, the complexity of data retrieval is an important feature of the homomorphic encryption algorithm in the system designed in this chapter. This section focuses on evaluating the encryption and decryption efficiency of the Gentry’s FHE encryption algorithm and the BGV algorithm, as shown in Table2.Table 2
Allowable conditions of the Gentry’s FHE algorithm.
OperationExecution time (s)Encryption2.33Decryption0.12Cipher refresh27.28It can be seen from Table2 that the Gentry’s scheme has low computing efficiency, and since data encryption and decryption will produce noise, data refreshing is required to reduce noise, and the time consumed by ciphertext refreshing is much larger than that of encryption and decryption. In addition, the ciphertext data after encryption expands greatly. As the amount of data increases, the time consuming becomes long and the efficiency decreases greatly. It is not practical to use this encryption method for massive data storage on the blockchain platform.BGV is a learning with error (LWE) scheme based on polynomial rings. Both plaintext and ciphertext are defined on rings, so homomorphic encryption and decryption on ciphertext is closely related to operations on plaintext rings. According to the operation efficiency and algorithm principle of BGV in Table3, it can be seen that the BGV scheme has no bootstrap operation. Meanwhile, the scheme adopts the mode of single instruction and multiple data streams to package the plaintext of multiple channels and combine it into a ciphertext, so that the ciphertext data expansion growth rate meets the requirements of application.Table 3
BGV algorithm operation.
OperationExecution time (s)Encryption2.47Decryption0.57


### 3.2.3. Efficiency Evaluation of System Retrieval

Data retrieval on the cloud is based on the premise of storing a large amount of data. With increasing data, the running time of the blockchain-based cloud storage system is also changing, and its distribution is shown in Figure7.Figure 7
Retrieval performance with and without inverted indexes.As shown in Figure7, this paper designs a cloud storage system to store the data of blocks in blockchain. For a cloud storage system that does not use the inverted index scheme, the time spent in data retrieval gradually increases with the increasing amount of data, as shown in Figure 2. The relationship between the two is, approximately, proportional.At the same time, Figure7 also shows the data retrieval situation of the cloud storage system with the introduction of the inverted index. The curve shows a relatively smooth state in the follow-up, and the growth rate of time spent decreases with the increase of data volume. By comparing the two, it can be concluded that the retrieval scheme of the inverted index is introduced. In the process of increasing data, the time for users to retrieve data will be shortened correspondingly, which gradually improves the efficiency of retrieval.


## 3.2.1. Evaluation of Cloud Storage System Efficiency

Cloud storage systems, especially those on the blockchain platform, are most widely used for data retrieval. Different models have different retrieval schemes. For symmetric encrypted cloud storage components, such as Amazon S3, data retrieval requires decryption of ciphertext data before retrieval, which has low loss in terms of time and efficiency. The same is true for the public key encrypted cloud storage model. The idea of the core encryption algorithm of the homomorphic encrypted cloud storage model is that the processed plaintext data can still be obtained after the corresponding data is processed without data decryption. Therefore, this model supports the operation of ciphertext retrieval without decryption, and the operation of ciphertext directly is relatively efficient. However, in practical application, its accuracy is lower than that of plaintext retrieval because it needs to establish the data index to match ciphertext.As data are constantly uploaded to the cloud, cloud storage allocation needs to be updated constantly. Therefore, data update is also an important part of the evaluation of cloud storage efficiency. In the cloud storage model with symmetric and asymmetric encryption systems, the main steps of data update are as follows: “data decryption, update, reencryption, and old data destruction”. However, in the data update of homomorphic encryption, the client transfers the new data to the cloud, and the cloud directly updates the ciphertext data according to the data processing scheme, so the above steps are not required to operate it, just like the operation of plaintext. The update strategy is simple and efficient [14, 15].


## 3.2.2. Data Privacy Efficiency Assessment

The cloud storage system is built on the blockchain platform, which carries a large amount of data, and the search for and determination of the existence of data on blockchain is a big demand. Therefore, the complexity of data retrieval is an important feature of the homomorphic encryption algorithm in the system designed in this chapter. This section focuses on evaluating the encryption and decryption efficiency of the Gentry’s FHE encryption algorithm and the BGV algorithm, as shown in Table2.Table 2
Allowable conditions of the Gentry’s FHE algorithm.
OperationExecution time (s)Encryption2.33Decryption0.12Cipher refresh27.28It can be seen from Table2 that the Gentry’s scheme has low computing efficiency, and since data encryption and decryption will produce noise, data refreshing is required to reduce noise, and the time consumed by ciphertext refreshing is much larger than that of encryption and decryption. In addition, the ciphertext data after encryption expands greatly. As the amount of data increases, the time consuming becomes long and the efficiency decreases greatly. It is not practical to use this encryption method for massive data storage on the blockchain platform.BGV is a learning with error (LWE) scheme based on polynomial rings. Both plaintext and ciphertext are defined on rings, so homomorphic encryption and decryption on ciphertext is closely related to operations on plaintext rings. According to the operation efficiency and algorithm principle of BGV in Table3, it can be seen that the BGV scheme has no bootstrap operation. Meanwhile, the scheme adopts the mode of single instruction and multiple data streams to package the plaintext of multiple channels and combine it into a ciphertext, so that the ciphertext data expansion growth rate meets the requirements of application.Table 3
BGV algorithm operation.
OperationExecution time (s)Encryption2.47Decryption0.57


## 3.2.3. Efficiency Evaluation of System Retrieval

Data retrieval on the cloud is based on the premise of storing a large amount of data. With increasing data, the running time of the blockchain-based cloud storage system is also changing, and its distribution is shown in Figure7.Figure 7
Retrieval performance with and without inverted indexes.As shown in Figure7, this paper designs a cloud storage system to store the data of blocks in blockchain. For a cloud storage system that does not use the inverted index scheme, the time spent in data retrieval gradually increases with the increasing amount of data, as shown in Figure 2. The relationship between the two is, approximately, proportional.At the same time, Figure7 also shows the data retrieval situation of the cloud storage system with the introduction of the inverted index. The curve shows a relatively smooth state in the follow-up, and the growth rate of time spent decreases with the increase of data volume. By comparing the two, it can be concluded that the retrieval scheme of the inverted index is introduced. In the process of increasing data, the time for users to retrieve data will be shortened correspondingly, which gradually improves the efficiency of retrieval.


## 3.3. Economic Performance Evaluation

Firstly, in terms of computing resources, different models have different resource consumption according to application scenarios. First of all, in terms of data retrieval, although the homomorphic encryption model is not as accurate as other models, its efficiency and consumption are lower. In addition, in terms of data update, the model abolishes the traditional basic process that can only be updated after decryption, greatly reducing the time and power of calculation. On the other hand, the amount of data server can carry is also limited, so it is necessary to set reasonable requirements and allocate computing resources. Secondly, in terms of technical input, the encryption algorithm and the security mechanism of homomorphic encryption are not fully mature in the field of ensuring cloud storage data security, and the input needs to be further increased.


## 4. Conclusion

This paper mainly designed the framework model of the cloud storage system, investigated the model-based operation process on the market, designed the cloud storage model based on BGV fully homomorphic encryption. According to the applicability of the underlying blockchain system, after comparing the efficiency and practicality with the Gentry’s homomorphic encryption algorithm, the BGV homomorphic encryption algorithm is used to protect data privacy in this study. In addition, since the application scenarios of the designed system mainly lie in the data state query and data retrieval, the inversion index algorithm is determined to design the retrieval scheme, and the key distribution, data storage, data retrieval, and data update processes are designed in detail. Comparing the efficiency of the privacy protection homomorphic algorithm BGV with the Gentry’s FHE scheme in terms of operation time and ciphertext bloat, it is concluded that the BGV scheme is more suitable for big data.



---

*Source: 8541313-2022-07-20.xml*