JP3464153B2 - Encryption communication method and encryption communication system - Google Patents

Encryption communication method and encryption communication system

Info

Publication number
JP3464153B2
JP3464153B2 JP26203598A JP26203598A JP3464153B2 JP 3464153 B2 JP3464153 B2 JP 3464153B2 JP 26203598 A JP26203598 A JP 26203598A JP 26203598 A JP26203598 A JP 26203598A JP 3464153 B2 JP3464153 B2 JP 3464153B2
Authority
JP
Japan
Prior art keywords
entity
key
vector
secret
public key
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.)
Expired - Fee Related
Application number
JP26203598A
Other languages
Japanese (ja)
Other versions
JP2000092038A (en
Inventor
正雄 笠原
恭通 村上
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.)
Murata Machinery Ltd
Original Assignee
Murata Machinery 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 Murata Machinery Ltd filed Critical Murata Machinery Ltd
Priority to JP26203598A priority Critical patent/JP3464153B2/en
Priority to US09/397,983 priority patent/US6788788B1/en
Publication of JP2000092038A publication Critical patent/JP2000092038A/en
Application granted granted Critical
Publication of JP3464153B2 publication Critical patent/JP3464153B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、情報の内容が当事
者以外にはわからないように情報を暗号化して通信する
安全性が高い暗号通信方法及びシステムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a highly secure cryptographic communication method and system for encrypting information so that only the parties concerned can understand the content of the information.

【0002】[0002]

【従来の技術】高度情報化社会と呼ばれる現代社会で
は、コンピュータネットワークを基盤として、ビジネス
上の重要な文書・画像情報が電子的な情報という形で伝
送通信されて処理される。このような電子情報は、容易
に複写が可能である、複写物とオリジナルとの区別が困
難であるという性質があり、情報保全の問題が重要視さ
れている。特に、「コンピュータリソースの共有」,
「マルチアクセス」,「広域化」の各要素を満たすコン
ピュータネットワークの実現が高度情報化社会の確立に
不可欠であるが、これは当事者間の情報保全の問題とは
矛盾する要素を含んでいる。このような矛盾を解消する
ための有効な手法として、人類の過去の歴史上主として
軍事,外交面で用いられてきた暗号技術が注目されてい
る。
2. Description of the Related Art In a modern society called an advanced information society, business-important document / image information is transmitted and processed in the form of electronic information based on a computer network. Such electronic information has the property that it can be easily copied and that it is difficult to distinguish the copy from the original, and the problem of information preservation is emphasized. In particular, "Computer resource sharing",
The realization of a computer network satisfying the elements of "multi-access" and "wide area" is indispensable for establishing an advanced information society, but this includes elements that are inconsistent with the issue of information security between the parties. As an effective method for resolving such a contradiction, a cryptographic technique which has been used mainly in military and diplomatic aspects in the past history of human beings has been receiving attention.

【0003】暗号とは、情報の意味が当事者以外には理
解できないように情報を交換することである。暗号にお
いて、誰でも理解できる元の文(平文)を第三者には意
味がわからない文(暗号文)に変換することが暗号化で
あり、また、暗号文を平文に戻すことが復号であり、こ
の暗号化と復号との全過程をまとめて暗号系と呼ぶ。暗
号化の過程及び復号の過程には、それぞれ暗号化鍵及び
復号鍵と呼ばれる秘密の情報が用いられる。復号時には
秘密の復号鍵が必要であるので、この復号鍵を知ってい
る者のみが暗号文を復号でき、暗号化によって情報の秘
密性が維持され得る。
Cryptography is the exchange of information so that the meaning of the information cannot be understood by anyone other than the parties concerned. In cryptography, converting an original text (plaintext) that anyone can understand into a text (ciphertext) whose meaning is unknown to a third party is encryption, and returning a ciphertext to plaintext is decryption. The whole process of encryption and decryption is collectively called an encryption system. Secret information called an encryption key and a decryption key are used in the encryption process and the decryption process, respectively. Since a secret decryption key is required for decryption, only a person who knows this decryption key can decrypt the ciphertext, and the confidentiality of information can be maintained by the encryption.

【0004】暗号化鍵と復号鍵とは、等しくても良い
し、異なっていても良い。両者の鍵が等しい暗号系は、
共通鍵暗号系と呼ばれ、米国商務省標準局が採用したD
ES(Data Encryption Standards)はその典型例であ
る。また、両者の鍵が異なる暗号系の一例として、公開
鍵暗号系と呼ばれる暗号系が提案された。この公開鍵暗
号系は、暗号系を利用する各ユーザ(エンティティ)が
暗号化鍵と復号鍵とを一対ずつ作成し、暗号化鍵を公開
鍵リストにて公開し、復号鍵のみを秘密に保持するとい
う暗号系である。公開鍵暗号系では、この一対となる暗
号化鍵と復号鍵とが異なり、一方向性関数を利用するこ
とによって暗号化鍵から復号鍵を割り出せないという特
徴を持たせている。
The encryption key and the decryption key may be the same or different. An encryption system in which both keys are the same
It is called a symmetric key cryptosystem, and is adopted by the US Department of Commerce Standards Bureau.
ES (Data Encryption Standards) is a typical example. Also, as an example of an encryption system in which both keys are different, an encryption system called a public key encryption system has been proposed. In this public key cryptosystem, each user (entity) who uses the cryptosystem creates a pair of encryption key and decryption key, publishes the encryption key in the public key list, and keeps only the decryption key secret. It is an encryption system that does. In the public key cryptosystem, the pair of encryption key and decryption key are different from each other, and the one-way function is used so that the decryption key cannot be calculated from the encryption key.

【0005】公開鍵暗号系は、暗号化鍵を公開するとい
う画期的な暗号系であって、高度情報化社会の確立に必
要な上述した3つの要素に適合するものであり、情報通
信技術の分野等での利用を図るべく、その研究が活発に
行われ、典型的な公開鍵暗号系としてRSA暗号系が提
案された。このRSA暗号系は、一方向性関数として素
因数分解の困難さを利用して実現されている。また、離
散対数問題を解くことの困難さ(離散対数問題)を利用
した公開鍵暗号系も種々の手法が提案されてきた。
The public key cryptosystem is an epoch-making cryptosystem in which the cryptographic key is disclosed, and is suitable for the above-mentioned three elements necessary for establishing an advanced information society. The research has been actively carried out for the purpose of utilizing it in the field of, and the RSA cryptosystem has been proposed as a typical public key cryptosystem. This RSA cryptosystem is realized by utilizing the difficulty of factorization as a one-way function. In addition, various methods have been proposed for public key cryptosystems that utilize the difficulty of solving the discrete logarithm problem (discrete logarithm problem).

【0006】また、各エンティティの住所,氏名等の個
人を特定するID(Identity)情報を利用する暗号系が
提案された。この暗号系では、ID情報に基づいて送受
信者間で共通の暗号化鍵を生成する。また、このID情
報に基づく暗号技法には、(1)暗号文通信に先立って
送受信者間での予備通信を必要とする方式と、(2)暗
号文通信に先立って送受信者間での予備通信を必要とし
ない方式とがある。特に、(2)の手法は予備通信が不
要であるので、エンティティの利便性が高く、将来の暗
号系の中枢をなすものと考えられている。
Further, an encryption system has been proposed which utilizes ID (Identity) information for identifying an individual such as the address and name of each entity. In this encryption system, an encryption key common to both senders and receivers is generated based on the ID information. In addition, the encryption technique based on this ID information includes (1) a method requiring preliminary communication between the sender and the receiver prior to ciphertext communication, and (2) a standby between the sender and the receiver prior to ciphertext communication. There is a method that does not require communication. In particular, the method (2) does not require preliminary communication, and thus is highly convenient for the entity, and is considered to be the core of the future encryption system.

【0007】この(2)の手法による暗号系は、ID−
NIKS(ID-based non-interactive key sharing sch
eme)と呼ばれており、通信相手のID情報を用いて予備
通信を行うことなく暗号化鍵を共有する方式を採用して
いる。ID−NIKSは、送受信者間で公開鍵,秘密鍵
を交換する必要がなく、また鍵のリスト及び第三者によ
るサービスも必要としない方式であり、任意のエンティ
ティ間で安全に通信を行える。
The encryption system according to the method (2) is ID-
NIKS (ID-based non-interactive key sharing sch
It is called "eme)" and employs a method of sharing an encryption key using ID information of a communication partner without performing preliminary communication. The ID-NIKS is a system in which it is not necessary to exchange a public key and a private key between senders and receivers, and a list of keys and a service by a third party are not necessary, and secure communication can be performed between arbitrary entities.

【0008】図7は、このID−NIKSのシステムの
原理を示す図である。信頼できるセンタの存在を仮定
し、このセンタを中心にして共有鍵生成システムを構成
している。図7において、エンティティXの特定情報で
あるエンティティXの名前,住所,電話番号等のID情
報は、ハッシュ関数h(・)を用いてh(IDX )で表
す。センタは任意のエンティティXに対して、センタ公
開情報{PCi },センタ秘密情報{SCi }及びエン
ティティXのID情報h(IDX )に基づいて、以下の
ように秘密情報SXiを計算し、秘密裏にエンティティX
へ配布する。 SXi=Fi ({SCi },{PCi },h(IDX ))
FIG. 7 is a diagram showing the principle of this ID-NIKS system. The shared key generation system is constructed around this center, assuming the existence of a reliable center. In FIG. 7, the ID information such as the name, address, and telephone number of the entity X, which is the specific information of the entity X, is represented by h (ID X ) using the hash function h (·). The center calculates the secret information S Xi for an arbitrary entity X based on the center public information {PC i }, the center secret information {SC i } and the ID information h (ID X ) of the entity X as follows. Then, secretly entity X
Distribute to. S Xi = F i ({SC i }, {PC i }, h (ID X ))

【0009】エンティティXは他の任意のエンティティ
Yとの間で、暗号化,復号のための共有鍵KXYを、エン
ティティX自身の秘密情報{SXi},センタ公開情報
{PCi }及び相手先のエンティティYのID情報h
(IDY )を用いて以下のように生成する。 KXY=f({SXi},{PCi },h(IDY )) また、エンティティYも同様にエンティティXへの鍵を
共有鍵KYXを生成する。もし常にKXY=KYXの関係が成
立すれば、この鍵KXY,KYXをエンティティX,Y間で
暗号化鍵,復号鍵として使用できる。
The entity X exchanges a shared key K XY for encryption and decryption with another arbitrary entity Y, secret information {S Xi } of the entity X itself, center public information {PC i } and the other party. ID information h of the previous entity Y
It is generated as follows using (ID Y ). K XY = f ({S Xi }, {PC i }, h (ID Y )) Also, the entity Y similarly generates a key to the entity X as a shared key K YX . If the relationship of K XY = K YX is always established, the keys K XY and K YX can be used as an encryption key and a decryption key between the entities X and Y.

【0010】上述した公開鍵暗号系では、例えばRSA
暗号系の場合にその公開鍵の長さは現在の電話番号の十
数倍となり、極めて煩雑である。これに対して、ID−
NIKSでは、各ID情報を名簿という形式で登録して
おけば、この名簿を参照して任意のエンティティとの間
で共有鍵を生成することができる。従って、図7に示す
ようなID−NIKSのシステムが安全に実現されれ
ば、多数のエンティティが加入するコンピュータネット
ワーク上で便利な暗号系を構築できる。このような理由
により、ID−NIKSが将来の暗号系の中心になると
期待されている。
In the public key cryptosystem described above, for example, RSA
In the case of an encryption system, the length of the public key is ten times more than the current telephone number, which is extremely complicated. On the other hand, ID-
In NIKS, if each ID information is registered in the form of a name list, a shared key can be generated with an arbitrary entity by referring to this name list. Therefore, if the ID-NIKS system as shown in FIG. 7 is safely realized, a convenient encryption system can be constructed on a computer network to which many entities join. For these reasons, ID-NIKS is expected to become the center of future cryptosystems.

【0011】[0011]

【発明が解決しようとする課題】通信相手のID情報を
用いて予備通信を行うことなく暗号化鍵及び復号鍵とな
る共有鍵を互いに共有するようなID−NIKSにあっ
ては、複数のエンティティの結託等の攻撃に対して十分
に安全であることが望まれる。しかしながら、以上のよ
うなID−NIKSにおいては、攻撃法が検討されて、
適当な人数のエンティティが結託すればセンタの秘密パ
ラメータが露呈するという問題を含んでいる。暗号学的
に安全なID−NIKSを構築できるか否かは、高度情
報化社会に重要な問題であり、より理想的な暗号方式の
探究が進められている。
In the ID-NIKS in which the shared key serving as the encryption key and the decryption key is shared with each other without performing preliminary communication using the ID information of the communication partner, a plurality of entities are provided. It is hoped that it will be sufficiently safe against attacks such as collusion. However, in the above-mentioned ID-NIKS, attack methods have been studied,
It involves the problem that the secret parameters of the center are exposed if an appropriate number of entities collude. Whether or not a cryptographically secure ID-NIKS can be constructed is an important issue in the advanced information society, and the search for a more ideal cryptosystem is being pursued.

【0012】本発明は斯かる事情に鑑みてなされたもの
であり、秘密鍵生成関数及び鍵共有関数が分離不可能で
あり、確率的に鍵共有が可能であり、安全性が高い新規
のID−NIKSによる暗号通信方法及び暗号通信シス
テムを提供することを目的とする。
The present invention has been made in view of the above circumstances, and the secret key generation function and the key sharing function are inseparable, the key can be stochastically shared, and a highly secure new ID is provided. -An object of the present invention is to provide a cryptographic communication method and a cryptographic communication system by NIKS.

【0013】[0013]

【課題を解決するための手段】請求項1に係る暗号通信
方法は、センタ装置から複数のエンティティ装置夫々へ
各エンティティ固有の秘密鍵を送付し、一方のエンティ
ティ装置が前記センタ装置から送付された該エンティテ
ィ固有の秘密鍵と公開された他方のエンティティの公開
鍵とから求めた共有鍵を利用して平文を暗号文に暗号化
して他方のエンティティ装置へ伝送し、該他方のエンテ
ィティ装置が伝送された暗号文を、前記センタ装置から
送付された該エンティティ固有の秘密鍵と公開された前
記一方のエンティティの公開鍵とから求めた、前記共有
鍵と同一の共有鍵を利用して元の平文に復号することに
より、エンティティ装置間で情報の通信を行う暗号通信
方法において、前記各エンティ固有の秘密鍵は、各エン
ティティの公開鍵と各エンティティ固有の乱数とを用
い、複数個の各数それぞれを法として生成される複数種
類の秘密鍵であり、各エンティティ装置は、この複数種
類の秘密鍵と相手のエンティティの公開鍵とを用いて前
記各数それぞれを法とする複数種類の中間値を求め、求
めた複数種類の中間値の整数環上での加算によって前記
乱数を消去するようにして、前記共有鍵を生成するよう
にしたことを特徴とする。
A cryptographic communication method according to a first aspect of the present invention is such that a secret key unique to each entity is sent from a center device to each of a plurality of entity devices, and one of the entity devices is sent from the center device. Using the shared key obtained from the private key unique to the entity and the public key of the other published entity, plaintext is encrypted into ciphertext and transmitted to the other entity device, and the other entity device is transmitted. The encrypted text obtained from the secret key unique to the entity sent from the center device and the public key of the one of the entities that has been made public are converted into the original plaintext using the same shared key as the shared key. In the cryptographic communication method in which information is communicated between entity devices by decrypting, the private key unique to each entity is a public key of each entity. It is a plurality of types of secret keys that are generated modulo each of a plurality of numbers using random numbers unique to each entity, and each entity device uses the plurality of types of secret keys and the public key of the counterpart entity. Then, a plurality of types of intermediate values modulo each of the numbers are obtained, and the shared key is generated by deleting the random numbers by adding the obtained plurality of types of intermediate values on the integer ring. It is characterized by

【0014】請求項2に係る暗号通信方法は、請求項1
において、前記乱数は複数次元の乱数ベクトルであるこ
とを特徴とする。
The cryptographic communication method according to claim 2 is the method according to claim 1.
In the above, the random number is a multi-dimensional random number vector.

【0015】請求項3に係る暗号通信方法は、請求項1
または2において、前記センタ装置における2種類の前
記秘密鍵を生成する演算式は以下であり、
A cryptographic communication method according to a third aspect is the first aspect.
Or 2, the arithmetic expression for generating two kinds of the secret keys in the center device is as follows:

【0016】[0016]

【数5】 [Equation 5]

【0017】但し、 ベクトルsi :エンティティiの一方の秘密鍵 ベクトルti :エンティティiの他方の秘密鍵 P,Q;公開された素数 ベクトルvi :エンティティiの公開鍵 A,B:センタ秘密の乱数からなる対称行列 ベクトルγi :乱数からなる個人乱数ベクトル 前記各エンティティ装置における前記共有鍵を生成する
演算式は以下であることを特徴とする。
However, vector s i : one secret key vector of entity i, t i : the other secret key P, Q of entity i; published prime vector v i : public key A, B of entity i: center secret A symmetric matrix vector γ i consisting of random numbers of: a personal random number vector consisting of random numbers The arithmetic expression for generating the shared key in each of the entity devices is characterized by the following.

【0018】[0018]

【数6】 [Equation 6]

【0019】但し、 Kij:一方のエンティティiが他方のエンティティjに
対して生成する共有鍵 ベクトルvj :エンティティjの公開鍵 Aij′,Bij′:共有鍵Kijを生成するための中間値
However, K ij : Shared key vector v j generated by one entity i for the other entity j : Public keys A ij ′, B ij ′ of entity j: for generating shared key K ij Intermediate value

【0020】請求項4に係る暗号通信方法は、請求項1
または2において、前記センタ装置における2種類の前
記秘密鍵を生成する演算式は以下であり、
The encrypted communication method according to claim 4 is the method according to claim 1.
Or 2, the arithmetic expression for generating two kinds of the secret keys in the center device is as follows:

【0021】[0021]

【数7】 [Equation 7]

【0022】但し、 ベクトルsi :エンティティiの一方の秘密鍵 ベクトルti :エンティティiの他方の秘密鍵 P,Q;公開された素数 ベクトルvi :エンティティiの公開鍵 A,B:センタ秘密の乱数からなる対称行列 ベクトルγi :乱数からなる個人乱数ベクトル 以下の式を満たすようにkビットの前記P,Qを設定
し、 P≡δ (mod R) Q≡ε (mod R) 但し、 R:dビットの素数 δ,ε;eビットの数 k>d>e 前記各エンティティ装置における前記共有鍵を生成する
演算式は以下であることを特徴とする。
However, vector s i : one secret key vector of entity i, t i : the other secret key P, Q of entity i; published prime vector v i : public key A, B of entity i: center secret A symmetric matrix vector γ i consisting of random numbers of: a personal random number vector consisting of random numbers, P and Q of k bits are set so as to satisfy the following equation, and P≡δ (mod R) Q≡ε (mod R) R: d-bit prime numbers δ, ε; e-bit number k>d> e An arithmetic expression for generating the shared key in each entity device is as follows.

【0023】[0023]

【数8】 [Equation 8]

【0024】但し、 Kij:一方のエンティティiが他方のエンティティjに
対して生成する共有鍵 Kij′:共有鍵Kijを生成するための中間値 Kij″:共有鍵Kijを生成するための中間値であり、K
ij′をRで割った剰余 c:鍵共有確率に関わるパラメータ
[0024] However, K ij: common key K ij one entity i generates for the other entity j ': median K ij for generating a shared key K ij ": generating a common key K ij Is an intermediate value for K
Remainder c of ij 'divided by R: Parameter related to key agreement probability

【0025】請求項5に係る暗号通信方法は、請求項1
〜4の何れかにおいて、各エンティティの特定情報をハ
ッシュ関数を利用して計算することにより、各エンティ
ティの前記公開鍵を求めることを特徴とする。
A cryptographic communication method according to a fifth aspect is the first aspect.
1 to 4, the public key of each entity is obtained by calculating the specific information of each entity using a hash function.

【0026】請求項6に係る暗号通信システムは、送信
すべき情報である平文を暗号文に暗号化する処理、及
び、送信された暗号文を元の平文に復号する処理を、複
数のエンティティ装置間で相互に行う暗号通信システム
において、各エンティティ固有の公開鍵と各エンティテ
ィ固有の秘密の乱数とを用いて、複数個の各数それぞれ
を法とする複数種類の秘密鍵を生成して各エンティティ
装置へ送付するセンタ装置と、該センタ装置から送付さ
れた自身の複数種類の秘密鍵と通信対象のエンティティ
固有の公開鍵とを用いて前記各数それぞれを法とする複
数種類の中間値を求め、求めた複数種類の中間値の整数
環上での加算によって前記乱数を消去するようにして、
前記暗号化処理及び復号処理を行うための共有鍵を生成
する複数のエンティティ装置とを有することを特徴とす
る。
According to a sixth aspect of the present invention, a cryptographic communication system performs a process of encrypting plaintext, which is information to be transmitted, into a ciphertext, and a process of decrypting the transmitted ciphertext into an original plaintext. In a cryptographic communication system mutually performed between each entity, a public key unique to each entity and a secret random number unique to each entity are used to generate a plurality of types of private keys modulo each of a plurality of numbers. A center device to be sent to the device, a plurality of types of private keys of itself sent from the center device, and a public key unique to the entity to be communicated are used to obtain a plurality of types of intermediate values modulo each of the numbers. , The above-mentioned random numbers are erased by addition on the integer ring of the obtained plurality of intermediate values,
A plurality of entity devices that generate a shared key for performing the encryption process and the decryption process.

【0027】まず、ID−NIKSを実現するための条
件及び安全なID−NIKSであるための条件について
考察する。但しi,j,y及びzはエンティティを表
し、vi は多くの場合にIDのハッシュ値であるエンテ
ィティiの公開鍵、si はエンティティiの秘密鍵、K
ijはエンティティiが求めたエンティティjとの共有鍵
とする。
First, the conditions for realizing ID-NIKS and the conditions for secure ID-NIKS will be considered. However, i, j, y, and z represent entities, v i is often the public key of entity i, which is a hash value of the ID, s i is the private key of entity i, and K
ij is a shared key with the entity j obtained by the entity i.

【0028】ID−NIKSを実現するためには、以下
の条件1〜3の3つの条件が必要である。
In order to realize ID-NIKS, the following three conditions 1 to 3 are necessary.

【0029】〔条件1(秘密鍵生成条件)〕 センタは、秘密鍵生成関数f(・)を用いて、エンティ
ティiの公開鍵vi から対応する秘密鍵si を求めるこ
とができる。 si =f(vi
[Condition 1 (secret key generation condition)] The center can obtain the corresponding secret key s i from the public key v i of the entity i using the secret key generation function f (·). s i = f (v i )

【0030】〔条件2(共有鍵生成条件)〕 共有鍵生成関数g(・)を用いて、エンティティiの秘
密鍵si とエンティティjの公開鍵vj とから共有鍵K
ijを求めることができる。 Kij=g(si ,vj
[Condition 2 (Shared Key Generation Condition)] The shared key K is calculated from the secret key s i of the entity i and the public key v j of the entity j by using the shared key generation function g (·).
ij can be obtained. K ij = g (s i , v j )

【0031】〔条件3(鍵共有条件)〕 エンティティiがエンティティjに対して生成する共有
鍵Kijと、エンティティjがエンティティiに対して生
成する共有鍵Kjiとは等しい。 Kij=Kji 従って、共有鍵生成関数g(・)に秘密鍵生成関数f
(・)を代入して得られる、公開鍵vi ,vj を変数と
する鍵共有関数F(・)は対称関数である。 F(vi ,vj )=F(vj ,vi ) 但し、 F(vi ,vj )=g( f(vi ),vj )=g(s
i ,vj
[Condition 3 (Key Sharing Condition)] The shared key K ij generated by the entity i for the entity j and the shared key K ji generated by the entity j for the entity i are equal. K ij = K ji Therefore, the secret key generation function f is added to the shared key generation function g (·).
The key agreement function F (•) obtained by substituting (•) with the public keys v i and v j as variables is a symmetric function. F (v i , v j ) = F (v j , v i ), where F (v i , v j ) = g (f (v i ), v j ) = g (s
i , v j )

【0032】ここで、分離可能を以下のように定義す
る。定義:適当な可換算法を○として、以下の式が必ず
満たされる場合に、関数fは演算○により分離可能であ
ると定義する。 f(x+y)=f(x)○f(y) 例えば、f(x)=ax,f(x)=ax は、以下に示
すように分離可能である。 f(x+y)=a(x+y)=ax+ay=f(x)+
f(y) f(x+y)=ax+y =ax ・ay =f(x)・f
(y) 一方、f(x)=ax+bは、以下に示すように分離可
能でない。 f(x+y)=a(x+y)+b=ax+ay+b f(x)+f(y)=ax+b+ay+b=ax+ay
+2b よって、f(x+y)≠f(x)+f(y)
Here, separability is defined as follows. Definition: The function f is defined as separable by the operation ◯ when the following formula is always satisfied, where ∘ is a suitable convertible method. f (x + y) = f (x) ○ f (y) for example, f (x) = ax, f (x) = a x is separable as shown below. f (x + y) = a (x + y) = ax + ay = f (x) +
f (y) f (x + y) = a x + y = a x · a y = f (x) · f
(Y) On the other hand, f (x) = ax + b is not separable as shown below. f (x + y) = a (x + y) + b = ax + ay + b f (x) + f (y) = ax + b + ay + b = ax + ay
+ 2b Therefore, f (x + y) ≠ f (x) + f (y)

【0033】攻撃対象のエンティティzの公開鍵vz
結託者の公開鍵vi の線形結合で表され、しかも、秘密
鍵生成関数または鍵共有関数の何れか一方が多項式時間
で分離可能な関数である場合には、センタ秘密を求める
ことなくエンティティの秘密鍵及び共有鍵を偽造するこ
とができる。この攻撃法は従来より線形攻撃と呼ばれて
きた。
The public key v z attack target entity z is represented as a linear combination of the public key v i colluder, moreover, can be separated in either one of the private key generating function or key sharing function polynomial time function If, then the entity's private key and shared key can be forged without requiring the center secret. This attack method has been conventionally called a linear attack.

【0034】従来、公開鍵vz を線形結合で表すことは
容易と考えられていたが、攻撃したいエンティティの公
開鍵vz を線形結合で表すことが必ずしも容易でない方
式も開発されている。そこで、線形攻撃を、公開鍵vz
を線形結合として表すという前段の攻撃部分と、その場
合に関数を分離して鍵を偽造するという後段の攻撃部分
とに分けて考えるべきである。以下の説明では、この線
形攻撃の前段を結合攻撃、後段を分離攻撃と呼んで区別
する。なお、線形攻撃は、この結合攻撃及び分離攻撃の
両攻撃をまとめたものを指すこととする。
[0034] Conventionally, it has been considered to facilitate that represents the public key v z as a linear combination, method is to represent the public key v z of the entity that you want to attack a linear combination is not always easy has also been developed. Therefore, a linear attack is performed with the public key v z
Should be divided into an attack part in the first stage, where is expressed as a linear combination, and an attack part in the latter stage, where the function is separated and the key is forged in that case. In the following description, the former stage of this linear attack is called a combined attack, and the latter stage is called a separation attack to distinguish them. The linear attack is a combination of both the combined attack and the separated attack.

【0035】分離攻撃に対しては以下の定理が成立す
る。 定理1:(秘密鍵に対する分離攻撃) 公開鍵vz に対して整数係数による結合攻撃が成立し、
秘密鍵生成関数が演算○により多項式時間で分離可能で
あり、しかも、演算○に対する逆元が多項式時間で求ま
る場合には、秘密鍵による分離攻撃により秘密鍵sz
多項式時間で偽造できる。 定理2:(共有鍵に対する分離攻撃) 公開鍵vz に対して整数係数による結合攻撃が成立し、
秘密鍵生成関数が演算○により多項式時間で分離可能で
あり、しかも、演算○に対する逆元が多項式時間で求ま
る場合には、共有鍵のみを用いた分離攻撃により共有鍵
yzを多項式時間で偽造できる。
The following theorem holds for the separation attack. Theorem 1: (Separation attack on secret key) A combination attack with an integer coefficient is established for public key v z ,
If the secret key generation function can be separated in polynomial time by the operation ◯, and the inverse element for the operation ◯ can be obtained in polynomial time, the secret key s z can be forged in polynomial time by the separation attack with the secret key. Theorem 2: (Separation attack on the shared key) A combination attack with an integer coefficient is established for the public key v z ,
If the secret key generation function can be separated in polynomial time by the operation ◯, and the inverse element for the operation ◯ is obtained in polynomial time, the shared key K yz is forged in polynomial time by the separation attack using only the shared key. it can.

【0036】上述したような分離攻撃に対して安全なI
D−NIKSを構成するためには、以下の条件4,5を
満たせば良い。
I that is safe against the separation attacks as described above
In order to configure D-NIKS, the following conditions 4 and 5 may be satisfied.

【0037】〔条件4(分離攻撃に対する秘密鍵の安全
性)〕 秘密鍵生成関数fを多項式時間で分離することは困難で
ある。
[Condition 4 (Security of Secret Key against Separation Attack)] It is difficult to separate the secret key generation function f in polynomial time.

【0038】〔条件5(分離攻撃に対する共有鍵の安全
性)〕 鍵共有関数Fを多項式時間で分離することは困難であ
る。
[Condition 5 (Security of Shared Key Against Separation Attack)] It is difficult to separate the key sharing function F in polynomial time.

【0039】この条件5は非常に厳しく、途中の計算に
かかわらず、鍵共有段階の関数形が分離可能となってい
るだけで安全ではないことを意味する。例えば、積和型
ID−NIKSまたはべき積型ID−NIKSはこの条
件を満たしていない。
The condition 5 is very strict, and means that the function forms at the key sharing stage are separable and unsafe regardless of the calculation in the middle. For example, the product-sum type ID-NIKS or the power-product type ID-NIKS does not satisfy this condition.

【0040】本発明では、秘密鍵生成関数及び鍵共有関
数が分離不可能となり、確率的に鍵共有が可能となる。
大きな素数を法とする有限体上の演算した後に、整数環
上の加算により乱数を消去することにより、分離不可能
性を実現している。本発明では、係数の大きさが制限さ
れた場合に、任意のベクトルを結託者のベクトルの線形
結合で表すことが困難であることを安全性の根拠として
いる。また、各エンティティ固有の乱数ベクトルを用い
ることにより、結託閾値を大きくしている。
In the present invention, the secret key generation function and the key sharing function cannot be separated, and the keys can be stochastically shared.
The inseparability is realized by erasing the random numbers by addition on the ring of integers after the operation on a finite field modulo a large prime number. In the present invention, it is based on the security that it is difficult to represent an arbitrary vector by a linear combination of the colluder's vectors when the magnitude of the coefficient is limited. In addition, the colluding threshold is increased by using a random number vector unique to each entity.

【0041】[0041]

【発明の実施の形態】図1は、本発明の暗号通信システ
ムの構成を示す模式図である。情報の隠匿を信頼できる
センタ1が設定されており、このセンタ1としては、例
えば社会の公的機関を該当できる。このセンタ1と、こ
の暗号系システムを利用するユーザとしての複数の各エ
ンティティa,b,…,zとは秘密通信路2a,2b,
…,2zにより接続されており、この秘密通信路2a,
2b,…,2zを介してセンタ1から秘密の鍵情報が各
エンティティa,b,…,zへ伝送されるようになって
いる。また、2人のエンティティの間には通信路3ab,
3az,3bz,…が設けられており、この通信路3ab,3
az,3bz,…を介して通信情報を暗号化した暗号文が互
いのエンティティ間で伝送されるようになっている。
FIG. 1 is a schematic diagram showing the configuration of a cryptographic communication system of the present invention. A center 1 that can trust the concealment of information is set, and this center 1 can be, for example, a public institution of society. The center 1 and a plurality of entities a, b, ..., Z as users who use this encryption system are secret communication paths 2a, 2b,
,, 2z, and the secret communication path 2a,
The secret key information is transmitted from the center 1 to the entities a, b, ..., Z via 2b ,. In addition, the communication path 3ab between the two entities,
3az, 3bz, ... Are provided, and these communication paths 3ab, 3b are provided.
The ciphertext obtained by encrypting the communication information via az, 3bz, ... Is transmitted between the entities.

【0042】(第1実施の形態) 以下に、本発明のID−NIKSの第1実施の形態(秘
密鍵に個人乱数を付加し、共有時に乱数部分を消去する
基本の方式)を説明する。
(First Embodiment) A first embodiment of the ID-NIKS of the present invention (a basic method of adding a personal random number to a secret key and erasing the random number portion at the time of sharing) will be described below.

【0043】(センタ1での準備処理) センタ1は以下の公開鍵及び秘密鍵を準備し、公開鍵を
公開する。 公開鍵 P,Q kビットの大きな素数 秘密鍵 A,B kビットの乱数からなるn×nの対
称行列 ベクトルγi lビットの乱数からなる個人乱数ベク
トル また、エンティティの特定情報であるエンティティのI
Dからmビットの正整数からなるn次元の公開鍵ベクト
ルを生成する一方向性関数ベクトルh(・)も同時に公
開する。但し、乱数ベクトルγi と任意のエンティティ
の公開鍵ベクトルvj との内積がP及びQを超えないよ
うに設定する。ここでは、議論を簡単にするために、パ
ラメータbを下記式(1)のように設定し、b>0の場
合について考える。このbは、後述するように、安全
性,鍵共有の確率に関与するパラーメータとなる。な
お、k=1240,l=200 ,m=1000,n=1000,b=30
程度が適正値である。 b=k−(l+m+ log2 n) …(1)
(Preparation Processing in Center 1) The center 1 prepares the following public key and secret key, and publishes the public key. Public key P, Q Large k-bit prime secret key A, B N × n symmetric matrix vector consisting of k-bit random numbers γ i A private random number vector consisting of l-bit random numbers Also, I of the entity that is the specific information of the entity
At the same time, the one-way function vector h (•) that generates an n-dimensional public key vector consisting of an m-bit positive integer from D is also disclosed. However, the inner product of the random number vector γ i and the public key vector v j of any entity is set so as not to exceed P and Q. Here, in order to simplify the discussion, consider the case where the parameter b is set as in the following equation (1) and b> 0. As will be described later, this b is a parameter that is related to security and the probability of key sharing. Note that k = 1240, l = 200, m = 1000, n = 1000, b = 30
The degree is a proper value. b = k- (l + m + log 2 n) (1)

【0044】(エンティティの登録処理) エンティティiに登録を依頼されたセンタ1は、準備し
た鍵とエンティティiの公開鍵ベクトルvi (=ベクト
ルh(IDi ))とを用いて以下の式(2)と式(3)
とに従って、エンティティiのベクトルsi とベクトル
i とを求め、求めたベクトルsi 及びベクトルti
エンティティiへ秘密裏に送って、登録を完了する。但
し、modは、二項演算子のmodである。即ち、a mo
d P はaをPで割った剰余を求める演算を表すとする。
(Entity registration processing) The center 1 requested to register the entity i uses the prepared key and the public key vector v i (= vector h (ID i )) of the entity i to obtain the following equation ( 2) and formula (3)
And in accordance with, I asked for and vector s i and vector t i of entity i, the vector s i and vector t i found to entity i send it in secret, to complete the registration. However, mod is a mod of the binary operator. That is, a mo
It is assumed that d P represents an arithmetic operation for obtaining a remainder obtained by dividing a by P.

【0045】[0045]

【数9】 [Equation 9]

【0046】なお、上記式(3)を、以下の式(3′)
のように表現して、鍵共有の最終段階で整数環上で減算
しても良い。但し、この場合には後述する共有鍵Kij
負の値となることがある。以下の説明では、式(3)に
よりベクトルti を求めることにする。
The above equation (3) is replaced by the following equation (3 ')
May be expressed as follows, and subtraction may be performed on the integer ring at the final stage of key sharing. However, in this case, the shared key K ij described later may have a negative value. In the following description, the vector t i will be obtained by the equation (3).

【0047】[0047]

【数10】 [Equation 10]

【0048】(エンティティ間の共有鍵の生成処理) エンティティiは、以下の計算を行って、エンティティ
jとの共有鍵Kijを求める。まず、法P及び法Qによる
式(4)及び式(5)に従って、それぞれAij′及びB
ij′を求め、次に整数環上で式(6)の計算によりKij
を得る。
(Process for Generating Shared Key Between Entities) The entity i performs the following calculation to obtain the shared key K ij with the entity j. First, according to the equations (4) and (5) by the method P and the method Q, A ij ′ and B
ij ′, and then K ij is calculated on the integer ring by the equation (6).
To get

【0049】[0049]

【数11】 [Equation 11]

【0050】次に、上述した暗号システムにおけるエン
ティティ間の情報の通信について説明する。図2は、2
人のエンティティa,b間における情報の通信状態を示
す模式図である。図2の例は、エンティティaが平文
(メッセージ)Mを暗号文Cに暗号化してそれをエンテ
ィティbへ伝送し、エンティティbがその暗号文Cを元
の平文(メッセージ)Mに復号する場合を示している。
Next, communication of information between entities in the above-mentioned cryptosystem will be described. 2 is 2
It is a schematic diagram which shows the communication state of the information between the entities a and b of a person. In the example of FIG. 2, an entity a encrypts a plaintext (message) M into a ciphertext C, transmits the ciphertext C to the entity b, and the entity b decrypts the ciphertext C into the original plaintext (message) M. Shows.

【0051】エンティティa側には、エンティティbの
個人識別情報IDb を入力し、ハッシュ関数を利用して
ベクトルvb (公開鍵)を得る公開鍵生成器11と、セン
タ1から送られる秘密のベクトルsa 及びta と公開鍵
生成器11からの公開鍵であるベクトルvb とに基づいて
エンティティaが求めるエンティティbとの共有鍵Kab
を生成する共有鍵生成器12と、共有鍵Kabを用いて平文
(メッセージ)Mを暗号文Cに暗号化して通信路30へ出
力する暗号化器13とが備えられている。
The entity a side inputs the personal identification information ID b entity b, or public key generator 11 to obtain a vector v b (public key) by using a hash function, secret sent from the center 1 shared key K ab and vector s a and t a and a public key from the public key generator 11 vector v b and entities b obtaining the entity a based on the
There is provided a shared key generator 12 for generating the encryption key and an encryption device 13 for encrypting a plaintext (message) M into a ciphertext C using the shared key Kab and outputting the encrypted text C to the communication path 30.

【0052】また、エンティティb側には、エンティテ
ィaの個人識別情報IDa を入力し、ハッシュ関数を利
用してベクトルva (公開鍵)を得る公開鍵生成器21
と、センタ1から送られる秘密のベクトルsb 及びtb
と公開鍵生成器21からの公開鍵であるベクトルva とに
基づいてエンティティbが求めるエンティティaとの共
有鍵Kbaを生成する共有鍵生成器22と、共有鍵Kbaを用
いて通信路30から入力した暗号文Cを平文(メッセー
ジ)Mに復号して出力する復号器23とが備えられてい
る。
[0052] Furthermore, the entity b toward the entity to enter personal identification information ID a of a, the public key generator 21 to obtain the vector v a (public key) by using a hash function
And the secret vectors s b and t b sent from the center 1.
And a shared key generator 22 that generates a shared key K ba with the entity a that the entity b seeks based on the vector v a that is the public key from the public key generator 21, and a communication path using the shared key K ba. There is provided a decryptor 23 which decrypts the ciphertext C input from 30 into a plaintext (message) M and outputs it.

【0053】次に、動作について説明する。エンティテ
ィaからエンティティbへ情報を伝送しようとする場
合、まず、エンティティbの個人識別情報IDb が公開
鍵生成器11に入力されてベクトルvb (公開鍵)が得ら
れ、得られたベクトルvb が共有鍵生成器12へ送られ
る。また、センタ1から式(2)及び(3)に従って求
められたベクトルsa 及びta が共有鍵生成器12へ入力
される。そして、式(4)〜(6)に従って共有鍵Kab
が求められ、暗号化器13へ送られる。暗号化器13におい
て、この共有鍵Kabを用いて平文(メッセージ)Mが暗
号文Cに暗号化され、暗号文Cが通信路30を介して伝送
される。
Next, the operation will be described. When transmitting information from the entity a to the entity b, first, the personal identification information ID b of the entity b is input to the public key generator 11 to obtain a vector v b (public key), and the obtained vector v v b is sent to the shared key generator 12. Further, the vectors s a and t a obtained from the center 1 according to the equations (2) and (3) are input to the shared key generator 12. Then, according to the equations (4) to (6), the shared key Kab
Is requested and sent to the encryption device 13. In the encryptor 13, the plaintext (message) M is encrypted into the ciphertext C using this shared key K ab , and the ciphertext C is transmitted via the communication path 30.

【0054】通信路30を伝送された暗号文Cはエンティ
ティbの復号器23へ入力される。エンティティaの個人
識別情報IDa が公開鍵生成器21に入力されてベクトル
a(公開鍵)が得られ、得られたベクトルva が共有
鍵生成器22へ送られる。また、センタ1から式(2)及
び(3)に従って求められたベクトルxb 及びtb が共
有鍵生成器22へ入力される。そして、式(4)〜(6)
に従って共有鍵Kbaが求められ、復号器23へ送られる。
復号器23において、この共有鍵Kbaを用いて暗号文Cが
平文(メッセージ)Mに復号される。
The ciphertext C transmitted through the communication path 30 is input to the decryptor 23 of the entity b. Personal identification information ID a of the entity a is input to the public key generator 21 vector v a (public key) is obtained, resulting vector v a is sent to the common key generator 22. Further, the vectors x b and t b obtained from the center 1 according to the equations (2) and (3) are input to the shared key generator 22. Then, expressions (4) to (6)
Then, the shared key K ba is obtained and sent to the decoder 23.
In the decryptor 23, the ciphertext C is decrypted into the plaintext (message) M using the shared key K ba .

【0055】次に、この方式の実現性について検証す
る。上記式(1)に示すbを大きくすると、高い確率で
ij=Kjiとなることを以下に示す。下記式(7),
(8)とする。
Next, the feasibility of this method will be verified. It is shown below that K ij = K ji is highly probable when b shown in the above equation (1) is increased. The following formula (7),
(8).

【0056】[0056]

【数12】 [Equation 12]

【0057】すると、Aij′は式(9)のようになるの
で、整数環上で式(10−1)または式(10−2)の何れ
か一方が成立している。
Then, since A ij ′ is as shown in formula (9), either formula (10-1) or formula (10-2) is established on the integer ring.

【0058】[0058]

【数13】 [Equation 13]

【0059】ここで、乱数ベクトルγi の転置ペクトル
と公開鍵ベクトルvj との内積(式(9)の右辺の第2
項)は、(l+m)ビットの数をn個加えたものである
ため、2l+m ・n未満の大きさの数となり、Aij″はk
ビットと考えられるので、γi の転置ベクトルとベクト
ルvj との内積を加えることによって全体が法Pより大
きくなる確率は、概ね(2l+m ・n)/2k =1/2b
と見積もることができる。従って、式(10−1)が成立
する確率は約1−1/2b となる。
Here, the inner product of the transposed vector of the random number vector γ i and the public key vector v j (the second part on the right side of equation (9)).
The term) is the number of (l + m) -bits added n, and is therefore a number less than 2 l + m · n, and A ij ″ is k.
Since it is considered as a bit, the probability that the whole becomes larger than the modulus P by adding the inner product of the transposed vector of γ i and the vector v j is about (2 l + m · n) / 2 k = 1/2 b
Can be estimated. Therefore, the probability that equation (10-1) holds will be about 1-1 / 2 b .

【0060】同様に、Bij′についても、Bij′が式
(11)で示され、整数環上で式(12−1)または式(12
−2)の何れか一方が成立しており、約1−1/2b
確率で式(12−1)が成立する。
[0060] Similarly, 'for even, B ij' B ij is shown in equation (11), formula (12-1) on the ring of integers or formula (12
Any one of -2) is established, and the equation (12-1) is established with a probability of about 1-1 / 2 b .

【0061】[0061]

【数14】 [Equation 14]

【0062】従って、Kijは以下の式(13−1),式
(13−2),式(13−3),式(13−4)の何れかで示
される。 Kij=Aij″+Bij″ …(13−1) Kij=Aij″+Bij″−P …(13−2) Kij=Aij″+Bij″+Q …(13−3) Kij=Aij″+Bij″−P+Q …(13−4)
Therefore, K ij is represented by any of the following equations (13-1), (13-2), (13-3) and (13-4). K ij = A ij ″ + B ij ″ (13-1) K ij = A ij ″ + B ij ″ −P (13-2) K ij = A ij ″ + B ij ″ + Q (13-3) K ij = A ij "+ B ij " -P + Q (13-4)

【0063】式(13−1)が成立する確率は、約(1−
1/2b 2 ≒1−1/2b-1 となるので、bを十分大
きくすれば、非常に高い確率で式(13−1)が成立す
る。式(13−2)及び式(13−3)が成立する確率は何
れも、約(1/2b )・(1−1/2b )であり、式
(13−4)が成立する確率は、約1/22bとなり、これ
らはすべて非常に低い確率である。
The probability that equation (13-1) holds is about (1-
Since 1/2 b ) 2 ≈ 1-1 / 2 b-1 , the expression (13-1) is established with a very high probability if b is made sufficiently large. The probability that the formula (13-2) and the formula (13-3) are both satisfied is about (1/2 b ) · (1-1 / 2 b ), and the probability that the formula (13-4) is satisfied. Becomes about 1/2 2b , which are all very low probabilities.

【0064】一方、Kjiについても全く同様に、約(1
−1/2b 2 という非常に高い確率で式(13−1)が
成立する。従って、2人のエンティティi,jが鍵を共
有できる確率、即ちKij=Kjiとなる確率は、約(1−
1/2b 4 ≒1−1/2b-2 となる。このように、第
1実施の形態では、非常に高い確率で鍵を共有できるこ
とがわかる。例えば、前述した適正値の場合には、b=
30と十分大きくなるので、鍵共有に失敗する確率は、わ
ずか1/228程度に過ぎない。
On the other hand, the same applies to K ji as well (about 1
Equation (13-1) is established with a very high probability of −½ b ) 2 . Therefore, the probability that two entities i and j can share a key, that is, K ij = K ji , is about (1-
1/2 b ) 4 ≈ 1-1 / 2 b-2 . As described above, it is understood that the keys can be shared with a very high probability in the first embodiment. For example, in the case of the appropriate value described above, b =
Since sufficiently large as 30, the probability of failure in the key sharing, not only to only about one-half 28.

【0065】ここで、n=1とした場合(行列及びベク
トルは何れもスカラーとなる)の第1実施の形態の数値
例を図3,図4に示す。なお、P,Q,A,Bを10進10
桁とし、各ベクトルvi ,vj ,γi ,γj (実はスカ
ラー)は10進3桁とした。このような桁数に設定するこ
とにより、ベクトルの内積がP,Qの桁数に達すること
がない。この例では、内積が3桁×3桁で6桁であるの
で、AijとAji、BijとBjiとは、それぞれ上位4桁が
同じ数となる。
Numerical examples of the first embodiment when n = 1 (both matrix and vector are scalars) are shown in FIGS. In addition, P, Q, A, B are decimal 10
Each vector v i , v j , γ i , γ j (actually a scalar) has three decimal digits. By setting such a number of digits, the inner product of the vector does not reach the number of digits of P and Q. In this example, the inner product is 3 digits × 3 digits, which is 6 digits, so that the upper 4 digits of A ij and A ji and the upper 4 digits of B ij and B ji are the same.

【0066】次に、この第1実施の形態の暗号化方式の
安全性についての考察を述べる。 (分離攻撃に対する秘密鍵の安全性) この方式では2つの秘密鍵を有するため、秘密鍵生成関
数は式(14)〜式(16)に示すようにfP ,fQ の2つ
となる。但し、式(14)の右辺は、2l 未満の乱数を成
分に持つn次元ベクトルを生成する関数とする。
Next, consideration will be given to the security of the encryption system of the first embodiment. (Security of Private Key Against Separation Attack) Since this system has two private keys, there are two private key generation functions f P and f Q as shown in Expressions (14) to (16). However, the right side of Expression (14) is a function for generating an n-dimensional vector having a random number less than 2 l as a component.

【0067】[0067]

【数15】 [Equation 15]

【0068】秘密鍵生成関数fP にベクトルx+ベクト
ルyを代入すると、下記式(17)のようになる。一方、
下記式(18)が成立する。
Substituting the vector x + vector y into the secret key generation function f P gives the following equation (17). on the other hand,
The following formula (18) is established.

【0069】[0069]

【数16】 [Equation 16]

【0070】よって、式(17)と比較して、式(18)で
は乱数部分の取り得る範囲が2倍に大きくなっているこ
とがわかる。変数を更に増やした場合には、乱数の影響
がより大きくなるので、秘密鍵生成関数fP を分離する
ことはできない。同様に、秘密鍵生成関数fQ も分離不
可能である。即ち、下記式(19),式(20)に示すよう
になり、条件4を満たす。
Therefore, it can be seen that the range that the random number portion can take in Expression (18) is twice as large as that in Expression (17). If the number of variables is further increased, the effect of random numbers becomes larger, so the secret key generation function f P cannot be separated. Similarly, the secret key generation function f Q is also inseparable. That is, it becomes as shown in the following formulas (19) and (20), and the condition 4 is satisfied.

【0071】[0071]

【数17】 [Equation 17]

【0072】(分離攻撃に対する共有鍵の安全性) 鍵共有関数Fは、下記式(21)〜(23)のように示され
る。
(Security of Shared Key Against Separation Attack) The key sharing function F is expressed by the following equations (21) to (23).

【0073】[0073]

【数18】 [Equation 18]

【0074】式(21)において、第1項は分離可能な関
数であるが、第2項及び第3項は分離可能な関数である
(式(22),式(23)に示す切り捨て関数は、f(x+
y)=f(x)+f(y)またはf(x)+f(y)+
1の何れかが成立するが、一般に多変数の結合を考える
と分離することが不可能であり、よって、切り捨て関数
を用いる関数μ及び関数νは分離不可能である)ので、
この鍵共有関数Fは分離不可能となる。即ち、式(24)
の関係を呈し、条件5を満たす。
In equation (21), the first term is a separable function, but the second and third terms are separable functions (the truncation functions shown in equations (22) and (23) are , F (x +
y) = f (x) + f (y) or f (x) + f (y) +
Either of 1 holds, but in general, it is impossible to separate when considering the combination of multivariables, and thus the function μ and the function ν that use the truncation function are inseparable).
This key agreement function F cannot be separated. That is, equation (24)
And the condition 5 is satisfied.

【0075】[0075]

【数19】 [Formula 19]

【0076】(有限体上での結合攻撃に対する安全性) 1次独立なn人の結託者の公開鍵ベクトルvi を並べた
行列Vを下記式(25)とすると、任意のベクトルvz
対してP,Qを法として、式(26),式(27)を求める
ことができる。
(Security against combined attack on finite field) If the matrix V in which the public key vectors v i of the n independent colluders of primary order are arranged is the following equation (25), an arbitrary vector v z can be obtained. On the other hand, the equations (26) and (27) can be obtained by using P and Q as the moduli.

【0077】[0077]

【数20】 [Equation 20]

【0078】そして、式(28),式(29)に示すよう
に、ベクトルvz をn人の結託者による線形結合で表す
ことができる。
Then, as shown in equations (28) and (29), the vector v z can be represented by a linear combination by n colluders.

【0079】[0079]

【数21】 [Equation 21]

【0080】ここで、下記式(30)とすると、Pを法と
して、式(31)のようにしてベクトルsz ′を求めるこ
とができる。
Here, if the following equation (30) is used, the vector s z ′ can be obtained as in the equation (31) modulo P.

【0081】[0081]

【数22】 [Equation 22]

【0082】ここで、下記式(32)を設定すると、式
(33)のように表される。
Here, when the following equation (32) is set, it is expressed as the equation (33).

【0083】[0083]

【数23】 [Equation 23]

【0084】同様に、下記式(34)を設定すると、Qを
法として、式(35)のようにしてベクトルtz ′を求め
ることができる。
Similarly, if the following equation (34) is set, the vector t z ′ can be obtained as in the equation (35) modulo Q.

【0085】[0085]

【数24】 [Equation 24]

【0086】式(33)の乱数項と式(35)の乱数項とが
等しく、しかも、その値が(l+b)ビットより小さい
場合には、乱数部分を消去することができる。このた
め、結託して求めたベクトルsz ′をエンティティzの
真の秘密鍵ベクトルsz の代わりとして使用することが
考えられる。しかしながら、以下に示す2つの理由によ
って、ベクトルsz ′は真の秘密鍵ベクトルsz の代用
にはできない。(理由1)式(26)の左辺及び式(27)
の左辺の各成分は一般にkビットとなるので、式(33)
の乱数項及び式(35)の乱数項は十分に大きくなる。
(理由2)式(26)の左辺と式(27)の左辺とは等しく
ないので、式(33)の乱数項と式(35)の乱数項とは等
しくならず、乱数部分を消去できない。
If the random number term of the equation (33) is equal to the random number term of the equation (35) and the value is smaller than (l + b) bits, the random number part can be erased. Therefore, it is conceivable to use the vector s z ′ obtained by colluding as a substitute for the true secret key vector s z of the entity z. However, the vector s z ′ cannot be substituted for the true secret key vector s z for the following two reasons. (Reason 1) Left side of expression (26) and expression (27)
Since each component on the left side of is generally k bits, equation (33)
And the random number term in Eq. (35) are sufficiently large.
(Reason 2) Since the left side of Expression (26) is not equal to the left side of Expression (27), the random number term of Expression (33) is not equal to the random term of Expression (35), and the random number part cannot be erased.

【0087】従って、この第1実施の形態は、n人の結
託による有限体上の結合攻撃に対して安全であると言え
る。
Therefore, it can be said that the first embodiment is safe against a joint attack on a finite field due to the colluding of n persons.

【0088】(整数環上での結合攻撃に対する安全性) (n+1)人以上のn′人の結託により、ユークリッド
の互除法を応用すれば、整数環上での結合攻撃が可能で
あると考えられる。即ち、n′人の結託者の公開鍵ベク
トルvi を並べた行列Vを下記式(36)とすると、整数
環上で式(37)を満たす係数ベクトルuz ′(成分は式
(38)に示す)を求めることができる。。
(Safety Against Joining Attack on Integer Ring) By applying the Euclidean mutual division method by concatenation of (n + 1) or more n'people, it is considered that a joining attack on an integer ring is possible. To be That is, when the matrix V in which the public key vectors v i of n'collusionists are arranged is the following expression (36), the coefficient vector u z ′ (the component is the expression (38) on the integer ring) Can be obtained). .

【0089】[0089]

【数25】 [Equation 25]

【0090】次に、式(39)及び式(40)に従って、ベ
クトルsz ′及びベクトルtz ′を求める。
Next, the vector s z ′ and the vector t z ′ are obtained according to the equations (39) and (40).

【0091】[0091]

【数26】 [Equation 26]

【0092】求まったこれらのベクトルsz ′,ベクト
ルtz ′を真の秘密鍵ベクトルsz,秘密鍵ベクトルt
z と比較すると、乱数項ベクトルγz ′が何れも大きく
なっているが、すべての|uzi|の値が小さく、ベクト
ルγz ′の大きさが(l+b)ビットよりも小さい場合
には、任意の公開鍵ベクトルvj に対して下記式(41)
の関係が成り立ち、ベクトルsz ′,ベクトルtz ′は
真の秘密鍵ベクトルsz ,秘密鍵ベクトルtz と同等の
役割を果たす。
The obtained vector s z ′ and vector t z ′ are the true secret key vector s z and the secret key vector t.
Compared to z, 'but is larger one, all | u zi | value is small, the vector gamma z' random term vector gamma z when the magnitude of (l + b) smaller than the bit, For any public key vector v j , the following equation (41)
And the vector s z ′ and the vector t z ′ play the same role as the true secret key vector s z and the secret key vector t z .

【0093】[0093]

【数27】 [Equation 27]

【0094】攻撃したいエンティティzを決めて、ベク
トルvz を小さい係数の結合で表せるように結託者のベ
クトルvi 及び係数ベクトルuz をうまく見つけること
ができた場合には、必ずしも安全であるとは言えない。
しかしながら、一般にこのような係数ベクトルuz を求
めることは困難である。よって、係数の大きさが制限さ
れた場合に、任意の公開鍵ベクトルを結託者の公開鍵ベ
クトルの線形結合で表すことが困難である点を、安全性
の根拠としている。
If the entity z desired to attack is determined and the colluder vector v i and the coefficient vector u z can be successfully found so that the vector v z can be represented by a combination of small coefficients, it is not necessarily safe. I can't say.
However, it is generally difficult to obtain such a coefficient vector u z . Therefore, the security is based on the fact that it is difficult to represent an arbitrary public key vector by a linear combination of colluder public key vectors when the size of the coefficient is limited.

【0095】(整数環上での結合攻撃が成立する確率) 前述したように、係数ベクトルuz のすべての成分uzi
に関して|uzi|の値が小さくなれば、結託による攻撃
が成立する。攻撃したいエンティティzを決めて、ベク
トルvz を小さい係数を用いた公開鍵の線形都合で表せ
る確率を考えることは容易でないので、ここでは、視点
を変えて、結託者をN人集めたときの攻撃が成功する公
開鍵の総数に着目して、攻撃が成立する確率について考
察する。但し、係数の大きさをw(≦b)ビットに制限
できれば攻撃が成立するものとする。この場合、偽造し
た秘密鍵を用いて作成した共有鍵が正しい共有鍵となる
確率は、1−1/2b-w である。
(Probability of Combining Attack on Integer Ring) As described above, all the components u zi of the coefficient vector u z
If the value of | u zi | becomes small, an attack by collusion is established. Since it is not easy to determine the entity z to attack and to consider the probability that the vector v z can be represented by the linear convenience of the public key using a small coefficient, here, when changing the viewpoint and gathering N colluders, Focusing on the total number of public keys for which an attack succeeds, we consider the probability that an attack will be successful. However, if the size of the coefficient can be limited to w (≦ b) bits, the attack is established. In this case, the probability that the shared key created using the forged secret key will be the correct shared key is 1-1 / 2 bw .

【0096】1人で攻撃する場合、wビットに大きさを
制限した係数を用いると、1人のベクトルv1 で2w
の公開鍵を表すことができる。これらの公開鍵の集合を
1とすると、V1 は下記式(42)に示される。
When attacking by one person, if a coefficient whose size is limited to w bits is used, the vector v 1 of one person can represent the public key of 2 w persons. When a set of these public keys and V 1, V 1 is represented by the following formula (42).

【0097】[0097]

【数28】 [Equation 28]

【0098】2人で攻撃する場合、同様に、ベクトルv
1 及びベクトルv2 を用いて22w人の公開鍵を表すこと
ができる。これらの公開鍵の集合をV2 とすると、V2
は下記式(43)に示される。
When two people attack, the vector v
One and the vector v 2 can be used to represent 2 2w public keys. If the set of these public keys is V 2 , then V 2
Is expressed by the following equation (43).

【0099】[0099]

【数29】 [Equation 29]

【0100】同様に、N人で攻撃する場合、ベクトルv
1 ,ベクトルv2 ,・・・,ベクトルvN の線形結合に
より、最大2Nw人の公開鍵を表すことができる。結託者
を最も効率良く選ぶためには、式(44)の条件を満たす
ように、ベクトルvi を選択すれば良い。
Similarly, when N people attack, the vector v
A maximum of 2 Nw public keys can be represented by a linear combination of 1 , vector v 2 , ..., Vector v N. In order to select the colluders most efficiently, the vector v i should be selected so as to satisfy the condition of Expression (44).

【0101】[0101]

【数30】 [Equation 30]

【0102】公開鍵の総数は2mnであり、一方、N人の
結託により攻撃が成立する公開鍵の最大数は2Nwである
ので、任意のエンティティに対して結合攻撃が成立する
確率は2Nw/2mnである。更に、任意に選んだ相手のエ
ンティティとの真の共有鍵まで偽造できる確率は(2Nw
/2mn)・(1−1/2b-w )となる。Nを従来の積和
型NIKSの結託閾値nとすると、w=bとしたとして
も、結合攻撃が成立する確率は1/2(m-b)nとなり、適
正値を用いた場合、1/2970000に過ぎない。
Since the total number of public keys is 2 mn , and the maximum number of public keys for which an attack is established by colluding N persons is 2 Nw , the probability that a combined attack is established for any entity is 2 It is Nw / 2mn . Furthermore, the probability that a true shared key with an arbitrarily selected entity can be forged is (2 Nw
/ 2 mn ). (1-1 / 2 bw ). If N is the collusion threshold n of the conventional sum-of-products type NIKS, the probability that a joint attack will be established is 1/2 (mb) n even if w = b, and 1/2970000 when an appropriate value is used. Nothing more than.

【0103】(整数環上での結合攻撃が成立する結託閾
値の下限) 従来の積和型NIKSに対する結合攻撃では、係数ベク
トルの大きさに制限はなかったので、1次独立な公開鍵
ベクトルをn個選べば、それらのn人の結託により2mn
通りのすべての公開鍵を線形結合で表現することができ
た。ところが、係数の大きさをwビットに制限すると、
N人の公開鍵による線形結合で表されるベクトルの集合
N の総数は最大でも2Nwにしかならない。
(Lower limit of collusion threshold at which a joint attack on an integer ring is established) In the conventional joint attack against the product-sum type NIKS, there is no limitation on the size of the coefficient vector. If you choose n, 2 mn will be obtained by colluding those n people.
All public keys on the street could be represented by a linear combination. However, if the size of the coefficient is limited to w bits,
The total number of vector sets V N represented by a linear combination of N public keys is 2 Nw at the maximum.

【0104】N人が結託したと仮定し、そのN人で2mn
通りのすべての公開鍵を線形結合で表現するためには、
Nは下記式(45)、即ち、式(46)の条件を満たす必要
がある。 2Nw≧2mn …(45) N≧mn/w …(46)
Assuming that N people have colluded, 2 mn
To represent all public keys in the street with a linear combination,
N must satisfy the condition of the following formula (45), that is, formula (46). 2 Nw ≧ 2 mn (45) N ≧ mn / w (46)

【0105】よって、この第1実施の形態は、結託閾値
の下限がべき積型NIKSと比較してm/w倍に大きく
なった暗号化方式であると結論できる。
Therefore, it can be concluded that the first embodiment is an encryption method in which the lower limit of the collusion threshold is m / w times larger than that of the exponentiation type NIKS.

【0106】実際には、ベクトルvz ∈VN であること
が分かっていたとしても、上記式(37)を満たすベクト
ルuz は一意とはならず、それらの中からすべての係数
がmビットより小さいものを見つけることは、更に非常
に困難であると考えられる。
Actually, even if it is known that the vector v z εV N , the vector u z satisfying the above equation (37) is not unique, and all the coefficients among them have m bits. Finding smaller ones may be even more difficult.

【0107】適正値を用いた場合、結託者が(1−1/
10)以上の確率で任意のエンティティとの共有鍵の偽
造が成功することを期待するならば、w=20までの大き
さしか取ることができず、結託閾値はm/w=1000/20
=50と通常の積和型NIKSの50倍程度も向上している
ことが分かる。
If an appropriate value is used, the colluder will (1-1 /
If we expect to succeed in forging a shared key with an arbitrary entity with a probability of 2 10 ) or higher, we can only take a size up to w = 20 and the collusion threshold is m / w = 1000/20.
= 50, which is about 50 times better than the normal product-sum type NIKS.

【0108】(第2実施の形態) 以下に、本発明のID−NIKSの第2実施の形態(第
1実施の形態の応用方式)を説明する。
(Second Embodiment) A second embodiment (application system of the first embodiment) of the ID-NIKS of the present invention will be described below.

【0109】第1実施の形態において、bを小さく設定
すれば、攻撃が困難になることを示した。その反面、b
を小さくすると、正当なエンティティが鍵を正しく共有
できる確率が減少する。即ち、第1実施の形態では、実
現性と安全性とが、bをパラーメータとしてトレードオ
フの関係になっている。
In the first embodiment, it has been shown that an attack becomes difficult if b is set small. On the other hand, b
Decreasing the value reduces the probability that legitimate entities will be able to share the key correctly. That is, in the first embodiment, feasibility and safety are in a trade-off relationship with b as a parameter.

【0110】第2実施の形態は、この第1実施の形態を
改良した、bをより小さくしても鍵を正しく共有できる
暗号化方式である。この第2実施の形態において、b=
0の限界まで小さくすると結託攻撃に対して非常に強い
実用的なID−NIKSを構成できる。
The second embodiment is an encryption system which is an improvement of the first embodiment and can share a key correctly even if b is made smaller. In the second embodiment, b =
If it is reduced to the limit of 0, a practical ID-NIKS that is very strong against collusion attacks can be constructed.

【0111】(センタ1での準備処理) センタ1は以下の公開鍵及び秘密鍵を準備し、公開鍵を
公開する。 公開鍵 R dビットの素数 P,Q kビットの大きな素数 秘密鍵 A,B kビットの乱数からなるn×
nの対称行列 ベクトルγi lビットの乱数からなる個人乱数ベク
トル センタ1は、上記公開鍵において、比較的小さいdビッ
トの素数Rを生成し、下記式(47),式(48)を満たす
ようにkビットの素数P,Qを生成する。 P≡δ (mod R) …(47) Q≡ε (mod R) …(48) 但し、δ,εはeビットの数で、k>d>eである。
(Preparation Processing in Center 1) The center 1 prepares the following public key and secret key, and publishes the public key. Public key R d-bit prime number P, Q k-bit large prime number secret key A, B k-bit random number n ×
A personal random number vector center 1 consisting of n symmetric matrix vectors γ i l-bit random numbers generates a relatively small d-bit prime number R in the above public key, and satisfies the following formulas (47) and (48). To generate k-bit prime numbers P and Q. P≡δ (mod R) (47) Q≡ε (mod R) (48) where δ and ε are the number of e bits and k>d> e.

【0112】また、エンティティのIDからmビットの
正整数からなるn次元の公開鍵ベクトルを生成する一方
向性関数ベクトルh(・)も同時に公開する。但し、b
=k−(l+m+ log2 n)(≧0)を非常に小さく設
定する。なお、k=1210,l=200 ,m=1000,n=10
00,b=0とし、d=500 ,e=50,c=50(cの意味
については後述)程度が適正値である。
At the same time, the one-way function vector h (•) for generating an n-dimensional public key vector consisting of an m-bit positive integer from the entity ID is also disclosed. However, b
= K− (l + m + log 2 n) (≧ 0) is set very small. Note that k = 1210, l = 200, m = 1000, n = 10
The appropriate values are 00, b = 0, and d = 500, e = 50, c = 50 (the meaning of c will be described later).

【0113】(エンティティの登録処理) エンティティiに登録を依頼されたセンタ1は、準備し
た鍵とエンティティiの公開鍵ベクトルvi (=ベクト
ルh(IDi ))とを用いて以下の式(49)と式(50)
とに従って、エンティティiのベクトルsi とベクトル
i とを求め、求めたベクトルsi 及びベクトルti
エンティティiへ秘密裏に送って、登録を完了する。
(Entity Registration Processing) The center 1 requested to register the entity i uses the prepared key and the public key vector v i of the entity i (= vector h (ID i )) 49) and formula (50)
And in accordance with, I asked for and vector s i and vector t i of entity i, the vector s i and vector t i found to entity i send it in secret, to complete the registration.

【0114】[0114]

【数31】 [Equation 31]

【0115】(エンティティ間の共有鍵の生成処理) エンティティiは、以下の計算を行って、エンティティ
jとの共有鍵Kijを求める。まず、法P及び法Qによる
式(51)及び式(52)に従って、それぞれAij′及びB
ij′を求め、次に整数環上で式(53)によりKij′を求
め、求めたKij′をRで割った剰余Kij″を式(54)に
示すように求め、剰余Kij″に式(55)に示すような切
り捨て演算を施してKijを得る。
(Process for Generating Shared Key Between Entities) The entity i performs the following calculation to obtain the shared key K ij with the entity j. First, according to the equations (51) and (52) according to the method P and the method Q, A ij ′ and B respectively.
'seek, then K ij by equation (53) on the ring of integers' ij seek, seeking K ij' determined as shown remainder K ij "divided by R in the formula (54), the remainder K ijIs subjected to a truncation operation as shown in Expression (55) to obtain K ij .

【0116】[0116]

【数32】 [Equation 32]

【0117】なお、エンティティ間の情報の通信動作に
ついては、第1実施の形態と同様であるので、その説明
は省略する。
Since the information communication operation between the entities is the same as that of the first embodiment, the description thereof is omitted.

【0118】次に、この方式の実現性について検証す
る。cを十分大きくすると、高い確率でKij=Kjiとな
ることを以下に示す。第1実施の形態と同様に、Kij
は、以下の式(56−1),式(56−2),式(56−
3),式(56−4)の何れかで示される。 Kij′=Aij″+Bij″ …(56−1) Kij′=Aij″+Bij″−P …(56−2) Kij′=Aij″+Bij″+Q …(56−3) Kij′=Aij″+Bij″−P+Q …(56−4)
Next, the feasibility of this method will be verified. It is shown below that if c is made sufficiently large, K ij = K ji with a high probability. As in the first embodiment, K ij
Is the following equation (56-1), equation (56-2), equation (56-
3) and either of the expressions (56-4). K ij ′ = A ij ″ + B ij ″ (56-1) K ij ′ = A ij ″ + B ij ″ −P (56-2) K ij ′ = A ij ″ + B ij ″ + Q… (56-3) ) K ij ′ = A ij ″ + B ij ″ −P + Q (56-4)

【0119】また、Kij″は、以下の式(57−1),式
(57−2),式(57−3),式(57−4)の何れかで示
される。 Kij″≡Aij″+Bij″ (mod R) …(57
−1) Kij″≡Aij″+Bij″−δ (mod R) …(57
−2) Kij″≡Aij″+Bij″+ε (mod R) …(57
−3) Kij″≡Aij″+Bij″−δ+ε(mod R) …(57
−4)
K ij ″ is represented by any one of the following expressions (57-1), (57-2), (57-3), and (57-4). K ij ″ ≡ A ij ″ + B ij ″ (mod R)… (57
-1) K ij ″ ≡A ij ″ + B ij ″ −δ (mod R) (57)
-2) K ij ″ ≡A ij ″ + B ij ″ + ε (mod R) (57)
-3) K ij ″ ≡A ij ″ + B ij ″ −δ + ε (mod R) (57)
-4)

【0120】δ,εはeビットであるので、下位のe+
cビットを切り捨てることにより、1−1/2c 以上の
確率でKij=Kjiとなる。厳密には、δを減ずることで
繰り下がる確率、または、εを加えることで繰り上がる
確率を考慮する必要があるが、この確率は何れも1/2
d-e であってdを十分大きくすると非常に小さくなる。
例えば、適正値を用いた場合、その値は1/2450 とご
くわずかである。このように、第2実施の形態では、c
を大きくすることにより、極めて高い確率で鍵を共有で
きることが分かる。
Since δ and ε are e bits, lower e +
By truncating c bits, K ij = K ji with a probability of 1-1 / 2 c or more. Strictly speaking, it is necessary to consider the probability of moving down by reducing δ or the probability of moving up by adding ε, but this probability is 1/2
If it is de and d is made sufficiently large, it becomes very small.
For example, when an appropriate value is used, the value is 1/2 450 , which is very small. Thus, in the second embodiment, c
It can be seen that the key can be shared with an extremely high probability by increasing the.

【0121】ここで、n=1とした場合(行列及びベク
トルは何れもスカラーとなる)の第2実施の形態の数値
例を図5,図6に示す。なお、P,Q,A,Bを10進10
桁、Rを10進8桁とし、各ベクトルvi ,vj ,γi
γj (実はスカラー)は10進5桁とした。また、δ,ε
を10進1桁とし、最終段階では10進数で下2桁を切り捨
てた。
Here, FIGS. 5 and 6 show numerical examples of the second embodiment when n = 1 (both matrix and vector are scalars). In addition, P, Q, A, B are decimal 10
Digit, R is 8 decimal digits, and each vector v i , v j , γ i ,
γ j (actually a scalar) is set to 5 decimal digits. Also, δ, ε
Was set to 1 decimal digit, and the last 2 digits were rounded down in decimal at the final stage.

【0122】次に、この第2実施の形態の暗号化方式の
安全性についての考察を述べる。Rを法とする剰余演算
は安全性を損なわずに鍵の共有確率の向上のみに関与し
ており、第2実施の形態は第1実施の形態と全く同様の
安全性に基づいている。また、第2実施の形態では、共
有鍵の生成処理の最終段階で分離不可能な切り捨て演算
を更に使用するので、共有鍵を用いた攻撃に対して、よ
り安全性が向上している。
Next, consideration will be given to the security of the encryption system of the second embodiment. The remainder calculation modulo R is concerned only with the improvement of the key sharing probability without impairing the security, and the second embodiment is based on exactly the same security as the first embodiment. In addition, in the second embodiment, since the non-separable truncation operation is further used in the final stage of the shared key generation processing, the security is further improved against the attack using the shared key.

【0123】更に、式(56−1)〜式(56−4)の何れ
の場合にあってもcを十分大きく設定すれば、bの大き
さに関係なく鍵を共有することが可能となり、b=0に
まで小さく設定することができる。例えば適正値を用い
た場合、b=0であるためにw=0となり、その場合に
は式(46)の右辺の値が無限大となって、結託による攻
撃はもはや現実的には成立しない。この場合、公開鍵ベ
クトルvj と乱数ベクトルγi との内積はkビットとな
っており、すべての桁を覆っている。
Further, in any of the equations (56-1) to (56-4), if c is set to be sufficiently large, the key can be shared regardless of the size of b, It can be set as small as b = 0. For example, when an appropriate value is used, b = 0, so w = 0, and in that case, the value on the right side of equation (46) becomes infinite, and the attack by collusion is no longer practical. . In this case, the inner product of the public key vector v j and the random number vector γ i is k bits, which covers all the digits.

【0124】[0124]

【発明の効果】以上詳述したように、本発明では、P,
Qを法とする有限体上の演算をした後に、整数環上の加
算により乱数を消去するようにしたので、実用的に十分
高い確率で鍵を共有できる。また、係数の大きさが制限
された場合に、任意のベクトルを結託者のベクトルの線
形結合で表すことが困難であることを安全性の根拠とし
ており、安全性も高い。特に、従来の積和型NIKSと
比較して、線形攻撃に対する結託閾値が非常に大きいと
いう効果を奏する。また、要求される安全性の程度に応
じて、パラメータを調整することも可能であり、特に、
n=1に設定することもできる。
As described above in detail, in the present invention, P,
Since the random numbers are erased by the addition on the integer ring after the operation on the finite field modulo Q, the keys can be shared with a sufficiently high probability in practical use. In addition, the security is high because it is difficult to represent an arbitrary vector by a linear combination of the colluders' vectors when the size of the coefficient is limited. In particular, it has an effect that the colluding threshold against a linear attack is very large as compared with the conventional product-sum type NIKS. It is also possible to adjust the parameters according to the required degree of safety, in particular,
It is also possible to set n = 1.

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

【図1】本発明の暗号通信システムの構成を示す模式図
である。
FIG. 1 is a schematic diagram showing a configuration of a cryptographic communication system of the present invention.

【図2】2人のエンティティ間における情報の通信状態
を示す模式図である。
FIG. 2 is a schematic diagram showing a communication state of information between two entities.

【図3】第1実施の形態における数値例を示す図であ
る。
FIG. 3 is a diagram showing an example of numerical values in the first embodiment.

【図4】第1実施の形態における数値例を示す図であ
る。
FIG. 4 is a diagram showing an example of numerical values in the first embodiment.

【図5】第2実施の形態における数値例を示す図であ
る。
FIG. 5 is a diagram showing an example of numerical values in the second embodiment.

【図6】第2実施の形態における数値例を示す図であ
る。
FIG. 6 is a diagram showing a numerical example in the second embodiment.

【図7】ID−NIKSのシステムの原理構成図であ
る。
FIG. 7 is a principle configuration diagram of an ID-NIKS system.

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

1 センタ 11,21 公開鍵生成器 12,22 共有鍵生成器 13 暗号化器 23 復号器 30 通信路 1 center 11,21 public key generator 12,22 Shared key generator 13 Encryptor 23 Decoder 30 communication channels

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平3−169138(JP,A) 予備通信不要なIDベース鍵共有法, 電子情報通信学会技術研究報告,1989年 12月18日,Vol.89 No.356,p. 43−51 (58)調査した分野(Int.Cl.7,DB名) H04L 9/08 JICSTファイル(JOIS)─────────────────────────────────────────────────── ─── Continuation of the front page (56) Reference JP-A-3-169138 (JP, A) ID-based key agreement method that does not require preliminary communication, IEICE Technical Report, December 18, 1989, Vol. 89 No. 356, p. 43-51 (58) Fields investigated (Int. Cl. 7 , DB name) H04L 9/08 JISST file (JOIS)

Claims (6)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 センタ装置から複数のエンティティ装置
夫々へ各エンティティ固有の秘密鍵を送付し、一方のエ
ンティティ装置が前記センタ装置から送付された該エン
ティティ固有の秘密鍵と公開された他方のエンティティ
の公開鍵とから求めた共有鍵を利用して平文を暗号文に
暗号化して他方のエンティティ装置へ伝送し、該他方の
エンティティ装置が伝送された暗号文を、前記センタ装
置から送付された該エンティティ固有の秘密鍵と公開さ
れた前記一方のエンティティの公開鍵とから求めた、前
記共有鍵と同一の共有鍵を利用して元の平文に復号する
ことにより、エンティティ装置間で情報の通信を行う暗
号通信方法において、前記各エンティ固有の秘密鍵は、
各エンティティの公開鍵と各エンティティ固有の乱数と
を用い、複数個の各数それぞれを法として生成される複
数種類の秘密鍵であり、各エンティティ装置は、この複
数種類の秘密鍵と相手のエンティティの公開鍵とを用い
て前記各数それぞれを法とする複数種類の中間値を求
め、求めた複数種類の中間値の整数環上での加算によっ
て前記乱数を消去するようにして、前記共有鍵を生成す
るようにしたことを特徴とする暗号通信方法。
1. A center device sends a private key unique to each entity to each of a plurality of entity devices, and one entity device sends the private key unique to the entity sent from the center device and the public key of the other entity. The plaintext is encrypted into a ciphertext by using the shared key obtained from the public key and transmitted to the other entity device, and the ciphertext transmitted by the other entity device is transmitted to the entity sent from the center device. Information is communicated between entity devices by decrypting to the original plaintext by using the same shared key as the shared key obtained from the unique secret key and the public key of the one of the published entities. In the encrypted communication method, the secret key unique to each entity is
A plurality of types of secret keys are generated using the public key of each entity and a random number unique to each entity, and each of a plurality of numbers is modulo each entity device. The public key is used to obtain a plurality of intermediate values modulo each of the numbers, and the random number is erased by adding the obtained intermediate values of the plurality of types on an integer ring. A cryptographic communication method, wherein the cryptographic communication method is characterized by being generated.
【請求項2】 前記乱数は複数次元の乱数ベクトルであ
る請求項1記載の暗号通信方法。
2. The cryptographic communication method according to claim 1, wherein the random number is a multidimensional random number vector.
【請求項3】 前記センタ装置における2種類の前記秘
密鍵を生成する演算式は以下であり、 【数1】 但し、 ベクトルsi :エンティティiの一方の秘密鍵 ベクトルti :エンティティiの他方の秘密鍵 P,Q;公開された素数 A,B:センタ秘密の乱数からなる対称行列 ベクトルvi :エンティティiの公開鍵 ベクトルγi :乱数からなる個人乱数ベクトル 前記各エンティティ装置における前記共有鍵を生成する
演算式は以下である請求項1または2記載の暗号通信方
法。 【数2】 但し、 Kij:一方のエンティティiが他方のエンティティjに
対して生成する共有鍵 ベクトルvj :エンティティjの公開鍵 Aij′,Bij′:共有鍵Kijを生成するための中間値
3. An arithmetic expression for generating two kinds of the secret keys in the center device is as follows: Here, vector s i : one secret key vector of entity i, t i : the other secret key P, Q of entity i; open prime numbers A, B: symmetric matrix vector v i consisting of random numbers of center secret: entity i 3. The cryptographic communication method according to claim 1, wherein the public key vector γ i is a personal random number vector consisting of random numbers, and an arithmetic expression for generating the shared key in each of the entity devices is as follows. [Equation 2] However, K ij : Shared key vector v j generated by one entity i for the other entity j: Public key A ij ′, B ij ′ of entity j: Intermediate value for generating shared key K ij
【請求項4】 前記センタ装置における2種類の前記秘
密鍵を生成する演算式は以下であり、 【数3】 但し、 ベクトルsi :エンティティiの一方の秘密鍵 ベクトルti :エンティティiの他方の秘密鍵 P,Q;公開された素数 A,B:センタ秘密の乱数からなる対称行列 ベクトルvi :エンティティiの公開鍵 ベクトルγi :乱数からなる個人乱数ベクトル 以下の式を満たすようにkビットの前記P,Qを設定
し、 P≡δ (mod R) Q≡ε (mod R) 但し、 R:dビットの素数 δ,ε;eビットの数 k>d>e 前記各エンティティ装置における前記共有鍵を生成する
演算式は以下である請求項1または2記載の暗号通信方
法。 【数4】 但し、 Kij:一方のエンティティiが他方のエンティティjに
対して生成する共有鍵 Kij′:共有鍵Kijを生成するための中間値 Kij″:共有鍵Kijを生成するための中間値であり、K
ij′をRで割った剰余 c:鍵共有確率に関わるパラメータ
4. An arithmetic expression for generating two types of the secret keys in the center device is as follows: Here, vector s i : one secret key vector of entity i, t i : the other secret key P, Q of entity i; open prime numbers A, B: symmetric matrix vector v i consisting of random numbers of center secret: entity i Public key vector γ i : a personal random number vector composed of random numbers, P and Q of k bits are set so as to satisfy the following expression, and P≡δ (mod R) Q≡ε (mod R) where R: d 3. The cryptographic communication method according to claim 1, wherein the arithmetic expressions for generating the shared key in each of the entity devices are as follows: prime numbers δ, ε of bits; e number of bits k>d> e. [Equation 4] However, K ij : One entity i generates for the other entity j Shared key K ij ′: Intermediate value for generating shared key K ij K ij ″: Intermediate for generating shared key K ij Value, K
Remainder c of ij 'divided by R: Parameter related to key agreement probability
【請求項5】 各エンティティの特定情報をハッシュ関
数を利用して計算することにより、各エンティティの前
記公開鍵を求める請求項1〜4の何れかに記載の暗号通
信方法。
5. The cryptographic communication method according to claim 1, wherein the public key of each entity is obtained by calculating specific information of each entity using a hash function.
【請求項6】 送信すべき情報である平文を暗号文に暗
号化する処理、及び、送信された暗号文を元の平文に復
号する処理を、複数のエンティティ装置間で相互に行う
暗号通信システムにおいて、各エンティティ固有の公開
鍵と各エンティティ固有の秘密の乱数とを用いて、複数
個の各数それぞれを法とする複数種類の秘密鍵を生成し
て各エンティティ装置へ送付するセンタ装置と、該セン
タ装置から送付された自身の複数種類の秘密鍵と通信対
象のエンティティ固有の公開鍵とを用いて前記各数それ
ぞれを法とする複数種類の中間値を求め、求めた複数種
類の中間値の整数環上での加算によって前記乱数を消去
するようにして、前記暗号化処理及び復号処理を行うた
めの共有鍵を生成する複数のエンティティ装置とを有す
ることを特徴とする暗号通信システム。
6. A cryptographic communication system for mutually performing a process of encrypting a plaintext, which is information to be transmitted, into a ciphertext, and a process of decrypting the transmitted ciphertext into an original plaintext, between a plurality of entity devices. In, a center device that uses a public key unique to each entity and a secret random number unique to each entity to generate a plurality of types of secret keys modulo each of a plurality of numbers and send the generated secret keys to each entity device, A plurality of kinds of intermediate values modulo each of the numbers are obtained using a plurality of kinds of private keys of the center device itself and a public key unique to the entity to be communicated, and a plurality of kinds of obtained intermediate values And a plurality of entity devices that generate a shared key for performing the encryption process and the decryption process so that the random number is erased by addition on the integer ring. Cryptographic communication system.
JP26203598A 1998-09-16 1998-09-16 Encryption communication method and encryption communication system Expired - Fee Related JP3464153B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP26203598A JP3464153B2 (en) 1998-09-16 1998-09-16 Encryption communication method and encryption communication system
US09/397,983 US6788788B1 (en) 1998-09-16 1999-09-16 Cryptographic communication method, encryption method, and cryptographic communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26203598A JP3464153B2 (en) 1998-09-16 1998-09-16 Encryption communication method and encryption communication system

Publications (2)

Publication Number Publication Date
JP2000092038A JP2000092038A (en) 2000-03-31
JP3464153B2 true JP3464153B2 (en) 2003-11-05

Family

ID=17370132

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26203598A Expired - Fee Related JP3464153B2 (en) 1998-09-16 1998-09-16 Encryption communication method and encryption communication system

Country Status (1)

Country Link
JP (1) JP3464153B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2853058A1 (en) * 2012-05-21 2015-04-01 Koninklijke Philips N.V. Determination of cryptographic keys

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
予備通信不要なIDベース鍵共有法,電子情報通信学会技術研究報告,1989年12月18日,Vol.89 No.356,p.43−51

Also Published As

Publication number Publication date
JP2000092038A (en) 2000-03-31

Similar Documents

Publication Publication Date Title
JP2606419B2 (en) Cryptographic communication system and cryptographic communication method
US6788788B1 (en) Cryptographic communication method, encryption method, and cryptographic communication system
Nunez Umbral: a threshold proxy re-encryption scheme
JP2001211154A (en) Secret key generating method, ciphering method, and cipher communication method
JP2002026892A (en) Key sharing method, private key generating method, common key generating method, encryption communication method, private key generator, common key generator, encryption communication system and recording medium
US7080255B1 (en) Secret key generation method, encryption method, and cryptographic communications method and system
CN114362912A (en) Identification password generation method based on distributed key center, electronic device and medium
JP3517663B2 (en) Encryption communication method and encryption communication system
CN115102689B (en) Two-party cooperative S box generation method, encryption method and storage medium
JP4563037B2 (en) ENCRYPTION APPARATUS, DECRYPTION APPARATUS, ENCRYPTION SYSTEM HAVING THEM, ENCRYPTION METHOD, AND DECRYPTION METHOD
JP4485122B2 (en) Public key cryptosystem, signature system, cryptographic communication system, secret key generator, public key generator, and computer program
JP2006227411A (en) Communications system, encryption device, key generator, key generating method, restoration device, communication method, encryption method, and cryptography restoration method
JP3464153B2 (en) Encryption communication method and encryption communication system
JP3622072B2 (en) Encryption communication method
KR102372843B1 (en) Device and method for encrypting data
RU2727025C1 (en) Method for asymmetric message encryption based on modified backpack task
JP3518671B2 (en) Encryption communication method
JP3283202B2 (en) Encryption communication method
JP2000216768A (en) Encryption method, encryption communication method and encryption communication system
Venkateswarlu et al. An Expensive Study of Homomorphic Encryption to Secure Cloud Data
JPH11317733A (en) Cipher communication method, ciphering method, and cipher communication system
JP3587746B2 (en) Secret key generator, encryption device, encryption communication method, encryption communication system, and recording medium
JP2002118544A (en) Encipherment method, cipher communication method, secret key generation method and shared key generation method, cipher communication system and secret key generation device, shared key generation device and recording medium
Adane et al. Data privacy in mobile agent communication
Menaria Parul Institute of Engineering and Technology, Computer Science & Engineering, Parul University, Limda, Waghodia, Vadodara

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees