Apparatuses and methods consistent with the disclosure relate to an electronic apparatus and a method for verifying encrypted data.
With the development of electronic technology and communication technology, a method of processing data using an external device such as a cloud computer has been widely used. When data is processed using an external device, the confidentiality of data and the accuracy of an operation may be critical. The confidentiality of the data may be associated with the protection of a client's personal information, and the accuracy of an operation may be associated with a processing result of the data.
The above-described problem may be solved by data encryption and an operation verification method. However, there is a problem with applying data encryption and the operation verification method in terms of overhead and efficiency. In particular, there is a need for a new method of efficiently verifying quotient polynomial rings.
To address the above-described problems, the disclosure is directed to providing an electronic apparatus and a verification method for efficiently verifying a result of performing an operation on encrypted data by using an external device.
According to an embodiment of the disclosure, a verification method of an electronic apparatus includes transmitting encrypted quotient polynomial rings to an external device, receiving, from the external device, a result value calculated through an operation process for at least one layer on the basis of the transmitted encrypted polynomial rings, transmitting a random value to the external device, and receiving claim data obtained by performing the operation process in a reverse order on the basis of the random value from the external device, and verifying the received result value on the basis of a value of the quotient polynomial rings corresponding to the random value and the received claim data.
The verification method may further include transmitting coefficient information of the quotient polynomial rings to the external device, and the receiving of the claim data may include receiving claim data obtained by performing the operation process in the reverse order on the basis of the coefficient information.
The verification method may further include receiving operation-related information and operation data of each of the at least one layer, and verifying the operation data of each of the at least one layer on the basis of the received operation-related information.
The receiving of the operation-related information and the operation data and the verifying of the operation data may include sequentially receiving the operation-related information and the operation data and verifying the operation data in the order from an initial layer to a last layer among the at least one layer.
The operation-related information may include at least one of arithmetic expression information or coefficient information.
When the operation-related information is the arithmetic expression information, the verifying of the operation data may include performing a modular arithmetic on the arithmetic expression information, and verifying the operation data on the basis of a relationship between the arithmetic expression information on which the modular arithmetic is performed and the received operation data.
Each of the quotient polynomial rings may be a polynomial for performing a modular arithmetic on a general polynomial ring.
According to another embodiment of the disclosure, an electronic apparatus includes a communication interface; and a processor, in which the processor is configured to control the communication interface to transmit encrypted quotient polynomial rings to an external device, receive from the external device a result value calculated by performing an operation process for at least one layer on the basis of the encrypted quotient polynomial rings, transmit a random value to the external device, and receive claim data obtained by performing the operation process in a reverse order on the basis of the random value from the external device, and verify the received result value on the basis of a value of the quotient polynomial rings corresponding to the random value and the received claim data.
The processor may be further configured to control the communication interface to transmit coefficient information of the quotient polynomial rings to the external device and receive claim data obtained by performing the operation process in the reverse order on the basis of the coefficient information.
The processor may be further configured to control the communication interface to receive operation-related information and operation data for each of the at least one layer, and verify the operation data of each of the at least one layer on the basis of the received operation-related information.
The processor may be further configured to sequentially receive and verify the operation-related information and the operation data in the order from a last layer to an initial layer among the at least one layer.
The operation-related information may include at least one of arithmetic expression information or coefficient information.
When the operation-related information is the arithmetic expression information, the processor may be further configured to perform a modular arithmetic on the arithmetic expression information and verify the operation data on the basis of a relationship between the arithmetic expression information on which the modular arithmetic is performed and the received operation data.
Meanwhile, each of the quotient polynomial rings may be a polynomial for performing a modular arithmetic on a general polynomial ring.
According to another embodiment of the disclosure, there is provided a non-transitory computer-readable storage medium storing a program for performing a verification method of an electronic apparatus, in which the verification method includes transmitting encrypted quotient polynomial rings to an external device, receiving, from the external device, a result value calculated through an operation process for at least one layer on the basis of the transmitted encrypted quotient polynomial rings, transmitting a random value to the external device and receiving claim data obtained by performing the operation process in a reverse order on the basis of the random value from the external device, and verifying the received result value on the basis of a value of the quotient polynomial rings corresponding to the random value and the received claim data.
According to various embodiments of the disclosure as described above, with an electronic apparatus and a verification method, encrypted data can be transmitted to an external device, and a result of an operation performed by the external device on the basis of the encrypted data can be verified efficiently.
Effects of the disclosure are not limited thereto, and other effects that are not described herein will be apparent to those of ordinary skill in the art from the following description.
The above and/or other aspects of the disclosure will be more apparent by describing certain embodiments of the disclosure with reference to the accompanying drawings, in which:
Hereinafter, various embodiments will be described in more detail with reference to the accompanying drawings. Embodiments set forth herein may be variously modified. Certain embodiments are illustrated in the drawings and may be described in detail in the detailed description. However, the embodiments illustrated in the accompanying drawings are only intended to help understanding of various embodiments. Therefore, the technical scope of the disclosure is not limited by the embodiments illustrated in the accompanying drawings and should be understood to include all equivalents or alternatives within the spirit and scope of the disclosure.
Terms, including ordinal numbers such as first and second, may be used to describe various components but these components are not limited by the terms. The terms are only used to distinguish one component from another.
It should be understood that the terms “comprise” and/or “comprising”, when used herein, specify the presence of stated features, integers, steps, operations, elements, components, or a combination thereof, but do not preclude the presence or addition of one or more features, integers, steps, operations, elements, components, or a combination thereof. When a component is referred to as being “coupled to” or “connected” to another component, it should be understood that the component may be directly coupled to or connected to the other component but another component may be interposed therebetween. In contrast, when a component is referred to as being “directly coupled to” or “directly connected” to another component, it should be understood that no component is interposed therebetween.
Meanwhile, the term “module” or “unit”, when used herein to describe components, should be understood as performing at least one function or operation. In addition, the “module” or “unit” may perform a function or operation by hardware, software, or a combination of hardware and software. A plurality of “modules” or a plurality of “units” may be integrated into at least one module, excluding “modules” or “units” that should be performed by certain hardware or at least one processor. As used herein, the singular expressions are intended to include plural forms as well, unless the context clearly dictates otherwise.
In the following description of the disclosure, an order of operations should be understood unrestrictedly unless a preceding operation should be performed logically and temporarily prior to a subsequent operation. That is, except such an exceptional case, the essence of the disclosure will not be changed even when an operation described as a subsequent operation is performed prior to an operation described as a preceding operation, and the scope of the disclosure should be defined regardless of the order of operations. As used herein, the expression “A or B” should be defined not only as selectively referring to either A or B but also including both A and B. The term “include” as used herein should be understood as additionally including other components in addition to listed components.
In the present specification, only essential components required to describe the disclosure are described and components that are not related to the essence of the disclosure are not described. In addition, the term “include” should not be interpreted as an exclusive meaning including only components described herein, but should be interpreted as a non-exclusive meaning including other components.
In the following description of the disclosure, related well-known functions or components are briefly described or not described when it is determined that they would obscure the subject matter of the disclosure due to unnecessary detail. Meanwhile, embodiments may be independently implemented or operated but may be implemented or operated in combination.
Referring to
The electronic apparatus 100 may transmit encrypted data to the external device 200. For example, the encrypted data may be data encrypted by homomorphic encryption (HE) or encrypted quotient polynomial rings (e.g., Q[t]/(ϕ(t)). The quotient polynomial rings may be each a polynomial for performing a modular arithmetic on a general polynomial ring. The HE may include quotient polynomial rings with many additions or multiplications. The electronic device 100 may transmit the encrypted quotient polynomial rings to an external device. In the disclosure, , Q and may denote an integer ring, ring of integers modulo a positive integer Q, and a finite field, respectively. In the disclosure, the base number of a log may be 2 unless otherwise indicated.
The external device 200 may perform an operation according to a layer on the basis of quotient polynomial rings received from the electronic apparatus 100, and calculate a result value of the operation. For example, the external device 200 may perform an operation on quotient polynomial rings using a layer arithmetic circuit where an input value is 2. The external device 200 may transmit the calculated result value of the operation to the electronic apparatus 100.
The electronic apparatus 100 may verify the result value of the operation received from the external device 200. For example, the electronic apparatus 100 may verify the result value of the operation using an interactive proof protocol with the external device 200. In an embodiment, the interactive proof protocol may include a Goldwasser, Kalai, and Rothblum's (GKR) protocol.
As described above, in quotient polynomial rings Q[t]/(ϕ(t)) encrypted with homomorphic encryption (HE), φ(t) may be 212 or more. A general verifiable computation (VC) system may verify an operation in a finite field. Accordingly, in order to verify an operation performed on quotient polynomial rings that are not finite fields by the electronic apparatus 100, more verbose computations should be performed in a finite field and thus significant overhead may occur in a verification process.
Thus, the electronic apparatus 100 of the disclosure may verify the result value of the operation using a one-point reduction method to increase the efficiency of the verification process. That is, the electronic apparatus 100 may transmit a random value related to the quotient polynomial rings to the external device 200. The external device 200 may perform an operation process in a reverse order on the basis of the random value received from the electronic apparatus 100. The external device 200 may calculate a result value of the operation through the operation process with multiple layers. Claim data may be data obtained by performing the operation in the order from a last layer to an initial layer in an operation process through which the result value of the operation is calculated. The external device 200 may calculate claim data through an operation process in the reverse order to the order of a process of calculating the result value of the operation. The claim data may be data related to an initial quotient polynomial ring transmitted from the electronic apparatus 100 to the external device 200.
For example, the claim data may be a value obtained by substituting a random value into the quotient polynomial rings received from the electronic apparatus 100. The external device 200 may transmit the claim data to the electronic apparatus 100. That is, the electronic apparatus 100 may obtain an operation result obtained by substituting the random value into the quotient polynomial rings transmitted to the external device 200. Thereafter, the electronic apparatus 100 may compare the obtained operation result with the received claim data to determine whether the operation result and the claim data are the same. The electronic apparatus 100 may determine that the received result value is true when the operation result and the claim data are the same, and determine that the received result value is false when the operation result and the claim data are not the same.
Alternatively, the electronic apparatus 100 may commit data with the external device 200 and verify the result value. For example, the electronic apparatus 100 may transmit coefficient information of the quotient polynomial rings to the external device 200 to commit the coefficient information with the external device 200. The external device 200 may calculate claim data by performing the operation process in the reverse order on the basis of the committed coefficient information. In an embodiment, the external device 200 may calculate claim data by performing a modular arithmetic mod φ(t) on the committed coefficient information. In addition, the external device 200 may transmit the calculated claim data to the electronic apparatus 100. The electronic apparatus 100 may determine whether the claim data is true by comparing an operation value obtained by performing the modular arithmetic on the quotient polynomial rings with the claim data obtained by performing the modular arithmetic and received from the external device 200. The modular arithmetic is an operation of dividing a polynomial ring by an N-order expression to reduce a degree of the polynomial ring. Accordingly, the electronic apparatus 100 may shorten a verification time by verifying the claim data of the polynomial ring on which the modular arithmetic is performed.
Alternatively, the electronic apparatus 100 may commit operation-related information and operation data of an operation performed on each of a plurality of layers by the external device 200. The external device 200 may sequentially perform the operation, starting from the last layer among the plurality of layers. The external device 200 may transmit the operation-related information and the operation data to the electronic apparatus 100. The electronic apparatus 100 may receive the operation-related information and the operation data from the external device 200, and verify the operation data on the basis of the received operation-related information. When the operation data is true, the electronic apparatus 100 may commit the operation-related information and the operation data with the external device 200. When operation-related information and operation data for one layer are committed with the electronic apparatus 100, the external device 200 may perform a subsequent operation process. For example, the initial layer may be a first layer, and the last layer may be an nth layer. When the external device 200 commits operation-related information and operation data for the nth layer with the electronic apparatus 100, the external device 200 may commit operation-related information and operation data for an (n−1)th layer with the electronic apparatus 100. When the electronic apparatus 100 determines that the operation-related information and the operation data for the first layer are true by repeatedly performing the process described above, a result value calculated by the external device 200 may be verified as true.
That is, the electronic apparatus 100 may receive operation-related information and operation data for each of at least one layer from the external device 200. In addition, the electronic apparatus 100 may verify the operation data of each of the at least one layer on the basis of the received operation-related information. In an embodiment, the operation-related information may include arithmetic expression information, coefficient information, and the like. When the operation-related information is arithmetic expression information, the external device 200 may transmit operation data obtained by performing the modular arithmetic to the electronic apparatus 100.
The electronic apparatus 100 may perform the modular arithmetic on the basis of the received information about the arithmetic expression, and verify (or commit) the operation data on the basis of the relationship between the operation data obtained by performing the modular arithmetic and the operation data received from the external device 200.
Referring to
The communication interface 110 may communicate with the external device 200. The communication interface 110 may transmit encrypted quotient polynomial rings to the external device 200 and receive a result value of an operation from the external device 200. The communication interface 110 may also receive claim data for verifying the result value of the operation from the external device 200. Alternatively, the communication interface 110 may transmit coefficient information of quotient polynomial rings and a random value to the external device 200, and receive operation data and operation-related information for each layer from the external device 200. For example, the communication interface 110 may communicate with the external device 200 by least one communication method among Wi-Fi, Wi-Fi direct, Bluetooth, Zigbee, 3rd Generation (3G), 3rd Generation Partnership Project (3GPP), and Long-Term Evolution (LTE). The communication interface 110 may be referred to as a communication device, a communicator, a communication module, a transceiver, or the like.
The processor 120 may control components of the electronic apparatus 100. For example, the processor 120 may control the communication interface 110 to transmit data to and receive data from the external device 200.
The processor 120 may verify a result value of an operation received from the external device 200. The processor 120 may transmit encrypted quotient polynomial rings to the external device 200 and receive a result value obtained by performing the operation on at least one layer on the basis of the transmitted encrypted quotient polynomial rings through the communication interface 110. In addition, the processor 120 may transmit a random value to the external device 200 and receive claim data, which is obtained by the external device 200 by performing an operation process in a reverse order on the basis of the random value, through the communication interface 110. The processor 120 may verify the received result value on the basis of a value of the quotient polynomial rings corresponding to the random value and the received claim data. That is, the processor 120 may determine that the result value of the operation received from the external device 200 is true when the value of the quotient polynomial rings corresponding to the random value is the same as the received result value.
Alternatively, the processor 120 may transmit coefficient information of the quotient polynomial rings to the external device 200 and receive claim data, which is obtained by performing the operation process in the reverse order on the basis of the coefficient information, through the communication interface 110.
Alternatively, the processor 120 may receive operation-related information and operation data for each of at least one layer through the communication interface 110. In addition, the processor 120 may verify the operation data of each of the at least one layer on the basis of the received operation-related information. That is, the processor 120 may sequentially receive and verify operation-related information and operation data in the order from a last layer to an initial layer among the at least one layer. When it is determined that the operation-related information and operation data related to an nth layer are true, the processor 120 may commit the operation-related information and operation data related to the nth layer with the external device 200. In addition, the processor 120 may receive operation-related information and operation data related to an (n−1)th layer through the communication interface 110, and verify them. In an embodiment, the operation-related information may include arithmetic expression information, coefficient information, and the like. When the operation-related information is the information about the arithmetic expression, the processor 120 may verify the operation data on the basis of the relationship between the information about the arithmetic expression on which the modular arithmetic is performed and the operation data received from the external device 200.
Referring to
A control command may be received from a user through the input interface 130. For example, a control command related to each component of the electronic apparatus 100 or the like may be received through the input interface 130. For example, the input interface 130 may include a keyboard, a button, a keypad, a touch pad, or a touch screen. The input interface 130 may be referred to as an input device, an inputter, an input module, or the like.
The camera 140 may capture an image of a surrounding environment. The processor 120 may perform a control operation according to a user's command or a preset algorithm on the basis of the captured image. For example, the camera 140 may include an RGB camera, a depth camera, a wide-angle camera, a telephoto camera, or the like.
Sound of a surrounding environment or a user's voice may be input through the microphone 150. The processor 120 may perform a control operation according to a command from a user or the preset algorithm on the basis of the input sound or voice. For example, the microphone 150 may include a general microphone, a surround microphone, a directional microphone, or the like.
The speaker 160 may output a sound signal. For example, the speaker 160 may output a verification result of a result value of an operation in the form of sound. In addition, the speaker 160 may output information about a command input by a user, warning-related information, operation-related information, notification information, or the like in the form of voice or notification sound.
The display 170 may output data processed by the processor 120 in the form of image. The display 170 may output a verification result of a result value of the operation in the form of image. For example, the display 170 may be embodied as a liquid crystal display (LCD), an organic light-emitting diode (OLED), a flexible display, a touch screen, or the like. When the display 170 is embodied as a touch screen, the electronic apparatus 100 may receive a control command through the touch screen.
The memory 180 may store data, an algorithm, and the like for performing functions of the electronic apparatus 100, and store a program, commands, and the like to be executed by the electronic apparatus 100. In addition, the memory 180 may store a result value of an operation, information related to the operation, data about the operation, and the like that are received from the external device 200. The algorithm or data stored in the memory 180 may be loaded into the processor 120 to perform a process of verifying the result value of the operation under the control of the processor 120. For example, the memory 180 may be implemented as a type of memory such as a read-only memory (ROM), a random access memory (RAM), a hard disc drive (HDD), a solid-state driver (SSD), or a memory card.
The sensor 190 may sense a surrounding environment of the electronic apparatus 100. Examples of the sensor 190 may include an angle sensor, an acceleration sensor, a gravity sensor, a gyro sensor, a geomagnetic sensor, a direction sensor, an infrared sensor, an ultrasonic sensor, a time-of-flight (ToF) sensor, a light wave detection and ranging (LiDAR) sensor, a laser sensor, a motion recognition sensor, a heat sensor, an image sensor, a tracking sensor, a proximity sensor, an illuminance sensor, a voltmeter, a current meter, a barometer, a hygrometer, a thermometer, a touch sensor, and the like.
The electronic apparatus 100 may include all or some of the components described above. The configuration of the electronic apparatus 100 has been described above. A process of verifying a result value of an operation will be described below.
A method of verifying a result value of an operation using the GKR protocol will be described with reference to
According to the disclosure, an identical equation of a polynomial may be checked efficiently by evaluating each polynomial at a random point. Specifically, in the disclosure, when C is an arithmetic circuit for a polynomial rings p[t] where p is a prime number, whether a claim output g(t) is a correct output of the arithmetic circuit C with respect to an input fi(t) may be checked. For example, the arithmetic circuit C may include fan-in-2 gates in which a maximum input for performing a subtraction or multiplication operation is 2. That is, the electronic apparatus 100 may verify whether C(f1(t), f2(t), . . . , fn(t))=g(t).
The electronic apparatus 100 may randomly sample r0 in p and verify an equation below. Here,
C
A verification calculation target relates to p other than p[t] and thus costs of verification may decrease significantly (about 1/(degφ(t)).
The disclosure may be extended to a method of checking the calculation of a quotient polynomial ring p[t]/(ϕ(t)) involving a modular reduction operation by φ(t) may be expanded. That is, the calculation of Q[t]/(ϕ(t)) may be expressed as the calculation of p[t] involving the modular reduction operation by φ(t). According to the disclosure, an equation below for q(t) ∈ p[t] may be verified.
C(f1(t), f2(t), . . . , fn(t))=g(t)+q(t)φ(t) (2)
That is, the external device 200 may provide the electronic apparatus 100 with g(t)+q(t)φ(t), and the electronic apparatus 100 may calculate a result value g(t) by performing modular reduction. Alternatively, the electronic apparatus 100 may commit a polynomial expression of g(t)+q(t)φ(t) (or a coefficient) by a commitment scheme to reduce costs. Thereafter, the electronic apparatus 100 may obtain evaluation values, i.e., g(r0)+q(r0)φ(r0) and g(r0), for a random value of r0, which are required for a verification process. A coefficient of g may be linearly calculated from g(t)+q(t)φ(t) and thus the electronic apparatus 100 may obtain the evaluation value of g(r0) from the committed polynomial expression.
In addition, the disclosure may be extended to a method of verifying the calculation of Q[t]/(ϕ(t)) with the power Q of a prime number (excluding the prime number). For example, when Q is the power of 2, the calculation of Q[t] may be included in p[t]. Here, p may be a prime number sufficiently greater than Q (e.g., p>2 Q). The external device 200 may perform modular reduction by Q after each multiplication. Because the calculation of p[t] is given, the modular reduction by Q may be verified through modular reduction by q(t) by the commitment scheme. That is, the external device 200 may check values obtained before and after the modular reduction by Q and commit a bit representation of each polynomial coefficient by the commitment scheme of performing a verification process. As in the modular reduction by φ(t), an efficient algorithm allowing the electronic apparatus 100 to obtain a value required for commitment (e.g., multilinear expansion) may be provided. Thus, according to the disclosure, the calculation of Q[t]/(ϕ(t)) may be verified similar to the verification of the calculation of p[t]/(ϕ(t)). According to the disclosure, a rounding operation (a(t)→[a(t)/2k]) indispensable for an HE system in which there are particularly a lot of bitwise operations for each coefficient may be verified.
According to an embodiment of the disclosure, a value of an operation performed on quotient polynomial rings may be verified using the GKR protocol. The GKR protocol may be an interactive proof protocol for verifying a value of an operation while data is transmitted between the electronic apparatus 100 (verifier V) and the external device 200 (prover P).
The external device 200 may provide the electronic apparatus 100 with a claim output y for an input x ∈ X selected by the electronic apparatus 100. The electronic apparatus 100 and the external device 200 may exchange a series of messages with each other, and the electronic apparatus 100 may make an approval or rejection therefor. The interactive proof protocol may include features such as completeness and soundness. The completeness may be understood to mean that the external device 200 follows the interactive proof protocol for all inputs x ∈ X, and Pr[V accepts]=1 when y=f(x). The soundness may be understood to mean that Pr[V accepts]<λs when y≠f(x) for all inputs x ∈ X. Here, λs may be referred to as a soundness probability.
First, according to the Schwartz-Zippel lemma, when denotes a field and f:n→ denotes an n-variate non-zero polynomial D of total degree (the sum of degrees of variables),
in a random finite set A⊂C where D≤|A|. According to the lemma of a sum-check protocol,
when denotes a finite field and f:n→ denotes an n-variate polynomial of degree at most d<|| for each variable.
The external device 200 may calculate a result value by performing an operation requested by the electronic apparatus 100 using a circuit with a plurality of layers. In an embodiment, as shown in
The sum-check protocol of a verification process may be performed n rounds and performed in a reverse order to the order of the process of calculating the result value of the operation. That is, the external device 200 may calculate operation data at the fourth layer 14, calculate operation data at the third layer 13 on the basis of the operation data calculated at the fourth layer 14, calculate operation data at the second layer 12 on the basis of the operation data calculated at the third layer 13, and calculate operation data at the first layer 11 on the basis of the operation data calculated at the second layer 12.
In the sum-check protocol, when a prover P (e.g., an external device) transmits a value S(f) and a polynomial
to a verifier V (e.g., an electronic apparatus), the verifier V may check whether f1(0)+f1(1)=S(f) and reject the value S(f). At an ith round (2≤i≤n), when the verifier V may randomly select ri−1 from and transmit ri−1 to the prover P, the prover P may transmit a polynomial of
The verifier V may check whether fi−1(ri−1)=fi(0)+fi(1) instead of summing up and reject fi−1(ri−1). After a last nth round, the verifier V may approve the polynomial when fn(rn)=f(r1, r2, . . . , rn) for a random element rn ∈ and reject fn(rn).
That is, the verifier V may select a random point without summing up and check only an equation of fi(0)+fi(1)=fi−1(ri−1), and finally obtain a claim of f(r1, r2, . . . , rn)=A with respect to a value of A. That is, a sum check (the verification of an operation process) allows the verifier V to simply check an equation of (r1, r2, . . . , rn)=A instead of checking the summation of S(f).
The existence of the multilinear extension
Two MLEs may be identical to each other only when the same evaluation value is given for all {right arrow over (x)} ∈ {0, 1}n.
As described above, the GKR protocol may be understood as an interactive proof protocol for an arithmetic circuit C: n→ for a finite field F. When a layer arithmetic circuit (for ) where a depth is d, a size (i.e., the number of gates) is S, and a maximum input value is 2 is provided, each layer may include a gate that outputs a result of addition or multiplication of two inputs. An output layer may be 0, an input layer may be d, and an output of a gate of an (i +1)th layer may be used as an input of a gate of an ith layer. When Si denotes the size of the ith layer and is equal to the power of 2, i.e., Si=2si, for simplification, each gate of the ith layer may be numbered with a binary string of {0, 1}si (e.g., a leftmost gate corresponds to 0) and defined as a function of Vi: {0, 1}si→ associated with a given binary string of an output corresponding to the gate.
When
wherein a{tilde over (d)}di (or mũlti) may denote an MLE of a function that is 1 only when an input binary string represents an addition (or multiplication) gate that provides an input and corresponding two gates and that is 0 otherwise.
A protocol for the verification of an operation may be executed in units of layers, starting at an output layer. A verifier provided with an output of a circuit may evaluate at a random point {tilde over (V)}0 and obtain a claim of {tilde over (V)}0(z0)=v0. Next, the verifier may reduce the claim to {tilde over (V)}1(z1,0)=v1,0 and {tilde over (V)}1(z1,1)=v1,1, and execute the sum-check protocol on the relationship between the MLEs described above together with a prover. The verifier may obtain g1(t) :={tilde over (V)}1((1−t)z1,0+tz1,1) from the prover, reduce the claim again to {tilde over (V)}1(z1)=v1 to check whether g1(0)={tilde over (V)}1(z1,0) and g1(1)=(z1,1), and evaluate g1(t*):={tilde over (V)}1(z1)=v1. By repeatedly performing this process in units of layers, the verifier may finally obtain a claim of {tilde over (V)}d(zd)=vd and verify whether {tilde over (V)}0 defined as an input thereof is true. That is, the GKR protocol may be summarized as follows.
When C: n→ is an arithmetic circuit where the size (i.e., the number of gates) of a finite field is S and a depth is d, the GKR protocol may be understood as an interactive proof protocol for the arithmetic circuit C where costs of a prover P and a verifier V and soundness probability λs are defined by:
wherein Peval may denote costs of the prover P for evaluation of the circuit, and Pproof may denote costs of the prover P for generation of a proof.
Meanwhile, the commitment scheme may be used when a witness w is not to be transmitted to the verifier I (e.g., an electronic apparatus) from the prover P (e.g., an external device) or is to be hidden. For example, the witness w may be private data or additional data such as parameters. The commitment scheme may be expressed as follows.
D may be a domain, and a function of f: Dm×Dn→D may be taken into account. A functional commitment (FC) for f may be a tuple of four (probabilistic) polynomial time algorithms (e.g., setup, commit, open, and verify). It may be assumed that fis publicly known in all algorithms.
A commitment function for f may satisfy the following attributes (Pr[A|B] denotes a conditional probability of A when B is given):
In the functional commitment scheme for an MLE, a prover may provide a commitment cw for the witness w to a verifier and start the GKR protocol in the circuit C. When an evaluation value of the MLE corresponding to the witness w is necessary to persuade the verifier in the GKR protocol, the prover may open a commitment to the verifier V, which will verify the witness w, with a verification algorithm. The cost of the verifier may be much lower than that for reading the witness w, and the prover cannot deceive the validator because of the binding attribute of the commitment.
When p is a prime number, the electronic apparatus 100 may first process a polynomial ring p[t]. Because p is a finite field, the electronic apparatus 100 may reduce costs by verifying an equivalent arithmetic circuit Cp for the finite field instead of the arithmetic circuit C for p[t].
Meanwhile, the electronic apparatus 100 may transmit a random value to the external device 200 and verify a result value on the basis of data calculated by the external device 200 on the basis of the random value.
For example, the electronic apparatus 100 may execute the GRK protocol for an arithmetic circuit Cp for p generated by respectively replacing addition and multiplication gates of C for p[t] with addition and multiplication gates for p, when C: (p[t])n→p[t] denotes an arithmetic circuit for p[t], and X=(f1(t), f2(t), . . . , fn(t)) ∈ (p[t])n denotes an output corresponding to an input, i.e., Y=g(t) ∈ p[t], of the arithmetic circuit C, which is designated by the electronic apparatus 100 (verifier) and transmitted to the external device 200 (prover).
At the start of the protocol, the electronic apparatus 100 may perform sampling at a random point to in p, and convert an output Y into y :=g1(t0) ∈ p when Y=g(t) is taken into account at the point t0. In addition, the electronic apparatus 100 may convert an input X into x:=(f1(t0), f2(t0), . . . , fn(t0)) ∈ (p)n when each element is taken into account at the point t0. The electronic apparatus 100 may inform the external device 200 of the point t0, and verify the validity of Cp(x)=y, which is claimed by the external device 200 for the Cp. That is, the external device 200 may claim the circuit Cp for the input x. The electronic apparatus 100 may confirm that C(X)=Y is C(X)=Y only when it is determined the claimed Cp(x)=y is true.
Because in most circuits, the number n of inputs is much less than the size (the number of gates) S of each circuit, verification costs may be reduced by approximately 1/(Nlog N) according to the disclosure.
In addition, the electronic apparatus 100 may reduce verification costs through commitment with the external device 200.
For example, Ψ may denote an arithmetic circuit for z,59p for obtaining each coefficient of a polynomial. When F ∈ z,59p[t] is a given polynomial and Ψ(F) is a coefficient of a polynomial with an output of Ψ, the external device 200 may evaluate and commit t0, a0, b0 ∈ z,59p satisfying a0=F(t0) and b0=Ψ(F)(t0).
The external device 200 may commit a coefficient of F as a (functional) commitment for an MLE corresponding to the coefficient of F. The electronic apparatus 100 and the external device 200 may perform a verification process in the following order:
i) check whether a0 is F(t0) with an actually committed coefficient F;
ii) check whether b0 is G(t0) for a polynomial G; and
iii) check whether b0 isΨ(a0).
The above process may be verified by the GKR protocol for p and be based on the relationship between an MLE of the coefficient of F and the evaluation of F at a point to.
For example, when F(x)=Σi=0N−1αixi,
wherein {tilde over (V)}F may denote an MLE corresponding to a coefficient ai of F, and τ may denote an MLF defined as τ({right arrow over (p)}i)=t0pi for {right arrow over (p)}i ∈ {0, 1}logN. {right arrow over (p)}i is a binary number, and a value obtained from the translation of {right arrow over (p)}i, i.e., a leftmost entry of {right arrow over (p)}i may be a most significant bit.
The process i) may be performed as follows. The electronic apparatus 100 and the external device 200 may perform the sum-check protocol with respect to Equation 8 above. In addition, the electronic apparatus 100 may reduce the verification of a0=F(t0) to the verification of {tilde over (V)}F({right arrow over (r)}0)·τ({right arrow over (r)}0)=A. That is, the electronic apparatus 100 may evaluate τ({right arrow over (r)}0) on the basis of the commitment of the coefficient of F, and check {tilde over (V)}F({right arrow over (r)}0).
The process ii) is the same as the process i) except that the electronic apparatus 100 and the external device 200 perform the sum check for G instead of F. After the sum check, the electronic apparatus 100 may check whether {tilde over (V)}G({right arrow over (r)}1)={tilde over (V)}Ψ(F)({right arrow over (r)}1)(the process iii). The checking of whether
may contribute to skipping the verification of for performing a general GKR protocol by the circuit Ψ, and may be verified again by the electronic apparatus 100 for commitment of the column of F.
Lastly, in the process iii of processing a one-point reduction value instead of a polynomial, a polynomial G, which is an actual output of the circuit Ψ with respect to F, may be proved according to a one-point reduction strategy for a circuit for p[t].
A one-point reduction method using a contract may be generalized to prove and verify a case in which many polynomials are parallel i.e., that {ai, bi, Fi(t0), Ψ(Fi)(t0)}M satisfies ai=F(ti) and bi=Ψ(F)(ti)for all i ∈ {1, . . . , M}. In this case, the relationship between MLEs may be used as described below. Costs of the external device 200 increase M times but costs of the electronic apparatus 100 may increase only O(log M) times compared to a polynomial.
wherein {right arrow over (s)} ∈plogM and {tilde over (V)}F
Quotient polynomial rings Q[t]/φ(t) may be verified as follows. C may denote an arithmetic circuit for Q[t]/φ(t), and N may denote a degree of the polynomial φ(t). An input may be converted by an equivalent circuit for p[t], as follows:
Here, through a modular arithmetic (mod-φ(t)) operation by φ(t), h ∈ p[t] with degree less than N, e.g., H=h+qφ, may be output for some q ∈ Z,[r] when a polynomial of H ∈ p[t] with degree less than (2 N−1) is input. A mod-q(t) operation may be represented by an arithmetic circuit for p, which outputs a coefficient of a polynomial when a coefficient of His input. The electronic apparatus 100 may verify C for p[t] instead of
Because the mod-q(t) operation is performed to replace each multiplication gate with a multiplication gate for p[t] and commit the multiplication gate, the costs of the electronic apparatus 100 may decrease.
The electronic apparatus 100 may verify a bitwise operation on p[t] in a circuit for p. Many bitwise operation such as left and right shift (», «) and extraction a→Σi=1laj
When Q is the power of 2, an arithmetic circuit for Q[t] or Q[t]/(ϕ(t)) may be verified as described below. The verification and commitment of calculation should be performed in a finite field. In the disclosure, a method for Q may be generalized to a method for Q[t] and Q[t]/(ϕ(t)) by using a verifiable bitwise operation for p.
CQ may denote an arithmetic circuit for Q[t]. Because Q is the power of 2, a modular reduction operation by Q may be represented by a bitwise operation for p[t].
In the case of an arithmetic circuit for Q[t]/(ϕ(t)), an additional modular reduction operation by φ may be performed. When a circuit CQ,φ for Q[t]/(ϕ(t)) is given, Cφ may be understood as an equivalent circuit for p[t] where the modular reduction operation by Q and the modular reduction operation by φ are used.
To verify the mod-φ operation and the mod-Q operation, the external device 200 may commit a coefficient of F and a binary representation of F mod φ. In addition, the external device 200 may check Cφ by applying a process of verifying p[t], as well as the commitment of the coefficient of F and a binary representation of F mod φ.
Referring to
The electronic apparatus may receive, from the external device, a result value calculated through an operation process for at least one layer on the basis of transmitted quotient polynomial rings (S520). Next, the electronic apparatus may transmit a random value to the external device, and receive, from the external device, claim data obtained by performing the operation process in the reverse order on the basis of the random value (S530).
Alternatively, the electronic apparatus 100 may transmit coefficient information of the quotient polynomial rings to the external device, and receive claim data obtained by performing the operation process in the reverse order on the basis of the coefficient information.
The electronic apparatus may verify the received result value on the basis of a value of the quotient polynomial rings corresponding to the random value and the received claim data (S540). The electronic apparatus may receive operation-related information and operation data of each of at least one layer, and verify the operation data of each of the at least one layer on the basis of the received operation-related information. That is, the electronic apparatus may sequentially receive and verify operation-related information and operation data in the order from a last layer to an initial layer among the at least one layer. For example, the operation-related information may include arithmetic expression information, coefficient information, and the like. When the operation-related information is the arithmetic expression information, the electronic apparatus may perform the modular arithmetic on the arithmetic expression information and verify the operation data on the basis of the relationship between the arithmetic expression information on which the modular arithmetic is performed and the received operation data.
Referring to
The verification methods of an electronic apparatus according to the various embodiments described above may be provided through a computer program product. The computer program product may be a software (S/W) program or may include a non-transitory computer-readable medium storing the S/W program.
The non-transitory computer-readable medium should be understood as a medium that stores data semi-permanently and that is readable by a machine rather than a medium, e.g., a register, a cache or a memory, that stores data for a short time. Specifically, various applications or programs as described above may be provided by being stored in a non-transitory computer-readable recording medium such as a CD, a DVD, a hard disk, a Blu-ray disk, a USB, a memory card, a ROM, or the like.
While embodiments of the disclosure have been illustrated and described herein, the disclosure is not limited thereto and various modifications may be made therein by those of ordinary skill in the art without departing from the gist of the disclosure as claimed in the accompanying claims. These modifications should not be understood separately from the scope and spirit of the disclosure.
Number | Date | Country | Kind |
---|---|---|---|
10-2022-0165042 | Nov 2022 | KR | national |