JP2009288616A - Secret sharing method, program and device - Google Patents
Secret sharing method, program and device Download PDFInfo
- Publication number
- JP2009288616A JP2009288616A JP2008142332A JP2008142332A JP2009288616A JP 2009288616 A JP2009288616 A JP 2009288616A JP 2008142332 A JP2008142332 A JP 2008142332A JP 2008142332 A JP2008142332 A JP 2008142332A JP 2009288616 A JP2009288616 A JP 2009288616A
- Authority
- JP
- Japan
- Prior art keywords
- data
- random number
- secret sharing
- divided
- different
- 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
本発明は、電子情報を守秘すると共に不正な利用を防止するための秘密分散方法、プログラム、及び装置に関する。 The present invention relates to a secret sharing method, program, and apparatus for protecting electronic information and preventing unauthorized use.
昨今、デジタルデータ利用における情報セキュリティ技術の重要性が指摘されており、その基盤技術の一つとして暗号技術がある。暗号技術は、守秘対象となるデータ(平文)に、秘密裏に保管される暗号鍵に基づく変換(暗号化)を施して暗号文を得、この暗号文からは、暗号鍵なしに平文を再現することが困難であることを安全性の根拠としている。暗号方式の安全性は、暗号鍵なしに暗号文から平文を得ることの困難性を評価尺度とすることが多く、具体的には暗号方式が用いる暗号鍵のビット長(鍵長)を用いている。例として、鍵長が128ビットであれば、暗号文から暗号鍵なしに平文を再現するには、2の128乗(2128)通りの暗号鍵を候補とした総当り試行での暗号演算が必要となり、この試行に要する演算時間が、その時点で入手可能な演算器の能力をもってしても現実的でない場合に、その暗号方式は計算量的に安全であるとされる。 Recently, the importance of information security technology in the use of digital data has been pointed out, and cryptographic technology is one of the basic technologies. Crypto technology obtains ciphertext by converting (encrypting) data that is subject to confidentiality (plaintext) based on an encryption key that is stored secretly, and then reproducing the plaintext without the encryption key. It is the basis of safety that it is difficult to do. The security of cryptosystems is often evaluated using the difficulty of obtaining plaintext from ciphertext without an encryption key. Specifically, using the bit length (key length) of the encryption key used by the cryptosystem Yes. For example, if the key length is 128 bits, in order to reproduce the plaintext from the ciphertext without the encryption key, the cryptographic operation in the round-robin trial with 2 128 (2 128 ) encryption keys as candidates is performed. If the computation time required for this trial is not realistic even with the capability of the computing unit available at that time, the cryptographic method is considered to be computationally safe.
ここで、もう一つの情報セキュリティ基盤と目される技術として秘密分散技術がある。秘密分散技術とは、守秘対象となるデータを複数に分割すると共に暗号化などの処理を施すものであり、分割されたデータ片を定められた数以上集めると容易に元データを復元可能であるが、定められた数以下では元データの復元は困難であるという性質を持つものである。 Here, there is a secret sharing technique as another information security infrastructure. Secret sharing technology is to divide the data to be kept secret into multiple pieces and perform processing such as encryption, and if the divided data pieces are collected more than a predetermined number, the original data can be easily restored However, it has the property that it is difficult to restore the original data below a predetermined number.
このような秘密分散技術の一つとして、特許文献1に開示される分散データ生成技術がある。
As one of such secret sharing techniques, there is a distributed data generation technique disclosed in
特許文献1によれば、二分割されたデータ片の一片から元データ全体を得ることが不可能という、単なる暗号方式では得られない付加的な安全の向上が実現されている。しかし、分割されたデータ片の一片から得られる情報が部分的であるという利点はあるものの、安全性の根拠は暗号処理であることから、データの不正な解読に対する耐性を示す尺度である計算量的な安全強度は従来の暗号方式と同様である。又、特許文献1においては、分割されたデータ片の一片から元データ全体を得ることは不可能であるとするが、データ分割位置が単純な等分割から著しく偏った場合が考慮されていない。分割サイズの比が9対1であった場合には、大きなデータ片の暗号解読が成功した際に、元データの90%が得られることになる。データのフォーマットによっては、例えば、単純なテキストデータであれば得られる文脈から、この90%の部分から全体データの推測が可能となる。ここで、データの秘密分散保管においては、データ片の等分割が、望ましい分割サイズであるとは限らない。例えば、ハードディスクなどを用いた大容量記憶装置と、フラッシュメモリなどを用いた小容量記憶装置の二者間で秘密分散する場合には、データを大小の大きく偏ったサイズに不等分割し、大片を大容量記憶装置に、小片を小容量記憶装置に、保管する必要がある。この場合には、データを不等サイズに分割した際にも安全性の劣化を防止することが課題となる。
According to
以上より、本発明の課題は、データを不等サイズに分割した際にも安全性の劣化を防止する秘密分散方法、プログラム、及び装置を提供することにある。 As described above, an object of the present invention is to provide a secret sharing method, program, and apparatus that prevent deterioration of security even when data is divided into unequal sizes.
上記課題を解決するために、本発明は、データを二分割して二つのデータ片を得、二分割されたデータの各々他方を由来とするデータを擬似乱数生成器の乱数生成元として用いた複数の異なる擬似乱数列によって、それぞれのデータを多重に暗号化する秘密分散方法、プログラム、及び装置である。ここで、他方を由来とするデータを乱数生成元とするということは、一方のデータの暗号化のために他方のデータを基にしたデータを乱数生成元として互いに(タスキがけの関係で)使用することである。 In order to solve the above problems, the present invention divides data into two pieces to obtain two data pieces, and uses data derived from the other of the two pieces of divided data as the random number generator of the pseudo random number generator. A secret sharing method, program, and apparatus that multiplexly encrypt each data with a plurality of different pseudorandom number sequences. Here, using the data derived from the other as the random number generator means that the data based on the other data is used as the random number generator for mutual encryption (in relation to the task). It is to be.
本発明の具体的な態様は次のような秘密分散方法、装置及びプログラムである。 A specific aspect of the present invention is the following secret sharing method, apparatus, and program.
データを二分割し、二分割した一方のデータを基にして第1の乱数の種を生成し、第1の乱数の種を用いて第1の複数の異なる擬似乱数列を生成し、第1の複数の異なる擬似乱数列を用いて、二分割した他方のデータを多重に暗号化し、他方のデータを基にして第2の乱数の種を生成し、第2の乱数の種を用いて第2の複数の異なる擬似乱数列を生成し、第2の複数の異なる擬似乱数列を用いて、一方のデータを多重に暗号化する秘密分散方法、装置及びプログラムである。 The data is divided into two, a first random number seed is generated based on one of the two divided data, a first plurality of different pseudo-random number sequences are generated using the first random number seed, Using the plurality of different pseudo-random number sequences, the other divided data is encrypted in multiple, a second random number seed is generated based on the other data, and the second random number seed is used to generate the second random number seed. A secret sharing method, apparatus, and program for generating a plurality of different pseudorandom number sequences and encrypting one data in a multiplex manner using a second plurality of different pseudorandom number sequences.
本発明の望ましい他の態様は、他方のデータの暗号化は、他方のデータと第1の複数の異なる擬似乱数列とを順にビット毎の排他的論理和を求め、一方のデータの暗号化は、一方のデータと第2の複数の異なる擬似乱数列とを順にビット毎の排他的論理和を求める。 According to another desirable aspect of the present invention, the encryption of the other data is performed by obtaining an exclusive OR for each bit of the other data and the first plurality of different pseudo-random number sequences in order. Then, an exclusive OR for each bit of the one data and the second plurality of different pseudo random number sequences is obtained in order.
本発明の望ましいさらに他の態様は、情報処理装置は、暗号化した一方及び他方のデータを、互いに異なる記憶装置に格納する。 In still another desirable aspect of the present invention, the information processing apparatus stores the encrypted one and other data in different storage devices.
本発明のさらに他の態様は、暗号化にブロック暗号器を用いる。 Yet another aspect of the present invention uses a block cipher for encryption.
本発明によれば、データを不等サイズに分割した際にも安全性の劣化を防止可能な秘密分散が実現できる。 According to the present invention, it is possible to realize secret sharing that can prevent deterioration of security even when data is divided into unequal sizes.
本発明を実施するための最良の形態を実施例1〜実施例3により以下に説明する。 The best mode for carrying out the present invention will be described below with reference to Examples 1 to 3.
本実施例について、図1〜図11を用いて説明する。図1に、本実施例に係る情報処理装置(コンピュータ)の概略構成を示す。情報処理装置101は、バス107で接続したCPU102、揮発性記憶装置103、不揮発性記憶装置104、及び外部不揮発性記憶媒体制御装置106と、外部不揮発性記憶媒体制御装置106に接続し、その入出力を制御される外部不揮発性記憶媒体105とを有する。
The present embodiment will be described with reference to FIGS. FIG. 1 shows a schematic configuration of an information processing apparatus (computer) according to the present embodiment. The
102は、中央演算処理装置(以下、CPUとする)である。CPU102は、ソフトウェアコードを読み込み、定められた処理を実行する。103は、CPU102が演算処理を行なう際にワーク領域として用いる、SRAM、SDRAMなどの揮発性記憶装置である。104は、CPU102が行なうべき処理が記述されたソフトウェアコード、例えば、OSやアプリケーション、データを保管するための、フラッシュメモリ、ハードディスクなどの不揮発性記憶装置である。105は、例えばフラッシュメモリ、ハードディスクなどの不揮発性記憶媒体を用いた、情報装置101と接続、分離が可能な外部不揮発性記憶媒体である。106は、情報装置101、外部不揮発性記憶媒体105間を接続し、データのやり取りを制御する外部不揮発性記憶媒体制御装置である。107は、CPU102、揮発性記憶装置103、不揮発性記憶装置104、外部不揮発性記憶媒体制御装置106などの情報処理装置101を構成する各機能ブロック間で命令、データをやり取りするための命令、データバス線(以下、データバス)である。各装置の本実施例における動作は、以下、必要に応じて説明する。
尚、構成要素102から107は論理的構成を示し、必ずしも物理的に図と同一構成である必要はない。又、情報処理装置101で実行される秘密分散処理は、必ずしもCPU102と揮発性記憶装置103、不揮発性記憶装置104に保管されるプログラムによる実装とするする必要はなく、例えば、不揮発性記憶装置104や外部不揮発性記憶媒体制御装置106内に設ける、図示されていない専用のハードウェア、又は、図示されていない独立したCPUと、メモリに保管されるプログラムによる実装としてもよく、物理的な構成方法は問わない。さらに本実施形態では、具体例の一つとして情報処理装置101を示したが、後述する乱数発生器や暗号器、暗号器を構成する排他論理和回路などの装置や回路による構成でも良いことは以下の説明から理解される。
Note that the
図2は、本実施例に係る秘密分散方法のデータ分割動作の概要フローチャートであり、図3は、本実施例に係る秘密分散方法のデータ分割動作のデータ構造概要図である。図3中、ステップ201から205は、図2のフローチャートに示した処理ステップを示す。図2及び図3を参照して、以下説明する。
FIG. 2 is a schematic flowchart of the data division operation of the secret sharing method according to the present embodiment, and FIG. 3 is a schematic diagram of the data structure of the data division operation of the secret sharing method according to the present embodiment. In FIG. 3,
情報処理装置101は、秘密分散処理開始指示に従い、小片サイズによる調整を行なう(ステップ201)。元データをメッセージMとし、このメッセージMの長さをmLenバイトとする。メッセージMを大小2片に分割し、その分割サイズを大片BLenバイト、小片SLenバイトとする。ここで、小片サイズの最大値D、例えばD={64,128,256}を予め定めておき、SLenが、小片サイズの最大値D以下か否かを確認する。SLenが小片サイズの最大値D以下であれば、mLen−SLenによりBLenの値を求める。又、n=SLen/16を求める。
The
次に、メッセージMの先頭BLenバイト(大片)をSLenバイト毎に分割し、その余りをαバイトとするように、ブロックに分割する(ステップ202)。剰余値によるバイトシャッフル又はビットシャッフルによって、乱数Seed(乱数の種)の偏り対策を行なう(ステップ203)。擬似乱数生成器Eを多段に使用し,データを攪拌(暗号化)したデータ大片の生成する(ステップ204)。元データを復元するために必要な暗号化したデータ小片の生成を行なう(205)。 Next, the first BLen byte (large piece) of the message M is divided into SLen bytes and divided into blocks so that the remainder is α bytes (step 202). Measures for biasing random numbers Seed (random number seeds) are performed by byte shuffling or bit shuffling based on the remainder value (step 203). The pseudo random number generator E is used in multiple stages to generate a large piece of data obtained by stirring (encrypting) the data (step 204). An encrypted data piece necessary for restoring the original data is generated (205).
図4〜図7は、図3に示す概要のデータ構造詳細図である。図中、ステップ201〜ステップ205は、図2のフローチャートに示した処理ステップを示す。 4 to 7 are detailed data structure diagrams of the outline shown in FIG. In the figure, steps 201 to 205 indicate the processing steps shown in the flowchart of FIG.
図4を用いて、図2のステップ201〜ステップ203の処理詳細を説明する。処理対象の元データであるメッセージM、小片サイズSLen値を所与とする。SLen値は16の倍数とし、SLen=16nで表す。nは自然数とする。すなわち、SLenバイトのデータは16バイト単位にn分割が可能である。メッセージMの長さをmLenとする。大片サイズBLen=mLen−SLenを算出する(ステップ201)。
Details of processing in
以下の手順でメッセージMの分割を行なう(ステップ202)。メッセージMの先頭からSLenバイトずつ、データを分割していき、各々をメッセージM0、M1、・・・、としていく。メッセージMがSLenバイトの倍数でない場合、順に分割していくと、最後にデータ長がSLenバイトに満たない分割データが生じる。ここで、メッセージMをm分割した際に、最後の分割メッセージMm−1をSLenバイトとし、最後から2番目の分割メッセージMm−2をSLenバイトに満たない分割データとするように分割する。分割メッセージMm−2の長さをαバイトとする。図4においては、メッセージMを5分割(m=5)する場合を示しており、分割メッセージはM0〜M4であり、M3の長さがαバイトである。 The message M is divided in the following procedure (step 202). The data is divided by SLen bytes from the head of the message M, and each of them is set as a message M0, M1,. When the message M is not a multiple of SLen bytes, when data is divided sequentially, finally, divided data whose data length is less than SLen bytes is generated. Here, when the message M is divided into m, the last divided message Mm-1 is divided into SLen bytes, and the second divided message Mm-2 from the last is divided into pieces of divided data less than SLen bytes. The length of the divided message Mm-2 is α bytes. FIG. 4 shows a case where the message M is divided into five (m = 5), the divided messages are M0 to M4, and the length of M3 is α bytes.
分割メッセージM0〜Mm−1から、予め定めた間隔及び順序で、剰余値として定めた数バイト又は数ビットのデータを抜き取っていき(抜き取ったデータを図中にハッチングで示す。)、残ったデータに対し、データを抜いた隙間を詰める形で新しいデータ列を生成する(ステップ203)。抜き取ったデータは、先に生成した新しいデータ列の後ろに、抜き取った順に並べていく。生成された新しいデータ列をM’とし、データ列M’を、先のステップ202と同様の手順で分割し、分割メッセージM0’〜Mm−1’を得る。図4においては、分割メッセージはM0’〜M4’である。図4には、M4’が抜き取ったデータによる分割データのように図示しているが、データを抜き取る所定間隔によって抜き取ったデータを並べた先頭位置は異なる。
From the divided messages M0 to Mm-1, data of several bytes or several bits determined as residue values are extracted at predetermined intervals and in order (the extracted data is indicated by hatching in the figure), and the remaining data. On the other hand, a new data string is generated so as to close the gap from which the data is removed (step 203). The extracted data is arranged in the order of extraction after the newly generated data string. The generated new data string is M ′, and the data string M ′ is divided in the same procedure as in the
図5を用いて、図2のステップ204の処理詳細を説明する。図中、E(501,502)は、128ビット鍵、128ビット初期値を入力とする擬似乱数生成器を示す。SLenバイトの最後の分割メッセージMm−1を16バイト毎に分割し、n個の16バイト単位メッセージMm−11’〜Mm−1n’を得る。n個の16バイト単位メッセージMm−11’〜Mm−1n’の各々を鍵入力、任意のn個の数値T1〜Tnの各々を初期値入力として、n個の擬似乱数生成器E(501)を動作させ、図示するように、これらn個の擬似乱数生成器E(501)から出力される、n個の擬似乱数の各々の先頭SLenバイトを各々S1〜Snとする。
Details of the processing in
これらのS1〜Snに対し、順にビット毎の排他的論理和を求め、得られる結果をSとする。このSはSLenバイトの長さのデータである。このSを先頭から、16バイト毎にn分割し、S1’〜Sn’を得る。これらのS1’〜Sn’を鍵入力、任意の数値IVを初期値入力として、n個の擬似乱数生成器E(502)を動作させ、図示するように、これらn個の擬似乱数生成器E(502)から出力される、n個の擬似乱数の先頭BLenバイトを各々R1〜Rnとする。次に、分割メッセージM0’〜Mm−2’及びR1〜Rnに対し、順にビット毎の排他的論理和を求め、得られる結果をC11とする。このC11は、BLenバイトの暗号化されたデータとなる。 For these S1 to Sn, an exclusive OR is obtained for each bit in order, and the obtained result is S. This S is data having a length of SLen bytes. This S is divided into n parts every 16 bytes from the top to obtain S1 'to Sn'. Using these S1 ′ to Sn ′ as key inputs and an arbitrary numerical value IV as an initial value input, n pseudorandom number generators E (502) are operated, and as shown in the figure, these n pseudorandom number generators E The first BLen bytes of the n pseudorandom numbers output from (502) are R1 to Rn, respectively. Next, for each of the divided messages M0 'to Mm-2' and R1 to Rn, an exclusive OR for each bit is obtained in order, and the obtained result is C11. This C11 is encrypted data of BLen bytes.
図6及び図7を用いて、ステップ205の処理詳細を説明する。図6において、分割メッセージMm−2’に対し、SLen−αバイト分のデータパディングを行ない、端数であった分割メッセージMm−2’の長さをSLenバイトにする。図6では、αバイトのM3’にゼロパディングしているがパディングする内容は任意である。分割メッセージMm−2’が端数ではなく、その長さがSLenバイトであれば、データパディングは不要である。また、データパディングした後の分割メッセージを改めてMm−2’とする。
Details of the processing in
次に、分割メッセージM0’〜Mm−2’に対し、順にビット毎の排他的論理和を求め、得られる結果をN0とする。N0はSLenバイトのデータである。更に、N0を16バイト毎にn分割し、n個の16バイト単位メッセージN01〜N0nを得る。 Next, for each of the divided messages M0 'to Mm-2', an exclusive OR for each bit is obtained in order, and the obtained result is N0. N0 is SLen byte data. Furthermore, N0 is divided into n every 16 bytes, and n 16-byte unit messages N01 to N0n are obtained.
次に、図7において、n個の16バイト単位メッセージN01〜N0nの各々を鍵入力、任意のn個の数値Tn+1〜T2nの各々を初期値入力として、n個の擬似乱数生成器E(701)を動作させ、図示するように、これらn個の擬似乱数生成器E(701)から出力される、n個の擬似乱数の、先頭SLenバイトを各々N1〜Nnとする。次に、これらのN1〜Nnに対し、順にビット毎の排他的論理和を求め、得られる結果をNとする。又、分割メッセージMm−1’(図示はM4)及びNに対し、ビット毎の排他的論理和を求め、得られる結果をC21とする。このC21はSLenバイトの長さの暗号化されたデータとなる。次に、任意の数値T2n+1を鍵入力、任意の数値IVを初期値入力として、擬似乱数生成器E(702)を動作させ、擬似乱数生成器E(702)から出力される擬似乱数の先頭4バイトをrとする。ステップ203において用いられる、分割メッセージM0〜Mm−2からデータを抜き取っていく単位となる、数バイト毎、数ビット毎などの数値を剰余値と呼ぶ。この剰余値を2バイトで表現し、BLen値、SLen値を各々1バイトで表現し、剰余値、BLen値、及びSLen値を結合した4バイトデータと、rに対し、ビット毎の排他的論理和を求め、得られる結果をr’とする。上記で得られた、C11、N、rを順に結合したものを分割データ大片W1とする。又、C21、S、r’ を順に結合したものを分割データ小片W2とする。
Next, in FIG. 7, n pseudo-random number generators E (701) are input by using n 16-byte unit messages N01 to N0n as key inputs and arbitrary n numerical values Tn + 1 to T2n as initial value inputs. As shown in the figure, the first SLen bytes of the n pseudorandom numbers output from the n pseudorandom number generators E (701) are denoted by N1 to Nn, respectively. Next, for each of N1 to Nn, an exclusive OR for each bit is obtained in order, and the result obtained is N. Further, an exclusive OR for each bit is obtained for the divided messages Mm-1 '(M4 in the figure) and N, and the obtained result is C21. This C21 is encrypted data having a length of SLen bytes. Next, the pseudo random number generator E (702) is operated with the arbitrary numerical value T2n + 1 as a key input and the arbitrary numerical value IV as an initial value input, and the first 4 of the pseudo random numbers output from the pseudo random number generator E (702). Let r be a byte. A numerical value, such as every several bytes or every several bits, used as a unit for extracting data from the divided messages M0 to Mm-2 used in
暗号化された分割データ大片W1は不揮発性記憶装置104に保管され、暗号化された分割データ小片W2は外部不揮発性記憶媒体105に保管される。
The encrypted divided data piece W1 is stored in the
メッセージMを分割する際に、Mm−2をデータ長がSLenバイトに満たない分割データとするよう最後の分割を行なうとしたが、データ長がSLenバイトに満たない分割データとするのは、M0〜Mm−1のいずれであっても構わない。M0〜Mm−1のどのデータが、図6に示した端数としてパディングの対象となるか、事前に決めておくか、又は、分割データに、M0〜Mm−1のどのデータがパディング対象なのかを示すデータを含めることで任意の位置を端数として処理すればよい。 When the message M is divided, the last division is performed so that Mm-2 is divided data whose data length is less than SLen bytes. However, the divided data whose data length is less than SLen bytes is M0. Any of -Mm-1 may be sufficient. Which data of M0 to Mm-1 is to be padded as a fraction shown in FIG. 6, is determined in advance, or which data of M0 to Mm-1 is to be padded in the divided data It is sufficient to process an arbitrary position as a fraction by including data indicating.
以上のデータ分割動作を以下に処理アルゴリズムとして纏めて示す。
元データから分割片を得るアルゴリズム:
入力:秘密情報(メッセージ)M,Mのバイト長mLen,小片サイズSLenバイト
出力:分散情報W1,W2
1. SLenが予め定められた小片サイズの最大値D(例えば,D={64,128,256}など)以下か否かを確認し,もし以下でなければその旨を表示して終了する.
2. BLen=mLen−SLen,n=SLen/16を計算する.
3. MをBLenバイト,SLenバイトに分割する(BLen/16の余りをαとする.).
4. Mの先頭BLenバイトデータ,最後尾のSLenバイトデータをそれぞれ16nバイト毎に分割する(Mの先頭BLenバイトデータの最後尾はαバイトとなる)
5. mLen/SLenより大の整数のうち,最小の整数を計算し、その値をmodulusとする.
6. 最上位バイトからmodulusバイトずつ区切り,上記区切った各ブロックに対して,上位(modulus−1)バイトを最上位側に,下位1バイトを最下位側に振り分ける(振り分け後のデータをM’とする.).
(図4を用いて説明したデータの抜き取りに関する処理(バイトシャッフル又はビットシャッフル)の具体例の一つとしてのバイトシャッフルである.)
7. M’=M0’||M1’||…||Mmodulus−1’とし,Mmodulus−1’=Mmodulus−1,1’||Mmodulus−1,2’||…||Mmodulus−1,n’と16バイトずつ区切る.
8. for i from 1 to n by +1 do
8.1. 16バイト乱数Tiを生成する.
8.2. 擬似乱数生成器EMmodulus−1,i’,Ti)により16nバイトの擬似乱数siを生成する.
9. S=(s1(EOR)s2(EOR)…(EOR)sn)を計算する.ここで(EOR)はビット毎の排他論理和を示す.
10. S=s1’||s2’||…||sn’と区切る.
11. for i from 1 to n by +1 do
11.1. E(si’,IV)によりBLenバイトの擬似乱数Riを生成する.
12. C11=((M0’||M1’||…||Mmodulus−2’)(EOR)R1(EOR)R2(EOR)…(EOR)Rn)を計算する.
13. N0=M0’(EOR)M1’(EOR)…(EOR)(Mmodulus−2’||(00…0))=N01||N02||…||N0nと区切る.
14. for i from 1 to n by +1 do
14.1. 16バイト乱数T2n+iを生成する.
14.2. E(N0i,T2n+i)により16nバイトの擬似乱数Niを生成する.
15. N=(N1(EOR)N2(EOR)…(EOR)Nn),C21=N(EOR)M4’を計算する.
16. 16バイト乱数T2n+1を生成する.
17. E(T2n+1,IV)により4バイトの擬似乱数rを生成する.
18. 剰余値と各割符片のバイト長|C11|,|C21|を4バイトデータに格納し,上記格納した4バイトデータと擬似乱数rとの排他的論理和をとった値をr’とする.
19. W1=(C11||N||r),W2=(C21||S||r’)とし,W1,W2を出力する。
The above data dividing operation is summarized below as a processing algorithm.
Algorithm for obtaining a segment from the original data:
Input: Secret information (message) M, M byte length mLen, small piece size SLen bytes Output: Distributed information W1, W2
1. Check whether SLen is equal to or smaller than a predetermined maximum value D (eg, D = {64, 128, 256}, etc.) of the small piece size.
2. Calculate BLen = mLen−SLen, n = SLen / 16.
3. Divide M into BLen bytes and SLen bytes (the remainder of BLen / 16 is α).
4). The first BLen byte data and the last SLen byte data of M are divided every 16n bytes (the last BLen byte data of M is α bytes).
5. The smallest integer among the integers greater than mLen / SLen is calculated, and the value is set as modulus.
6). Divide modulus bytes from the most significant byte, and distribute the upper (modulus-1) byte to the most significant side and the lower 1 byte to the least significant side for each of the divided blocks (the data after the distribution is M ′) .).
(This is byte shuffle as one specific example of the processing (byte shuffle or bit shuffle) related to data extraction described with reference to FIG. 4.)
7). M ′ = M0 ′ || M1 ′ || ... || Mmodulus-1 ′, and Mmodulus-1 ′ = Mmodulus-1,1 ′ || And 16 bytes.
8). for i from 1 to n by +1 do
8.1. A 16-byte random number Ti is generated.
8.2. A pseudorandom number generator EMmodulus-1, i ′, Ti) generates a 16n-byte pseudorandom number si.
9. S = (s1 (EOR) s2 (EOR)... (EOR) sn) is calculated. Here, (EOR) indicates a bitwise exclusive OR.
10. S = s1 '|| s2' || ... || sn '.
11. for i from 1 to n by +1 do
11.1. A pseudorandom number Ri of BLen bytes is generated by E (si ′, IV).
12 C11 = ((M0 ′ || M1 ′ || ... || Mmodulus-2 ′) (EOR) R1 (EOR) R2 (EOR)... (EOR) Rn) is calculated.
13. N0 = M0 ′ (EOR) M1 ′ (EOR)... (EOR) (Mmodulus-2 ′ || (00... 0)) = N01 || N02 || ... || N0.
14 for i from 1 to n by +1 do
14.1. A 16-byte random number T2n + i is generated.
14.2. A pseudo-random number Ni of 16n bytes is generated by E (N0i, T2n + i).
15. N = (N1 (EOR) N2 (EOR)... (EOR) Nn), C21 = N (EOR) M4 ′ is calculated.
16. A 16-byte random number T2n + 1 is generated.
17. A 4-byte pseudo-random number r is generated by E (T2n + 1, IV).
18. The remainder value and the byte length of each tally fragment | C11 |, | C21 | are stored in 4-byte data, and a value obtained by exclusive ORing the stored 4-byte data and the pseudorandom number r is defined as r ′.
19. W1 = (C11 || N || r), W2 = (C21 || S || r '), and outputs W1 and W2.
次に、図8及び図9を用いて、本実施例に係る秘密分散方法のデータ復元の動作概要を説明する。図8は、本実施例に係る秘密分散方法のデータ復元動作の概要フローチャートであり、図9は、本実施例に係る秘密分散方法のデータ復元動作のデータ構造詳細図である。図9中、ステップ801〜804は、図8のフローチャートに示した処理ステップを示す。以下、図8及び図9を用いて説明する。
Next, an outline of data restoration operation of the secret sharing method according to the present embodiment will be described with reference to FIGS. FIG. 8 is a schematic flowchart of the data restoration operation of the secret sharing method according to this embodiment, and FIG. 9 is a detailed data structure diagram of the data restoration operation of the secret sharing method according to this embodiment. In FIG. 9,
情報処理装置101は、秘密分散処理開始指示に従い、分割データ大片W1、及び、分割データ小片W2を入力し、分割データ大片W1、及び、分割データ小片W2に含まれるデータを順に取り出す。先ず、W1、及び、W2の各々最後尾4バイトに当たるr及びr’を取り出し、r及びr’を対象として、ビット毎の排他的論理和を求めることで、剰余値、及びBLen値、及び、SLen値を得る。SLen値を認識することで、r’を取り出したW2の残りから、C21、及びSを取り出す。同様に、rを取り出したW1の残りから、C11、及びNを取り出す(ステップ801)。
The
取り出したN、及びC21を対象として、ビット毎の排他的論理和を求めることで、Mn−1’を得る(ステップ802)。 Mn-1 'is obtained by obtaining an exclusive OR for each bit for the extracted N and C21 (step 802).
取り出したSを16バイト毎に分割することで、16バイト単位メッセージS1’〜Sn’が得られ、これらn個の16バイト単位メッセージS1’〜Sn’を鍵入力、データ分割に用いたのと同一の数値IVを初期値入力として、n個の擬似乱数生成器Eを動作させ、これらn個の擬似乱数生成器Eから出力されるn個の擬似乱数の先頭BLenバイトから各々R1〜Rnが得られる。次に、取り出したC11、及び、R1〜Rnに対し、順にビット毎の排他的論理和を求めることで、M1’〜Mn−2’が得られる(ステップ803)。 By dividing the extracted S into 16-byte units, 16-byte unit messages S1 ′ to Sn ′ are obtained, and these n 16-byte unit messages S1 ′ to Sn ′ are used for key input and data division. Using the same numerical value IV as an initial value input, n pseudo random number generators E are operated, and R1 to Rn are respectively generated from the first BLen bytes of the n pseudo random numbers output from the n pseudo random number generators E. can get. Next, M1 'to Mn-2' are obtained by obtaining exclusive OR for each bit in order for the extracted C11 and R1 to Rn (step 803).
ステップ803で得られたM1’〜Mn−1’に対し、取り出した剰余値に従い、バイト、ビット毎の順序を入替えることでメッセージMが得られる(ステップ804)。 The message M is obtained by switching the order of each byte and bit in accordance with the extracted remainder value with respect to M1 'to Mn-1' obtained in step 803 (step 804).
上記手順により、不揮発性記憶装置104、及び外部不揮発性記憶媒体105に各々分割保管されていた、分割データ大片W1、及び、分割データ小片W2から、メッセージMを復元する。
By the above procedure, the message M is restored from the divided data large piece W1 and the divided data small piece W2 that are separately stored in the
以上のデータ復元動作を以下に処理アルゴリズムとして纏めて示す。
分割片から元データを復元するアルゴリズム:
入力:分散情報W1,W2
出力:秘密情報(メッセージ)M,Mのバイト長mLen,小片サイズSLenバイト
1. W1=(C11||N||r),W2=(C21||S||r’)と区切る(ここで,C11はBLenバイト,C21,N,SはSLenバイト,r,r’は4バイト).
2. r(EOR)r’を計算し,剰余値と各割符片のバイト長|C11|,|C21|を復元する.
3. Mmodulus−1’=C21(EOR)Nを計算する.
4. S=s1’||s2’||…||sn’と区切る(ここで,siは16バイト).
5. for i from 1 to n by +1 do
5.1. E(si’,IV)によりBLenバイトの擬似乱数Riを生成する.
6. (M0’||M1’||…||Mmodulus−2’)=C11(EOR)R1(EOR)R2(EOR)…(EOR)Rnを計算する.
7. M ’=M0’||M1’||…||Mmodulus−1’とし,ステップ2で求めた剰余値を用いて分散処理ステップ6の逆変換を行い,逆変換の結果Mを出力する。
The above data restoration operation is summarized below as a processing algorithm.
Algorithm to restore the original data from the segment:
Input: Distributed information W1, W2
Output: Secret information (message) M, M byte length mLen, small piece size SLen bytes W1 = (C11 || N || r), W2 = (C21 || S || r ′) (where C11 is a BLen byte, C21, N and S are SLen bytes, and r and r ′ are 4) Part-Time Job).
2. r (EOR) r ′ is calculated, and the remainder value and the byte length | C11 |, | C21 | of each tally fragment are restored.
3. Calculate Mmodulus-1 ′ = C21 (EOR) N.
4). S = s1 ′ || s2 ′ || ... | sn ′ (where si is 16 bytes).
5. for i from 1 to n by +1 do
5.1. A pseudorandom number Ri of BLen bytes is generated by E (si ′, IV).
6). (M0 ′ || M1 ′ ||... | Mmodulus-2 ′) = C11 (EOR) R1 (EOR) R2 (EOR)... (EOR) Rn is calculated.
7). M ′ = M0 ′ || M1 ′ ||... | Mmodulus-1 ′, the remainder value obtained in
図10は、本実施例に係る情報処理装置101のソフトウェア構成の概略図である。図中、APLは、不揮発性記憶装置104及び外部不揮発性記憶媒体105に保管される何らかのデータを取り扱うユーザアプリケーション1001である。アプリケーション1001の仕様は任意であり、例えば、図1に図示しない、キーボードやマウスの類の入力装置、表示装置などの出力装置を介して、本実施例に係る情報処理装置101のユーザとのやり取りを行なうものであってもよいし、図1に図示しない、何らかのセンサ装置の類の入力装置、ネットワークやシリアル通信などの何らかの通信装置を介して、他の機器類とのやり取りをおこなうものであってもよい。本実施例に係る秘密分散処理を行なう秘密分散処理部1002は、アプリケーション1001から見た場合に、ファイルシステムとして振舞うインタフェースを備えたファイルシステムインタフェース部1003と、ファイルシステムインタフェース部1003を介して、ユーザアプリケーション1001から入力するユーザデータ1009に対してデータ分割して下位層に出力する、又、下位層から入力する分割データから本来のユーザデータを復元し、ファイルシステムインタフェース部1003に対して出力する、データ分割、復元処理部1004とを有する。
FIG. 10 is a schematic diagram of a software configuration of the
秘密分散処理部1002の下層に、物理的な記憶装置を仮想化し、データの取り扱いを容易化する、所謂ファイルシステム1005を設ける。ファイルシステム1005の下層には、ファイルシステム1005の仮想化されたデータを、物理的な記憶装置が取り扱える形に変換するシステムソフトウェアであるデバイスドライバ層1006を設ける。デバイスドライバ層1006には、不揮発性記憶装置104に相当する物理記憶デバイス1007および外部不揮発性記憶媒体105に相当する物理記憶デバイス1008を接続する。データとして、ユーザアプリケーション1001が、物理的な記憶装置へ保管されていると認識するユーザデータ1009、物理記憶デバイス1007に保管される分割データ大片W1(1010)及び物理記憶デバイス1008に保管される分割データ小片W2(1011)を図示してある。
A so-called
秘密分散を用いない、従来の情報処理装置は、秘密分散処理部1002を有せず、ユーザアプリケーション1001が取り扱うユーザデータ1009は、ファイルシステム1005、及びデバイスドライバ層1006を介し、物理記憶デバイス1007の1010の位置に直接保管される。これに対し、秘密分散処理部1002は、上位層に対しては、ファイルシステムとして振舞い、データ分割、復元処理部1604が、メッセージMと、分割データ大片W1、及び分割データ小片W2との関係を把握し、ファイルシステム1005に対しては、分割データ大片W1、分割データ小片W2を独立した2つのデータ(ファイル)として取り扱う。以上により、ユーザアプリケーション1001に、秘密分散を利用していることを意識させない運用が可能である。
A conventional information processing apparatus that does not use secret sharing does not have the secret
以上から明らかなように、図10のAPL1001の階層からデバイスドライバ層1006は、一部分を図1に図示しないファームウエアによるが、揮発性記憶装置103及び/又は不揮発性記憶装置104に格納されるソフトウェアにより実現される。そのソフトウェアをCPU102が実行することにより、本実施例の動作を実現する。なお、情報処理装置は、本実施例の動作を実行する専用のハードウェアで実現しても良い。
As is clear from the above, the
図6及び図7に示したように、分割データ大片W1、分割データ小片W2に含まれる、メッセージMに対応する暗号文であるC11及びC21は、ある特定の鍵長の擬似乱数生成器による暗号化をn回繰り返し行なっている。これにより、鍵長をn倍化した効果が得られ、安全性が改善されている。これにより、メッセージMを単純な等分割ではなく、著しく偏って分割したとしても、データ大片から多くの情報が漏洩する危険性に対して、安全性を確保している。 As shown in FIGS. 6 and 7, the ciphertexts C11 and C21 corresponding to the message M included in the divided data large piece W1 and the divided data small piece W2 are encrypted by a pseudo random number generator having a specific key length. The process is repeated n times. Thereby, the effect of multiplying the key length by n is obtained, and the safety is improved. As a result, even if the message M is not divided into simple equal parts but divided in an extremely biased manner, safety is ensured against the risk of leaking a large amount of information from a large piece of data.
一般に、安全性の根拠として独立した真性乱数データの生成を必要とする。生成される乱数値は擬似乱数生成器への「種」入力として用いられることから、安全性に大きな影響を与えることになる。一般的に、外部的な悪意による制御が困難、且つ性質のよい乱数生成源を安価に得るのは困難であり、例えば半導体素子の熱雑音に基づく乱数生成器を専用に具備する半導体装置を用いるなどコスト要因となる場合がある。したがって、低コストでの秘密分散利用に際して、独立した乱数データの生成を不要とすることも課題である。この課題に対して、本実施例では、擬似乱数生成器Eの「種(Seed)」入力である鍵及び初期値として、メッセージMに由来するデータ、及び、任意の固定値を組み合わせて用いることで多様性を確保し、独立した真性乱数生成源を不要としており、装置実現の低コスト化に寄与している。 In general, it is necessary to generate independent genuine random number data as a basis for security. Since the generated random number value is used as a “seed” input to the pseudo-random number generator, it greatly affects the safety. In general, it is difficult to obtain a random number generation source that is difficult to control by external malicious intentions and has good properties. For example, a semiconductor device that has a dedicated random number generator based on thermal noise of a semiconductor element is used. It may be a cost factor. Therefore, it is also a problem that independent random number data need not be generated when secret sharing is used at low cost. In order to deal with this problem, in the present embodiment, the key that is the “seed” input of the pseudo random number generator E and the initial value are used in combination with the data derived from the message M and any fixed value. This ensures diversity and eliminates the need for an independent genuine random number generation source, contributing to the cost reduction of the device.
図5、図7において、擬似乱数生成器Eを、128ビット鍵、128ビット初期値を入力としたが、必ずしも、この鍵長に限定するものではなく、例えば、256ビット鍵を用いる乱数生成器を用いてもよい。詳細な説明は省略するが、その際には、小片サイズSLenを32の倍数とし、且つ、16バイト単位メッセージに代わって、32バイト単位メッセージを使うことでデータ分割及び復元が可能である。 5 and 7, the pseudo-random number generator E is input with a 128-bit key and a 128-bit initial value, but is not necessarily limited to this key length. For example, a random number generator using a 256-bit key May be used. Although detailed description is omitted, in this case, the data size can be divided and restored by setting the small piece size SLen to a multiple of 32 and using the 32-byte unit message instead of the 16-byte unit message.
図5、図7における擬似乱数生成器Eを、128ビット鍵、128ビット初期値を入力としつつ、小片サイズSLenを32の倍数とし、且つ、32バイト単位メッセージを使う構成としてもよい。この場合には、各々の32バイト単位メッセージを16バイトデータに二分割し、一方を128ビット鍵、128ビット初期値の擬似乱数生成器Eの鍵入力、他方を、任意の定数であるT1〜Tn、Tn+1〜T2n、IVの代わりの初期値入力として用いることが可能である。 The pseudo random number generator E in FIGS. 5 and 7 may be configured to use a 128-bit key and a 128-bit initial value as input, a small piece size SLen as a multiple of 32, and a 32-byte unit message. In this case, each 32-byte unit message is divided into 16-byte data, one is a 128-bit key, the key input of the 128-bit initial value pseudo-random number generator E, and the other is an arbitrary constant T1- It can be used as an initial value input instead of Tn, Tn + 1 to T2n, IV.
図5、図7において、Eを擬似乱数生成器としたが、このEをブロック暗号器としてもよい。図5におけるE501、502、及び図7におけるE701、702は、所謂カウンタモードのブロック暗号器を用いても構成できる。又、図5に示す構成は、図11のようにしてもよい。図11は、図5に示した本実施例に係る秘密分散方法のデータ分割動作のデータ構造詳細図の別形態である。図11において、E(1101)はCBCモードのブロック暗号器である。メッセージM’に対し、CBCモードのブロック暗号を施してC1を得、同様にC1に対し、CBCモードのブロック暗号を施してC2を得、以下繰り返して、最終的にC11を得る。図中、他の構成は図5と同一であり、説明は省略する。又、データ復元については図8及び図9を用いた説明と同様であるので、説明は省略する。 5 and 7, E is a pseudo random number generator, but E may be a block cipher. E501 and 502 in FIG. 5 and E701 and 702 in FIG. 7 can also be configured using a so-called counter mode block cipher. Further, the configuration shown in FIG. 5 may be as shown in FIG. FIG. 11 shows another form of the detailed data structure of the data division operation of the secret sharing method according to the present embodiment shown in FIG. In FIG. 11, E (1101) is a block cipher in the CBC mode. The message M ′ is subjected to CBC mode block cipher to obtain C1, and similarly, C1 is subjected to CBC mode block cipher to obtain C2, and the process is repeated to finally obtain C11. In the figure, other configurations are the same as those in FIG. Further, the data restoration is the same as that described with reference to FIGS.
以上、本実施例によれば、メッセージMを単純な等分割ではなく、著しく偏って分割したとしても、データ大片から多くの情報が漏洩する危険性を避けることができる。 As described above, according to the present embodiment, even if the message M is not divided into simple equal parts but divided in an extremely biased manner, it is possible to avoid a risk that a lot of information is leaked from the large data piece.
また本実施例によれば、専用の真性乱数生成器を具備することなく、安全な秘密分散が可能となることを特徴とする情報処理装置を実現可能である。 Further, according to the present embodiment, it is possible to realize an information processing apparatus characterized in that secure secret sharing is possible without providing a dedicated true random number generator.
本実施例を、実施例1と異なる部分を中心に説明する。 The present embodiment will be described with a focus on differences from the first embodiment.
図12は、本実施例に係る秘密分散方法のデータ分割動作の概要フローチャートである。 FIG. 12 is a schematic flowchart of the data division operation of the secret sharing method according to this embodiment.
情報処理装置101は、キーボードやマウスの類の入力装置を介して行なわれるユーザの指示に従い、小片サイズSLenを指定する(ステップ1201)。以下、ステップ201以下に従い、データ分割処理を実行する。ステップ201以下のデータ分割手順、及び、データ復元手順は、図3〜図9に示した実施例1と同様であり、説明は省略する。又、本実施例に係る情報処理装置のソフトウェア構成の概略についても図10に示した実施例1と同様であり、説明は省略する。
The
図13は、本実施例に係る秘密分散方法におけるユーザ操作画面の概略図である。例えば、プルダウンメニューのような形式1301で、小片サイズSLenを具体的に選択指定してもよいし、スクロールバーのような形式1302で、小片サイズSLenを大小直感的に指定してもよい。又、実施例1の説明で示したように、小片サイズは暗号化の繰り返し数と比例関係にある。したがって、小片サイズを直接指定する代わりに、暗号強度、ここでは暗号鍵長を指定1303することで、間接的に小片サイズを指定してもよい。
FIG. 13 is a schematic diagram of a user operation screen in the secret sharing method according to the present embodiment. For example, the small piece size SLen may be specifically selected and specified in a
このような構成により、本実施例に掛かる情報処理装置の不揮発性記憶媒体104、外部不揮発性記憶媒体105に記憶するデータの分割サイズをユーザが任意に決定することが可能となる。これにより、不揮発性記憶媒体104、外部不揮発性記憶媒体105の容量に応じて効率的なデータ分割が可能となると共に、任意のデータ毎にユーザが暗号化に用いる鍵長を任意に設定可能となることから、データの重要度に応じて、安全性の強弱を設定可能となる効果が得られる。
With such a configuration, the user can arbitrarily determine the division size of data stored in the
以上、本実施例によれば、記憶媒体の容量に応じた効率的なデータ分割、及びデータ毎の安全性強度設定が可能である。 As described above, according to this embodiment, it is possible to efficiently divide data according to the capacity of the storage medium and to set the safety strength for each data.
本実施例を、実施例1と異なる部分を中心に説明する。 The present embodiment will be described with a focus on differences from the first embodiment.
図14は、本実施例に係る秘密分散方法のデータ分割動作の概要フローチャートである。情報処理装置101は、ステップ201〜205に従い、データ分割処理を行なう。ステップ201〜205のデータ分割手順は、図3〜図7に示した実施例1と同様であり、説明は省略する。
FIG. 14 is a schematic flowchart of the data division operation of the secret sharing method according to this embodiment. The
次に、C11及びC21を対象にデータのランダム化を行ない、C11’及びC21’を得る。分割データ大片W1、分割データ小片W2の、C11及びC21をそれぞれC11’及びC21’で置き換えることで、最終的な分割データ大片W1、分割データ小片W2を得る(ステップ1401)。 Next, data is randomized for C11 and C21, and C11 'and C21' are obtained. By replacing C11 and C21 in the divided data large piece W1 and divided data small piece W2 with C11 'and C21', respectively, the final divided data large piece W1 and divided data small piece W2 are obtained (step 1401).
図15は、本実施例に係る秘密分散方法のデータ分割動作のデータ構造詳細図である。図中に、図14のフローチャートに示した処理ステップ1401を示す。BLenバイトの暗号化データC11,SLenバイトの暗号化データC21に対して、ステップ203に示したのと同様の手順により、データの抜き取り、及び、並べ替えを施し、C11’及びC21’を得る。データ抜き取りのバイト数又はビット数は、図7に示した剰余値に格納する。C11は、擬似乱数生成器Eから出力される乱数列のビット毎排他的論理和を繰り返すことで得られているが、C11’は、途中のデータを抜き取っていることから、剰余値を元にして正しいC11を復元することなしに擬似乱数生成器Eから出力される乱数列をそのままビット毎排他的論理和処理を行なっても、途中でデータと対応する適切な乱数値との位相ずれが生じ、正しい復号が行なわれない。これにより、暗号の攻撃耐性が向上する効果が得られる。
FIG. 15 is a detailed data structure diagram of the data dividing operation of the secret sharing method according to the present embodiment. In the figure, processing
尚、データ復元手順は、図8、及び図9に示した手順と概略同様であるが、図8のステップ802に先立ち、C11’及びC21’からC11及びC21を得る処理が必要である点が異なっている。 Note that the data restoration procedure is substantially the same as the procedure shown in FIGS. 8 and 9, but prior to step 802 in FIG. 8, a process for obtaining C11 and C21 from C11 ′ and C21 ′ is necessary. Is different.
以上、本実施例によれば、暗号の攻撃耐性が向上する。。 As described above, according to the present embodiment, the attack resistance of encryption is improved. .
本実施形態によれば、情報処理装置において、専用の真性乱数生成器を具備することなく、情報漏洩を防止し、安全にデータを保管する秘密分散が可能となる。 According to the present embodiment, the information processing apparatus does not include a dedicated true random number generator, and thus it is possible to prevent information leakage and perform secret sharing for safely storing data.
101:情報処理装置、102:CPU、103:揮発性記憶装置、104:不揮発性記憶装置、105:外部不揮発性記憶媒、106:外部不揮発性記憶媒体制御装置、107:データバス、1001:ユーザアプリケーション、1002:秘密分散処理部、1003:ファイルシステムインタフェース部、1004:データ分割、復元処理部、1005:ファイルシステム、1006:デバイスドライバ層、1007:物理記憶デバイス、1008:物理記憶デバイス、1009:ユーザデータ、1010:分割データ大片、1011:分割データ小片。 101: Information processing device, 102: CPU, 103: Volatile storage device, 104: Nonvolatile storage device, 105: External nonvolatile storage medium, 106: External nonvolatile storage medium control device, 107: Data bus, 1001: User Application, 1002: Secret sharing processing unit, 1003: File system interface unit, 1004: Data division, restoration processing unit, 1005: File system, 1006: Device driver layer, 1007: Physical storage device, 1008: Physical storage device, 1009: User data, 1010: large pieces of divided data, 1011: small pieces of divided data.
Claims (13)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008142332A JP5113630B2 (en) | 2008-05-30 | 2008-05-30 | Secret sharing method, program, and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008142332A JP5113630B2 (en) | 2008-05-30 | 2008-05-30 | Secret sharing method, program, and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009288616A true JP2009288616A (en) | 2009-12-10 |
JP5113630B2 JP5113630B2 (en) | 2013-01-09 |
Family
ID=41457866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008142332A Expired - Fee Related JP5113630B2 (en) | 2008-05-30 | 2008-05-30 | Secret sharing method, program, and apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5113630B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017040851A (en) * | 2015-08-21 | 2017-02-23 | 富士フイルム株式会社 | Secret distribution device, data restoration device, secret distribution method, data restoration method and control program therefor |
JP2019029761A (en) * | 2017-07-27 | 2019-02-21 | 京セラドキュメントソリューションズ株式会社 | Information processing apparatus and method for controlling information processing apparatus |
CN112242970A (en) * | 2019-07-16 | 2021-01-19 | 丁爱民 | Data segmentation encryption security reinforcing method and device |
CN116303308A (en) * | 2022-12-30 | 2023-06-23 | 北京海泰方圆科技股份有限公司 | Secret data sharing method and device, electronic equipment and storage medium |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1195984A (en) * | 1997-09-24 | 1999-04-09 | Nec Corp | Method and device for generating pseudo random number |
JP2003345243A (en) * | 2002-05-28 | 2003-12-03 | Ntt Me Corp | Convolution encryption method, convolution encryption system, and convolution encryption program |
JP2004147218A (en) * | 2002-10-25 | 2004-05-20 | Ntt Communications Kk | Data division management method and program |
JP2004213650A (en) * | 2002-12-19 | 2004-07-29 | Ntt Communications Kk | Data fragmentation method, data fragmentation device and computer program |
JP2007122336A (en) * | 2005-10-27 | 2007-05-17 | Kddi Corp | Method for distributed storage of data, terminal, and program |
JP2007243329A (en) * | 2006-03-06 | 2007-09-20 | Sharp Corp | Data processor and data recovery device |
-
2008
- 2008-05-30 JP JP2008142332A patent/JP5113630B2/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1195984A (en) * | 1997-09-24 | 1999-04-09 | Nec Corp | Method and device for generating pseudo random number |
JP2003345243A (en) * | 2002-05-28 | 2003-12-03 | Ntt Me Corp | Convolution encryption method, convolution encryption system, and convolution encryption program |
JP2004147218A (en) * | 2002-10-25 | 2004-05-20 | Ntt Communications Kk | Data division management method and program |
JP2004213650A (en) * | 2002-12-19 | 2004-07-29 | Ntt Communications Kk | Data fragmentation method, data fragmentation device and computer program |
JP2007122336A (en) * | 2005-10-27 | 2007-05-17 | Kddi Corp | Method for distributed storage of data, terminal, and program |
JP2007243329A (en) * | 2006-03-06 | 2007-09-20 | Sharp Corp | Data processor and data recovery device |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017040851A (en) * | 2015-08-21 | 2017-02-23 | 富士フイルム株式会社 | Secret distribution device, data restoration device, secret distribution method, data restoration method and control program therefor |
JP2019029761A (en) * | 2017-07-27 | 2019-02-21 | 京セラドキュメントソリューションズ株式会社 | Information processing apparatus and method for controlling information processing apparatus |
CN112242970A (en) * | 2019-07-16 | 2021-01-19 | 丁爱民 | Data segmentation encryption security reinforcing method and device |
CN112242970B (en) * | 2019-07-16 | 2022-09-02 | 丁爱民 | Data segmentation encryption security reinforcing method and device |
CN116303308A (en) * | 2022-12-30 | 2023-06-23 | 北京海泰方圆科技股份有限公司 | Secret data sharing method and device, electronic equipment and storage medium |
CN116303308B (en) * | 2022-12-30 | 2023-12-08 | 北京海泰方圆科技股份有限公司 | Secret data sharing method and device, electronic equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
JP5113630B2 (en) | 2013-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220141038A1 (en) | Method of rsa signature or decryption protected using a homomorphic encryption | |
JP5167348B2 (en) | Software encryption method, software decryption method, software encryption device, and software decryption device | |
EP2691906B1 (en) | Method and system for protecting execution of cryptographic hash functions | |
US8358781B2 (en) | Nonlinear feedback mode for block ciphers | |
JP6017501B2 (en) | Cryptosystem | |
TWI573039B (en) | Computing system and cryptography apparatus thereof and method for cryptography | |
JP6035459B2 (en) | ENCRYPTION DEVICE, DECRYPTION DEVICE, AND PROGRAM | |
US9515818B2 (en) | Multi-block cryptographic operation | |
JP5417092B2 (en) | Cryptography speeded up using encrypted attributes | |
JP2015158665A (en) | Variable-length block encrypting device and method for form storage encryption | |
TW201044334A (en) | Encryption device, encryption method, and computer program | |
JP6171649B2 (en) | ENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION METHOD, AND ENCRYPTION PROGRAM | |
JP5732429B2 (en) | Secret sharing system, data sharing device, data restoration device, secret sharing method, and program | |
JP5113630B2 (en) | Secret sharing method, program, and apparatus | |
US20210211270A1 (en) | Data processing device, method, and computer program | |
CN102622561A (en) | Enciphering and deciphering method for invoking data in software | |
Kapusta et al. | Circular AON: A very fast scheme to protect encrypted data against key exposure | |
KR101440680B1 (en) | Homomorphic Encryption and Decryption Method using Chinese Remainder Theorem and apparatus using the same | |
Salam et al. | ShiftMod cipher: A symmetrical cryptosystem scheme | |
CN111008837B (en) | Block chain account private key recovery method and device, computer equipment and storage medium | |
WO2021044465A1 (en) | Encrypting device, decrypting device, computer program, encryption method, decryption method, and data structure | |
JP4287397B2 (en) | Ciphertext generation apparatus, ciphertext decryption apparatus, ciphertext generation program, and ciphertext decryption program | |
JP6631989B2 (en) | Encryption device, control method, and program | |
JP6296589B2 (en) | Cryptographic processing system | |
WO2023135642A1 (en) | Encryption device, decryption device, decryptability verification device, cipher system, encryption method, and encryption program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100910 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120409 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120417 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120703 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120829 |
|
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: 20120918 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121012 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151019 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |