JP2009267470A - Disclosure restriction processing apparatus, data processing system, and program - Google Patents

Disclosure restriction processing apparatus, data processing system, and program Download PDF

Info

Publication number
JP2009267470A
JP2009267470A JP2008110995A JP2008110995A JP2009267470A JP 2009267470 A JP2009267470 A JP 2009267470A JP 2008110995 A JP2008110995 A JP 2008110995A JP 2008110995 A JP2008110995 A JP 2008110995A JP 2009267470 A JP2009267470 A JP 2009267470A
Authority
JP
Japan
Prior art keywords
digital data
signature
intermediate value
data
disclosure
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
JP2008110995A
Other languages
Japanese (ja)
Other versions
JP5268413B2 (en
Inventor
Mitsuhiro Hattori
充洋 服部
Takashi Ito
伊藤  隆
Tadashi Matsuda
規 松田
Takeshi Yoneda
健 米田
Hirosato Tsuji
宏郷 辻
Kazumi Saito
和美 齋藤
Hidenori Ota
英憲 太田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2008110995A priority Critical patent/JP5268413B2/en
Publication of JP2009267470A publication Critical patent/JP2009267470A/en
Application granted granted Critical
Publication of JP5268413B2 publication Critical patent/JP5268413B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To achieve a system which dispenses with data retransmission, and can restrict disclosure of an optional part when the restriction part is disclosed after a part of data is once restricted for disclosure. <P>SOLUTION: A masking device 102 inputs original data 105, a signature 106, and an initial value 107 from a signature device 101, divides the original data 105 into n blocks, generates n keys from the initial value 107 by a unidirectional operation, enciphers optional blocks using the n keys, and makes masked data 109, and outputs the masked data 109, the signature 106, and intermediate values 110 for enciphering of unencrypted blocks to a verification device 103. The verification device 103 generates keys from the intermediate values 110 by the unidirectional operation, makes all n blocks in an enciphered state using the generated keys, and compares them with data obtained from the signature 106. When disclosing the enciphered blocks, the masking device 102 outputs the intermediate values which can generates decoding keys of the enciphered blocks to the verification device 103. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、デジタルデータの少なくとも一部の開示を制限しながら、データの真正性を保証する技術に関する。   The present invention relates to a technique for guaranteeing the authenticity of data while restricting the disclosure of at least a part of digital data.

デジタルデータの真正性を保証する技術として、従来から電子署名技術が知られている(例えば、非特許文献1)。
一般の電子署名技術の場合、元のデジタルデータが1ビットでも改変されると、すべて改ざんとみなされる。
As a technique for guaranteeing the authenticity of digital data, an electronic signature technique is conventionally known (for example, Non-Patent Document 1).
In the case of a general electronic signature technique, if even one bit of original digital data is altered, it is regarded as tampering.

しかし、データによっては適切な変更が必要となる場合がある。
例えば、国などの行政機関が国民からの情報公開請求に基づいて資料を公開する場合、国家機密や防衛機密、あるいはプライバシーに関わる内容については秘匿した上で公開する必要があるが、これは適切な変更であり、本来であれば改ざんとみなされるべきではない。
そこでこのような適切な変更を許容する電子署名技術として、デジタルデータの部分的な秘匿、すなわち墨塗りを可能とする技術が開発されている(例えば、特許文献1、特許文献2)。
However, some data may require appropriate changes.
For example, when an administrative organization such as the national government publishes a document based on a request for information disclosure from the public, it is necessary to conceal the contents related to national secrets, defense secrets, or privacy, but this is appropriate. Change and should not be considered tampering.
Therefore, as an electronic signature technique that allows such an appropriate change, a technique that enables partial concealment of digital data, that is, a sanitization technique has been developed (for example, Patent Document 1 and Patent Document 2).

特許文献1においては、以下に述べる方式でデジタルデータに対する墨塗りを可能にしている。
署名者は、あらかじめデジタルデータをいくつかのブロックに分割し(分割された個々のブロックをデータブロックと呼ぶ)、各ブロックに乱数を割り当てた上で、乱数とデータブロックとの結合データのハッシュ値をブロックごとに計算し、全ハッシュ値の結合データに対して電子署名を発行する。
墨塗り者は、署名者からデジタルデータと乱数と電子署名を受け取ると、墨塗りをしたいブロックのデータと乱数をハッシュ値に置き換えて墨塗りデータを作成し、電子署名ととともに検証者に渡す。
検証者は、墨塗りされていないブロックのハッシュ値を計算し、全ハッシュ値の結合データを求め、それを用いて電子署名を検証する。
もし墨塗り以外の改ざんがされていなければ、検証者が計算した結合データと電子署名の中の結合データとが一致することから、改ざんなしと検証される。
以上のように、特許文献1においてはデータをハッシュ値に置き換えることにより墨塗りを実現している。
In Patent Document 1, digital data can be sanitized by the method described below.
The signer divides the digital data into several blocks in advance (each divided block is called a data block), assigns a random number to each block, and then the hash value of the combined data of the random number and the data block Is calculated for each block, and an electronic signature is issued for the combined data of all hash values.
When the sanitizer receives the digital data, the random number, and the electronic signature from the signer, the sanitizer replaces the data and random number of the block to be sanitized with a hash value to create sanitized data, and passes it along with the electronic signature to the verifier.
The verifier calculates a hash value of a block that is not painted, obtains combined data of all hash values, and verifies the electronic signature using the calculated combined data.
If tampering other than sanitization has not been performed, the combined data calculated by the verifier matches the combined data in the electronic signature, and therefore, it is verified that there has been no tampering.
As described above, in Patent Document 1, sanitization is realized by replacing data with a hash value.

特許文献2においては、以下に述べる方式でデジタルデータに対する墨塗りを可能にしている。
署名者は、まず一方向性関数をデジタルデータのビット長と同じ個数だけ直列に並べたものを用意する。
そして、それにシードを入力して、得られた各段の出力のハードコアビットとデジタルデータとの排他的論理和を計算することでデジタルデータを暗号化する。
そして、暗号化デジタルデータと、一方向性関数の最後の出力とを結合したデータに対して電子署名を発行する。
墨塗り者は、署名者からデジタルデータとシードと電子署名を受け取ると、署名者と同様に一方向性関数を使って、デジタルデータの先頭から途中までを暗号化した部分暗号化デジタルデータを作成する。
そして、残りの部分を暗号化するのに必要な一方向性関数の中間値を求め、部分暗号化デジタルデータと電子署名とともに検証者に渡す。検証者は、受け取った中間値を用いて残る部分を暗号化して暗号化デジタルデータを作成し、それを用いて電子署名を検証する。
もし墨塗り以外の改ざんがされていなければ、検証者が計算した暗号化デジタルデータと電子署名の中の暗号化デジタルデータとが一致することから、改ざんなしと検証される。
以上のように、特許文献2においてはデータを暗号化することにより墨塗りを実現している。
特開2005−51734号公報 特開2007−158984号公報 A. Menezes、 P. van Oorschot、 S. Vanstone著、 「Handbook of applied cryptography」、 CRC Press、 pp.425−488、 1996.
In Patent Document 2, it is possible to sanitize digital data by the method described below.
The signer first prepares one-way functions arranged in series in the same number as the bit length of the digital data.
Then, the seed is input thereto, and the digital data is encrypted by calculating the exclusive OR of the obtained hard core bits of the respective stages and the digital data.
Then, an electronic signature is issued for data obtained by combining the encrypted digital data and the final output of the one-way function.
When the sanitizer receives the digital data, seed, and electronic signature from the signer, it creates partially encrypted digital data by encrypting the first halfway through the digital data using a one-way function, just like the signer. To do.
Then, an intermediate value of the one-way function necessary for encrypting the remaining part is obtained and passed to the verifier together with the partially encrypted digital data and the electronic signature. The verifier encrypts the remaining portion using the received intermediate value to create encrypted digital data, and verifies the electronic signature using the encrypted digital data.
If no tampering other than sanitization has been performed, the encrypted digital data calculated by the verifier matches the encrypted digital data in the electronic signature, and therefore, it is verified that there has been no tampering.
As described above, in Patent Document 2, sanitization is realized by encrypting data.
JP 2005-51734 A JP 2007-158984 A A. Menezes, P.M. van Oorschot, S.V. Vanstone, "Handbook of applied cryptography", CRC Press, pp. 425-488, 1996.

特許文献1の墨塗り署名方式では、上述のようにデータをハッシュ値に置き換えることにより墨塗りを実現している。
このため、一旦墨塗りをしてしまうとその部分については元のデータに戻すことができない。墨塗り者が検証者に墨塗りデータを送付した後、墨塗り部分を開示する場合には、あらためて該当部分のデータを再送付しなければならない。
そのため、特に携帯電話や衛星通信などの狭帯域通信を利用する場合には、データの再送付により通信帯域を占有してしまうという課題がある。
In the sanitization signature method of Patent Document 1, sanitization is realized by replacing data with a hash value as described above.
For this reason, once sanitized, that portion cannot be restored to the original data. When the sanitizer sends the sanitized data to the verifier and discloses the sanitized portion, the data of the corresponding portion must be re-sent again.
Therefore, there is a problem that the communication band is occupied by re-sending data, particularly when using narrow-band communication such as a mobile phone or satellite communication.

また、特許文献2では、先頭から途中までを暗号化した部分暗号化データを生成するものであり、先頭から連続した領域しか墨塗りできないという課題がある。
つまり、デジタルデータの任意の領域を墨塗りすることができないという課題がある。
Further, in Patent Document 2, partial encrypted data encrypted from the beginning to the middle is generated, and there is a problem that only a continuous area from the beginning can be painted.
That is, there is a problem that an arbitrary area of digital data cannot be painted.

本発明は、上記の課題を解決することを主な目的の一つとし、墨塗り部分を開示する際にデータの再送付が不要で、また、任意の領域の墨塗りが可能な方式を提供することを目的の一つとする。
さらに、本発明は、墨塗り部分についての事後の開示の可否を制御できる方式を提供することを目的の一つとする。
One of the main objects of the present invention is to solve the above-mentioned problems, and provides a method that does not require re-sending of data when disclosing a sanitized portion and that can sanitize an arbitrary region. One of the purposes is to do.
Furthermore, it is an object of the present invention to provide a method capable of controlling the possibility of subsequent disclosure of a sanitized portion.

本発明に係る開示制限処理装置は、
デジタルデータに対する電子署名を生成する署名装置と、デジタルデータに対する電子署名を検証するとともに検証に成功したデジタルデータを表示する検証装置との間で、デジタルデータにおける開示を制限する処理を行う開示制限処理装置であって、
前記署名装置が管理するn(n≧2)個のパーツに分けることができるデジタルデータと、前記署名装置が生成した初期値と、前記署名装置が所定の演算手順に従って一方向性演算を行って前記初期値から生成したn個の鍵を用いて暗号化したデジタルデータのn個のパーツと一方向性演算を規定回数行った後に得られる終端値とに対して生成した電子署名とを入力するデータ入力部と、
入力した前記初期値に対して、前記署名装置と同じ演算手順にて一方向性演算を行ってn個の鍵を順序付けて生成する鍵生成部と、
前記デジタルデータを順序付けてn個のパーツに分け、n個のパーツのうちの1つ以上のパーツを対象パーツとして指定し、前記鍵生成部により生成されたn個の鍵のうち対応する順序の鍵を用いて各対象パーツに対して暗号化処理又は復号処理を行い、1つ以上のパーツが暗号化されている開示制限デジタルデータを生成する開示制限デジタルデータ生成部と、
前記鍵生成部によるn個の鍵の生成過程において導出される複数の中間値の中から、前記開示制限デジタルデータのパーツのうち暗号化されていない非暗号化パーツを前記検証装置が暗号化する際に用いる中間値を前記署名装置における演算手順に基づいて暗号用中間値として抽出する中間値抽出部と、
前記開示制限デジタルデータと、前記電子署名と、前記暗号用中間値とを出力するデータ出力部とを有することを特徴とする。
The disclosure restriction processing apparatus according to the present invention is:
Disclosure restriction processing for restricting disclosure in digital data between a signature device that generates an electronic signature for the digital data and a verification device that verifies the digital signature for the digital data and displays the digital data that has been successfully verified. A device,
Digital data that can be divided into n (n ≧ 2) parts managed by the signature device, an initial value generated by the signature device, and a one-way calculation performed by the signature device according to a predetermined calculation procedure. The digital signature generated for the n parts of the digital data encrypted using the n keys generated from the initial value and the terminal value obtained after performing the unidirectional calculation a prescribed number of times are input. A data input section;
A key generation unit that generates n keys in order by performing a one-way operation on the input initial value in the same operation procedure as the signature device;
The digital data is ordered and divided into n parts, one or more parts of the n parts are designated as target parts, and the corresponding order of the n keys generated by the key generation unit A disclosure restriction digital data generation unit that performs encryption processing or decryption processing on each target part using a key and generates disclosure restriction digital data in which one or more parts are encrypted;
The verification device encrypts unencrypted parts that are not encrypted among the parts of the disclosure-restricted digital data from among a plurality of intermediate values derived in the process of generating n keys by the key generation unit. An intermediate value extraction unit that extracts an intermediate value used as a cryptographic intermediate value based on a calculation procedure in the signature device;
A data output unit that outputs the disclosure-restricted digital data, the electronic signature, and the encryption intermediate value.

本発明によれば、署名装置が生成した初期値から署名装置と同じ演算手順にて一方向性演算を行ったn個の鍵を用いるので、デジタルデータのn個のパーツのうちの任意のパーツを暗号化された状態にすることができ、また、暗号化されているパーツの制限を解除する際に、復号に必要な中間値を送付すれば足り、デジタルデータ自体を送付する必要がない。   According to the present invention, n keys obtained by performing a one-way operation in the same calculation procedure as the signature device from the initial value generated by the signature device are used, and therefore any part of the n parts of the digital data is used. It is sufficient to send an intermediate value necessary for decryption when the restriction on the encrypted parts is released, and it is not necessary to send the digital data itself.

実施の形態1.
図1は、本実施の形態に係るデータ処理システムのシステム構成例と取り扱うデータの例の概略を表す図である。
Embodiment 1 FIG.
FIG. 1 is a diagram illustrating an outline of a system configuration example of a data processing system according to the present embodiment and an example of handled data.

図1において、署名装置101は、デジタルデータに対して電子署名(以下、単に署名とも言う)と初期値とを発行する装置である。
墨塗り装置102は、署名装置101から受け取ったデジタルデータに対して墨塗り(デジタルデータにおける開示を制限する処理)を実施し、墨塗りデータを作成するとともに、受け取った初期値を更新して中間値を生成する装置である。墨塗り装置102は、開示制限処理装置の例である。
検証装置103は、墨塗り装置102から受け取った墨塗りデータと署名と中間値とを用いて、墨塗りデータに対する署名を検証し、検証に成功したデジタルデータを表示する装置である。
ネットワーク104は、署名装置101、墨塗り装置102、および検証装置103の間でデータを送受信するための通信網である。
In FIG. 1, a signature device 101 is a device that issues an electronic signature (hereinafter also simply referred to as a signature) and an initial value for digital data.
The sanitizing apparatus 102 performs sanitization (processing for restricting disclosure in digital data) on the digital data received from the signature apparatus 101, creates sanitized data, and updates the received initial value to an intermediate value. A device that generates values. The sanitizing apparatus 102 is an example of a disclosure restriction processing apparatus.
The verification device 103 is a device that verifies the signature for the sanitizing data using the sanitizing data, the signature, and the intermediate value received from the sanitizing device 102 and displays the digital data that has been successfully verified.
The network 104 is a communication network for transmitting and receiving data between the signature device 101, the sanitizing device 102, and the verification device 103.

元データ105は、署名対象となるデジタルデータである。元データ105は、n(n≧2)個のパーツに分けることができる。本実施の形態では、パーツとして、各々が少なくとも1ビットのn個のブロックに分けることができるデジタルデータを用いる例を説明する。
署名106は、元データ105に対する電子署名である。
初期値107は、墨塗りに用いる鍵群を生成するための値であり、望ましくは乱数値である。
署名鍵108は、電子署名を発行するために用いる鍵であり、公開鍵暗号系における秘密鍵である。
墨塗りデータ109は、元データ105を元にして墨塗り装置102が一部または全部の領域の秘匿処理を施したデータである。墨塗りデータ109は、開示制限デジタルデータの例である。
中間値110は、墨塗り装置102において初期値107を更新して作成した値である。中間値110は、暗号化に用いられる暗号用中間値、復号に用いられる復号用中間値、終端値を導出するための終端値用中間値等がある。
検証鍵111は、電子署名を検証するために用いる鍵であり、公開鍵暗号系における公開鍵である。署名鍵108と検証鍵111は対になっている。
The original data 105 is digital data to be signed. The original data 105 can be divided into n (n ≧ 2) parts. In this embodiment, an example in which digital data that can be divided into n blocks each having at least 1 bit is used as a part will be described.
The signature 106 is an electronic signature for the original data 105.
The initial value 107 is a value for generating a key group used for sanitization, and is preferably a random value.
The signature key 108 is a key used for issuing an electronic signature, and is a secret key in a public key cryptosystem.
The sanitizing data 109 is data obtained by performing a concealing process on a part or all of the area by the sanitizing apparatus 102 based on the original data 105. The sanitizing data 109 is an example of disclosure limited digital data.
The intermediate value 110 is a value created by updating the initial value 107 in the sanitizing apparatus 102. The intermediate value 110 includes an encryption intermediate value used for encryption, a decryption intermediate value used for decryption, an end value intermediate value for deriving an end value, and the like.
The verification key 111 is a key used for verifying an electronic signature, and is a public key in a public key cryptosystem. The signature key 108 and the verification key 111 are paired.

なお、図1においては墨塗り装置102が1台である場合を示しているが、これは複数台あってもよいし、あるいは署名装置が墨塗り装置を兼ねていてもよい。
また、図1においては署名装置101、墨塗り装置102、および検証装置103がすべてネットワーク104を介して接続されている例を示しているが、これらは一部のみ接続されていてもよいし、全く接続されていなくてもよい。
接続されていない部分については、メモリカードなどの記憶媒体に必要なデータを格納して運べばよい。
Although FIG. 1 shows a case where there is one sanitizing device 102, there may be a plurality of devices, or a signature device may also serve as the sanitizing device.
FIG. 1 shows an example in which the signature device 101, the sanitizing device 102, and the verification device 103 are all connected via the network 104, but only a part of them may be connected. It may not be connected at all.
For the unconnected portion, necessary data may be stored in a storage medium such as a memory card and carried.

また、上記説明では署名鍵108および検証鍵111がそれぞれ公開鍵暗号系における秘密鍵および公開鍵である場合に関して述べたが、これらは秘密鍵暗号系における共通鍵であってもよい。この場合の電子署名はいわゆるMAC(Message Authentication Code)と呼ばれるものである。   In the above description, the case where the signature key 108 and the verification key 111 are the secret key and the public key in the public key cryptosystem, respectively, has been described, but these may be a common key in the secret key cryptosystem. The electronic signature in this case is a so-called MAC (Message Authentication Code).

なお、署名鍵108が公開鍵暗号系における秘密鍵の場合には、例えば署名装置101内の耐タンパ性のデバイスに格納し、漏洩や改ざんを防止することも望ましい。
署名鍵108および検証鍵111が共通鍵の場合は、両者をそれぞれ署名装置101および検証装置103内の耐タンパ性のデバイスに格納することも望ましい。
When the signature key 108 is a secret key in the public key cryptosystem, it is also desirable to store the signature key 108 in a tamper-resistant device in the signature apparatus 101, for example, to prevent leakage or tampering.
When the signature key 108 and the verification key 111 are common keys, it is also desirable to store both in the tamper-resistant device in the signature device 101 and the verification device 103, respectively.

図2は、署名装置101の内部構成例を表す図である。
図2において、データ入出力部201は、署名装置101へのデータの入力や、署名装置101からのデータの出力を行う。
ユーザ入力部202は、図示しないユーザからの操作を受け付ける。
表示部203は、ユーザに操作結果などの各種情報を表示する。
初期値生成部204は、墨塗りに用いる鍵群を生成するのに用いる乱数値を生成する。署名生成部205は、初期値生成部204で生成された初期値を用いて、デジタルデータに対する署名を生成する。
詳細は後述するが、署名生成部205は、所定の演算手順に従って一方向性演算を行って初期値から生成したn個の鍵を用いて暗号化した元データのn個のパーツと一方向性演算を規定回数行った後に得られる終端値とに対して電子署名を生成する。
FIG. 2 is a diagram illustrating an internal configuration example of the signature device 101.
In FIG. 2, the data input / output unit 201 inputs data to the signature device 101 and outputs data from the signature device 101.
The user input unit 202 receives an operation from a user (not shown).
The display unit 203 displays various information such as operation results to the user.
The initial value generation unit 204 generates a random value used to generate a key group used for sanitization. The signature generation unit 205 generates a signature for the digital data using the initial value generated by the initial value generation unit 204.
Although details will be described later, the signature generation unit 205 performs unidirectional calculation according to a predetermined calculation procedure and unidirectionality with n parts of the original data encrypted using n keys generated from initial values. An electronic signature is generated for the terminal value obtained after the calculation is performed a prescribed number of times.

図3は、墨塗り装置102の内部構成例を表す図である。
データ入出力部211は、墨塗り装置102へのデータの入力や、墨塗り装置102からのデータの出力を行う。
より具体的には、データ入出力部211は、署名装置101が管理する元データ105と、署名装置101が生成した初期値107と、署名装置101が生成した電子署名106を入力する。
また、データ入出力部211は、墨塗りデータ109と、電子署名106と、中間値110とを出力する。
データ入出力部211は、データ入力部及びデータ出力部の例である。
FIG. 3 is a diagram illustrating an internal configuration example of the sanitizing apparatus 102.
The data input / output unit 211 inputs data to the sanitizing apparatus 102 and outputs data from the sanitizing apparatus 102.
More specifically, the data input / output unit 211 inputs the original data 105 managed by the signature device 101, the initial value 107 generated by the signature device 101, and the electronic signature 106 generated by the signature device 101.
Further, the data input / output unit 211 outputs the sanitizing data 109, the electronic signature 106, and the intermediate value 110.
The data input / output unit 211 is an example of a data input unit and a data output unit.

ユーザ入力部212は、図示しないユーザからの操作を受け付ける。
表示部213は、ユーザに操作結果などの各種情報を表示する。
The user input unit 212 receives an operation from a user (not shown).
The display unit 213 displays various information such as operation results to the user.

墨塗り部214は、署名装置101から受け取ったデジタルデータに対して墨塗りを実施し墨塗りデータを作成するとともに、受け取った初期値を更新して中間値を生成する。
より具体的には、墨塗り部214は、入力した初期値107に対して、署名装置101と同じ演算手順にて一方向性演算を行ってn個の鍵を順序付けて生成する。
また、墨塗り部214は、入力した元データ105を順序付けてn個のブロックに分け、n個のブロックのうちの1つ以上のブロックを対象ブロック(対象パーツ)として指定し、生成したn個の鍵のうち対応する順序の鍵を用いて各対象ブロックに対して暗号化処理又は復号処理を行い、1つ以上のブロックが暗号化されている墨塗りデータ109を生成する。
また、n個の鍵の生成過程において導出される複数の中間値の中から、墨塗りデータ109のブロックのうち暗号化されていない非暗号化ブロック(非暗号化パーツ)を検証装置103が暗号化する際に用いる中間値を署名装置101における演算手順に基づいて暗号用中間値として抽出する。墨塗り部214は、暗号用中間値として、検証装置103が署名装置101と同じ演算手順にて一方向性演算を行うことで非暗号化ブロックを暗号化する暗号鍵が生成できる中間値を抽出する。
また、墨塗り部214は、データ入出力部211により墨塗りデータ109が出力された後に、墨塗りデータ109に含まれる暗号化されている暗号化ブロックのうち開示制限が解除される暗号化ブロックを制限解除ブロック(制限解除パーツ)として指定する。
また、墨塗り部214は、n個の鍵の生成過程において導出される複数の中間値の中から、検証装置103が制限解除ブロックを復号する際に用いる中間値を署名装置101における演算手順に基づいて復号用中間値として抽出する。墨塗り部214は、復号用中間値として、検証装置103が署名装置101と同じ演算手順にて一方向性演算を行うことで制限解除ブロックを復号する復号鍵が生成できる中間値を抽出する。
墨塗り部214は、鍵生成部、開示制限デジタルデータ生成部、中間値抽出部及び制限解除パーツ指定部の例である。
The sanitizing unit 214 sanitizes the digital data received from the signature device 101 to create sanitized data, and updates the received initial value to generate an intermediate value.
More specifically, the sanitizing unit 214 performs one-way operation on the input initial value 107 by the same operation procedure as that of the signature device 101 to generate n keys in order.
In addition, the sanitizing unit 214 orders the input original data 105 into n blocks, designates one or more blocks among the n blocks as target blocks (target parts), and generates the generated n pieces The encryption process or the decryption process is performed on each target block using the keys in the corresponding order among the keys, and sanitization data 109 in which one or more blocks are encrypted is generated.
Further, the verification device 103 encrypts an unencrypted block (unencrypted part) that is not encrypted among the blocks of the sanitized data 109 from among a plurality of intermediate values derived in the generation process of n keys. An intermediate value used for conversion is extracted as an intermediate value for encryption based on a calculation procedure in the signature device 101. The sanitizing unit 214 extracts an intermediate value that can generate an encryption key for encrypting an unencrypted block by performing a one-way operation by the verification device 103 in the same operation procedure as the signature device 101 as an intermediate value for encryption. To do.
In addition, the sanitizing unit 214, after the data input / output unit 211 outputs the sanitized data 109, the encrypted block whose disclosure restriction is removed from among the encrypted blocks included in the sanitized data 109 Is specified as a restriction release block (restriction release part).
In addition, the sanitizing unit 214 uses the intermediate value used when the verification device 103 decrypts the restriction release block from among a plurality of intermediate values derived in the process of generating n keys as the calculation procedure in the signature device 101. Based on this, an intermediate value for decoding is extracted. The sanitizing unit 214 extracts an intermediate value that can generate a decryption key for decrypting the restriction release block by the verification apparatus 103 performing a one-way operation in the same calculation procedure as the signature apparatus 101 as the intermediate value for decryption.
The sanitizing unit 214 is an example of a key generation unit, a disclosure restriction digital data generation unit, an intermediate value extraction unit, and a restriction release part designation unit.

中間値記憶部215は、墨塗り部214により算出された中間値群を記憶する。   The intermediate value storage unit 215 stores the intermediate value group calculated by the sanitizing unit 214.

図4は、検証装置103の内部構成例を表す図である。
データ入出力部221は、検証装置103へのデータの入力や、検証装置103からのデータの出力を行う。
ユーザ入力部222は、図示しないユーザからの操作を受け付ける。
表示部223は、ユーザに操作結果などの各種情報を表示する。
署名検証部224は、墨塗り装置102から受け取った墨塗りデータと署名と中間値とを用いて、墨塗りデータに対する署名を検証する。
FIG. 4 is a diagram illustrating an internal configuration example of the verification apparatus 103.
The data input / output unit 221 inputs data to the verification device 103 and outputs data from the verification device 103.
The user input unit 222 receives an operation from a user (not shown).
The display unit 223 displays various information such as operation results to the user.
The signature verification unit 224 verifies the signature for the sanitizing data using the sanitizing data, the signature, and the intermediate value received from the sanitizing apparatus 102.

なお、図2〜図4においては署名装置101、墨塗り装置102、および検証装置103のそれぞれがユーザ入力部と表示部を備える構成となっているが、これらの構成要素はなくてもよい。
例えば、自動で署名や墨塗りなどの操作を行う場合には、ユーザの操作を必要としないため、これらの構成要素を省略してもよい。
また、初期値107は乱数値であることが望ましく、したがって初期値生成部204は擬似乱数生成器であることが望ましい。
2 to 4, each of the signature device 101, the sanitizing device 102, and the verification device 103 includes a user input unit and a display unit. However, these components may be omitted.
For example, when an operation such as a signature or sanitization is performed automatically, no user operation is required, and these components may be omitted.
The initial value 107 is preferably a random value, and therefore the initial value generator 204 is preferably a pseudo-random number generator.

図5は、署名装置101および墨塗り装置102において初期値107を元にして墨塗りに用いる鍵群および署名生成に用いる終端値を生成する方法を示した図である。   FIG. 5 is a diagram showing a method for generating a key group used for sanitization and a terminal value used for signature generation based on the initial value 107 in the signature device 101 and the sanitizing device 102.

図5において、一方向性関数f301および一方向性関数g302は、それぞれ入力から出力を求めることは容易であるが出力から入力を求めることが極めて困難であるような関数である。
鍵K303は、全てのブロックのデータを墨塗りした場合に検証に用いる鍵である。
鍵K304…鍵K305は、ブロックの墨塗りに用いる鍵である。
終端値G306は、墨塗り装置による元データのすりかえを防止するために電子署名に封入する値である。
鍵群307は、鍵K303、鍵K304…鍵K305の総称である。
中間値群308は、初期値S107と鍵群との間にある中間値の総称であり、鍵群自身をも含む。
In FIG. 5, a unidirectional function f301 and a unidirectional function g302 are functions that make it easy to obtain an output from an input but extremely difficult to obtain an input from the output.
The key K 0 303 is a key used for verification when the data of all the blocks is painted.
Key K 1 304... Key K n 305 is a key used for sanitizing blocks.
The end value G306 is a value enclosed in the electronic signature in order to prevent replacement of the original data by the sanitizer.
The key group 307 is a general term for a key K 0 303, a key K 1 304, and a key K n 305.
The intermediate value group 308 is a generic term for intermediate values between the initial value S107 and the key group, and includes the key group itself.

なお、図5の一方向性関数f301および一方向性関数g302は可換であるものとする。
すなわち、ある入力xに対してfをa回、gをb回適用したときに、その適用順序に関わらず同一の出力が得られるものとする。
このときの出力をf(a)(b)(x)と表す。
fおよびgの具体的な関数の例としては、RSA(登録商標)公開鍵暗号における2つの暗号化関数f(x)=xe1 mod N、g(x)=xe2 mod Nが挙げられる。
ここでeおよびeは相異なる公開鍵であり、望ましくは互いに素ではない公開鍵である。
ただし、関数はこれに限定されるものではなく、上述のように可換性のある一方向性関数であればよい。
Note that the one-way function f301 and the one-way function g302 in FIG. 5 are interchangeable.
That is, when f is applied a times and g is applied b times to a certain input x, the same output is obtained regardless of the application order.
The output at this time is expressed as f (a) g (b) (x).
Specific examples of functions of f and g include two encryption functions f (x) = x e1 mod N and g (x) = x e2 mod N in RSA (registered trademark) public key cryptography.
Here, e 1 and e 2 are different public keys, preferably public keys that are not disjoint.
However, the function is not limited to this, and may be any one-way function having commutability as described above.

図6は、署名装置101において元データ105に対して電子署名を発行する方法を示した図である。
図6に示すように、署名装置101では、元データ105をいくつかのブロック(ここではMからMまでのn個)に分割するとともに、ブロックの順序に対して、対応する順序の鍵を適用して、全てのブロックを暗号化してCからCの暗号化ブロックとし、n個の暗号化ブロックに終端値Gを付加して署名対象データ401とし、署名対象データ401に署名鍵108を適用して署名106とする。
FIG. 6 is a diagram showing a method for issuing an electronic signature to the original data 105 in the signature apparatus 101.
As shown in FIG. 6, in the signature device 101, the original data 105 is divided into several blocks (here, n pieces from M 1 to M n ), and the keys in the order corresponding to the order of the blocks. Is applied to encrypt all the blocks into C 1 to C n encrypted blocks, add the termination value G to the n encrypted blocks to form the signature target data 401, and add the signature key to the signature target data 401. 108 is applied to obtain a signature 106.

図7は、元データに対して電子署名を生成する手順例を示したフローチャートである。   FIG. 7 is a flowchart showing an example of a procedure for generating an electronic signature for original data.

次に、図1から図7を用いて、署名装置101においてブロック単位で墨塗り可能な電子署名を生成する手順を説明する。   Next, a procedure for generating a digital signature that can be painted in block units in the signature apparatus 101 will be described with reference to FIGS. 1 to 7.

元データ105に対して電子署名を生成する場合、署名生成部205が、まず元データをいくつかのブロック(ここではMからMまでのn個とする)に分割する(ステップ501)。
ブロックは任意の大きさであってよく、ブロックごとに異なっていてもよい。
次に初期値生成部204において初期値S107を生成する(ステップ502)。
次に、署名生成部205が、初期値S107から出発し、図5に示すように一方向性関数f301および一方向性関数g302を適用して鍵群K、K…Kおよび終端値G306を算出する(ステップ503)。
ここで鍵Kはf(n)(S)、鍵Kはf(n−1)(1)(S)…鍵Kはg(n)(S)であり、終端値G306はf(n)(n)(S)である。
次に、署名生成部205が、Kを除く鍵群K…Kを用いて元データのブロックM…Mをすべて墨塗りし、終端値G306を結合して署名対象データ401を生成する(ステップ504)。
この墨塗りの具体的な方法は、ブロック暗号やストリーム暗号などの共通鍵暗号による暗号化である。
すなわち、Eを暗号化関数、Kをその鍵としてC=EKi(M)によりMをCに暗号化する。最後に署名対象データ401に対し、署名鍵108を用いて署名106を発行する(ステップ505)。
When generating an electronic signature for the original data 105, the signature generation unit 205, the original data several blocks (here, the n-number of from M 1 to M n) is first divided (step 501).
The block may be of any size and may be different for each block.
Next, the initial value generation unit 204 generates an initial value S107 (step 502).
Next, the signature generation unit 205, starting from the initial value S107, a one-way function as shown in FIG. 5 f301 and a one-way function g302 the applied key group K 0, K 1 ... K n and termination value G306 is calculated (step 503).
Here, the key K 0 is f (n) (S), the key K 1 is f (n−1) g (1) (S)..., And the key K n is g (n) (S). f (n) g (n) (S).
Next, the signature generation unit 205 uses the key group K 1 ... K n excluding K 0 to sanitize all the blocks M 1 ... M n of the original data, and combines the terminal value G 306 to obtain the signature target data 401. Generate (step 504).
A specific method of the sanitization is encryption by common key encryption such as block encryption or stream encryption.
That is, M i is encrypted into C i by C i = E Ki (M i ) using E as an encryption function and K i as its key. Finally, the signature 106 is issued to the signature target data 401 using the signature key 108 (step 505).

ここで署名対象データとして終端値G306を含めるのは、墨塗り装置102による元データのすりかえを防ぐためであるが、詳細は後述する。   Here, the termination value G306 is included as signature target data in order to prevent replacement of the original data by the sanitizing apparatus 102, but details will be described later.

次に、図1から図6と図8を用いて、墨塗り装置102においてブロック単位でデジタルデータの墨塗りを行う手順を説明する。
図8は、デジタルデータに対して墨塗りを行う手順例を示したフローチャートである。
Next, a procedure for sanitizing digital data in units of blocks in the sanitizing apparatus 102 will be described with reference to FIGS. 1 to 6 and FIG. 8.
FIG. 8 is a flowchart showing an example of a procedure for sanitizing digital data.

デジタルデータに対して墨塗りを行う場合、データ入出力部211が、まず署名装置101から元データ、署名、および初期値を受け取る(ステップ601)。
次に、墨塗り部214が、初期値Sから出発し、署名装置101と同様にして鍵群K、K…Kを算出する(ステップ602)。
次に、墨塗り部214が、Kを除く鍵群K…Kを用いて元データを墨塗りする(ステップ603)。
ここで、署名生成の際は元データのすべてのブロックについて墨塗りを行ったが、ここでは墨塗りすべきデータブロックに関してのみ墨塗りを行い、それ以外のブロックは墨塗りをせずそのままにしておく。
最後に、墨塗り部214が、検証装置103において開示ブロック(墨塗りしていない非暗号化ブロック)を墨塗りするのに必要な暗号用中間値を求める(ステップ604)。
例えばn個のブロックのうち最初のMのみ墨塗りした場合は、残りのMからMを墨塗りするために鍵Kから鍵Kまでが必要となるが、g(2)(S)が分かれば鍵Kから鍵Kまでが導出できることから、必要な暗号用中間値はg(2)(S)である。
また、MからMn−1までを墨塗りし、MおよびMを開示ブロックとした場合は、必要な暗号用中間値はKおよびKである。なお、全てのブロックを墨塗りした場合は、暗号用中間値としてKを選ぶものとする。
When sanitizing digital data, the data input / output unit 211 first receives original data, a signature, and an initial value from the signature device 101 (step 601).
Next, sanitizing unit 214, starting from the initial value S, in the same manner as the signature device 101 calculates a key group K 0, K 1 ... K n ( step 602).
Next, the sanitizing unit 214 sanitizes the original data using the key group K 1 ... K n excluding K 0 (step 603).
Here, all the blocks of the original data were sanitized at the time of signature generation, but here, only the data block to be sanitized is sanitized, and other blocks are left unsanitized. deep.
Finally, the sanitizing unit 214 obtains an intermediate value for encryption necessary for sanitizing the disclosed block (non-encrypted block not sanitized) in the verification apparatus 103 (step 604).
For example, if only the first M 1 of the n blocks is sanitized, the keys K 2 to K n are required to sanitize the remaining M 2 to M n , but g (2) ( since the key K 2 to key K n if S) is known can be derived, the intermediate value for the required encryption is g (2) (S).
Further, from M 2 to M n-1 and sanitizing, the case of the disclosed block M 1 and M n, the intermediate value for the required encryption is K 1 and K n. In the case where all blocks were sanitizing shall choose K 0 as an encryption for the intermediate values.

なお、墨塗り部214は、鍵群K、K…Kの算出の際に得られた中間値群を中間値記憶部215に格納しておき、中間値記憶部215から該当する中間値を暗号用中間値として抽出するようにしてもよいし、初期値から暗号用中間値を新たに算出してもよい。 Incidentally, sanitizing unit 214 may store the intermediate value group obtained in the calculation of the key group K 0, K 1 ... K n to the intermediate value storage unit 215, an intermediate corresponding from the intermediate value storage unit 215 The value may be extracted as the encryption intermediate value, or the encryption intermediate value may be newly calculated from the initial value.

ここで、開示する領域が複数のブロックにまたがっていても、それが連続した領域であれば、上述のように開示領域の墨塗りに必要な暗号用中間値は1個である。
したがって、元データの中で開示する領域が全体でL個に分かれている場合、各領域がどのブロックにまたがっているかに関わらず、墨塗りに必要な暗号用中間値の個数はL個である。
Here, even if the disclosed area extends over a plurality of blocks, if it is a continuous area, the encryption intermediate value required for sanitizing the disclosed area is one as described above.
Therefore, when the area disclosed in the original data is divided into L as a whole, the number of encryption intermediate values required for sanitization is L regardless of which block the area covers. .

なお、図8においては鍵群と中間値群を得るために署名装置101から初期値を受け取って墨塗り装置102上で導出する構成となっているが、代わりに初期値、中間値群、鍵群を署名装置101から受け取る構成としてもよい。
そして、この場合は、受け取った中間値群、鍵群の中から必要なもののみを抽出して使用する。また、初期値は受け取らなくてもよい。
なお、このように初期値、中間値群、鍵群を署名装置101から受け取る場合は、署名装置101と墨塗り装置102の間の通信量は増加するが、墨塗り装置102において導出のための演算をする必要がないため、演算能力の低い装置であっても墨塗りができるというメリットがある。
In FIG. 8, the initial value is received from the signature device 101 and derived on the sanitizing device 102 in order to obtain the key group and the intermediate value group. Instead, the initial value, intermediate value group, key A group may be received from the signature device 101.
In this case, only necessary ones are extracted from the received intermediate value group and key group and used. The initial value may not be received.
When the initial value, the intermediate value group, and the key group are received from the signature device 101 in this way, the communication amount between the signature device 101 and the sanitizing device 102 increases. Since there is no need to perform computation, there is an advantage that even a device with low computing ability can be painted.

また、図8においては署名装置101から元データを受け取り、墨塗りしたい部分を暗号化する構成となっているが、代わりに全ブロックが墨塗りされた墨塗りデータを受け取り、開示したい部分を復号する構成としてもよい。
墨塗り装置102において多くのデータが墨塗りされることが署名生成の段階で予想される場合、このような構成にすることで、墨塗り装置102における演算量を削減することができる。
In FIG. 8, the original data is received from the signature device 101 and the portion to be sanitized is encrypted. Instead, the sanitized data in which all blocks are sanitized is received and the portion to be disclosed is decrypted. It is good also as composition to do.
When a large amount of data is expected to be inked at the stage of signature generation in the inking apparatus 102, the amount of calculation in the inking apparatus 102 can be reduced by such a configuration.

次に、図1から図6と図9から図10を用いて、検証装置103において墨塗りデータの検証を行う手順を説明する。   Next, a procedure for verifying sanitized data in the verification apparatus 103 will be described with reference to FIGS. 1 to 6 and FIGS. 9 to 10.

図9は、墨塗りデータに関して検証を行う手順例を示したフローチャートである。   FIG. 9 is a flowchart showing an example of a procedure for verifying sanitizing data.

図10は、墨塗りデータから検証対象データを導出する様子を示した図である。
図10に示すように、検証装置103では、一部のブロックが暗号化されている墨塗りデータ109のうちの暗号化されていない非暗号化ブロックに対して、その非暗号化ブロックの順序に対応する順序の鍵を適用して、全てのブロックが暗号化された状態とし、CからCの暗号化ブロックに終端値Gを付加して検証対象データ801とし、検証対象データ801と署名106とにより検証を行う。
FIG. 10 is a diagram showing how the verification target data is derived from the sanitizing data.
As shown in FIG. 10, in the verification apparatus 103, unencrypted blocks in the sanitized data 109 in which some blocks are encrypted are arranged in the order of the unencrypted blocks. By applying the corresponding sequence of keys, all the blocks are encrypted, and the terminal block G is added to the encrypted blocks C 1 to C n to obtain the verification target data 801. The verification target data 801 and the signature Verification is performed according to 106.

墨塗りデータの検証を行う場合、データ入出力部221は、まず墨塗り装置102から墨塗りデータ、署名、および中間値を受け取る(ステップ701)。
次に、署名検証部224が、受け取った中間値から、墨塗りデータの中の開示ブロックを墨塗りするのに必要な鍵群と終端値Gを算出する(ステップ702)。
次に、署名検証部224が、開示ブロックを墨塗りし、終端値Gと結合することで検証対象データ801を生成する(ステップ703)。
最後に、署名検証部224が、検証鍵を用いて署名から署名対象データを取り出し、検証対象データと比較する。
両者が一致すれば、墨塗り以外の改ざんが行われていないことが分かるので検証に成功する。
When the sanitizing data is verified, the data input / output unit 221 first receives sanitizing data, a signature, and an intermediate value from the sanitizing device 102 (step 701).
Next, the signature verification unit 224 calculates a key group and a termination value G necessary for sanitizing the disclosed block in the sanitized data from the received intermediate value (step 702).
Next, the signature verification unit 224 creates the verification target data 801 by sanitizing the disclosed block and combining it with the terminal value G (step 703).
Finally, the signature verification unit 224 extracts signature target data from the signature using the verification key and compares it with the verification target data.
If they match, it can be verified that no tampering other than sanitization has occurred.

なお、署名対象データと検証対象データを比較するのではなく、それぞれのハッシュ値を比較する構成としてもよい。   In addition, it is good also as a structure which does not compare signature object data and verification object data, but compares each hash value.

ここで、署名対象データおよび検証対象データとして終端値Gを含める理由を述べる。
もし終端値Gを含めなければ、墨塗り装置102において、次のようにして検証装置103に検出されぬように署名装置101が作成した元データを別のデータにすりかえることができる。
墨塗り装置102はまず署名装置101から与えられた初期値Sを元に、署名装置101と同様に元データを墨塗りし、墨塗りデータC、C…Cを得る。
次に、初期値Sとは異なる初期値S’を独自に生成し、鍵群K’、K’…K’を導出する。そしてこれらの鍵群を用いて、墨塗りデータC、C…Cを復号し、本来の元データとは異なるデータM’、M’…M’を得る。
墨塗り装置102は、これを新たに本来の元データであるとして、鍵群K’、K’…K’を用いて墨塗りを行い署名とともに検証装置103に送付する。
検証装置103では、検証手順によって正しい墨塗りデータC、C…Cが得られるため、墨塗り以外の改ざんはないと判断されてしまう。
このようにして、元データのすりかえが可能となる。
これを防ぐために、署名対象データ及び検証対象データとして、終端値Gを含める。
終端値Gはどの中間値からも一意に導出可能であるため、墨塗り装置102における墨塗りの仕方に関わらず検証装置103において導出可能であり、これを用いてすりかえを検出することができる。
Here, the reason why the termination value G is included as signature target data and verification target data will be described.
If the terminal value G is not included, the sanitizing apparatus 102 can replace the original data created by the signature apparatus 101 with other data so that it is not detected by the verification apparatus 103 as follows.
First, the sanitizing apparatus 102 sanitizes the original data based on the initial value S given from the signature apparatus 101 in the same manner as the signature apparatus 101 to obtain sanitized data C 1 , C 2 ... C n .
Next, 'independently generates, key group K 1' different initial value S as an initial value S, to derive the K 2 '... K n'. Then, using these key groups, the sanitized data C 1 , C 2 ... C n is decrypted to obtain data M 1 ′, M 2 ′... M n ′ different from the original original data.
The sanitizing apparatus 102 performs the sanitization using the key groups K 1 ′, K 2 ′,... K n ′, and sends it to the verification apparatus 103 together with the signature, assuming that this is the original original data.
In the verification device 103, correct sanitization data C 1 , C 2 ... C n is obtained by the verification procedure, and therefore it is determined that there is no tampering other than sanitization.
In this way, the original data can be replaced.
In order to prevent this, the termination value G is included as signature target data and verification target data.
Since the end value G can be uniquely derived from any intermediate value, it can be derived by the verification device 103 regardless of the way of sanitizing by the sanitizing device 102, and the replacement can be detected using this.

次に、図5および図11を用いて、墨塗り装置102が検証装置103に墨塗りデータを送信した後、一部または全部の墨塗り部分を開示する方法を説明する。   Next, a method for disclosing a part or all of the sanitized portion after the sanitizing device 102 transmits the sanitizing data to the verification device 103 will be described with reference to FIGS. 5 and 11.

図11は、墨塗り装置102が検証装置103に墨塗りデータを送信した後、一部または全部の墨塗り部分を開示する手順例を示したフローチャートである。   FIG. 11 is a flowchart showing an example of a procedure for disclosing a part or all of the sanitized portion after the sanitizing device 102 transmits the sanitized data to the verification device 103.

一部または全部の墨塗り部分を開示するには、まず墨塗り装置102において、墨塗り部214が墨塗りデータの中で開示すべき制限解除ブロックを指定するとともに、制限解除ブロックを復号するのに必要な復号用中間値を算出する(ステップ901)。
制限解除ブロックの指定は、例えば、ユーザ入力部212により入力されたユーザからのブロックの指定に基づいて墨塗り部214が指定していもよいし、不図示の記録装置からブロックを指定するデータを読み込み、読み込んだデータにおいて指定されているブロックを指定してもよい。
例えばMからMまでのブロックすべてが墨塗りされており、このうちMを除くMからMn−1までを開示する場合、墨塗り部214において、図5より復号用中間値としてf(1)(1)(S)が算出される。
次に、データ入出力部211が、この復号用中間値を検証装置103に送付する(ステップ902)。
検証装置103は、データ入出力部221が、まず墨塗り装置102から復号用中間値を受け取る(ステップ903)。
次に、署名検証部224が、復号用中間値から鍵群と終端値Gを導出する(ステップ904)。
次に、署名検証部224が、終端値Gを検証する(ステップ905)。
これは、ステップ904により得た終端値Gと、当初の墨塗りデータを検証した際に計算していた終端値Gとが一致しているかを調べることにより行う。
もし一致していなければ、署名時とは異なる鍵群が用いられていることが分かるので処理を中止する。最後に、得られた鍵群を用いて墨塗りブロックを復号する(ステップ906)。
In order to disclose a part or all of the sanitizing part, first, the sanitizing unit 214 specifies the restriction releasing block to be disclosed in the sanitizing data and decodes the restriction releasing block. The intermediate value for decoding necessary for the calculation is calculated (step 901).
The restriction release block may be specified, for example, by the sanitizing unit 214 based on the block specification from the user input by the user input unit 212, or data specifying a block from a recording device (not shown). A block specified in the read data may be specified.
For example, all blocks from M 1 to M n have been sanitized, to disclose these from M 1, except for M n up to M n-1, the sanitizing unit 214, as the decoding intermediate value from 5 f (1) g (1) (S) is calculated.
Next, the data input / output unit 211 sends this decryption intermediate value to the verification device 103 (step 902).
In the verification device 103, the data input / output unit 221 first receives the decoding intermediate value from the sanitizing device 102 (step 903).
Next, the signature verification unit 224 derives the key group and the termination value G from the decryption intermediate value (step 904).
Next, the signature verification unit 224 verifies the termination value G (step 905).
This is done by examining whether the end value G obtained in step 904 matches the end value G calculated when the initial sanitization data is verified.
If they do not match, it is understood that a key group different from that used at the time of signing is used, and the processing is stopped. Finally, the sanitized block is decrypted using the obtained key group (step 906).

なお、上記説明では墨塗り装置102が墨塗り部分の開示を行う構成としたが、署名装置101が行う構成としてもよい。
また、上記説明では、墨塗り装置102において、墨塗り部214が復号用中間値を算出することとしたが、墨塗りデータの生成段階で生成した中間値群を中間値記憶部215に格納しておき、中間値記憶部215から該当する中間値を復号用中間値として抽出するようにしてもよい。
In the above description, the sanitizing device 102 is configured to disclose the sanitized portion, but may be configured to be performed by the signature device 101.
In the above description, in the sanitizing apparatus 102, the sanitizing unit 214 calculates the intermediate value for decoding. However, the intermediate value group generated in the sanitizing data generation stage is stored in the intermediate value storage unit 215. Alternatively, the corresponding intermediate value may be extracted from the intermediate value storage unit 215 as the decoding intermediate value.

最後に、墨塗り部分の事後の開示の可否を制御する方法を説明する。
ここでは複数の墨塗り装置がある場合を取り上げ、墨塗り装置Aが墨塗り装置Bへ墨塗りデータを送る際に事後の開示の可否を制御する方法を説明する。
Finally, a method for controlling the possibility of subsequent disclosure of the sanitized portion will be described.
Here, a case where there are a plurality of sanitizing apparatuses will be described, and a method of controlling whether or not subsequent disclosure is possible when the sanitizing apparatus A sends sanitizing data to the sanitizing apparatus B will be described.

墨塗り装置Aは署名装置101から元データ、初期値、署名を受け取り、データブロックM…Mn−1を墨塗りしてC…Cn−1にし、Mを開示しておくものとする。
そしてCの事後の開示を不可にした上で墨塗りデータ、中間値、署名を墨塗り装置Bに渡すものとする。
この場合、中間値としては、検証時の墨塗りのためにKが導出できなければならず、また事後の開示のためにK…Kn−1が導出できなければならない。
そして、Cの事後の開示を防止するためKが導出できないようなものでなければならない。
以上のことから、墨塗り装置Aは中間値としてg(2)(S)を選択する。そして、元データおよび署名とともに、墨塗り装置Bへ送付する。
The sanitizing apparatus A receives the original data, the initial value, and the signature from the signature apparatus 101, sanitizes the data block M 1 ... M n−1 to C 1 ... C n−1 , and discloses M n. And
The sanitizing data, intermediate value on that disables the disclosure of post C 1, signatures shall be passed to the sanitizing device B.
In this case, as an intermediate value, K n must be derived for sanitization at the time of verification, and K 2 ... K n−1 must be derived for subsequent disclosure.
It must be such that K 1 cannot be derived to prevent subsequent disclosure of C 1 .
From the above, the sanitizing apparatus A selects g (2) (S) as the intermediate value. Then, it is sent to the sanitizing device B together with the original data and the signature.

以上のように、本実施の形態によれば、デジタルデータを任意の大きさのブロックに分割し、ブロックごとの墨塗りと、事後の開示とを可能にする電子署名方式を実現することができる。
特に、事後の開示の場合、データそのものを送付することなく中間値を送付するのみで実現できるため、従来の技術に比べ墨塗り装置と検証装置との間の通信量を削減することができ、また、メモリ使用量を抑制することができる。
As described above, according to the present embodiment, it is possible to realize an electronic signature scheme that divides digital data into blocks of an arbitrary size and enables sanitization for each block and subsequent disclosure. .
In particular, in the case of subsequent disclosure, since it can be realized only by sending an intermediate value without sending the data itself, the amount of communication between the sanitizing device and the verification device can be reduced compared to the conventional technology, Further, the memory usage can be suppressed.

また、本実施の形態によれば、墨塗り部分についての事後の開示の可否を制御可能な電子署名方式を実現することができる。   In addition, according to the present embodiment, it is possible to realize an electronic signature method that can control whether or not subsequent disclosure of the sanitized portion is possible.

また、本実施の形態によれば、元データの中で開示する領域が全体でL個に分かれている場合、各領域がどのブロックにまたがっているかに関わらず、墨塗り装置から検証装置に送付する中間値の個数をL個とすることができ、墨塗り装置と検証装置との間の通信量を削減することができ、また、メモリ使用量を抑制することができる。   In addition, according to the present embodiment, when the area to be disclosed in the original data is divided into L as a whole, it is sent from the sanitizer to the verification apparatus regardless of which block the area covers. The number of intermediate values to be performed can be L, the amount of communication between the sanitizing device and the verification device can be reduced, and the amount of memory used can be suppressed.

なお、前述の特許文献2の方式では、明示的に示されてはいないものの、検証者から墨塗り部分の開示を求められたとき、墨塗り者は、データそのものではなく該当する箇所を復号するのに必要な一方向性関数の中間値を渡すことも可能であると考えられる。この場合、検証者は受け取った中間値を用いて部分暗号化デジタルデータを復号することにより、元のデータを復元することができる。
このように墨の取り除きができるのは、墨塗りの際にデータをハッシュ値に置き換えるのではなく暗号化しているためである。
しかし、前述したように、特許文献2では、先頭から途中までを暗号化した部分暗号化データを生成するものであり、先頭から連続した領域しか墨塗りできないという課題がある。
つまり、デジタルデータの任意の領域を墨塗りすることができないという課題がある。
この点、本実施の形態によれば、以上において説明したように、デジタルデータのn個のブロックのうちの任意のブロックを墨塗りすることができる。
Although not explicitly shown in the above-described method of Patent Document 2, when the verifier requests disclosure of the sanitized portion, the sanitizer decodes the corresponding portion instead of the data itself. It is also possible to pass an intermediate value of the one-way function necessary for the above. In this case, the verifier can restore the original data by decrypting the partially encrypted digital data using the received intermediate value.
The reason why ink can be removed in this way is that data is encrypted instead of being replaced with a hash value at the time of ink.
However, as described above, Patent Document 2 generates partially encrypted data that is encrypted from the beginning to the middle, and there is a problem that only a continuous area from the beginning can be painted.
That is, there is a problem that an arbitrary area of digital data cannot be painted.
In this regard, according to the present embodiment, as described above, an arbitrary block among n blocks of digital data can be painted.

以上、本実施の形態では、任意のブロックの墨塗り/墨の取り除きを可能にするために、2つの可換な一方向性関数を組み合わせ、その出力を鍵としてデータを暗号化したことを説明した。   As described above, in the present embodiment, it has been described that two commutative one-way functions are combined and data is encrypted using the output as a key in order to enable the sanitization / removal of black of an arbitrary block. did.

実施の形態2.
以上の実施の形態1は、デジタルデータをブロックに分割し、ブロック単位で墨塗りができるようにしたものであるが、次にブロックに分割する必要なくビットごとに墨塗りができる実施の形態を示す。
つまり、実施の形態1では、パーツの例としてデジタルデータを任意のブロックに分ける場合を説明したが、本実施の形態では、パーツの例としてビットごとに分ける場合を説明する。
Embodiment 2. FIG.
In the first embodiment described above, digital data is divided into blocks and can be sanitized in units of blocks. Next, an embodiment in which sanitization can be performed for each bit without the need to divide the data into blocks. Show.
That is, in the first embodiment, the case where the digital data is divided into arbitrary blocks as an example of the parts has been described, but in this embodiment, the case where the digital data is divided for each bit is described as an example of the parts.

本実施の形態では、署名装置、墨塗り装置、および検証装置の内部構成、および初期値から鍵群と終端値を導出する方法は実施の形態1と同様である。   In the present embodiment, the internal configuration of the signature device, the sanitizing device, and the verification device, and the method for deriving the key group and the termination value from the initial values are the same as in the first embodiment.

図12は、本実施の形態に関して、署名装置101において元データ1001に対して署名を発行する方法を示した図である。   FIG. 12 is a diagram showing a method for issuing a signature to the original data 1001 in the signature apparatus 101 according to the present embodiment.

図12において、元データ1001はmからmまでのnビットからなるデジタルデータである。
1002は鍵K304のハードコアビットである。ここで、1ビット出力の関数B(x)の出力を一方向性関数F(x)から推測することが難しい場合、B(x)をF(x)のハードコアビットと言う。
例えばRSA(登録商標)関数F(x)=x mod Nにおけるxの最下位ビットはハードコアビットである。
1003は鍵Kのハードコアビットである。
1004は鍵K305のハードコアビットである。
In FIG. 12, original data 1001 is digital data composed of n bits from m 1 to mn .
k 1 1002 is a hard core bit of the key K 1 304. Here, when it is difficult to estimate the output of the 1-bit output function B (x) from the one-way function F (x), B (x) is referred to as the F (x) hard core bit.
For example, the least significant bit of x in the RSA (registered trademark) function F (x) = x e mod N is a hard core bit.
k 2 1003 is a hard core bit of the key K 2 .
k n 1004 is a hard core bit of the key K n 305.

図12に示すように、署名装置101では、元データ105の各ビットに対して、各ビットの順序に対応する順序の鍵のハードコアビットを適用して、全てのビットを暗号化してcからcの暗号化ビットとし、n個の暗号化ビットに終端値G306を付加して署名対象データ1005とし、署名対象データ1005に署名鍵108を適用して署名1006とする。 As shown in FIG. 12, in the signature device 101, for each bit of the original data 105, the hard core bits of the key in the order corresponding to the order of each bit are applied, and all the bits are encrypted from c 1 and encryption bit c n, adds the termination value G306 to n pieces of encrypted bits and the signature object data 1005, by applying a signature key 108 on the signature target data 1005 and signature 1006.

図13は、本実施の形態に関して、デジタルデータに対して電子署名を生成する手順例を示したフローチャートである。
図14は、本実施の形態に関して、デジタルデータに対して墨塗りを行う手順例を示したフローチャートである。
図15は、本実施の形態に関して、墨塗りデータの署名の検証を行う手順例を示したフローチャートである。
FIG. 13 is a flowchart showing an example of a procedure for generating an electronic signature for digital data in the present embodiment.
FIG. 14 is a flowchart showing an example of a procedure for sanitizing digital data with respect to the present embodiment.
FIG. 15 is a flowchart showing an example of a procedure for verifying the signature of sanitized data regarding the present embodiment.

次に、図5と図12から図15を用いて、本実施の形態における署名の生成方法、墨塗り方法、および検証方法を述べる。   Next, a signature generation method, sanitization method, and verification method according to the present embodiment will be described with reference to FIGS. 5 and 12 to 15.

署名装置101がnビットの元データ1001に対して電子署名を生成する場合、まず初期値生成部204において初期値S107を生成する(ステップ1101)。
次に、署名生成部205が、初期値S107から出発し、図5に示すように一方向性関数f301および一方向性関数g302を適用して鍵群K、K…Kおよび終端値G306を算出する(ステップ1102)。
次に、署名生成部205が、元データのビット列m、m…mと、鍵群K、K…Kのハードコアビットの列k、k…kとの排他的論理和c、c…cをとることで元データを墨塗りする(ステップ1103)。
そして、署名生成部205が、cからcまでと終端値Gを結合して署名対象データ1005にする。
最後に、署名生成部205が、署名対象データ1005に対し、署名鍵108を用いて署名1006を発行する(ステップ1104)。
When the signature apparatus 101 generates an electronic signature for n-bit original data 1001, first, the initial value generation unit 204 generates an initial value S107 (step 1101).
Next, the signature generation unit 205, starting from the initial value S107, a one-way function as shown in FIG. 5 f301 and a one-way function g302 the applied key group K 0, K 1 ... K n and termination value G306 is calculated (step 1102).
Next, exclusive of signature generation unit 205, a bit sequence m 1, m 2 ... m n of the original data, a sequence k 1, k 2 ... k n hardcore bit key group K 1, K 2 ... K n sanitizing the original data by ORing c 1, c 2 ... c n ( step 1103).
Then, the signature generation unit 205, and the signature object data 1005 by combining the termination value G from c 1 to c n.
Finally, the signature generation unit 205 issues a signature 1006 to the signature target data 1005 using the signature key 108 (step 1104).

墨塗り装置102がデジタルデータに対して墨塗りを行う場合、データ入出力部211が、まず署名装置101から元データ、署名、および初期値を受け取る(ステップ1201)。
次に、墨塗り部214が、初期値Sから出発し、署名装置101と同様にして鍵群K、K…Kを算出する(ステップ1202)。
次に、墨塗り部214が、鍵群K、K…Kのハードコアビットk、k…kを用いて元データを墨塗りする(ステップ1203)。
ここで、署名生成の場合は元データのすべてのビットについて墨塗りを行ったが、ここでは墨塗りすべきビットに関してのみ墨塗りを行い、それ以外のビットは墨塗りせずそのままにしておく。最後に、墨塗り部214が、開示ビット(墨塗りしていない非暗号化ビット)を墨塗りするのに必要な中間値を求める(ステップ1204)。
When the sanitizing device 102 sanitizes the digital data, the data input / output unit 211 first receives the original data, the signature, and the initial value from the signature device 101 (step 1201).
Next, sanitizing unit 214, starting from the initial value S, in the same manner as the signature device 101 calculates a key group K 0, K 1 ... K n ( step 1202).
Next, sanitizing unit 214, the original data sanitizing using the hard core bit k 1, k 2 ... k n of the key group K 1, K 2 ... K n ( step 1203).
Here, in the case of signature generation, all the bits of the original data are sanitized, but here, only the bits to be sanitized are sanitized, and the other bits are left unsanitized. Finally, the sanitizing unit 214 obtains an intermediate value necessary for sanitizing the disclosed bits (unencrypted bits that are not sanitized) (step 1204).

検証装置103が墨塗りデータの検証を行う場合、データ入出力部221が、まず墨塗り装置102から墨塗りデータ、署名、および中間値を受け取る(ステップ1301)。
次に、署名検証部224が、受け取った中間値から、墨塗りデータの中の開示ビットを墨塗りするのに必要な鍵群と終端値Gを算出する(ステップ1302)。
次に、署名検証部224が、開示ビットを墨塗りし、終端値Gと結合することで検証対象データを生成する(ステップ1303)。
最後に、署名検証部224が、検証鍵を用いて署名から署名対象データを取り出し、検証対象データと比較する。両者が一致すれば、墨塗り以外の改ざんが行われていないことが分かるので検証に成功する。
When the verification device 103 verifies the sanitization data, the data input / output unit 221 first receives sanitization data, a signature, and an intermediate value from the sanitization device 102 (step 1301).
Next, the signature verification unit 224 calculates a key group and a termination value G necessary for sanitizing the disclosed bits in the sanitized data from the received intermediate value (step 1302).
Next, the signature verification unit 224 generates the verification target data by sanitizing the disclosed bit and combining it with the terminal value G (step 1303).
Finally, the signature verification unit 224 extracts signature target data from the signature using the verification key and compares it with the verification target data. If they match, it can be verified that no tampering other than sanitization has occurred.

以上のように、本実施の形態によれば、デジタルデータをブロックに分割することなく、ビットごとに墨塗りすることができる。   As described above, according to the present embodiment, digital data can be sanitized bit by bit without being divided into blocks.

また、実施の形態1と同様にして、墨塗り装置が検証装置に墨塗りデータを送信した後、中間値を送付するだけで一部または全部の墨塗り部分を開示することができる。   Similarly to the first embodiment, after the sanitizing apparatus transmits the sanitizing data to the verification apparatus, it is possible to disclose a part or all of the sanitizing part only by sending the intermediate value.

また、実施の形態1と同様にして、本実施の形態においても墨塗り部分についての事後の開示の可否を制御可能な電子署名方式を実現することができる。   Further, in the same manner as in the first embodiment, an electronic signature scheme that can control whether or not to disclose information about the sanitized portion can be realized in the present embodiment.

以上、本実施の形態では、ブロックごとの墨塗りだけでなく、ビットごとの墨塗りが可能であることを説明した。   As described above, in the present embodiment, it has been described that not only the ink for each block but also the ink for each bit is possible.

実施の形態3.
以上の実施の形態1および2は、墨塗りに用いる鍵群の生成のために2つの可換な一方向性関数を用いていたが、次にこのような可換な一方向性関数を用いない場合における実施の形態を示す。
Embodiment 3 FIG.
In the first and second embodiments described above, two commutative one-way functions are used for generating a key group used for sanitization. Next, such commutative one-way functions are used. The embodiment in the case where there is not is shown.

図16は、本実施の形態における鍵群および終端値の生成過程例を表した図である。   FIG. 16 is a diagram illustrating an example of a key group and termination value generation process in the present embodiment.

図16において、初期値S1401、鍵群1402、および終端値G1403はそれぞれ図5における初期値S107、鍵群307、および終端値G306に対応している。
中間値群1404は、初期値S1401から終端値G1403に至るまでの中間値の総称であり、初期値は含まず終端値は含む。
In FIG. 16, initial value S1401, key group 1402, and termination value G1403 correspond to initial value S107, key group 307, and termination value G306 in FIG. 5, respectively.
The intermediate value group 1404 is a generic term for intermediate values from the initial value S1401 to the terminal value G1403, and does not include the initial value but includes the terminal value.

本実施の形態における鍵群および終端値の生成過程は以下のとおりである。
初期値S1401に対し、2種類の一方向性関数を適用して、その出力をそれぞれa、aとする。
次に、aとaのそれぞれに同じように2種類の一方向性関数を適用して、その出力をそれぞれa11、a12およびa21、a22とする。
これを繰り返し、鍵群K、K…Kを生成する。
ここでnはブロックの個数である。
次に、鍵群K、K…Kに対しある一方向性関数をそれぞれ適用して、b、b…bを得る。次に、bとbとを結合したデータをある一方向性関数に入力して、b12を得る。これを繰り返し、最終的に終端値G1403を得る。
The key group and termination value generation process in this embodiment is as follows.
Two types of one-way functions are applied to the initial value S1401, and the outputs are a 1 and a 2 , respectively.
Next, two types of one-way functions are similarly applied to each of a 1 and a 2 , and the outputs are set to a 11 , a 12 and a 21 , a 22 , respectively.
Repeating this generates a key group K 1, K 2 ... K n .
Here, n is the number of blocks.
Next, by applying key group K 1, K 2 ... a one-way function with respect to K n respectively, obtaining b 1, b 2 ... b n . Next, data obtained by combining b 1 and b 2 is input to a one-way function to obtain b 12 . This is repeated to finally obtain a termination value G1403.

なお、一方向性関数の例としては、ハッシュ関数SHA−1やRabin関数、あるいは擬似乱数生成器などが挙げられる。   Examples of the one-way function include a hash function SHA-1, a Rabin function, or a pseudo random number generator.

ここで、上記では鍵群の導出のために2種類の一方向性関数を適用するとしたが、1種類の一方向性関数を適用し、入力を一部変更する構成としてもよい。
例えば、一方向性関数として1種類のハッシュ関数Hを用いた場合、初期値からaとaを導出する際に、a=H(0||S)、a=H(1||S)としてもよい。ここで記号||はデータの結合を表す。
Here, in the above description, two types of one-way functions are applied for derivation of the key group. However, one type of one-way function may be applied to partially change the input.
For example, when one type of hash function H is used as the one-way function, when a 1 and a 2 are derived from the initial values, a 1 = H (0 || S), a 2 = H (1 | | S). Here, the symbol || represents a combination of data.

あるいは、1種類の一方向性関数を適用し、出力を分割する構成としてもよい。例えば、一方向性関数として擬似乱数生成器を用いて、入力の2倍の長さを出力し、出力の前半をa、後半をaとしてもよい。 Or it is good also as a structure which applies one type of one-way function and divides | segments an output. For example, a pseudo random number generator may be used as a one-way function to output a length twice as long as the input, and the first half of the output may be a 1 and the second half may be a 2 .

また、上記のように図16では二分木を形成する構成としているが、分岐数は任意の数であってよく、分岐ごとに異なっていてもよい。
その場合には、最大分岐数をNとして一方向性関数をN種類用意するか、入力を最大N通り変化させるか、あるいは出力を入力の最大N倍の長さにすればよい。
複数のブロックを一括して墨塗りまたは開示する可能性が高いことが署名時に分かっている場合には、分岐数をそのブロック数とすることにより、墨塗り装置から検証装置に送付すべき中間値の個数を低減することができるということが、後述の説明より理解されよう。
Further, as described above, in FIG. 16, a binary tree is formed. However, the number of branches may be any number, and may be different for each branch.
In that case, the maximum number of branches is set to N, N types of unidirectional functions are prepared, the input is changed in a maximum of N ways, or the output is made a maximum N times as long as the input.
If it is known at the time of signing that there is a high possibility that a plurality of blocks will be sanitized or disclosed at a time, the intermediate value to be sent from the sanitizer to the verification device by setting the number of branches as the number of blocks It will be understood from the following description that the number of the above can be reduced.

本実施の形態における署名方法は実施の形態1とほぼ同様であり、以下に述べる手順で行う。   The signing method in the present embodiment is almost the same as in the first embodiment, and is performed according to the procedure described below.

元データ105に対して電子署名を生成する場合、署名装置101において署名生成部205が、まず元データをいくつかのブロック(ここではMからMまでのn個とする)に分割する。
次に、初期値生成部204において初期値S107を生成する。
次に、署名生成部205が、初期値S107から出発し、図16に示すように一方向性関数を適用して鍵群K、K…Kおよび終端値G306を算出する。
次に、署名生成部205が、鍵群K…Kを用いて元データのブロックM…Mをすべて墨塗りし、署名対象データ401を生成する。
この墨塗りの具体的な方法は、ブロック暗号やストリーム暗号などの共通鍵暗号による暗号化である。すなわち、Eを暗号化関数、Kをその鍵としてC=EKi(M)によりMをCに暗号化する。
そして、署名生成部205は、CからCまでと終端値G306を結合して署名対象データ401にする。
最後に署名対象データ401に対し、署名鍵108を用いて署名106を発行する。
When generating an electronic signature for the original data 105, the signature generation unit 205 in the signature device 101, the original data several blocks (here, the n-number of from M 1 to M n) is first divided into.
Next, the initial value generation unit 204 generates an initial value S107.
Next, the signature generation unit 205, starting from the initial value S107, and calculates the key group K 1, K 2 ... K n and termination value G306 by applying the one-way function, as shown in FIG. 16.
Next, the signature generation unit 205 uses the key group K 1 ... K n to black out all the original data blocks M 1 to M n to generate the signature target data 401.
A specific method of the sanitization is encryption by common key encryption such as block encryption or stream encryption. That is, M i is encrypted into C i by C i = E Ki (M i ) using E as an encryption function and K i as its key.
Then, the signature generation unit 205 combines C 1 to C n and the termination value G 306 into the signature target data 401.
Finally, the signature 106 is issued to the signature target data 401 using the signature key 108.

墨塗り方法は以下のとおりである。
ここでは例として元データがMからMまでの8ブロックであるとし、先頭ブロックMを墨塗りする場合について説明する。
まず、墨塗り装置102においてデータ入出力部211が、署名装置101から元データ、署名、および初期値を受け取る。
次に、墨塗り部214が、初期値Sから出発し、署名装置101と同様にして鍵群K、K…Kを算出する。
次に、墨塗り部214が、鍵Kを用いてMを墨塗りする。
最後に、墨塗り部214が、開示ブロックの墨塗りに必要な暗号用中間値と終端値の導出に必要な終端値用中間値を求める。
開示ブロックの墨塗りのためにはK…Kが必要である。
ところが、KとKはa12から導出することができ、またKからKまではaから導出することができる。
したがって開示ブロックの墨塗りのために必要な暗号用中間値はKとa12とaである。
一方、終端値の導出には、bがあればよい。なぜならば、b、b34、およびb58がそれぞれK、a12、およびaから導出可能であり、これらにより終端値Gが導出可能だからである。
以上より、開示ブロックの墨塗りと終端値の導出に必要な中間値は、K、a12、a、およびbである。
なお、すべてのブロックを墨塗りする場合には、中間値は終端値Gである。
The sanitizing method is as follows.
Here, as an example, a case where the original data is 8 blocks from M 1 to M 8 and the first block M 1 is painted will be described.
First, in the sanitizing apparatus 102, the data input / output unit 211 receives original data, a signature, and an initial value from the signature apparatus 101.
Next, the sanitizing unit 214 starts from the initial value S and calculates the key groups K 1 , K 2 ... K 8 in the same manner as the signature device 101.
Next, the sanitizing unit 214 sanitizes M 1 using the key K 1 .
Finally, the sanitizing unit 214 obtains the encryption intermediate value necessary for sanitizing the disclosed block and the terminal value intermediate value necessary for deriving the terminal value.
K 2 ... K 8 is required for sanitizing the disclosed block.
However, K 3 and K 4 can be derived from a 12 , and K 5 to K 8 can be derived from a 2 .
Therefore, the encryption intermediate values necessary for sanitizing the disclosed block are K 2 , a 12, and a 2 .
On the other hand, b 1 may be used to derive the terminal value. This is because b 2 , b 34 , and b 58 can be derived from K 2 , a 12 , and a 2 , respectively, and the terminal value G can be derived therefrom.
As described above, the intermediate values necessary for sanitizing the disclosed block and deriving the terminal value are K 2 , a 12 , a 2 , and b 1 .
Note that the intermediate value is the termination value G when all blocks are painted.

ここで、実施の形態1であれば、元データ全体の中で開示する領域がL個に分割されている場合、各領域がどのブロックにまたがっているかに関わらず、墨塗りに必要な中間値の個数はL個であったが、本実施の形態では一般にL個以上になる。
したがって、墨塗り装置から検証装置に送付すべき中間値の個数は実施の形態1に比べて増えることになる。
Here, in the case of the first embodiment, when the disclosed area is divided into L pieces in the entire original data, the intermediate value necessary for sanitization regardless of which block the area covers. Although the number of L is L, in the present embodiment, it is generally L or more.
Therefore, the number of intermediate values to be sent from the sanitizing device to the verification device is increased as compared with the first embodiment.

検証方法は以下のとおりである。
まず、検証装置103において、データ入出力部221が墨塗り装置102から墨塗りデータ、署名、および中間値を受け取る。
次に、署名検証部224が、受け取った中間値から、墨塗りデータの中の開示ブロックを墨塗りするのに必要な鍵群と終端値Gを算出する。
次に、署名検証部224が、開示ブロックを墨塗りし、終端値Gと結合することで検証対象データを生成する。
最後に、検証鍵を用いて署名から署名対象データを取り出し、検証対象データと比較する。両者が一致すれば、墨塗り以外の改ざんが行われていないことが分かるので検証に成功する。
The verification method is as follows.
First, in the verification device 103, the data input / output unit 221 receives sanitized data, a signature, and an intermediate value from the sanitizing device 102.
Next, the signature verification unit 224 calculates a key group and a termination value G necessary for sanitizing the disclosed block in the sanitized data from the received intermediate value.
Next, the signature verification unit 224 creates the verification target data by sanitizing the disclosed block and combining it with the terminal value G.
Finally, the signature target data is extracted from the signature using the verification key and compared with the verification target data. If they match, it can be verified that no tampering other than sanitization has occurred.

次に、墨塗り装置102が検証装置103に墨塗りデータを送信した後、一部または全部の墨塗り部分を開示する方法を説明する。
ここでは図16を用いて、全てのブロックが墨塗りされた状態から、M…Mを開示する場合を例にして説明する。
この場合、鍵群K…Kを導出するのにaが必要であり、終端値Gを導出するのにb58が必要であるから、墨塗り装置102から検証装置103に対してaおよびb58を送付すればよい。
検証装置103はaおよびb58を受け取ると、鍵群K、…、Kと終端値Gを導出する。
次に、終端値Gを検証する。
もし終端値Gが当初の墨塗りデータを検証した際に計算していた終端値Gと異なっていれば、署名時とは異なる鍵群が用いられていることが分かるので処理を中止する。
一致していれば、最後に鍵群K…Kを用いて墨を取り除いてM…Mを復元する。
Next, a method for disclosing a part or all of the sanitized portion after the sanitizing device 102 transmits the sanitized data to the verification device 103 will be described.
Here, an example in which M 1 ... M 4 is disclosed from a state in which all the blocks are painted out will be described with reference to FIG.
In this case, a 1 is required to derive the key group K 1 ... K 4 and b 58 is required to derive the terminal value G. 1 and b 58 may be sent.
Upon receipt of a 1 and b 58 , the verification device 103 derives a key group K 1 ,..., K 4 and a termination value G.
Next, the termination value G is verified.
If the termination value G is different from the termination value G calculated when the initial sanitization data is verified, it is understood that a key group different from that used at the time of signature is used, and the processing is stopped.
If they match, to restore the M 1 ... M 4 to remove the ink with the end of the key group K 1 ... K 4.

最後に、墨塗り部分の事後の開示の可否を制御する方法を説明する。
ここでは複数の墨塗り装置がある場合を取り上げ、墨塗り装置Aが墨塗り装置Bへ墨塗りデータを送る際に事後の開示の可否を制御する方法を説明する。
また、元データはM…Mの8ブロックであり、図16の鍵群および終端値により署名されているものとする。
Finally, a method for controlling the possibility of subsequent disclosure of the sanitized portion will be described.
Here, a case where there are a plurality of sanitizing apparatuses will be described, and a method of controlling whether or not subsequent disclosure is possible when the sanitizing apparatus A sends sanitizing data to the sanitizing apparatus B will be described.
Further, the original data is assumed to be 8 blocks of M 1 ... M 8 and signed with the key group and the termination value in FIG.

墨塗り装置Aは署名装置101から元データ、初期値、署名を受け取り、データブロックM…Mを墨塗りしてC…Cにし、Mを開示しておくものとする。
そしてCの事後の開示を不可にした上で墨塗りデータ、中間値、署名を墨塗り装置Bに渡すものとする。
この場合、中間値としては、検証時の墨塗りのためにKが導出できなければならず、また事後の開示のためにK…Kが導出できなければならない。
そして、Cの事後の開示を防止するためKが導出できないようなものでなければならない。
以上のことから、墨塗り装置Aは中間値としてb、K、a12、およびaを選択する。
The sanitizing apparatus A receives the original data, the initial value, and the signature from the signature apparatus 101, sanitizes the data blocks M 1 ... M 7 to C 1 ... C 7 , and discloses M 8 .
The sanitizing data, intermediate value on that disables the disclosure of post C 1, signatures shall be passed to the sanitizing device B.
In this case, as an intermediate value, K 8 must be derived for sanitization at the time of verification, and K 2 ... K 7 must be derived for subsequent disclosure.
It must be such that K 1 cannot be derived to prevent subsequent disclosure of C 1 .
From the above, the sanitizing apparatus A selects b 1 , K 2 , a 12 , and a 2 as intermediate values.

以上のように、本実施の形態によれば、デジタルデータを任意の大きさのブロックに分割し、ブロックごとの墨塗りと、事後の開示とを可能にする電子署名方式を実現することができる。
特に、事後の開示の場合、データそのものを送付することなく中間値を送付するのみで実現できるため、従来の技術に比べ墨塗り装置と検証装置との間の通信量を削減することができる。
As described above, according to the present embodiment, it is possible to realize an electronic signature scheme that divides digital data into blocks of an arbitrary size and enables sanitization for each block and subsequent disclosure. .
In particular, in the case of subsequent disclosure, since it can be realized only by sending an intermediate value without sending the data itself, the amount of communication between the sanitizing device and the verification device can be reduced as compared with the conventional technique.

また、本実施の形態によれば、墨塗り部分についての事後の開示の可否を制御可能な電子署名方式を実現することができる。   In addition, according to the present embodiment, it is possible to realize an electronic signature method that can control whether or not subsequent disclosure of the sanitized portion is possible.

また、本実施の形態によれば、2つの可換な一方向性関数を用いることなく、上記電子署名方式を実現することができる。   In addition, according to the present embodiment, it is possible to realize the electronic signature method without using two commutative one-way functions.

以上、本実施の形態では、同じく任意のブロックの墨塗り/墨の取り除きを可能にするために、一方向性関数を用いて木構造を形成したことを説明した。   As described above, in the present embodiment, it has been described that the tree structure is formed using the one-way function in order to enable the sanitization / removal of the black of any block.

以上、様々な実施の形態を示して本発明を説明したが、当業者であれば、本発明の趣旨と範囲は本明細書内の特定の説明に限定されるものではないことが理解されることは言うまでもない。
したがって、例えばブロックごとの墨塗りとビットごとの墨塗りとを組み合わせ、デジタルデータのある領域はブロックに分割して墨塗りをし、ある領域はビットごとの墨塗りをするということも可能である。
あるいは、実施の形態3の方式において、鍵のハードコアビットをとることによりビットごとの墨塗りをすることも可能である。
Although the present invention has been described with reference to various embodiments, those skilled in the art will understand that the spirit and scope of the present invention are not limited to the specific description in the present specification. Needless to say.
Therefore, for example, it is possible to combine black ink for each block and black ink for each bit, divide a certain area of digital data into blocks, and apply black ink for each area. .
Alternatively, in the system of the third embodiment, it is possible to sanitize each bit by taking the hard core bit of the key.

最後に、実施の形態1〜3に示した署名装置101、墨塗り装置102、検証装置103のハードウェア構成例について説明する。
図17は、実施の形態1〜3に示す署名装置101、墨塗り装置102、検証装置103のハードウェア資源の一例を示す図である。
なお、図17の構成は、あくまでも署名装置101、墨塗り装置102、検証装置103のハードウェア構成の一例を示すものであり、署名装置101、墨塗り装置102、検証装置103のハードウェア構成は図17に記載の構成に限らず、他の構成であってもよい。
Finally, a hardware configuration example of the signature device 101, the sanitizing device 102, and the verification device 103 described in the first to third embodiments will be described.
FIG. 17 is a diagram illustrating an example of hardware resources of the signature device 101, the sanitizing device 102, and the verification device 103 described in the first to third embodiments.
Note that the configuration in FIG. 17 is merely an example of the hardware configuration of the signature device 101, the sanitizing device 102, and the verification device 103. The hardware configuration of the signature device 101, the sanitizing device 102, and the verification device 103 is as follows. It is not limited to the configuration shown in FIG.

図17において、署名装置101、墨塗り装置102、検証装置103は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
通信ボード915、キーボード902、マウス903、スキャナ装置907、FDD904などは、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
In FIG. 17, the signature device 101, the sanitizing device 102, and the verification device 103 include a CPU 911 (also referred to as a central processing unit, a central processing unit, a processing device, an arithmetic device, a microprocessor, a microcomputer, and a processor) that executes a program. ing.
The CPU 911 is connected to, for example, a ROM (Read Only Memory) 913, a RAM (Random Access Memory) 914, a communication board 915, a display device 901, a keyboard 902, a mouse 903, and a magnetic disk device 920 via a bus 912. Control hardware devices.
Further, the CPU 911 may be connected to an FDD 904 (Flexible Disk Drive), a compact disk device 905 (CDD), a printer device 906, and a scanner device 907. Further, instead of the magnetic disk device 920, a storage device such as an optical disk device or a memory card (registered trademark) read / write device may be used.
The RAM 914 is an example of a volatile memory. The storage media of the ROM 913, the FDD 904, the CDD 905, and the magnetic disk device 920 are an example of a nonvolatile memory. These are examples of the storage device.
A communication board 915, a keyboard 902, a mouse 903, a scanner device 907, an FDD 904, and the like are examples of input devices.
The communication board 915, the display device 901, the printer device 906, and the like are examples of output devices.

通信ボード915は、図1に示すように、ネットワークに接続されている。例えば、通信ボード915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)などに接続されていても構わない。   As shown in FIG. 1, the communication board 915 is connected to a network. For example, the communication board 915 may be connected to a LAN (local area network), the Internet, a WAN (wide area network), or the like.

磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
The magnetic disk device 920 stores an operating system 921 (OS), a window system 922, a program group 923, and a file group 924.
The programs in the program group 923 are executed by the CPU 911 using the operating system 921 and the window system 922.

また、RAM914には、CPU911に実行させるオペレーティングシステム921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
The RAM 914 temporarily stores at least part of the operating system 921 program and application programs to be executed by the CPU 911.
The RAM 914 stores various data necessary for processing by the CPU 911.

また、ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
署名装置101、墨塗り装置102、検証装置103の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
The ROM 913 stores a BIOS (Basic Input Output System) program, and the magnetic disk device 920 stores a boot program.
When the signature device 101, the sanitizing device 102, and the verification device 103 are activated, the BIOS program in the ROM 913 and the boot program in the magnetic disk device 920 are executed, and the operating system 921 is activated by the BIOS program and the boot program.

上記プログラム群923には、実施の形態1〜3の説明において「〜部」として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。   The program group 923 stores a program for executing the function described as “˜unit” in the description of the first to third embodiments. The program is read and executed by the CPU 911.

ファイル群924には、実施の形態1〜3の説明において、「〜の判断」、「〜の計算」、「〜の算出」、「〜の生成」、「〜の比較」、「〜の評価」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1〜3で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
In the description of the first to third embodiments, the file group 924 includes “determination of”, “calculation of”, “calculation of”, “generation of”, “comparison of”, and “evaluation of”. ”,“ Update of ”,“ setting of ”,“ registration of ”,“ selection of ”, etc. It is stored as each item of "~ file" and "~ database".
The “˜file” and “˜database” are stored in a recording medium such as a disk or a memory. Information, data, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to the main memory or cache memory by the CPU 911 via a read / write circuit, and extracted, searched, referenced, compared, and calculated. Used for CPU operations such as calculation, processing, editing, output, printing, and display.
Information, data, signal values, variable values, and parameters are stored in the main memory, registers, cache memory, and buffers during the CPU operations of extraction, search, reference, comparison, calculation, processing, editing, output, printing, and display. It is temporarily stored in a memory or the like.
In addition, arrows in the flowcharts described in the first to third embodiments mainly indicate input / output of data and signals, and the data and signal values are the memory of the RAM 914, the flexible disk of the FDD904, the compact disk of the CDD905, and the magnetic field. Recording is performed on a recording medium such as a magnetic disk of the disk device 920, other optical disks, mini disks, DVDs, and the like. Data and signals are transmitted online via a bus 912, signal lines, cables, or other transmission media.

また、実施の形態1〜3の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、実施の形態1〜3の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態1〜3の「〜部」の手順や方法をコンピュータに実行させるものである。   In addition, what is described as “˜unit” in the description of the first to third embodiments may be “˜circuit”, “˜device”, “˜device”, and “˜step”, It may be “˜procedure” or “˜processing”. That is, what is described as “˜unit” may be realized by firmware stored in the ROM 913. Alternatively, it may be implemented only by software, only hardware such as elements, devices, substrates, wirings, etc., or a combination of software and hardware, and further a combination of firmware. Firmware and software are stored as programs in a recording medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, and a DVD. The program is read by the CPU 911 and executed by the CPU 911. That is, the program causes the computer to function as “to part” in the first to third embodiments. Alternatively, the computer executes the procedure and method of “to part” in the first to third embodiments.

このように、実施の形態1〜3に示す署名装置101、墨塗り装置102、検証装置103は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。   As described above, the signature device 101, the sanitizing device 102, and the verification device 103 described in the first to third embodiments are a CPU as a processing device, a memory as a storage device, a magnetic disk, etc., a keyboard as an input device, a mouse, a communication board, and the like. , A computer including a display device, a communication board, and the like as an output device, and as described above, the functions indicated as "-units" are realized using these processing devices, storage devices, input devices, and output devices. .

実施の形態1に係るシステム構成例を示す図。FIG. 3 is a diagram illustrating an example of a system configuration according to the first embodiment. 実施の形態1に係る署名装置の構成例を示す図。FIG. 3 is a diagram illustrating a configuration example of a signature device according to the first embodiment. 実施の形態1に係る墨塗り装置の構成例を示す図。1 is a diagram illustrating a configuration example of a sanitizing apparatus according to Embodiment 1. FIG. 実施の形態1に係る検証装置の構成例を示す図。FIG. 3 shows a configuration example of a verification apparatus according to the first embodiment. 実施の形態1に係る初期値から中間値群、鍵群、終端値を生成する例を示す図。FIG. 6 is a diagram showing an example of generating an intermediate value group, a key group, and a termination value from initial values according to the first embodiment. 実施の形態1に係る電子署名を生成する手順を示す図。FIG. 3 is a diagram illustrating a procedure for generating an electronic signature according to the first embodiment. 実施の形態1に係る電子署名を生成する手順を示すフローチャート図。FIG. 3 is a flowchart showing a procedure for generating an electronic signature according to the first embodiment. 実施の形態1に係る墨塗りデータを生成する手順を示すフローチャート図。FIG. 3 is a flowchart showing a procedure for generating sanitization data according to the first embodiment. 実施の形態1に係る墨塗りデータに対して検証を行う手順を示すフローチャート図。FIG. 3 is a flowchart showing a procedure for performing verification on sanitized data according to the first embodiment. 実施の形態1に係る墨塗りデータから検証対象データを導出する手順を示す図。FIG. 4 is a diagram showing a procedure for deriving verification target data from sanitized data according to the first embodiment. 実施の形態1に係る墨塗り部分を開示する手順を示すフローチャート図。FIG. 3 is a flowchart showing a procedure for disclosing a sanitized portion according to the first embodiment. 実施の形態2に係る電子署名を生成する手順を示すフローチャート図。FIG. 9 is a flowchart showing a procedure for generating an electronic signature according to the second embodiment. 実施の形態2に係る電子署名を生成する手順を示すフローチャート図。FIG. 9 is a flowchart showing a procedure for generating an electronic signature according to the second embodiment. 実施の形態2に係る墨塗りデータを生成する手順を示すフローチャート図。FIG. 9 is a flowchart showing a procedure for generating sanitization data according to the second embodiment. 実施の形態2に係る墨塗りデータに対して検証を行う手順を示すフローチャート図。FIG. 9 is a flowchart showing a procedure for verifying sanitized data according to the second embodiment. 実施の形態3に係る中間値群のツリー構造を示すフローチャート図。FIG. 10 is a flowchart showing a tree structure of an intermediate value group according to the third embodiment. 実施の形態1〜3に係る署名装置、墨塗り装置及び検証装置のハードウェア構成例を示す図。The figure which shows the hardware structural example of the signature apparatus, sanitizing apparatus, and verification apparatus which concern on Embodiment 1-3.

符号の説明Explanation of symbols

101 署名装置、102 墨塗り装置、103 検証装置、104 ネットワーク、105 元データ、106 署名、107 初期値、108 署名鍵、109 墨塗りデータ、110 中間値、111 検証鍵、201 データ入出力部、202 ユーザ入力部、203 表示部、204 初期値生成部、205 署名生成部、211 データ入出力部、212 ユーザ入力部、213 表示部、214 墨塗り部、215 中間値記憶部、221 データ入出力部、222 ユーザ入力部、223 表示部、224 署名検証部。   DESCRIPTION OF SYMBOLS 101 Signature apparatus, 102 Blacking apparatus, 103 Verification apparatus, 104 Network, 105 Original data, 106 Signature, 107 Initial value, 108 Signature key, 109 Blacking data, 110 Intermediate value, 111 Verification key, 201 Data input / output part 202 User input unit, 203 display unit, 204 initial value generation unit, 205 signature generation unit, 211 data input / output unit, 212 user input unit, 213 display unit, 214 sanitizing unit, 215 intermediate value storage unit, 221 data input / output Part, 222 user input part, 223 display part, 224 signature verification part.

Claims (20)

デジタルデータに対する電子署名を生成する署名装置と、デジタルデータに対する電子署名を検証するとともに検証に成功したデジタルデータを表示する検証装置との間で、デジタルデータにおける開示を制限する処理を行う開示制限処理装置であって、
前記署名装置が管理するn(n≧2)個のパーツに分けることができるデジタルデータと、前記署名装置が生成した初期値と、前記署名装置が所定の演算手順に従って一方向性演算を行って前記初期値から生成したn個の鍵を用いて暗号化したデジタルデータのn個のパーツと一方向性演算を規定回数行った後に得られる終端値とに対して生成した電子署名とを入力するデータ入力部と、
入力した前記初期値に対して、前記署名装置と同じ演算手順にて一方向性演算を行ってn個の鍵を順序付けて生成する鍵生成部と、
前記デジタルデータを順序付けてn個のパーツに分け、n個のパーツのうちの1つ以上のパーツを対象パーツとして指定し、前記鍵生成部により生成されたn個の鍵のうち対応する順序の鍵を用いて各対象パーツに対して暗号化処理又は復号処理を行い、1つ以上のパーツが暗号化されている開示制限デジタルデータを生成する開示制限デジタルデータ生成部と、
前記鍵生成部によるn個の鍵の生成過程において導出される複数の中間値の中から、前記開示制限デジタルデータのパーツのうち暗号化されていない非暗号化パーツを前記検証装置が暗号化する際に用いる中間値を前記署名装置における演算手順に基づいて暗号用中間値として抽出する中間値抽出部と、
前記開示制限デジタルデータと、前記電子署名と、前記暗号用中間値とを出力するデータ出力部とを有することを特徴とする開示制限処理装置。
Disclosure restriction processing for restricting disclosure in digital data between a signature device that generates an electronic signature for the digital data and a verification device that verifies the digital signature for the digital data and displays the digital data that has been successfully verified. A device,
Digital data that can be divided into n (n ≧ 2) parts managed by the signature device, an initial value generated by the signature device, and a one-way calculation performed by the signature device according to a predetermined calculation procedure. The digital signature generated for the n parts of the digital data encrypted using the n keys generated from the initial value and the terminal value obtained after performing the unidirectional calculation a prescribed number of times are input. A data input section;
A key generation unit that generates n keys in order by performing a one-way operation on the input initial value in the same operation procedure as the signature device;
The digital data is ordered and divided into n parts, one or more parts of the n parts are designated as target parts, and the corresponding order of the n keys generated by the key generation unit A disclosure restriction digital data generation unit that performs encryption processing or decryption processing on each target part using a key and generates disclosure restriction digital data in which one or more parts are encrypted;
The verification device encrypts unencrypted parts that are not encrypted among the parts of the disclosure-restricted digital data from among a plurality of intermediate values derived in the process of generating n keys by the key generation unit. An intermediate value extraction unit that extracts an intermediate value used as a cryptographic intermediate value based on a calculation procedure in the signature device;
A disclosure restriction processing apparatus comprising: a data output unit that outputs the disclosure restriction digital data, the electronic signature, and the encryption intermediate value.
前記中間値抽出部は、
前記暗号用中間値として、前記検証装置が前記署名装置と同じ演算手順にて一方向性演算を行うことで非暗号化パーツを暗号化する暗号鍵が生成できる中間値を抽出することを特徴とする請求項1に記載の開示制限処理装置。
The intermediate value extraction unit
As the encryption intermediate value, the verification device extracts an intermediate value that can generate an encryption key for encrypting an unencrypted part by performing a one-way operation in the same operation procedure as the signature device. The disclosure restriction processing apparatus according to claim 1.
前記開示制限処理装置は、更に、
前記データ出力部により前記開示制限デジタルデータが出力された後に、前記開示制限デジタルデータに含まれる暗号化されている暗号化パーツのうち開示制限が解除される暗号化パーツを制限解除パーツとして指定する制限解除パーツ指定部を有し、
前記中間値抽出部は、
前記鍵生成部によるn個の鍵の生成過程において導出される複数の中間値の中から、前記検証装置が前記制限解除パーツを復号する際に用いる中間値を前記署名装置における演算手順に基づいて復号用中間値として抽出し、
前記データ出力部は、
前記中間値抽出部により抽出された前記復号用中間値を出力することを特徴とする請求項1又は2に記載の開示制限処理装置。
The disclosure restriction processing device further includes:
After the disclosure restriction digital data is output by the data output unit, an encrypted part whose disclosure restriction is released is specified as a restriction release part among encrypted parts included in the disclosure restriction digital data. There is a restriction release part designation part,
The intermediate value extraction unit
Based on an arithmetic procedure in the signature device, an intermediate value used when the verification device decrypts the restriction release part from among a plurality of intermediate values derived in the generation process of n keys by the key generation unit. Extract as an intermediate value for decryption,
The data output unit includes:
The disclosure restriction processing apparatus according to claim 1, wherein the decoding intermediate value extracted by the intermediate value extraction unit is output.
前記中間値抽出部は、
前記復号用中間値として、前記検証装置が前記署名装置と同じ演算手順にて一方向性演算を行うことで制限解除パーツを復号する復号鍵が生成できる中間値を抽出することを特徴とする請求項3に記載の開示制限処理装置。
The intermediate value extraction unit
The intermediate value for extracting a decryption key for decrypting the restriction release part is extracted as the intermediate value for decryption by performing a one-way operation by the verification device in the same operation procedure as the signature device. Item 4. The disclosure restriction processing device according to Item 3.
前記データ入力部は、
前記署名装置が可換な2つの一方向性関数を組み合わせて一方向性演算を行って前記初期値から生成したn個の鍵を用いて暗号化したデジタルデータのn個のパーツと2つの一方向性関数を組み合わせた一方向性演算を規定回数行った後に得られる終端値とに対して生成した電子署名を入力し、
前記鍵生成部は、
入力された前記初期値に対して、前記署名装置と同じ演算手順にて2つの一方向性関数を組み合わせた一方向性演算を行ってn個の鍵を生成することを特徴とする請求項1〜4のいずれかに記載の開示制限処理装置。
The data input unit includes:
The signing device combines two commutative one-way functions to perform a one-way operation and uses n keys generated from the initial value to encrypt n parts and two ones. Enter the generated electronic signature for the terminal value obtained after performing the specified number of one-way operations combined with the direction function,
The key generation unit
2. The n keys are generated by performing a one-way operation combining two one-way functions on the input initial value by the same calculation procedure as that of the signature device. The disclosure restriction processing device according to any one of?
前記鍵生成部は、
2つの一方向性関数の組合せパターンをn通り記憶し、n通りの組合せパターンに従って一方向性演算を行い、n個の鍵を生成することを特徴とする請求項5に記載の開示制限処理装置。
The key generation unit
6. The disclosure restriction processing apparatus according to claim 5, wherein n combinations of two unidirectional functions are stored, n-directional calculation is performed according to the n combinations, and n keys are generated. .
前記中間値抽出部は、
前記鍵生成部によるn個の鍵の生成過程において導出された複数の中間値の中から、前記検証装置が前記終端値を導出するために必要な中間値を前記署名装置における演算手順に基づいて終端値用中間値として抽出し、
前記データ出力部は、
前記開示制限デジタルデータと、前記電子署名と、前記暗号用中間値と、前記終端値用中間値とを出力することを特徴とする請求項1〜4のいずれかに記載の開示制限処理装置。
The intermediate value extraction unit
Based on a calculation procedure in the signature device, an intermediate value necessary for the verification device to derive the terminal value out of a plurality of intermediate values derived in the generation process of n keys by the key generation unit. Extract as an intermediate value for the end value,
The data output unit includes:
5. The disclosure restriction processing apparatus according to claim 1, wherein the disclosure restriction digital data, the electronic signature, the encryption intermediate value, and the terminal value intermediate value are output.
前記開示制限処理装置は、更に、
前記データ出力部により前記開示制限デジタルデータが出力された後に、前記開示制限デジタルデータに含まれる暗号化されている暗号化パーツのうち開示制限が解除される暗号化パーツを制限解除パーツとして指定する制限解除パーツ指定部を有し、
前記中間値抽出部は、
前記鍵生成部によるn個の鍵の生成過程において導出される複数の中間値の中から、前記制限解除パーツを前記検証装置が復号する際に用いる中間値を前記署名装置における演算手順に基づいて復号用中間値として抽出するとともに、前記復号用中間値以外の中間値であって、前記検証装置が前記終端値を導出するために必要な中間値を前記署名装置における演算手順に基づいて終端値用中間値として抽出し、
前記データ出力部は、
前記中間値抽出部により抽出された前記復号用中間値と前記終端値用中間値とを出力することを特徴とする請求項1〜4、7のいずれかに記載の開示制限処理装置。
The disclosure restriction processing device further includes:
After the disclosure restriction digital data is output by the data output unit, an encrypted part whose disclosure restriction is released is specified as a restriction release part among encrypted parts included in the disclosure restriction digital data. There is a restriction release part designation part,
The intermediate value extraction unit
Based on a calculation procedure in the signature device, an intermediate value used when the verification device decrypts the restriction release part from among a plurality of intermediate values derived in the generation process of n keys by the key generation unit. An intermediate value that is extracted as an intermediate value for decryption and that is an intermediate value other than the intermediate value for decryption and that is necessary for the verification device to derive the end value is based on an arithmetic procedure in the signature device. As an intermediate value for
The data output unit includes:
8. The disclosure restriction processing apparatus according to claim 1, wherein the decoding intermediate value and the terminal value intermediate value extracted by the intermediate value extraction unit are output.
デジタルデータに対する電子署名を生成する署名装置と、デジタルデータに対する電子署名を検証するとともに検証に成功したデジタルデータを表示する検証装置との間で、デジタルデータにおける開示を制限する処理を行う開示制限処理装置であって、
前記署名装置が管理するn(n≧2)個のパーツに分けることができるデジタルデータと、前記署名装置が所定の演算手順に従って一方向性演算を行って初期値から生成した順序付けられたn個の鍵と、n個の鍵の生成過程において導出された複数の中間値と、前記署名装置がn個の鍵を用いて暗号化したデジタルデータのn個のパーツと一方向性演算を規定回数行った後に得られる終端値とに対して生成した電子署名とを入力するデータ入力部と、
前記デジタルデータを順序付けてn個のパーツに分け、n個のパーツのうちの1つ以上のパーツを対象パーツとして指定し、前記データ入力部により入力されたn個の鍵のうち対応する順序の鍵を用いて各対象パーツに対して暗号化処理又は復号処理を行い、1つ以上のパーツが暗号化されている開示制限デジタルデータを生成する開示制限デジタルデータ生成部と、
前記データ入力部により入力された複数の中間値の中から、前記開示制限デジタルデータのパーツのうち暗号化されていない非暗号化パーツを前記検証装置が暗号化する際に用いる中間値を前記署名装置における演算手順に基づいて暗号用中間値として抽出する中間値抽出部と、
前記開示制限デジタルデータと、前記電子署名と、前記暗号用中間値とを出力するデータ出力部とを有することを特徴とする開示制限処理装置。
Disclosure restriction processing for restricting disclosure in digital data between a signature device that generates an electronic signature for the digital data and a verification device that verifies the digital signature for the digital data and displays the digital data that has been successfully verified. A device,
Digital data that can be divided into n (n ≧ 2) parts managed by the signature device, and an ordered n number generated from an initial value by the signature device performing a one-way operation according to a predetermined calculation procedure Key, a plurality of intermediate values derived in the process of generating n keys, and n parts of digital data encrypted with n keys by the signing device and a one-way operation a specified number of times A data input unit for inputting the generated electronic signature with respect to the terminal value obtained after being performed;
The digital data is ordered and divided into n parts, one or more parts of the n parts are designated as target parts, and the corresponding order among the n keys input by the data input unit. A disclosure restriction digital data generation unit that performs encryption processing or decryption processing on each target part using a key and generates disclosure restriction digital data in which one or more parts are encrypted;
Among the plurality of intermediate values input by the data input unit, an intermediate value used when the verification device encrypts an unencrypted unencrypted part of the parts of the disclosure restricted digital data is the signature. An intermediate value extraction unit that extracts an intermediate value for encryption based on a calculation procedure in the apparatus;
A disclosure restriction processing apparatus comprising: a data output unit that outputs the disclosure restriction digital data, the electronic signature, and the encryption intermediate value.
前記開示制限処理装置は、更に、
前記データ出力部により前記開示制限デジタルデータが出力された後に、前記開示制限デジタルデータに含まれる暗号化されている暗号化パーツのうち開示制限が解除される暗号化パーツを制限解除パーツとして指定する制限解除パーツ指定部を有し、
前記中間値抽出部は、
前記データ入力部により入力された複数の中間値の中から、前記制限解除パーツを前記検証装置が復号する際に用いる中間値を前記署名装置における演算手順に基づいて復号用中間値として抽出し、
前記データ出力部は、
前記中間値抽出部により抽出された前記復号用中間値を出力することを特徴とする請求項9に記載の開示制限処理装置。
The disclosure restriction processing device further includes:
After the disclosure restriction digital data is output by the data output unit, an encrypted part whose disclosure restriction is released is specified as a restriction release part among encrypted parts included in the disclosure restriction digital data. There is a restriction release part designation part,
The intermediate value extraction unit
From among a plurality of intermediate values input by the data input unit, an intermediate value used when the verification device decrypts the restriction release part is extracted as a decoding intermediate value based on a calculation procedure in the signature device,
The data output unit includes:
The disclosure restriction processing apparatus according to claim 9, wherein the decoding intermediate value extracted by the intermediate value extraction unit is output.
前記データ入力部は、
前記署名装置が可換な2つの一方向性関数を組み合わせて一方向性演算を行って前記初期値から生成したn個の鍵と、前記署名装置がn個の鍵を用いて暗号化したデジタルデータのn個のパーツと2つの一方向性関数を組み合わせた一方向性演算を規定回数行った後に得られる終端値とに対して生成した電子署名とを入力することを特徴とする請求項9又は10に記載の開示制限処理装置。
The data input unit includes:
N keys generated from the initial value by performing a one-way operation by combining two commutative one-way functions of the signing device, and a digital encrypted by the signing device using the n keys 10. A digital signature generated for a terminal value obtained after performing a one-way operation combining n parts of data and two one-way functions a prescribed number of times is input. Or the disclosure restriction processing device according to 10.
前記中間値抽出部は、
前記鍵生成部によるn個の鍵の生成過程において導出された複数の中間値の中から、前記暗号用中間値以外の中間値であって、前記検証装置が前記終端値を導出するために必要な中間値を前記署名装置における演算手順に基づいて終端値用中間値として抽出し、
前記データ出力部は、
前記開示制限デジタルデータと、前記電子署名と、前記暗号用中間値と、前記終端値用中間値とを出力することを特徴とする請求項9又は10に記載の開示制限処理装置。
The intermediate value extraction unit
Among a plurality of intermediate values derived in the process of generating n keys by the key generation unit, it is an intermediate value other than the encryption intermediate value and is necessary for the verification device to derive the terminal value An intermediate value is extracted as an intermediate value for the end value based on the calculation procedure in the signature device,
The data output unit includes:
The disclosure restriction processing apparatus according to claim 9 or 10, wherein the disclosure restriction digital data, the electronic signature, the encryption intermediate value, and the terminal value intermediate value are output.
前記データ入力部は、
2nビット以上のデジタルデータを入力し、
前記開示制限デジタルデータ生成部は、
前記デジタルデータを、各々が少なくとも1ビットn個のブロックに分けることを特徴とする請求項1〜12のいずれかに記載の開示制限処理装置。
The data input unit includes:
Input digital data of 2n bits or more,
The disclosure restriction digital data generation unit
The disclosed restriction processing apparatus according to claim 1, wherein each of the digital data is divided into at least 1-bit n blocks.
前記データ入力部は、
nビットのデジタルデータを入力し、
前記開示制限デジタルデータ生成部は、
前記デジタルデータをビットごとにn個に分けることを特徴とする請求項1〜12のいずれかに記載の開示制限処理装置。
The data input unit includes:
Input n-bit digital data,
The disclosure restriction digital data generation unit
The disclosure restriction processing apparatus according to claim 1, wherein the digital data is divided into n pieces for each bit.
前記開示制限デジタルデータ生成部は、
前記デジタルデータのいずれかのビットを対象ビットとして指定し、対応する順序の鍵のハードコアビットを用いて各対象ビットに対して暗号化処理又は復号処理を行い、1つ以上のビットが暗号化されている開示制限デジタルデータを生成することを特徴とする請求項14に記載の開示制限処理装置。
The disclosure restriction digital data generation unit
One of the bits of the digital data is designated as a target bit and one or more bits are encrypted by performing encryption processing or decryption processing on each target bit using the hard core bits of the key in the corresponding order 15. The disclosure restriction processing apparatus according to claim 14, wherein the disclosure restriction digital data is generated.
デジタルデータに対する電子署名を署名鍵を用いて生成する署名装置と、
デジタルデータに対する電子署名を検証鍵を用いて検証するとともに検証に成功したデジタルデータを表示する検証装置と、
デジタルデータにおける開示を制限する処理を行う開示制限処理装置とを有するデータ処理システムであって、
前記署名装置は、
デジタルデータを順序付けてn(n≧2)個のパーツに分け、
鍵の生成に用いる初期値を生成し、所定の演算手順に従って一方向性演算を行って前記初期値からn個の鍵を順序付けて生成するとともに、一方向性演算を規定回数行って終端値を生成し、
各々に対応する順序の鍵を用いてデジタルデータのn個のパーツを暗号化し、暗号化したn個のパーツと前記終端値とに対して前記署名鍵を用いて電子署名を生成し、
前記デジタルデータと、前記初期値と、前記電子署名とを出力し、
前記開示制限処理装置は、
前記署名装置から出力された前記デジタルデータと、前記初期値と、前記電子署名とを入力し、
入力した前記初期値に対して、前記署名装置と同じ演算手順にて一方向性演算を行ってn個の鍵を順序付けて生成し、
入力した前記デジタルデータを順序付けてn個のパーツに分け、n個のパーツのうちの1つ以上のパーツを対象パーツとして指定し、生成したn個の鍵のうち対応する順序の鍵を用いて各対象パーツに対して暗号化処理又は復号処理を行い、1つ以上のパーツが暗号化されている開示制限デジタルデータを生成し、
n個の鍵の生成過程において導出される複数の中間値の中から、前記開示制限デジタルデータのパーツのうち暗号化されていない非暗号化パーツを前記検証装置が暗号化する際に用いる中間値を前記署名装置における演算手順に基づいて暗号用中間値として抽出し、
前記開示制限デジタルデータと、前記電子署名と、前記暗号用中間値とを出力し、
前記検証装置は、
前記開示制限処理装置から出力された前記開示制限デジタルデータと、前記電子署名と、前記暗号用中間値とを入力し、
前記署名装置における演算手順に基づいて、前記暗号用中間値を用いて、前記終端値を導出するとともに、各非暗号化パーツの暗号化に用いる暗号鍵を導出し、
導出した暗号鍵を用いて各非暗号化パーツの暗号化処理を行い、前記開示制限デジタルデータのn個のパーツが全て暗号化された状態にし、
前記電子署名に対して前記検証鍵を用いて暗号化されたn個のパーツ及び終端値を抽出し、
前記電子署名から抽出した暗号化されたn個のパーツ及び終端値と、前記開示制限デジタルデータにおける暗号化されたn個のパーツ及び導出した終端値とを比較することを特徴とするデータ処理システム。
A signature device that generates a digital signature for digital data using a signature key;
A verification device for verifying an electronic signature for digital data using a verification key and displaying the digital data successfully verified;
A data processing system having a disclosure restriction processing device that performs processing for restricting disclosure in digital data,
The signing device is:
Digital data is ordered and divided into n (n ≧ 2) parts,
An initial value used for key generation is generated, a one-way operation is performed in accordance with a predetermined calculation procedure to generate n keys in order from the initial value, and a one-way operation is performed a specified number of times to obtain a termination value. Generate
Encrypting n parts of the digital data using keys in the order corresponding to each of them, generating an electronic signature using the signature key for the encrypted n parts and the terminal value,
Outputting the digital data, the initial value, and the electronic signature;
The disclosure restriction processing device includes:
Input the digital data output from the signature device, the initial value, and the electronic signature,
The input initial value is generated by ordering n keys by performing a one-way operation in the same operation procedure as the signature device,
The inputted digital data is ordered and divided into n parts, one or more parts of the n parts are designated as target parts, and the keys in the corresponding order among the generated n keys are used. Perform encryption processing or decryption processing on each target part to generate disclosure restricted digital data in which one or more parts are encrypted,
An intermediate value used when the verification device encrypts an unencrypted unencrypted part among the parts of the disclosure restricted digital data among a plurality of intermediate values derived in the generation process of n keys. Is extracted as an intermediate value for encryption based on a calculation procedure in the signature device,
Outputting the disclosure-restricted digital data, the electronic signature, and the encryption intermediate value;
The verification device includes:
Input the disclosure restriction digital data output from the disclosure restriction processing device, the electronic signature, and the encryption intermediate value,
Based on the calculation procedure in the signature device, the intermediate value for encryption is used to derive the terminal value, and the encryption key used for encryption of each non-encrypted part is derived,
Perform encryption processing of each non-encrypted part using the derived encryption key, and make all n parts of the disclosure restricted digital data encrypted,
Extracting n parts and termination values encrypted using the verification key for the electronic signature;
A data processing system that compares n encrypted parts and terminal values extracted from the electronic signature with the encrypted n parts and derived terminal values in the disclosure-restricted digital data. .
前記開示制限処理装置は、
前記開示制限デジタルデータを出力した後に、前記開示制限デジタルデータに含まれる暗号化されている暗号化パーツのうち開示制限が解除される暗号化パーツを制限解除パーツとして指定し、
n個の鍵の生成過程において導出される複数の中間値の中から、前記検証装置が前記制限解除パーツを復号する際に用いる中間値を前記署名装置における演算手順に基づいて復号用中間値として抽出し、
抽出した前記復号用中間値を出力し、
前記検証装置は、
前記開示制限処理装置から出力された前記復号用中間値を入力し、
前記署名装置における演算手順に基づいて、前記復号用中間値を用いて、各制限解除パーツの復号に用いる復号鍵を導出し、
導出した復号鍵を用いて各制限解除パーツを復号することを特徴とする請求項16に記載のデータ処理システム。
The disclosure restriction processing device includes:
After outputting the disclosure restriction digital data, an encrypted part whose disclosure restriction is released among encrypted parts included in the disclosure restriction digital data is designated as a restriction release part,
From among a plurality of intermediate values derived in the generation process of n keys, an intermediate value used when the verification device decrypts the restriction release part is used as a decryption intermediate value based on a calculation procedure in the signature device. Extract and
Output the extracted intermediate value for decoding,
The verification device includes:
Input the intermediate value for decryption output from the disclosure restriction processing device,
Based on the calculation procedure in the signature device, the decryption intermediate value is used to derive a decryption key used for decryption of each restriction release part,
The data processing system according to claim 16, wherein each restriction releasing part is decrypted using the derived decryption key.
前記署名装置は、
可換な2つの一方向性関数を組み合わせて一方向性演算を行って前記初期値からn個の鍵を生成し、
前記開示制限処理装置は、
入力した前記初期値に対して、前記署名装置と同じ演算手順にて2つの一方向性関数を組み合わせた一方向性演算を行ってn個の鍵を生成することを特徴とする請求項16又は17に記載のデータ処理システム。
The signing device is:
Combining two commutative one-way functions to perform a one-way operation to generate n keys from the initial value,
The disclosure restriction processing device includes:
The input initial value is subjected to a one-way operation in which two one-way functions are combined in the same calculation procedure as that of the signature device to generate n keys. The data processing system according to 17.
前記開示制限処理装置は、
n個の鍵の生成過程において導出された複数の中間値の中から、前記暗号用中間値以外の中間値であって、前記検証装置が前記終端値を導出するために必要な中間値を前記署名装置における演算手順に基づいて終端値用中間値として抽出し、
前記開示制限デジタルデータと、前記電子署名と、前記暗号用中間値と、前記終端値用中間値とを出力し、
前記検証装置は、
前記開示制限処理装置から出力された前記開示制限デジタルデータと、前記電子署名と、前記暗号用中間値と、前記終端値用中間値とを入力し、
前記署名装置における演算手順に基づいて、前記暗号用中間値と前記終端値用中間値とを用いて、前記終端値を導出することを特徴とする請求項16〜18のいずれかに記載のデータ処理システム。
The disclosure restriction processing device includes:
Among a plurality of intermediate values derived in the generation process of n keys, an intermediate value other than the encryption intermediate value, which is necessary for the verification device to derive the terminal value, Extracted as an intermediate value for the end value based on the calculation procedure in the signature device,
Outputting the disclosure-restricted digital data, the electronic signature, the encryption intermediate value, and the terminal value intermediate value;
The verification device includes:
Input the disclosure restriction digital data output from the disclosure restriction processing device, the electronic signature, the encryption intermediate value, and the terminal value intermediate value,
The data according to any one of claims 16 to 18, wherein the terminal value is derived using the intermediate value for encryption and the intermediate value for the terminal value based on a calculation procedure in the signature device. Processing system.
デジタルデータに対する電子署名を生成する署名装置と、デジタルデータに対する電子署名を検証するとともに検証に成功したデジタルデータを表示する検証装置との間で、デジタルデータにおける開示を制限する処理を行うコンピュータに、
前記署名装置が管理するn(n≧2)個のパーツに分けることができるデジタルデータと、前記署名装置が生成した初期値と、前記署名装置が所定の演算手順に従って一方向性演算を行って前記初期値から生成したn個の鍵を用いて暗号化したデジタルデータのn個のパーツと一方向性演算を規定回数行った後に得られる終端値とに対して生成した電子署名とを入力するデータ入力処理と、
入力された前記初期値に対して、前記署名装置と同じ演算手順にて一方向性演算を行ってn個の鍵を順序付けて生成する鍵生成処理と、
前記デジタルデータを順序付けてn個のパーツに分け、n個のパーツのうちの1つ以上のパーツを対象パーツとして指定し、前記鍵生成処理により生成されたn個の鍵のうち対応する順序の鍵を用いて各対象パーツに対して暗号化処理又は復号処理を行い、1つ以上のパーツが暗号化されている開示制限デジタルデータを生成する開示制限デジタルデータ生成処理と、
前記鍵生成処理によるn個の鍵の生成過程において導出される複数の中間値の中から、前記開示制限デジタルデータのパーツのうち暗号化されていない非暗号化パーツを前記検証装置が暗号化する際に用いる中間値を前記署名装置における演算手順に基づいて暗号用中間値として抽出する中間値抽出処理と、
前記開示制限デジタルデータと、前記電子署名と、前記暗号用中間値とを出力するデータ出力処理とを実行させることを特徴とするプログラム。
A computer that performs processing for restricting disclosure in digital data between a signature device that generates an electronic signature for digital data and a verification device that verifies the electronic signature for digital data and displays the digital data that has been successfully verified,
Digital data that can be divided into n (n ≧ 2) parts managed by the signature device, an initial value generated by the signature device, and a one-way calculation performed by the signature device according to a predetermined calculation procedure. The digital signature generated for the n parts of the digital data encrypted using the n keys generated from the initial value and the terminal value obtained after performing the unidirectional calculation a prescribed number of times are input. Data entry processing,
A key generation process for generating n keys in order by performing a one-way operation on the input initial value in the same operation procedure as the signature device;
The digital data is ordered and divided into n parts, one or more parts of the n parts are designated as target parts, and the corresponding order of the n keys generated by the key generation process is A disclosure-restricted digital data generation process that performs an encryption process or a decryption process on each target part using a key to generate disclosure-restricted digital data in which one or more parts are encrypted;
The verification apparatus encrypts unencrypted parts that are not encrypted among the parts of the disclosure-restricted digital data from among a plurality of intermediate values derived in the generation process of n keys by the key generation process. An intermediate value extraction process for extracting an intermediate value to be used as an intermediate value for encryption based on a calculation procedure in the signature device;
A program for executing a data output process for outputting the disclosure-restricted digital data, the electronic signature, and the encryption intermediate value.
JP2008110995A 2008-04-22 2008-04-22 Disclosure restriction processing apparatus, data processing system, and program Expired - Fee Related JP5268413B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008110995A JP5268413B2 (en) 2008-04-22 2008-04-22 Disclosure restriction processing apparatus, data processing system, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008110995A JP5268413B2 (en) 2008-04-22 2008-04-22 Disclosure restriction processing apparatus, data processing system, and program

Publications (2)

Publication Number Publication Date
JP2009267470A true JP2009267470A (en) 2009-11-12
JP5268413B2 JP5268413B2 (en) 2013-08-21

Family

ID=41392818

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008110995A Expired - Fee Related JP5268413B2 (en) 2008-04-22 2008-04-22 Disclosure restriction processing apparatus, data processing system, and program

Country Status (1)

Country Link
JP (1) JP5268413B2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004133801A (en) * 2002-10-11 2004-04-30 Toshiba Corp System and method for providing contents
JP2005051727A (en) * 2003-07-11 2005-02-24 Canon Inc Key information processing method, its device, and program
JP2006060722A (en) * 2004-08-24 2006-03-02 Hitachi Ltd Certification method for authenticity of electronic document and publication system thereof
WO2006075146A1 (en) * 2005-01-12 2006-07-20 British Telecommunications Public Limited Company Radio frequency identification tag security systems
JP2007251921A (en) * 2006-02-20 2007-09-27 Hitachi Ltd Digital content encryption and decryption method, and workflow system using digital content
JP2007537656A (en) * 2004-05-12 2007-12-20 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Key management message for secure broadcast

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004133801A (en) * 2002-10-11 2004-04-30 Toshiba Corp System and method for providing contents
JP2005051727A (en) * 2003-07-11 2005-02-24 Canon Inc Key information processing method, its device, and program
JP2007537656A (en) * 2004-05-12 2007-12-20 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Key management message for secure broadcast
JP2006060722A (en) * 2004-08-24 2006-03-02 Hitachi Ltd Certification method for authenticity of electronic document and publication system thereof
WO2006075146A1 (en) * 2005-01-12 2006-07-20 British Telecommunications Public Limited Company Radio frequency identification tag security systems
JP2007251921A (en) * 2006-02-20 2007-09-27 Hitachi Ltd Digital content encryption and decryption method, and workflow system using digital content

