Real number encryption operation system and method

The real number encryption operation system addresses inefficiencies in homomorphic encryption by separating mantissa and exponent operations, reducing errors and complexity, thereby enhancing calculation speed and efficiency.

KR1020260113360APending Publication Date: 2026-07-21JKL SOFT CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
KR · KR
Patent Type
Applications
Current Assignee / Owner
JKL SOFT CO LTD
Filing Date
2025-01-13
Publication Date
2026-07-21

AI Technical Summary

Technical Problem

Homomorphic encryption of real numbers is inefficient due to operational errors, significant accuracy loss, and increased computational complexity, particularly in floating-point operations, leading to performance degradation.

Method used

A real number encryption operation system that converts plaintext real numbers into single or multiple bit representations, allowing efficient encryption and operation by separating the mantissa and exponent, and performing homomorphic bit operations on the mantissa ciphertext.

Benefits of technology

Minimizes errors and reduces computational complexity by performing different operations on the exponent and mantissa, improving calculation speed and efficiency in floating-point operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure PAT00005_ABST
    Figure PAT00005_ABST
Patent Text Reader

Abstract

The present invention relates to a real number encryption operation system and method, and provides a real number encryption operation system and method comprising: an encryption unit that encrypts real number information including a mantissa and an exponent by performing encryption on the mantissa to generate a mantissa ciphertext and plaintext on the exponent to generate an exponent plaintext; an encryption operation unit that performs a shape encryption operation on an encrypted real number ciphertext in which the mantissa and the exponent are configured in different forms; and a decryption unit that decrypts the calculated ciphertext.
Need to check novelty before this filing date? Find Prior Art

Description

Technology Field

[0001] The present invention provides a real number encryption operation system and method capable of efficiently performing homomorphic encryption operations using rational approximation representations of real numbers. Background Technology

[0003] In general, homomorphic encryption is a special encryption method that allows computations to be performed on data while it remains encrypted; it is an encryption technology that enables both data encoding and utilization simultaneously. In other words, homomorphic encryption allows computations to be performed on encrypted data, and because the result obtained from the ciphertext remains identical to the result obtained from the plaintext even after decryption, it enables data encoding and computation without leaking the encrypted data externally. In particular, based on quantum-resistant cryptography, it is expected to be secure against threats from quantum computers.

[0004] However, in the case of floating-point operations using homomorphic encryption, there are operational errors, limitations and performance degradation in bit operations, and inefficiency in exponent processing. Prior art literature

[0006] (Patent Document 1) Korean Registered Patent Publication No. 10-2304992 (Patent Document 2) Korean Published Patent Publication No. 10-2024-0014946 The problem to be solved

[0007] Although homomorphic encryption, which encrypts real numbers using elements within a single set, is efficient for operations such as addition, subtraction, and multiplication, errors occur with every operation. This leads to a gradual decrease in the number of significant digits across all operations, and results in a significant drop in accuracy as operations are repeated between encrypted real values. To perform operations on encrypted numbers without error or to execute processing that contains only minimal algorithmic error, only a finite number of digits must be converted into elements of a finite set, allowing for operations to be performed without errors between these finite values. In this case, methods that encrypt both the mantissa and exponent of a real number require additional homomorphic encryption operations to calculate the number of encrypted digits, unlike integer encryption which may not require separate digit operations. Since these additional homomorphic encryption operations are known to be 100 to 1,000 times slower than plaintext operations of the same value, they can be highly inefficient due to the significant increase in computational complexity and processing time.

[0008] The present invention has been devised to solve the aforementioned problems and provides a real number encryption operation system and method capable of converting a bit representation of a plaintext real number into a single or multiple bit number representation that enables efficient encryption and operation, improving inefficiency by reducing operation complexity through different operations on the exponent and mantissa of the real number, improving calculation speed by minimizing the number of encrypted operations when performing encrypted real number operations, and reducing the occurrence of operation errors between encrypted real number values. means of solving the problem

[0010] The present invention provides a real number encryption operation system comprising: an encryption unit that encrypts real number information including a mantissa and an exponent by performing encryption on the mantissa to generate a mantissa ciphertext and plaintext on the exponent to generate an exponent plaintext; an encryption operation unit that performs a geometric encryption operation on an encrypted real number ciphertext in which the mantissa and the exponent are configured in different forms; and a decryption unit that decrypts the calculated ciphertext.

[0011] The above encryption unit generates an encrypted real number ciphertext, and The formula is utilized, wherein m(r) refers to the sign-inclusive mantissa of an approximate binary rational number for real information r, and e(r) refers to the base-2 exponent of an approximate binary rational number for real information r.

[0012] The above encryption operation unit is characterized by including a preprocessing module that performs preprocessing on a real number ciphertext, an operation module that performs operations on the preprocessed real number ciphertext, and a postprocessing module that performs postprocessing on the result of the operation.

[0013] The above-mentioned preprocessing module is characterized by including an input module that receives a real number ciphertext, an exponential plaintext preprocessing module that extracts and preprocesses the exponential plaintext from the received real number ciphertext, and an integer processing module that generates an integer ciphertext by transforming the mantissa ciphertext of the real number ciphertext.

[0014] The above operation module is characterized by including a bit conversion module that converts an integer ciphertext into a bit representation, an operation processing module that performs homomorphic bit operations on an encrypted bit sequence, and an integer conversion module that converts the operation result back into an integer ciphertext.

