JP2021196611A - Encrypting/decrypting method and device of data using white-box cryptograph - Google Patents

Encrypting/decrypting method and device of data using white-box cryptograph Download PDF

Info

Publication number
JP2021196611A
JP2021196611A JP2021098240A JP2021098240A JP2021196611A JP 2021196611 A JP2021196611 A JP 2021196611A JP 2021098240 A JP2021098240 A JP 2021098240A JP 2021098240 A JP2021098240 A JP 2021098240A JP 2021196611 A JP2021196611 A JP 2021196611A
Authority
JP
Japan
Prior art keywords
encryption
data
white
library
box
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2021098240A
Other languages
Japanese (ja)
Other versions
JP7046424B2 (en
JP2021196611A5 (en
Inventor
ヨン リー,ジュン
Jun Young Lee
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Stealien Inc
Original Assignee
Stealien Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Stealien Inc filed Critical Stealien Inc
Publication of JP2021196611A publication Critical patent/JP2021196611A/en
Publication of JP2021196611A5 publication Critical patent/JP2021196611A5/ja
Application granted granted Critical
Publication of JP7046424B2 publication Critical patent/JP7046424B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

To provide encrypting/decrypting method and device that make it impossible to decrypt even if part of algorithm is leaked and have improved security.SOLUTION: An encrypting device of data using white-box cryptography according to one example includes: a key table generation unit that generates a white-box cryptography (WBC)-based encrypted key table based on a cryptography key; and a white-box cryptography library that uses the encrypted key table to encrypt the data by a white-box cryptography-based method. The white-box cryptography library can encrypt using the white-box cryptography method after encrypting and decrypting the data.SELECTED DRAWING: Figure 6

Description

本発明は、ホワイトボックス暗号を利用したデータの暗号化/復号化方法及び装置に関する発明である。 The present invention relates to a data encryption / decryption method and an apparatus using white box encryption.

暗号化技術は、平文(Plain text)を暗号文(Cipher text)に変える技術である。これらの暗号化技術は、ソフトウェアコードで実装されることもあり、ハードウェア装置で実装されることもある。暗号化技術は大きくブラックボックス暗号方法とホワイトボックス暗号方法に分けられる。 Ciphertext is a technology that converts plain text into cipher text. These encryption techniques may be implemented in software code or in hardware devices. Encryption technology can be broadly divided into black box encryption methods and white box encryption methods.

ブラックボックスに基づく暗号技術の場合、入力された平文を暗号化する過程で暗号化キー(Key)が必要である。この暗号化キーは、ブラックボックスと仮定した暗号化装置の内部に存在する。ブラックボックスは、その中が見えないことを意味する。 In the case of black box-based encryption technology, an encryption key (Key) is required in the process of encrypting the input plaintext. This encryption key exists inside an encryption device that is assumed to be a black box. A black box means that you can't see inside.

すなわち、ブラックボックスに基づく暗号化装置の設計は、クラッカーがこの暗号化装置の内部を見ることができないという仮定から出発する。したがって、クラッカーはブラックボックスベースの暗号化装置に入力される平文と出力される暗号化文だけ見ることができる。したがって、クラッカーは2つの入力値と出力値を継続して観察し、あるパターンを突き止めようとする。 That is, the design of a black box-based cryptographic device starts with the assumption that the cracker cannot see inside the cryptographic device. Therefore, the cracker can only see the plaintext that is input and the encrypted text that is output to the black box-based encryption device. Therefore, the cracker continuously observes the two input and output values and tries to find a pattern.

ブラックボックスの場合は、単純に暗号化装置の設計者がこの暗号化装置自体は完璧に安全であると仮定するものなので、もしこの暗号化装置自体がクラッカーに破られてしまうと、暗号化キーが漏洩してしまうことがある。暗号化キーが漏洩すると、すべての暗号化過程は、クラッカーに完全に公開されるという問題点が発生する。 In the case of a black box, the cryptographic device designer simply assumes that the cryptographic device itself is perfectly secure, so if the cryptographic device itself is broken by a cracker, the encryption key. May leak. If the encryption key is leaked, the problem is that the entire encryption process is completely exposed to the crackers.

これらのブラックボックス暗号方法よりもセキュリティ性が強化された暗号方法がホワイトボックス暗号方法であって、図1及び図2は、ホワイトボックス暗号を説明するための図面である。図1は、ホワイトボックス暗号の全体的な構成を、図2は、ホワイトボックスの作動原理を説明するための式である。 A cryptographic method having enhanced security over these black-box cryptographic methods is a white-box cryptographic method, and FIGS. 1 and 2 are drawings for explaining a white-box cryptographic method. FIG. 1 is an equation for explaining the overall configuration of the white box cipher, and FIG. 2 is an equation for explaining the operating principle of the white box.

ホワイトボックス(10)は、中を覗き込むことができる透明なボックスを意味する。したがって、ホワイトボックス暗号方法は、クラッカー(40)がホワイトボックス(10)の内部を覗き見ることができるので、暗号化及び復号化に関連するソフトウェアの実行過程をすべて見ることができるという仮定から出発する。クラッカーが暗号化装置の内部を見ることができれば、暗号化キー(Key)を獲得することができるので、クラッカー(40)が暗号文(20)を容易に平文(30)に変換することができる。そのため、設計者はより多くの事項を考慮して暗号化装置を設計しなければならない。 The white box (10) means a transparent box from which the inside can be looked into. Therefore, the white box encryption method starts from the assumption that the cracker (40) can peep inside the white box (10) and can see all the software execution processes related to encryption and decryption. do. If the cracker can see the inside of the encryption device, the encryption key (Key) can be obtained, so that the cracker (40) can easily convert the ciphertext (20) into the plaintext (30). .. Therefore, the designer must consider more matters when designing the encryption device.

暗号化装置をホワイトボックスと仮定すると、暗号化キー(Key)を簡単に装置内に保存することができない。したがって、一般的なホワイトボックスでは、暗号化キーがそのまま存在せず、複雑な暗号化演算アルゴリズムと入り混じって存在するので、暗号化キーを別途に得ることができない。また、このアルゴリズムは、元に戻す(invert)ことが難しいアルゴリズムなので、結果値を利用して元の値や暗号化キーを推測するのは難しい。 Assuming that the encryption device is a white box, the encryption key cannot be easily stored in the device. Therefore, in a general white box, the encryption key does not exist as it is, but exists in a mixture with a complicated encryption calculation algorithm, so that the encryption key cannot be obtained separately. Also, since this algorithm is difficult to convert, it is difficult to guess the original value or encryption key using the result value.

すなわち、ホワイトボックス暗号はアルゴリズムを大きなルックアップテーブル(look-up table)に作成し、その中に暗号キーをソフトウェアで実装された暗号アルゴリズムと入り混じった状態で隠しておくことで、内部の動作を解析しても暗号キーを簡単に類推できないようにする手法である。 In other words, white-box cryptography creates an algorithm in a large look-up table and hides the cryptographic key in a state mixed with the cryptographic algorithm implemented by the software, so that the internal operation is performed. It is a method that makes it impossible to easily infer the encryption key even if it is analyzed.

暗号アルゴリズムを一つの大きなルックアップテーブルに作成すると、暗号キーを隠すことは容易であるが、テーブルの大きさが大きくなる可能性があるので、テーブルを暗号学的な手法で適切に分離するが、暗号化演算の中間値が露出しないようにデコードとエンコード過程を行うようにすればよい。 Creating a cryptographic algorithm in one large look-up table makes it easy to hide the cryptographic key, but it can make the table larger, so the table is properly separated by cryptographic techniques. , The decoding and encoding process should be performed so that the intermediate value of the encryption operation is not exposed.

図2に示すように、基本的なホワイトボックス暗号の基本原理は、エンコード過程(Mi)とデコード過程(Mi-1)が、別途のテーブルで計算される。したがって、中間値が露出することなく、順次エンコードとデコードでそれぞれのエンコードとデコードは相殺され、元の暗号化動作(Xi)のみを行う結果と同じ結果が得られる。 As shown in FIG. 2, the basic principle of the basic white box encryption is that the encoding process (Mi) and the decoding process (Mi -1 ) are calculated in separate tables. Therefore, without exposing the intermediate values, the sequential encoding and decoding cancel each encoding and decoding, and the same result as the result of performing only the original encryption operation (Xi) is obtained.

このように、現在のホワイトボックス暗号は、暗号キーを使用していないので、暗号キーが漏洩しない長所を持ち、標準暗号技術と互換する長所がある。しかし、暗号キーが隠されたホワイトボックス暗号アルゴリズム自体が漏洩すると、それによって暗号文を復号化することができるという問題点が存在する。 As described above, the current white box encryption does not use an encryption key, so that it has an advantage that the encryption key is not leaked and has an advantage that it is compatible with standard encryption technology. However, if the white box encryption algorithm itself in which the encryption key is hidden is leaked, there is a problem that the ciphertext can be decrypted by it.

したがって、一実施例によるホワイトボックス暗号を利用した暗号化/復号化方法及び装置は、従来技術が持っている問題点を解決するために考案された発明であって、アルゴリズムの一部が漏洩しても復号化をすることができないようにし、よりセキュリティ性が向上した暗号化/復号化方法及び装置を提供するためである。 Therefore, the encryption / decryption method and device using the white box encryption according to the embodiment are inventions devised to solve the problems of the prior art, and a part of the algorithm is leaked. However, it is for the purpose of providing an encryption / decryption method and an apparatus with improved security by preventing decryption.

具体的には、ホワイトボックス暗号ライブラリの中に含まれているsoライブラリだけが独立的に流出した場合、復号化するデータとキーテーブルさえ獲得すれば、元のキーを知らなくても、復号化されたデータが漏洩することができるという問題点を解決するために考案された発明である。 Specifically, if only the so library contained in the white box cryptographic library leaks independently, all you have to do is acquire the data to be decrypted and the key table, and decrypt it without knowing the original key. It is an invention devised to solve the problem that the obtained data can be leaked.

一実施例によるホワイトボックス暗号を利用したデータの暗号化装置は、暗号キーをもとにホワイトボックス暗号(White-Box Cryptography、WBC)ベースの暗号化キーテーブルを生成するキーテーブル生成部と、前記暗号化キーテーブルを利用して前記データを前記ホワイトボックス暗号ベースの方式で暗号化するホワイトボックス暗号ライブラリを含み、前記ホワイトボックス暗号ライブラリは、前記データに対して暗号化及び復号化を実行した後、前記ホワイトボックス暗号方式を利用して暗号化することができる。 The data encryption device using the white box encryption according to the embodiment includes a key table generator that generates a white-box encryption (WBC) -based encryption key table based on the encryption key, and the above-mentioned A white box cryptographic library that uses an encryption key table to encrypt the data in the white box cryptographic-based manner is included, and the white box cryptographic library performs encryption and decryption on the data. , The white box encryption method can be used for encryption.

前記ホワイトボックス暗号ライブラリは、Androidベースのjarライブラリとsoライブラリを含み、前記jarライブラリは、前記データに対して暗号化をして、前記soライブラリは、前記jarライブラリによって暗号化されたデータを復号化して復号化データを生成することができる。 The white box encryption library includes an Android-based jar library and a so library, the jar library encrypts the data, and the so library decrypts the data encrypted by the jar library. It can be converted to generate decrypted data.

前記soライブラリは、ホワイトボックス暗号ベースのアルゴリズムを利用して前記復号化データを再び暗号化することができる。 The so library can re-encrypt the decrypted data using a white box encryption-based algorithm.

一実施例によるホワイトボックス暗号を利用したデータの復号化装置は、暗号キーをもとにホワイトボックス暗号(White-Box Cryptography、WBC)ベースの復号化キーテーブルを生成するキーテーブル生成部と、前記復号化キーテーブルを利用して前記暗号化されたデータをホワイトボックス暗号ベースの方式で復号化をするホワイトボックス暗号ライブラリを含み、前記ホワイトボックス暗号ライブラリは、前記暗号化されたデータに対して暗号化及び復号化を実行した後、前記ホワイトボックス暗号方式を利用して復号化することができる。 The data decryption device using the white-box encryption according to the embodiment includes a key table generator that generates a white-box encryption (WBC) -based decryption key table based on the encryption key, and the above-mentioned The white box encryption library includes a white box encryption library that decrypts the encrypted data by a white box encryption-based method using a decryption key table, and the white box encryption library encrypts the encrypted data. After performing the conversion and decryption, the white box encryption method can be used for decryption.

前記ホワイトボックス暗号ライブラリは、Androidベースのjarライブラリとsoライブラリを含み、前記jarライブラリは、前記暗号化されたデータに対して暗号化を行い、前記soライブラリは、前記jarライブラリによって暗号化されたデータを復号化した後、復号化されたデータをホワイトボックス暗号ベースのアルゴリズムを利用して、再び復号化することができる。 The white box encryption library includes an Android-based jar library and a so library, the jar library encrypts the encrypted data, and the so library is encrypted by the jar library. After decrypting the data, the decrypted data can be decrypted again using a whitebox cryptographic-based algorithm.

一実施例によるホワイトボックス暗号を利用したデータの暗号化方法は、データ及び暗号キーを受信する段階、前記暗号キーをもとにホワイトボックス暗号(White-Box Cryptography、WBC)ベースの暗号化キーテーブルを生成する段階、及び前記暗号化キーテーブルを利用して前記データを前記ホワイトボックス暗号ベースの方式で暗号化する段階を含み、前記ホワイトボックス暗号ベースの方式で暗号化する段階は、Androidベースのjarライブラリとsoライブラリを利用して前記データに対して暗号化及び復号化過程を経た後、前記ホワイトボックス暗号方式を利用して暗号化することができる。 The data encryption method using the white-box encryption according to the embodiment is a white-box encryption (WBC) -based encryption key table based on the encryption key at the stage of receiving the data and the encryption key. And the stage of encrypting the data by the white box encryption-based method using the encryption key table, and the stage of encrypting the data by the white box encryption-based method are Android-based. After the data is encrypted and decrypted using the jar library and the so library, it can be encrypted using the white box encryption method.

一実施例によるホワイトボックス暗号を利用したデータの復号化方法は、暗号化されたデータ及び暗号キーを受信する段階、前記暗号キーをもとにホワイトボックス暗号(White-Box Cryptography、WBC)ベースの復号化キーテーブルを生成する段階、及び前記復号化キーテーブルを利用して前記データを前記ホワイトボックス暗号ベースの方式で復号化する段階を含み、前記ホワイトボックス暗号ベースの方式で復号化する段階は、Androidベースのjarライブラリとsoライブラリを利用して前記暗号化されたデータに対して暗号化及び復号化過程を経た後、前記ホワイトボックス暗号方式を利用して復号化することができる。 The data decryption method using the white-box encryption according to the embodiment is based on the white-box encryption (WBC) based on the encryption key at the stage of receiving the encrypted data and the encryption key. A step of generating a decryption key table and a step of decrypting the data by the white box encryption-based method using the decryption key table are included, and a step of decrypting the data by the white box encryption-based method is included. , The Android-based jar library and so library can be used to perform encryption and decryption processes on the encrypted data, and then the white box encryption method can be used to decrypt the encrypted data.

一実施例によるホワイトボックス暗号を利用した暗号化/復号化方法及び装置の場合、データを暗号化及び復号化することにおいて、データをjarライブラリ及びsoライブラリにより、データの暗号化及び復号化を経た後、ホワイトボックス方式の暗号化/復号化を実行するので、soライブラリのみ分離抽出されても従来技術と異なり、最終暗号データを得ることができず、よりセキュリティ性が向上した暗号化/復号化装置を提供することができる。 In the case of the encryption / decryption method and device using the white box encryption according to the embodiment, the data is encrypted and decrypted by the jar library and the so library in the encryption and decryption of the data. After that, since the white box method encryption / decryption is executed, even if only the so library is separated and extracted, unlike the conventional technology, the final encrypted data cannot be obtained, and the encryption / decryption with improved security is achieved. Equipment can be provided.

図1は、本発明に適用されるホワイトボックス暗号の全体的な概念を説明するための図面である。FIG. 1 is a drawing for explaining the overall concept of a white box cipher applied to the present invention. 図2は、本発明に適用されるホワイトボックスの作動原理を説明するための式である。FIG. 2 is an equation for explaining the operating principle of the white box applied to the present invention. 図3は、従来の技術によるホワイトボックス暗号の脆弱性を説明するための図面である。FIG. 3 is a drawing for explaining the vulnerability of the white box encryption by the conventional technique. 図4は、一実施例によるデータの暗号化装置の構成要素を示すブロック図である。FIG. 4 is a block diagram showing the components of the data encryption device according to the embodiment. 図5は、一実施例によってキーテーブル生成部から出力する2種類のキーテーブルを示す図である。FIG. 5 is a diagram showing two types of key tables output from the key table generation unit according to one embodiment. 図6は、一実施例によってデータを暗号化する方法を説明するための図面である。FIG. 6 is a drawing for explaining a method of encrypting data according to an embodiment. 図7は、他の実施例によるデータの復号化装置の構成要素を示すブロック図である。FIG. 7 is a block diagram showing components of a data decoding apparatus according to another embodiment. 図8は、他の実施例によるデータを復号化する方法を説明するための図面である。FIG. 8 is a drawing for explaining a method of decoding data according to another embodiment. 図9は、一実施例によるデータの暗号化/復号化装置の構成を説明するための図面である。FIG. 9 is a drawing for explaining a configuration of a data encryption / decryption device according to an embodiment. 図10は、他の実施例によるデータの暗号化/復号化装置の構成を説明するための図面である。FIG. 10 is a drawing for explaining the configuration of a data encryption / decryption device according to another embodiment. 図11は、他の実施例によるデータの暗号化/復号化装置の構成を説明するための図面である。FIG. 11 is a drawing for explaining the configuration of a data encryption / decryption device according to another embodiment.

本発明の一実施例によるホワイトボックス暗号を利用した暗号化/復号化方法は、コンピュータ装置によって実行することができる。前記コンピュータ装置は、メモリにロードされたプロセッサ、前記プロセッサによって行われるオペレーション(operation)がロード(load)されるメモリ、及び電源の供給とは無関係に前記オペレーションを保存するためのストレージを含む。ただし、前記コンピュータ装置の構成は一例に過ぎず、前記コンピュータ装置は、演算機能を有する多様な形態の装置を含む。 The encryption / decryption method using the white box encryption according to the embodiment of the present invention can be executed by a computer device. The computer device includes a processor loaded into memory, a memory loaded with operations performed by the processor, and storage for storing the operation independently of power supply. However, the configuration of the computer device is only an example, and the computer device includes various types of devices having a calculation function.

コンピュータ装置は、暗号化または復号化する情報を得た後、暗号化/復号化処理を実行することができる。前記の情報は、コンピュータ装置のストレージ装置に保存された情報、コンピュータ装置に備えられたネットワークインタフェースを介して受信された情報、または前記コンピュータ装置に備えられたタッチスクリーンなどのユーザーインターフェースを介して入力された情報であることができる。 The computer device can execute the encryption / decryption process after obtaining the information to be encrypted or decrypted. The information is input via a user interface such as information stored in a storage device of the computer device, information received via a network interface provided in the computer device, or a touch screen provided in the computer device. It can be information that has been done.

コンピュータ装置は、入力された情報に対する暗号化/復号化を実行するホワイトボックス暗号モジュールをコンピュータ装置に備えられたメモリにロードする。一般的に、暗号化または復号化する情報を得た後にホワイトボックス暗号モジュールのメモリロードが実行されるが、それとは逆にホワイトボックス暗号モジュールのメモリロードが先に行われた後、暗号化または復号化する情報を得る動作が実行されることもある。 The computer device loads a white box encryption module that performs encryption / decryption on the input information into the memory provided in the computer device. Generally, the memory load of the white box cryptographic module is performed after the information to be encrypted or decrypted is obtained, but conversely, the memory load of the white box cryptographic module is performed first, and then the encryption or encryption is performed. The operation of obtaining the information to be decrypted may be executed.

すなわち、ホワイトボックス暗号モジュールは、必要な時だけメモリに一時的にロードされる一時ロードモジュールであることもでき、メモリに常時ロードされている状態を維持する常時ロードモジュールであることもできる。ホワイトボックス暗号モジュールが常時ロードモジュールであっても、コンピュータ装置の起動過程では、メモリにロードされる過程を経るだろう。 That is, the white box cryptographic module can be a temporary load module that is temporarily loaded into the memory only when necessary, or can be a constant load module that keeps the state of being constantly loaded in the memory. Even if the white box cryptographic module is an always-loaded module, it will go through the process of being loaded into memory during the boot process of the computer device.

ホワイトボックス暗号モジュールを常時ロードモジュールの形で運営する場合、一実施例によれば、メモリのカーネル(kernel)の領域に前記ホワイトボックス暗号モジュールをロードすることができる。カーネル領域は、オペレーティングシステムが使用するメモリ領域であり、オペレーティングシステム以外のユーザーアプリケーションは、前記カーネル領域に侵犯することはできない。 When the white box cryptographic module is operated in the form of a constantly loaded module, according to one embodiment, the white box cryptographic module can be loaded in the kernel area of the memory. The kernel area is a memory area used by the operating system, and user applications other than the operating system cannot invade the kernel area.

したがって、メモリのカーネル領域にロードされたホワイトボックス暗号モジュールは、そのコードが流出することを防止することができる。また、起動過程で前記ホワイトボックス暗号モジュールをロードすることにより、起動が完了した後に動作できるクラッキング目的のユーザーアプリケーションが、ホワイトボックス暗号モジュールのバイナリデータを得ることを防止することができる。 Therefore, the white box cryptographic module loaded in the kernel area of the memory can prevent the code from being leaked. Further, by loading the white box cryptographic module in the booting process, it is possible to prevent a user application for cracking purposes, which can operate after the booting is completed, from obtaining the binary data of the white box cryptographic module.

ホワイトボックス暗号モジュールが一時ロードモジュールの形で運営される場合、ホワイトボックス暗号モジュールのバイナリデータサイズほどメモリ容量を節約できる効果がある。ただし、ホワイトボックス暗号モジュールがメモリにロードされる過程で、前記ホワイトボックス暗号モジュールのバイナリがクラッキングアプリケーションによって複製される危険性が存在する。 When the white box cryptographic module is operated in the form of a temporary load module, it has the effect of saving memory capacity as much as the binary data size of the white box cryptographic module. However, there is a risk that the binary of the white box cryptographic module will be duplicated by the cracking application while the white box cryptographic module is loaded into memory.

クラッキングアプリケーションは、前記ホワイトボックス暗号モジュールが必要な状況を作った後(例えば、ホワイトボックス暗号モジュールが使用される決済APPの実行)、メモリロードのためのシステム関数をフッキング(hooking)してメモリアドレスを取得するなどの方式で、ホワイトボックス暗号モジュールのバイナリを得ることができ(メモリダンプ技術を使用)、このような場合、セキュリティ上の問題が発生することができる。 The cracking application hooks the system function for memory loading after creating the situation where the whitebox cryptographic module is needed (eg, executing a payment APP where the whitebox cryptographic module is used) and the memory address. The binary of the whitebox cryptographic module can be obtained by a method such as obtaining (using memory dump technology), and in such a case, a security problem can occur.

これらを詳しく見ると、図3に示すように、ホワイトボックス暗号ライブラリ(70)は、暗号化するデータ(10)を暗号化キーテーブル(20)を利用して暗号化して、暗号データ(30)を出力する。ホワイトボックス暗号ライブラリ(70)は、一般的にaarファイルで構成されており、aarファイルの中には、図3に示すように、Androidベースのjarライブラリ(71)ファイルとsoライブラリ(73)ファイルが含まれている。そして、soライブラリ(73)は入力されたデータをホワイトボックス暗号関数(75)を利用して暗号化する。 Looking at these in detail, as shown in FIG. 3, the white box encryption library (70) encrypts the data (10) to be encrypted using the encryption key table (20), and the encrypted data (30). Is output. The white box cryptographic library (70) is generally composed of aar files, and the aar files include an Android-based jar library (71) file and a so library (73) file, as shown in FIG. It is included. Then, the so library (73) encrypts the input data by using the white box cryptographic function (75).

しかし、ホワイトボックス暗号ライブラリ(70)に含まれているsoライブラリ(73)は、jarライブラリ(71)と独立的にホワイトボックス暗号ライブラリ(70)から抽出することができ、復号化するデータとキーテーブルさえ獲得すれば、元のキーを知っていなくても復号化されたデータが漏洩することができるという問題点が存在した。 However, the so library (73) included in the white box cryptographic library (70) can be extracted from the white box cryptographic library (70) independently of the jar library (71), and the data and key to be decrypted. There was a problem that the decrypted data could be leaked without knowing the original key as long as the table was acquired.

したがって、一実施例によるホワイトボックス暗号を利用したデータの暗号化/復号化装置(300)は、このような問題点を防止するために考案された発明であって、従来技術によりホワイトボックス暗号ライブラリ(70)からsoライブラリ(73)のみ独立的に抽出されたとしても、暗号データを得ることができないようにし、よりセキュリティ性が向上した暗号化/復号化方法を提供するためである。以下、図面を介して本発明の構成要素及び作動手順について調べてみる。 Therefore, the data encryption / decryption device (300) using the white box encryption according to the embodiment is an invention devised to prevent such a problem, and is a white box encryption library according to the prior art. This is to prevent the encryption data from being obtained even if only the so library (73) is independently extracted from (70), and to provide an encryption / decryption method with improved security. Hereinafter, the components and operating procedures of the present invention will be investigated with reference to the drawings.

図4は、一実施例によるデータの暗号化装置(100)の構成要素を示したブロック図であり、図5は、一実施例によってキーテーブル生成部(120)から出力される2種類のキーテーブルを示す図面であり、図6は、一実施例によるデータの暗号化装置(100)がデータを暗号化する方法を説明するための図面である。 FIG. 4 is a block diagram showing the components of the data encryption device (100) according to the embodiment, and FIG. 5 shows two types of keys output from the key table generation unit (120) according to the embodiment. FIG. 6 is a drawing showing a table, and FIG. 6 is a drawing for explaining a method in which a data encryption device (100) according to an embodiment encrypts data.

図5を参照すると、一実施例によるデータの暗号化装置(100)は、暗号化及び復号化に使用するキー(Key)を決定するキー決定部(110)、キー決定部(110)で決定された暗号化キー(50)をもとに暗号化に使用する暗号化キーテーブル(20)を生成するキーテーブル生成部(120)、及び暗号化キーテーブル(20)を利用してデータを暗号化するホワイトボックス暗号ライブラリ(130)を含むことができる。 Referring to FIG. 5, the data encryption device (100) according to the embodiment is determined by a key determination unit (110) and a key determination unit (110) that determine a key (Key) used for encryption and decryption. Data is encrypted using the key table generator (120) that generates the encryption key table (20) used for encryption based on the encrypted encryption key (50), and the encryption key table (20). It can include a white box cryptographic library (130) to be converted.

キーテーブル生成部(120)は、図5に示すように、入力された暗号化キー(50)をキーテーブル生成関数を利用してデータ(20)を暗号化するのに必要な暗号化キーテーブル(20)と、暗号データ(30)を復号化するのに必要な復号化キーテーブル(40)をそれぞれ生成することができる。 As shown in FIG. 5, the key table generation unit (120) uses an encrypted key table (50) to encrypt the data (20) by using the key table generation function. (20) and the decryption key table (40) necessary for decrypting the encrypted data (30) can be generated, respectively.

従来のAES(Advanced Encryption Standard:高度暗号化標準)アルゴリズム方式の暗号化方法の場合、暗号化するのに必要なキーと復号化するのに使われるキーが同一であったが、ホワイトボックス暗号方式の場合は、キーテーブルを利用して暗号化を行い、暗号化する時に使われるキーテーブルと復号化する時に使われるキーテーブルが互いに同一である点から、従来のAESアルゴリズム方式の暗号化と相違点が存在する。 In the case of the conventional AES (Advanced Encryption Standard) algorithm method encryption method, the key required for encryption and the key used for decryption were the same, but the white box encryption method In the case of, encryption is performed using the key table, and the key table used for encryption and the key table used for decryption are the same, which is different from the encryption of the conventional AES algorithm method. There is a point.

ホワイトボックス暗号ライブラリ(70)は、一般的にaarファイルで構成されており、aarファイルの中には、図6に示すように、jarライブラリ(140)ファイルとsoライブラリ(150)ファイルが含まれている。そして、jarライブラリ(140)には、入力された暗号データ(30)を中間暗号データ(15)に暗号化するデータ暗号化部(141)が含まれており、soライブラリ(150)には、データ暗号化部(141)で暗号化した中間暗号データ(15)を復号化するデータ復号化部(151)と、復号化されたデータをホワイトボックス暗号関数アルゴリズムを利用して再び暗号化を行うホワイトボックス暗号化部(153)が含まれている。 The white box cryptographic library (70) is generally composed of aar files, and the aar files include a jar library (140) file and a so library (150) file as shown in FIG. ing. The jar library (140) includes a data encryption unit (141) that encrypts the input encrypted data (30) into intermediate encrypted data (15), and the so library (150) includes the so library (150). The data decryption unit (151) that decrypts the intermediate encrypted data (15) encrypted by the data encryption unit (141) and the decrypted data are encrypted again using the white box encryption function algorithm. A white box encryption unit (153) is included.

jarライブラリ(140)は、外部から暗号化するデータ(10)と暗号化キーテーブル(20)を受信した後、ユーザーの選択によって受信された暗号化データ(10)にパディング(padding)を挿入することができる。もし、暗号化するデータ(10)にパディングを挿入する場合、PKCS5Paddingの方式でパディングを挿入することができる。 After receiving the data (10) to be encrypted and the encryption key table (20) from the outside, the jar library (140) inserts padding into the encrypted data (10) received by the user's choice. be able to. If the padding is inserted in the data (10) to be encrypted, the padding can be inserted by the method of PKCS5Padding.

具体的には、jarライブラリ(140)は、JAVAでSubstitution Tableを通じた置換暗号とXOR演算を実行することができ、Javaネイティブインタフェース(JNI、Java Native Interface)に接続されたCでXOR及びSubstitution Tableを通じた暗号化過程を実行することができる。jarライブラリ(140)で使用されるSubstitution Tableは、従来のAESアルゴリズムで使用されるSubstitution Boxとは異なる構造及び内容を含んでいる。 Specifically, the jar library (140) can perform substitution cryptography and XOR operations through the Substitution Table in JAVA, and XOR and Substitution Table in C connected to Java Native Interface (JNI, Java Native Interface). You can perform the encryption process through. The Substitution Table used in the jar library (140) contains a structure and contents different from the Substitution Box used in the conventional AES algorithm.

jarライブラリ(140)で入力されたデータ(10)が暗号化されて、中間暗号データ(15)に変換されると、soライブラリ(150)は、中間暗号データ(15)を受信した後、再び復号化及び暗号化過程を行う。 When the data (10) input in the jar library (140) is encrypted and converted into the intermediate encrypted data (15), the so library (150) receives the intermediate encrypted data (15) and then again. Performs decryption and encryption processes.

具体的に、soライブラリ(140)に含まれているデータ復号化部(151)は、復号化する中間暗号データ(15)を受信した後、中間暗号データ(15)に対して復号化を行う。その後、ホワイトボックス暗号化部(153)は、復号化されたデータ(10)を再びホワイトボックス暗号アルゴリズムを利用して暗号化を行い、最終暗号データ(30)を出力する。 Specifically, the data decoding unit (151) included in the so library (140) receives the intermediate encrypted data (15) to be decrypted and then decodes the intermediate encrypted data (15). .. After that, the white box encryption unit (153) encrypts the decrypted data (10) again using the white box encryption algorithm, and outputs the final encrypted data (30).

すなわち、一実施例によるホワイトボックス暗号ライブラリ(130)によってデータを暗号化する場合、入力されるデータと出力されるデータは従来技術と同じであるが、暗号化をする過程で入力されるデータに対して暗号化及び復号化を実行した後に、再びホワイトボックスアルゴリズムに基づく暗号化を行うことに特徴がある。 That is, when the data is encrypted by the white box encryption library (130) according to the embodiment, the input data and the output data are the same as those in the prior art, but the data input in the process of encryption is used. On the other hand, it is characterized in that after performing encryption and decryption, encryption based on the white box algorithm is performed again.

したがって、soライブラリ(150)のみホワイトボックス暗号ライブラリ(130)から分離抽出されても、soライブラリ(150)に入力されるべきデータは中間暗号データでなければならないので、暗号化するデータ(10)と暗号化キーテーブル(20)を知っていても最終暗号データ(30)を得ることができない。したがって、従来技術とは異なり、soライブラリ(150)のみホワイトボックス暗号ライブラリ(130)から分離抽出されても、最終暗号データ(30)が漏洩する問題点を解決できるという長所が存在する。 Therefore, even if only the so library (150) is separated and extracted from the white box encryption library (130), the data to be input to the so library (150) must be intermediate encryption data, so that the data to be encrypted (10). And even if the encryption key table (20) is known, the final encrypted data (30) cannot be obtained. Therefore, unlike the prior art, even if only the so library (150) is separated and extracted from the white box cryptographic library (130), there is an advantage that the problem of leakage of the final cryptographic data (30) can be solved.

図7は、他の実施例によるデータの復号化装置(200)の構成要素を示したブロック図であり、図8は、他の実施例によるデータの復号化装置(200)によってデータを復号化する方法を説明するための図面である。 FIG. 7 is a block diagram showing the components of the data decoding device (200) according to another embodiment, and FIG. 8 is a data decoding device (200) according to another embodiment. It is a drawing for demonstrating the method of doing.

図7を参照すると、一実施例によるデータの復号化装置(200)は、復号化に使用するキー(Key)を決定するキー決定部(210)、キー決定部(210)で決定された暗号化キー(50)をもとに復号化に使用する復号化キーテーブル(40)を生成するキーテーブル生成部(220)、及び復号化キーテーブル(40)を利用して暗号化されたデータを復号化するホワイトボックス暗号ライブラリ(230)を含むことができる。 Referring to FIG. 7, the data decoding apparatus (200) according to the embodiment has a key determination unit (210) for determining a key (Key) to be used for decryption, and a cipher determined by the key determination unit (210). Data encrypted using the key table generator (220) that generates the decryption key table (40) used for decryption based on the decryption key (50) and the decryption key table (40). A white box cryptographic library (230) to be decrypted can be included.

データの復号化装置(200)のキー決定部(210)、キーテーブル生成部(220)、及びホワイトボックス暗号ライブラリ(230)は、図5で説明したキー決定部(110)、キーテーブル(120)、及びホワイトボックス暗号ライブラリ(130)と類似した役割をするので、これに対する説明は省略し、図8を介して復号化する過程について詳細に説明する。 The key determination unit (210), key table generation unit (220), and white box cryptographic library (230) of the data decryption device (200) include the key determination unit (110) and the key table (120) described with reference to FIG. ) And the white box cryptographic library (130), the description thereof will be omitted, and the decryption process will be described in detail with reference to FIG.

図8を参考にすれば、jarライブラリ(240)は、外部から復号化する暗号データ(30)と復号化キーテーブル(40)を受信した後、JAVAでSubstitution Tableによる置換暗号とXOR演算を実行することができ、Javaネイティブインタフェース(JNI、Java Native Interface)に接続されたCでXOR及びSubstitution Tableによる暗号化過程を行うことができる。 With reference to FIG. 8, the jar library (240) receives the encrypted data (30) to be decrypted from the outside and the decryption key table (40), and then executes the substitution encryption and the XOR operation by the Substitution Table in JAVA. It is possible to perform the encryption process by XOR and Substitution Table in C connected to Java Native Interface (JNI, Java Native Interface).

jarライブラリ(240)で使用されるSubstitution Tableは、従来のAESアルゴリズムで使用されるSubstitution Boxとは異なる構造及び内容を含んでいる。 The Substitution Table used in the jar library (240) contains a structure and contents different from the Substitution Box used in the conventional AES algorithm.

jarライブラリ(240)で暗号データ(30)が暗号化されて、中間暗号データ(25)に変換されると、soライブラリ(250)は、中間暗号データ(25)を受信した後、再び復号化及び暗号化過程を行う。 When the encrypted data (30) is encrypted by the jar library (240) and converted into the intermediate encrypted data (25), the so library (250) receives the intermediate encrypted data (25) and then decrypts it again. And perform the encryption process.

具体的に、soライブラリ(250)に含まれているデータ復号化部(251)が復号化する中間暗号データ(25)を受信した後、中間暗号データ(25)に対して復号化を行う。その後、ホワイトボックス復号化部(153)は、復号化された暗号データ(30)を再びホワイトボックス暗号アルゴリズムベースの復号化を行い、最終データ(10)を出力する。 Specifically, after receiving the intermediate encrypted data (25) to be decrypted by the data decoding unit (251) included in the so library (250), the intermediate encrypted data (25) is decrypted. After that, the white box decryption unit (153) decrypts the decrypted cryptographic data (30) again based on the white box cryptographic algorithm, and outputs the final data (10).

すなわち、一実施例によるホワイトボックス暗号ライブラリ(230)によってデータを復号化する場合、入力されるデータと出力されるデータは、従来技術と同じであるが、復号化する過程で入力された暗号データに対して暗号化及び復号化を行った後に、再び復号化を行うことに特徴がある。 That is, when the data is decrypted by the white box encryption library (230) according to the embodiment, the input data and the output data are the same as those in the prior art, but the encrypted data input in the process of decryption. It is characterized in that it is encrypted and decrypted, and then decrypted again.

したがって、soライブラリ(150)のみホワイトボックス暗号ライブラリ(130)から分離抽出されても、soライブラリ(150)に入力されるべきデータは、中間暗号データでなければならないので、暗号化されたデータ(10)と復号化キーテーブル(40)を知っていても元データ(10)を得ることができない。したがって、従来技術とは異なり、soライブラリ(150)のみホワイトボックス暗号ライブラリ(130)から分離抽出されても、元データ(10)が漏洩する問題点を解決できるという長所が存在する。 Therefore, even if only the so library (150) is separated and extracted from the white box encryption library (130), the data to be input to the so library (150) must be intermediate encryption data, so that the encrypted data ( Even if you know 10) and the decryption key table (40), you cannot get the original data (10). Therefore, unlike the prior art, even if only the so library (150) is separated and extracted from the white box cryptographic library (130), there is an advantage that the problem of leakage of the original data (10) can be solved.

図9乃至図11は、様々な実施例によってデータの暗号化/復号化装置の構成を説明するための図面である。 9 to 11 are drawings for explaining the configuration of a data encryption / decryption apparatus according to various embodiments.

前の図面では、データの暗号化装置(100)とデータの復号化装置(200)を区分して説明したが、本発明の実施例は、これに限られるものではなく、図9に示すように、ホワイトボックス暗号ベースのデータの暗号化装置(100)とデータの復号化装置(200)を含んでいるデータの暗号化/復号化装置(300)で実装されることがある。 In the previous drawing, the data encryption device (100) and the data decryption device (200) have been described separately, but the embodiment of the present invention is not limited to this, as shown in FIG. May be implemented in a data encryption / decryption device (300) that includes a white box encryption-based data encryption device (100) and a data decryption device (200).

また、ホワイトボックスベースの暗号化アルゴリズムとAESベースの復号化アルゴリズムは、互いに互換できるので、一実施例によるデータの暗号化/復号化装置(300)は、図10に示すように、ホワイトボックス暗号ベースのデータの暗号化装置(100)とAESアルゴリズムベースの復号化装置(200)を含む形で実装されることがある。 Also, since the white box-based encryption algorithm and the AES-based decryption algorithm are compatible with each other, the data encryption / decryption device (300) according to the embodiment is a white box encryption as shown in FIG. It may be implemented to include a base data encryption device (100) and an AES algorithm-based decryption device (200).

図10のような形で実装される場合、データ(10)を暗号化する場合には、暗号化キーテーブル(20)が使用され、暗号データ(30)を復号化する場合には、復号化キー(60)が使用される。 When implemented as shown in FIG. 10, the encryption key table (20) is used when encrypting the data (10), and the encryption is performed when the encrypted data (30) is decrypted. The key (60) is used.

また、図11に示すように、データの暗号化/復号化装置(300)は、図10とは異なり、AESアルゴリズムベースの暗号化装置(100)とホワイトボックス暗号ベースのデータの復号化装置(200)を含んでいる形で実装されることがある。 Further, as shown in FIG. 11, unlike FIG. 10, the data encryption / decryption device (300) is an AES algorithm-based encryption device (100) and a white box encryption-based data decryption device (100). It may be implemented in a form that includes 200).

