WO2014035146A2 - 환 동형 사상을 이용한 동형 암호화 방법과 복호화 방법 및 이를 이용한 장치 - Google Patents

환 동형 사상을 이용한 동형 암호화 방법과 복호화 방법 및 이를 이용한 장치 Download PDF

Info

Publication number
WO2014035146A2
WO2014035146A2 PCT/KR2013/007743 KR2013007743W WO2014035146A2 WO 2014035146 A2 WO2014035146 A2 WO 2014035146A2 KR 2013007743 W KR2013007743 W KR 2013007743W WO 2014035146 A2 WO2014035146 A2 WO 2014035146A2
Authority
WO
WIPO (PCT)
Prior art keywords
modular
positive integers
randomized
unit
alpha
Prior art date
Application number
PCT/KR2013/007743
Other languages
English (en)
French (fr)
Other versions
WO2014035146A3 (ko
Inventor
천정희
김진수
이문성
Original Assignee
서울대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020120094061A external-priority patent/KR101440680B1/ko
Priority claimed from KR1020130007760A external-priority patent/KR101449239B1/ko
Application filed by 서울대학교산학협력단 filed Critical 서울대학교산학협력단
Priority to US14/127,478 priority Critical patent/US20150312028A1/en
Publication of WO2014035146A2 publication Critical patent/WO2014035146A2/ko
Publication of WO2014035146A3 publication Critical patent/WO2014035146A3/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption

Definitions

  • the present invention relates to a homogeneous encryption method, a decryption method using a homogeneous mapping, and an apparatus using the same.
  • Quasi-dong encryption technology is an encryption technology that allows multiplication or addition in an encrypted state, and is expected to be utilized in various fields. For example, if there is a need to protect privacy, quasi-dynamic encryption techniques can be useful because they can be processed in an encrypted state without the need for decryption.
  • an encryption device using Ring Isomorphism which is safe, has a large number of additions and multiplications, has no limitation on the size of plain text, and is efficient in speed and storage capacity
  • a decoding apparatus and method can be provided.
  • an encryption device using Ring Isomorphism which is safe, has a large number of additions and multiplications, has no limitation on the size of plain text, and is efficient in speed and storage capacity
  • a computer-readable recording medium having recorded thereon a method, a decoding apparatus and a program for executing the method.
  • a refresh apparatus capable of achieving bootstrapping without squaring without parameter increase of quasi-homogenous cryptography.
  • r ⁇ R, r ' ⁇ R', and the function ( ⁇ ) is a ring Isomorphism, isomorphic encryption method using a circular mapping is provided.
  • the ciphertext (c) is encrypted by a homogeneous encryption method using a homologous mapping.
  • the homogeneous encryption method uses a plain text (m) or a randomized plaintext as follows.
  • the plain text or randomized data r is converted into
  • r ⁇ R, r ' ⁇ R', the function ( ⁇ ) is a ring-type mapping (Ring Isomorphism), characterized in that there is provided a homogeneous encryption device using a circular mapping.
  • the value calculated by the valuation unit and the valuation unit that applies the key s to the ciphertext (c) for valuation by dividing by q is modular. It includes a modular operation unit for calculating the,
  • the ciphertext (c) is encrypted by an encryption method using a circular mapping, wherein the encryption method converts a plain text or data (r) in which the plain text is randomized into the following equation.
  • a decoding apparatus wherein r ⁇ R, r ' ⁇ R', and the function ⁇ is Ring Isomorphism.
  • Any one of the methods described above may be provided by a computer-readable recording medium characterized by recording a program.
  • encryption is possible up to a secure level, and in an encrypted state, the number of additions and multiplications can be supported up to the number of times practically acceptable.
  • size of the plain text to be encrypted can be unlimited and speed and storage capacity can be efficient.
  • FIG. 1 is a view for explaining an encryption apparatus using ring Isomorphism according to an embodiment of the present invention
  • FIG. 2 is a view for explaining a decoding apparatus according to an embodiment of the present invention.
  • FIG. 3 is a view for explaining a decoding apparatus according to another embodiment of the present invention.
  • FIG. 4 is a view for explaining an encryption apparatus according to an embodiment of the present invention.
  • FIG. 5 is a view for explaining a decoding apparatus according to an embodiment of the present invention.
  • FIG. 6 is a view for explaining a calculation apparatus according to an embodiment of the present invention.
  • FIG. 7 is a view for explaining an encryption method according to an embodiment of the present invention.
  • FIG. 9 is a view for explaining a decoding method according to an embodiment of the present invention.
  • FIG. 10 is a view for explaining a decoding method according to an embodiment of the present invention.
  • FIG. 11 is a diagram illustrating an encryption device and a decryption device according to an embodiment of the present invention.
  • FIG. 13 is a view for explaining a decoding method according to an embodiment of the present invention.
  • FIG. 14 is a diagram illustrating an encryption apparatus and a decryption apparatus according to an embodiment of the present invention.
  • 15 is a view for explaining an encryption method according to an embodiment of the present invention.
  • 16 is a view for explaining a decoding method according to an embodiment of the present invention.
  • FIG. 17 is a view for explaining a refresh apparatus according to an embodiment of the present invention.
  • FIG. 18 is a diagram for describing a computer system, according to an exemplary embodiment.
  • f is a ring-isomorphism from R to R 'if it is an annular homomorphism and one-to-one correspondence.
  • r ' (r' 1 , r ' 2 , ..., r' k )
  • m i means any one of the components m 1 , m 2 , ..., m k of m and ri means any one of the components r 1 , r 2 , ..., r k of r And r ' i means any one of components r' 1 , r ' 2 ,..., R' k , and q i represents components of q q 1 , q 2 , ..., q k means any one, e i means any one of the components e 1 , e 2 ,..., e k , and ⁇ i means the components ⁇ 1 , ⁇ 2 ,... ., it refers to any one of ⁇ k.
  • FIG. 1 is a view for explaining an encryption apparatus using ring Isomorphism according to an embodiment of the present invention.
  • an encryption apparatus using ring isomorphism may include a randomizer 20 and a converter 30.
  • the randomization unit 20 may add the error e to the plain text m to perform randomization. That is, the randomization unit 20 adds an arbitrary error e belonging to the error space E to an arbitrary plain text m belonging to the plain text space M and adds it to R which is the minimum surplus set of modular n. Change to any r that belongs.
  • the plain text m may be any vector or scalar, but in the present embodiment, the plain text m is a scalar for the purpose of describing the present invention.
  • R Zn, r ⁇ Zn, and Zn is the minimum surplus set of modular n.
  • eq or eq means a dot product of a component of the vector e and a component of the vector q.
  • i may be defined as 1 ⁇ i ⁇ k.
  • the conversion unit 30 converts the data r randomized by the randomization unit 20 into an element r 'belonging to the space R' using the function ⁇ .
  • the function ( ⁇ ) used in the conversion unit 30 is Ring Isomorphism.
  • R and R ' may be defined as follows.
  • r ' may be a polynomial f (x) that satisfies
  • q (q 1 , q 2 , ..., q k ), q ⁇ Q, q i are integers that are prime each other, 1 ⁇ i ⁇ k, i and k are positive integers.
  • f (x) is an element of R ', and f (x) is defined as
  • f (x) b 0 + b 1 x 1 + b 2 x 2 + ... + b k-1 x k-1 , b i ⁇ ⁇ 0, 1, ..., n-1 ⁇
  • p (x) p 0 + p 1 x 1 + p 2 x 2 + ... + p k-1 x k-1, p i ⁇ ⁇ 0, 1, ..., n-1 ⁇
  • Z * n is the set of elements in which the inverse of Z n exists, and Z n is the surplus set of modular n.
  • N is a positive integer that satisfies the following condition, and the size of n may vary according to the number of times of support.
  • the size means the size of the integer.
  • the plain text m is a scalar, but the plain text m is also applicable to the present invention even in the case of a vector.
  • the order j of the plain text must satisfy j ⁇ k.
  • the randomization unit 20 adds the random values r j + 1 ,..., R k to make the plain text k orders, then randomizes it.
  • the encryption device using the rest of the Chinese theorem is a modular operation unit (not shown), random It may be configured to include a fire (not shown), and a conversion unit (not shown).
  • the modular operator (not shown) may perform a formula expressed as follows.
  • q (q 1 , q 2 ,..., Q k ), and q 1 , q 2 , ..., q k are positive integers that are prime to each other.
  • the randomization unit (not shown) may be randomized by applying ⁇ Equation 1> to m 'calculated by the modular operation unit.
  • the conversion unit may convert the data r randomized by the randomization unit (not shown) into r 'using the remaining theorem of the Chinese.
  • the operation of the transform unit (not shown) is expressed as a formula below.
  • the key may be a secret key.
  • CRT for example, ⁇ 1, ⁇ 2, ..., ⁇ k
  • ⁇ 1 , ⁇ 2 ,..., ⁇ k of the secret key s can be selected such that all q i are primed with b.
  • b is defined as the product of ⁇ 1 to ⁇ k as follows.
  • This embodiment can be said to be a secure cryptosystem if the EACDP (Error-free Approximate Greatest Common Divisor Problem) is secure.
  • the randomization part will randomize by applying ⁇ Equation 1> to the plaintext m.
  • the conversion unit converts the data r randomized by the randomization unit into c using the Chinese theorem.
  • FIG. 2 is a diagram illustrating an apparatus for decrypting an encrypted text encrypted by a homogeneous encryption method using ring isomorphism according to an embodiment of the present invention.
  • the present decoding device may include an evolution unit 40 and a modular operator 50.
  • the evaluating unit 40 can apply the key s to the encrypted text c encrypted by the homogeneous encryption method using the circular mapping, and thereby the evaluation.
  • the evolution unit 40 may perform an operation as shown in Equation 4 below.
  • c ⁇ C, c may be an encrypted text encrypted by the first embodiment described with reference to FIG. 1, and ⁇ ⁇ 1 is an inverse function of ⁇ .
  • the evaluating unit 40 calculates f ( ⁇ 1 ) from f (x) based on the expression (4).
  • the evaluating portion 40 is determined from f (x). (f ( ⁇ 1 ), f ( ⁇ 2 ), ..., f ( ⁇ j )) are calculated.
  • the modular operator 50 may perform an operation as shown in Equation 5 below.
  • the modular operator 50 may calculate a modular value by dividing the value r evaluated by the evaluator 40 by q, thereby generating a plain text m.
  • the decryption process of the decryption apparatus may be summarized as follows.
  • the decryption process of the decryption apparatus may be summarized as follows.
  • the decryption apparatus may decrypt the encrypted text encrypted by the remaining theorem of the Chinese described with reference to FIG. 1.
  • FIG. 3 is a diagram for describing an apparatus for decrypting an encrypted text encrypted by a homogeneous encryption method using ring isomorphism according to another embodiment of the present invention.
  • the decoding apparatus may include a modular calculator 45 and a CRT calculator 55.
  • the modular operator 45 performs an operation expressed by the following equation.
  • c denotes a ciphertext encrypted by applying the Chinese theorem
  • q (q 1 , q 2 , ..., q k )
  • the CRT calculator 55 calculates the plain text m by performing an operation expressed by the following equation.
  • the decoding apparatus described with reference to FIG. 3 performs a modular operation on the plain text m, randomizes m 'as a result of the modular operation, and calculates r. To r '.
  • the encryption apparatus to omit the step of calculating the modulus for the plain text (m) and to randomize the plain text (m) immediately after calculating the encrypted text by applying the Chinese theorem
  • the apparatus for decrypting the calculated cipher text includes the following modular arithmetic unit 45 and CRT arithmetic unit 55.
  • the modular operator 45 performs the following equation.
  • the CRT calculating unit 55 calculates the plain text m by applying the remaining Chinese theorem to c 'as in the following equation.
  • FIG. 4 is a diagram illustrating an encryption apparatus using ring isomorphism according to an embodiment of the present invention.
  • an encryption apparatus using ring Isomorphism may include a modular operation unit 10, a randomization unit 20, and a conversion unit 30.
  • the modular operation unit 10 divides the plain text m by q to perform a modular operation.
  • the fire department 20 performs the following operation.
  • the randomization unit 20 converts one element r in the space R by applying a function? To m '.
  • the conversion unit 30 performs the following operation using a function ⁇ , which is a ring isomorphism.
  • the conversion unit 30 may perform the conversion operation using Lagrangian interpolation or the Chinese theorem. Since the conversion operation using the Lagrangian interpolation method or the Chinese residual theorem has been described with reference to FIG. 1, a detailed description thereof will be omitted.
  • FIG. 5 is a diagram illustrating an apparatus for decrypting an encrypted text encrypted by a homogeneous encryption method using ring isomorphism according to an embodiment of the present invention.
  • the decoding apparatus may include an evolution unit 40, a first modular calculator 50, and a second modular calculator 60.
  • the evaluation unit 40 evaluates the encrypted text encrypted by the embodiment described with reference to FIG. 4 as follows.
  • the first modular calculating section 50 calculates the modularity by dividing the value r evaluated by the evaluating section 40 by q.
  • the second modular operator 60 divides the value calculated by the first modular operator 50 into q again to calculate the modular, thereby generating the plain text m.
  • evaluation unit 40 and the first modular operation unit 50 have the same or similar functions as those of the above-described third embodiment, and thus description thereof will be omitted.
  • FIG. 6 is a diagram illustrating an operation device for performing an operation on an encrypted text encrypted by an encryption method according to an embodiment of the present invention.
  • the computing device may be implemented in, for example, an encryption device, a decryption device, or an encryption / decryption device according to an embodiment of the present invention.
  • FIG. 6A is for explaining an addition operation
  • FIG. 6B is for explaining a multiplication operation.
  • the computing device may include an add operation unit 70 and / or a multiplication operation unit 80.
  • the add operation unit 70 can perform an add operation according to the following formula.
  • the multiplication operation unit 80 can perform a multiplication operation by performing the following equation.
  • c 1 , c 2 are, for example, ciphertexts encrypted by the methods described in the above-mentioned A. First and C. third embodiments, and p (x) and n are c 1. , which is used when encrypted with c 2 .
  • the computing device may be configured to include at least one of the addition operator 70 and the multiplication operator 80 described above.
  • the addition operator 70 and the multiplication operator 80 may include hardware and And / or implemented by software.
  • FIG. 7 is a diagram for describing an encryption method using ring isomorphism according to an embodiment of the present invention.
  • the encryption method using ring Isomorphism may include a randomization step S101 and a conversion step S103.
  • the plain text may be randomized by Equation 1.
  • the randomization step S101 may be performed by the randomization unit 20 in the above-described first embodiment, for example.
  • the data r randomized in the randomizing step S101 may be converted into an encrypted text using the function ⁇ .
  • the function ( ⁇ ) used in the conversion step (S103) is Ring Isomorphism.
  • the function ⁇ used in the conversion step S103 may be, for example, Lagrangian interpolation or the Chinese theorem.
  • the conversion step S103 may be performed by the conversion unit 30 in the above-described first embodiment, for example.
  • FIG. 8 is a diagram for describing an encryption method using ring isomorphism according to an embodiment of the present invention.
  • a modular operation for performing a modular operation (S201), a randomization step (S201), and a conversion step (S203) are performed. It may include.
  • the embodiment of FIG. 8 further includes only the modular operation step S201.
  • Operations performed in the randomization step S203 and the conversion step S205 of FIG. 8 may be the same as or similar to the operations performed in the randomization step S101 and the conversion step S103 of FIG. 7, respectively. .
  • the plain text m may be divided by q to perform a modular operation.
  • the plain text may be randomized by Equation 1.
  • the randomization step S203 may be performed by the randomization unit 20 in the above-described first embodiment, for example.
  • the data r randomized in the randomization step S203 may be converted into an encrypted text using the function ⁇ .
  • the function ( ⁇ ) used in the transformation step (S205) is Ring Isomorphism.
  • the function ⁇ used in the transforming step S205 may be, for example, Lagrangian interpolation or the Chinese theorem.
  • the conversion step S205 may be performed by, for example, the conversion unit 30 in the above-described first embodiment.
  • FIG. 9 is a diagram illustrating a method of decrypting an encrypted text encrypted by a homogeneous encryption method using ring isomorphism according to an embodiment of the present invention.
  • the decoding apparatus may include an evaluating step S301 and a modular calculating step S303.
  • the key s can be applied to the encrypted text c encrypted by the homogeneous encryption method using the circular mapping, thereby enabling the evaluation.
  • the following operation may be performed.
  • c ⁇ C, c may be an encrypted text encrypted by the first embodiment described with reference to FIG. 1, R and ⁇ are as defined in the first embodiment, and ⁇ ⁇ 1 is an inverse function of ⁇ . .
  • f ( ⁇ 1 ) is calculated from f (x).
  • the ciphertext is a polynomial f (x) and the plaintext before being encrypted was a vector ((m 1 , m 2 , ..., m j )), in the evaluating step S301, from f (x) to (f ( ⁇ ) 1 ), f ( ⁇ 2 ), ..., f ( ⁇ j )) are calculated.
  • the evaluating step S301 may be performed by the evaluating unit 40 in the above-described second embodiment, for example.
  • an r mod q operation may be performed.
  • the modular value may be calculated by dividing the value r evaluated in the evaluation step S301 by q, thereby generating the plain text m.
  • the modular operation step S303 may be performed by, for example, the modular operation unit 50 in the above-described second embodiment.
  • FIG. 10 is a diagram illustrating a method of decrypting an encrypted text encrypted by a homogeneous encryption method using ring isomorphism according to an embodiment of the present invention.
  • the decoding method may include an evaluating step S401, a first modular calculating step S403, and a second modular calculating step S405. 10 and 9, the embodiment of FIG. 10 differs in that it further includes a second modular operation step S405.
  • the key S can be applied to the encrypted text c encrypted by the homogeneous encryption method using the circular mapping.
  • the following operation may be performed.
  • c ⁇ C, c may be an encrypted text encrypted by the third embodiment described above, R and ⁇ are as defined in the first embodiment, and ⁇ ⁇ 1 is an inverse function of ⁇ .
  • the modular value may be calculated by dividing the value r evaluated in the evaluation step S401 by q. Since the operation in the first modular operation step S403 is the same as or similar to the operation in the modular operation step S303 of FIG. 9, a detailed description thereof will be omitted.
  • a modular operation may be performed by dividing the value r calculated in the first modular operation step S403 by q, thereby calculating the plain text m.
  • FIG. 11 is a diagram illustrating an encryption device and a decryption device using ring isomorphism according to an embodiment of the present invention.
  • an encryption apparatus using ring isomorphism may include a randomization unit 120 and an evolution unit 130.
  • the randomization unit 120 may randomize the plain text by Equation 6 below.
  • the evolution unit 130 may convert the data r randomized by the randomization unit 120 into an encrypted text using the function ⁇ .
  • the function ( ⁇ ) is ring isomorphism, and r ⁇ R, r ' ⁇ R'.
  • R and R ' may be defined as follows.
  • f (x) is an element of R, and the evolution unit 130 calculates c from f (x).
  • Qe (x) is a product of Q and e (x), hereinafter, terms and / or parameters will be described with reference to FIG. 11.
  • m (x) m 0 + m 1 x 1 + ... + m k-1 x k-1
  • n is a positive integer
  • e (x) e 0 + e 1 x + e 2 x 2 + ... + e k-1 x k-1 , e i ⁇ ⁇ 0, 1, ..., E-1 ⁇
  • f (x) b 0 + b 1 x 1 + b 2 x 2 + ... + b k-1 x k-1 , b i ⁇ ⁇ 0, 1, ..., n-1 ⁇
  • p (x) may be defined as follows.
  • p (x) p 0 + p 1 x 1 + p 2 x 2 + ... + p k-1 x k-1 , p i ⁇ ⁇ 0, 1, ..., n-1 ⁇
  • the element ⁇ of S can be defined as follows.
  • ( ⁇ 1 , ⁇ 2 , ..., ⁇ k ), ⁇ ⁇ S, ⁇ i - ⁇ j ⁇ Z * n
  • Z * n is a set of elements in which the inverse of Z n exists, and Z n is a surplus set of modular n.
  • the space of the coefficient of the plaintext m (x), the space of Q, the size of E, and n have the following relationship.
  • the apparatus for decoding according to the present embodiment may include a converter 140 and a modular operator 150.
  • the converter 140 may perform the following operations.
  • the modular operation unit 150 may calculate a modular by dividing the polynomial f (x) calculated by the conversion unit 140 by Q, thereby generating a plain text m.
  • FIG. 12 is a diagram for describing an encryption method using ring isomorphism according to an embodiment of the present invention.
  • an encryption method using ring isomorphism may include a randomization step S501 and an evolution unit S503.
  • the operation performed in the randomization step S501 may be the same as or similar to the operation performed by the randomization unit 120 of the eleventh embodiment described above.
  • the data R randomized by the randomizing step S501 may be converted into an encrypted text using the function ⁇ .
  • the function ( ⁇ ) used in the evaluating step (S503) is Ring Isomorphism, and performs the following operations.
  • the operation performed in the evaluating step S503 may be the same as or similar to the operation performed by the evaluating unit 130 of the eleventh embodiment described above.
  • FIG. 13 is a diagram for describing a decoding method using ring isomorphism according to an embodiment of the present invention.
  • a decryption method of a ciphertext encrypted by a homogeneous encryption method using ring isomorphism includes a conversion step (S601) and a modular conversion of a ciphertext into a polynomial. It may include a calculation step (S603).
  • the conversion step S601 may be the same as or similar to the operation of the conversion unit 140 in FIG. 11, for example, and the modular operation step S603 may be performed in the modular operation unit 150 of FIG. It may be the same as or similar to the operation.
  • a modular operation may be performed by dividing the polynomial f (x) calculated in the conversion step S601 by Q, thereby generating a plain text m.
  • FIG. 14 is a diagram illustrating an encryption device and a decryption device using ring isomorphism according to an embodiment of the present invention.
  • an encryption apparatus using ring isomorphism may include a randomizer 220 and a first modular calculator 230.
  • the encryption apparatus converts the plain text m into the encrypted text c, and c may be calculated in the form of (c 1 , c 2 ,..., C k ).
  • the randomization unit 220 performs an m + eq operation on the plain text m.
  • e (e 1 , e 2 , ..., e k ), (q 1 , q 2 , ..., q k ), and e i and q i are integers.
  • e i is an integer of (lambda) bits
  • (rho) 2 (lambda)
  • (lambda) are security parameters.
  • the first modular operator 230 performs a (m + eq) mod s operation on m + eq.
  • the secret key s ( ⁇ 1 , ⁇ 2 , ..., ⁇ k ), and ⁇ i is any one of ⁇ 1 , ⁇ 2 , ..., ⁇ k , which are integers that are prime to each other.
  • the decoding apparatus may include a CRT calculator 240 and a second modular calculator 250.
  • the CRT calculating unit 240 applies a CRT (Chinese Remainder Theorem: CRT) to the ciphertext (c) by using the following Equation 7, and outputs the m + eq.
  • CRT Choinese Remainder Theorem
  • the key may be a secret key.
  • s ( ⁇ 1 , ⁇ 2 , ..., ⁇ k ) is the secret key and ⁇ i are integers that are prime to each other.
  • 15 is a diagram for describing an encryption method using ring isomorphism according to an embodiment of the present invention.
  • an encryption method using ring Isomorphism may include a randomization step S701 and a modular operation step S703.
  • the plain text m is converted into the encrypted text c, and c may be calculated in the form of (c 1 , c 2 , ..., c k ).
  • m + eq operations are performed on the plain text m.
  • An operation performed in the randomization step S701 may be the same as or similar to that of the randomization unit 220 in FIG. 14, for example.
  • an (m + eq) mod s operation is performed, and an encryption result of the form (c 1 , c 2 , ..., c k ) is calculated.
  • An operation performed in the modular operation step S703 may be the same as or similar to that of the first modular operation unit 230 in FIG. 14.
  • 16 is a diagram for describing a decoding method using ring isomorphism according to an embodiment of the present invention.
  • a decoding method using ring isomorphism may include a CRT operation step S801 and a modular operation step S803.
  • the equation 7 is output by applying a CRT (Chinese Remainder Theorem (CRT)) to the encrypted text c, where the output may have the form of m + eq.
  • CRT Choinese Remainder Theorem
  • the operation performed in the CRT operation step S801 may be the same as or similar to that of the CRT operation unit 240 of FIG. 14, for example.
  • the plain text is calculated by performing the operation of (m + eq) mod q.
  • An operation performed in the modular operation step S803 may be the same as or similar to the operation of the second modular operation unit 250 of FIG. 14, for example.
  • FIG. 17 is a view for explaining a refresh apparatus according to an embodiment of the present invention.
  • the refresh apparatus 310 may receive a ciphertext c and perform a refresh operation to calculate a new ciphertext c '.
  • the ciphertext c inputted to the refreshing device 310 is a ciphertext resulting from the repeated multiplication or addition operation of the ciphertexts, and the ciphertext c contains an error.
  • the encrypted text c 'outputted from the refreshing device 310 is in a state where the error is eliminated, and the multiplication or addition operation can be performed again.
  • the refresh apparatus 310 according to an embodiment of the present invention requires the following assumptions.
  • the decryption process should have the following process.
  • the secret key e is reduced to the homomorphic capacity of the homomorphic code by the general natural number w notation, rather than binary evolution.
  • it can be reduced to 4lambda / logw (e_ ⁇ l k ⁇ 'and ⁇ y ⁇ ⁇ w ⁇ l ⁇ ) ⁇ product and log_w e (because we need to multiply by about 2lambda / logw). This allows squashing up to achieve bootstrapping without increasing the parameters of quasi-homogenous cryptography.
  • the refresh apparatus 310 may be implemented to be included in an encryption apparatus, a decryption apparatus, or a computing apparatus.
  • FIG. 18 is a diagram illustrating a computer system to which an encryption device, a decryption device, and / or a computing device according to an embodiment of the present invention are applied.
  • Embodiments of the invention described with reference to FIGS. 1-10 and 11-17 may be implemented, for example, in the computer system shown in FIG. 18.
  • the computer system of FIG. 18 may be any one of a mobile device such as a smart phone or PDA, a desktop PC, a tablet PC, or a server, but is not limited to these computer systems.
  • the computer system 100 may include a program logic 101, a computer processor 103, a storage 105, and a memory 107.
  • the program logic 101 may be implemented in the form of code executable in a computer, stored in the storage unit 105, and loaded and operated in the memory 107 under the control of the computer processor 103. Can be.
  • the program logic 101 may include a code for performing an operation of the randomization unit 20 and / or the conversion unit 30 described with reference to FIG. 1.
  • the randomizer 20 and the converter 30 may be implemented in hardware.
  • the program logic 101 may include an evolution unit 40 described with reference to FIG. 2 and a code for performing an operation of the modular operation unit 50.
  • the evolution unit 40 and the modular operator 50 may be implemented in hardware.
  • the program logic 101 may include code that performs operations of the modular operation unit 10, the randomization unit 20, and / or the conversion unit 30 described with reference to FIG. 4. have.
  • at least one of the modular operator 10, the randomizer 20, and the converter 30 may be implemented in hardware.
  • the program logic 101 may include code that performs operations of the evaluation unit 40, the first modular operation unit 50, and the second modular operation unit 60 described with reference to FIG. 5. can do.
  • at least one of the evolution unit 40, the first modular operator 50, and the second modular operator 60 may be implemented in hardware.
  • the program logic 101 may include code that performs an operation of the arithmetic units 70 and 80 described with reference to FIG. 6.
  • the computing devices 70 and 80 may be implemented in hardware.
  • the program logic 101 may include a code for performing the encryption method described with reference to FIG. 7.
  • the program logic 101 may include code for performing the encryption method described with reference to FIG. 8.
  • the program logic 101 may include code that performs the decoding method described with reference to FIG. 9.
  • the program logic 101 may include code that performs the decoding method described with reference to FIG. 10.
  • the program logic 101 may include code that performs operations of the encryption apparatus and the decryption apparatus described with reference to FIG. 11. That is, the program logic 101 may include code for performing operations of the randomization unit 120 and the evaluation unit 130 described with reference to FIG. 11. In addition, the program logic 101 may include code for performing operations of the converter 140 and the modular operator 150 described with reference to FIG. 11.
  • the program logic 101 may include code for performing the encryption method described with reference to FIG. 12 and / or code for performing the decryption method described with reference to FIG. 13.
  • the program logic 101 may include a code for performing an operation of the encryption apparatus described with reference to FIG. 14 or a code for describing an operation of the decryption apparatus described with reference to FIG. 14. have. That is, the program logic 101 may include code for performing operations of the randomization unit 220 and the modular operation unit 230 described with reference to FIG. 14. Also, the program logic 101 may include code for performing operations of the CRT calculator 240 and the modular calculator 250 described with reference to FIG. 14.
  • the program logic 101 may include code for performing the encryption method described with reference to FIG. 15 and / or code for performing the decryption method described with reference to FIG. 16.
  • the program logic 101 may include code for performing an operation of the refreshing apparatus described with reference to FIG. 17.
  • components that are implemented in code of a program executable in a computer may be implemented in hardware logic.
  • hardware logic it may be implemented in a form embedded in the computer processor 103, or may be implemented in a separate hardware from the computer processor 103.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Complex Calculations (AREA)
  • Document Processing Apparatus (AREA)

Abstract

평문(m)에 에러(e)를 부가하여 랜덤화하는 단계 및 랜덤화된 데이터(r)를 수식 Ψ : R → R' 의해 r' 로 변환하는 단계를 포함하며, 여기서, r ∈ R 이고, r' ∈ R' 이고, 함수(Ψ)는 환 동형 사상(Ring Isomorphism)인 것을 특징으로 하는, 환 동형 사상을 이용한 동형 암호화 방법이 개시된다.

Description

환 동형 사상을 이용한 동형 암호화 방법과 복호화 방법 및 이를 이용한 장치
본 발명은 환 동형 사상을 이용한 동형 암호화 방법과 복호화 방법 및 이를 이용한 장치에 관한 것이다.
준동형 암호화 기술은 암호화된 상태에서 곱셈이나 덧셈이 가능하도록 하는 암호화 기술로서, 여러 분야에서 활용이 기대되고 있다. 예를 들면, 프라이버시를 보호할 필요가 있는 경우, 준동형 암호화 기술은 복호화를 할 필요 없이 암호화된 상태에서 처리가 가능하므로, 유용할 수 있다.
2009년 완전 준동형 암호화 기술을 제시된 뒤로 완전 준동형 암호에 대한 연구가 활발하게 이루어지고 있으며, 특히, 정수 기반 완전 준동형 암호화 기술은 횟수에 제한 없이 암호문간의 더하기와 곱하기 연산을 지원할 수 있는 기술이다. 하지만, 이러한 기술은 공개키의 크기가 지나치게 클 뿐만 아니라 암호화에 많은 시간이 걸린다고 하는 단점이 있다.
또한, 종래 다른 완전 준동형 암호화 기술들은, 안전하지 못하거나 충분한 횟수만큼 덧셈이나 곱셈을 지원하지 못하는 단점이 있다.
본 발명의 일 실시예에 따르면, 안전하고, 많은 양의 덧셈 및 곱셈의 횟수가 수용가능하고, 평문의 크기에 제한이 없고 속도와 저장 용량이 효율적인, 환 동형 사상(Ring Isomorphism)을 이용한 암호화 장치 및 방법, 복호화 장치 및 방법이 제공될 수 있다.
본 발명의 다른 실시예에 따르면, 안전하고, 많은 양의 덧셈 및 곱셈의 횟수가 수용가능하고, 평문의 크기에 제한이 없고 속도와 저장 용량이 효율적인, 환 동형 사상(Ring Isomorphism)을 이용한 암호화 장치 및 방법, 복호화 장치 및 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체가 제공될 수 있다.
본 발명의 다른 실시예에 따르면, 준동형 암호의 파라미터 증가 없고 스쿼싱 없이 부트트랩핑을 달성할 수 있는 리프레시 장치가 제공될 수 있다.
본 발명의 일 실시예에 따르면, 평문(m)에 에러(e)를 부가하여 랜덤화하는 단계 및 랜덤화된 데이터(r)를 다음 수식
Ψ : R → R'
의해 r' 로 변환하는 단계를 포함하며,
여기서, r ∈ R 이고, r' ∈ R' 이고, 함수(Ψ)는 환 동형 사상(Ring Isomorphism)인 것을 특징으로 하는, 환 동형 사상을 이용한 동형 암호화 방법이 제공된다.
본 발명의 다른 실시예에 따르면, 암호화문을 복호화 하는 방법에 있어서,
암호화문(c)에 키(s)를 적용하여 이벨류에이션하는 단계 및
이벨류에이션하는 단계에서 산출된 값을 q로 나누어 모듈러를 연산하는 단계를 포함하며,
상기 암호화문(c)은 환 동형 사상을 이용한 동형 암호화 방법에 의해 암호화된 것으로서, 상기 동형 암호화 방법은, 평문(m) 또는 랜덤화된 평문을, 다음 수식
Ψ : R → R'
의해 r' 로 변환하는 단계를 포함하며,
여기서, r은 평문(m) 또는 랜덤화된 평문이고, r ∈ R 이고, r' ∈ R' 이고, 함수(Ψ)는 환 동형 사상(Ring Isomorphism)이며,
여기서, q ∈ Q, Q = {qi| 1≤i≤k, i와 k는 양의 정수}이고, qi는 서로 소인 양의 정수이고, S = {αi|αi - αi ∈ {Z* n}, 1≤i, j≤k, i, j, 및 k는 양의 정수} = (α1, α2, ... , αk)로 정의되는 것을 특징으로 하는 복호화 방법이 제공된다.
본 발명의 다른 실시예에 따르면, 평문 또는 평문이 랜덤화된 데이터(r)를 다음 수식
Ψ : R → R'
의해 r' 로 변환하는 변환부를 포함하며,
여기서, r ∈ R 이고, r' ∈ R' 이고, 함수(Ψ)는 환 동형 사상(Ring Isomorphism)인 것을 특징으로 하는, 환 동형 사상을 이용한 동형 암호화 장치가 제공된다.
본 발명의 다른 실시예에 따르면, 암호화문을 복호화 하는 장치에 있어서, 암호화문(c)에 키(s)를 적용하여 이벨류에이션하는 이벨류에이션부 및 이벨류에이션부에서 산출된 값을 q로 나누어 모듈러를 연산하는 모듈러 연산부를 포함하며,
상기 암호화문(c)은 환 동형 사상을 이용한 암호화 방법에 의해 암호화된 것으로서, 상기 암호화 방법은, 평문 또는 평문이 랜덤화된 데이터(r)를 다음 수식
Ψ : R → R'
의해 r' 로 암호화하는 단계를 포함하며,
여기서, r ∈ R 이고, r' ∈ R' 이고, 함수(Ψ)는 환 동형 사상(Ring Isomorphism)인 것을 특징으로 하는, 복호화 장치가 제공된다.
상술한 방법들 중 어느 하나의 방법은 프로그램을 기록한 것을 특징으로 하는 컴퓨터로 판독 가능한 기록 매체에 의해 제공될 수 있다.
본 발명의 하나 이상의 실시예에 따르면, 안전한 레벨까지 암호화가 가능하며, 암호화된 상태에서 덧셈 및 곱셈의 횟수가 현실적으로 수용 가능한 횟수까지 지원이 될 수 있다. 또한, 암호화를 할 평문의 크기에 제한이 없고 속도와 저장 용량이 효율적일 수 있다.
도 1은 본 발명의 일 실시예에 따른 환 동형 사상(Ring Isomorphism)을 이용한 암호화 장치를 설명하기 위한 도면이고,
도 2는 본 발명의 일 실시예에 따른 복호화 장치를 설명하기 위한 도면이고
도 3은 본 발명의 다른 실시예에 따른 복호화 장치를 설명하기 위한 도면이고,
도 4는 본 발명의 일 실시예에 따른 암호화 장치를 설명하기 위한 도면이고,
도 5는 본 발명의 일 실시예에 따른 복호화 장치를 설명하기 위한 도면이고,
도 6은 본 발명의 일 실시예에 따른 연산 장치를 설명하기 위한 도면이고,
도 7은 본 발명의 일 실시예에 따른 암호화 방법을 설명하기 위한 도면이고,
도 8은 본 발명의 일 실시예에 따른 암호화 방법을 설명하기 위한 도면이고,
도 9는 본 발명의 일 실시예에 따른 복호화 방법을 설명하기 위한 도면이고,
도 10은 본 발명의 일 실시예에 따른 복호화 방법을 설명하기 위한 도면이고,
도 11은 본 발명의 일 실시예에 따른 암호화 장치와 복호화 장치를 설명하기 위한 도면이고,
도 12는 본 발명의 일 실시예에 따른 암호화 방법을 설명하기 위한 도면이고,
도 13은 본 발명의 일 실시예에 따른 복호화 방법을 설명하기 위한 도면이고,
도 14는 본 발명의 일 실시예에 따른 암호화 장치와 복호화 장치를 설명하기 위한 도면이고,
도 15는 본 발명의 일 실시예에 따른 암호화 방법을 설명하기 위한 도면이고,
도 16은 본 발명의 일 실시예에 따른 복호화 방법을 설명하기 위한 도면이고,
도 17은 본 발명의 일 실시예에 따른 리프레시 장치를 설명하기 위한 도면이고, 그리고
도 18은 본 발명의 일 실시예에 따른 컴퓨터 시스템을 설명하기 위한 도면이다.
[부호의 설명]
10, 50, 60, 150, 230, 250: 모듈러 연산부
20, 120, 220: 랜덤화부
30, 140: 변환부
40, 130: 이벨류에이션부
70: 덧셈 연산부
80: 곱셈 연산부
240: CRT 연산부
310: 리프레시 장치
이상의 본 발명의 목적들, 다른 목적들, 특징들 및 이점들은 첨부된 도면과 관련된 이하의 바람직한 실시예들을 통해서 쉽게 이해될 것이다. 그러나 본 발명은 여기서 설명되는 실시예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시예들은 개시된 내용이 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되는 것이다. 본 명세서에서, 어떤 구성요소가 다른 구성요소 상에 있다고 언급되는 경우에 그것은 다른 구성요소 상에 직접 형성될 수 있거나 또는 그들 사이에 제 3의 구성요소가 개재될 수도 있다는 것을 의미한다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다(comprises)' 및/또는 '포함하는(comprising)'은 언급된 구성요소는 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
이하, 도면을 참조하여 본 발명을 상세히 설명하도록 한다. 아래의 특정 실시예들을 기술하는데 있어서, 여러 가지의 특정적인 내용들은 발명을 더 구체적으로 설명하고 이해를 돕기 위해 작성되었다. 하지만 본 발명을 이해할 수 있을 정도로 이 분야의 지식을 갖고 있는 독자는 이러한 여러 가지의 특정적인 내용들이 없어도 사용될 수 있다는 것을 인지할 수 있다. 어떤 경우에는, 발명을 기술하는 데 있어서 흔히 알려졌으면서 발명과 크게 관련 없는 부분들은 본 발명을 설명하는 데 있어 별 이유 없이 혼돈이 오는 것을 막기 위해 기술하지 않음을 미리 언급해 둔다.
용어의 정의
환(ring) R 에서 환(ring) R' 으로의 사상 f: R→R' 이 임의의 a, b∈R에 대해 다음의 두 연산을 만족하면, 환의 두 연산을 보존한다고 말하며, f를 R에서 R'으로의 환 준동형사상(ring-homomorphism)이라 한다.
f(a+b) = f(a)+f(b), f(ab) = f(a)f(b)
특히, f가 환 준동형사상인 동시에 일대일 대응이면 f를 R에서 R'으로의 환 동형사상(ring-isomorphism)이라고 한다.
집합과 원소의 표기
본원 명세서에서, 설명의 목적을 위해서, 집합은 대문자로 원소는 소문자로 표기하기로 하고, 벡터와 스칼라는 구분 없이 소문자로 표기하기로 한다. 본원 발명에서 자주 사용되는 집합, 원소, 벡터, 및 스칼라에 대하여 다음과 같다.
1) 집합 표기: M, R, R', Q, E, S
2) 원소 표기: m, r, r', q, e, s
여기서, m ∈ M, r ∈ R, r' ∈ R', q ∈ Q , e ∈ E, s ∈ S 를 만족한다.
3) 벡터 및 벡터의 성분 표기
m = (m1, m2, ... , mk)
r = (r1, r2, ... , rk)
r' = (r'1, r'2, ... , r'k)
q = (q1, q2, ... , qk)
e = (e1, e2, ... , ek)
s = (α1, α2, ... , αk)
여기서, mi는 m의 성분들 m1, m2, ... , mk 중 어느 하나를 의미하고 ri는 r의 성분들 r1, r2, ... , rk 중 어느 하나를 의미하고, r'i는 r'의 성분들 r'1, r'2, ... , r'k 중 어느 하나를 의미하고, qi는 q의 성분들 q1, q2, ... , qk중 어느 하나를 의미하고, ei는 e의 성분들 e1, e2, ... , ek 중 어느 하나를 의미하고, αi는 s의 성분들 α1, α2, ... , αk중 어느 하나를 의미한다.
한편, 여기에서 언급되지 않은 집합, 원소, 벡터 및 스카라들은, 위와 같은 방식으로 정의되어 사용하는 것으로 이해하기 바란다.
A. 제1 실시예
도 1은 본 발명의 일 실시예에 따른 환 동형 사상(Ring Isomorphism)을 이용한 암호화 장치를 설명하기 위한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 환 동형 사상(Ring Isomorphism)을 이용한 암호화 장치는, 랜덤화부(20)와 변환부(30)를 포함할 수 있다.
랜덤화부(20)는, 평문(m)에 에러(e)를 부가하여 랜덤화할 수 있다. 즉, 램덤화부(20)는, 평문 공간(M)에 속한 임의의 평문(m)에, 에러 공간(E)에 속한 임의의 에러(e)를 부가하여, 모듈러 n의 최소 잉여 집합인 R에 속한 임의의 r로 변화시킨다.
랜덤화부(20)의 동작을 수식으로 표현하면 수식 1로서 표현할 수 있다. 여기서, 평문(m)은 벡터 또는 스칼라 어떤 것이라고 무방하지만, 본 실시예에서는, 본원 발명의 설명의 목적을 위해서, 평문(m)이 스칼라인 것을 전제로 설명하기로 한다.
<수식 1>
Ω: M → R
여기서, R = Zn 이고, r ∈ Zn 이며, Zn은 모듈러 n의 최소 잉여 집합이다.
r = m + eq= (m + e1q1, m + e2q2, ... , m + ekqk) = (r1, r2, ... , rk)
여기서, e = (e1, e2, ... , ek)이고, q = (q1, q2, ... , qk), m ∈ M, e ∈ E, q ∈ Q , r ∈ R 를 만족한다. 본원 명세서에서, eq는 또는 e·q는 벡터 e의 성분과 벡터 q 성분의 내적을 의미한다.
한편, 본 발명의 실시예에 따르면, k가 벡터의 차원을 나타낸다면, i는 1≤i≤k 과 같이 정의될 수 있다.
변환부(30)는, 램덤화부(20)에 의해 램덤화된 데이터(r)를, 함수(Ψ)를 사용하여 공간 R'에 속한 원소(r')로 변환시킨다.
변환부(30)의 동작을 수식으로 표현하면 수식 2로서 표현할 수 있다.
<수식 2>
Ψ: R → R'
변환부(30)에서 사용하는 함수(Ψ)는 환 동형 사상(Ring Isomorphism)이다.
환 동형 사상의 일 예로서 라그랑즈 보간법을 들 수 있으며, 라그랑즈 보간법을 본 실시예에 사용하는 경우 R과 R'는 다음과 같이 정의 될 수 있다.
R = Zk n , R' = Zn[x]/(p(x)), p(x) = Πk i=1(x-αi) = (x-α1)(x-α2) ···(x-αk) = p0 + p1x1+ p2x2 + ... + pk-1xk-1
라그랑즈 보간법을 사용하는 경우 함수(Ψ)는 다음과 같이 다시 기술될 수 있다.
Ψ: Zk n → Zn[x]/(P(x))
: (r1, r2, ... , rk) → f(x)
여기서, 다항식 f(x)는, f(αi)=ri를 만족하는 다항식으로서 라그랑즈 보간법에 의해서 구해질 수 있다.
예를 들면, r'는 다음을 만족하는 다항식(f(x))일 수 있다.
f(α1) = r1
f(α2) = r2
.
.
f(αk)= rk
이하에서는 본 실시예에서 사용할 용어 및 파라미터들을 설명하기로 한다.
a) q = (q1, q2, ... , qk), q ∈ Q , qi는 여기서 서로 소인 정수, 1≤i≤k, i와 k는 양의 정수.
b) R = Zk n
Zk n = {(r1, r2, ... , rk)|ri ∈{0, 1, ... , n-1}, 1≤i≤k, i와 k와 n은 양의 정수}
d) R' = Zn[x]/Πk i=1(x-αi)
g) f(x)는 R'의 원소이며, f(x)는 다음과 같이 정의된다.
f(x) = b0 + b1x1+ b2x2 + ... + bk-1xk-1 , bi ∈ {0, 1, ... , n-1}
f) p(x)는 다음과 같이 정의된다.
p(x) = p0 + p1x1+ p2x2 + ... + pk-1xk-1, pi ∈ {0, 1, ... , n-1}
h) α = (α1, α2, ... , αk), α ∈ S,αij ∈Z* n, 1≤i, j≤k
i) Z* n 는 Zn의 역원이 존재하는 원소의 집합이고, Zn은 모듈러 n의 잉여 집합이다.
상기 n은 다음과 같은 조건을 만족하는 양의 정수이며, 곱하기의 지원 횟수에 따라서 n의 크기가 달라질 수 있다.
평문 공간(M)의 크기(space) < q의 크기(space) < n
여기서, 크기는 정수의 크기를 의미한다.
본 실시예에서, Ψ 는 비밀이며 q = (q1, q2, ... , qk)가 공개될 수 있다.
본 실시예에서, 평문(m)이 스칼라 인 경우를 가정하고 설명하였으나, 평문(m)은 벡터인 경우에도 본원 발명에 적용 가능하다.
Ω: M → R
만약 평문(m)이 (m1, m2, ... , mj)라면 Ω에 의해 변환된 r (r ∈ R)은 다음과 같이 기술될 수 있다.
r= m + eq= (m1 + e1q1, m2 + e2q2, ... , mj +ejqj, ... , m + ekqk) = (r1, r2, ... , rk), mj ∈ M, ej ∈ E, qi ∈ Q이고, rj+1, ... , rk는 Zn의 랜덤 값이다.
한편, 평문의 차수(j)는 j ≤ k를 만족해야 한다. 평문의 차수 j가 k보다 적은 경우, 램덤화부(20)는, 랜덤한 값 rj+1, ... , rk 를 추가하여 평문을 k개의 차수로 만든 후에, 램덤화 한다.
이상 상술한 실시예에서, 라그랑즈 보간법을 사용하는 경우를 설명하였지만, 다른 실시 예로서, 환 동형 사상(Ring Isomorphism)으로서, 중국인의 나머지 정리를 이용한 암호화 장치는, 모듈러 연산부(미도시), 랜덤화부(미도시), 및 변환부(미도시)를 포함하도록 구성될 수 있다.
여기서, 모듈러 연산부(미도시)는, 다음과 같이 표현된 수식을 수행할 수 있다.
m’ = m mod q
여기서, m은 평문이고, q=(q1, q2, ... , qk)이고, q1, q2, ... , qk 는 서로 소인 양의 정수이다.
랜덤화부(미도시)는, 위의 모듈러 연산부에 의해 산출된 m'에 대하여 <수식 1>을 적용하여 랜덤화할 수 있다.
r = m'+ eq= (m'+ e1q1, m' + e2q2, ... , m' + ekqk) = (r1, r2, ... , rk)
변환부(미도시)는, 랜덤화부(미도시)에 의해 랜덤화된 데이터(r)를, 중국인의 나머지 정리를 이용하여 r'로 변환할 수 있다. 변환부(미도시)의 동작을 수식으로 표현하면 다음과 같다.
<수학식 3>
c = CRTS(r)
CRT는 중국인의 나머지 정리를 적용하는 연산자이고, s = (α1, α2, ... , αk) 로서 키(Key)이며, k는 키의 갯수를 나타낸다. 본 발명의 실시예에 따르면, 여기서 키(Key)는 비밀키일 수 있다.
CRT는, 예를 들면, α1, α2, ... , αk가 서로 소인 정수라고 하고, b = α1·α2·α3···αk 라고 하면, 이때 임의의 수열 r1, r2, ... , rk 대하여 c=rk (mod αk) 가 되는 c가 mod s 로 유일하게 존재한다는 정리이다.
c에 대한 연립 합동식은 다음과 같이 기재될 수 있다.
c = r1 (mod α1)
c = r2 (mod α2)
.
.
.
c = rk (mod αk)
수식 CRTS(r)에서, r은 나머지에 해당하고 s는 제수(나누는 수)에 해당하며, 수식 CRTS(r)의 해 c 는 상기 연립 합동식을 만족하는 값이 된다.
비밀키 s의 성분들 α1, α2, ... , αk는, 모든 qi가 b와 서로 소가 되도록 선택할 수 있다. 여기서, b는 아래와 같이 α1 내지 αk 의 곱으로 정의된다.
b = α1·α2·α3···αk
변환부(미도시) 는, 비밀키 s = (α1, α2, ... , αk)를 적용하여 연산하기 때문에, 비밀키를 모르는 공격자로부터는 안전한 암호화 동작을 수행한다. 본 실시예는, EACDP(Error-free Approximate Greatest Common Divisor Problem)가 안전하기만 하면, 안전한 암호 시스템이라고 할 수 있다.
이상 설명한 중국인의 나머지 정리를 이용한 암호화 장치는, 모듈러 연산부를 포함하도록 설명하였지만, 랜덤화부, 및 변환부는 포함하되 모듈러 연산부를 포함하지 않도록 구성하는 것도 가능하다.
모듈러 연산부를 포함하지 않도록 구성되는 경우, 랜덤화부는, 평문 m에 대하여 <수식 1>을 적용하여 랜덤화한다.
r = m + eq= (m + e1q1, m + e2q2, ... , m + ekqk) = (r1, r2, ... , rk)
변환부는, 랜덤화부에 의해 랜덤화된 데이터(r)를, 중국인의 나머지 정리를 이용하여 c로 변환한다.
c = CRTS(r)
B. 제2 실시예
도 2는 본 발명의 일 실시예에 따른 환 동형 사상(Ring Isomorphism)을 이용한 동형 암호화 방법에 의해 암호화된 암호화문을 복호화 하는 장치를 설명하기 위한 도면이다.
도 2를 참조하면, 본 복호화 장치는, 이벨류에이션부(40)와 모듈러 연산부(50)를 포함할 수 있다.
이벨류에이션부(40)는, 환 동형 사상을 이용한 동형 암호화 방법에 의해 암호화된 암호화문(c)에, 키(s)를 적용하여 이벨류에이션할 수 있다.
이벨류에이션부(40)는 아래의 수식 4과 같은 연산을 수행할 수 있다.
<수식 4>
Ψ-1: C → R
여기서, c ∈ C 이고, c는 도 1을 참조하여 설명한 제1 실시예에 의해 암호화된 암호화문일 수 있고, Ψ-1 는 Ψ의 역함수이다.
암호화문이 다항식 f(x)이고, 암호화되기 전의 평문이 스칼라(m)였다면, 수식 4에 의거하여, 이벨류에이션부(40)는 f(x)로부터 f(α1)를 산출한다.
암호화문이 다항식 f(x)이고, 암호화되기 전의 평문이 벡터(m1, m2, ... , mj)였다면, 수식 4에 의거하여, 이벨류에이션부(40)는 f(x) 로부터 (f(α1), f(α2), ... , f(αj))를 산출한다.
모듈러 연산부(50)는, 아래의 수식 5와 같은 연산을 수행할 수 있다.
<수식 5>
r mod q
여기서, r ∈ R 이고, 모듈러 연산부(50)는 이벨류에이션부(40)에 의해 이벨류에이션된 값(r)을 q 로 나누어 모듈러를 연산할 수 있으며, 이로써 평문(m)이 생성될 수 있다.
암호화문이 다항식 f(x)이고 평문이 스칼라(m) 인 경우, 본 실시예에 따른 복호화 장치의 복호화 과정은 다음과 같이 요약될 수 있다.
Dec(c) = f(α1) mod q1 = m
암호화문이 다항식 f(x)이고 평문이 벡터(m) 인 경우, 본 실시예에 따른 복호화 장치의 복호화 과정은 다음과 같이 요약될 수 있다.
Dec(c) = (f(α1), f(α2), ... , f(αj)) mod q= (f(α1) mod q1, f(α2)mod q2, ... , f(αj)mod qj) = (m1, m2, ... , mj)
이상 상술한 실시예에서, 복호화 장치가, 상술한 일 실시예에 따라서 라그랑즈 보간법에 의해 암호화된 암호화문을 복호화하는 경우를 설명하였다.
한편, 다른 실시 예에 따른 복호화 장치는, 도 1을 참조하여 설명하였던 중국인의 나머지 정리에 의해 암호화된 암호화문을 복호화 할 수 있다.
도 3은 본 발명의 다른 실시예에 따른 환 동형 사상(Ring Isomorphism)을 이용한 동형 암호화 방법에 의해 암호화된 암호화문을 복호화 하는 장치를 설명하기 위한 도면이다.
도 3을 참조하면, 복호화 장치는, 모듈러 연산부(45)와 CRT 연산부(55)를 포함할 수 있다. 여기서, 모듈러 연산부(45)는, 다음의 수식으로 표현된 동작을 수행한다.
c’ = (c mod s) mod q
여기서, c는 중국인의 나머지 정리가 적용되어 암호화된 암호화문을 의미하고, s 는 비밀키로서 s = (α1, α2, ... , αk)이고, q= (q1, q2, ... , qk) 이며, 비밀키 s와 q의 조건은 도 1을 참조하여 설명한 바가 있으므로, 여기서는 생략하기로 한다.
CRT 연산부(55)는, 다음의 수식으로 표현된 동작을 수행하여 평문(m)을 산출한다.
m = CRTq(c')
CRTq(c') 를 계산하는 방법은, 도 1을 참조하여 설명한 바가 있으므로, 여기서는 생략하기로 한다.
이상, 도 3을 참조하여 설명한 복호화 장치는, 평문(m)에 대하여 모듈러 연산을 하고, 모듈러 연산한 결과인 m'에 대하여 랜덤화하여 r을 산출하고, 랜덤화된 r을 중국인의 나머지 정리를 이용하여 r'로 변환한다.
한편, 본 발명의 일 실시예에 따른 암호화 장치는, 평문(m)에 대하여모듈러를 연산하는 과정을 생략하고 평문(m)을 바로 랜덤화한 후에 중국인의 나머지 정리를 적용하여 암호화문을 산출하는데, 이렇게 산출된 암호화문을 복호화 하는 장치는, 아래와 같은 모듈러 연산부(45)와 CRT 연산부(55)를 포함한다.
즉, 모듈러 연산부(45)는 다음 수식을 수행한다.
c' = (c mod s) mod q
그리고, CRT 연산부(55)는 아래 수식과 같이 c'에 대하여 중국인의 나머지 정리를 적용하여 평문(m)을 산출한다.
m = CRTq(c')
C. 제3실시예
도 4는 본 발명의 일 실시예에 따른 환 동형 사상(Ring Isomorphism)을 이용한 암호화 장치를 설명하기 위한 도면이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 환 동형 사상(Ring Isomorphism)을 이용한 암호화 장치는 모듈러 연산부(10), 랜덤화부(20), 및 변환부(30)를 포함할 수 있다.
모듈러 연산부(10)는, 평문(m)을 q로 나누어 모듈러 연산을 수행한다.
모듈러 연산부(10)에 의해 산출된 평문(m')을 m'=(m1, m2, ... , mk)라고 하고, 평문(m')이 속한 공간을 M이라고 할 때, 랜덤화부(20)는 다음과 같은 연산을 한다.
Ω: M → R
즉, 랜덤화부(20)는, m'에 함수 Ω를 적용하여 공간 R에 속한 하나의 원소(r)로 변환한다.
여기서, m' ∈ M, r ∈ R이고, r = m'+ eq = (m'1 + e1q1, m'2 + e2q2, ... , m'k + ekqk) = (r1, r2, ... , rk) 이다.
변환부(30)는, 환 동형 사상(Ring Isomorphism)인 함수(Ψ)를 사용하여 다음과 같은 연산을 한다.
Ψ: R → R'
랜덤화부(20)와 변환부(30)의 기능은 상술한 제1실시예의 것과 그 기능이 동일 또는 유사하므로 그 설명은 생략하기로 한다. 또한, q, e, s, R, R', Ψ, Ω는 제1실시예에서 설명한 것과 동일 또는 유사하므로 그 설명을 생략하기로 한다.
본 실시예에서, 변환부(30)는 라그랑즈 보간법이나 중국인의 나머지 정리를 이용하여 변환 동작을 수행할 수 있다. 라그랑즈 보간법이나 중국인의 나머지 정리를 이용한 변환 동작은 도 1을 참조하여 설명한 바가 있으므로, 상세한 설명은 생략하기로 한다.
D. 제4실시예
도 5는 본 발명의 일 실시예에 따른 환 동형 사상(Ring Isomorphism)을 이용한 동형 암호화 방법에 의해 암호화된 암호화문을 복호화 하는 장치를 설명하기 위한 도면이다.
도 5를 참조하면, 본 복호화 장치는, 이벨류에이션부(40), 제1 모듈러 연산부(50), 및 제2 모듈러 연산부(60)를 포함할 수 있다.
이벨류에이션부(40)는, 도 4를 참조하여 설명한 실시예에 의해 암호화된 암호화문에 대하여, 다음과 같이 이벨류에이션한다.
Ψ-1: C → R
제1 모듈러 연산부(50)는, 이벨류에이션부(40)에 의해 이벨류에이션된 값(r)을 q 로 나누어 모듈러를 연산한다.
제2 모듈러 연산부(60)는 제1 모듈러 연산부(50)에 의해 계산된 값에 대하여 다시 q로 나누어 모듈러를 연산하며, 이로써 평문(m)이 생성될 수 있다.
여기서, 이벨류에이션부(40)와 제1 모듈러 연산부(50)는 상술한 제3실시예의 것과 그 기능이 동일 또는 유사하므로 그 설명은 생략하기로 한다.
E. 제5실시예
도 6은 본 발명의 일 실시예에 따른 암호화 방법에 의해 암호화된 암호화문의 연산을 수행하는 연산장치를 설명하기 위한 도면이다. '연산 장치'는, 예를 들면, 본 발명의 실시예에 따른 암호화 장치 또는 복호화 장치 또는 암복호화 장치에 구현될 수 있다.
도 6의 (a)는 덧셈 연산을 설명하기 위한 것이고, 도 6의 (b)는 곱셈 연산을 설명하기 위한 것이다.
도 6의 (a)를 참조하면, 본 발명의 실시예에 따른 연산 장치는 덧셈 연산부(70) 및/또는 곱셈 연산부(80)를 포함할 수 있다.
덧셈 연산부(70)는, 다음 수식에 따른 덧셈 연산을 할 수 있다.
(c1 + c2) mod p(x)
곱셈 연산부(80)는, 다음 수식을 수행함으로써 곱셈 연산을 할 수 있다.
((c1c2) mod p(x)) mod n
여기서, c1 , c2 는, 예를 들면, 상술한 A. 제1 실시예 및 C. 제3 실시예에서 설명된 방법들에 의해 암호화된 암호화문이고, p(x)와 n은 c1 , c2 로 암호화될 때 사용된 것이다.
본 발명의 일 실시예에 따른 연산장치는 상술한 덧셈 연산부(70)와 곱셈 연산부(80) 중 적어도 어느 하나를 포함하도록 구성될 수 있고, 덧셈 연산부(70)와 곱셈 연산부(80)는 하드웨어 및/또는 소프트웨어에 의해 구현될 수 있다.
F. 제6실시예
도 7은 본 발명의 일 실시예에 따른 환 동형 사상(Ring Isomorphism)을 이용한 암호화 방법을 설명하기 위한 도면이다.
도 7을 참조하면, 본 발명의 일 실시예에 따른 환 동형 사상(Ring Isomorphism)을 이용한 암호화 방법은, 랜덤화 단계(S101)와 변환단계(S103)를 포함할 수 있다.
랜덤화 단계(S101)는, 평문(m)에 에러(e)를 부가하여 랜덤화하는 단계이다.
랜덤화 단계(S101)는, 예를 들면 수식 1에 의해서 평문을 랜덤화시킬 수 있다.
랜덤화 단계(S101)는, 예를 들면, 상술한 제1실시예에서의 랜덤화부(20)에 의해 수행될 수 있다.
랜덤화 단계(S101)는, r = m + eq 동작을 수행하며, 이들에 대한 상세한 설명은 제1 실시예의 것을 참조하기 바란다.
변환단계(S103)는, 랜덤화 단계(S101)에서 랜덤화된 데이터(r)를 함수(Ψ)를 이용하여 암호화문으로 변환할 수 있다. 변환단계(S103)에서 사용하는 함수(Ψ)는 환 동형 사상(Ring Isomorphism)이다.
변환단계(S103)에서 사용하는 함수(Ψ)는, 예를 들면, 라그랑즈 보간법 또는 중국인의 나머지 정리일 수 있다. 변환단계(S103)는 예를 들면, 상술한 제1실시예에서의 변환부(30)에 의해 수행될 수 있다.
S101과 S103의 상세한 설명은 제1 실시예의 것을 참조하기 바란다.
G. 제7실시예
도 8은 본 발명의 일 실시예에 따른 환 동형 사상(Ring Isomorphism)을 이용한 암호화 방법을 설명하기 위한 도면이다.
도 8을 참조하면, 본 발명의 일 실시예에 따른 환 동형 사상(Ring Isomorphism)을 이용한 암호화 방법은, 모듈러 연산하는 모듈러 연산 단계(S201), 랜덤화 단계(S201)와 변환단계(S203)를 포함할 수 있다.
도 7의 실시예와 비교하면, 도 8의 실시예는 모듈러 연산 단계(S201)만을 더 포함하고 있다. 도 8의 랜덤화 단계(S203)와 변환단계(S205)에 수행되는 동작은, 각각 도 7의 랜덤화 단계(S101)와 변환단계(S103)에서 수행되는 동작들과 각각 동일 또는 유사할 수 있다.
모듈러 연산 단계(S201)에서는, 평문(m)을 q로 나누어 모듈러 연산을 수행할 수 있다.
랜덤화 단계(S203)는, 예를 들면 수식 1에 의해서 평문을 랜덤화시킬 수 있다. 랜덤화 단계(S203)는, 예를 들면, 상술한 제1실시예에서의 랜덤화부(20)에 의해 수행될 수 있다.
랜덤화 단계(S203)는, 다음 동작을 수행한다
Ω: M → R
여기서, (m mod q) ∈ M, r ∈ R, r = m+ eq 이다. 이들에 대한 상세한 설명은 제1 실시예의 것을 참조하기 바란다.
변환단계(S205)는, 랜덤화 단계(S203)에서 랜덤화된 데이터(r)를 함수(Ψ)를 이용하여 암호화문으로 변환할 수 있다. 변환단계(S205)에서 사용하는 함수(Ψ)는 환 동형 사상(Ring Isomorphism)이다.
변환단계(S205)에서 사용되는 함수(Ψ)는, 예를 들면, 라그랑즈 보간법 또는 중국인의 나머지 정리일 수 있다.
변환단계(S205)는 예를 들면, 상술한 제1실시예에서의 변환부(30)에 의해 수행될 수 있다.
H. 제8실시예
도 9는 본 발명의 일 실시예에 따른 환 동형 사상(Ring Isomorphism)을 이용한 동형 암호화 방법에 의해 암호화된 암호화문을 복호화 하는 방법을 설명하기 위한 도면이다.
도 9를 참조하면, 본 복호화 장치는, 이벨류에이션 단계(S301)와 모듈러 연산 단계(S303)를 포함할 수 있다.
이벨류에이션 단계(S301)에서는, 환 동형 사상을 이용한 동형 암호화 방법에 의해 암호화된 암호화문(c)에 키(s)를 적용하여 이벨류에이션할 수 있다.
이벨류에이션 단계(S301)에서는, 예를 들면, 다음과 같은 연산을 수행할 수 있다.
Ψ-1: C → R
여기서, c ∈ C 이고, c는 도 1을 참조하여 설명한 제1 실시예에 의해 암호화된 암호화문일 수 있고, R 과 Ψ는 제1 실시예에서 정의된 바에 따르며, Ψ-1 는 Ψ의 역함수이다.
암호화문(c)이 다항식 f(x)이고, 암호화되기 전의 평문(m)이 스칼라였다면, 이벨류에이션 단계(S301)에서는, f(x) 로부터 f(α1)를 산출한다.
암호화문이 다항식 f(x)이고, 암호화되기 전의 평문이 벡터((m1, m2, ... , mj))였다면, 이벨류에이션 단계(S301)에서는 f(x)로부터 (f(α1), f(α2), ... , f(αj))를 산출한다.
이벨류에이션 단계(S301)는, 예를 들면, 상술한 제2 실시예에서의 이벨류에이션부(40)에 의해 수행될 수 있다.
모듈러 연산 단계(S303)에서는, r mod q 연산을 수행할 수 있다.
즉, 모듈러 연산 단계(S303)에서는, 이벨류에이션 단계(S301)에서 이벨류에이션된 값(r)을 q 로 나누어 모듈러를 연산할 수 있으며, 이로써 평문(m)이 생성될 수 있다.
모듈러 연산 단계(S303)는, 예를 들면, 상술한 제2 실시예에서의 모듈러 연산부(50)에 의해 수행될 수 있다.
I. 제10실시예
도 10은 본 발명의 일 실시예에 따른 환 동형 사상(Ring Isomorphism)을 이용한 동형 암호화 방법에 의해 암호화된 암호화문을 복호화 하는 방법을 설명하기 위한 도면이다.
도 10을 참조하면, 본 복호화 방법은, 이벨류에이션 단계(S401)와 제1 모듈러 연산 단계(S403)와 제2 모듈러 연산 단계(S405)를 포함할 수 있다. 도 10과 도 9를 비교하면, 도 10의 실시예는 제2 모듈러 연산 단계(S405)를 더 포함하고 있다는 점에서 차이가 있다.
이벨류에이션 단계(S401)에서는, 환 동형 사상을 이용한 동형 암호화 방법에 의해 암호화된 암호화문(c)에 키(S)를 적용하여 이벨류에이션할 수 있다.
이벨류에이션 단계(S401)에서는, 예를 들면, 다음과 같은 연산을 수행할 수 있다.
Ψ-1: C → R
여기서, c ∈ C 이고, c는 상술한 제3 실시예에 의해 암호화된 암호화문일 수 있고, R 과 Ψ는 제1 실시예에서 정의된 바에 따르며, Ψ-1 는 Ψ의 역함수이다.
이벨류에이션 단계(S401)에서의 동작은 도 9의 이벨류에이션 단계(S301)에서의 동작과 동일 또는 유사하므로 상세한 설명은 생략하기로 한다.
제1 모듈러 연산 단계(S403)에서는, 이벨류에이션 단계(S401)에서 이벨류에이션된 값(r)을 q 로 나누어 모듈러를 연산할 수 있다. 제1 모듈러 연산 단계(S403)에서의 동작은 도 9의 모듈러 연산 단계(S303)에서의 동작과 동일 또는 유사하므로 상세한 설명은 생략하기로 한다.
제2 모듈러 연산 단계(S405)에서는, 제1 모듈러 연산 단계(S403)에서 계산된 값(r)을 q 로 나누어 모듈러를 연산할 수 있으며, 이로써 평문(m)이 산출된다.
J. 제11실시예
도 11은 본 발명의 일 실시예에 따른 환 동형 사상(Ring Isomorphism)을 이용한 암호화 장치와 복호화 장치를 설명하기 위한 도면이다.
도 11을 참조하면, 본 발명의 일 실시예에 따른 환 동형 사상(Ring Isomorphism)을 이용한 암호화 장치는, 랜덤화부(120)와 이벨류에이션부(130)를 포함할 수 있다.
랜덤화부(120)는 아래의 수식 6에 의해서 평문을 랜덤화시킬 수 있다.
<수식 6>
Ω: M → R
여기서, m(x) ∈ M 이고, m(x)는 다항식으로서 m(x) = m0 + m1x1 + ... + mk-1xk-1로 주어질 수 있고, r은 다음과 같이 기술될 수 있다.
r = m(x) + qe(x)
이벨류에이션부(130)는 랜덤화부(120)에 의해 랜덤화된 데이터(r)를 함수(Ψ)를 이용하여 암호화문으로 변환할 수 있다.
Ψ: R → R'
여기서, 함수(Ψ)는 환 동형 사상(Ring Isomorphism)이고, r ∈ R, r' ∈ R' 이다.
환 동형 사상의 일 예로서 라그랑즈 보간법을 들 수 있으며, 라그랑즈 보간법을 본 실시예에 사용하는 경우 R과 R'는 다음과 같이 정의 될 수 있다.
R = Zn[x]/(p(x)), R' = Zk n , p(x) = Πk i=1(x-αi) = (x-α1)(x-α2) ··· (x-αk) = p0 + p1x1+ p2x2 + ... + pk-1xk-1
f(x)는 R의 일 원소이며, 이벨류에이션부(130)는 f(x)로부터 c를 산출한다. 여기서, c = (c1, c2, ... , ck) = (m(α1) + Qe(α1), m(α2) + Qe(α2), ... , m(αk) + Qe(αk))
여기서, Qe(x)는 Q와 e(x)의 곱이며, 이하에서는 도 11를 참조하여 용어 및/또는 파라미터들을 설명하기로 한다.
m(x) = m0 + m1x1 + ... + mk-1xk-1
여기서, mi ∈{0, 1, ... , Q-1}, Q ∈{0, 1, ... , n-1}이고, n은 양의 정수이다
e(x) = e0 + e1x + e2x2 + ... + ek-1xk-1 , ei ∈ {0, 1, ... , E-1}
이고 E ∈ {0, 1, ... , n-1}이고, n은 양의 정수이다.
R = Z[x]nk i=1(x-αi)
R의 원소 f(x)는 다음과 같이 정의된다.
f(x) = b0 + b1x1+ b2x2 + ... + bk-1xk-1 , bi ∈ {0, 1, ... , n-1}
p(x)는, 다음과 같이 정의될 수 있다.
p(x) = p0 + p1x1+ p2x2 + ... + pk-1xk-1 , pi ∈ {0, 1, ... , n-1}
한편, p(x)는 다음과 같은 형태로 기술이 가능하다.
p(x) = Πk i=1(x-αi) = (x-α1)(x-α2) ··· (x-αk)
S의 원소 α는 다음과 같이 정의될 수 있다.
α = (α1, α2, ... , αk), α ∈ S , αi - αj ∈ Z* n
Z* n는 Zn의 역원이 존재하는 원소의 집합이고, Zn은 모듈러 n의 잉여 집합이다.
R' = Zk n = {(r1, r2, ... , rk)|ri ∈{0, 1, ... , n-1}, 1≤i≤k, i와 k와 n은 양의 정수}
평문(m(x))의 계수의 크기(space), Q 의 크기(space), E의 크기와, n은 다음과 같은 관계가 있다.
평문(m(x))의 계수의 크기(space) < Q의 크기(space) < n
평문(m(x))의 계수의 크기(space) < E의 크기(space) < n
도 11을 계속 참조하면, 본 실시예에 따른 복호화 하는 장치는, 변환부(140)와 모듈러 연산부(150)를 포함할 수 있다.
변환부(140)는 다음과 같은 동작을 수행할 수 있다.
Ψ-1: C → R
여기서, f(x) ∈ R, c ∈ C이고, 여기서 c = (m(α1) + qe(α1), m(α2) + qe(α2), ... , m(αk) + qe(αk)) = (c1, c2, ... , ck)이고, f(x)는 다항식이며, Ψ-1 는 Ψ의 역함수이다.
예를 들면, 다항식 f(x)는, f(αi)=ci를 만족하는 다항식으로서 라그랑즈 보간법에 의해서 구해질 수 있다. 즉, 변환부(140)에 의해 변환된 다항식(f(x))은 다음을 만족한다.
f(α1) = c1
f(α2) = c2
.
.
.
f(αk)= ck
모듈러 연산부(150)는, 변환부(140)에 의해 산출된 다항식 f(x)를 Q 로 나누어 모듈러를 연산할 수 있으며, 이로써 평문(m)이 생성될 수 있다.
변환부(140)에 의해 산출된 다항식 f(x)를 f(x)= f0 + f1x1 + ... + fk-1xk-1 라고 하면, 모듈러 연산부(150)에 의해 생성되는 평문은 다음과 같이 기술될 수 있다.
m = f0 mod Q + f1x1mod Q + ... + fk-1xk-1mod Q
K. 제12실시예
도 12는 본 발명의 일 실시예에 따른 환 동형 사상(Ring Isomorphism)을 이용한 암호화 방법을 설명하기 위한 도면이다.
도 12를 참조하면, 본 발명의 일 실시예에 따른 환 동형 사상(Ring Isomorphism)을 이용한 암호화 방법은, 랜덤화 단계(S501)와 이벨류에이션부(S503)를 포함할 수 있다.
랜덤화 단계(S501)에서는 다음과 같은 동작을 수행할 수 있다.
Ω: M → R
여기서, m(x) ∈ M 이고, 다항식인 평문(m(x))은 r(x)로 변환된다. 여기서, 평문 m(x) = m0 + m1x1 + ... + mk-1xk-1로 주어질 수 있다.
랜덤화 단계(S501)에서는, 예를 들면 상기 수식 5에 의해서 평문(m(x))을 랜덤화시킬 수 있다. 평문(m(x))은 다항식일 수 있다.
랜덤화 단계(S501)에서 수행되는 동작은, 예를 들면, 상술한 제11실시예의 랜덤화부(120)에 의해 이루어지는 동작과 동일 또는 유사할 수 있다.
이벨류에이션 단계(S503)에서는, 랜덤화 단계(S501)에서 의해 랜덤화된 데이터(R)를 함수(Ψ)를 이용하여 암호화문으로 변환할 수 있다.
이벨류에이션 단계(S503)에서 사용하는 함수(Ψ)는 환 동형 사상(Ring Isomorphism)이며, 다음과 같은 동작을 수행한다.
Ψ: R → R'
이벨류에이션 단계(S503)에서 수행되는 동작은, 예를 들면, 상술한 제11실시예의 이벨류에이션부(130)에 의해 이루어지는 동작과 동일 또는 유사할 수 있다.
L. 제13실시예
도 13은 본 발명의 일 실시예에 따른 환 동형 사상(Ring Isomorphism)을 이용한 복호화 방법을 설명하기 위한 도면이다.
도 13을 참조하면, 본 발명의 일 실시예에 따른 환 동형 사상(Ring Isomorphism)을 이용한 동형 암호화 방법에 의해 암호화된 암호화문을 복호화 방법은, 암호문을 다항식으로 변환하는 변환 단계(S601)와 모듈러 연산 단계(S603)를 포함할 수 있다.
변환 단계(S601)는 예를 들면, 도 11에서의 변환부(140)의 동작과 동일 또는 유사할 수 있고, 모듈러 연산 단계(S603)는 예를 들면, 도 11에서의 모듈러 연산부(150)의 동작과 동일 또는 유사할 수 있다.
변환 단계(S601)에서는 다음과 같은 동작을 수행할 수 있다.
Ψ-1: C → R
여기서, c ∈ C, 여기서 c = (m(α1) + Qe(α1), m(α2) + Qe(α2), ... , m(αk) + Qe(αk)) = (c1, c2, ... , ck)이고, f(x) ∈ R, f(x)는 다항식이고, Ψ-1 는 Ψ의 역함수이다.
예를 들면, 다항식 f(x)는, f(αi)=ci를 만족하는 다항식으로서 라그랑즈 보간법에 의해서 구해질 수 있다. 즉, 변환 단계(S601)에서 산출된 다항식(f(x))은 다음을 만족한다.
f(α1) = c1
f(α2) = c2
.
.
.
f(αk)= ck
모듈러 연산 단계(S603)에서는, 변환 단계(S601)에서 산출된 다항식 f(x)를 Q 로 나누어 모듈러를 연산할 수 있으며, 이로써 평문(m)이 생성될 수 있다.
변환 단계(S601)에서 산출된 다항식 f(x)를 f(x)= f0 + f1x1 + ... + fk-1xk-1 라고 하면, 모듈러 연산 단계(S603)의 수행결과 생성되는 평문은 다음과 같이 기술될 수 있다.
m = f0 mod Q + f1x1 mod Q + ... + fk-1xk-1 mod Q
M. 제14실시예
도 14는 본 발명의 일 실시예에 따른 환 동형 사상(Ring Isomorphism)을 이용한 암호화 장치와 복호화 장치를 설명하기 위한 도면이다.
도 14를 참조하면, 본 발명의 일 실시예에 따른 환 동형 사상(Ring Isomorphism)을 이용한 암호화 장치는, 랜덤화부(220)와 제1 모듈러 연산부(230)를 포함할 수 있다.
본 암호화 장치는 평문(m)을 암호화문(c)으로 변환하며, c는 (c1, c2, ... , ck)의 형태로 산출될 수 있다.
랜덤화부(220)는 평문(m)에 대하여 m + eq 연산을 수행한다. 여기서, e=(e1, e2, ... , ek) 이고, (q1, q2, ... , qk)이며, ei와 qi는 정수이다. 그리고, ei는 λ 비트의 정수이고, ρ = 2λ, λ는 시큐어리티 파라미터이다.
제1 모듈러 연산부(230)는 m + eq 에 대하여 (m + eq) mod s 연산을 수행한다.
여기서, 비밀키 s = (α1, α2, ... , αk)이며, αi는 α1, α2, ... , αk 중 어느 하나로서, 이들은 서로 소인 정수들이다.
제1 모듈러 연산부(230)의 연산결과, c = (c1, c2, ... , ck) 형태로 되는 암호화문이 산출된다.
도 14를 계속 참조하여, 본 발명의 일 실시예에 따른 환 동형 사상(Ring Isomorphism)을 이용한 복호화 장치를 설명하기로 한다.
본 복호화 장치는 CRT 연산부(240)와 제2 모듈러 연산부(250)를 포함할 수 있다.
CRT 연산부(240)는, 다음의 수식 7에 의해, 암호화문(c)에 대하여 CRT(Chinese Remainder Theorem: CRT)을 적용하여 출력하며, 출력은 m + eq 의 형태를 가질 수 있다.
<수식 7>
CRTS(c)
CRT는 중국인의 나머지 정리를 적용하는 함수(환 동형 사상(Ring Isomorphism)의 일 예)이고, S= {αi| 1≤i≤k, i와 k는 양의 정수} 로서 키(Key)이며, k는 키의 갯수를 나타낸다. 본 발명의 실시예에 따르면, 여기서 키(Key)는 비밀키일 수 있다.
CRT는, 예를 들면, α1, α2, ... , αk가 서로 소인 정수라고 하고, b = α1·α2·α3···αk 라고 하면, 이때 임의의 수열 a1, a2, ... , ak 대하여 c=ak (mod αk) 가 되는 c가 mod s 로 유일하게 존재한다는 정리이다.
c에 대한 연립 합동식은 다음과 같이 기재될 수 있다.
c = a1 (mod α1)
c = a2 (mod α2)
.
.
.
c = ak (mod αk)
상기 수식 CRTS(c)에서, c는 나머지에 해당하고 s는 제수(나누는 수)에 해당하며, 수식 CRTS(c)의 해는 상기 연립 합동식을 만족하는 값이 된다.
s = (α1, α2, ... , αk)는 비밀키로서, αi는 서로 소인 정수들이다.
제2 모듈러 연산부(250)는 CRT 연산부(240)의 출력 a = (a1, a2, ... , ak )에 대하여 a mod q의 연산을 수행함으로써 평문을 산출한다.
N. 제15실시예
도 15는 본 발명의 일 실시예에 따른 환 동형 사상(Ring Isomorphism)을 이용한 암호화 방법을 설명하기 위한 도면이다.
도 15를 참조하면, 본 발명의 일 실시예에 따른 환 동형 사상(Ring Isomorphism)을 이용한 암호화 방법은, 랜덤화 단계(S701)와 모듈러 연산 단계(S703)를 포함할 수 있다.
본 암호화 방법에서는 평문(m)을 암호화문(c)으로 변환하며, c는 (c1, c2, ... , ck)의 형태로 산출될 수 있다.
랜덤화 단계(S701)에서는 평문(m)에 대하여 m + eq 연산을 수행한다. 랜덤화 단계(S701)에서 수행되는 동작은, 예를 들면, 도 14에서의 랜덤화부(220)의 동작과 동일 또는 유사할 수 있다.
모듈러 연산 단계(S703)에서는, (m+eq) mod s 연산을 수행하며, 수행결과 (c1, c2, ... , ck) 형태의 암호화문이 산출된다.
모듈러 연산 단계(S703)에서 수행되는 동작은, 예를 들면, 도 14에서의 제1 모듈러 연산부(230)의 동작과 동일 또는 유사할 수 있다.
O. 제16실시예
도 16은 본 발명의 일 실시예에 따른 환 동형 사상(Ring Isomorphism)을 이용한 복호화 방법을 설명하기 위한 도면이다.
도 16을 참조하면, 본 발명의 일 실시예에 따른 환 동형 사상(Ring Isomorphism)을 이용한 복호화 방법은, CRT 연산 단계(S801)와 모듈러 연산 단계(S803)를 포함할 수 있다.
CRT 연산 단계(S801)에서는, 수식 7에 의해, 암호화문(c)에 대하여 CRT(Chinese Remainder Theorem: CRT)을 적용하여 출력하며, 여기서 출력은 m + eq 의 형태를 가질 수 있다.
CRT 연산 단계(S801)에서 수행되는 동작은, 예를 들면 도 14의 CRT 연산부(240)의 동작과 동일 또는 유사할 수 있다.
모듈러 연산 단계(S803)에서는, (m + eq) mod q 의 연산을 수행함으로써 평문을 산출한다.
모듈러 연산 단계(S803)에서 수행되는 동작은, 예를 들면 도 14의 제2 모듈러 연산부(250)의 동작과 동일 또는 유사할 수 있다.
P. 제17실시예
도 17은 본 발명의 일 실시예에 따른 리프레시 장치를 설명하기 위한 도면이다.
도 17은 참조하면, 본 발명의 일 실시예에 따른 리프레시 장치(310)는, 암호화문(c)을 입력 받고 리프레시 동작을 수행하여 새로운 암호화문(c')을 산출할 수 있다.
리프레시 장치(310)로 입력되는 암호화문(c)는 암호화문들끼리의 곱셈이나 덧셈 연산이 반복된 결과로서의 암호화문이며, 이러한 암호문(c)에는 에러가 포함된 상태이다. 암호화문(c)은 설명의 편의를 위해서, c = (c1, c2, ... , cn)이라고 가정한다.
리프레시 장치(310)로부터 출력되는 암호화문(c')은, 에러가 제거된 상태로서, 곱셈이나 덧셈 연산을 다시 할 수 있는 상태가 된다.
본 발명의 일 실시예에 따른 리프레시 장치(310)는 다음과 같은 가정이 필요하다.
1) 암호화문 c = (c1, c2, ... , cn), ci ∈ {0, 1}
2) 비밀키 s = (α1, α2, ... , αk), α i ∈ {0, 1}
3) 복호화 과정은 다음과 같은 과정을 가져야 함.
m = f(c) =
Figure PCTKR2013007743-appb-I000001
, λj, aj는 알려진 상수
종래 Gentry와 Halevi는 복호화 회로(decryption circuit)의 모양이 특별한 경우 스쿼싱(squashing) 없이 부트트랩핑(bootstrapping)을 할 수 있는 완전동형암호를 제시하였는데, 그중 하나는 엘가말(Elgamal) 암호에서 사용되는 비밀키 e를 이진 전개하여, 복호화 회로(decryption circuit)를 homomorphic 하게 이벨류에이션 시키는 방법이 있다. 본 발명의 일 실시예에 따른 리프레시 장치(310)는 그러한 방법을 개선한 것이다.
즉, Gentry와 halevi는 비밀키 e를 다음과 같이 이진 전개하였다.
Figure PCTKR2013007743-appb-I000002
여기서, 공개키에 e_ℓ의 encryption을 추가하면, y^e를 homomorphic 하게 이벨류에이션할 수 있게 된다. 즉, 이것의 의미는 엘가말 암호의 복호화 회로(decryption circuit)을 homomorphic 하게 이벨류에이션할 수 있다는 것이다. 하지만, 이처럼 시행하는 경우, 주어진 준동형 암호의 homomorphic capacity (지원가능 한 곱하기 횟수)가 4ambda 까지 늘어나야 한다는 단점이 있다. Gentry와 Halevi는 이를 해결하기 위해서 준동형 암호의 파라미터의 크기를 키워서 해결한다고 했지만, 이렇게 될 경우 암호알고리즘 전체의 효율성이 덜어지게 된다.
본 발명의 일 실시예에 따른 리프레시 장치(310)에서는, 위 Gentry와 Halevi가 제시한 방법을 사용하되, 비밀키 e를 다음과 같이 전개하는 방법을 취하고 있다.
Figure PCTKR2013007743-appb-I000003
이렇게 함으로써, 비밀키 e를 이진전개가 아닌 일반적인 자연수 w 진법 전개를 통해 준동형 암호의 homomorphic capacity를 낮추었다. 기존의 4lambda에서 4lambda/logw (e_{ℓ k}'와 {y^{w^ℓ})^곱, 그리고 log_w e개(약 2lambda/logw) 만큼의 곱셈을 해야 하므로) 만큼으로 줄일 수 있고, 이로써 준동형 암호의 파라미터 증가 없이 스쿼싱 업이 부트트랩핑을 달성할 수 있다.
이상 설명한 본 발명의 일 실시예에 따른 리프레시 장치(310)는, 암호화 장치, 복호화 장치, 또는 연산 장치에 포함되도록 구현될 수 있다.
도 18은 본 발명의 일 실시예에 따른 암호화 장치, 복호화 장치, 및/또는 연산장치가 적용되는 컴퓨터 시스템을 설명하기 위한 도면이다.
도 1 내지 도 10, 및 도 11 내지 도 17을 참조하여 설명한 본 발명의 실시예들은, 예를 들면 도 18에 도시된 컴퓨터 시스템에 구현될 수 있다.
도 18의 컴퓨터 시스템은 스마트 폰이나 PDA와 같은 모바일 기기, 데스크 탑 PC, 타블렛 PC, 또는 서버와 같은 컴퓨터 시스템 중의 어느 하나일 수 있으나, 이들 컴퓨터 시스템에만 한정되는 것이 아니다.
도 18의 컴퓨터 시스템에는, 도 1 내지 도 10, 및 도 11 내지 도 17을 참조하여 설명한 암호화 장치 또는 방법, 복호화 장치 또는 방법, 연산 장치, 또는 리프레시 장치가 구현될 수 있다.
도 18을 참조하면, 컴퓨터 시스템(100)은, 프로그램 로직(101), 컴퓨터 프로세서(103), 저장부(105), 및 메모리(107)를 포함할 수 있다.
프로그램 로직(101)은, 컴퓨터에서 실행가능한 코드(Code)의 형태로 구현될 수 있으며, 저장부(105)에 저장되어 있다가 컴퓨터 프로세서(103)의 제어하에 메모리(107)에 로딩되어 동작할 수 있다.
예를 들면, 프로그램 로직(101)은, 도 1을 참조하여 설명한 랜덤화부(20), 및/또는 변환부(30)의 동작을 수행하는 코드(code)를 포함할 수 있다. 대안으로, 랜덤화부(20)와 변환부(30) 중 적어도 하나는 하드웨어로 구현될 수 있다.
다른 예를 들면, 프로그램 로직(101)은, 도 2를 참조하여 설명한 이벨류에이션부(40), 및 모듈러 연산부(50)의 동작을 수행하는 코드(code)를 포함할 수 있다. 대안으로, 이벨류에이션부(40)와 모듈러 연산부(50) 중 적어도 하나는 하드웨어로 구현될 수 있다.
예를 들면, 프로그램 로직(101)은, 도 4을 참조하여 설명한 모듈러 연산부(10), 랜덤화부(20), 및/또는 변환부(30)의 동작을 수행하는 코드(code)를 포함할 수 있다. 대안으로, 모듈러 연산부(10), 랜덤화부(20), 및 변환부(30)중 적어도 하나는 하드웨어로 구현될 수 있다.
예를 들면, 프로그램 로직(101)은, 도 5를 참조하여 설명한 이벨류에이션부(40), 제1 모듈러 연산부(50), 제2 모듈러 연산부(60)의 동작을 수행하는 코드(code)를 포함할 수 있다. 대안으로, 이벨류에이션부(40), 제1 모듈러 연산부(50), 제2 모듈러 연산부(60) 중 적어도 하나는 하드웨어로 구현될 수 있다.
예를 들면, 프로그램 로직(101)은, 도 6를 참조하여 설명한 연산장치들(70, 80)의 동작을 수행하는 코드(code)를 포함할 수 있다. 대안으로, 연산장치들(70, 80)은 하드웨어로 구현될 수 있다.
예를 들면, 프로그램 로직(101)은, 도 7을 참조하여 설명한 암호화 방법을 수행하는 코드(code)를 포함할 수 있다.
예를 들면, 프로그램 로직(101)은, 도 8을 참조하여 설명한 암호화 방법을 수행하는 코드(code)를 포함할 수 있다.
예를 들면, 프로그램 로직(101)은, 도 9를 참조하여 설명한 복호화 방법을 수행하는 코드(code)를 포함할 수 있다.
예를 들면, 프로그램 로직(101)은, 도 10을 참조하여 설명한 복호화 방법을 수행하는 코드(code)를 포함할 수 있다.
예를 들면, 프로그램 로직(101)은, 도 11을 참조하여 설명한 암호화 장치와 복호화 장치의 동작을 수행하는 코드(code)를 포함할 수 있다. 즉, 프로그램 로직(101)은, 도 11을 참조하여 설명한 랜덤화부(120), 이벨류에이션부(130)의 동작을 수행하는 코드를 포함할 수 있다. 또한, 프로그램 로직(101)은, 도 11을 참조하여 설명한 변환부(140)와 모듈러 연산부(150)의 동작을 수행하는 코드를 포함할 수 있다.
예를 들면, 프로그램 로직(101)은, 도 12를 참조하여 설명한 암호화 방법을 수행하는 코드(code) 및/또는 도 13을 참조하여 설명한 복호화 방법을 수행하는 코드(code)를 포함할 수 있다.
예를 들면, 프로그램 로직(101)은, 도 14를 참조하여 설명한 암호화 장치의 동작을 수행하는 코드(code) 또는 도 14를 참조하여 설명한 복호화 장치의 동작을 설명하는 코드(code)를 포함할 수 있다. 즉, 프로그램 로직(101)은 도 14를 참조하여 설명한 랜덤화부(220)와 모듈러 연산부(230)의 동작을 수행하는 코드를 포함할 수 있다. 또한, 프로그램 로직(101)은 도 14를 참조하여 설명한 CRT 연산부(240)와 모듈러 연산부(250)의 동작을 수행하는 코드를 포함할 수 있다.
예를 들면, 프로그램 로직(101)은, 도 15를 참조하여 설명한 암호화 방법을 수행하는 코드(code) 및/또는 도 16을 참조하여 설명한 복호화 방법을 수행하는 코드(code)를 포함할 수 있다.
예를 들면, 프로그램 로직(101)은, 도 17을 참조하여 설명한 리프레시 장치의 동작을 수행하는 코드(code)를 포함할 수 있다.
이상 설명한 실시예에서, 컴퓨터에서 실행가능한 프로그램의 코드로 구현되는 구성요소들은, 하드웨어 로직으로도 구현이 가능할 것이다. 하드웨어 로직으로 구현되는 경우에는 컴퓨터 프로세서(103)에 내장된 형태로 구현되거나, 또는 컴퓨터 프로세서(103)와는 별도의 하드웨어로 구현이 될 수 있다.
상기와 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.

Claims (19)

  1. 평문(m)에 에러(e)를 부가하여 랜덤화하는 단계 및
    랜덤화된 데이터(r)를 다음 수식
    Ψ : R → R'
    의해 r' 로 변환하는 단계를 포함하며,
    여기서, r ∈ R 이고, r' ∈ R' 이고, 함수(Ψ)는 환 동형 사상(Ring Isomorphism)인 것을 특징으로 하는, 환 동형 사상을 이용한 동형 암호화 방법.
  2. 제1항에 있어서,
    상기 랜덤화하는 단계는, 다음 수식
    r = m + e·q
    에 의해 연산하는 단계이고,
    여기서, m은 평문, e·q는 e 와 q의 내적이고, e= {ei| 1≤i≤k, i와 k는 양의 정수} = (e1, e2, ... , ek) 이고, q = {qi| 1≤i≤k, i와 k는 양의 정수} = (q1, q2, ... , qk) 이고, qi는 서로 소인 양의 정수인 것을 특징으로 하는 환 동형 사상을 이용한 동형 암호화 방법.
  3. 제1항에 있어서,
    상기 R 은 Zk n (모듈러 n의 최소 잉여 집합, n은 양의 정수) = (r1, r2, ... , rk)으로 정의되고, 상기 R'는 r' = Zn[x]/(p(x)) = f(x)을 원소로서 포함하는 집합으로 정의 되고, f(x)는 f(αi)=ri를 만족하는 다항식이며,
    상기 변환하는 단계는, 라그랑즈 보간법에 의해 상기 f(x)를 구하며,
    여기서 α1, α2, ... , αk 는 S={αi|αi - αi ∈ {Z* n} , 1≤i, j≤k, i, j, 및 k는 양의 정수} = (α1, α2, ... , αk)로 정의되는 함수의 원소인 것을 특징으로 하는 환 동형 사상을 이용한 동형 암호화 방법.
  4. 제2항에 있어서,
    상기 변환하는 단계는, 상기 랜덤화된 데이터(r)를, 다음 수식
    c = CRTS(r)
    에 의해 변환하는 단계이고, 여기서 CRT는 중국인의 나머지 정리를 적용하는 연산자이고, s = (α1, α2, ... , αk) 이고, r = (r1, r2, ... , rk)이며,
    그리고 α1, α2, ... , αk 는, 모든 qi 가 b와 서로 소가 되도록 선택되고, 여기서 b는 α1 내지 αk 곱인
    b = α1·α2·α3 ···αk
    로 정의된 것을 특징으로 하는 환 동형 사상을 이용한 동형 암호화 방법.
  5. 제4항에 있어서,
    다음 수식
    m' = m mod q
    에 의해 모듈러를 연산하는 단계를 더 포함하며,
    상기 랜덤화하는 단계는, 다음 수식
    r = m' + eq= (m' + e1q1, m' + e2q2, ... , m' + ekqk)
    에 의해 램덤화 동작을 수행하는 것을 특징으로 하는 환 동형 사상을 이용한 동형 암호화 방법.
  6. 암호화문을 복호화 하는 방법에 있어서,
    암호화문(c)에 키(s)를 적용하여 이벨류에이션하는 단계 및
    이벨류에이션하는 단계에서 산출된 값을 q로 나누어 모듈러를 연산하는 단계를 포함하며,
    상기 암호화문(c)은 환 동형 사상을 이용한 동형 암호화 방법에 의해 암호화된 것으로서, 상기 동형 암호화 방법은,
    평문(m) 또는 랜덤화된 평문을, 다음 수식
    Ψ : R → R'
    의해 r' 로 변환하는 단계를 포함하며,
    여기서, r은 평문(m) 또는 랜덤화된 평문이고, r ∈ R 이고, r' ∈ R' 이고, 함수(Ψ)는 환 동형 사상(Ring Isomorphism)이며,
    여기서, q ∈ Q, Q = {qi| 1≤i≤k, i와 k는 양의 정수}이고, qi는 서로 소인 양의 정수이고, S = {αi|αi - αi ∈ {Z* n}, 1≤i, j≤k, i, j, 및 k는 양의 정수} = (α1, α2, ... , αk)로 정의되는 것을 특징으로 하는 복호화 방법.
  7. 제6항에 있어서,
    상기 랜덤화된 평문(m')은, 다음 수식
    r = m + e·q
    에 의해 랜덤화된 것이고,
    여기서, e·q는 e 와 q의 내적이고, e= {ei| 1≤i≤k, i와 k는 양의 정수} = (e1, e2, ... , ek) 이고, q = {qi| 1≤i≤k, i와 k는 양의 정수} = (q1, q2, ... , qk) 이고, qi는 서로 소인 양의 정수인 것을 특징으로 복호화 방법.
  8. 제6항에 있어서,
    상기 R 은 Zk n (모듈러 n의 최소 잉여 집합, n은 양의 정수) = (r1, r2, ... , rk)으로 정의되고, 상기 R'는 r' = Zn[x]/(p(x)) = f(x)을 원소로서 포함하는 집합으로 정의 되고, f(x)는 f(αi)=ri를 만족하는 다항식이며,
    상기 변환하는 단계는, 라그랑즈 보간법에 의해 상기 f(x)를 구하며,
    여기서 α1, α2, ... , αk 는 S={αi|αi - αi ∈ {Z* n} , 1≤i, j≤k, i, j, 및 k는 양의 정수} = (α1, α2, ... , αk)로 정의되는 함수의 원소인 것을 특징으로 하는 복호화 방법.
  9. 제7항에 있어서,
    상기 변환하는 단계는, 상기 랜덤화된 평문 r를, 다음 수식
    c = CRTS(r)
    에 의해 변환하는 단계이고, 여기서 CRT는 중국인의 나머지 정리를 적용하는 연산자이고, s = (α1, α2, ... , αk) 이고, r = (r1, r2, ... , rk)이며,
    그리고 α1, α2, ... , αk 는, 모든 qi 가 b와 서로 소가 되도록 선택되고, 여기서 b는 다음과 같이 α1 내지 αk 곱인
    b = α1·α2·α3 ···αk
    로 정의된 것을 특징으로 하는 복호화 방법.
  10. 제9항에 있어서,
    다음 수식
    m' = m mod q
    에 의해 모듈러를 연산하는 단계를 더 포함하며,
    상기 랜덤화하는 단계는, 다음 수식
    r = m' + eq= (m' + e1q1, m' + e2q2, ... , m' + ekqk)
    에 의해 램덤화 동작을 수행하는 것을 특징으로 하는 복호화 방법.
  11. 평문 또는 평문이 랜덤화된 데이터(r)를 다음 수식
    Ψ : R → R'
    의해 r' 로 변환하는 변환부를 포함하며,
    여기서, r ∈ R 이고, r' ∈ R' 이고, 함수(Ψ)는 환 동형 사상(Ring Isomorphism)인 것을 특징으로 하는, 환 동형 사상을 이용한 동형 암호화 장치.
  12. 제11항에 있어서,
    다음 수식
    r = m + e·q
    에 의해 연산하는 램덤화부를 더 포함하며,
    여기서, m은 평문, e·q는 e 와 q의 내적이고, e= {ei| 1≤i≤k, i와 k는 양의 정수} = (e1, e2, ... , ek) 이고, q = {qi| 1≤i≤k, i와 k는 양의 정수} = (q1, q2, ... , qk) 이고, qi는 서로 소인 양의 정수인 것을 특징으로 하는 환 동형 사상을 이용한 동형 암호화 장치.
  13. 제11항에 있어서,
    상기 R 은 Zk n (모듈러 n의 최소 잉여 집합, n은 양의 정수) = (r1, r2, ... , rk)으로 정의되고, 상기 R'는 r' = Zn[x]/(p(x)) = f(x)을 원소로서 포함하는 집합으로 정의 되고, f(x)는 f(αi)=ri를 만족하는 다항식이며,
    상기 변환부는, 라그랑즈 보간법에 의해 상기 f(x)를 구하며,
    여기서 α1, α2, ... , αk 는 S={αi|αi - αi ∈ {Z* n} , 1≤i, j≤k, i, j, 및 k는 양의 정수} = (α1, α2, ... , αk)로 정의되는 함수의 원소인 것을 특징으로 하는 환 동형 사상을 이용한 동형 암호화 장치.
  14. 제12항에 있어서,
    상기 변환부는, 상기 랜덤화된 데이터를, 다음 수식
    c = CRTS(r)
    에 의해 변환하며, 여기서 CRT는 중국인의 나머지 정리를 적용하는 연산자이고, s = (α1, α2, ... , αk) 이고, r = (r1, r2, ... , rk)이며, 그리고 α1, α2, ... , αk 는, 모든 qi 가 b와 서로 소가 되도록 선택되고, 여기서, b는 α1 내지 αk 곱인
    b = α1·α2·α3 ···αk
    로 정의된 것을 특징으로 하는 환 동형 사상을 이용한 동형 암호화 장치.
  15. 제14항에 있어서,
    다음 수식
    m' = m mod q
    에 의해 모듈러를 연산하는 모듈러 연산부를 더 포함하며,
    상기 랜덤화부는, 다음 수식
    r = m' + eq= (m' + e1q1, m' + e2q2, ... , m' + ekqk)
    에 의해 램덤화 동작을 수행하는 것을 특징으로 하는 환 동형 사상을 이용한 동형 암호화 장치.
  16. 암호화문을 복호화 하는 장치에 있어서,
    암호화문(c)에 키(s)를 적용하여 이벨류에이션하는 이벨류에이션부 및
    이벨류에이션부에서 산출된 값을 q로 나누어 모듈러를 연산하는 모듈러 연산부를 포함하며,
    상기 암호화문(c)은 환 동형 사상을 이용한 암호화 방법에 의해 암호화된 것으로서, 상기 암호화 방법은,
    평문 또는 평문이 랜덤화된 데이터(r)를 다음 수식
    Ψ : R → R'
    의해 r' 로 암호화하는 단계를 포함하며,
    여기서, r ∈ R 이고, r' ∈ R' 이고, 함수(Ψ)는 환 동형 사상(Ring Isomorphism)인 것을 특징으로 하는, 복호화 장치.
  17. 제16항에 있어서,
    상기 랜덤화된 평문은, 다음 수식
    r = m + e·q
    에 의해 랜덤화된 것이고,
    여기서, e·q는 e 와 q의 내적이고, e= {ei| 1≤i≤k, i와 k는 양의 정수} = (e1, e2, ... , ek) 이고, q = {qi| 1≤i≤k, i와 k는 양의 정수} = (q1, q2, ... , qk) 이고, qi는 서로 소인 양의 정수인 것을 특징으로 복호화 장치.
  18. 제16항에 있어서,
    상기 R 은 Zk n (모듈러 n의 최소 잉여 집합, n은 양의 정수) = (r1, r2, ... , rk)으로 정의되고, 상기 R'는 r' = Zn[x]/(p(x)) = f(x)을 원소로서 포함하는 집합으로 정의 되고, f(x)는 f(αi)=ri를 만족하는 다항식이며,
    상기 암호화하는 단계는, 라그랑즈 보간법에 의해 상기 f(x)를 구하며,
    여기서 α1, α2, ... , αk 는 S={αi|αi - αi ∈ {Z* n} , 1≤i, j≤k, i, j, 및 k는 양의 정수} = (α1, α2, ... , αk)로 정의되는 함수의 원소인 것을 특징으로 하는 복호화 장치.
  19. 제17항에 있어서,
    상기 암호화하는 단계는, 상기 랜덤화된 평문을, 다음 수식
    c = CRTS(r)
    에 의해 암호화하는 단계이고, 여기서 CRT는 중국인의 나머지 정리를 적용하는 연산자이고, s = (α1, α2, ... , αk) 이고, r = (r1, r2, ... , rk)이며, 그리고 α1, α2, ... , αk 는, 모든 qi 가 b와 서로 소가 되도록 선택되고, 여기서 b는 α1 내지 αk 곱인
    b = α1·α2·α3 ···αk
    로 정의된 것을 특징으로 하는 복호화 장치.
PCT/KR2013/007743 2012-08-28 2013-08-28 환 동형 사상을 이용한 동형 암호화 방법과 복호화 방법 및 이를 이용한 장치 WO2014035146A2 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/127,478 US20150312028A1 (en) 2012-08-28 2013-08-28 Homomorphic encryption and decryption methods using ring isomorphism, and apparatuses using the same

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1020120094061A KR101440680B1 (ko) 2012-08-28 2012-08-28 중국인 나머지 정리에 기반한 준동형 암복호화 방법 및 이를 이용한 장치
KR10-2012-0094061 2012-08-28
KR10-2013-0007760 2013-01-24
KR1020130007760A KR101449239B1 (ko) 2013-01-24 2013-01-24 환 동형 사상을 이용한 동형 암호화 방법과 복호화 방법 및 이를 이용한 장치

Publications (2)

Publication Number Publication Date
WO2014035146A2 true WO2014035146A2 (ko) 2014-03-06
WO2014035146A3 WO2014035146A3 (ko) 2014-05-08

Family

ID=50184544

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2013/007743 WO2014035146A2 (ko) 2012-08-28 2013-08-28 환 동형 사상을 이용한 동형 암호화 방법과 복호화 방법 및 이를 이용한 장치

Country Status (2)

Country Link
US (1) US20150312028A1 (ko)
WO (1) WO2014035146A2 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160017226A (ko) * 2014-08-01 2016-02-16 서울대학교산학협력단 co-ACD 문제 기반의 부가적 동형 암호화 및 복호화 방법과 이를 이용하는 장치
WO2017008043A1 (en) * 2015-07-08 2017-01-12 Brown University Homomorphic encryption
US11303427B2 (en) 2018-01-12 2022-04-12 Korea Smart Authentication Corp. Method for verifying opinion by use of block chain which guarantees anonimity and prevents sybil attack

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102251697B1 (ko) * 2014-04-23 2021-05-14 삼성전자주식회사 암호화 장치, 암호화 방법 및 컴퓨터 판독가능 기록매체
US10277403B2 (en) 2016-02-25 2019-04-30 Onboard Security, Inc. Digital signature method and apparatus
CN105657704B (zh) * 2016-03-24 2019-02-15 北京理工大学 一种基于整数取模的无线传感器网络密钥管理方法
US10333698B2 (en) * 2017-07-14 2019-06-25 Raytheon Company Entwined encryption and error correction
US10778409B2 (en) 2017-12-15 2020-09-15 Crypto Lab Inc. Terminal device performing homomorphic encryption, server device processing ciphertext and methods thereof
EP3506547A1 (en) * 2017-12-28 2019-07-03 Flytxt B.V. Providing security against user collusion in data analytics using random group selection
US11032061B2 (en) * 2018-04-27 2021-06-08 Microsoft Technology Licensing, Llc Enabling constant plaintext space in bootstrapping in fully homomorphic encryption
US11539517B2 (en) * 2019-09-09 2022-12-27 Cisco Technology, Inc. Private association of customer information across subscribers
US11070357B2 (en) 2019-10-17 2021-07-20 Raytheon Company Techniques for privacy-preserving data processing across multiple computing nodes
JP7179788B2 (ja) * 2020-01-21 2022-11-29 Kddi株式会社 秘匿演算装置、秘匿演算方法及び秘匿演算プログラム
KR20210135075A (ko) 2020-05-04 2021-11-12 삼성전자주식회사 동형 암복호화 장치, 상기 장치를 포함하는 시스템, 및 동형 암복호화의 수행 방법
KR20220048225A (ko) 2020-10-12 2022-04-19 삼성전자주식회사 동형 연산 가속기 및 이를 포함하는 동형 연산 수행 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08504962A (ja) * 1992-12-22 1996-05-28 テルストラ・コーポレイション・リミテッド 暗号化方法
US20120140920A1 (en) * 2010-12-07 2012-06-07 King Fahd University Of Petroleum And Minerals Rna-based cryptographic system and method
US20120213359A1 (en) * 2011-02-17 2012-08-23 Gradiant Method and apparatus for secure iterative processing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08504962A (ja) * 1992-12-22 1996-05-28 テルストラ・コーポレイション・リミテッド 暗号化方法
US20120140920A1 (en) * 2010-12-07 2012-06-07 King Fahd University Of Petroleum And Minerals Rna-based cryptographic system and method
US20120213359A1 (en) * 2011-02-17 2012-08-23 Gradiant Method and apparatus for secure iterative processing

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
N. P. SMART ET AL.: 'Fully Homomorphic Encryption with Relatively Small Key & Ciphertext Sizes' PKC 2010, LNCS vol. 6056, 2010, pages 420 - 443 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160017226A (ko) * 2014-08-01 2016-02-16 서울대학교산학협력단 co-ACD 문제 기반의 부가적 동형 암호화 및 복호화 방법과 이를 이용하는 장치
WO2017008043A1 (en) * 2015-07-08 2017-01-12 Brown University Homomorphic encryption
US11303427B2 (en) 2018-01-12 2022-04-12 Korea Smart Authentication Corp. Method for verifying opinion by use of block chain which guarantees anonimity and prevents sybil attack

Also Published As

Publication number Publication date
US20150312028A1 (en) 2015-10-29
WO2014035146A3 (ko) 2014-05-08

Similar Documents

Publication Publication Date Title
WO2014035146A2 (ko) 환 동형 사상을 이용한 동형 암호화 방법과 복호화 방법 및 이를 이용한 장치
WO2016186241A1 (ko) 데이터 암호화 장치 및 방법과 및 데이터 복호화 장치 및 방법
WO2019117694A1 (ko) 동형 암호화를 수행하는 단말 장치와 그 암호문을 처리하는 서버 장치 및 그 방법들
CN105723648A (zh) 一种密钥配置方法、系统和装置
WO2016089009A1 (en) Method and cloud server for managing device
CN100535962C (zh) 加密系统、加密装置、解密装置和集成电路
WO2020080765A1 (en) Apparatuses and methods for performing artificial intelligence encoding and artificial intelligence decoding on image
WO2017069508A1 (en) Receiving apparatus and decoding method thereof
WO2015139232A1 (zh) 一种应用的推荐方法、系统及服务器
WO2013070022A1 (en) Apparatus and method for transmitting and receiving a quasi-cyclic low density parity check code in a multimedia communication system
WO2015061941A1 (zh) 一种密钥配置方法和装置
WO2013005961A2 (en) Mode-dependent transforms for residual coding with low latency
CN107113161A (zh) 飞行数据交互、传送、接收方法、系统及存储器、飞行器
WO2015142133A1 (en) System and method for executing file by using biometric information
WO2009157715A2 (en) Codebook design method for multiple input multiple output system and method for using the codebook
WO2015027485A1 (zh) 远程变更签约方法及其装置
WO2016137234A1 (en) Transmitter and repetition method thereof
WO2020145718A1 (ko) 디스플레이용 기판
WO2015041475A1 (ko) 송신 장치 및 그의 펑처링 방법
WO2016195331A1 (en) Receiver and signal processing method thereof
WO2018199443A1 (en) Apparatus and method for performing operation being secure against side channel attack
WO2015065045A1 (ko) 페이로드 시퀀스 전송 방법 및 장치
WO2022158686A1 (ko) 암호화된 정보에 기초하여, 인공지능 모델을 이용한 추론을 수행하는 전자 장치 및 그 동작 방법
WO2017111362A1 (ko) 임의의 길이를 가지는 폴라 코드를 이용한 harq 수행 방법
CN107113172A (zh) 无人机认证方法,安全通信方法及对应系统

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 14127478

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 13833462

Country of ref document: EP

Kind code of ref document: A2