JP2018106260A - 難読化装置、難読化方法及び難読化プログラム - Google Patents
難読化装置、難読化方法及び難読化プログラム Download PDFInfo
- Publication number
- JP2018106260A JP2018106260A JP2016249408A JP2016249408A JP2018106260A JP 2018106260 A JP2018106260 A JP 2018106260A JP 2016249408 A JP2016249408 A JP 2016249408A JP 2016249408 A JP2016249408 A JP 2016249408A JP 2018106260 A JP2018106260 A JP 2018106260A
- Authority
- JP
- Japan
- Prior art keywords
- code
- encryption
- processing
- parameter
- probability
- 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
Links
Images
Abstract
Description
例えば、非特許文献1では、常に真となる条件分岐、又は常に偽となる条件分岐を用いて、ソフトウェアの制御フローを難読化する手法が提案されている。
非特許文献2及び非特許文献3では、代数的な手法により、これらの条件分岐が常に真であるか、又は常に偽であるかを判別できることが示されている。
図1は、本実施形態に係る難読化装置1の機能構成を示すブロック図である。
難読化装置1は、サーバ装置又はパーソナルコンピュータ等の情報処理装置(コンピュータ)であり、制御部10及び記憶部20の他、各種データの入出力デバイス又は通信デバイス等を備える。
LWE型格子暗号は、定数部分にノイズを含む連立一次方程式の解を求めるLWE問題に基づく格子暗号技術である。LWE型格子暗号は、次元n、法q、ノイズ分布χの3つのパラメータを有する。ノイズ分布χには、正規分布を用いることが一般的であるが、他の確率分布のノイズを有するLWE型の暗号方式であってもよい。
さらに、生成部11は、復号に成功する確率が第2閾値以上、第1閾値未満となる第3パラメータを設定した暗号化処理及び復号処理の第3コードを生成する。この第3コードによる復号処理は、例えば1/2程度の確率で成功する。
なお、暗号化のパラメータは、確率の条件を満たす範囲でランダムに決定されてよい。
条件分岐は、例えば、平文m、暗号化関数E及び復号関数Dを用いて、「if(D(E(m))==m)」のように記述できる。
ここで、第1コードからは、常に真とみなせる条件分岐(以下、恒真の分岐)が作成され、第2コードからは、常に偽とみなせる条件分岐(以下、恒偽の分岐)が作成される。また、第3コードからは、真偽が不定の条件分岐(不定の分岐)が作成される。
また、暗号化の対象とする平文mは、任意の文字列であり、ランダムに選択されてもよいし、所定のワークエリア等の値が選択されてもよい。
なお、挿入部12により条件分岐が挿入される箇所は、既存の手法により選択されてよい。
ここでは、恒真の分岐が用いられ、条件分岐のYESの側には、元の処理Pが割り当てられ、条件分岐のNOの側には、ダミーの処理Qが割り当てられる。
条件分岐での判定は常にYESとなるため、NO側のダミーの処理Qは実行されず、難読化後の制御フローは、元の処理Pと等価である。
ここでは、恒偽の分岐が用いられ、条件分岐のYESの側には、ダミーの処理Qが割り当てられ、条件分岐のNOの側には、元の処理Pが割り当てられる。
条件分岐での判定は常にNOとなるため、YES側のダミーの処理Qは実行されず、難読化後の制御フローは、元の処理Pと等価である。
ここでは、不定の分岐が用いられ、条件分岐のYESの側には、元の処理Pと等価な処理P’が割り当てられ、条件分岐のNOの側にも、元の処理Pと等価な処理P’’が割り当てられる。ここで、P’及びP’’は、Pと等価な処理である。
条件分岐での判定は、YESの場合とNOの場合とがあり、P’又はP’’のいずれかの処理が実行される。
これにより、難読化装置1は、ソフトウェアの制御フローを、実行されないダミーの処理と本来の処理とに分岐させ、解析を難しくできる。さらに、いずれのパターンの条件分岐が挿入されたのかが判別され難いため、ソフトウェアのソースコード及び実行プログラムの解析がより難しくなる。
10 制御部
11 生成部
12 挿入部
20 記憶部
Claims (7)
- パラメータに応じて復号に成功する確率が可変となる暗号化方式に対して、前記確率が第1閾値以上となる第1パラメータを設定した暗号化処理及び復号処理の第1コード、並びに前記確率が第2閾値未満となる第2パラメータを設定した暗号化処理及び復号処理の第2コードを生成する生成部と、
ソフトウェアの制御フローに、平文に対して前記第1コード又は前記第2コードにより暗号化処理後に復号処理を行い、前記平文が復元されたか否かを判定する条件分岐を挿入し、当該条件分岐のうち、一方にダミーの処理を割り当てる挿入部と、を備える難読化装置。 - 前記生成部は、前記確率が第2閾値以上、第1閾値未満となる第3パラメータを設定した暗号化処理及び復号処理の第3コードを生成し、
前記挿入部は、平文に対して前記第1コード、前記第2コード又は前記第3コードにより暗号化処理後に復号処理を行い、前記平文が復元されたか否かを判定する条件分岐を挿入し、前記第3コードを用いた条件分岐を挿入した場合には、当該条件分岐の双方に等価の処理を割り当てる請求項1に記載の難読化装置。 - 前記生成部は、前記パラメータをランダムに決定する請求項1又は請求項2に記載の難読化装置。
- 前記挿入部は、ランダムに条件分岐のコードを選択する請求項1から請求項3のいずれかに記載の難読化装置。
- 前記暗号化方式は、LWE型格子暗号方式である請求項1から請求項4のいずれかに記載の難読化装置。
- パラメータに応じて復号に成功する確率が可変となる暗号化方式に対して、前記確率が第1閾値以上となる第1パラメータを設定した暗号化処理及び復号処理の第1コード、並びに前記確率が第2閾値未満となる第2パラメータを設定した暗号化処理及び復号処理の第2コードを生成する生成ステップと、
ソフトウェアの制御フローに、平文に対して前記第1コード又は前記第2コードにより暗号化処理後に復号処理を行い、前記平文が復元されたか否かを判定する条件分岐を挿入し、当該条件分岐のうち、一方にダミーの処理を割り当てる挿入ステップと、をコンピュータが実行する難読化方法。 - パラメータに応じて復号に成功する確率が可変となる暗号化方式に対して、前記確率が第1閾値以上となる第1パラメータを設定した暗号化処理及び復号処理の第1コード、並びに前記確率が第2閾値未満となる第2パラメータを設定した暗号化処理及び復号処理の第2コードを生成する生成ステップと、
ソフトウェアの制御フローに、平文に対して前記第1コード又は前記第2コードにより暗号化処理後に復号処理を行い、前記平文が復元されたか否かを判定する条件分岐を挿入し、当該条件分岐のうち、一方にダミーの処理を割り当てる挿入ステップと、をコンピュータに実行させるための難読化プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016249408A JP6632962B2 (ja) | 2016-12-22 | 2016-12-22 | 難読化装置、難読化方法及び難読化プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016249408A JP6632962B2 (ja) | 2016-12-22 | 2016-12-22 | 難読化装置、難読化方法及び難読化プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018106260A true JP2018106260A (ja) | 2018-07-05 |
JP6632962B2 JP6632962B2 (ja) | 2020-01-22 |
Family
ID=62787069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016249408A Expired - Fee Related JP6632962B2 (ja) | 2016-12-22 | 2016-12-22 | 難読化装置、難読化方法及び難読化プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6632962B2 (ja) |
-
2016
- 2016-12-22 JP JP2016249408A patent/JP6632962B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP6632962B2 (ja) | 2020-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113765657B (zh) | 一种密钥数据处理方法、装置及服务器 | |
US10180824B2 (en) | Computing device comprising a table network | |
US11569978B2 (en) | Encrypting and decrypting information | |
CN111984978B (zh) | 一种高扩展性密码加密存储方法 | |
KR102397579B1 (ko) | 부채널 분석 방지를 위한 화이트박스 암호 방법 및 장치 | |
CN111066077B (zh) | 加密装置、加密方法、解密装置以及解密方法 | |
US20190005233A1 (en) | Secure code optimization method and system | |
JP2008176193A (ja) | 秘匿関数計算方法及び装置、並びにプログラム | |
EP2960891B1 (en) | Method for introducing dependence of white-box implementationon a set of strings | |
Gürfidan et al. | Blockchain-based music wallet for copyright protection in audio files | |
CN105765896B (zh) | 用于表格网络的迭代应用的计算设备 | |
JP5992651B2 (ja) | 暗号化方法、プログラム、および、システム | |
EP2286610B1 (en) | Techniques for peforming symmetric cryptography | |
JP2020034662A (ja) | Idベースハッシュ証明系構成装置、idベース暗号装置、idベースハッシュ証明系構成方法及びプログラム | |
JP7079711B2 (ja) | 変換装置、変換方法、変換プログラム及び難読プログラム | |
US20150372989A1 (en) | Method for introducing dependence of white-box implementation on a set of strings | |
JP6499323B2 (ja) | 暗号化された値での計算 | |
KR102045843B1 (ko) | 블록 암호화 처리 방법 및 장치 | |
JP6632962B2 (ja) | 難読化装置、難読化方法及び難読化プログラム | |
Fahrianto et al. | Encrypted SMS application on Android with combination of caesar cipher and vigenere algorithm | |
CN112784292B (zh) | 一种配置文件的处理方法和装置 | |
KR102083415B1 (ko) | 암호화 파일에 대한 복호화 장치 및 방법 | |
JP6904417B2 (ja) | 乱数算出装置、乱数算出方法、暗号装置、及び、乱数算出プログラム | |
US20230085577A1 (en) | Secured performance of an elliptic curve cryptographic process | |
JP7073093B2 (ja) | 設計装置、設計方法及び設計プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181221 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191025 |
|
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: 20191126 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191211 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6632962 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |