White box block encryption device and method using implicit function

KR1020260122136APending Publication Date: 2026-08-11KOOKMIN UNIV IND ACAD COOP FOUND
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
KR1020250013714
Authority / Receiving Office
KR · KR
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-02-04
Publication Date
2026-08-11

Smart Images

  • Figure PAT00049_ABST
    Figure PAT00049_ABST
Patent Text Reader

Abstract

The present invention relates to a white-box block cipher device using implicit functions, wherein the device comprises: a plaintext input unit for receiving plaintext; a ciphertext output unit for outputting the ciphertext; and an implicit function-based round structure for inputting the plaintext as initial input data and generating the ciphertext as final output data, wherein the round structure comprises a plurality of round functions connected in series, each comprising a white-box encryption unit that converts the initial input data into the final output data by generating a white-box through an encryption key and performing encryption through the white-box.
Need to check novelty before this filing date? Find Prior Art

Description

Technology Field

[0001] The present invention relates to a white-box cipher implementation technology, and more specifically, to a white-box block cipher device and method using an implicit function capable of receiving plaintext as input, performing encryption with a plurality of round functions using a white-box generated through an encryption key, and finally outputting a ciphertext. Background Technology

[0003] White-box cryptography (WBC) is widely used in combination with obfuscation techniques to protect block cipher keys in software environments. Most WBCs protect keys by applying encodings before and after operations related to the key and storing them in a table. The encryption process consists of a series of table references, and during the iterative process of rounds, the encodings before and after each round cancel each other out.

[0004] It is known that implementation methods that hide encryption keys in a table like this are difficult to secure, and in particular, all disclosed techniques among the white-box implementations of the most widely used AES block cipher have been found to be vulnerable.

[0005] Korean Registered Patent No. 10-2319699 (October 26, 2021) relates to a white-box cipher encoding device and method using an anti-inversion function, comprising: a plaintext receiving unit for receiving an encoded plaintext; an encryption operation unit for generating an encoded ciphertext as an output through a white-box encryption process using the encoded plaintext as input; and an anti-inversion function application unit for dividing the encoded ciphertext into a plurality of cipher blocks and applying an anti-inversion function to any one of the plurality of cipher blocks to generate a final ciphertext, wherein the anti-inversion function is implemented to generate an output block from an input block and, when a secret key is applied to the output block, enable the recovery of the input block, thereby providing one-wayness to the white-box encryption process. Prior art literature

[0007] Korean Registered Patent No. 10-2319699 (October 26, 2021) The problem to be solved

[0008] One embodiment of the present invention aims to provide a white-box block cipher device and method using an implicit function capable of securely converting plaintext into ciphertext.

[0009] One embodiment of the present invention aims to provide a white-box block cipher device and method using an implicit function that can enhance the security of a data encryption process by utilizing the randomness of an encryption key and combining linear and non-linear transformation processes.

[0010] One embodiment of the present invention aims to provide a white-box block cipher device and method using an implicit function that combines a Lightweight Encryption Algorithm (LEA) operation structure with round input / output transformation to maximize the efficiency of the round function and securely encrypt data and securely decrypt ciphertext. means of solving the problem

[0012] Among the embodiments, a white-box block cipher device using an implicit function comprises: a plaintext input unit for receiving plaintext; a ciphertext output unit for outputting the ciphertext; and an implicit function-based round structure for inputting the plaintext as initial input data and generating the ciphertext as final output data, wherein the round structure is composed of a plurality of round functions connected in series, each comprising a white-box encryption unit that converts the initial input data into the final output data by generating a white-box through an encryption key and performing encryption through the white-box.

[0013] Each of the above multiple round functions can perform encoding as a serial connection of round functions that combine a linear function for a linear transformation and a quadratic function for a non-linear transformation, which impart randomness to the cryptographic key and satisfy specific conditions, during the process of generating the white box through the cryptographic key.

[0014] Each of the above multiple round functions can generate an LEA operation structure based on the above linear function and the above quadratic function.

[0015] Each of the above plurality of round functions can generate an encoded round function in the white box by combining the round input linear function and the round output inverse function before and after the LEA operation structure, respectively.

[0016] Each of the above plurality of round functions can be implemented as an encoded round function that generates non-linear transformed data by encoding input data into a non-linear transformation, generates LEA data through implicit function-based LEA operations on the non-linear transformed data, and generates linear data as output data by encoding the LEA data into a linear transformation.

[0017] Each of the above plurality of round functions is implemented as an encoded round function that generates output data through non-linear transformation of input data, implicit-based LEA operation, and linear transformation, and the first round function receives the first input data as input data, and the final round function can output the final output data as output data.

[0018] The above plaintext input unit can encode the plaintext and provide it to the above whitebox encryption unit.

[0019] The above ciphertext output unit can generate the ciphertext by decoding the final output data output from the above white-box encryption unit.

[0020] Among the embodiments, a white-box block cipher method using an implicit function, performed in a white-box block cipher device using an implicit function, comprises: a plaintext input step for receiving plaintext; a ciphertext output step for outputting the ciphertext; and an implicit function-based round structure for inputting the plaintext as initial input data and generating the ciphertext as final output data, wherein the round structure is composed of a plurality of round functions connected in series, each comprising a white-box encryption step for converting the initial input data into the final output data by generating a white-box through an encryption key and performing encryption through the white-box.

[0021] Each of the above multiple round functions can perform encoding as a serial connection of round functions that combine a linear function for a linear transformation and a quadratic function for a non-linear transformation, which impart randomness to the cryptographic key and satisfy specific conditions, during the process of generating the white box through the cryptographic key.

[0022] Each of the above plurality of round functions can generate an LEA operation structure based on the above linear function and the above quadratic function, and can generate an encoded round function as the above white box by combining the round input linear function and the round output inverse function before and after the above LEA operation structure, respectively.

[0023] Each of the above plurality of round functions can be implemented as an encoded round function that generates non-linear transformed data by encoding input data into a non-linear transformation, generates LEA data through implicit function-based LEA operations on the non-linear transformed data, and generates linear data as output data by encoding the LEA data into a linear transformation.

[0024] Each of the above plurality of round functions is implemented as an encoded round function that generates output data through non-linear transformation of input data, implicit-based LEA operation, and linear transformation, and the first round function receives the first input data as input data, and the final round function can output the final output data as output data. Effects of the invention

[0026] The disclosed technology may have the following effects. However, this does not mean that a specific embodiment must include all of the following effects or only the following effects; therefore, the scope of the rights of the disclosed technology should not be understood as being limited by this.

[0027] A white-box block cipher device and method using an implicit function according to one embodiment of the present invention can securely convert plaintext into ciphertext.

[0028] A white-box block cipher device and method using an implicit function according to one embodiment of the present invention can enhance the security of a data encryption process by utilizing the randomness of an encryption key and combining linear and non-linear transformation processes.

[0029] A white-box block cipher device and method using an implicit function according to one embodiment of the present invention combines a Lightweight Encryption Algorithm (LEA) operation structure with a round input / output transformation to maximize the efficiency of the round function and can securely encrypt data and securely decrypt ciphertext. Brief explanation of the drawing

[0031] FIG. 1 is a diagram illustrating a white-box block cipher system according to the present invention. Figure 2 is a diagram illustrating the system configuration of the white-box block cipher device of Figure 1. Figure 3 is a diagram illustrating the configuration of the white-box block cipher device of Figure 1. FIG. 4 is a flowchart illustrating the functional configuration of a white-box block cipher device according to the present invention. FIG. 5 is a diagram illustrating the equivalence relationship between positive and negative functions in a white-box block cipher device according to the present invention. Figure 6 is a diagram illustrating the round function structure of the LEA block cipher according to the present invention. FIG. 7 is a diagram illustrating the positive function implementation method and the implicit function implementation method in the white-box block cipher device of the present invention. Figure 8 is a diagram illustrating the implementation method of the LEA white-box implicit function. FIG. 9 is a diagram illustrating the process of generating a white box implementation from an encryption key through a white box block cipher device according to the present invention. Specific details for implementing the invention

[0032] The description of the present invention is merely an example for structural or functional explanation, and therefore the scope of the present invention should not be interpreted as being limited by the examples described in the text. That is, since the examples are subject to various modifications and may take various forms, the scope of the present invention should be understood to include equivalents capable of realizing the technical concept. Furthermore, the objectives or effects presented in the present invention do not imply that a specific example must include all of them or only such effects; therefore, the scope of the present invention should not be understood as being limited by them.

[0033] Meanwhile, the meaning of the terms described in this application should be understood as follows.

[0034] Terms such as "first," "second," etc., are intended to distinguish one component from another, and the scope of rights shall not be limited by these terms. For example, the first component may be named the second component, and similarly, the second component may be named the first component.

[0035] When it is stated that one component is "connected" to another component, it should be understood that it may be directly connected to that other component, or that there may be other components in between. Conversely, when it is stated that one component is "directly connected" to another component, it should be understood that there are no other components in between. Meanwhile, other expressions describing the relationships between components, such as "between" and "exactly between," or "adjacent to" and "directly adjacent to," should be interpreted in the same way.

[0036] A singular expression should be understood to include a plural expression unless the context clearly indicates otherwise, and terms such as "include" or "have" are intended to specify the existence of the implemented features, numbers, steps, actions, components, parts, or combinations thereof, and should be understood not to preclude the existence or addition of one or more other features, numbers, steps, actions, components, parts, or combinations thereof.

[0037] In each step, identifiers (e.g., a, b, c, etc.) are used for convenience of explanation and do not describe the order of the steps; the steps may occur differently from the specified order unless a specific order is clearly indicated in the context. That is, the steps may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the reverse order.

[0038] The present invention may be implemented as computer-readable code on a computer-readable recording medium, and the computer-readable recording medium includes all types of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. Additionally, the computer-readable recording medium may be distributed across networked computer systems, so that computer-readable code can be stored and executed in a distributed manner.

[0039] Unless otherwise defined, all terms used herein have the same meaning as generally understood by those skilled in the art to which this invention pertains. Terms defined in commonly used dictionaries should be interpreted as having meanings consistent with the context of the relevant technology and should not be interpreted as having an ideal or overly formal meaning unless explicitly defined in this application.

[0041] FIG. 1 is a diagram illustrating a white-box block cipher system according to the present invention.

[0042] Referring to FIG. 1, the white box block cipher system (100) may include a user terminal (110), a white box block cipher device (130), and a database (150).

[0043] A user terminal (110) may be connected to a white-box block cipher device (130) via a network and may receive data encryption and decryption services provided by the white-box block cipher device (130), and may be a computing terminal operated by a user. Here, the data encryption and decryption services may correspond to a secure communication solution, but are not necessarily limited thereto and may further include authentication services or key management services, etc.

[0044] The user terminal (110) may be composed of a single or multiple units, and if composed of multiple units, it may include a first user terminal, a second user terminal, ..., the nth (n is a natural number) user terminal. For example, the user terminal (110) may be implemented as a smartphone, laptop, or computer capable of operating in connection with the white-box block cipher device (130), but is not necessarily limited thereto and may be implemented as various devices including a tablet PC, etc.

[0045] Additionally, the user terminal (110) can be connected to the white box block cipher device (130) via a network, and multiple user terminals (110) can be connected to the white box block cipher device (130) simultaneously. The user terminal (110) can install and run a dedicated program or application for interoperability with the white box block cipher device (130).

[0046] The white box block cipher device (130) may be implemented as a server corresponding to a computer or program that performs a white box block cipher service using an implicit function according to the present invention. For example, the white box block cipher device (130) may be implemented as a server that encrypts plaintext data received from a user or decrypts ciphertext data and provides it to a user terminal (110), and may enable each step of the white box block cipher method using an implicit function according to the present invention to be performed on the server. The white box block cipher device (130) may be connected to the user terminal (110) via a wired network or a wireless network such as Bluetooth, WiFi, or LTE, and may transmit and receive data with the user terminal (110) through the wired or wireless network.

[0047] Additionally, the white-box block cipher device (130) may be implemented to operate in connection with an independent external system (not shown in FIG. 1). For example, the white-box block cipher device (130) may operate in conjunction with a Key Management System (KMS), an Authentication System, or a Security Monitoring System.

[0048] The database (150) may correspond to a storage device that stores various information required during the operation of the white-box block cipher device (130). For example, the database (150) may store security-related information such as encryption key data, user authentication data, and log record data, and is not necessarily limited thereto, but may store encryption execution data, decryption request data, and system performance log data generated during the operation of the white-box block cipher device (130).

[0049] In FIG. 1, the database (150) is shown as a device independent of the white-box block cipher device (130), but is not necessarily limited thereto and can be implemented by being included in the white-box block cipher device (130).

[0051] Figure 2 is a diagram illustrating the configuration of the white-box block cipher device of Figure 1.

[0052] Referring to FIG. 2, the white box block cipher device (130) may include a processor (210), memory (230), user input / output unit (250), network input / output unit (270), and communication port unit (290).

[0053] The processor (210) can execute a white-box block cipher procedure using an implicit function according to an embodiment of the present invention, manage memory (230) that is read or written during this process, and schedule the synchronization time between volatile memory and non-volatile memory in memory (230). The processor (210) can control the overall operation of the white-box block cipher device (130) and is electrically connected to the memory (230), user input / output unit (250), network input / output unit (270), and communication port unit (290) to control the data flow between them. The processor (210) can be implemented as a CPU (Central Processing Unit) or GPU (Graphics Processing Unit) of the white-box block cipher device (130).

[0054] The memory (230) may include an auxiliary storage device implemented as non-volatile memory such as an SSD (Solid State Disk) or HDD (Hard Disk Drive) and used to store all data required for the white-box block cipher device (130), and may include a main memory device implemented as volatile memory such as RAM (Random Access Memory). Additionally, the memory (230) may store a set of instructions that perform the role of the white-box block cipher device (130) according to the present invention by being executed by an electrically connected processor (210).

[0055] The user input / output unit (250) includes an environment for receiving user input and an environment for outputting specific information to the user, and may include an input device including an adapter such as a touch pad, touch screen, virtual keyboard, or pointing device, and an output device including an adapter such as a monitor or touch screen. In one embodiment, the user input / output unit (250) may correspond to a computing device connected via remote access, and in such case, the white-box block cipher device (130) may be performed as an independent server.

[0056] The network input / output unit (270) provides a communication environment for connecting to a user terminal (110) through a network and may include an adapter for communication such as a LAN (Local Area Network), MAN (Metropolitan Area Network), WAN (Wide Area Network), and VAN (Value Added Network). Additionally, the network input / output unit (270) may be implemented to provide short-range communication functions such as WiFi and Bluetooth, or wireless communication functions of 4G or higher for wireless transmission of data.

[0057] The communication port section (290) is a hardware interface for connecting to external hardware, for example, the external hardware may include a printer, a mouse, and USB hardware. The communication port section (290) may be configured to detect the connection of specific USB hardware and perform the role of a white-box block cipher device (130).

[0059] Figure 3 is a diagram illustrating the functional configuration of the white-box block cipher device of Figure 1.

[0060] Referring to FIG. 3, the white box block cipher device (130) may include a plaintext input unit (310), a ciphertext output unit (330), a white box encryption unit (350), and a control unit (370).

[0061] The white-box block cipher device (130) does not need to include all of the above functional configurations simultaneously, and depending on each embodiment, some of the above configurations may be omitted, or some or all of the above configurations may be selectively included. Additionally, the white-box block cipher device (130) may be implemented as an independent module that selectively includes some of the above configurations, and the white-box block cipher method using implicit functions according to the present invention may be performed through the interoperability between each module. The operation of each configuration is described in detail below.

[0063] The plaintext input unit (310) can receive plaintext. Here, the plaintext input unit (310) can receive plaintext including data in the form of text, numbers, and binary from a user terminal (110) or an external system and convert it into a form suitable for encryption. For example, the plaintext input unit (310) can perform a data validation check on the received plaintext to verify whether the plaintext is in a format suitable for encryption and perform a data preprocessing process to a format suitable for the encryption process. In one embodiment, the plaintext input unit (310) can block the plaintext into byte units and store it in a memory buffer by performing data segmentation during the data preprocessing process on the received plaintext, and is not necessarily limited to this, but can adjust the format or alignment of the data to be suitable for the encryption algorithm.

[0064] In one embodiment, the plaintext input unit (310) can encode the plaintext and provide it to the white-box encryption unit (350). Here, the plaintext input unit (310) can perform an encoding process on the plaintext to convert it into a form suitable for an internal encryption structure. For example, the plaintext input unit (310) can encode the plaintext by performing a non-linear transformation that removes simple patterns of the plaintext data and adds non-linearity, or a linear transformation that adds additional randomness by adjusting the position and order of the data. Through this, the plaintext input unit (310) can perform non-linear and linear transformation processes on the plaintext and proceed with encryption preparation by transmitting the converted plaintext to the white-box encryption unit (350).

[0065] The ciphertext output unit (330) can output a ciphertext. Here, the ciphertext output unit (330) can receive the final output data processed by the white-box encryption unit (350) and provide the received final output data in the form of a ciphertext. In one embodiment, the ciphertext output unit (330) can generate a ciphertext by decoding the final output data output from the white-box encryption unit (350). For example, the ciphertext output unit (330) can perform a decoding operation by receiving the result of an encryption operation in an encoded state from the white-box encryption unit (350) and performing an inverse transformation on the encoded data. Additionally, the ciphertext output unit (350) can perform a sorting process to reorder the data to its original order if the data order is changed during the encoding process, and, for example, in the case of a matrix-based linear transformation, an inverse matrix can be used.

[0066] In one embodiment, the ciphertext output unit (350) can verify whether there is data loss in the inversely transformed data by performing integrity verification, such as checksum and hash verification, on the inversely transformed data. Here, the ciphertext output unit (350) can perform integrity verification of the inversely transformed data by applying a checksum, including summation, XOR operation, and CRC (Cyclic Redundancy Check), to all bits of the inversely transformed data. Additionally, the ciphertext output unit (350) can generate a hash value based on various hash functions, such as SHA-256, MD5, and HMAC (Hash-based Message Authentication Code), and perform integrity verification by comparing the hash value generated by the ciphertext output unit (350) with the hash value generated during encryption, and verify whether there is data loss in the inversely transformed data.

[0067] The white box encryption unit (350) may include an implicit function-based round structure that inputs plaintext as the initial input data and generates ciphertext as the final output data. Here, an implicit function may correspond to defining the relationship between input variables and output variables through mathematical constraints. Additionally, the round structure is composed of a plurality of round functions (351) connected in series, each of which can generate a white box through an encryption key and convert the initial input data into the final output data by performing encryption through the white box. The white box may correspond to a structure designed to protect all operations within the encryption algorithm (e.g., encryption key, data transformation, etc.) from external attacks, and may include, for example, a transformation table, obfuscated code, and randomness to prevent internal operations from being exposed externally. The white box encryption unit (350) may generate intermediate data by processing the input data together with the encryption key based on the plurality of round functions (351) and finally generate ciphertext as the final output data.

[0068] In one embodiment, each of the plurality of round functions (351) can be encoded as a serial connection of round functions that combine a linear function for a linear transformation and a quadratic function for a non-linear transformation, which impart randomness to the cryptographic key and satisfy specific conditions during the process of generating a white box through the cryptographic key. Here, the specific conditions may correspond to the following mathematical formula 1.

[0070] [Mathematical Formula 1]

[0071] A pair satisfying generation

[0073] Here, can be a non-linear function, and A can be a linear function, and B can be a quadratic function. Also, may correspond to a mathematical expression representing 32-bit modular addition. Each of the multiple round functions (351) can prepare for an initial encryption operation by linearly transforming the structure of the input data through a linear function A. Additionally, each of the multiple round functions (351) can use the linearly transformed input data Data can be non-linearly encrypted by transforming it through, and then the complexity of the data can be increased through an additional second transformation.

[0074] In one embodiment, each of the plurality of round functions (351) can generate a Lightweight Encryption Algorithm (LEA) operation structure based on linear and quadratic functions. Here, the LEA operation structure may correspond to a lightweight block cipher structure, for example, a cryptographic algorithm that processes a fixed-size input block (e.g., 32 bits, etc.) and performs encryption based on rounds. The LEA operation structure can be derived by the following Equation 2.

[0076] [Mathematical Formula 2]

[0077] Convert to

[0079] Here, may correspond to a linear function. First, each of the plurality of round functions (351) can perform a linear transformation step to rearrange the structure of the input data and convert it into an encryption-ready state. Then, the plurality of round functions (351) can add complexity to the data by performing a non-linear transformation step to transform the value of the data based on a rule determined by the encryption key. Finally, each of the plurality of round functions (351) Data can be combined with an encryption key according to a function to generate final encrypted data. In one embodiment, each of the plurality of round functions (351) can perform the above process repeatedly over a plurality of rounds to perform linear and non-linear transformations and generate final encrypted data.

[0080] In one embodiment, each of the plurality of round functions (351) can generate an encoded round function (351) as a white box by combining a round input linear function and a round output inverse function, respectively, before and after the LEA operation structure. Here, the round input linear function may correspond to a function that performs initial encoding by linearly transforming input data before the encryption process begins. Additionally, the round output inverse function may correspond to a function corresponding to the input linear function, for example, a function that performs the transformation performed in the input stage in reverse. Each of the plurality of round functions (351) can combine the round input linear function with the LEA operation structure to transform data and perform initial encoding before the encryption process. Additionally, each of the plurality of round functions (351) can combine the round output inverse function with the LEA operation structure and output the ELA operation result data after inverse transformation.

[0081] In one embodiment, each of the plurality of round functions (351) may be implemented as an encoded round function (351) that generates non-linear transformed data by encoding input data into a non-linear transformation, generates LEA data through implicit-based LEA operations on the non-linear transformed data, and generates linear data as output data by encoding the LEA data into a linear transformation. For example, each of the plurality of round functions (351) may generate non-linear transformed data with added complexity through non-linear operations (e.g., squaring, multiplication, and addition, etc.) on the input data, and perform implicit-based LEA operations by combining the generated non-linear transformed data with an encryption key. Additionally, each of the plurality of round functions (351) may determine the rules of linear transformation according to the encryption key, change or rearrange the data structure by linearly transforming the LEA data, and generate final output data.

[0082] In one embodiment, each of the plurality of round functions (351) may be implemented as an encoded round function (351) that generates output data through non-linear transformation of input data, implicit-based LEA operation, and linear transformation. Here, each of the plurality of round functions (351) can enhance the security of the subsequent encryption step by adding complexity to the input data through non-linear transformation of the input data, and can encrypt the data by combining it with an encryption key based on the non-linear transformed data through implicit-based LEA operation. Additionally, each of the plurality of round functions (351) can generate a final encrypted state by linearly transforming the LEA operation result data.

[0083] In one embodiment, a plurality of round functions (351) can receive initial input data as input data through the initial round function (351) and output final output data as output data through the final round function (351). Here, the initial round function (351) can perform initial encoding by applying a non-linear transformation, an implicit function-based LEA operation, and a linear transformation to the input data to remove existing patterns in the data and transform it so that it can be encrypted. Additionally, the final round function (351) can perform a final transformation on the data transmitted in the intermediate round and generate a final ciphertext.

[0084] The control unit (370) manages the overall control operation of the white box block cipher device (130) and can manage the control flow or data flow between the plaintext input unit (310), the ciphertext output unit (330), and the white box encryption unit (350).

[0086] FIG. 4 is a flowchart illustrating the functional configuration of a white-box block cipher device according to the present invention.

[0087] Referring to FIG. 4, the white box block cipher device (130) can receive plaintext based on the plaintext input unit (310) (step S410). Here, the white box block cipher device (130) can receive plaintext including data in the form of text, numbers, and binary from a user terminal (110) or an external system and convert it into a form suitable for encryption. The white box block cipher device (130) can output ciphertext through the ciphertext output unit (330) (step S430). Here, the white box block cipher device (130) can receive final output data and finally provide the received final output data in the form of ciphertext.

[0088] The white box block cipher device (130) includes a white box encryption unit (350) that inputs plaintext as the initial input data and generates ciphertext as the final output data, and the round structure is composed of a plurality of round functions connected in series, each of which can convert the initial input data into the final output data by generating a white box through an encryption key and performing encryption through the white box (step S450).

[0090] FIG. 5 is a diagram illustrating the equivalence relationship between positive and negative functions in a white-box block cipher device according to the present invention.

[0091] In Fig. 5, the explicit function is generally expressed as Y = F(X) and can be transformed into the implicit function T(X, Y) = 0. Here, when X is given as input, the explicit function corresponding to the implicit function can be obtained by solving the implicit function T(X, Y) = 0 for Y. The input and output X and Y can each be composed of vectors containing one or more individual elements, for example, X = (x1, x2, x3 � xn) and Y = (y1, y2, y3 � yn).

[0092] In the white-box implementation of explicit functions, a table is used to calculate inputs and outputs, but in the white-box implementation of implicit functions One can use a method of storing the equation and solving it for a given input X to obtain the output Y. Here, when storing the equation, only the coefficients are stored. While the amount of information that needs to be stored increases rapidly when the degree of the equation is high, implicit equations can be expressed by lowering the degree of the corresponding explicit equation; therefore, white-box cryptography implementation using implicit functions is suitable for low-degree implicit equations.

[0094] Figure 6 is a diagram illustrating the round function structure of the LEA block cipher according to the present invention.

[0095] Referring to FIG. 6, the round function (351) of the LEA block cipher may use an ARX (Additional-Rotation-eXclusive OR) operation as a core non-linear element. Here, the ARX operation may correspond to an operation paradigm used in the design of block ciphers and hash functions, but is not necessarily limited to this and can be replaced with various cryptographic operations.

[0096] LEA's round function (351, hereinafter ) is a non-linear function that processes three modular additions in parallel and linear function It can be composed of. Here, the round function It is expressed by the following mathematical formula 3.

[0098] [Mathematical Formula 3]

[0099] preparation

[0101] In addition, non-linear functions It is expressed by the following mathematical formula 4.

[0103] [Mathematical Formula 4]

[0104]

[0106] Here, x0, x1, x2, x3, y0, y1, y2, and y3 are 32 bits, and rk0, rk1, rk3, rk4, and rk5 can correspond to round keys of an LEA, each of which is 32 bits. Also, The operator may correspond to 32-bit modular addition. The round function (351) of the LEA block cipher may receive input data x0, x1, x2 and x3 and perform non-linear operations in parallel to output encrypted output data y0, y1, y2 and y3.

[0108] FIG. 7 is a diagram illustrating the positive function implementation method and the implicit function implementation method in the white-box block cipher device of the present invention.

[0109] In FIG. 7, the explicit function implementation method can perform encryption operations in each round and generate an output Y when an input X is given. Here, each round may consist of input encoding, LEA operation, and output encoding. The explicit function implementation method can initialize input data into a form suitable for encryption through the input encoding round and perform non-linear operations by combining the input data and the encryption key in the LEA operation round. Additionally, the explicit function implementation method can generate an encrypted output by re-converting the operation result data in the output encoding round.

[0110] Furthermore, the implicit function implementation method defines the relationship between input and output data as an implicit function and can generate output data by solving it. Here, the implicit function implementation method can generate an output by performing an operation on the input X based on the implicit function T(X, Y) = 0. Here, the implicit function implementation method Since it is a quadratic expression with respect to X and a linear expression with respect to Y, the given input Starting from, the input for each round About A system of linear equations for Unfold and print You can obtain.

[0112] Figure 8 is a diagram illustrating the implementation method of the LEA white-box implicit function.

[0113] In Fig. 8, the implicit implementation method of the LEA whitebox is input encoding and output encoding , encoded Implicit expression It can be composed of.

[0114] The round function (351) can receive input data X and perform conversion into output data Y through multiple steps. Here, the round function (351) can perform an input data processing step, a non-linear and linear operation step, and a final output data generation step. The round function (351) inputs the input data X and converts it into an input Generate and initialize random I / O encodings through, and non-linearly transform the initialized data The complexity of the encryption can be added by passing it to . Then, the round function (351) generates non-linear transformed data through non-linear and linear operation steps and performs LEA linear operation on the non-linear transformed data It can be reconstructed through. In addition, the linear transformation data is the final linear transformation It can be prepared as output data through. Finally, the round function (351) is used in the final output data generation step. Encrypts output data and converts the output result to output through You can generate a random input / output encoding through this and convert it into output Y.

[0116] FIG. 9 is a diagram illustrating the process of creating a white box implementation used for encryption and decryption through a white box block cipher device according to the present invention.

[0117] The process of implicit function-based white-box encryption is broadly divided into (1) a white-box implementation process and (2) a process of data encryption and decryption using the white-box, and in FIG. 9, the white-box block cipher device (130) performs the white-box encryption and decryption process corresponding to process (2).

[0118] That is, in FIG. 9, the white box block cipher device (130) can be summarized as a process in which, unlike going through each step to satisfy various conditions to perform a white box implementation, plaintext is simply input into the implementation to obtain a ciphertext through round function calculation, and ciphertext is input to obtain a plaintext through round function calculation.

[0119] A white-box block cipher device (130) can perform encryption operations over multiple rounds based on an encryption key K on input data X and generate final output data. Here, the white-box block cipher device (130) can perform a linear transformation step, a non-linear transformation step, an implicit function construction step, and an equation solving step.

[0120] First, the white box block cipher device (130) performs an initial linear transformation in the linear transformation step. The input data X can be linearly transformed by performing this. The transformed input data Inverse transformation is possible, and subsequent linear transformation on initially linearly transformed input data By performing this, the input data can be linearly rearranged or processed to convert it into a form suitable for encryption. For example, a white-box block cipher device (130) performs an initial linear transformation on input data X = [x1, x2, x3]. Perform to transform to X' = [x'1, x'2, x'3] and subsequent linear transformation You can transform it into X'' = [x''1, x''2, x''3] by performing this.

[0121] Next, the white-box block cipher device (130) can add complexity to the encryption process by non-linearly transforming the input data. Here, the white-box block cipher device (130) can perform the non-linear transformation by applying a quadratic function B. The white-box block cipher device (130) can combine the non-linearly transformed input data with the encryption key K. For example, the white-box block cipher device (130) can perform the non-linear transformation on the input data through the following mathematical formula 5.

[0123] [Mathematical Formula 5]

[0124] : Generate encoded round function

[0126] Here, the non-linearly transformed input data can be combined with the encryption key K to generate a more complex output value. For example, a white-box block cipher device (130) can combine the input data X = [x1, x2, x3] with the encryption key K = [k1, k2, k3] to generate the result data Y' = [y'1, y'2, y'3].

[0127] Additionally, the white-box block cipher device (130) can be designed to hide the process of encryption operations and process data by solving equations by defining the relationship between input data and output data as a mathematical constraint in the implicit function configuration stage. Here, the white-box block cipher device (130) can be defined in the form of an implicit function for each round using the following mathematical equation 6.

[0129] [Mathematical Formula 6]

[0130] : Generate an implicit equation equivalent to [Equation 5]

[0131] At this time The linear function other than It can be easily made into an implicit function by rearranging the terms (e.g. ), can be expressed as an implicit function through [Equation 4], and [Equation 4] is It is an implicit function representing the operation of performing three modular additions in parallel at once.

[0133] Here, This may correspond to a mathematical constraint between input data X and output data Y. The white-box block cipher device (130) can generate output data by solving a mathematical constraint defined as an implicit function during the equation solving step.

[0135] Although the present invention has been described above with reference to preferred embodiments, those skilled in the art will understand that various modifications and changes can be made to the invention without departing from the spirit and scope of the invention as described in the following claims. Explanation of the symbols

[0137] 100: White-box block cipher system 110: User terminal 130: White-box block cipher device 150: Database 210: Processor 230: Memory 250: User I / O 270: Network I / O Section 290: Communication port section 310: Plain text input section 330: Ciphertext Output Section 350: White-box encryption unit 351: Round function 370: Control unit

Claims

Claim 1 A white-box block cipher device using an implicit function, comprising: a plaintext input unit for receiving plaintext; a ciphertext output unit for outputting the ciphertext; and a white-box encryption unit that includes an implicit function-based round structure that inputs the plaintext as initial input data and generates the ciphertext as final output data, wherein the round structure is composed of a plurality of round functions connected in series, each of which generates a white-box through an encryption key and performs encryption through the white-box to convert the initial input data into the final output data. Claim 2 A white-box block cipher device using implicit functions according to claim 1, wherein each of the plurality of round functions performs encoding as a serial connection of round functions combining a linear function for a linear transformation that satisfies specific conditions and a quadratic function for a non-linear transformation that imparts randomness with the encryption key during the process of generating the white-box through the encryption key. Claim 3 A white-box block cipher device using implicit functions according to claim 2, wherein each of the plurality of round functions generates an LEA operation structure based on the linear function and the quadratic function. Claim 4 A white-box block cipher device using implicit functions, characterized in that, in paragraph 3, each of the plurality of round functions generates an encoded round function as the white-box by combining a round input linear function and a round output inverse function before and after the LEA operation structure, respectively. Claim 5 A white-box block cipher device using an implicit function according to claim 1, wherein each of the plurality of round functions is implemented as an encoded round function that generates non-linear transformed data by encoding input data into a non-linear transformation, generates LEA data through implicit function-based LEA operation on the non-linear transformed data, and generates linear data as output data by encoding the LEA data into a linear transformation. Claim 6 A white-box block cipher device using an implicit function according to claim 1, wherein each of the plurality of round functions is implemented as an encoded round function that generates output data through a non-linear transformation of input data, an implicit function-based LEA operation, and a linear transformation, and the first round function receives the first input data as the input data, and the final round function outputs the final output data as the output data. Claim 7 A white-box block cipher device using an implicit function, characterized in that, in claim 1, the plaintext input unit encodes the plaintext and provides it to the white-box encryption unit. Claim 8 A white-box block cipher device using an implicit function according to claim 1, wherein the ciphertext output unit decodes the final output data output from the white-box encryption unit to generate the ciphertext. Claim 9 A white-box block cipher method using an implicit function, performed in a white-box block cipher device using an implicit function, comprising: a plaintext input step for receiving plaintext; a ciphertext output step for outputting the ciphertext; and a white-box encryption step comprising an implicit function-based round structure that inputs the plaintext as initial input data and generates the ciphertext as final output data, wherein the round structure is composed of a plurality of round functions connected in series, each of which generates a white-box through an encryption key and performs encryption through the white-box to convert the initial input data into the final output data. Claim 10 A white-box block cipher method using implicit functions according to claim 9, wherein each of the plurality of round functions performs encoding as a serial connection of round functions combining a linear function for a linear transformation that satisfies specific conditions and a quadratic function for a non-linear transformation that imparts randomness with the encryption key during the process of generating the white-box through the encryption key. Claim 11 A white-box block cipher device using implicit functions, characterized in that, in claim 10, each of the plurality of round functions generates an LEA operation structure based on the linear function and the quadratic function, and generates an encoded round function as the white-box by combining the round input linear function and the round output inverse function before and after the LEA operation structure, respectively. Claim 12 A white-box block cipher method using implicit functions according to claim 9, wherein each of the plurality of round functions is implemented as an encoded round function that generates non-linear transformed data by encoding input data into a non-linear transformation, generates LEA data through implicit function-based LEA operation on the non-linear transformed data, and generates linear data as output data by encoding the LEA data into a linear transformation. Claim 13 A white-box block cipher method using implicit functions according to claim 9, wherein each of the plurality of round functions is implemented as an encoded round function that generates output data through a non-linear transformation of input data, an implicit function-based LEA operation, and a linear transformation, and the first round function receives the first input data as the input data, and the final round function outputs the final output data as the output data.