JP2002009752A - Decoding apparatus in data encryption system, encryption device, encrypted data decoding method, and storage medium - Google Patents

Decoding apparatus in data encryption system, encryption device, encrypted data decoding method, and storage medium

Info

Publication number
JP2002009752A
JP2002009752A JP2000184801A JP2000184801A JP2002009752A JP 2002009752 A JP2002009752 A JP 2002009752A JP 2000184801 A JP2000184801 A JP 2000184801A JP 2000184801 A JP2000184801 A JP 2000184801A JP 2002009752 A JP2002009752 A JP 2002009752A
Authority
JP
Japan
Prior art keywords
data
key
key pair
public key
generated
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.)
Pending
Application number
JP2000184801A
Other languages
Japanese (ja)
Inventor
Makoto Sato
佐藤  誠
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2000184801A priority Critical patent/JP2002009752A/en
Publication of JP2002009752A publication Critical patent/JP2002009752A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a data encryption system adopting a public key encryption system that eliminates the need for storage of a private key to a storage medium. SOLUTION: A data acquisition means 1 acquires received data acting like a seed to generate a pair of public and private keys. A key pair generating means 2 generates a key pair uniquely corresponding to data being the seed. A public key transmission means 3 transmits the public key in a pair of the generated keys to a decoder. A data re-acquisition control means 4 controls the key pair generating means 2 to acquire the data being the seed for generating a key pair newly every time receiving encrypted data generated by using the received public key. A key pair reproduction control means 5 controls the key pair generating section 2 to generate a key pair from the data that are newly acquired and act like the seed. A decoding means 6 uses the private key in the key pair generated by the key pair generating control means 5 under the control of the key pair generating means 2 to decode the encryption data.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、データの暗号化の
技術に関し、特に公開鍵暗号方式において暗号文を復号
化するために使用する秘密鍵の管理のための技術に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a technique for encrypting data, and more particularly to a technique for managing a secret key used to decrypt a cipher text in a public key cryptosystem.

【0002】[0002]

【従来の技術】ここでは、従来の公開鍵暗号方式による
データ暗号システムを説明する。図12は、公開鍵暗号
方式による従来のデータ暗号システムを示している。
2. Description of the Related Art Here, a conventional data encryption system using a public key cryptosystem will be described. FIG. 12 shows a conventional data encryption system using a public key encryption method.

【0003】図12において、送信者Bから受信者Aに
平文mを伝達するとき、まず、受信者Aは鍵対生成ルー
チン1000を起動させ、対となる公開鍵PA 及び秘密
鍵S A を生成させる。生成された鍵対のうち、公開鍵P
A は受信者Aから送信者Bに送付される。
In FIG. 12, a sender B sends a message to a receiver A.
When transmitting the plaintext m, first, the receiver A sets the key pair generation route.
Activate the chin 1000 and set the public key PAAnd secrets
Key S AIs generated. Among the generated key pairs, the public key P
AIs sent from the receiver A to the sender B.

【0004】送信者Bは伝達する平文mと受け取った公
開鍵PA とを暗号化ルーチン2000に与え、暗号文c
を生成させる。この暗号文cが送信者Aから受信者Bに
送付される。
[0004] The sender B gives the public key P A received a plaintext m to transmit the encryption routines 2000, ciphertext c
Is generated. The cipher text c is sent from the sender A to the receiver B.

【0005】暗号文cを受け取った受信者Aは、暗号文
c及び秘密鍵SA を復号化ルーチン3000に与える。
復号化ルーチン3000は、暗号文cを秘密鍵SA に基
づいて復号し、平文mが再現される。
[0005] The receiver A receiving the ciphertext c gives the ciphertext c and the secret key S A to the decryption routine 3000.
The decryption routine 3000 decrypts the ciphertext c based on the secret key S A , and the plaintext m is reproduced.

【0006】図12に示す従来の公開鍵暗号方式による
データ暗号システムを更に説明する。鍵対生成ルーチン
1000の詳細を図13に示す。
A conventional data encryption system using the public key cryptosystem shown in FIG. 12 will be further described. FIG. 13 shows details of the key pair generation routine 1000.

【0007】同図において、例えば現在時刻などから算
出される種zが擬似乱数発生工程に入力されると、擬似
乱数発生工程は乱数rを生成する(S1001)。生成
された乱数rは仮鍵対発生工程に入力され、仮鍵対発生
工程は乱数rに基づいて仮公開鍵PA 及び仮秘密鍵SA
を発生させる(S1002)。
In FIG. 1, when a seed z calculated from, for example, the current time is input to a pseudo random number generation step, the pseudo random number generation step generates a random number r (S1001). Generated random number r is input to the temporary key pair generation process, temporary key pair generation process is based on a random number r temporary public key P A and the temporary private key S A
Is generated (S1002).

【0008】この仮の鍵対PA 及びSA は、図12に示
す暗号システムにおいて運用される公開鍵暗号方式の鍵
対として合理的なものであって、且つ十分な安全性を確
保できるか(暗号化ルーチン2000で生成させる暗号
文cの解読が困難であるか)が検証される(S100
3)。この検証の結果が可であればこの鍵対PA 及びS
A を公開鍵及び秘密鍵として出力し、この検証の結果が
否であれば擬似乱数発生工程(S1001)へ戻って新
たな別の乱数を生成させ、以降上述した処理を繰り返し
て新たな公開鍵及び秘密鍵の鍵対を出力させる。
This temporary key pair PAAnd SAIs shown in FIG.
Public key cryptographic keys used in
Make sure that they are reasonable and have sufficient security.
(Encryption generated by the encryption routine 2000)
Whether the sentence c is difficult to decipher is verified (S100).
3). If the result of this verification is acceptable, this key pair PAAnd S
AIs output as a public key and a private key, and the result of this verification is
If not, the process returns to the pseudo random number generation step (S1001) and the
Generate another random number and repeat the above process
To output a new public key and private key pair.

【0009】次に図14について説明する。同図は公開
鍵暗号方式を説明する図である。鍵対生成ルーチン10
00により生成された鍵対は、それぞれ公開鍵ファイル
1100、秘密鍵ファイル1200に保存される。この
とき、これらの鍵対に共通鍵暗号方式などによる暗号化
が施されて保存されるのが一般的である。
Next, FIG. 14 will be described. FIG. 1 is a diagram for explaining a public key cryptosystem. Key pair generation routine 10
The key pair generated by the process is stored in the public key file 1100 and the private key file 1200, respectively. At this time, it is general that these key pairs are encrypted and stored by a common key cryptosystem or the like.

【0010】次に、受信者Aは送信者Bに公開鍵を送付
する。送信者Bは送付された公開鍵PA を公開鍵簿ファ
イル2100に一旦保存しておく。送信者Bがあるデー
タ(平文m1 )を送信者Aに送付するとき、平文m
1 を、公開鍵簿ファイル2100に保存されている公開
鍵PA と共に暗号化ルーチン2000に入力する。暗号
化ルーチン2000では、平文m1 を公開鍵PA に基づ
いて暗号化し、暗号文c1 を生成させる。生成された暗
号文c1 は送信者Aから受信者Bに送付される。
Next, the receiver A sends the public key to the sender B. The sender B is keep once the public key P A, which is sent to the public key directory file 2100. When sender B sends certain data (plaintext m 1 ) to sender A, plaintext m
1 is input to the encryption routine 2000 together with the public key P A stored in the public key book file 2100. Encryption routine 2000 encrypts the basis plaintext m 1 to the public key P A, to generate ciphertext c 1. The generated cipher text c 1 is sent from the sender A to the receiver B.

【0011】暗号文c1 を受け取った受信者Aは、暗号
文c1 及び秘密鍵SA を復号化ルーチン3000に与え
る。復号化ルーチン3000は、暗号文c1 を秘密鍵フ
ァイル1200に保存されている秘密鍵SA に基づいて
復号し、平文m1 が再現される。
Recipient A having received ciphertext c 1 provides ciphertext c 1 and secret key S A to decryption routine 3000. Decoding routines 3000 decodes based ciphertext c 1 on a secret key S A stored in the private key file 1200, the plaintext m 1 is reproduced.

【0012】以降、送信者Bが受信者Aに新たなデータ
(平文m2 )を送付するときも、上述したものと同様の
手順を経ることにより、平文m2 が暗号化ルーチン20
00の実行によって秘密鍵SA に基づいて暗号化され、
得られた暗号文c2 が送信者Aから受信者Bに送付さ
れ、暗号文c2 が復号化ルーチン3000の実行によっ
て秘密鍵SA に基づいて復号され、平文m2 が再現され
る。
[0012] Thereafter, the sender B also when to send new data (plaintext m 2) to the receiver A, by procedures similar to those described above, the plaintext m 2 encryption routine 20
00, is encrypted based on the secret key S A ,
The obtained cipher text c 2 is sent from the sender A to the receiver B, and the cipher text c 2 is decrypted based on the secret key S A by executing the decryption routine 3000, and the plain text m 2 is reproduced.

【0013】図12におけるデータ暗号システムでは、
一般的に、受信者Aと送信者Bとの間で行なわれる「送
付」の手続で第三者にデータが漏洩する危険がある。し
かし、この「送付」が行なわれるデータは公開鍵PA
び暗号文cであり、これらのデータから平文mを解読
し、あるいは秘密鍵SA を求めることは極めて困難であ
る。このように、データ暗号システムに公開鍵暗号方式
を採用することによって、「送付」段階における第三者
からの不正なデータの盗用により生じる危険性を低減さ
せることができる。
In the data encryption system shown in FIG.
In general, there is a risk that data will be leaked to a third party in the procedure of “sending” performed between the receiver A and the sender B. However, the data to be transmitted is the public key P A and the cipher text c, and it is extremely difficult to decrypt the plain text m or obtain the secret key S A from these data. As described above, by employing the public key cryptosystem in the data encryption system, it is possible to reduce the risk of improperly stealing data from a third party in the “sending” stage.

【0014】[0014]

【発明が解決しようとする課題】従来の公開鍵暗号方式
によるデータ暗号システムでは、上述したように、秘密
鍵をコンピュータの記憶装置などにデータファイル(例
えば、図14における秘密鍵ファイル1200)として
記憶させて保存されている。しかしながら、近年のコン
ピュータネットワークの拡大もあり、このような秘密鍵
の管理形態では秘密鍵の漏洩のおそれが高くなってきて
いる。秘密鍵が漏洩してしまうと、どれほど堅牢な暗号
システムであっても暗号文が解読されてしまうおそれは
極めて高くなってしまう。
In a conventional data encryption system using a public key encryption method, as described above, a secret key is stored in a storage device of a computer as a data file (for example, a secret key file 1200 in FIG. 14). Let it be saved. However, with the expansion of computer networks in recent years, in such a secret key management form, there is a high possibility that the secret key will be leaked. If the secret key is leaked, the risk that the ciphertext will be decrypted will be extremely high, no matter how strong the encryption system is.

【0015】そこで、秘密鍵を、メモリーカードやフロ
ッピー(登録商標)ディスクなどの携帯可能な記憶媒体
に記憶させておき、暗号文の復号を行なうとき以外はこ
のような記憶媒体をコンピュータからはずして保管する
といった手法も行なわれている。しかし、この手法でも
秘密鍵の管理という点では十分とはいえない。
Therefore, the secret key is stored in a portable storage medium such as a memory card or a floppy (registered trademark) disk, and such a storage medium is removed from the computer except when decrypting the ciphertext. Some methods such as storage are also used. However, this method is not enough in terms of private key management.

【0016】以上の問題を鑑み、公開鍵暗号方式を採用
するデータ暗号システムにおいて、秘密鍵の記憶媒体へ
の保存を不要とすることが本発明が解決しようとする課
題である。
In view of the above problems, it is an object of the present invention to eliminate the need to store a secret key in a storage medium in a data encryption system employing a public key encryption method.

【0017】[0017]

【課題を解決するための手段】図1は本発明の原理構成
を示す図である。同図は、公開鍵を使用して暗号化を行
なって暗号データを生成する暗号化装置と、該公開鍵と
対である秘密鍵を使用して該暗号データを復号化する復
号化装置とからなる、公開鍵暗号方式を利用するデータ
暗号システムにおける復号化装置の原理構成を示すもの
である。
FIG. 1 is a diagram showing the principle configuration of the present invention. The figure shows an encryption device that performs encryption using a public key to generate encrypted data, and a decryption device that decrypts the encrypted data using a secret key that is a pair with the public key. 1 shows a principle configuration of a decryption device in a data encryption system using a public key cryptosystem.

【0018】データ取得手段1は、公開鍵と秘密鍵とか
らなる鍵対を生成するための種となるデータの入力を取
得する。鍵対生成手段2は、データ取得手段1により取
得された種となるデータから、該種となるデータに一意
に対応する前記鍵対を生成する。
The data obtaining means 1 obtains input of seed data for generating a key pair including a public key and a secret key. The key pair generation unit 2 generates, from the seed data acquired by the data acquisition unit 1, the key pair uniquely corresponding to the seed data.

【0019】公開鍵送付手段3は、鍵対生成手段2によ
り生成された鍵対のうちの公開鍵を暗号化装置に送付す
る。データ再取得制御手段4は、鍵対生成手段2を制御
して、公開鍵送付手段3により送付された公開鍵を使用
して暗号化装置によって生成された暗号データがこの復
号化装置に入力される度に、公開鍵と秘密鍵とからなる
鍵対を生成するための種となるデータを改めて取得させ
る。
The public key sending means 3 sends the public key of the key pair generated by the key pair generating means 2 to the encryption device. The data reacquisition control means 4 controls the key pair generation means 2 and the encrypted data generated by the encryption device using the public key transmitted by the public key transmission means 3 is input to the decryption device. Every time, a seed data for generating a key pair consisting of a public key and a secret key is acquired again.

【0020】鍵対再生成制御手段5は、鍵対生成手段2
を制御して、データ再取得制御手段4により制御された
データ取得手段1によって改めて取得された種となるデ
ータから鍵対を生成させる。
The key pair regenerating control means 5 comprises a key pair generating means 2
To generate a key pair from the seed data newly acquired by the data acquisition unit 1 controlled by the data reacquisition control unit 4.

【0021】復号化手段6は、鍵対生成制御手段5によ
り制御された鍵対生成手段2によって生成された鍵対の
うちの秘密鍵を使用して、暗号化装置により生成された
暗号データを復号化する。
The decryption means 6 uses the secret key of the key pair generated by the key pair generation means 2 controlled by the key pair generation control means 5 to decrypt the encrypted data generated by the encryption device. Decrypt.

【0022】ここで、鍵対生成手段2は、例えば、種と
なるデータから一意に決まる擬似乱数を順次発生させる
擬似乱数発生手段と、その擬似乱数発生手段により順次
発生させた擬似乱数のうち、所定の条件に合致し、且つ
その擬似乱数発生手段が所定の順番に発生させたものを
選択して前記鍵対とする選択手段とを有するように構成
する。
Here, the key pair generation means 2 includes, for example, a pseudo random number generation means for sequentially generating a pseudo random number uniquely determined from seed data, and a pseudo random number sequentially generated by the pseudo random number generation means. The key pair is selected by selecting a pseudo-random number generator that satisfies a predetermined condition and that is generated in a predetermined order.

【0023】図1に示す構成によれば、暗号化装置によ
って生成された暗号データを復号化するときに、データ
再取得制御手段4の作用により、公開鍵と秘密鍵とから
なる鍵対を生成するための種となるデータ(後述する本
発明の実施形態においては「秘密データ」と称されてい
るデータ)の入力をデータ取得手段1で改めて取得させ
るようにしている。そして、鍵対再生成制御手段5が鍵
対生成手段2を制御し、復号化手段6において暗号デー
タの復号化を行なうために使用する秘密鍵が必要となる
度に、データ再取得制御手段4に制御されたデータ取得
手段1により取得された種となるデータから鍵対を再生
成させる。ここで、データ取得手段1により取得される
種となるデータと、データ再取得制御手段4に制御され
たデータ取得手段1により改めて取得される種となるデ
ータとが一致していれば、鍵対生成手段2ではこの両者
の種となるデータから同一の鍵対が生成されるので、暗
号化装置によって生成された暗号データを復号化手段6
で復号化することができる。
According to the configuration shown in FIG. 1, when decrypting encrypted data generated by the encryption device, a key pair consisting of a public key and a secret key is generated by the operation of the data reacquisition control means 4. In this case, the input of data serving as a seed (data referred to as “secret data” in an embodiment of the present invention described later) is newly acquired by the data acquiring unit 1. Then, each time the key pair regeneration control means 5 controls the key pair generation means 2 and the decryption means 6 needs a secret key to be used for decrypting the encrypted data, the data reacquisition control means 4 The key pair is regenerated from the seed data acquired by the data acquisition means 1 controlled by the above method. Here, if the seed data acquired by the data acquisition unit 1 and the seed data newly acquired by the data acquisition unit 1 controlled by the data reacquisition control unit 4 match, the key pair Since the same key pair is generated by the generating means 2 from the two types of data, the encrypted data generated by the encryption device is decrypted by the decrypting means 6.
Can be decrypted.

【0024】このように、秘密鍵を保存しておかなくて
も暗号データの復号化が行なえるので、記憶媒体から秘
密鍵が漏洩する危険性が回避される。また、種となるデ
ータは任意のデータでよいので、人が容易に暗記できる
ような言葉、文章、データ列などを種となるデータと
し、この復号化装置を使用する使用者がこの種となるデ
ータを暗記してしまえば、種となるデータ自体の漏洩を
防止できる点で有利である。
As described above, since the encrypted data can be decrypted without storing the secret key, the danger of leaking the secret key from the storage medium is avoided. Since the seed data may be any data, words, sentences, data strings, and the like that can be easily memorized by humans are used as seed data, and a user who uses this decoding device becomes this seed. Memorizing the data is advantageous in that leakage of the seed data itself can be prevented.

【0025】なお、図1に示す構成において、当該復号
化装置の装置環境に固有な情報である環境情報を取得す
る環境情報取得手段を更に有し、鍵対生成手段2は、種
となるデータ及び環境情報から、その種となるデータ及
び環境情報に一意に対応する前記鍵対を生成するように
構成してもよい。
The configuration shown in FIG. 1 further includes environment information acquisition means for acquiring environment information that is information unique to the apparatus environment of the decryption apparatus. And the key pair uniquely corresponding to the kind of data and the environment information from the environment information.

【0026】ここで、環境情報とは、復号化装置を1台
だけ特定することを可能とする、その復号化装置のみに
固有の情報であり、例えば復号化装置の製造番号などが
該当する。
Here, the environment information is information unique to only one decoding device, which makes it possible to specify only one decoding device, and corresponds to, for example, the serial number of the decoding device.

【0027】上述した構成によれば、生成される鍵対
が、種となるデータのみから一意に得られるものではな
く、種となるデータと環境情報との組み合わせから一意
に得られるものとなる。従って、暗号データを復号化す
るための秘密鍵の生成が、その暗号データの生成に用い
た公開鍵の生成に使用したものと同一の環境情報を有し
ている復号化装置のみで可能となり、その他の環境では
種となるデータが正確に取得されても暗号文の復号化が
行なえなくなるので、種となるデータの漏洩に対するデ
ータ暗号システムの安全性が向上する。
According to the configuration described above, the generated key pair is not uniquely obtained from only the seed data, but is obtained uniquely from the combination of the seed data and the environment information. Therefore, generation of a secret key for decrypting encrypted data is possible only with a decryption device having the same environment information as that used for generating the public key used for generating the encrypted data, In other environments, even if the seed data is accurately obtained, the ciphertext cannot be decrypted, so that the security of the data encryption system against leakage of the seed data is improved.

【0028】また、データ取得手段1は、楽曲の演奏に
おいて行なわれる演奏操作の内容を示す情報を取得する
演奏操作情報取得手段と、演奏操作情報取得手段により
取得された情報を変換して、演奏操作の内容に対応する
音符を示すデータの列であるメロディ音符データを生成
する変換手段と、を有し、変換手段によって生成された
メロディ音符データを種となるデータとして取得するよ
うに構成してもよい。
The data obtaining means 1 obtains performance operation information obtaining means for obtaining information indicating the contents of a performance operation performed in music performance, and converts the information obtained by the performance operation information obtaining means into a performance. Conversion means for generating melody note data which is a sequence of data corresponding to the contents of the operation, and configured to acquire the melody note data generated by the conversion means as seed data. Is also good.

【0029】上述した構成によれば、復号化装置の使用
者が行なった楽曲の演奏のための操作の内容を示す演奏
データを種となるデータとして利用することができるよ
うになる。楽曲の楽譜を人が覚えておくことは、無秩序
なデータを種となるデータとして覚えておくよりも容易
であるので、演奏データを種となるデータとして利用す
ることは利点がある。また、復号化装置の使用者の演奏
に独特の癖を有しているのであれば、例え演奏曲の楽譜
がどのようなものであるかが第三者に知られてしまった
としても、その第三者が使用者の演奏の癖を再現できな
ければ暗号データを復号化できない。
According to the above-described configuration, the performance data indicating the content of the operation for performing the music performed by the user of the decoding device can be used as seed data. Since it is easier for a person to remember the musical score of a music piece than to memorize disorder data as seed data, it is advantageous to use performance data as seed data. In addition, if a user of the decryption device has a peculiar habit of performing, even if a third party knows what the musical score of the performance music is, Unless a third party can reproduce the user's playing habit, the encrypted data cannot be decrypted.

【0030】また、公開鍵を使用して暗号化を行なって
暗号データを生成する暗号化装置と、該公開鍵と対であ
る秘密鍵を使用して該暗号データを復号化する復号化装
置とからなる、公開鍵暗号方式を利用するデータ暗号シ
ステムにおける該暗号化装置であって、前記復号化装置
から送付される公開鍵を使用して暗号化を行なって暗号
データを生成する暗号化手段と、前記暗号データを前記
復号化装置に送付する暗号データ送付手段と、を有し、
前記公開鍵は、前記復号化装置において取得されるデー
タであって、該公開鍵と前記秘密鍵とからなる鍵対を生
成するための種となる該データから、該種となるデータ
に一意に対応する該鍵対を生成する、該復号化装置の有
する鍵対生成手段によって生成されたものであり、前記
暗号データ送付手段によって前記復号化装置に送付され
る暗号データは、該暗号データが該復号化装置に入力さ
れる度に該復号化装置において改めて取得される前記種
となるデータから、前記鍵対生成手段が生成する前記鍵
対のうちの秘密鍵を使用して、該復号化装置において復
号化される、という構成を有する暗号化装置は、上述し
たデータ暗号システムを図1に示した復号化装置とで構
成するサブコンビネーションの発明である。
Also, an encryption device that performs encryption using a public key to generate encrypted data, and a decryption device that decrypts the encrypted data using a secret key paired with the public key. And an encryption unit for generating encrypted data by performing encryption using a public key sent from the decryption device, wherein the encryption device is a data encryption system using a public key encryption method. And cipher data sending means for sending the cipher data to the decryption device,
The public key is data obtained by the decryption device, and is uniquely assigned to the seed data from the seed data for generating a key pair including the public key and the secret key. The cryptographic data generated by the key pair generation means of the decryption device, which generates the corresponding key pair, and which is transmitted to the decryption device by the cryptographic data transmission means, is such that the encrypted data is The decryption device uses a secret key of the key pair generated by the key pair generation means from the seed data newly acquired by the decryption device every time the decryption device inputs the decryption device. Is an invention of a sub-combination in which the data encryption system described above is configured with the decryption device shown in FIG.