図11のような形で実装される場合、データ(10)を暗号化する場合には、暗号化キー(50)が使用され、暗号データを復号化する場合には、復号化キーテーブル(40)が使用される。 When implemented as shown in FIG. 11, the encryption key (50) is used to encrypt the data (10), and the decryption key table (40) is used to decrypt the encrypted data. ) Is used.

一実施例によるホワイトボックス暗号を利用した暗号化/復号化方法及び装置の場合、データを暗号化及び復号化することにおいて、データをjarライブラリ及びsoライブラリにより、データの暗号化及び復号化を経た後、ホワイトボックス方式の暗号化/復号化を実行するので、soライブラリのみ分離抽出されても従来技術と異なり、最終暗号データを得ることができず、よりセキュリティ性が向上した暗号化/復号化装置を提供することができる。 In the case of the encryption / decryption method and device using the white box encryption according to the embodiment, the data is encrypted and decrypted by the jar library and the so library in the encryption and decryption of the data. After that, since the white box method encryption / decryption is executed, even if only the so library is separated and extracted, unlike the conventional technology, the final encrypted data cannot be obtained, and the encryption / decryption with improved security is achieved. Equipment can be provided.

Claims (7)

データを暗号化するための装置であって、
暗号キーをもとにホワイトボックス暗号(White-Box Cryptography、WBC)ベースの暗号化キーテーブルを生成するキーテーブル生成部、及び
前記暗号化キーテーブルを利用して前記データを前記ホワイトボックス暗号ベースの方式で暗号化するホワイトボックス暗号ライブラリを含み、
前記ホワイトボックス暗号ライブラリは、
前記データに対して暗号化及び復号化を実行した後、前記ホワイトボックス暗号方式を利用して暗号化する、
ことを特徴とするホワイトボックス暗号を利用したデータの暗号化装置。
A device for encrypting data
A key table generator that generates a White-Box Cryptography (WBC) -based encryption key table based on an encryption key, and the white-box encryption-based data using the encryption key table. Includes a whitebox cryptographic library that encrypts in a method
The white box cryptographic library is
After performing encryption and decryption on the data, the data is encrypted using the white box encryption method.
A data encryption device that uses white-box encryption.
前記ホワイトボックス暗号ライブラリは、
Androidベースのjarライブラリとsoライブラリを含み、
前記jarライブラリは、前記のデータに対して暗号化をして、
前記soライブラリは、前記jarライブラリによって暗号化されたデータを復号化して復号化データを生成する、
ことを特徴とする請求項1に記載のホワイトボックス暗号を利用したデータの暗号化装置。
The white box cryptographic library is
Includes Android-based jar and so libraries
The jar library encrypts the data and
The so library decodes the data encrypted by the jar library to generate the decrypted data.
The data encryption device using the white box encryption according to claim 1.
前記soライブラリは、
ホワイトボックス暗号ベースのアルゴリズムを利用して前記復号化データを再び暗号化する、
ことを特徴とする請求項2に記載のホワイトボックス暗号を利用したデータの暗号化装置。
The so library is
A white box encryption-based algorithm is used to re-encrypt the decrypted data.
A data encryption device using the white box encryption according to claim 2.
暗号化されたデータを復号化するための装置であって、
暗号キーをもとにホワイトボックス暗号(White-Box Cryptography、WBC)ベースの復号化キーテーブルを生成するキーテーブル生成部、及び
前記復号化キーテーブルを利用して前記暗号化されたデータをホワイトボックス暗号ベースの方式で復号化するホワイトボックス暗号ライブラリを含み、
前記ホワイトボックス暗号ライブラリは、
前記暗号化されたデータに対して暗号化及び復号化を実行した後、前記ホワイトボックス暗号方式を利用して復号化する、
ことを特徴とするホワイトボックス暗号を利用したデータの復号化装置。
A device for decrypting encrypted data,
A key table generator that generates a White-Box Cryptography (WBC) -based decryption key table based on the encryption key, and a white box for the encrypted data using the decryption key table. Includes a whitebox crypto library that decrypts in a crypto-based manner, including
The white box cryptographic library is
After performing encryption and decryption on the encrypted data, decryption is performed using the white box encryption method.
A data decryption device that uses white-box encryption.
前記ホワイトボックス暗号ライブラリは、
Androidベースのjarライブラリとsoライブラリを含み、
前記jarライブラリは、前記暗号化されたデータに対して暗号化を行い、
前記soライブラリは、前記jarライブラリによって暗号化されたデータを復号化した後、復号化されたデータをホワイトボックス暗号ベースのアルゴリズムを利用して、再び復号化する、
ことを特徴とする請求項4に記載のホワイトボックス暗号を利用したデータの復号化装置。
The white box cryptographic library is
Includes Android-based jar and so libraries
The jar library encrypts the encrypted data and
The so library decodes the data encrypted by the jar library, and then decodes the decrypted data again using a white box encryption-based algorithm.
The data decryption device using the white box encryption according to claim 4.
データ及び暗号キーを受信する段階、
前記暗号キーをもとにホワイトボックス暗号(White-Box Cryptography、WBC)ベースの暗号化キーテーブルを生成する段階、及び
前記暗号化キーテーブルを利用して前記データを前記ホワイトボックス暗号ベースの方式で暗号化する段階を含み、
前記ホワイトボックス暗号ベースの方式で暗号化する段階は、
Androidベースのjarライブラリ及びsoライブラリを利用して前記データに対して暗号化及び復号化過程を経た後、前記ホワイトボックス暗号方式を利用して暗号化する、
ことを特徴とするホワイトボックス暗号を利用したデータの暗号化方法。
At the stage of receiving data and encryption key,
At the stage of generating a white-box cryptography (WBC) -based encryption key table based on the encryption key, and using the encryption key table to transfer the data in the white-box encryption-based method. Including the encryption stage
The stage of encryption using the white box encryption-based method is
After the data is encrypted and decrypted using the Android-based jar library and so library, it is encrypted using the white box encryption method.
A method of encrypting data using white box encryption.
暗号化されたデータ及び暗号キーを受信する段階、
前記暗号キーをもとにホワイトボックス暗号(White-Box Cryptography、WBC)ベースの復号化キーテーブルを生成する段階、及び
前記復号化キーテーブルを利用して前記暗号化されたデータを前記ホワイトボックス暗号ベースの方式で復号化する段階を含み、
前記ホワイトボックス暗号ベースの方式で復号化する段階は、
Androidベースのjarライブラリ及びsoライブラリを利用して前記暗号化されたデータに対して暗号化及び復号化過程を経た後、前記ホワイトボックス暗号方式を利用して復号化する、
ことを特徴とするホワイトボックス暗号を利用したデータの復号化方法。
The stage of receiving encrypted data and encryption key,
The stage of generating a white-box cryptography (WBC) -based decryption key table based on the encryption key, and the white-box encryption of the encrypted data using the decryption key table. Including the step of decrypting with the base method
The stage of decryption using the white box encryption-based method is
The encrypted data is encrypted and decrypted using the Android-based jar library and so library, and then decrypted using the white box encryption method.
A method of decrypting data using white box encryption.
JP2021098240A 2020-06-15 2021-06-11 Data encryption / decryption method and equipment using white box encryption Active JP7046424B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0072474 2020-06-15
KR1020200072474A KR102301243B1 (en) 2020-06-15 2020-06-15 Method and device for data encryption/decryption using white box encryption

Publications (3)

Publication Number Publication Date
JP2021196611A true JP2021196611A (en) 2021-12-27
JP2021196611A5 JP2021196611A5 (en) 2022-01-31
JP7046424B2 JP7046424B2 (en) 2022-04-04

Family

ID=77796552

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021098240A Active JP7046424B2 (en) 2020-06-15 2021-06-11 Data encryption / decryption method and equipment using white box encryption

Country Status (2)

Country Link
JP (1) JP7046424B2 (en)
KR (1) KR102301243B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102626974B1 (en) * 2023-08-24 2024-01-19 쿤텍 주식회사 Method and system for protecting secret key of white box cryptography

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011514091A (en) * 2008-03-05 2011-04-28 イルデト・ビー・ヴイ Cryptosystem
JP2011521366A (en) * 2008-05-23 2011-07-21 イルデト カナダ コーポレーション System and method for generating a white-box implementation of a software application
JP2012520599A (en) * 2009-03-13 2012-09-06 ニュー イメージング テクノロジーズ Low consumption matrix sensor
JP2013524322A (en) * 2010-03-31 2013-06-17 イルデト カナダ コーポレーション Systems and methods for encapsulating and enabling protection by diversification in software libraries
KR20150040576A (en) * 2013-10-07 2015-04-15 한국전자통신연구원 Data protection method and apparatus in open environment
US20150215117A1 (en) * 2014-01-29 2015-07-30 Electronics And Telecommunications Research Insitute White box encryption apparatus and method
US20170244677A1 (en) * 2016-02-18 2017-08-24 Electronics And Telecommunications Research Institute Operation method based on white-box cryptography and secure terminal for performing the method

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011514091A (en) * 2008-03-05 2011-04-28 イルデト・ビー・ヴイ Cryptosystem
JP2011521366A (en) * 2008-05-23 2011-07-21 イルデト カナダ コーポレーション System and method for generating a white-box implementation of a software application
JP2012520599A (en) * 2009-03-13 2012-09-06 ニュー イメージング テクノロジーズ Low consumption matrix sensor
JP2013524322A (en) * 2010-03-31 2013-06-17 イルデト カナダ コーポレーション Systems and methods for encapsulating and enabling protection by diversification in software libraries
KR20150040576A (en) * 2013-10-07 2015-04-15 한국전자통신연구원 Data protection method and apparatus in open environment
US20150215117A1 (en) * 2014-01-29 2015-07-30 Electronics And Telecommunications Research Insitute White box encryption apparatus and method
US20170244677A1 (en) * 2016-02-18 2017-08-24 Electronics And Telecommunications Research Institute Operation method based on white-box cryptography and secure terminal for performing the method

Also Published As

Publication number Publication date
KR102301243B1 (en) 2021-09-13
JP7046424B2 (en) 2022-04-04

Similar Documents

Publication Publication Date Title
KR101744748B1 (en) Contents protection, encryption and decryption apparatus using white-box cryptography
US8634549B2 (en) Ciphertext key chaining
Tsoutsos et al. The HEROIC framework: Encrypted computation without shared keys
CN109246098B (en) Method for supporting comparison of synchronous ciphertext of backup server
US20120079281A1 (en) Systems and methods for diversification of encryption algorithms and obfuscation symbols, symbol spaces and/or schemas
Garmany et al. PRIME: private RSA infrastructure for memory-less encryption
US8681975B2 (en) Encryption method and apparatus using composition of ciphers
WO2006100801A1 (en) Key stream encryption device, method, and program
CN111010266B (en) Message encryption and decryption, reading and writing method and device, computer equipment and storage medium
KR20150090438A (en) White box encryption apparatus and encryption method
JP2018522291A (en) System and process for executing a private program on an unreliable computer
US20050008162A1 (en) System and method for encrypting and verifying messages using three-phase encryption
CN111314050A (en) Encryption and decryption method and device
KR20170097509A (en) Operation method based on white-box cryptography and security apparatus for performing the method
CN114124364A (en) Key security processing method, device, equipment and computer readable storage medium
JP7046424B2 (en) Data encryption / decryption method and equipment using white box encryption
CN115967485A (en) Encryption and decryption system based on quantum key
Whelihan et al. Shamrock: a synthesizable high assurance cryptography and key management coprocessor
CN114036541A (en) Application method for compositely encrypting and storing user private content
CN114726511A (en) Data processing method and device
CN111131158A (en) Single byte symmetric encryption and decryption method, device and readable medium
Awang et al. Multi-agent integrated password management (MIPM) application secured with encryption
Shah et al. Language support for efficient computation over encrypted data
JP7215245B2 (en) Information processing device, information processing method and program
US20190012469A1 (en) Data processing method and data processing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220121

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20220121

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220318

R150 Certificate of patent or registration of utility model

Ref document number: 7046424

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150