[0015] The above-mentioned post-processing module is characterized by including a mantissa module that converts the operation result of the operation module into a mantissa ciphertext, an exponential plaintext post-processing module that reflects the exponent change in the exponential text based on the operation result and the mantissa module, and an output module that combines the mantissa ciphertext and the exponential plaintext to output a real number ciphertext.

[0016] In addition, the present invention provides a real number encryption operation method comprising the steps of: encrypting a real number plaintext into a real number ciphertext having an exponential plaintext and a mantissa ciphertext; preprocessing the exponential plaintext and converting the mantissa ciphertext into an integer ciphertext; performing a homomorphic bit operation on the integer ciphertext; converting the operation result into an integer ciphertext; converting the integer ciphertext into a mantissa ciphertext and performing postprocessing on the exponential plaintext; and generating a real number ciphertext by combining the mantissa ciphertext and the exponential plaintext and decrypting the same.

[0017] The present invention provides a real number encryption operation method characterized by the step of performing homomorphic bit operations on the above integer ciphertext comprising: a step of converting an integerized mantissa into a bit sequence; a step of performing bit logic operations on the bit sequence; and a step of converting the bit sequence into an integer.

[0018] The above-mentioned mantissa ciphertext is characterized by being at least one of encryption for a bit sequence, encryption for a binary finite integer, and encryption for a fraction composed of a binary finite integer. Effects of the invention

[0020] As such, the present invention enables operations on encrypted real numbers, makes errors predictable to minimize errors, and reduces computational complexity and improves inefficiency by performing different operations on the exponent and mantissa of the real number.

[0021] In addition, when performing floating-point operations using bit representation-based homomorphic encryption, the number of encrypted bit operations is minimized, thereby improving computation speed and efficiency and reducing the occurrence of operation errors between encrypted bit values. Brief explanation of the drawing

[0023] FIG. 1 is a conceptual diagram for explaining a real number encryption operation system according to one embodiment of the present invention. FIG. 2 is a block diagram for explaining an encryption operation unit according to one embodiment. FIG. 3 is a block diagram illustrating a preprocessing module according to one embodiment. FIG. 4 is a block diagram for explaining an operation module according to one embodiment. FIG. 5 is a block diagram illustrating a post-processing module according to one embodiment. FIG. 6 is a flowchart illustrating a real number encryption operation method according to an embodiment of the present invention. Specific details for implementing the invention

[0024] Hereinafter, embodiments of the present invention will be described in more detail with reference to the attached drawings. However, the present invention is not limited to the embodiments disclosed below but may be implemented in various different forms; these embodiments are provided merely to ensure that the disclosure of the present invention is complete and to fully inform those skilled in the art of the scope of the invention. Identical reference numerals in the drawings refer to identical elements.

[0025] It is intended to clarify that the classification of components in this specification is merely based on the primary function each component is responsible for. That is, two or more components described below may be combined into a single component, or a single component may be divided into two or more components based on more subdivided functions. Furthermore, each component described below may additionally perform some or all of the functions performed by other components in addition to its own primary function, and it is obvious that some of the primary functions performed by each component may be exclusively handled by other components. Therefore, the existence of each component described in this specification should be interpreted functionally. For this reason, it is clearly stated that the configuration of the components of the real number encryption operation system and method of the present invention may vary to the extent that the objectives of the present invention can be achieved.

[0026] In this specification, relational terms such as first and second, upper and lower, etc., may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying an actual relationship or order between such entities or actions. The terms “comprises,” “comprising,” or other variations thereof are intended to cover non-exclusive inclusions so that a process, method, product, or device comprising a list of components may not include only the component but may include other components not explicitly enumerated or inherent in such process, method, product, or device. A component proceeding to “comprising” excludes, without further limitation, the presence of additional identical components within the process, method, product, or device comprising the component.

[0028] FIG. 1 is a conceptual diagram for explaining a real number encryption operation system according to one embodiment of the present invention.

[0029] FIG. 2 is a block diagram for explaining an encryption operation unit according to one embodiment.

[0030] FIG. 3 is a block diagram illustrating a preprocessing module according to one embodiment.

[0031] FIG. 4 is a block diagram for explaining an operation module according to one embodiment.

[0032] FIG. 5 is a block diagram illustrating a post-processing module according to one embodiment.

[0033] As illustrated in FIGS. 1 to 5, the real number encryption operation system according to the present embodiment includes an encryption unit (100) that encrypts real number information having a mantissa and an exponent, an encryption operation unit (200) that performs operations on an encrypted real number ciphertext in which the mantissa and the exponent are configured in different forms, and a decryption unit (300) that decrypts the ciphertext calculated.

[0034] The encryption unit (100) effectively transforms real number information including a mantissa and an exponent. At this time, the encryption unit (100) can generate a mantissa ciphertext by encrypting the mantissa and generate an exponent plaintext by plaincoding the exponent to create an encrypted real number ciphertext.

[0035] When the encryption unit (100) encrypts or performs operations on real number information, i.e., data using the formula below, it can convert to an integer-based operation to increase efficiency, and in the encrypted operation, the exponent part can be calculated by encrypting only the mantissa part, i.e., the significant digits, as plaintext.

[0036]

[0037] Here, m(r) refers to the sign-inclusive mantissa of an approximate binary rational number for real information r, and e(r) may refer to the base-2 exponent of an approximate binary rational number for real information r.

[0038] When decomposing the real number r as shown in the formula above, the expressions for m(r) and e(r) may vary depending on the choice of the exponent e(r); however, it is possible to arbitrarily select from among several equivalent expressions as needed. For example, the real number 15.89 is 1589 * 10 -2 or 158900*10 -4 It can be changed into various expressions as shown. That is, through this, real number information r can be expressed by dividing it into an integer significant digit m(r) and an exponent e(r). Here, even if m(r) is not an integer but a fixed-point or floating-point number, the partial encryption structure for real numbers can be applied as an equivalent structure.

[0039] In bit-based integer representation, real number representations include floating-point and fixed-point representations. That is, in binary floating-point representation, for any real number r, r=(-1) s *m / 2 e It can be expressed as follows. Here, by setting s = 0 or 1 = s(r), m : integer = m(r), and e = e(r : integer, a rational number r is selected as an approximation, and the expression can be made using the three integers s, m, and e. Since m can be represented as an integer that includes a sign, s can be indistinguishable from m, resulting in the previously mentioned formula, i.e., r = m(r) * 2 e(r) It can be expressed as such. Of course, in fixed-point representation, e can be omitted as a certain value. In particular, IEEE-754 maximizes the significant digits by adjusting the value of the exponent e so that the most significant bit is always omitted for values ​​within the normal range when processing the mantissa m.

[0040] The encryption unit (100) can perform homomorphic encryption on m(r) selected by decomposing real information. At this time, as previously explained, the value e(r) can be processed in a plaintext state without encryption.

[0041] For example, regarding floating-point encryption based on 4-bit base representation, to encrypt an arbitrary floating-point number, it is desirable to represent it in a 4-bit base (i.e., hexadecimal) and then expand a polynomial with 4-bit integer coefficients. Furthermore, it is possible to encrypt each set of coefficients (0 for

[0000] ², 1 for

[0001] ², 2 for

[0010] ² ..., 15 for

[1111] ²) using a single cipher value. That is, the hexadecimal value of an unsigned 32-bit integer, 0x01234567, is represented in binary as [0000 0001 0010 0011 0100 0101 0110 0111]², and when encrypting this, (0x0)*2 28 + (0x1)*2 24 + (0x2)*2 20 + (0x3)*2 16 + (0x4)*2 12 + (0x5)*2 8 + (0x6)*2 4 + (0x7)*2 0 =

[0000] 2*2 28 +

[0001] 2*2 24 +

[0010] 2*2 20 +

[0011] 2*2 16 +

[0100] 2*2 12 +

[0101] 2*2 8 +

[0110] 2*2 4 +

[0111] 2*2 0It can be expressed as follows. Here, 0x01234567 can be encrypted by encrypting and listing the 8 4-bit values ​​

[0000] 2,

[0001] 2,

[0010] 2,

[0011] 2,

[0100] 2,

[0101] 2,

[0110] 2,

[0111] 2 that appear as coefficients. Through this, the exponentiation plaintext can be an ordered pair of (28, 24, 20, 16, 12, 8, 4, 0) for the 8 coefficients, and the total corrected exponent can be 0. It is effective to encrypt and list the mantissa ciphertext (

[0000] 2,

[0001] 2,

[0010] 2,

[0011] 2,

[0100] 2,

[0101] 2,

[0110] 2,

[0111] 2) respectively.

[0042] For example, the hexadecimal value of an unsigned integer 0x89ABCDEF000 is represented in binary as [1000 1001 1010 1011 1100 1101 1110 1111 0000 0000 0000]2. When ciphering this, the exponential plaintext has ordered pairs of (40, 36, 32, 28, 24, 20, 16, 12, 8, 4, 0) for the 11 coefficients, and the total corrected exponent becomes 0. In addition, the ciphertext can be constructed by encrypting and listing 11 counts

[1000] 2,

[1001] 2,

[1010] 2,

[1011] 2,

[1100] 2,

[1101] 2,

[1110] 2,

[1111] 2,

[0000] 2,

[0000] 2, and

[0000] 2 respectively.

[0043] Also, another way, the hexadecimal value 0x89ABCDEF000 is 0x89ABCDEF*2 12 It can be expressed as. This is again ((0x8)*2 28 + (0x9)*2 24 + (0xA)*2 20 + (0xB)*2 16 + (0xC)*2 12 + (0xD)*2 8 + (0xE)*2 4 + (0xF)*2 0 ) * 2 -12 = (

[1000] 2*2 28 +

[1001] 2*2 24 +

[1010] 2*2 20 +

[1011] 2*2 16 +

[1100] 2*2 12 +

[1101] 2*2 8 +

[1110] 2*2 4 +

[1111] 2*2 0 ) * 2 -12 It can be expressed as.

[0044] As a result, the exponential plaintext has an ordered pair (28, 24, 20, 16, 12, 8, 4, 0) for the 8 coefficients, and the total correction index becomes 12, and the 8 coefficients of the mantissa ciphertext

[1000] 2,

[1001] 2,

[1010] 2,

[1011] 2,

[1100] 2,

[1101] 2,

[1110] 2,

[1111] 2 can be encrypted and listed respectively. At this time, for the ordered pair (28, 24, 20, 16, 12, 8, 4, 0) included in the exponential plaintext, if the total correction index is adjusted to end in 0, the value can always be calculated from the number of elements constituting the ciphertext coefficients, so that calculation can be omitted in actual ciphertext processing. In other words, the floating-point hexadecimal value 0x89ABC.DEF becomes [1000 1001 1010 1011 1100 1101 1110 1111]2 in binary representation. When encrypting this, it becomes 0x89ABCDEF*2 -12 Expressed as, and again this is (0x8)*2 28 + (0x9)*2 24 + (0xA)*2 20 + (0xB)*2 16 + (0xC)*2 12 + (0xD)*2 8 + (0xE)*2 4 + (0xF)*2 0 * 2 -12 =

[1000] 2*2 28 +

[1001] 2*2 24 +

[1010] 2*220 +

[1011] 2*2 16 +

[1100] 2*2 12 +

[1101] 2*2 8 +

[1110] 2*2 4 +

[1111] 2*2 -12 It can be expressed as such. Through this, the exponent plaintext has ordered pairs of (28, 24, 20, 16, 12, 8, 4, 0) for the 8 coefficients, and the total corrected exponent is -12, and the mantissa ciphertext consists of fewer ciphertexts compared to the above method, as the number of encryption operations for the mantissa is reduced and plaintext operations for the exponent are added, making it more effective.

[0045] The encryption operation unit (200) may include a preprocessing module unit (210) that performs preprocessing on a real ciphertext, an operation module unit (220) that performs operations on the preprocessed real ciphertext, and a postprocessing module unit (230) that performs postprocessing on the results of the operations.

[0046] The preprocessing module (210) includes an input module (211) that receives a real ciphertext, an exponential plaintext preprocessing module (212) that extracts and preprocesses an exponential plaintext from the received real ciphertext, and an integer processing module (213) that generates an integer ciphertext by changing the mantissa ciphertext of the real ciphertext.

[0047] It is possible to input any finite number of real number ciphertexts and finite real number plaintexts through the input module (211). Of course, for space or representation efficiency, the real numbers may be limited to integers or boolean bit values ​​for input.

[0048] The following describes bitwise operations on two real ciphertexts. For example, homomorphic bitwise operations are performed between ciphertexts of each 4-bit sequence. The explanation is based on the bitwise homomorphic XOR operation for the two real ciphertexts 0x01234567 and 0x89ABC.DEF.

[0049] The exponent plaintext preprocessing module (212) extracts the unencrypted exponent part from the real ciphertext and performs preprocessing. Through preprocessing by the exponent plaintext preprocessing module (212), if the encrypted mantissa is a fixed-point expression, the fixed exponent can be added to the extracted exponent to convert it; if a bias is added to the expression of the exponent, the bias can be removed, and if a bias is required in subsequent operations, the bias can be added. At this time, the bias refers to a reference number added to eliminate negative numbers and express the exponent as a positive number when expressing it. In addition, if the same exponent must be selected among multiple input real numbers, i.e., real ciphertexts, an exponent suitable for operations between the multiple extracted exponents can be determined. Furthermore, since the exponent part is in the exponent plaintext, i.e., plaintext state, it is possible to proceed with plaintext operations without performing encrypted operations.

[0050] The exponential plaintext preprocessing module (212) must have the same number of bits to perform the XOR operation of two real numbers as in the previous example. In this case, the exponential plaintext of 0x01234567 has a pair of (40, 36, 32, 28, 24, 20, 16, 12) for the 8 coefficients, and the total corrected index can be changed to -12. The exponential plaintext of 0x89ABC.DEF has a pair of (28, 24, 20, 16, 12, 8, 4, 0) for the 8 coefficients, and it is effective to maintain the total corrected index at -12.

[0051] The integer processing module (213) can generate an integer ciphertext by converting the mantissa of a real number ciphertext into an integer state. Through this, the mantissa area of ​​the real number can be represented as an integer. The integer processing module (213) encrypts the mantissa in an integer form by increasing or decreasing the number of digits based on the exponent value obtained from the previous exponent plaintext preprocessing module (212). That is, it may be possible to add digits by attaching a 0 after the mantissa or to delete digits by cutting off the numbers at the end of the mantissa.

[0052] Through this, all rational number operations can be replaced with integer operations, and operation processing on the integerized mantissa ciphertext becomes possible.

[0053] The integer processing module (213) can also, as in the previous example, first add three more

[0000] 2 after the mantissa cipher of 0x01234567 to convert the mantissa part, that is, the mantissa cipher of the two real numbers into an integer state. Through this,

[0000] 2,

[0001] 2,

[0010] 2,

[0011] 2,

[0100] 2,

[0101] 2,

[0110] 2,

[0111] 2,

[0000] 2,

[0000] 2,

[0000] 2 are generated, and three exponential plaintexts are added for the added ciphertexts to maintain a total correction exponent of -12 for the exponential plaintexts. Expanding to (40, 36, 32, 28, 24, 20, 16, 12, 8, 4, 0) results in 0x01234567000 * 2 -12 It can be changed into a ciphertext of the same value with a different form, as shown.

[0054] Additionally, three more

[0000] 2s can be added to the front of the mantissa ciphertext of 0x89ABC.DEF. This creates

[0000] 2,

[0000] 2,

[0000] 2,

[1000] 2,

[1001] 2,

[1010] 2,

[1011] 2,

[1100] 2,

[1101] 2,

[1110] 2, and

[1111] 2. By adding three exponential plaintexts corresponding to the added ciphertexts, maintaining a total corrected exponent of -12 for the exponential plaintexts, and expanding to (40, 36, 32, 28, 24, 20, 16, 12, 8, 4, 0), we obtain 0x00089ABCDEF* 2 -12 It can be changed into a ciphertext of the same value with a different form, as shown.

[0055] As a result, both numbers (a 40 *2 40 + a 36 *2 36 + a 32 *2 32 + a 28 *2 28 + a 24 *2 24 + a 20 *2 20 + a 16 *2 16 + a 12 *2 12 + a8*2 8 + a4*2 4 + a0*2 0 ) * 2 -12 It can be extended into a form having a common structure like that. That is, integer*2 (보정지수) It can take the form.

[0056] It is effective for the operation module (220) to perform operations based on integer ciphertext and plaintext exponents. In the case of ciphertext expressed as an integer, an error may not be added during the operation, but for performance reasons, a method of adding an error by omitting part of the operation may be used.

[0057] The operation module (220) includes a bit conversion module (221) that converts an integer ciphertext into a bit representation, an operation processing module (222) that performs homomorphic bit operations on an encrypted bit sequence, and an integer conversion module (223) that converts the operation result back into an integer ciphertext.

[0058] The bit conversion module (221) can interpret the input integer into a bit representation if necessary to allow the operation to proceed. The operation between ciphertexts represented by a finite number of bits can be performed without adding an error.

[0059] In the case of the preceding example, the bit conversion module (221) may not perform separate conversions of all 11 ciphertexts constituting the singer ciphertext into ciphertexts for bit sequences.

[0060] The operation processing module (222) can perform homomorphic bit operations between ciphertexts represented as bit strings, such as AND operation, OR operation, XOR operation, NOT operation, addition operation, and multiplexer operation.

[0061] Homomorphic encryption can be classified into algorithms based on multiple bit representations and algorithms based on single bit representations.

[0062] In the case of multi-bit representation-based encryption, the value of multiple bits is encrypted into a single ciphertext. Bitwise operations can be directly defined as bit sequences between the encrypted multiple bits, or addition, subtraction, and multiplication operations can be defined and calculated using integers or real numbers. For multiple bits, individual bits are extracted and processed separately. In integer-based encryption, it is effective to perform finite polynomial approximation for calculations such as bitwise operations or comparison operations. That is, a homomorphic XOR operation on two 4-bit unsigned integers, 4 (

[0100] 2) and 1 (

[0001] 2), can be performed using a single operation. However, if only homomorphic addition, subtraction, and multiplication are defined for 4-bit real numbers, an error may occur during the homomorphic XOR operation on the most significant bit. For unsigned integers, it can be calculated by combining the approximate most significant bit extraction function x*[0.001]2 and the approximate bit XOR operation (x+y-(

[0010] 2*x*y)), and by combining the digit adjustment function, the homomorphic XOR operation for the entire 4 bits can be processed as a polynomial.

[0063] Homomorphic encryption based on single-bit representation allows bit values ​​to be encrypted into a single ciphertext for computation. In other words, bit operations between encrypted bits are directly defined, enabling immediate calculation. Integers or real numbers must be converted into bit representations to encrypt each bit value, and operations can be performed individually for each digit depending on the number of digits. Furthermore, performing operations between encrypted bits may not increase the error. That is, only values ​​of 0 or 1 can be encrypted, and it is effective to directly define bit operations between 1-bit ciphertexts, such as AND, OR, XOR, NOT, and MUX.

[0064] The operation processing module (222) can perform homomorphic XOR operations between 4-bit bit string ciphertexts defined for each of the 11 ciphertexts as in the previous example.

[0065] That is, 0x01234567000 XOR 0x00089ABCDEF = 0x012BDFDBDEF, which can be calculated as a ciphertext for

[0000] 2,

[0001] 2,

[0010] 2,

[1011] 2,

[1101] 2,

[1111] 2,

[1101] 2,

[1011] 2,

[1101] 2,

[1110] 2,

[1111] 2.

[0066] The integer conversion module (223) converts the result of the integer operation by the operation processing module (222) back into an integer ciphertext. That is, it is effective to convert the ciphertext decomposed into a bit sequence into an integer form. The bit conversion module (221) and the integer conversion module (223) may not perform additional conversion if the bit ciphertext is configured in advance.

[0067] The integer conversion module (223) may not perform separate conversions of all 11 ciphertexts constituting the mantissa ciphertext into ciphertexts for bit sequences, as in the previous example.

[0068] The post-processing module (230) includes a mantissa module (231) that converts the operation result of the operation module (220) into a mantissa ciphertext, an exponential plaintext post-processing module (232) that reflects the exponent change in the exponential text by the operation result and the mantissa module (231), and an output module (233) that combines the mantissa ciphertext and the exponential plaintext to output a real number ciphertext.

[0069] The mantissa module (231) can convert the result of an integer operation back into a mantissa ciphertext form to restore it to a real number representation. The mantissa module (231) can ensure efficiency by matching the length of the calculated integer ciphertext to the length of the existing mantissa ciphertext or by removing added information, and can optionally minimize information loss by maintaining or reducing the length of the ciphertext used in the operation.

[0070] The mantissa module (231) can mantissa the mantissa ciphertext of the operation result of the previous example in two ways. First, the mantissa ciphertext of the operation result has increased by 3 to 11 ciphertexts, but it is possible to minimize information loss regarding the operation result by preserving all 11 ciphertexts.

[0071] In addition, another method is to maintain only the eight upper mantissa ciphertexts, namely

[0000] 2,

[0001] 2,

[0010] 2,

[1011] 2,

[1101] 2,

[1111] 2,

[1101] 2,

[1011] 2,

[1011] 2,

[1011] 2, since the mantissa ciphertext used in the input is eight. This results in information loss, but it allows the length of the mantissa ciphertext to remain unchanged, and in this case, the ordered pair of plaintext indices can be changed to (40, 36, 32, 28, 24, 20, 16, 12) without changing the correction index -12.

[0072] The exponential plaintext post-processing module (232) can calculate or adjust the exponential plaintext from the result of integer operations and combine it appropriately with the output ciphertext. That is, it can calculate the exponential plaintext for output. Of course, depending on the operation, no change in the exponent may occur, so the exponential plaintext post-processing module may only perform a copy of the value as an operation. If a change in the exponent occurs in the operation processing module (222) and the integer conversion module (223), it is also possible to calculate a new exponent and perform post-processing.

[0073] The exponent plaintext post-processing module (232) can operate according to each of the two methods of the suturing module (231) for the preceding example. First, in the first method, the plaintext exponent for the integer operation processing result can be maintained as the ordered pair (40, 36, 32, 28, 24, 20, 16, 12, 8, 4, 0) and the correction exponent -12. Also, in the other method, it may be possible to change the plaintext exponent for the integer operation processing result from the ordered pair (40, 36, 32, 28, 24, 20, 16, 12) and the correction exponent -12 to the ordered pair (28, 24, 20, 16, 12, 8, 4, 0) and the correction exponent 0.

[0074] The output module (233) outputs a real ciphertext by combining the mantissa ciphertext and the exponential plaintext, but depending on the operation, there may be no real ciphertext output, or there may be one or multiple real ciphertexts, and unencrypted plaintext may be output.

[0075] The output module (233) can also operate according to each of the two methods of the mantissa module (231) and the exponential plaintext post-processing module (232) for the preceding example. First, the exponential plaintext becomes (40, 36, 32, 28, 24, 20, 16, 12, 8, 4, 0) and the correction exponent -12, and the mantissa ciphertext becomes the ciphertext for

[0000] 2,

[0001] 2,

[0010] 2,

[1011] 2,

[1101] 2,

[1111] 2,

[1101] 2,

[1101] 2,

[1101] 2,

[1110] 2,

[1111] 2,

[1111] 2,

[1111] 2,

[1111] 2, which is a 44-bit real number 0x012BDFDBDEF * 2 -12 That is, it is effective to have the ciphertext for 0x012BDFDB.DEF.

[0076] Alternatively, the exponential plaintext becomes (28, 24, 20, 16, 12, 8, 4, 0) with a correction exponent of 0, and the mantissa ciphertext becomes

[0000] 2,

[0001] 2,

[0010] 2,

[1011] 2,

[1101] 2,

[1111] 2,

[1101] 2,

[1011] 2, which is a 32-bit floating-point number 0x012BDFDB * 2 0 In other words, it is effective to have the ciphertext for 0x012BDFDB.

[0077] The decryption unit (300) decrypts the real ciphertext obtained as a result of the operation and converts it into real plaintext.

[0079] The following describes a method for performing real number encryption operations using a real number encryption operation system. Descriptions that overlap with the preceding system description are omitted. The techniques added in the following description may be applicable to the preceding system.

[0080] The floating-point encryption method encrypts floating-point plaintext, performs operations on the encrypted state, and then decrypts it. This is explained in more detail below with reference to the diagrams.

[0081] FIG. 6 is a flowchart illustrating a real number encryption operation method according to an embodiment of the present invention.

[0082] As illustrated in FIG. 6, first, a real plaintext is encrypted into a real ciphertext through an encryption unit (100) (S110). The encryption unit uses a formula ( Using ), the exponent part of a real number is converted into exponential plaintext, and the mantissa part is converted into mantissa ciphertext. Mantissa ciphertext can be encrypted for binary finite integers and for fractions composed of binary finite integers. In addition, mantissa ciphertext can be encrypted for bit sequences.

[0083] An operation on the real ciphertext is performed through the encryption operation unit (200). First, the exponent plaintext is extracted and preprocessed from the real ciphertext through the preprocessing module (210), and the mantissa ciphertext is converted to generate an integer ciphertext (S120). An arbitrary finite number of real ciphertexts and finite real plaintexts may be input. In the exponent plaintext preprocessing (212), if the encrypted mantissa is a fixed-point expression, the fixed exponent can be added to the extracted exponent to convert it, and if a bias is added to the expression for the exponent, the bias can be removed. It is effective to generate the integer ciphertext by performing an operation to increase or decrease the number of digits in the mantissa based on the exponent value.

[0084] Next, through the operation module (220), operations are performed based on the integer ciphertext and the exponential plaintext, the integer ciphertext is converted into a bit representation, homomorphic bit operations are performed on the encrypted bit sequence, and the result of the operation is converted back into an integer ciphertext (S130). The input integer ciphertext is interpreted into a bit representation to perform operations, and the operation between ciphertexts represented by a finite number of bits may not add errors. Homomorphic bit operations such as AND, OR, XOR, NOT, and MUC operations can be used, and are explained in the examples below. An integer ciphertext can be generated by converting the ciphertext decomposed into a bit sequence into an integer form.

[0085] Next, the result of the operation is converted into a mantissa ciphertext through the post-processing module (230), the exponent change is reflected in the exponent plaintext, and then the mantissa ciphertext and the exponent plaintext are combined to generate a real ciphertext (S140, S150). The result of the integer operation is converted into a mantissa ciphertext form to restore it to a real ciphertext representation, and the calculated ciphertext can be adjusted to the length of the existing mantissa ciphertext or additional information can be removed. It may be possible to calculate and adjust the exponent plaintext from the result of the operation, and the mantissa ciphertext and the exponent plaintext are combined to generate a real ciphertext.

[0086] The entire encryption operation can be terminated by converting the real ciphertext into real plaintext (S150).

[0087] Hereinafter, the addition operation and MUX operation of real number ciphertexts based on 4-bit integer representation among the real number encryption operation method of the present embodiment will be explained by example.

[0088] First, regarding addition operations, a homomorphic carry-preserving addition operation is defined between ciphertexts of each 4-bit bit sequence, and this method is explained with an example. The execution of a homomorphic addition operation on two real ciphertexts 0x01234567 and 0x89ABC.DEF can be as follows.

[0089] Addition operations must be performed at the same digit for each constituent bit. The exponent plaintext preprocessing module changes the exponent plaintext of 0x01234567 (40, 36, 32, 28, 24, 20, 16, 12) and the total corrected exponent -12, and retains the exponent plaintext of 0x89ABC.DEF (28, 24, 20, 16, 12, 8, 4, 0) and the total corrected exponent -12.

[0090] The integer processing module (213) adds three more

[0000] 2s to the end of the mantissa ciphertext of 0x01234567 to make

[0000] 2,

[0001] 2,

[0010] 2,

[0011] 2,

[0100] 2,

[0101] 2,

[0110] 2,

[0111] 2,

[0000] 2,

[0000] 2,

[0000] 2,

[0000] 2, and adds three trivial exponential plaintexts to the added ciphertext to expand it to 40, 36, 32, 28, 24, 20, 16, 12, 8, 4, 0 while maintaining the total corrected exponent for the exponential plaintext at -12. Through this, 0x01234567000*2 -12A form like this can be changed into a ciphertext of the same value with a different form. Additionally, if three

[0000] 2s are added to the front of the mantissa ciphertext of 0x89ABC.DEF to create

[0000] 2,

[0000] 2,

[0000] 2,

[0000] 2,

[1000] 2,

[1001] 2,

[1010] 2,

[1011] 2,

[1100] 2,

[1101] 2,

[1110] 2,

[1111] 2, and three trivial exponential plaintexts are added to the added ciphertexts to expand them to 40, 36, 32, 28, 24, 20, 16, 12, 8, 4, 0 while maintaining the total corrected exponent for the exponential plaintext at -12, then 0x00089ABCDEF*2 -12 A form like this can be changed into a ciphertext of the same value with a different form.

[0091] Addition operations on the above values ​​can be performed through the operation module (220), but without performing a separate bit conversion. Accordingly, through the operation processing module, the value 0x01234567000 + 0x00089ABCDEF = 0x012BE023DEF, that is,

[0000] 2,

[0001] 2,

[0010] 2,

[1011] 2,

[1110] 2,

[0000] 2,

[0010] 2,

[0011] 2,

[1101] 2,

[1110] 2,

[1111] 2 is obtained, and the result can be obtained with a carry of 0.

[0092] The mantissa module (231) first has the current operation result and the mantissa ciphertext increased by 3 to 11 ciphertexts, but it is possible to preserve all 11 ciphertexts. In addition, it is not limited to this, and since the mantissa ciphertext used in the input is 8, only the upper 8 mantissa ciphertexts are maintained, so that information loss regarding the operation result occurs, but the length of the mantissa ciphertext does not increase. At this time, the correction index is maintained at -12, and the ordered pairs of plaintext indices can be changed to 40, 36, 32, 28, 24, 20, 16, 12.

[0093] The exponential plaintext post-processing device (232) first maintains the ordered pair 40, 36, 32, 28, 24, 20, 16, 12, 8, 4, 0, which is the plaintext index for the integer operation processing result, and the correction index -12. In addition, not limited to this, it is possible to change the exponential plaintext ordered pair 40, 36, 32, 28, 24, 20, 16, 12, and the correction index -12 for the exponential plaintext ordering result to the exponential plaintext ordered pair 28, 24, 20, 16, 12, 8, 4, 0, and the correction index 0.

[0094] The output module (233) first outputs the exponent plaintext 40, 36, 32, 28, 24, 20, 16, 12, 8, 4, 0 and the correction exponent -12 and the mantissa ciphertext

[0000] 2,

[0001] 2,

[0010] 2,

[1011] 2,

[1110] 2,

[0000] 2,

[0010] 2,

[0011] 2,

[1101] 2,

[1110] 2,

[1111] 2 for the 44-bit real number 0x012BE023DEF*2 -12 That is, 0x012BE023.DEF can be output. Furthermore, not limited to this, for the exponent plaintext 28, 24, 20, 16, 12, 8, 4, 0 and corrected exponent 0 and mantissa ciphertext

[0000] 2,

[0001] 2,

[0010] 2,

[1011] 2,

[1110] 2,

[0000] 2,

[0010] 2,

[0011] 2, a 32-bit floating-point number 0x012BE023*2 0 It can output.

[0095] Next, regarding the multiplexer operation, the multiplexer operation outputs a real number o by selecting a when the 1-bit input value c is 1 and b when c is 0. In this case, the multiplexer can provide a comparison-selection operation in homomorphic encryption operations where explicit comparison and branch operations on the value of o are not defined.

[0096] In other words, using real ciphertexts a and b and 1-bit ciphertext c, o becomes c*a + (c-1)*b. Converting this to exponent and mantissa representation, o = c*m(a)*2 e(a) +(c-1)*m(b)* 2e(b) It becomes and again this is (c*m(a)*2 eb +(c-1)*m(b)*2 eb )*2 max_e It becomes. At this time, when the exponent part is calculated through the exponent plaintext preprocessing module (212), max_e becomes max(e(a), e(b)), ea becomes max(0, e(a)+bitsize(a)-max_e), and eb becomes max(0, e(b)+bitsize(b)-max_e), so that all can be obtained as integer plaintext. Through the integerization processing module (213), ma becomes m(a)*2 ea It becomes, and mb is m(b)*2 eb It becomes an encrypted integer. Instead of encryption multiplication, it can be processed by adding a new bit ciphertext digit to the binary digit using plaintext ea and eb respectively.

[0097] The operation processing module (222) performs operations on the integer ciphertext by performing c*ma+(c-1)mb on the integer ciphertext, i.e., o'. That is, the 2-1 multiplexer for the integer ciphertext can be implemented by applying the same expression to each bit position using a bit 2-1 multiplexer.

[0098] The calculated integer ciphertext o' is an integer itself, utilizing the entire integer value. Digit limiting can be performed by deleting the ciphertext corresponding to the LSB through the mantissa module, or the max_e value can be increased during the plaintext exponentiation post-processing step.

[0099] Finally, the output of the floating-point encryption multiplexer operation is o'*2 max_e It becomes. When performing a digit limit as before, o is round(o' / 2 d )*2 max_e+d + error(2max_e-1 2 like ) max_e-1 It can be output as an approximation operation containing a smaller error.

[0100] Although the technical concept of the present invention described above has been specifically described in preferred embodiments, it should be noted that the aforementioned embodiments are for illustrative purposes only and are not intended to be limiting. Furthermore, a person skilled in the art will understand that various embodiments are possible within the scope of the technical concept of the present invention. Explanation of the symbols

[0102] 100: Encryption section 200: Encryption operation unit 210: Preprocessing Module 211: Input Module 212: Exponential Plaintext Preprocessing Module 213: Integer processing module 220: Operation Module 221: Bit conversion module 222: Computation processing module 223: Integer conversion module 230: Post-processing module 231: Saturation Module 232: Exponential plaintext post-processing module 233: Output Module 300: Decoding section

Claims

Claim 1 A real number encryption operation system comprising: an encryption unit that encrypts real number information including a mantissa and an exponent by performing encryption on the mantissa to generate a mantissa ciphertext and plaintext on the exponent to generate an exponent plaintext; an encryption operation unit that performs a geometric encryption operation on an encrypted real number ciphertext in which the mantissa and the exponent are configured in different forms; and a decryption unit that decrypts the operated ciphertext. Claim 2 In claim 1, the encryption unit generates an encrypted real ciphertext, and A real number encryption operation system characterized by utilizing the formula, wherein m(r) refers to the sign-inclusive mantissa of an approximate binary rational number for real information r, and e(r) refers to the base-2 exponent of an approximate binary rational number for real information r. Claim 3 A real number encryption operation system according to claim 1, wherein the encryption operation unit comprises a preprocessing module that performs preprocessing on a real number ciphertext, an operation module that performs operations on the preprocessed real number ciphertext, and a postprocessing module that performs postprocessing on the calculated result. Claim 4 A real number encryption operation system according to claim 3, wherein the operation module comprises a bit conversion module that converts an integer ciphertext into a bit representation, an operation processing module that performs homomorphic bit operations on an encrypted bit sequence, and an integer conversion module that converts the operation result back into an integer ciphertext. Claim 5 A real number encryption operation method comprising: a step of encrypting a real number plaintext into a real number ciphertext having an exponential plaintext and a mantissa ciphertext; a step of preprocessing the exponential plaintext and converting the mantissa ciphertext into an integer ciphertext; a step of performing a homomorphic bit operation on the integer ciphertext; a step of converting the operation result into a mantissa ciphertext and performing postprocessing on the exponential plaintext; and a step of generating a real number ciphertext by combining the mantissa ciphertext and the exponential plaintext and decrypting the same. Claim 6 A real number encryption method according to claim 5, wherein the step of performing a homomorphic bit operation on the integer ciphertext comprises: a step of converting an integerized mantissa into a bit sequence; a step of performing a bit logic operation on the bit sequence; and a step of converting the bit sequence into an integer. Claim 7 A real number encryption operation method according to claim 5, wherein the mantissa ciphertext is at least one of encryption for a bit sequence, encryption for a binary finite integer, and encryption for a fraction composed of a binary finite integer.