【0031】また、公開鍵を使用して暗号化を行なって
生成された暗号データを、該公開鍵と対である秘密鍵を
使用して復号化する、公開鍵暗号方式を利用するデータ
暗号システムにおけるデータの復号化方法であって、前
記公開鍵と前記秘密鍵とからなる鍵対を生成するための
種となるデータから該種となるデータに一意に対応する
該鍵対を生成する鍵対生成工程により得られた公開鍵が
使用されて生成された暗号データであって、該暗号デー
タを受け取る度に該種となるデータを改めて取得し、前
記改めて取得された種となるデータに一意に対応する前
記鍵対を前記鍵対生成工程により生成し、前記改めて取
得された種となるデータから前記鍵対生成工程により生
成された前記鍵対のうちの秘密鍵を使用して、受け取っ
た前記暗号データを復号化する、ことを特徴とするデー
タ復号化方法も本発明に係るものであり、図1に示した
復号化装置と同様の作用効果を奏する。
Further, a data encryption system using a public key cryptosystem, in which encrypted data generated by performing encryption using a public key is decrypted using a secret key paired with the public key. Wherein the key pair uniquely generates the key pair uniquely corresponding to the seed data from the seed data for generating the key pair including the public key and the secret key. The cryptographic data generated by using the public key obtained in the generating step, and the seed data is newly acquired each time the cryptographic data is received, and is uniquely obtained in the newly obtained seed data. The corresponding key pair is generated by the key pair generation step, and the private key of the key pair generated by the key pair generation step from the newly obtained seed data is used to receive the key pair. Encrypted data Decoding, data decoding method, characterized in that also relate to the present invention, the same effects as the decoding apparatus shown in FIG.

【0032】更に、コンピュータに実行させることによ
って、上述した本発明に係るデータ復号化方法をコンピ
ュータに行なわせる暗号データ復号化プログラムを記憶
したコンピュータ読み取り可能な記憶媒体から、そのプ
ログラムをコンピュータに読み出させて実行させること
によっても、前述した課題を解決することができる。
Further, by causing the computer to execute the above-described data decryption method according to the present invention, the computer reads out the encrypted data decryption program from a computer-readable storage medium storing the program. The above-described problem can also be solved by causing the program to be executed.

【0033】[0033]

【発明の実施の形態】以下、本発明の実施の形態を図面
に基づいて説明する。図2は本発明を実施するデータ暗
号システムの全体構成を示す図である。同図に示すデー
タ暗号システムは、データを受信する受信者Aが使用す
る受信者側装置10と、データを送信する送信者Bが使
用する送信者側装置20とがネットワーク30を介して
接続されて構成されており、受信者側装置10と送信者
側装置20とで相互に各種のデータを授受することがで
きる。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 2 is a diagram showing an overall configuration of a data encryption system embodying the present invention. In the data encryption system shown in FIG. 1, a receiver device 10 used by a receiver A receiving data and a sender device 20 used by a sender B transmitting data are connected via a network 30. The receiver device 10 and the sender device 20 can mutually exchange various data.

【0034】受信者側装置10は、CPU11、RAM
12、ROM13、HDD14、入力部15、出力部1
6、I/F部17がバス18を介して接続されて構成さ
れており、各構成要素間でデータの授受が可能である。
The receiver device 10 comprises a CPU 11, a RAM
12, ROM 13, HDD 14, input unit 15, output unit 1
6. The I / F unit 17 is connected via a bus 18 so that data can be exchanged between the components.

【0035】CPU11は、ROM13に記憶された基
本制御プログラムに従って、RAM12をワークエリア
として使用しながら、受信者側装置10全体の動作を制
御する中央演算処理装置である。また、必要に応じてH
DD14から必要な制御プログラムを読み出してRAM
12に展開し、その制御プログラムを実行することによ
って暗号システムに関する各種の処理を行なう。
The CPU 11 is a central processing unit that controls the overall operation of the receiver-side device 10 while using the RAM 12 as a work area in accordance with the basic control program stored in the ROM 13. Also, if necessary,
Reads the necessary control program from DD14
12 and executes various processes related to the cryptographic system by executing the control program.

【0036】RAM12は、CPU11による処理のた
めのワークエリアとして、また各種の設定パラメータの
記憶用として用いられるランダムアクセスメモリであ
る。ROM13は、CPU11で実行される受信者側装
置10全体の制御のための制御プログラムが予め格納さ
れているリードオンリメモリである。
The RAM 12 is a random access memory used as a work area for processing by the CPU 11 and for storing various setting parameters. The ROM 13 is a read-only memory in which a control program for controlling the whole of the receiver-side device 10 executed by the CPU 11 is stored in advance.

【0037】HDD14はハードディスク装置であり、
暗号システムに関する各種の処理をCPU11に行なわ
せるための制御プログラムや各種のデータを記憶してお
くものである。
The HDD 14 is a hard disk drive,
A control program for causing the CPU 11 to perform various processes related to the encryption system and various data are stored.

【0038】入力部15は、キーボードやマウスなどを
備えて構成され、受信者側装置10の使用者からの各種
の指示やデータの入力などを取得する。出力部16はC
RT(Cathode Ray Tube)やLCD(Liquid Crystal D
isplay)などのディスプレイ装置やプリンタ装置などを
備えて構成され、受信者側装置10の使用者に各種の情
報を提示するものである。
The input unit 15 includes a keyboard, a mouse, and the like, and acquires various instructions and data inputs from the user of the receiver-side device 10. The output unit 16 is C
RT (Cathode Ray Tube) and LCD (Liquid Crystal D)
It is provided with a display device such as isplay, a printer device, and the like, and presents various information to the user of the receiver-side device 10.

【0039】I/F部17は、受信者側装置10とネッ
トワーク30とを接続するインタフェース機能を提供す
る。受信者側装置10は、これらの各構成要素を備えて
構成されている。
The I / F unit 17 provides an interface function for connecting the receiver device 10 and the network 30. The receiver-side device 10 is configured to include these components.

【0040】送信者側装置20は、CPU21、RAM
22、ROM23、HDD24、入力部25、出力部2
6、I/F部27がバス28を介して接続されて構成さ
れている。これらの各構成要素は、いずれも受信者側装
置10の各構成要素と同様のものである。
The sender device 20 includes a CPU 21 and a RAM.
22, ROM 23, HDD 24, input unit 25, output unit 2
6. The I / F unit 27 is connected via a bus 28. Each of these components is the same as each component of the receiver-side device 10.

【0041】なお、これらの各構成要素は汎用的なコン
ピュータが備えているものであるので、汎用的なコンピ
ュータで受信者側装置10及び送信者側装置20を構成
することも可能である。
Since these components are included in a general-purpose computer, it is possible to configure the receiver-side device 10 and the sender-side device 20 with a general-purpose computer.

【0042】以下、本発明に係るデータ暗号システムの
基本動作について説明する。図3は、本発明に係るデー
タ暗号システムの基本的な動作の流れを示している。以
下、図3に沿って、図2に示したデータ暗号システムに
おいてデータの授受が行なわれる様子を説明する。
Hereinafter, the basic operation of the data encryption system according to the present invention will be described. FIG. 3 shows a basic operation flow of the data encryption system according to the present invention. Hereinafter, how data is exchanged in the data encryption system shown in FIG. 2 will be described with reference to FIG.

【0043】図3において、S101からS103にか
けて、及びS111の工程は初期作業の工程である。そ
して、S101からS103にかけての工程は受信側装
置10のHDD14に格納されている初期作業プログラ
ムをCPU11が実行することによって実現され、S1
11の工程は送信側装置20のHDD24に格納されて
いる初期作業プログラムをCPU21が実行することに
よって実現される。
In FIG. 3, the steps from S101 to S103 and S111 are initial work steps. Then, the steps from S101 to S103 are realized by the CPU 11 executing the initial work program stored in the HDD 14 of the reception-side apparatus 10, and S1 is executed.
The step 11 is realized by the CPU 21 executing an initial work program stored in the HDD 24 of the transmitting apparatus 20.

【0044】まず、受信者Aによる受信者側装置10の
入力部15への操作によって入力された「秘密データ」
をCPU11が取得する(S101)。ここで、秘密デ
ータは、十分な語長を有する言葉、文章、データ列など
が利用可能であり、受信者Aが暗記できるようなものが
好適である。
First, the "secret data" input by the receiver A operating the input unit 15 of the receiver device 10
Is acquired by the CPU 11 (S101). Here, as the secret data, words, sentences, data strings, etc. having a sufficient word length can be used, and it is preferable that the secret data can be memorized by the recipient A.

【0045】CPU11は、入力部15に入力された秘
密データを受け取ると、HDD14から鍵対生成プログ
ラムを読み出して実行し、秘密データから公開鍵PA
び秘密鍵SA を生成する(S102)。
Upon receiving the secret data input to the input unit 15, the CPU 11 reads out and executes the key pair generation program from the HDD 14, and generates a public key P A and a secret key S A from the secret data (S102).

【0046】ここで図4について説明する。図4は鍵対
生成プログラムを実行することによってCPU11によ
り行なわれる鍵対生成の処理の流れを示している。秘密
データsを受け取ったCPU11は、まず、秘密データ
sに基づいて擬似乱数を発生させ(S201)、乱数r
が生成される。この擬似乱数の発生の工程は、あくまで
も真正乱数を発生させる工程とはせずに、秘密データs
の値から一意に決まる値が乱数rとして生成されるよう
な工程とする。図4における破線の矢印はこのことを示
すものである。
Referring now to FIG. FIG. 4 shows a flow of a key pair generation process performed by the CPU 11 by executing the key pair generation program. Upon receiving the secret data s, the CPU 11 first generates a pseudo random number based on the secret data s (S201),
Is generated. This pseudo random number generation step is not a true random number generation step, but a secret data s.
The process is such that a value uniquely determined from the value of is generated as a random number r. The dashed arrow in FIG. 4 indicates this.

【0047】続いてCPU11は、生成された乱数rに
基づいて仮公開鍵PA 及び仮秘密鍵SA を生成する(S
202)。その後、CPU11は、生成した仮の鍵対P
A 及びSA について、図2に示す暗号システムで運用す
る公開鍵暗号方式の鍵対として合理的なものであって、
且つ十分な安全性を確保できるものであるか(解読が困
難であるか)を検証する(S203)。この検証の結果
が可であればこの鍵対PA 及びSA を実際に使用可能な
公開鍵及び秘密鍵として出力し、この検証の結果が否で
あれば擬似乱数発生工程(S201)へ戻って新たな別
の乱数を生成させ、更に鍵対の生成を再度行なわせる。
以降、S203の検証の工程の結果が可となるまでこれ
らの工程が繰り返し実行される。
Subsequently, the CPU 11 generates a temporary public key P A and a temporary secret key S A based on the generated random number r (S
202). Thereafter, the CPU 11 generates the temporary key pair P
A and S A are reasonable as a key pair of the public key cryptosystem operated by the cryptosystem shown in FIG.
In addition, it is verified whether sufficient security can be ensured (whether the decryption is difficult) (S203). If the result is Yes in this verification outputs the key pair P A and S A as actually available public and private keys, returns to if not the verification result is a pseudo random number generation step (S201) To generate another new random number, and to generate a key pair again.
Thereafter, these steps are repeatedly executed until the result of the verification step in S203 becomes acceptable.

【0048】なお、このS202及びS203の工程
は、前述した図13におけるS1002及びS1003
の工程と同様のものである。但し、S201の擬似乱数
の発生の工程は、秘密データsの値と、このS201か
らS203にかけての工程の実行回数(すなわち、擬似
乱数発生工程により生成される乱数の生成順)とから一
意に決まる値が乱数rとして生成されるような工程とす
る。この条件により、この鍵対生成プログラムで生成さ
れる鍵対は、秘密データから一意に得られるものとする
ことができる。
The steps of S202 and S203 are performed in steps S1002 and S1003 in FIG.
This is the same as the above step. However, the pseudo-random number generation step in S201 is uniquely determined from the value of the secret data s and the number of executions of the steps from S201 to S203 (that is, the generation order of the random numbers generated in the pseudo-random number generation step). The process is such that a value is generated as a random number r. Under this condition, the key pair generated by the key pair generation program can be uniquely obtained from the secret data.

【0049】図3の説明へ戻る。CPU11はI/F部
17を制御し、S102の工程で生成された鍵対のうち
公開鍵PA をネットワーク30を経て送信者側装置20
に送付させる(S103)。このときに、秘密鍵SA
保存されずに破棄される。
Returning to the description of FIG. CPU11 controls the I / F unit 17, the sender-side apparatus via the network 30 to the public key P A of the key pair generated in S102 in step 20
(S103). At this time, the secret key S A is discarded without being stored.

【0050】公開鍵PA が送信者側装置20のI/F部
27で受信されると、送信者側装置20のCPU21は
その公開鍵PA をHDD24の公開鍵簿ファイルに格納
して保存する(S111)。
When the public key P A is received by the I / F unit 27 of the sender device 20, the CPU 21 of the sender device 20 stores the public key P A in a public key book file of the HDD 24. (S111).

【0051】以上までで初期作業の工程が完了する。次
に、暗号化したデータを授受する工程について説明す
る。図3において、S121からS123にかけて、及
びS131からS134の工程がデータ授受の工程であ
り、S121からS123にかけての工程は送信側装置
20のHDD24に格納されている暗号化データ送付プ
ログラムをCPU21が実行することによって実現さ
れ、S131からS134にかけての工程は受信側装置
10のHDD14に格納されているデータ復号化プログ
ラムをCPU11が実行することによって実現される。
Thus, the steps of the initial operation are completed. Next, a process of transmitting and receiving the encrypted data will be described. In FIG. 3, steps S121 to S123 and steps S131 to S134 are data transfer steps. In steps S121 to S123, the CPU 21 executes an encrypted data transmission program stored in the HDD 24 of the transmission side device 20. The steps from S131 to S134 are realized by the CPU 11 executing the data decryption program stored in the HDD 14 of the receiving side device 10.

【0052】まず、送信者Bによる送信者側装置20の
入力部25への操作によって入力された平文m1 をCP
U21が取得する(S121)。平文m1 を受け取った
CPU21は、HDD24の公開鍵簿ファイルに格納さ
れている公開鍵PA を読み出し、この公開鍵PA に基づ
いて平文m1 を暗号化して暗号文c1 を生成する(S1
22)。この工程において行なわれる暗号化方式は公開
鍵暗号方式であって周知のものをそのまま利用する。
First, the plaintext m 1 input by the operation of the sender B on the input unit 25 of the sender device 20 is converted to the CP.
U21 acquires it (S121). CPU21 received plaintext m 1 reads the public key P A which is stored in the public key directory file HDD 24, and generates a ciphertext c 1 encrypts plaintext m 1 on the basis of the public key P A ( S1
22). The encryption method performed in this step is a public key encryption method, and a known method is used as it is.

【0053】暗号文c1 が生成されると、CPU21は
I/F部27を制御し、この暗号文c1 をネットワーク
30を経て受信者側装置10に送付させる(S12
3)。暗号文c1 が受信者側装置10のI/F部17で
受信されると、受信者側装置10のCPU11は出力部
16を制御して、その旨を受信者Aに通知するための出
力を行なう。この通知に応じて受信者Aが受信者側装置
10の入力部15への操作によって秘密データを入力す
ると、その秘密データをCPU11が取得する(S13
1)。ここで受信者Aにより入力される秘密データは、
前述した初期作業でのS101の工程においてされたも
のと同一のものを入力する必要がある。
When the cipher text c 1 is generated, the CPU 21 controls the I / F unit 27 to send the cipher text c 1 to the receiver device 10 via the network 30 (S12).
3). When the ciphertext c 1 is received by the I / F unit 17 of the receiver device 10, the CPU 11 of the receiver device 10 controls the output unit 16 to output the notification to notify the receiver A of the fact. Perform When the receiver A inputs the secret data by operating the input unit 15 of the receiver device 10 in response to this notification, the CPU 11 acquires the secret data (S13).
1). Here, the secret data input by the recipient A is
It is necessary to input the same thing as that performed in the step S101 in the above-mentioned initial work.

【0054】CPU11は、入力部15に入力された秘
密データを受け取ると、HDD14から鍵対生成プログ
ラムを読み出して実行し、秘密データから公開鍵PA
び秘密鍵SA を生成する(S132)。この工程は、前
述した初期作業でのS102の工程においてされたもの
と同様に、図4に示す処理が実行される。
When receiving the secret data input to the input unit 15, the CPU 11 reads out and executes the key pair generation program from the HDD 14, and generates a public key P A and a secret key S A from the secret data (S132). In this step, the processing shown in FIG. 4 is executed in the same manner as in the step of S102 in the initial operation described above.

【0055】続いてCPU11は、送信者側装置20か
ら受け取った暗号文c1 を、上述した処理によって生成
された秘密鍵SA に基づいて復号化し、平文m1 を再現
させる(S133)。この工程において行なわれる復号
化は、前述したS122の暗号化の工程において採用さ
れている暗号化方式に対応する復号化方式を利用する。
その後、CPU11は、出力部16を制御し、平文m1
を出力して受信者Aに提示する(S134)。こうして
暗号化したデータの1回目の授受が完了する。
Subsequently, the CPU 11 decrypts the cipher text c 1 received from the sender device 20 based on the secret key S A generated by the above-described processing, and reproduces the plain text m 1 (S133). The decryption performed in this step uses a decryption method corresponding to the encryption method adopted in the encryption step of S122 described above.
Thereafter, the CPU 11 controls the output unit 16 to output the plaintext m 1.
Is output and presented to the recipient A (S134). The first transfer of the encrypted data is completed.

【0056】図2に示すデータ暗号システムにおける2
回目のデータの授受も同様であり、HDD24に格納さ
れている暗号化データ送付プログラムを送信側装置20
のCPU21が実行することによって、送信者Bによる
送信者側装置20の入力部25への操作によって入力さ
れた平文m2 を取得(S121’)した後、S122及
びS123の工程がCPU21により行なわれ、更に、
S131からS133にかけての工程が受信側装置10
のHDD14に格納されているデータ復号化プログラム
をCPU11が実行することによって実現されて平文m
2 が再現され、その後、CPU11が、出力部16を制
御して平文m2 を出力して受信者Aに提示する(S13
4’)。また、それ以降のデータの授受も同様である。
In the data encryption system shown in FIG.
The same is true for the second data transfer, and the encrypted data transmission program stored in the HDD 24 is transmitted to the transmission side device 20.
By CPU21 executes a, after acquiring (S121 ') the plaintext m 2 input by the operation of the input unit 25 of the transmitting side apparatus 20 by the sender B, S122 and S123 in step is performed by CPU21 And
The process from S131 to S133 is performed by the receiving apparatus 10
Is realized by the CPU 11 executing the data decryption program stored in the HDD 14 of the plaintext m.
2 is reproduced, then, CPU 11 may output the plaintext m 2 controls the output unit 16 for presenting to the recipient A (S13
4 '). The same applies to the transfer of data thereafter.

【0057】本発明に係るデータ暗号システムでは、以
上のように、受信者側装置10で暗号文の復号化を行な
う度に受信者Aが秘密データを入力して鍵対を生成させ
るようにしたので秘密鍵を記憶媒体へ保存しないで済む
ようになり、その結果、記憶媒体から秘密鍵が盗み出さ
れることがなくなり、システムの安全性が向上する。ま
た、秘密データを暗記していれば、受信者Aは、同一の
データ暗号システムを利用できる別の環境(例えば他の
コンピュータなど)において秘密データを与えることで
暗号文の復号化を行なわせることができるという利点
も、このデータ暗号システムは有している。
In the data encryption system according to the present invention, as described above, each time the receiver-side device 10 decrypts the ciphertext, the receiver A inputs the secret data to generate a key pair. Therefore, it is not necessary to store the secret key in the storage medium. As a result, the secret key is not stolen from the storage medium, and the security of the system is improved. Also, if the secret data is memorized, the receiver A can decrypt the ciphertext by giving the secret data in another environment (for example, another computer) that can use the same data encryption system. This data encryption system also has the advantage that it can be performed.

【0058】次に、図2に示すデータ暗号システムにお
いて、周知の公開鍵暗号方式であるRSA暗号方式を利
用して本発明に係る上述したデータ授受を行う場合の実
施例について説明する。なお、RSA暗号方式について
は、例えば、"A Method forObtaining Digital Signatu
res and Public-Key Cryptosystems", Rivest, R.,Sham
ir, A. and Adleman, L, Com. of the ACM, Vol.21, N
o.2, pp.120-126 (1978) 、に詳細に説明されている。
Next, in the data encryption system shown in FIG. 2, an embodiment in which the above-described data exchange according to the present invention is performed using the well-known public key encryption system, the RSA encryption system, will be described. For the RSA encryption method, for example, "A Method for Obtaining Digital Signatu
res and Public-Key Cryptosystems ", Rivest, R., Sham
ir, A. and Adleman, L, Com. of the ACM, Vol. 21, N
o.2, pp.120-126 (1978).

【0059】図5は、図2に示すデータ暗号システムに
おいて、RSA暗号方式を採用して本発明に係るデータ
授受を行なう場合の処理の流れを示している。図5にお
いて、S301からS303にかけて、及びS311の
工程は初期作業の工程である。そして、S301からS
303にかけての工程は受信側装置10のHDD14に
格納されている初期作業プログラムをCPU11が実行
することによって実現され、S311の工程は送信側装
置20のHDD24に格納されている初期作業プログラ
ムをCPU21が実行することによって実現される。
FIG. 5 shows a flow of processing when data is exchanged according to the present invention by employing the RSA encryption method in the data encryption system shown in FIG. In FIG. 5, the steps from S301 to S303 and S311 are the steps of the initial operation. Then, from S301 to S
The steps up to 303 are realized by the CPU 11 executing the initial work program stored in the HDD 14 of the receiving apparatus 10, and the step S 311 is executed by the CPU 21 executing the initial work program stored in the HDD 24 of the transmitting apparatus 20. It is realized by executing.

【0060】まず、受信者Aによる受信者側装置10の
入力部15への操作によって入力された秘密データをC
PU11が取得する(S301)。ここで、秘密データ
は、図3におけるものと同様に、十分な語長を有する言
葉、文章、データ列などであり、受信者Aが暗記できる
ようなものがよい。
First, the secret data input by the receiver A operating the input unit 15 of the receiver side device 10
The PU 11 acquires the information (S301). Here, the confidential data is a word, a sentence, a data string, or the like having a sufficient word length, as in the case of FIG. 3, and is preferably such that the recipient A can memorize it.

【0061】CPU11は、入力部15に入力された秘
密データを受け取ると、HDD14から鍵対生成プログ
ラムを読み出して実行し、秘密データから公開鍵PA
び秘密鍵SA を生成する(S302)。
When receiving the secret data input to the input section 15, the CPU 11 reads out and executes the key pair generation program from the HDD 14, and generates a public key P A and a secret key S A from the secret data (S302).

【0062】鍵対生成プログラムを実行することによっ
てCPU11により行なわれる鍵対生成の処理の流れを
図6に示す。秘密データsを受け取ったCPU11は、
まず、秘密データsに基づいて(秘密データsを種とし
て)擬似乱数を発生させ(S401)、乱数pが生成さ
れる。この擬似乱数の発生の工程も、図3におけるもの
と同様に、秘密データsの値から一意に決まる値が乱数
pとして生成されるような工程とする。
FIG. 6 shows a flow of a key pair generation process performed by the CPU 11 by executing the key pair generation program. The CPU 11 receiving the secret data s
First, a pseudo random number is generated based on the secret data s (using the secret data s as a seed) (S401), and a random number p is generated. The process of generating the pseudo-random number is a process in which a value uniquely determined from the value of the secret data s is generated as the random number p, similarly to the process in FIG.

【0063】続いてCPU11は、生成された乱数pが
素数であるか否かを検証し(S402)、乱数pが素数
でない(合成数である)ならば擬似乱数発生工程(S4
01)へ戻り、処理が繰り返される。なお、S401の
擬似乱数の発生の工程は、秘密データsの値と、このS
401及びS402の工程の実行回数とから一意に決ま
る値が乱数pとして生成されるような工程とする。
Subsequently, the CPU 11 verifies whether or not the generated random number p is a prime number (S402). If the random number p is not a prime number (a composite number), the pseudo random number generating step (S4)
01), and the process is repeated. Note that the process of generating the pseudorandom number in S401 includes the value of the secret data s and this S
It is assumed that a value uniquely determined from the number of executions of the steps 401 and S402 is generated as a random number p.

【0064】その後、いずれは素数である乱数pが生成
され、S402の工程の検証結果が可となる。この乱数
pを素数pA とする。素数pA が得られると、CPU1
1はS401の工程と同一の工程である、秘密データs
を種とする擬似乱数の発生の工程をS401の工程に更
に続けて実行し、次の乱数qを発生させる(S40
3)。そして、生成された乱数qが素数であるか否かを
検証し(S404)、乱数qが素数でない(合成数であ
る)ならば擬似乱数発生工程(S403)へ戻り、処理
が繰り返される。こうしていずれは素数である乱数qが
生成される。この乱数qを素数qA とする。
Thereafter, a random number p, which is a prime number, is generated, and the verification result in the step of S402 becomes possible. This random number p is a prime number p A. When the prime number p A is obtained, the CPU 1
1 is the same process as the process of S401, the secret data s
The step of generating a pseudo-random number using as a seed is executed further following the step of S401 to generate the next random number q (S40).
3). Then, it is verified whether or not the generated random number q is a prime number (S404). If the random number q is not a prime number (a composite number), the process returns to the pseudo-random number generation step (S403) and the process is repeated. Thus, a random number q, which is a prime number, is generated. This random number q and prime q A.

【0065】素数qA が得られると、CPU11はS4
01の工程である、秘密データsを種とする同一の擬似
乱数の発生の工程をS403の工程に更に続けて実行
し、次の乱数eを発生させる(S405)。
When the prime q A is obtained, the CPU 11 proceeds to S4
The step of generating the same pseudorandom number using the secret data s as a seed, which is the step 01, is further executed after the step of S403, and the next random number e is generated (S405).

【0066】ここで、CPU11は、発生させた乱数e
の値が、(p−1)と(q−1)との最小公倍数の値λ
(nA )(但し、nA =pA ×qA )と互いに素の値で
あるか否かが判定される(S406)。この処理の結
果、乱数eが互いに素な値でないならば擬似乱数発生工
程(S405)へ戻り、処理が繰り返される。この結
果、いずれはλ(nA )と互いに素である乱数eが生成
される。この乱数eをeAとする。
Here, the CPU 11 generates the random number e
Is the value λ of the least common multiple of (p-1) and (q-1)
It is determined whether the value is relatively prime to (n A ) (where n A = p A × q A ) (S406). As a result of this processing, if the random numbers e are not relatively prime values, the process returns to the pseudo random number generation step (S405), and the processing is repeated. As a result, a random number e is generated which is relatively prime to λ (n A ). This random number e and e A.

【0067】以上の工程によって得られたpA 、q0
A より、公開鍵PA 及び秘密鍵S A が下記の式によっ
て生成される。 PA =(eA ,nA ) SA =dA =eA -1modλ(nA ) ここで、pA 、q0 、eA は、前述したS401、S4
03、S405の擬似乱数の発生の工程での擬似乱数発
生の条件によって、いずれも秘密データsから一意に得
られるものとなっている。
The p obtained by the above stepsA, Q0,
eAFrom the public key PAAnd secret key S AIs given by the following equation
Generated. PA= (EA, NA) SA= DA= EA -1modλ (nA) Where pA, Q0, EAAre S401 and S4 described above.
03, pseudo-random number generation in the step of generating pseudo-random numbers in S405
All are uniquely obtained from secret data s according to raw conditions.
It is something that can be done.

【0068】図5の説明へ戻る。CPU11はI/F部
17を制御し、S102の工程で生成された鍵対のうち
公開鍵PA をネットワーク30を経て送信者側装置20
に送付させる(S303)。このときに、秘密鍵SA
保存されずに破棄される。
Returning to the description of FIG. CPU11 controls the I / F unit 17, the sender-side apparatus via the network 30 to the public key P A of the key pair generated in S102 in step 20
(S303). At this time, the secret key S A is discarded without being stored.

【0069】公開鍵PA が送信者側装置20のI/F部
27で受信されると、送信者側装置20のCPU21は
その公開鍵PA をHDD24の公開鍵簿ファイルに格納
して保存する(S311)。
When the public key P A is received by the I / F unit 27 of the sender device 20, the CPU 21 of the sender device 20 stores the public key P A in the public key book file of the HDD 24. (S311).

【0070】以上までで初期作業の工程が完了する。次
に、暗号化したデータを授受する工程について説明す
る。図5において、S321からS323にかけて、及
びS331からS334の工程がデータ授受の工程であ
り、S321からS323にかけての工程は送信側装置
20のHDD24に格納されている暗号化データ送付プ
ログラムをCPU21が実行することによって実現さ
れ、S331からS334にかけての工程は受信側装置
10のHDD14に格納されているデータ復号化プログ
ラムをCPU11が実行することによって実現される。
Thus, the steps of the initial operation are completed. Next, a process of transmitting and receiving the encrypted data will be described. In FIG. 5, steps S321 to S323 and steps S331 to S334 are data transfer steps. In steps S321 to S323, the CPU 21 executes the encrypted data transmission program stored in the HDD 24 of the transmission side device 20. The steps from S331 to S334 are realized by the CPU 11 executing the data decryption program stored in the HDD 14 of the receiving apparatus 10.

【0071】まず、送信者Bによる送信者側装置20の
入力部25への操作によって入力された平文m1 をCP
U21が取得する(S321)。平文m1 を受け取った
CPU21は、HDD24の公開鍵簿ファイルに格納さ
れている公開鍵PA を読み出し、この公開鍵PA に基づ
いて平文m1 を暗号化して暗号文c1 を生成する(S3
22)。この工程において行なわれる暗号化は下記の式
によって示される。
First, the plaintext m 1 input by the sender B operating the input unit 25 of the sender device 20 is converted into a CP.
U21 acquires it (S321). CPU21 received plaintext m 1 reads the public key P A which is stored in the public key directory file HDD 24, and generates a ciphertext c 1 encrypts plaintext m 1 on the basis of the public key P A ( S3
22). The encryption performed in this step is represented by the following equation.

【0072】c1 =m1 e (modnA ) 暗号文c1 が生成されると、CPU21はI/F部27
を制御し、この暗号文c1 をネットワーク30を経て受
信者側装置10に送付させる(S323)。
C 1 = m 1 e (modn A ) When the encrypted text c 1 is generated, the CPU 21 causes the I / F unit 27
Controls, is sent to the receiver side apparatus 10 of this ciphertext c 1 via the network 30 (S323).

【0073】暗号文c1 が受信者側装置10のI/F部
17で受信されると、受信者側装置10のCPU11は
出力部16を制御して、その旨を受信者Aに通知するた
めの出力を行なう。この通知に応じて受信者Aが受信者
側装置10の入力部15への操作によって秘密データを
入力すると、その秘密データをCPU11が取得する
(S331)。ここで受信者Aにより入力される秘密デ
ータは、前述した初期作業でのS301の工程において
されたものと同一のものを入力する必要がある。
When the ciphertext c 1 is received by the I / F unit 17 of the receiver device 10, the CPU 11 of the receiver device 10 controls the output unit 16 to notify the receiver A of the fact. Output for When the receiver A inputs the secret data by operating the input unit 15 of the receiver device 10 in response to the notification, the CPU 11 acquires the secret data (S331). Here, as the secret data input by the receiver A, it is necessary to input the same secret data as that in the step S301 in the above-mentioned initial work.

【0074】CPU11は、入力部15に入力された秘
密データを受け取ると、HDD14から鍵対生成プログ
ラムを読み出して実行し、秘密データから公開鍵PA
(e A ,nA )及び秘密鍵SA =dAを生成する(S3
32)。この工程は、前述した初期作業でのS302の
工程においてされたものと同様に、図6に示す処理が実
行される。
The CPU 11 outputs the secret input to the input unit 15.
Upon receiving the secret data, the key pair generation program
Read and execute the secret key, and execute public key P from the secret data.A=
(E A, NA) And secret key SA= DA is generated (S3
32). This step is performed in step S302 in the initial operation described above.
The processing shown in FIG.
Is performed.

【0075】続いてCPU11は、送信者側装置20か
ら受け取った暗号文c1 を、上述した処理によって生成
された公開鍵PA 及び秘密鍵SA に基づいて復号化し、
平文m1 を再現させる(S333)。この工程において
行なわれる復号化は下記の式によって示される。
Subsequently, the CPU 11 decrypts the cipher text c 1 received from the sender device 20 based on the public key P A and the secret key S A generated by the above processing,
To reproduce the plaintext m 1 (S333). The decoding performed in this step is given by:

【0076】m1 =c1 dA(modnA ) その後、CPU11は、出力部16を制御し、平文m1
を出力して受信者Aに提示する(S134)。こうして
暗号化したデータの1回目の授受が完了する。
M 1 = c 1 dA (modn A ) Thereafter, the CPU 11 controls the output unit 16 to output the plaintext m 1
Is output and presented to the recipient A (S134). The first transfer of the encrypted data is completed.

【0077】図2に示すデータ暗号システムにおける2
回目のデータの授受も同様であり、HDD24に格納さ
れている暗号化データ送付プログラムを送信側装置20
のCPU21が実行することによって、送信者Bによる
送信者側装置20の入力部25への操作によって入力さ
れた平文m2 を取得(S321’)した後、S322及
びS323の工程がCPU21により行なわれ、更に、
S331からS333にかけての工程が受信側装置10
のHDD14に格納されているデータ復号化プログラム
をCPU11が実行することによって実現されて平文m
2 が再現され、その後、CPU11が、出力部16を制
御して平文m2 を出力して受信者Aに提示する(S33
4’)。また、それ以降のデータの授受も同様である。
In the data encryption system shown in FIG.
The same is true for the second data transfer, and the encrypted data transmission program stored in the HDD 24 is transmitted to the transmission side device 20.
Of the plaintext m 2 input by the sender B operating the input unit 25 of the sender device 20 (S321 ′), the CPU 21 performs the steps S322 and S323. And
The process from S331 to S333 is performed by the receiving side device 10
Is realized by the CPU 11 executing the data decryption program stored in the HDD 14 of the plaintext m.
2 is reproduced, then, CPU 11 may output the plaintext m 2 controls the output unit 16 for presenting to the recipient A (S33
4 '). The same applies to the transfer of data thereafter.

【0078】以上のように、図2に示すデータ暗号シス
テムにおいて、RSA暗号方式を採用して本発明に係る
データ授受を行なうことができる。次に、本発明の別の
実施例について説明する。
As described above, in the data encryption system shown in FIG. 2, data exchange according to the present invention can be performed by employing the RSA encryption method. Next, another embodiment of the present invention will be described.

【0079】いままで説明した実施例(以降、第一実施
例と呼ぶこととする)では、受信者側装置10に受信者
Aが秘密データを入力する度に鍵対が生成され、暗号文
の復号が行なわれるようにしており、前述したように、
同一のデータ暗号システムを利用できる別の環境で暗号
文の復号化が行なえるという利点がある。しかしなが
ら、この利点も、見方を変えると、受信者Aが秘密デー
タを入力するために行なう受信者側装置10の入力部1
5への操作の様子が覗き見されるなどによって秘密デー
タが第三者に知られてしまったときに、暗号文が第三者
の利用可能な別の環境で復号化されてしまう問題を有し
ているということとなる。これより説明する本発明の第
二実施例は、特定の環境のみでしか暗号文の復号化が行
なえないようにすることで、この問題を解決するもので
ある。
In the embodiment described so far (hereinafter, referred to as the first embodiment), a key pair is generated each time the receiver A inputs the secret data to the receiver device 10, and the cipher text is generated. The decryption is performed, and as described above,
There is an advantage that the ciphertext can be decrypted in another environment where the same data encryption system can be used. However, from a different point of view, this advantage is also different from the input unit 1 of the receiver device 10 that the receiver A performs for inputting the secret data.
When secret data is known to a third party due to prying eyes on the operation of the third party, there is a problem that the ciphertext is decrypted in another environment available to the third party. It means that you are doing. The second embodiment of the present invention described below solves this problem by making it possible to decrypt cipher text only in a specific environment.

【0080】この第二実施例も、前述した第一実施例と
同様に、図2に示すデータ暗号システムにおいて実施す
る。また、第二実施例におけるデータ暗号システムでの
処理の流れも、図3に示したものと同様であるが、同図
のS102やS132においてCPU11により行なわ
れる鍵対生成の処理を図4に示したものと異なるものに
する。
The second embodiment is also implemented in the data encryption system shown in FIG. 2, as in the first embodiment. The processing flow in the data encryption system in the second embodiment is the same as that shown in FIG. 3, but FIG. 4 shows the key pair generation processing performed by the CPU 11 in S102 and S132 in FIG. To be different from

【0081】図7は、本発明の第二実施例において、鍵
対生成プログラムを実行することによってCPU11に
より行なわれる鍵対生成の処理の流れを示している。図
7を図4と比較すると分かるように、図7においては、
CPU11が環境情報を取得する処理を行なう点(S5
01)、擬似乱数の発生の工程において、秘密データs
のみならず、取得した環境情報にも基づいて擬似乱数r
を発生させる点(S201’)、更に、生成された乱数
rのみならず、環境情報にも基づいて仮公開鍵PA 及び
仮秘密鍵SA を生成する点(S202’)が図4と異な
っている。
FIG. 7 shows a flow of a key pair generation process performed by the CPU 11 by executing the key pair generation program in the second embodiment of the present invention. As can be seen by comparing FIG. 7 with FIG. 4, in FIG.
The point where the CPU 11 performs the process of acquiring the environment information (S5
01), in the process of generating pseudorandom numbers, secret data s
Not only the pseudo random number r
Is different from FIG. 4 in that the temporary public key P A and the temporary secret key S A are generated based on not only the generated random number r but also environmental information (S201 ′). ing.

【0082】ここで、環境情報とは、受信側装置10を
1台だけ特定することを可能とする、その受信側装置1
0のみに固有の情報であり、例えば、ROM13に予め
記録されている受信者側装置10の製品番号や製造番
号、あるいはHDD14のパーティションに付されたシ
リアルナンバー等が利用できる。
Here, the environment information means that only one receiving apparatus 10 can be specified.
This information is unique only to 0, for example, a product number and a serial number of the receiver-side device 10 recorded in the ROM 13 in advance, or a serial number assigned to a partition of the HDD 14 can be used.

【0083】このようにすることによって、生成される
鍵対が、秘密データから一意に得られるものではなく、
秘密データと環境情報との組み合わせから一意に得られ
るものとなる。従って、暗号文を復号化するための秘密
鍵の生成が、平文の暗号化に用いた公開鍵の生成に使用
したものと同一の環境情報を有している受信側装置10
のみで可能となり、受信側装置10以外の環境では正し
い秘密データを入力しても暗号文の復号化が行なえなく
なるので、秘密データ漏洩に対するデータ暗号システム
の安全性が向上する。
In this way, the generated key pair is not uniquely obtained from the secret data,
It is uniquely obtained from the combination of secret data and environmental information. Therefore, the generation of the secret key for decrypting the ciphertext is performed by the receiving apparatus 10 having the same environment information as that used for generating the public key used for encrypting the plaintext.
Only in the environment other than the receiving apparatus 10, even if correct secret data is input, the ciphertext cannot be decrypted. Therefore, the security of the data encryption system against leakage of secret data is improved.

【0084】次に、本発明の第三実施例について説明す
る。この第三実施例は、受信者Aが楽曲の演奏を行な
い、その演奏のための操作の内容を示す演奏データを秘
密データとして利用するというものである。
Next, a third embodiment of the present invention will be described. In the third embodiment, the receiver A plays a musical piece, and uses performance data indicating the content of an operation for the performance as secret data.

【0085】この第三実施例も、前述した第一実施例と
同様に、図2に示すデータ暗号システムにおいて実施す
る(入力部15を操作して楽曲の演奏を行なう)ことも
可能ではあるが、図8に示すように、演奏操作を示す情
報を出力することの可能な鍵盤19を受信側装置10の
入力部15に接続し、受信者Aがこの鍵盤19に対して
楽曲の演奏の操作を行なうようにすると便利である。
The third embodiment can also be implemented in the data encryption system shown in FIG. 2 (operating the input unit 15 to play music), as in the first embodiment described above. As shown in FIG. 8, a keyboard 19 capable of outputting information indicating a performance operation is connected to the input unit 15 of the receiving device 10, and the receiver A operates the keyboard 19 to perform a music performance. It is convenient to do

【0086】図9は、本発明の第三実施例におけるデー
タ暗号システムの動作の流れを示している。図9におい
て、既に説明した図3と同様の処理を行なう工程には同
一の符号を付している。
FIG. 9 shows an operation flow of the data encryption system according to the third embodiment of the present invention. In FIG. 9, the steps that perform the same processing as in FIG. 3 described above are denoted by the same reference numerals.

【0087】図9を図3と比較すれば分かるように、図
9は、受信者Aによりある特定の楽曲(以下、「秘密メ
ロディ」と称することとする)の演奏のために行なわれ
た演奏操作を示す情報を鍵盤19(あるいは入力部15
の有するキーボードなど)が取得してCPU11に転送
する工程(S601及びS611)、そして、その後C
PU11がHDD14から鍵対生成プログラムを読み出
して実行し、秘密メロディについての演奏情報から公開
鍵PA 及び秘密鍵SA を生成する(S602及びS61
2)工程が図3に示されている動作の流れと異なってお
り、その他の工程においては両者は同一である。
As can be seen from a comparison of FIG. 9 with FIG. 3, FIG. 9 shows a performance performed by the receiver A for performing a specific music piece (hereinafter referred to as “secret melody”). Information indicating the operation is input to the keyboard 19 (or the input unit 15).
(S601 and S611) to acquire and transfer to the CPU 11
The PU 11 reads out and executes the key pair generation program from the HDD 14, and generates the public key P A and the secret key S A from the performance information on the secret melody (S602 and S61).
2) The process is different from the flow of the operation shown in FIG. 3, and the other processes are the same.

【0088】図9に示す場合において、鍵対生成プログ
ラムを実行することによってCPU11により行なわれ
る鍵対生成の処理の流れを図10に示す。図10におい
て、既に説明した図4と同様の処理を行なう工程には同
一の符号を付している。
FIG. 10 shows the flow of key pair generation processing performed by CPU 11 by executing the key pair generation program in the case shown in FIG. In FIG. 10, the steps that perform the same processing as in FIG. 4 described above are denoted by the same reference numerals.

【0089】まず、CPU11は、鍵盤19(あるいは
入力部15の有するキーボードなど)に対して行なった
演奏操作を示す情報を取得する(S701)。この情報
には、鍵盤19(あるいは入力部15の有するキーボー
ドなど)についての押鍵あるいは離鍵のタイミングを示
す情報や、押鍵あるいは離鍵を行なった鍵を特定する情
報などが含まれている。
First, the CPU 11 obtains information indicating a performance operation performed on the keyboard 19 (or a keyboard or the like of the input unit 15) (S701). This information includes information indicating the timing of depressing or releasing a key on the keyboard 19 (or a keyboard or the like of the input unit 15), information identifying a key that has been depressed or released. .

【0090】続いてCPU11は、取得した演奏操作を
示す情報を、1つ1つの楽音の音高や音長を示す音符デ
ータに変換し、その音符データのデータ列からなる秘密
メロディ音符データsを取得する(S702)。
Subsequently, the CPU 11 converts the acquired information indicating the performance operation into note data indicating the pitch and duration of each musical tone, and converts the secret melody note data s composed of a data string of the note data. It is acquired (S702).

【0091】この後にCPU11によって実行される工
程は、秘密メロディ音符データsを秘密データsとみな
せば図4に示したものと同様であるので、説明は省略す
る。以上のような構成により本発明の第三実施例は実現
され、受信者Aが行なった楽曲の演奏のための操作の内
容を示す演奏データを秘密データとして利用することが
できるようになる。楽曲の楽譜を人が覚えておくこと
は、無秩序なデータを秘密データとして覚えておくより
も容易であるので、演奏データを秘密データとして利用
すること利点がある。また、受信者Aの演奏に独特の癖
を有しているのであれば、例え秘密メロディがどのよう
なものであるかが第三者に知られてしまったとしても、
その第三者が受信者Aの演奏の癖を再現できなければ暗
号文を復号化できない。この点でデータ暗号システムの
安全性の向上にも寄与できる可能性がある。
The steps executed by the CPU 11 thereafter are the same as those shown in FIG. 4 if the secret melody note data s is regarded as the secret data s, so that the description will be omitted. With the above configuration, the third embodiment of the present invention is realized, and the performance data indicating the content of the operation for performing the music performed by the receiver A can be used as the secret data. Since it is easier for a person to remember a musical score of a music piece than to memorize disorderly data as secret data, there is an advantage in using performance data as secret data. Also, if the performance of the receiver A has a peculiar habit, even if a third party knows what the secret melody is,
If the third party cannot reproduce the performance habit of the receiver A, the cipher text cannot be decrypted. In this regard, there is a possibility that the security of the data encryption system can be improved.

【0092】なお、上述した第三実施例においては、鍵
盤19(あるいは入力部15の有するキーボードなど)
に対して受信者Aが演奏操作を行なうようにしていた
が、この他にも、例えば、受信者Aが楽器の演奏と並行
して歌唱若しくはハミングなどを行ない、その発声をマ
イクロフォンで集音し、取得された音声信号から発音タ
イミングや音高を分析して音符データに変換することで
秘密メロディ音符データsを取得するようにすることも
可能である。
In the third embodiment, the keyboard 19 (or the keyboard of the input unit 15) is used.
In this case, the receiver A performs singing or humming in parallel with the performance of the musical instrument, and the utterance is collected by a microphone. It is also possible to obtain secret melody note data s by analyzing the sounding timing and pitch from the obtained voice signal and converting it into note data.

【0093】また、この他にも、上述した第三実施例の
変形例として、演奏データを秘密データとして利用する
代わりに、人の発声を分析して得られる声紋や、人の指
紋、手相、網膜等についての画像情報などといった個人
の識別が可能な生体情報を取得し、このような生体情報
を変換して秘密データとして利用することも可能であ
る。
In addition to the above, as a modified example of the third embodiment described above, instead of using the performance data as secret data, a voice print obtained by analyzing a human utterance, a human fingerprint, palm, It is also possible to acquire biometric information that can be identified by an individual, such as image information on the retina and the like, and convert such biometric information to use it as secret data.

【0094】なお、以上までに説明したCPU11が実
行するこれらの処理をコンピュータに実行させる各種の
制御プログラムを作成してコンピュータ読み取り可能な
記憶媒体に記憶させ、そのプログラムを記憶媒体からコ
ンピュータに読み出させて実行させることにより、コン
ピュータを使用して本発明に係るデータ暗号システムを
構成することも可能である。
Note that various control programs for causing a computer to execute these processes executed by the CPU 11 described above are created and stored in a computer-readable storage medium, and the programs are read from the storage medium to the computer. By causing the computer to execute, the data encryption system according to the present invention can be configured using a computer.

【0095】図11に各種の制御プログラムを記憶する
コンピュータ読み取り可能な記憶媒体の例を示す。同図
に示すように、記憶媒体としては、例えば、コンピュー
タ41に内蔵若しくは外付けの付属装置として備えられ
るROMやハードディスク装置などの記憶装置42、フ
ロッピーディスク、MO(光磁気ディスク)、CD−R
OM、DVD−ROMなどといった携帯可能な記憶媒体
43等が利用できる。また、記憶媒体はネットワーク4
4を介してコンピュータ41と接続されるコンピュータ
であるプログラムサーバ45に付属する記憶装置46で
あってもよい。この場合には、制御プログラムを表現す
るデータ信号で搬送波を変調して得られる伝送信号を、
プログラムサーバ45から伝送媒体であるネットワーク
44を通じて伝送し、コンピュータ41では受信した伝
送信号を復調して制御プログラムを再生することで当該
制御プログラムの実行が可能となる。
FIG. 11 shows an example of a computer-readable storage medium for storing various control programs. As shown in the figure, as the storage medium, for example, a storage device 42 such as a ROM or a hard disk device provided as an internal or external accessory device in the computer 41, a floppy disk, an MO (magneto-optical disk), a CD-R
A portable storage medium 43 such as an OM or a DVD-ROM can be used. The storage medium is network 4
A storage device 46 attached to a program server 45, which is a computer connected to the computer 41 via the computer 4, may be used. In this case, a transmission signal obtained by modulating a carrier with a data signal representing a control program is
The control program is transmitted from the program server 45 through the network 44 as a transmission medium, and the computer 41 demodulates the received transmission signal and reproduces the control program, whereby the control program can be executed.

【0096】[0096]

【発明の効果】以上詳細に説明したように、本発明は、
公開鍵を使用して暗号化を行なって生成された暗号デー
タを、該公開鍵と対である秘密鍵を使用して復号化す
る、公開鍵暗号方式を利用するデータ暗号システムにお
いて、公開鍵と秘密鍵とからなる鍵対を生成するための
種となるデータから該種となるデータに一意に対応する
該鍵対を生成する鍵対生成工程により得られた公開鍵が
使用されて生成された暗号データであって、該暗号デー
タを受け取る度に該種となるデータを改めて取得し、そ
の改めて取得された種となるデータに一意に対応する鍵
対を上述した鍵対生成工程により生成し、その生成され
た前記鍵対のうちの秘密鍵を使用して、受け取った前記
暗号データを復号化するようにする。
As described in detail above, the present invention provides
In a data encryption system using a public key cryptosystem, which decrypts encrypted data generated by performing encryption using a public key using a secret key paired with the public key, Generated using a public key obtained by a key pair generation step of generating a key pair uniquely corresponding to the seed data from seed data for generating a key pair consisting of a secret key Each time the cryptographic data is received, the seed data is newly acquired every time the encrypted data is received, and a key pair uniquely corresponding to the newly acquired seed data is generated by the key pair generation step described above. Using the secret key of the generated key pair, the received encrypted data is decrypted.

【0097】こうすることによって、秘密鍵を保存して
おかなくても暗号データの復号化が行なえるようになる
ので、記憶媒体から秘密鍵が漏洩する危険性が回避され
る効果を奏する。
In this way, the encrypted data can be decrypted without storing the secret key, so that the risk that the secret key leaks from the storage medium can be avoided.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の原理構成を示す図である。FIG. 1 is a diagram showing the principle configuration of the present invention.

【図2】本発明を実施するデータ暗号システムの全体構
成を示す図である。
FIG. 2 is a diagram illustrating an overall configuration of a data encryption system that embodies the present invention.

【図3】本発明に係るデータ暗号システムの基本的な動
作の流れを示す図である。
FIG. 3 is a diagram showing a basic operation flow of the data encryption system according to the present invention.

【図4】図3における鍵対生成の処理の流れを示す図で
ある。
FIG. 4 is a diagram showing a flow of a key pair generation process in FIG. 3;

【図5】RSA暗号方式を採用して本発明に係るデータ
授受を行なう場合の処理の流れを示す図である。
FIG. 5 is a diagram showing a flow of processing when data is exchanged according to the present invention by employing the RSA encryption method.

【図6】図5における鍵対生成の処理の流れを示す図で
ある。
FIG. 6 is a diagram showing a flow of a key pair generation process in FIG. 5;

【図7】本発明の第二実施例における鍵対生成の処理の
流れを示す図である。
FIG. 7 is a diagram showing a flow of a key pair generation process in a second embodiment of the present invention.

【図8】本発明の第三実施例を実施するのに好適なデー
タ暗号システムの全体構成を示す図である。
FIG. 8 is a diagram showing an overall configuration of a data encryption system suitable for implementing a third embodiment of the present invention.

【図9】本発明の第三実施例におけるデータ暗号システ
ムの動作の流れを示す図である。
FIG. 9 is a diagram showing a flow of an operation of the data encryption system in the third embodiment of the present invention.

【図10】図9における鍵対生成の処理の流れを示す図
である。
FIG. 10 is a diagram showing a flow of a key pair generation process in FIG. 9;

【図11】各種の制御プログラムを記憶するコンピュー
タ読み取り可能な記憶媒体の例を示す図である。
FIG. 11 is a diagram illustrating an example of a computer-readable storage medium that stores various control programs.

【図12】公開鍵暗号方式による従来のデータ暗号シス
テムを示す図である。
FIG. 12 is a diagram showing a conventional data encryption system using a public key encryption method.

【図13】図12における鍵対生成ルーチンの詳細を説
明する図である。
FIG. 13 is a diagram illustrating details of a key pair generation routine in FIG. 12;

【図14】公開鍵暗号方式を説明する図である。FIG. 14 is a diagram illustrating a public key cryptosystem.

【符号の説明】[Explanation of symbols]

1 データ取得手段 2 鍵対生成手段 3 公開鍵送付手段 4 データ再取得制御手段 5 鍵対再生成制御手段 6 復号化手段 10 受信者側装置 11、21 CPU 12、22 RAM 13、23 ROM 14、24 HDD 15、25 入力部 16、26 出力部 17、27 I/F部 18、28 バス 19 鍵盤 20 送信者側装置 30、44 ネットワーク 41 コンピュータ 42、46 記憶装置 43 携帯可能記憶媒体 45 プログラムサーバ 1000 鍵対生成ルーチン 1100 公開鍵ファイル 1200 秘密鍵ファイル 2000 暗号化ルーチン 2100 公開鍵簿ファイル 3000 復号化ルーチン 1 Data Acquisition Means 2 Key Pair Generation Means 3 Public Key Sending Means 4 Data Reacquisition Control Means 5 Key Pair Regeneration Control Means 6 Decryption Means 10 Recipient Side Device 11, 21 CPU 12, 22 RAM 13, 23 ROM 14, 24 HDD 15, 25 Input unit 16, 26 Output unit 17, 27 I / F unit 18, 28 Bus 19 Keyboard 20 Sender device 30, 44 Network 41 Computer 42, 46 Storage device 43 Portable storage medium 45 Program server 1000 Key pair generation routine 1100 Public key file 1200 Private key file 2000 Encryption routine 2100 Public key book file 3000 Decryption routine

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】 公開鍵を使用して暗号化を行なって暗号
データを生成する暗号化装置と、該公開鍵と対である秘
密鍵を使用して該暗号データを復号化する復号化装置と
からなる、公開鍵暗号方式を利用するデータ暗号システ
ムにおける該復号化装置であって、 前記公開鍵と前記秘密鍵とからなる鍵対を生成するため
の種となるデータの入力を取得するデータ取得手段と、 前記種となるデータから、該種となるデータに一意に対
応する前記鍵対を生成する鍵対生成手段と、 前記鍵対生成手段により生成された前記鍵対のうちの公
開鍵を前記暗号化装置に送付する公開鍵送付手段と、 前記データ取得手段を制御して、前記公開鍵送付手段に
より送付された公開鍵を使用して前記暗号化装置によっ
て生成された暗号データが当該復号化装置に入力される
度に、前記種となるデータを改めて取得させるデータ再
取得制御手段と、 前記鍵対生成手段を制御して、前記データ再取得制御手
段により制御された前記データ取得手段によって改めて
取得された前記種となるデータから前記鍵対を生成させ
る鍵対再生成制御手段と、 前記鍵対再生成制御手段により制御された前記鍵対生成
手段によって生成された前記鍵対のうちの秘密鍵を使用
して、前記暗号化装置により生成された暗号データを復
号化する復号化手段と、 を有することを特徴とする復号化装置。
An encryption device that performs encryption using a public key to generate encrypted data, and a decryption device that decrypts the encrypted data using a secret key paired with the public key. The data decryption apparatus in a data encryption system using a public key cryptosystem, comprising: obtaining data input as a seed for generating a key pair including the public key and the secret key. Means, a key pair generation means for generating the key pair uniquely corresponding to the seed data from the seed data, and a public key of the key pair generated by the key pair generation means. Controlling the data obtaining unit to transmit the encrypted data generated by the encrypting device using the public key transmitted by the public key transmitting unit; Input to the gasifier Data re-acquisition control means for reacquiring the seed data every time, the key pair generation means is controlled, and the data reacquisition means controlled by the data reacquisition control means reacquires the data. Key pair regeneration control means for generating the key pair from seed data, and a secret key of the key pair generated by the key pair generation means controlled by the key pair regeneration control means. And a decryption unit for decrypting the encrypted data generated by the encryption device.
【請求項2】 前記鍵対生成手段は、 前記種となるデータから一意に決まる擬似乱数を順次発
生させる擬似乱数発生手段と、 前記擬似乱数発生手段により順次発生させた擬似乱数の
うち、所定の条件に合致し、且つ該擬似乱数発生手段が
所定の順番に発生させたものを選択して前記鍵対とする
選択手段と、 を有することを特徴とする請求項1に記載の復号化装
置。
2. The method according to claim 1, wherein the key pair generation means includes: a pseudo random number generation means for sequentially generating a pseudo random number uniquely determined from the seed data; and a pseudo random number sequentially generated by the pseudo random number generation means. 2. The decryption device according to claim 1, further comprising: a selector that selects a key pair that matches a condition and that is generated in a predetermined order by the pseudorandom number generator.
【請求項3】 当該復号化装置の装置環境に固有な情報
である環境情報を取得する環境情報取得手段を更に有
し、 前記鍵対生成手段は、前記種となるデータ及び前記環境
情報から、該種となるデータ及び該環境情報に一意に対
応する前記鍵対を生成する、 ことを特徴とする請求項1に記載の復号化装置。
3. The apparatus further comprises environment information acquisition means for acquiring environment information that is information unique to the apparatus environment of the decryption apparatus, wherein the key pair generation means comprises: The decryption device according to claim 1, wherein the key pair uniquely corresponding to the seed data and the environment information is generated.
【請求項4】 前記データ取得手段は、 楽曲の演奏において行なわれる演奏操作の内容を示す情
報を取得する演奏操作情報取得手段と、 前記演奏操作情報取得手段により取得された情報を変換
して、前記演奏操作の内容に対応する音符を示すデータ
の列であるメロディ音符データを生成する変換手段と、 を有し、前記変換手段によって生成されたメロディ音符
データを前記種となるデータとして取得する、 ことを特徴とする請求項1に記載の復号化装置。
4. The data acquisition means, wherein: performance operation information acquisition means for acquiring information indicating the contents of a performance operation performed in music performance; and information obtained by the performance operation information acquisition means. A conversion unit that generates melody note data that is a sequence of data corresponding to the content of the performance operation, and obtains the melody note data generated by the conversion unit as the seed data. 2. The decoding device according to claim 1, wherein:
【請求項5】 公開鍵を使用して暗号化を行なって暗号
データを生成する暗号化装置と、該公開鍵と対である秘
密鍵を使用して該暗号データを復号化する復号化装置と
からなる、公開鍵暗号方式を利用するデータ暗号システ
ムにおける該暗号化装置であって、 前記復号化装置から送付される公開鍵を使用して暗号化
を行なって暗号データを生成する暗号化手段と、 前記暗号データを前記復号化装置に送付する暗号データ
送付手段と、を有し、 前記公開鍵は、前記復号化装置において取得されるデー
タであって、該公開鍵と前記秘密鍵とからなる鍵対を生
成するための種となる該データから、該種となるデータ
に一意に対応する該鍵対を生成する、該復号化装置の有
する鍵対生成手段によって生成されたものであり、 前記暗号データ送付手段によって前記復号化装置に送付
される暗号データは、該暗号データが該復号化装置に入
力される度に該復号化装置において改めて取得される前
記種となるデータから、前記鍵対生成手段が生成する前
記鍵対のうちの秘密鍵を使用して、該復号化装置におい
て復号化される、 ことを特徴とする暗号化装置。
5. An encryption device for generating encrypted data by performing encryption using a public key, and a decryption device for decrypting the encrypted data using a secret key paired with the public key. An encryption unit for generating encrypted data by performing encryption using a public key sent from the decryption device, wherein the encryption device is a data encryption system that uses a public key encryption method. An encryption data sending unit that sends the encryption data to the decryption device, wherein the public key is data obtained by the decryption device, and includes the public key and the secret key. Generating, from the data serving as a seed for generating a key pair, the key pair uniquely corresponding to the seed data, the key pair being generated by key pair generation means of the decryption device; Means for sending encrypted data Therefore, the encryption data sent to the decryption device is generated by the key pair generation means from the seed data newly acquired by the decryption device each time the encryption data is input to the decryption device. The decryption device decrypts the private key using a secret key of the key pair.
【請求項6】 公開鍵を使用して暗号化を行なって生成
された暗号データを、該公開鍵と対である秘密鍵を使用
して復号化する、公開鍵暗号方式を利用するデータ暗号
システムにおけるデータの復号化方法であって、 前記公開鍵と前記秘密鍵とからなる鍵対を生成するため
の種となるデータから該種となるデータに一意に対応す
る該鍵対を生成する鍵対生成工程により得られた公開鍵
が使用されて生成された暗号データであって、該暗号デ
ータを受け取る度に該種となるデータを改めて取得し、 前記改めて取得された種となるデータに一意に対応する
前記鍵対を前記鍵対生成工程により生成し、 前記改めて取得された種となるデータから前記鍵対生成
工程により生成された前記鍵対のうちの秘密鍵を使用し
て、受け取った前記暗号データを復号化する、 ことを特徴とするデータ復号化方法。
6. A data encryption system using a public key cryptosystem, wherein encrypted data generated by performing encryption using a public key is decrypted using a secret key paired with the public key. Wherein the key pair uniquely generates the key pair corresponding to the seed data from the seed data for generating the key pair including the public key and the secret key. The cryptographic data generated by using the public key obtained in the generation step, the seed data is newly acquired each time the cryptographic data is received, and the newly acquired seed data is uniquely obtained. The corresponding key pair is generated in the key pair generating step, and the private key of the key pair generated in the key pair generating step from the newly obtained seed data is used to receive the key pair. Restore encrypted data A data decryption method.
【請求項7】 コンピュータで実行させることによっ
て、公開鍵を使用して暗号化を行なって生成された暗号
データを、該公開鍵と対である秘密鍵を使用して復号化
する、公開鍵暗号方式を利用するデータ暗号システムに
おける該暗号データの復号化を該コンピュータに行なわ
せる暗号データ復号化プログラムを記憶した該コンピュ
ータで読み取り可能な記憶媒体であって、 前記公開鍵と前記秘密鍵とからなる鍵対を生成するため
の種となるデータから該種となるデータに一意に対応す
る前記鍵対を生成する鍵対生成工程により得られた公開
鍵が使用されて生成された暗号データであって、復号化
する該暗号データを受け取る度に前記種となるデータを
改めて取得させる制御と、 前記鍵対生成工程を行なわせて、前記改めて取得された
種となるデータに一意に対応する前記鍵対を生成させる
制御と、 前記鍵対生成工程を行なわせて前記改めて取得された種
となるデータから生成された前記鍵対のうちの秘密鍵を
使用して、受け取った前記暗号データを復号化させる制
御と、 をコンピュータに行なわせる暗号データ復号化プログラ
ムを記憶した記憶媒体。
7. A public key cryptosystem, which is executed by a computer to decrypt encrypted data generated by performing encryption using a public key using a secret key paired with the public key. A computer-readable storage medium storing an encrypted data decryption program for causing the computer to decrypt the encrypted data in a data encryption system using a system, comprising: the public key and the secret key. A cryptographic data generated using a public key obtained by a key pair generation step of generating the key pair uniquely corresponding to the seed data from the seed data for generating the key pair, Every time the encrypted data to be decrypted is received, the seed data is newly acquired, and the key pair generation step is performed to obtain the seed data. Control to generate the key pair uniquely corresponding to data, using a secret key of the key pair generated from the seed data newly obtained by performing the key pair generation step, A storage medium storing a control for decrypting the received encrypted data, and an encrypted data decryption program for causing a computer to perform:
JP2000184801A 2000-06-20 2000-06-20 Decoding apparatus in data encryption system, encryption device, encrypted data decoding method, and storage medium Pending JP2002009752A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000184801A JP2002009752A (en) 2000-06-20 2000-06-20 Decoding apparatus in data encryption system, encryption device, encrypted data decoding method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000184801A JP2002009752A (en) 2000-06-20 2000-06-20 Decoding apparatus in data encryption system, encryption device, encrypted data decoding method, and storage medium

Publications (1)

Publication Number Publication Date
JP2002009752A true JP2002009752A (en) 2002-01-11

Family

ID=18685202

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000184801A Pending JP2002009752A (en) 2000-06-20 2000-06-20 Decoding apparatus in data encryption system, encryption device, encrypted data decoding method, and storage medium

Country Status (1)

Country Link
JP (1) JP2002009752A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006087094A (en) * 2004-09-13 2006-03-30 Samsung Electronics Co Ltd Multi-streaming method using temporary storage medium, and multi-streaming apparatus
JP2008532389A (en) * 2005-02-25 2008-08-14 クゥアルコム・インコーポレイテッド Digital signature using a small public key for authentication
JP2019149763A (en) * 2018-02-28 2019-09-05 オムロン株式会社 Data processing method, control system, and control device
CN112800492A (en) * 2021-02-05 2021-05-14 联想(北京)有限公司 Control method and device for decrypting disk data

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006087094A (en) * 2004-09-13 2006-03-30 Samsung Electronics Co Ltd Multi-streaming method using temporary storage medium, and multi-streaming apparatus
JP2008532389A (en) * 2005-02-25 2008-08-14 クゥアルコム・インコーポレイテッド Digital signature using a small public key for authentication
JP2019149763A (en) * 2018-02-28 2019-09-05 オムロン株式会社 Data processing method, control system, and control device
CN112800492A (en) * 2021-02-05 2021-05-14 联想(北京)有限公司 Control method and device for decrypting disk data

Similar Documents

Publication Publication Date Title
JP3659791B2 (en) Method and system for generating a small time key
US7095851B1 (en) Voice and data encryption method using a cryptographic key split combiner
JP2001513227A (en) Management and use of secret latest random numbers in network environment
US20070124321A1 (en) Storing digital secrets in a vault
JPH103256A (en) Ciphering method and device therefor, recording method, decoding method and device therefor and recording medium
WO2001030020A1 (en) Variable length key encrypting system
RU2007135358A (en) SMALL DIGITAL SIGNATURES BASED ON OPEN KEY USED FOR AUTHENTICATION
JP2006194990A (en) Encryption device, decryption device, key generating device, program, and method
JP2006109107A (en) Signature formation method, signature verification method, public key distribution method, and information processing apparatus
JPWO2003013054A1 (en) Apparatus and method for generating data for detecting tampering of encrypted data with processing
JP2021072593A (en) Encryption processing system and encryption processing method
JP2002009752A (en) Decoding apparatus in data encryption system, encryption device, encrypted data decoding method, and storage medium
JP3625356B2 (en) External storage device, encryption unit device, decryption unit device, encryption system, decryption system, encryption method, and decryption method
JPH11346210A (en) Encryption method and device, decoding method and device, record medium recording encryption program, record medium recording decoding program, method for electronic signature and method for authenticating electronic signature
JP3984570B2 (en) Program for controlling key management server and verification device in signature / verification system
JPH11161167A (en) Device and method for ciphering and recording medium which records ciphering program
JP2000307567A (en) Digitally written work protecting system
JP4452105B2 (en) Decryption information generation device and program thereof, distribution content generation device and program thereof, and content decryption device and program thereof
EP1161812A1 (en) Voice and data encryption method using a cryptographic key split combiner
JP4598437B2 (en) Decryption information generation device and program thereof, distribution content generation device and program thereof, and content decryption device and program thereof
JP2005202048A (en) Cipher communication system, encryption device and decryption device used for the system, encrypting method and decrypting method, encrypting program and decrypting program, and recording medium
JP5392264B2 (en) Name encryption device, pseudonymization device, name encryption method, and pseudonymization method
US8457309B2 (en) Private key compression
JP4829737B2 (en) Personal information protection system, key management device and key generation program, signature key generation device and signature key generation program, personal information management device and personal information collection program, and receiving terminal and personal information management program
JP4098510B2 (en) Anonymous communication method, apparatus processing method thereof, program thereof, and recording medium thereof