Also Published As

Publication number Publication date
JP5268413B2 (en) 2013-08-21

Similar Documents

Publication Publication Date Title
US20220141038A1 (en) Method of rsa signature or decryption protected using a homomorphic encryption
US7177424B1 (en) Cryptographic apparatus and method
US8358781B2 (en) Nonlinear feedback mode for block ciphers
US20080084996A1 (en) Authenticated encryption method and apparatus
US9515818B2 (en) Multi-block cryptographic operation
CN106878013B (en) File encryption and decryption method and device
US11212082B2 (en) Ciphertext based quorum cryptosystem
JP6517436B2 (en) Encryption device and encoding device
KR101942030B1 (en) Electronic device for performing code-based encryption supporting integrity verification of a message and operating method thereof
EP3477889B1 (en) Using white-box in a leakage-resilient primitive
KR20130093557A (en) System, devices and methods for collaborative execution of a software application comprising at least one encrypted instruction
WO2019043921A1 (en) Encryption device, decryption device, encryption method, decryption method, encryption program, and decryption program
JP7024666B2 (en) ID-based hash certification system configuration device, ID-based cryptographic device and program
EP3010173B1 (en) Key storage device, key storage method, and program therefor
US11336425B1 (en) Cryptographic machines characterized by a Finite Lab-Transform (FLT)
JP5113630B2 (en) Secret sharing method, program, and apparatus
JP2011040932A (en) Authenticated encryption device, authenticated encryption method, verified decryption device, verified decryption method, encryption system, program, recording medium
JP7371757B2 (en) Authentication encryption device, authentication decryption device, authentication encryption method, authentication decryption method and program
US20230132163A1 (en) Memory processing apparatus, memory verification apparatus, memory updating apparatus, memory protection system, method, and computer readable medium
JP5268413B2 (en) Disclosure restriction processing apparatus, data processing system, and program
JPH1117673A (en) Common key encryption communication method and its communication network
Yadav et al. Hybrid cryptography approach to secure the data in computing environment
CN113141249B (en) Threshold decryption method, system and readable storage medium
JP6949276B2 (en) Re-encrypting device, re-encrypting method, re-encrypting program and cryptosystem
JP2010164897A (en) System, method and program for converting encrypted numeric value into binary

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110324

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130219

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130325

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: 20130409

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130507

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