JP2003124919A - Cipher communicating apparatus - Google Patents

Cipher communicating apparatus

Info

Publication number
JP2003124919A
JP2003124919A JP2001312273A JP2001312273A JP2003124919A JP 2003124919 A JP2003124919 A JP 2003124919A JP 2001312273 A JP2001312273 A JP 2001312273A JP 2001312273 A JP2001312273 A JP 2001312273A JP 2003124919 A JP2003124919 A JP 2003124919A
Authority
JP
Japan
Prior art keywords
public key
key
random number
unit
communication device
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.)
Withdrawn
Application number
JP2001312273A
Other languages
Japanese (ja)
Inventor
Morukahi Anthony
モルカヒ アンソニー
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.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2001312273A priority Critical patent/JP2003124919A/en
Publication of JP2003124919A publication Critical patent/JP2003124919A/en
Withdrawn legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To mount common and public key systems to a cellular phone at low costs. SOLUTION: A cellular phone comprises a storage section 1300 that stores a fixed point on an elliptic curve, a random number generator 1200 that calculates a private key based on a first random number value, a coordinates- integrating section 1500 that calculates the coordinates point of a first random- value multiple of the fixed point as a first public key by an operation on the elliptic curve, a communication section that gives the first public key to other cellular phones and acquires a second public key from other cellular phones, a switching section 1100 that controls the coordinates-integrating section 1500 so that the coordinates point of the private-key multiple of a point on the elliptic curve for indicating the second public key is calculated and controls the random number generator 1200 so that a second random number value is outputted, and a hash function processing section 1800 that calculates a common key based on the second random number value and the coordinates point of a private-key multiple of the point for indicating the second public key.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、コンピュータを含
む情報通信装置の間における通信技術に関し、特に、暗
号化された情報を通信する暗号通信装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a communication technology between information communication devices including computers, and more particularly to a cryptographic communication device for communicating encrypted information.

【0002】[0002]

【従来の技術】インターネットを始めとするネットワー
クの発達に伴い、コンピュータと通信とを融合したシス
テムによるデータ通信が広く社会に普及している。これ
らのデータの中には、秘匿性の高い情報(たとえば、ク
レジットカードに関する個人情報)が含まれる。秘匿性
の高い情報に対して、盗聴、データの改ざん等に対抗す
るためのセキュリティの確立が必要である。
2. Description of the Related Art With the development of networks such as the Internet, data communication by a system in which computer and communication are integrated has become widespread in society. These data include highly confidential information (for example, personal information regarding credit cards). It is necessary to establish security against eavesdropping and data tampering with highly confidential information.

【0003】セキュリティを確立するための技術とし
て、通信されるデータを暗号化する技術がある。暗号化
方式には、暗号化鍵および復号化鍵を誰が保持するのか
という観点から、共通鍵方式(あるいは秘密鍵方式と呼
ばれる。)と公開鍵方式とに大別できる。共通鍵方式
は、同一の鍵(共通鍵)を情報の送信者と受信者とが秘
密に共有するもので、公開鍵方式は、暗号化鍵と復号化
鍵とが異なり、暗号化鍵を公開し、復号化鍵を情報の受
信者または送信者の一方が秘密に保持するものである。
この公開された暗号化鍵に基づいて秘密に保持された復
号化鍵を推定することは、不可能であるようになってい
る。さらに詳しく共通鍵方式と秘密鍵方式について説明
する。
As a technique for establishing security, there is a technique for encrypting data to be communicated. From the viewpoint of who holds the encryption key and the decryption key, the encryption method can be roughly classified into a common key method (or called a secret key method) and a public key method. In the common key method, the same key (common key) is secretly shared by the sender and the receiver of information. In the public key method, the encryption key and the decryption key are different, and the encryption key is disclosed. However, the decryption key is kept secret by either the receiver or the sender of the information.
It has become impossible to deduce a secretly held decryption key based on this published encryption key. The common key method and the secret key method will be described in more detail.

【0004】共通鍵方式は、例えば、あるユーザが他の
ユーザにメール(平文)を発送したい場合、あるユーザ
は共通鍵を利用してメールの内容を暗号化した暗号文を
作成して、他のユーザに送信する。他のユーザは、暗号
化されたメールを受信すると、あるユーザが暗号化に使
用した共通鍵と同じ鍵を利用して、暗号化されたメール
を復号化して平文を得る。この共通鍵は、情報の送信者
および受信者以外の第三者に公開されない。このような
共通鍵方式は、暗号化処理の速度が速いという長所を有
する反面、情報の送信者と受信者との組合せ毎に共通鍵
が必要であるため多人数で情報を通信する場合の鍵の数
が多くなるという短所、情報の送受信の前に共通鍵を配
信しなければならないという短所を有する。
In the common key system, for example, when a user wants to send a mail (plain text) to another user, a user creates a ciphertext in which the contents of the mail are encrypted by using the common key and Send to users. When the other user receives the encrypted mail, the same user uses the same key as the common key used for encryption to decrypt the encrypted mail and obtain a plaintext. This common key is not disclosed to third parties other than the sender and receiver of the information. Such a common key method has the advantage that the speed of encryption processing is fast, but on the other hand, a common key is required for each combination of sender and receiver of information, so a key for communicating information by a large number of people. However, it has a disadvantage that the common key must be distributed before transmitting and receiving information.

【0005】公開鍵方式は、例えば、送信者または受信
者が、秘密鍵を自分自身の秘密データとして保持し、公
開鍵をインターネット上などで公開する。この公開鍵で
暗号化された暗号文は、その公開鍵に対応する秘密鍵の
みで復号できるように、この秘密鍵で暗号化された暗号
文は、その秘密鍵に対応する公開鍵のみで復号できるよ
うに、公開鍵と秘密鍵とが、鍵管理会社からそれぞれの
ユーザに与えられる。
In the public key system, for example, a sender or a receiver holds a private key as its own private data and publishes the public key on the Internet or the like. Just as the ciphertext encrypted with this public key can be decrypted only with the private key corresponding to that public key, the ciphertext encrypted with this private key can only be decrypted with the public key corresponding to that private key. As possible, the public key and the private key are given to each user from the key management company.

【0006】例えば、あるユーザが他のユーザにメール
(平文)を発送したい場合、あるユーザは他のユーザの
公開鍵を利用してメールの内容を暗号化した暗号文を作
成して、他のユーザに送信する。他のユーザは、暗号化
されたメールを受信すると、自分自身が保持している秘
密鍵を利用して、暗号化されたメールを復号化してメー
ル(平文)を得る。他のユーザの公開鍵を利用して暗号
化されたメールは、他のユーザの公開鍵に対応する秘密
鍵を秘密に保持している他のユーザのみが復号化して、
メール(平文)を読める。たとえば、このような利用形
態として、他のユーザがクレジットカードの個人情報の
受信者である場合が想定できる。
For example, when a user wants to send a mail (plain text) to another user, one user creates a ciphertext by encrypting the contents of the mail by using the public key of the other user, and Send to user. When the other users receive the encrypted mail, they use the private key held by themselves to decrypt the encrypted mail and obtain the mail (plain text). An email encrypted using another user's public key can only be decrypted by another user who holds the private key corresponding to the other user's public key in secret.
Can read email (plain text). For example, a case where another user is a recipient of personal information of a credit card can be assumed as such a usage form.

【0007】一方、あるユーザが他のユーザにメール
(平文)を発送したい場合、あるユーザは自分自身の秘
密鍵を利用してメールの内容を暗号化した暗号文を作成
して、他のユーザに送信する。他のユーザは、暗号化さ
れたメールを受信すると、あるユーザの公開鍵を利用し
て、暗号化されたメールを復号化してメール(平文)を
得る。あるユーザのみがそのユーザの秘密鍵を利用して
メールを暗号化できるため、第三者がそのユーザになり
すまして他のユーザにメールを送信することができな
い。たとえば、このような利用形態として、情報の送信
者を特定するデジタル署名に利用する場合が想定でき
る。
On the other hand, when a user wants to send an e-mail (plain text) to another user, the user uses his or her own secret key to create an encrypted text of the e-mail, and then the other user Send to. Upon receiving the encrypted mail, the other users use the public key of a certain user to decrypt the encrypted mail and obtain the mail (plain text). Since only one user can use the private key of the user to encrypt the mail, a third party cannot impersonate the user and send the mail to other users. For example, as such a usage form, it can be assumed to be used for a digital signature that identifies the sender of information.

【0008】このような公開鍵方式は、暗号化処理の速
度が遅いという短所を有する反面、多人数で情報を通信
する場合であっても鍵の数が少なくてよいという長所、
情報の送受信の前に共通鍵を配信する必要がないという
長所を有する。
[0008] Such a public key system has the disadvantage that the encryption processing speed is slow, but has the advantage that the number of keys can be small even when a large number of people communicate information.
It has the advantage that the common key does not have to be distributed before sending and receiving information.

【0009】このように、暗号化方式には、共通鍵方式
と公開鍵方式とがあり、これらの利用は、情報の内容な
どに応じて区別され、あるユーザが1台のコンピュータ
や携帯電話を用いて共通鍵方式、公開鍵方式を利用す
る。
As described above, the encryption methods include the common key method and the public key method, and the use of these methods is distinguished according to the contents of information, and a certain user uses one computer or mobile phone. The common key method and public key method are used.

【0010】[0010]

【発明が解決しようとする課題】しかしながら、ユーザ
が使用するコンピュータや携帯電話には、両方式の暗号
化方式のいずれか一方にしか対応していないもの、両方
式に対応していても、それぞれの暗号化方式を実現する
ハードウェアまたはソフトウェアをそれぞれ実装しただ
けのものしか存在しない。すなわち、両方式に対応して
いても、各暗号化方式ごとに演算器が実装されたり、プ
ログラムコードがメモリに記憶されていたりする。特
に、携帯電話のような事後的にプログラムコードのロー
ディングが困難な場合、それぞれの暗号化方式を実現す
る演算器が製造時点で実装される。演算器は、共通鍵方
式にて使用される演算器と公開鍵方式にて使用される演
算器とが実装されるため、携帯電話のコストの上昇およ
び実装面積の増大を招く。
However, the computer or mobile phone used by the user is compatible with only one of the two encryption systems, or is compatible with both systems. There is only hardware or software that implements the encryption method of. That is, even if both types are supported, an arithmetic unit is mounted for each encryption method or a program code is stored in a memory. In particular, when it is difficult to load the program code afterwards, such as in a mobile phone, an arithmetic unit that implements each encryption method is mounted at the time of manufacturing. As the arithmetic unit, the arithmetic unit used in the common key system and the arithmetic unit used in the public key system are mounted, which causes an increase in cost and a mounting area of the mobile phone.

【0011】本発明は、上述の課題を解決するためにな
されたものであって、共通鍵方式と公開鍵方式とを実現
するにあたり、コスト上昇およびハードウェア実装面積
を抑制できる暗号通信装置を提供することである。
The present invention has been made to solve the above problems, and provides an encryption communication device capable of suppressing a cost increase and a hardware mounting area in realizing a common key system and a public key system. It is to be.

【0012】[0012]

【課題を解決するための手段】第1の発明に係る暗号通
信装置は、通信相手の通信装置との間で、暗号化された
情報を通信する暗号通信装置である。この暗号通信装置
は、予め定められた楕円曲線上の定点をベースポイント
として記憶するための記憶手段と、乱数値を出力するた
めの乱数発生手段と、乱数発生手段に接続され、乱数発
生手段から出力された第1の乱数値に基づいて、秘密鍵
を算出するための秘密鍵算出手段と、秘密鍵算出手段に
接続され、算出された秘密鍵を記憶するための秘密鍵記
憶手段と、記憶手段と乱数発生手段とに接続され、楕円
曲線上の演算によって、記憶手段に記憶されたベースポ
イントと第1の乱数値とに基づいて、第1の公開鍵を算
出するための公開鍵算出手段と、公開鍵算出手段に接続
され、算出された第1の公開鍵を、通信相手の通信装置
に供与するための公開鍵供与手段と、通信相手の通信装
置から、第2の公開鍵を取得するための公開鍵取得手段
と、公開鍵取得手段に接続され、取得した第2の公開鍵
を記憶するための公開鍵記憶手段と、秘密鍵記憶手段と
公開鍵記憶手段とに接続され、楕円曲線上の演算によっ
て、秘密鍵と第2の公開鍵とに基づいて、共通鍵を算出
するための共通鍵算出手段と、共通鍵算出手段に接続さ
れ、算出された共通鍵を記憶するための共通鍵記憶手段
とを含む。
A cryptographic communication device according to a first aspect of the present invention is a cryptographic communication device for communicating encrypted information with a communication device of a communication partner. This cryptographic communication device is connected to a storage means for storing a fixed point on a predetermined elliptic curve as a base point, a random number generating means for outputting a random number value, and a random number generating means, and is connected to the random number generating means. A secret key calculating means for calculating a secret key based on the output first random number value; a secret key storing means for storing the calculated secret key, which is connected to the secret key calculating means; Public key calculation means for calculating a first public key based on the base point and the first random number value stored in the storage means by an operation on an elliptic curve connected to the means and the random number generation means. And a public key providing unit for connecting the calculated first public key to the communication device of the communication partner and the second public key from the communication device of the communication partner Public key acquisition means , The public key storage means for storing the acquired second public key, the private key storage means and the public key storage means, and the private key by the operation on the elliptic curve. A common key calculating unit for calculating a common key based on the second public key and a common key storing unit connected to the common key calculating unit for storing the calculated common key.

【0013】第1の発明によると、公開鍵方式の秘密鍵
は、第1の乱数値に基づいて算出される。公開鍵方式の
公開鍵(第1の公開鍵)は、楕円曲線上の演算によっ
て、べースポイントと第1の乱数値とに基づいて、たと
えば、ベースポイントの第1の乱数値倍の座標点として
算出される。共通鍵は、秘密鍵と第2の公開鍵とに基づ
いて、たとえば、楕円曲線上の第2の公開鍵を表わす点
の秘密鍵倍の座標点を算出して、その座標点のX座標の
整数値と第2の乱数値とをハッシュ関数で数学的に処理
して算出される。第1の公開鍵は、通信相手の通信装置
に供与、たとえばインターネット上で公開したり、メー
ルで送信されたりする。共通鍵は、暗号通信装置におい
て秘密に保持される。これにより、公開鍵方式における
公開鍵および共通鍵方式における共通鍵は、ともに楕円
曲線上の演算を行なう演算器または演算アルゴリズムに
より算出される。その結果、演算回路または演算アルゴ
リズムを共通化でき、共通鍵方式と公開鍵方式とを実現
するにあたり、コスト上昇およびハードウェア実装面積
を抑制できる。
According to the first invention, the secret key of the public key system is calculated based on the first random number value. The public key of the public key system (first public key) is calculated as a coordinate point that is a multiple of the first random number value of the base point, based on the base point and the first random number value, by calculation on the elliptic curve. It is calculated. The common key is calculated based on the secret key and the second public key, for example, by calculating a coordinate point that is a multiple of the secret key of the point representing the second public key on the elliptic curve, and calculating the X coordinate of the coordinate point. It is calculated by mathematically processing the integer value and the second random number value with a hash function. The first public key is provided to the communication device of the communication partner, for example, published on the Internet or transmitted by mail. The common key is kept secret in the encryption communication device. As a result, the public key in the public key system and the common key in the common key system are both calculated by a computing unit or a computing algorithm that performs computation on the elliptic curve. As a result, the arithmetic circuit or the arithmetic algorithm can be made common, and in realizing the common key method and the public key method, the cost increase and the hardware mounting area can be suppressed.

【0014】第2の発明に係る暗号通信装置は、第1の
発明の構成に加えて、公開鍵算出手段は、楕円曲線上の
演算によって、ベースポイントの第1の乱数値倍の座標
点を算出するための座標積算手段を含む。第1の公開鍵
は、ベースポイントの第1の乱数値倍の座標点により表
わされる。共通鍵算出手段は、楕円曲線上の第2の公開
鍵を表わす点の秘密鍵倍の座標点を算出するように、座
標積算手段を制御するための手段と、第2の乱数値を出
力するように乱数発生手段を制御するための手段と、乱
数発生手段から出力された第2の乱数値と、第2の公開
鍵を表わす点の秘密鍵倍の座標点とに基づいて、共通鍵
を算出するための手段とを含む。暗号化演算装置は、乱
数発生手段に接続され、出力された第2の乱数値を、通
信相手の通信装置に供与するための乱数値供与手段をさ
らに含む。
In the cryptographic communication device according to the second invention, in addition to the configuration of the first invention, the public key calculating means calculates a coordinate point that is a multiple of the first random number value of the base point by calculation on an elliptic curve. A coordinate integrating means for calculating is included. The first public key is represented by a coordinate point that is a first random number times the base point. The common key calculation means outputs a second random number value and a means for controlling the coordinate integration means so as to calculate a coordinate point that is a multiple of the secret key times the point representing the second public key on the elliptic curve. As described above, the common key is determined based on the means for controlling the random number generation means, the second random number value output from the random number generation means, and the coordinate point that is the secret key times the point representing the second public key. And means for calculating. The encryption operation device further includes a random number value providing unit that is connected to the random number generation unit and provides the output second random number value to the communication device of the communication partner.

【0015】第2の発明によると、公開鍵方式の公開鍵
(第1の公開鍵)は、楕円曲線上の演算によって、ベー
スポイントの第1の乱数値倍の座標点として算出され
る。情報を送信する側の暗号通信装置において、共通鍵
は、楕円曲線上の第2の公開鍵(通信相手の通信装置か
ら取得した公開鍵)を表わす点の秘密鍵(自分自身で秘
密に保持している鍵)倍の座標点を算出して、その座標
点のX座標の整数値と第2の乱数値(自分自身で出力し
た乱数値)とをハッシュ関数で数学的に処理して算出さ
れる。これにより、情報の送信側において、公開鍵方式
における公開鍵および共通鍵方式における共通鍵は、と
もに楕円曲線上の演算を行なう演算器または演算アルゴ
リズムにより算出される。
According to the second invention, the public key of the public key system (first public key) is calculated as a coordinate point which is a first random number times the base point by an operation on an elliptic curve. In the cryptographic communication device on the information transmission side, the common key is a secret key at a point representing the second public key on the elliptic curve (the public key obtained from the communication device of the communication partner) Key) times the coordinate point, and the X-coordinate integer value of the coordinate point and the second random number value (random value output by itself) are mathematically processed by a hash function. It As a result, on the information transmission side, both the public key in the public key system and the common key in the common key system are calculated by the computing unit or the computing algorithm that performs the computation on the elliptic curve.

【0016】第3の発明に係る暗号通信装置は、第1の
発明の構成に加えて、公開鍵算出手段は、楕円曲線上の
演算によって、ベースポイントの第1の乱数値倍の座標
点を算出するための座標積算手段を含む。第1の公開鍵
は、ベースポイントの第1の乱数値倍の座標点により表
わされる。暗号化演算装置は、通信相手の通信装置か
ら、第2の乱数値を取得するための乱数値取得手段をさ
らに含む。共通鍵算出手段は、楕円曲線上の第2の公開
鍵を表わす点の秘密鍵倍の座標点を算出するように、座
標積算手段を制御するための手段と、乱数値取得手段に
より取得した第2の乱数値と、第2の公開鍵を表わす点
の秘密鍵倍の座標点とに基づいて、共通鍵を算出するた
めの手段とを含む。
In the encrypted communication device according to the third invention, in addition to the configuration of the first invention, the public key calculation means calculates a coordinate point that is a multiple of the first random number value of the base point by calculation on an elliptic curve. A coordinate integrating means for calculating is included. The first public key is represented by a coordinate point that is a first random number times the base point. The encryption operation device further includes a random number value acquisition unit for acquiring the second random number value from the communication device of the communication partner. The common key calculating means is a means for controlling the coordinate integrating means so as to calculate a coordinate point that is a multiple of the secret key times the point representing the second public key on the elliptic curve, and the first value obtained by the random value obtaining means. And a means for calculating a common key based on a random number of 2 and a coordinate point that is a multiple of the secret key of the point representing the second public key.

【0017】第3の発明によると、公開鍵方式の公開鍵
(第1の公開鍵)は、楕円曲線上の演算によって、ベー
スポイントの第1の乱数値倍の座標点として算出され
る。情報を受信する側の暗号通信装置において、共通鍵
は、楕円曲線上の第2の公開鍵(通信相手の通信装置か
ら取得した公開鍵)を表わす点の秘密鍵(自分自身で秘
密に保持している鍵)倍の座標点を算出して、その座標
点のX座標の整数値と第2の乱数値(通信相手の通信装
置から取得した乱数値)とをハッシュ関数で数学的に処
理して算出される。これにより、情報の受信側におい
て、公開鍵方式における公開鍵および共通鍵方式におけ
る共通鍵は、ともに楕円曲線上の演算を行なう演算器ま
たはアルゴリズムにより算出される。
According to the third aspect of the invention, the public key of the public key system (first public key) is calculated as a coordinate point that is the first random number times the base point by calculation on the elliptic curve. In the cryptographic communication device on the side of receiving information, the common key is a secret key at a point representing the second public key on the elliptic curve (the public key acquired from the communication device of the communication partner) Key) times, and the X-coordinate integer value of the coordinate point and the second random number value (random number value obtained from the communication device of the communication partner) are mathematically processed by a hash function. Calculated. As a result, on the information receiving side, the public key in the public key system and the common key in the common key system are both calculated by an arithmetic unit or an algorithm that performs an operation on an elliptic curve.

【0018】第4の発明に係る暗号通信装置は、第1〜
3のいずれかの発明の構成に加えて、共通鍵により平文
を暗号文に変換するための暗号化手段をさらに含む。
A cryptographic communication device according to a fourth aspect of the present invention is the first to the first aspects.
In addition to the configuration of any one of the third aspect, an encryption unit for converting plaintext into ciphertext by using a common key is further included.

【0019】第4の発明によると、算出した共通鍵によ
り、平文を暗号文に変換できる。変換された暗号文は、
通信相手の通信装置に送信される。
According to the fourth invention, plaintext can be converted into ciphertext by the calculated common key. The converted ciphertext is
It is transmitted to the communication device of the communication partner.

【0020】第5の発明に係る暗号通信装置は、第4の
発明の構成に加えて、秘密鍵により、認証情報を暗号化
するための認証情報暗号化手段と、認証情報暗号化手段
に接続され、暗号化された認証情報を、通信相手の通信
装置に供与するための認証情報供与手段とをさらに含
む。
In addition to the configuration of the fourth aspect of the invention, the encrypted communication device according to the fifth aspect of the invention is connected to an authentication information encryption means for encrypting the authentication information with a secret key, and an authentication information encryption means. Authentication information providing means for providing the encrypted and encrypted authentication information to the communication device of the communication partner.

【0021】第5の発明によると、自分自身に秘密に保
持している秘密鍵により、デジタル署名を暗号文に変換
できる。変換されたデジタル署名は、通信相手の通信装
置に供与される。通信相手の通信装置においては、変換
されたデジタル署名を送信者の公開鍵で復号して、デジ
タル署名を確認できる。デジタル署名を暗号化できる者
は、秘密鍵を秘密に保持している者に限定されるため、
デジタル署名により第三者が送信者になりすますことを
防止できる。
According to the fifth aspect of the invention, the digital signature can be converted into a ciphertext by using the secret key which is kept secret by itself. The converted digital signature is provided to the communication device of the communication partner. In the communication device of the communication partner, the converted digital signature can be decrypted with the sender's public key to confirm the digital signature. Since the person who can encrypt the digital signature is limited to the person who holds the private key secretly,
The digital signature can prevent a third party from impersonating the sender.

【0022】第6の発明に係る暗号通信装置は、第1〜
3のいずれかの発明の構成に加えて、共通鍵により暗号
文を平文に変換するための復号化手段をさらに含む。
A cryptographic communication device according to a sixth aspect of the present invention is a first to a first aspect.
In addition to the configuration of any one of the third aspect, a decryption unit for converting a ciphertext into a plaintext by using a common key is further included.

【0023】第6の発明によると、算出した共通鍵によ
り、通信相手の通信装置から送信された暗号文を、平文
に変換できる。
According to the sixth aspect of the present invention, the ciphertext transmitted from the communication device of the communication partner can be converted into plaintext by the calculated common key.

【0024】第7の発明に係る暗号通信装置は、第6の
発明の構成に加えて、通信相手の通信装置から、暗号化
された認証情報を取得するための認証情報取得手段と、
認証情報取得手段に接続され、暗号化された認証情報
を、第2の公開鍵により復号化するための認証情報復号
化手段とをさらに含む。
In addition to the configuration of the sixth invention, the encrypted communication device according to the seventh invention further comprises an authentication information acquisition unit for acquiring encrypted authentication information from the communication device of the communication partner.
It further includes an authentication information decryption unit connected to the authentication information acquisition unit and decrypting the encrypted authentication information with the second public key.

【0025】第7の発明によると、通信相手の通信装置
においては、デジタル署名を秘密鍵で暗号文に変換す
る。変換されたデジタル署名を受信すると、第2の公開
鍵(通信相手の通信装置から取得した公開鍵)で復号し
て、デジタル署名を確認できる。デジタル署名を暗号化
できる者は、秘密鍵を秘密に保持している者に限定され
るため、デジタル署名により第三者が送信者になりすま
すことを防止できる。
According to the seventh invention, in the communication device of the communication partner, the digital signature is converted into a ciphertext by the secret key. When the converted digital signature is received, the digital signature can be confirmed by decrypting it with the second public key (public key obtained from the communication device of the communication partner). Since the person who can encrypt the digital signature is limited to the person who holds the private key in secret, the digital signature can prevent a third party from impersonating the sender.

【0026】第8の発明に係る暗号通信装置は、第1〜
7のいずれかの発明の構成に加えて、他の暗号通信装置
と、情報を通信するための通信手段をさらに含む。
An encryption communication device according to an eighth aspect of the invention is
In addition to the configuration of any one of the seventh aspect, a communication unit for communicating information with another encryption communication device is further included.

【0027】第8の発明によると、共通鍵で変換された
暗号文、第1の公開鍵および第2の乱数値を、通信相手
の通信装置に送信できる。
According to the eighth invention, the ciphertext converted by the common key, the first public key and the second random number value can be transmitted to the communication device of the communication partner.

【0028】[0028]

【発明の実施の形態】以下、図面を参照しつつ、本発明
の実施の形態について説明する。以下の説明では、同一
の部品には同一の符号を付してある。それらの名称およ
び機能も同じである。したがってそれらについての詳細
な説明は繰返さない。なお、以下において、本発明の暗
号通信装置としてメッセージデータを送受信する機能を
有する携帯電話を一例として説明するが、これに限定さ
れない。本発明の暗号通信装置は、通信機能と制御機能
とを有するコンピュータ、携帯電話、PHS(Personal
Handy-phone System)、およびPDA(Personal Digit
al Assistant)、などを含む。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below with reference to the drawings. In the following description, the same parts are designated by the same reference numerals. Their names and functions are also the same. Therefore, detailed description thereof will not be repeated. In the following, a mobile phone having a function of transmitting and receiving message data will be described as an example of the encrypted communication device of the present invention, but the invention is not limited to this. The encryption communication device of the present invention is a computer, a mobile phone, a PHS (Personal) having a communication function and a control function.
Handy-phone System) and PDA (Personal Digit)
al Assistant), etc.

【0029】図1を参照して、携帯電話100を使用し
た暗号通信システムは、メッセージデータを送信する側
の携帯電話100と、メッセージデータを受信する側の
携帯電話200と、携帯電話100、200の携帯電話
基地局300と、携帯電話100と200との間のメッ
セージデータの送受信を制御するメールサーバ400と
を含む。携帯電話基地局300とメールサーバ400と
は、インターネットなどのネットワーク500により接
続されている。
Referring to FIG. 1, an encrypted communication system using a mobile phone 100 is a mobile phone 100 for transmitting message data, a mobile phone 200 for receiving message data, and mobile phones 100, 200. Cell phone base station 300, and a mail server 400 that controls transmission and reception of message data between the cell phones 100 and 200. The mobile phone base station 300 and the mail server 400 are connected by a network 500 such as the Internet.

【0030】図2を参照して、図1に示す携帯電話10
0の制御ブロックについて説明する。図2に示すよう
に、携帯電話100は、この携帯電話100の全体を制
御する制御部102と、他の電話装置と通信するための
通信部104と、暗号化処理に用いられる秘密鍵、公開
鍵および共通鍵、制御部102において実行されるプロ
グラム、そのプログラムの中間データならびに通信部1
04を介して受信したメッセージデータを記憶する記憶
部106と、ユーザとのインターフェイスである入出力
部110と、暗号化処理を行なう処理部120とを含
む。なお、メッセージデータを送信するユーザAの携帯
電話100と、ユーザAからメッセージデータを受信す
るユーザBの携帯電話200とは、同じ構造である。以
下においては携帯電話100について説明し、携帯電話
200に対応する参照符号を図2に括弧書きで示す。
Referring to FIG. 2, mobile phone 10 shown in FIG.
The control block of 0 will be described. As shown in FIG. 2, the mobile phone 100 has a control unit 102 for controlling the entire mobile phone 100, a communication unit 104 for communicating with other telephone devices, a secret key used for encryption processing, and a public key. Key and common key, program executed in control unit 102, intermediate data of the program, and communication unit 1
It includes a storage unit 106 for storing message data received via 04, an input / output unit 110 that is an interface with the user, and a processing unit 120 that performs encryption processing. Note that the mobile phone 100 of the user A that transmits the message data and the mobile phone 200 of the user B that receives the message data from the user A have the same structure. The mobile phone 100 will be described below, and reference numerals corresponding to the mobile phone 200 are shown in parentheses in FIG.

【0031】入出力部110は、テンキーなどにより、
この携帯電話100のユーザが他のユーザのメールアド
レスを入力したり、メッセージデータの送信要求を入力
したりする操作部112と、受信したメッセージデータ
を表示するLCD(Liquid Crystal Display)からなる
表示部114と、音声を入力するマイクからなる音声入
力部116と、音声を出力するスピーカからなる音声出
力部118とを含む。
The input / output section 110 can be
A user of the mobile phone 100 inputs an email address of another user or a request to send message data, and a display unit including an LCD (Liquid Crystal Display) for displaying received message data. 114, a voice input unit 116 including a microphone for inputting voice, and a voice output unit 118 including a speaker for outputting voice.

【0032】処理部120は、自分自身の秘密鍵により
デジタル署名またはメールのメッセージデータを暗号化
する暗号化処理部122と、受信したメッセージデータ
(暗号文)を送信者の公開鍵により復号化する復号化処
理部124と、秘密鍵、公開鍵および共通鍵を算出した
り、共通鍵でメッセージデータ(平文)を暗号化した
り、メッセージデータ(暗号文)を共通鍵で復号化した
りする演算処理部1000とを含む。
The processing unit 120 encrypts the digital signature or the message data of the mail with its own private key, and the received message data (ciphertext) with the public key of the sender. Decryption processing unit 124 and an arithmetic processing unit that calculates a secret key, a public key, and a common key, encrypts message data (plaintext) with the common key, and decrypts message data (ciphertext) with the common key 1000 and.

【0033】本実施の形態に係る携帯電話100におい
て、暗号化処理の機能は、携帯電話100のハードウェ
アにより実現されるものとして説明するが、これに限定
されるものではない。以下に詳述する演算処理部100
0をソフトウェアで実現してもよい。ソフトウェアによ
る暗号化処理の機能の実現については後述する。
In the mobile phone 100 according to the present embodiment, the function of encryption processing will be described as being realized by the hardware of the mobile phone 100, but the present invention is not limited to this. Arithmetic processing unit 100 described in detail below
0 may be realized by software. Realization of the encryption function by software will be described later.

【0034】図3を参照して、演算処理部1000につ
いて説明する。以下に示す演算処理部1000は、演算
処理をハードウェアにより実現する。演算処理部100
0は、制御部102からのコマンドCにより後述する複
数の入力セレクタおよび出力セレクタの動作を切換る切
換部1100と、切換部1100に接続された入力セレ
クタSin(1)1110、入力セレクタSin(2)11
20、入力セレクタSin(3)1130、入力セレクタ
Sin(4)1140、入力セレクタSin(5)115
0、出力セレクタSout(1)1160、出力セレクタ
Sout(2)1170および出力セレクタSout(3)1
180と、乱数発生器1200と、ベースポイント記憶
部1300と、座標剰余算出部1400と、座標積算部
1500と、座標加算部1600と、整数値算出部17
00と、ハッシュ関数処理部1800と、論理演算部1
900とを含む。
The arithmetic processing unit 1000 will be described with reference to FIG. The arithmetic processing unit 1000 shown below implements arithmetic processing by hardware. Arithmetic processing unit 100
0 is a switching unit 1100 that switches the operation of a plurality of input selectors and output selectors, which will be described later, in response to a command C from the control unit 102, an input selector Sin (1) 1110 and an input selector Sin (2 that are connected to the switching unit 1100. ) 11
20, input selector Sin (3) 1130, input selector Sin (4) 1140, input selector Sin (5) 115
0, output selector Sout (1) 1160, output selector Sout (2) 1170, and output selector Sout (3) 1
180, a random number generator 1200, a base point storage unit 1300, a coordinate remainder calculation unit 1400, a coordinate integration unit 1500, a coordinate addition unit 1600, and an integer value calculation unit 17
00, a hash function processing unit 1800, and a logical operation unit 1
900 and.

【0035】切換部1100は、コマンドCが0の場
合、公開鍵方式の秘密鍵Uと公開鍵Vとを演算処理部1
000が出力するように、各セレクタを制御する。
When the command C is 0, the switching unit 1100 calculates the secret key U and the public key V of the public key system from the arithmetic processing unit 1.
Each selector is controlled so that 000 is output.

【0036】切換部1100は、コマンドCが1の場
合、メッセージデータを送信するユーザAの秘密鍵UA
とユーザAからメッセージデータを受信するユーザBの
公開鍵VBとに基づいて、共通鍵Kとセッションパラメ
ータsとを演算処理部1000が出力するように、各セ
レクタを制御する。
When the command C is 1, the switching unit 1100 determines that the secret key UA of the user A transmitting the message data.
Each selector is controlled so that the arithmetic processing unit 1000 outputs the common key K and the session parameter s based on the public key VB of the user B which receives the message data from the user A.

【0037】切換部1100は、コマンドCが2の場
合、メッセージデータを受信するユーザBの秘密鍵UB
とユーザAにメッセージデータを送信するユーザAの公
開鍵VAとセッションパラメータsとに基づいて、共通
鍵Kを演算処理部1000が出力するように、各セレク
タを制御する。
When the command C is 2, the switching unit 1100 has the secret key UB of the user B who receives the message data.
Based on the public key VA of the user A that sends message data to the user A and the session parameter s, each selector is controlled so that the arithmetic processing unit 1000 outputs the common key K.

【0038】切換部1100は、コマンドCが3の場
合、ユーザAが送信するメッセージデータ(平文)と共
通鍵Kとに基づいて暗号化されたメッセージデータ(暗
号文)を演算処理部1000が出力するように、または
ユーザBが受信したメッセージデータ(暗号文)と共通
鍵Kとに基づいて、復号化されたメッセージデータ(平
文)を演算処理部1000が出力するように、各セレク
タを制御する。
In the switching unit 1100, when the command C is 3, the arithmetic processing unit 1000 outputs message data (ciphertext) encrypted based on the message data (plaintext) transmitted by the user A and the common key K. Or each selector is controlled so that the arithmetic processing unit 1000 outputs the decrypted message data (plaintext) based on the message data (ciphertext) received by the user B and the common key K. .

【0039】乱数発生器1200は、入力セレクタSin
(1)1110と入力セレクタSin(5)1150とに
接続され、起動信号に同期して乱数値Rを生成して、生
成された乱数値Rを入力セレクタSin(1)1110と
入力セレクタSin(5)1150とに出力する。
The random number generator 1200 has an input selector Sin.
(1) 1110 and the input selector Sin (5) 1150 are connected to each other, and a random number value R is generated in synchronization with the activation signal, and the generated random number value R is input to the input selector Sin (1) 1110 and the input selector Sin ( 5) Output to 1150.

【0040】ベースポイント記憶部1300は、予め定
められた楕円関数上の定点G(ベースポイント)の座標
を記憶する。ベースポイント記憶部1300は、座標剰
余算出部1400と入力セレクタSin(3)1130と
座標加算部1600とに接続され、記憶した定点Gの座
標を出力する。なお、この定点Gの部分群の位数は、十
分に大きな素数である。さらに、このベースポイント記
憶部1300は、楕円曲線の座標をテーブルとして記憶
する記憶部であってもよいし、演算により定点Gを算出
する演算部であってもよい。
The base point storage unit 1300 stores the coordinates of a fixed point G (base point) on a predetermined elliptic function. The base point storage unit 1300 is connected to the coordinate remainder calculation unit 1400, the input selector Sin (3) 1130, and the coordinate addition unit 1600, and outputs the stored coordinates of the fixed point G. The order of the subgroup of the fixed point G is a sufficiently large prime number. Further, the base point storage unit 1300 may be a storage unit that stores the coordinates of the elliptic curve as a table, or may be a calculation unit that calculates a fixed point G by calculation.

【0041】座標剰余算出部1400は、入力セレクタ
Sin(1)1110とベースポイント記憶部1300と
入力セレクタSin(2)1120とに接続され、入力さ
れた共通鍵Kまたは定点Gと乱数値Rとに基づいて楕円
曲線上の定点Gの部分群の位数o(G)に対して余りを
算出して、算出された余り(出力パラメータk)を入力
セレクタSin(2)1120に出力する。
The coordinate remainder calculation unit 1400 is connected to the input selector Sin (1) 1110, the base point storage unit 1300, and the input selector Sin (2) 1120, and receives the common key K or the fixed point G and the random value R. The remainder is calculated with respect to the order o (G) of the subgroup of the fixed point G on the elliptic curve, and the calculated remainder (output parameter k) is output to the input selector Sin (2) 1120.

【0042】座標積算部1500は、入力セレクタSin
(2)1120と入力セレクタSin(3)1130と出
力セレクタSout(1)1160とに接続され、入力さ
れた楕円曲線上の座標と整数値とに基づいて、入力され
た座標の整数倍である楕円曲線上の点の座標(出力パラ
メータP)を出力セレクタSout(1)1160に出力
する。
The coordinate accumulator 1500 has an input selector Sin.
(2) Connected to the input selector Sin (3) 1130 and the output selector Sout (1) 1160, and is an integral multiple of the input coordinate based on the input coordinate on the elliptic curve and the integer value. The coordinates of the point on the elliptic curve (output parameter P) are output to the output selector Sout (1) 1160.

【0043】座標加算部1600は、ベースポイント記
憶部1300と入力セレクタSin(4)1140と出力
セレクタSout(1)1160とに接続され、出力セレ
クタSout(1)1160から出力された楕円曲線上の
点の座標(出力パラメータP)に、ベースポイント記憶
部1300に記憶された定点Gを加算して、加算された
座標(出力パラメータPi)を入力セレクタSin(4)
1140に出力する。出力パラメータPiは、座標加算
部1160自身にも入力される。
The coordinate addition unit 1600 is connected to the base point storage unit 1300, the input selector Sin (4) 1140 and the output selector Sout (1) 1160, and on the elliptic curve output from the output selector Sout (1) 1160. The fixed point G stored in the base point storage unit 1300 is added to the coordinates of the point (output parameter P), and the added coordinates (output parameter Pi) are input selector Sin (4).
Output to 1140. The output parameter Pi is also input to the coordinate addition unit 1160 itself.

【0044】整数値算出部1700は、入力セレクタS
in(4)1140と出力セレクタSout(2)1170
とに接続され、入力セレクタSin(4)1140から出
力された楕円曲線上の点の座標(X、Y)のX座標の整
数値を算出して、算出された整数値(出力パラメータ
z)を出力セレクタSout(2)1170に出力する。
The integer value calculation unit 1700 has an input selector S
in (4) 1140 and output selector Sout (2) 1170
And an integer value of the X coordinate of the coordinates (X, Y) of the point on the elliptic curve output from the input selector Sin (4) 1140 is calculated, and the calculated integer value (output parameter z) is calculated. Output to the output selector Sout (2) 1170.

【0045】ハッシュ関数処理部1800は、出力セレ
クタSout(2)1170と出力セレクタSout(3)1
180とに接続され、NIST(National Institute o
f Standards and Technology)のハッシュ関数SHA−
1(Secure Hash Algorithm1)を実行して、実行した結
果を共通鍵Kとして出力する。
The hash function processing section 1800 includes an output selector Sout (2) 1170 and an output selector Sout (3) 1.
NIST (National Institute)
f Standards and Technology) hash function SHA-
1 (Secure Hash Algorithm 1) is executed and the execution result is output as the common key K.

【0046】論理演算部1900は、出力セレクタSou
t(2)1170に接続され、出力セレクタSout(2)
1170から出力された整数値とこの演算処理部100
0に入力された平文または暗号文との排他的論理和を演
算して、暗号化または復号化処理を行ない暗号文または
平文を出力する。
The logical operation unit 1900 has an output selector Sou.
Output selector Sout (2) connected to t (2) 1170
1170 and the integer value output from 1170
The exclusive OR with the plaintext or ciphertext input to 0 is operated to perform encryption or decryption processing, and the ciphertext or plaintext is output.

【0047】入力セレクタSin(1)1110は、この
演算処理部1000に入力された共通鍵Kおよび乱数発
生器1200から出力された乱数値Rのいずれか一方
を、座標剰余算出部1400に出力する。入力セレクタ
Sin(1)1110は、コマンドCが0の場合、乱数発
生器1200から出力された乱数値Rを、コマンドCが
3の場合、この演算処理部1000に入力された共通鍵
Kを、座標剰余算出部1400に出力する。
The input selector Sin (1) 1110 outputs one of the common key K input to the arithmetic processing unit 1000 and the random number value R output from the random number generator 1200 to the coordinate remainder calculation unit 1400. . The input selector Sin (1) 1110, when the command C is 0, the random number value R output from the random number generator 1200, and when the command C is 3, the common key K input to the arithmetic processing unit 1000, It is output to the coordinate remainder calculation unit 1400.

【0048】入力セレクタSin(2)1120は、この
演算処理部1000に入力された秘密鍵Uおよび座標剰
余算出部1400から出力された出力パラメータkのい
ずれか一方を、座標積算部1500に出力する。入力セ
レクタSin(2)1120は、コマンドCが0および3
の場合、座標剰余算出部1400から出力された出力パ
ラメータkを、コマンドCが1および2の場合、演算処
理部1000に入力された秘密鍵Uを、座標積算部15
00に出力する。
The input selector Sin (2) 1120 outputs either the secret key U input to the arithmetic processing unit 1000 or the output parameter k output from the coordinate remainder calculation unit 1400 to the coordinate integration unit 1500. . In the input selector Sin (2) 1120, the commands C are 0 and 3
In the case of, the output parameter k output from the coordinate remainder calculation unit 1400 is used. When the commands C are 1 and 2, the secret key U input to the arithmetic processing unit 1000 is used as the coordinate integration unit 15
Output to 00.

【0049】入力セレクタSin(3)1130は、この
演算処理部1000に入力された公開鍵Vとベースポイ
ント記憶部1300から出力された定点Gのいずれか一
方を、座標積算部1500に出力する。入力セレクタS
in(3)1130は、コマンドCが0および3の場合、
ベースポイント記憶部1300から出力された定点G
を、コマンドCが1および2の場合、演算処理部100
0に入力された公開鍵Vを、座標積算部1500に出力
する。
The input selector Sin (3) 1130 outputs either the public key V input to the arithmetic processing unit 1000 or the fixed point G output from the base point storage unit 1300 to the coordinate integration unit 1500. Input selector S
in (3) 1130 is the case where command C is 0 and 3,
Fixed point G output from the base point storage unit 1300
When the command C is 1 and 2, the arithmetic processing unit 100
The public key V input to 0 is output to the coordinate integration unit 1500.

【0050】入力セレクタSin(4)1140は、出力
セレクタSout(1)1160から出力された出力パラ
メータPおよび座標加算部1600から出力された出力
パラメータPiのいずれか一方を、整数値算出部170
0に出力する。入力セレクタSin(4)1140は、コ
マンドCが1および2の場合、座標積算部1500から
出力された出力パラメータPを、コマンドCが3の場
合、座標加算部1600から出力された出力パラメータ
Piを、整数値算出部1700に出力する。
The input selector Sin (4) 1140 receives an integer value calculation unit 170 for one of the output parameter P output from the output selector Sout (1) 1160 and the output parameter Pi output from the coordinate addition unit 1600.
Output to 0. The input selector Sin (4) 1140 uses the output parameter P output from the coordinate integration unit 1500 when the command C is 1 and 2 and the output parameter Pi output from the coordinate addition unit 1600 when the command C is 3. , And outputs it to the integer value calculation unit 1700.

【0051】入力セレクタSin(5)1150は、この
演算処理部1000に入力されたセッションパラメータ
sおよび乱数発生器1200から出力された乱数値Rの
いずれか一方を、出力セレクタSout(3)1180に
出力する。入力セレクタSin(5)1150は、コマン
ドCが0および1の場合、乱数発生器1200から出力
された乱数値Rを、コマンドCが2の場合、演算処理部
1000に入力されたセッションパラメータsを、出力
セレクタSout(3)1180に出力する。
The input selector Sin (5) 1150 outputs to the output selector Sout (3) 1180 one of the session parameter s input to the arithmetic processing unit 1000 and the random number value R output from the random number generator 1200. Output. The input selector Sin (5) 1150 uses the random number value R output from the random number generator 1200 when the command C is 0 and 1, and the session parameter s input to the arithmetic processing unit 1000 when the command C is 2. , To the output selector Sout (3) 1180.

【0052】出力セレクタSout(1)1160は、座
標積算部1500から出力された出力パラメータPを、
この演算処理部1000の外部、入力セレクタSin
(4)1140および座標加算部1600のいずれか一
方に出力する。出力セレクタSout(1)1160は、
コマンドCが0の場合、出力パラメータPを公開鍵Vと
してこの演算処理部1000の外部に、コマンドCが1
および2の場合、出力パラメータPを整数値算出部17
00への入力パラメータとして入力セレクタSin(4)
1140に、コマンドCが3の場合、出力パラメータP
を座標加算部1600に、出力する。
The output selector Sout (1) 1160 uses the output parameter P output from the coordinate integrating section 1500 as
Outside the arithmetic processing unit 1000, the input selector Sin
(4) Output to either one of 1140 and coordinate adder 1600. The output selector Sout (1) 1160 is
When the command C is 0, the output parameter P is used as the public key V and the command C is set to 1 outside the arithmetic processing unit 1000.
And 2, the output parameter P is set to the integer value calculation unit 17
Input selector Sin (4) as an input parameter to 00
If the command C is 3 in 1140, the output parameter P
To the coordinate adder 1600.

【0053】出力セレクタSout(2)1170は、整
数値算出部1700から出力された出力パラメータz
を、ハッシュ関数処理部1800および論理演算部19
00のいずれか一方に出力する。出力セレクタSout
(2)1170は、コマンドCが1および2の場合、出
力パラメータzをハッシュ関数処理部1800に、コマ
ンドCが3の場合、出力パラメータzを論理演算部19
00に、出力する。
The output selector Sout (2) 1170 outputs the output parameter z output from the integer value calculation unit 1700.
To the hash function processing unit 1800 and the logical operation unit 19
Output to either one of 00. Output selector Sout
(2) 1170 outputs the output parameter z to the hash function processing unit 1800 when the command C is 1 and 2, and outputs the output parameter z to the logical operation unit 19 when the command C is 3.
To 00.

【0054】出力セレクタSout(3)1180は、入
力セレクタSin(5)1150から出力されたセッショ
ンパラメータsまたは乱数発生器1200から出力され
た乱数値Rのいずれか一方を、ハッシュ関数処理部18
00およびこの演算処理部1000の外部に出力する。
出力セレクタSout(3)1180は、コマンドCが1
の場合、乱数発生器1200から出力された乱数値Rを
セッションパラメータsとしてハッシュ関数処理部18
00およびこの演算処理部1000の外部に、コマンド
Cが2の場合、入力セレクタSin(5)1150から出
力されたセッションパラメータsをハッシュ関数処理部
1800に、出力する。
The output selector Sout (3) 1180 uses either the session parameter s output from the input selector Sin (5) 1150 or the random number value R output from the random number generator 1200 as the hash function processing unit 18
00 and the outside of the arithmetic processing unit 1000.
In the output selector Sout (3) 1180, the command C is 1
In the case of, the hash function processing unit 18 uses the random number value R output from the random number generator 1200 as the session parameter s.
00 and the outside of the arithmetic processing unit 1000, when the command C is 2, the session parameter s output from the input selector Sin (5) 1150 is output to the hash function processing unit 1800.

【0055】このようにして、コマンドCの値に基づい
て切換部1100が、入力セレクタSin(1)1110
〜入力セレクタSin(5)1150および出力セレクタ
Sout(1)1160〜出力セレクタSout(3)118
0を制御することにより、演算処理部1000が所定の
動作を行なう。
In this way, the switching unit 1100 makes the input selector Sin (1) 1110 based on the value of the command C.
~ Input selector Sin (5) 1150 and output selector Sout (1) 1160 to output selector Sout (3) 118
By controlling 0, the arithmetic processing unit 1000 performs a predetermined operation.

【0056】図4を参照して、コマンドCが0の場合を
説明する。この場合、公開鍵方式の秘密鍵Uと公開鍵V
とを演算処理部1000が出力するように各セレクタが
制御される。コマンドCが0の場合、この演算処理部1
000に対する入力パラメータは存在しない。乱数発生
器1200から出力される乱数値Rが秘密鍵Uとして、
この演算処理部1000の外部に出力される。なお、図
4には示していないが後述するコマンドCが3の場合
(図7:平文を共通鍵Kで暗号化、もしくは暗号文を同
じく共通鍵Kで復号化)の制御との整合をとるために、
実際には図3に示すように、乱数発生器1200から出
力された乱数値Rを座標剰余算出部1400にて剰余算
出し、その値を座標積算部1500に入力している。座
標積算部1500は、楕円曲線上の定点Gに対する乱数
値R倍点を算出して、これを公開鍵Vとして、この演算
処理部1000の外部に出力する。
The case where the command C is 0 will be described with reference to FIG. In this case, the private key U and the public key V of the public key system
Each selector is controlled so that the arithmetic processing unit 1000 outputs and. When the command C is 0, this arithmetic processing unit 1
There are no input parameters for 000. The random number value R output from the random number generator 1200 is the secret key U,
It is output to the outside of the arithmetic processing unit 1000. Although not shown in FIG. 4, command C described later is 3 (FIG. 7: plaintext is encrypted with common key K, or ciphertext is also decrypted with common key K), which is consistent with control. for,
Actually, as shown in FIG. 3, the random number value R output from the random number generator 1200 is remainder calculated by the coordinate remainder calculating unit 1400, and the value is input to the coordinate integrating unit 1500. The coordinate integrating unit 1500 calculates a random value R multiple point for the fixed point G on the elliptic curve, and outputs this as the public key V to the outside of the arithmetic processing unit 1000.

【0057】図5を参照して、コマンドCが1の場合を
説明する。この場合、共通鍵Kとセッションパラメータ
sとを演算処理部1000が出力するように各セレクタ
が制御される。コマンドCを1として演算処理部100
0を動作させるのは、メッセージデータを送信する側の
ユーザAである。この場合、この演算処理部1000に
対する入力パラメータは、ユーザAの秘密鍵UAと送信
相手(ユーザB)の公開鍵VBとである。ユーザAの秘
密鍵UAとユーザBの公開鍵VBとが、座標積算部15
00に入力され、座標積算部1500は、楕円曲線上の
点VBに対するUA倍の点の座標を算出して、整数値算
出部1700に出力する。整数値算出部1700は、そ
の点のX座標の整数値を算出して、算出した出力パラメ
ータzをハッシュ関数処理部1800に出力する。ハッ
シュ関数処理部1800は、乱数発生器1200から出
力される乱数値Rと整数値算出部1700から出力され
た出力パラメータzとに基づいて演算を行ない共通鍵K
を算出して、共通鍵Kをこの演算処理部1000の外部
に出力する。また、ハッシュ関数処理部1800に入力
されたる乱数値Rは、セッションパラメータsとして、
この演算処理部1000の外部に出力される。
The case where the command C is 1 will be described with reference to FIG. In this case, each selector is controlled so that the arithmetic processing unit 1000 outputs the common key K and the session parameter s. Arithmetic processing unit 100 with command C set to 1
0 is operated by the user A who sends the message data. In this case, the input parameters to the arithmetic processing unit 1000 are the secret key UA of the user A and the public key VB of the transmission partner (user B). The secret key UA of the user A and the public key VB of the user B are used as the coordinate integration unit 15
00, the coordinate integration unit 1500 calculates the coordinates of the point UA times the point VB on the elliptic curve, and outputs it to the integer value calculation unit 1700. The integer value calculation unit 1700 calculates the integer value of the X coordinate of the point and outputs the calculated output parameter z to the hash function processing unit 1800. The hash function processing unit 1800 performs an operation based on the random number value R output from the random number generator 1200 and the output parameter z output from the integer value calculating unit 1700, and the common key K
Is calculated and the common key K is output to the outside of the arithmetic processing unit 1000. The random number value R input to the hash function processing unit 1800 is set as the session parameter s.
It is output to the outside of the arithmetic processing unit 1000.

【0058】図6を参照して、コマンドCが2の場合を
説明する。この場合、共通鍵Kを演算処理部1000が
出力するように各セレクタが制御される。コマンドCを
2として演算処理部1000を動作させるのは、メッセ
ージデータを受信した側のユーザBである。この場合、
この演算処理部1000に対する入力パラメータは、ユ
ーザBの秘密鍵UBと送信元(ユーザA)の公開鍵VA
とである。ユーザBの秘密鍵UBとユーザAの公開鍵V
Aとが、座標積算部1500に入力され、座標積算部1
500は、楕円曲線上の点VAに対するUB倍の点の座
標を算出して、整数値算出部1700に出力する。整数
値算出部1700は、その点のX座標の整数値を算出し
て、算出した出力パラメータzをハッシュ関数処理部1
800に出力する。ハッシュ関数処理部1800は、こ
の演算処理部1000に入力されたセッションパラメー
タsと整数値算出部1700から出力された出力パラメ
ータzとに基づいて演算を行ない共通鍵Kを算出して、
共通鍵Kをこの演算処理部1000の外部に出力する。
The case where the command C is 2 will be described with reference to FIG. In this case, each selector is controlled so that the arithmetic processing unit 1000 outputs the common key K. It is the user B, who receives the message data, to operate the arithmetic processing unit 1000 by setting the command C to 2. in this case,
The input parameters to the arithmetic processing unit 1000 are the secret key UB of the user B and the public key VA of the transmission source (user A).
And. User B's private key UB and user A's public key V
A and A are input to the coordinate integration unit 1500, and the coordinate integration unit 1
500 calculates the coordinates of the point UB times the point VA on the elliptic curve, and outputs it to the integer value calculation unit 1700. The integer value calculation unit 1700 calculates the integer value of the X coordinate of the point and outputs the calculated output parameter z to the hash function processing unit 1.
Output to 800. The hash function processing unit 1800 calculates based on the session parameter s input to the calculation processing unit 1000 and the output parameter z output from the integer value calculation unit 1700 to calculate the common key K,
The common key K is output to the outside of the arithmetic processing unit 1000.

【0059】図7を参照して、コマンドCが3の場合を
説明する。この場合、ユーザAがユーザBに送信するメ
ッセージデータ(平文)と共通鍵Kとに基づいて、暗号
化されたメッセージデータ(暗号文)を演算処理部10
00が出力するように、またはユーザBがユーザAから
受信したメッセージデータ(暗号文)と共通鍵Kとに基
づいて、復号化されたメッセージデータ(平文)を演算
処理部1000が出力するように、各セレクタが制御さ
れる。コマンドCを3として演算処理部1000を動作
させるのは、メッセージデータを送信する側のユーザA
およびメッセージデータを受信した側のユーザBであ
る。この演算処理部1000に対する入力パラメータは
ユーザAが動作させる場合には共通鍵とメッセージデー
タ(平文)であり、ユーザBが動作させる場合には共通
鍵とメッセージデータ(暗号文)である。
The case where the command C is 3 will be described with reference to FIG. In this case, based on the message data (plaintext) that the user A sends to the user B and the common key K, the arithmetic processing unit 10 converts the encrypted message data (ciphertext).
00, or the arithmetic processing unit 1000 outputs the decrypted message data (plaintext) based on the message data (ciphertext) received by the user B from the user A and the common key K. , Each selector is controlled. The arithmetic processing unit 1000 is operated with the command C set to 3 because the user A who sends the message data.
And the user B who receives the message data. Input parameters for the arithmetic processing unit 1000 are a common key and message data (plain text) when the user A operates, and a common key and message data (cipher text) when the user B operates.

【0060】共通鍵Kは、座標剰余算出部1400に入
力される。座標剰余算出部1400は、出力パラメータ
kを算出し、算出された出力パラメータkを座標積算部
1500に出力する。座標積算部1500は、座標剰余
算出部1400から入力された出力パラメータkとベー
スポイント記憶部1300から出力された定数Gとに基
づいて、出力パラメータPを算出して、算出された出力
パラメータPを座標加算部1600に出力する。座標加
算部1600は、座標積算部1500から出力された出
力パラメータPを初期値として、ベースポイント記憶部
1300から出力された定数Gを用いて、出力パラメー
タPiを算出して、算出された出力パラメータPiを座
標加算部1600自身と整数値算出部1700とに出力
する。
The common key K is input to the coordinate remainder calculation unit 1400. The coordinate remainder calculation unit 1400 calculates the output parameter k, and outputs the calculated output parameter k to the coordinate integration unit 1500. The coordinate integration unit 1500 calculates the output parameter P based on the output parameter k input from the coordinate remainder calculation unit 1400 and the constant G output from the base point storage unit 1300, and the calculated output parameter P is calculated. It is output to the coordinate addition unit 1600. The coordinate addition unit 1600 calculates the output parameter Pi using the constant G output from the base point storage unit 1300 with the output parameter P output from the coordinate integration unit 1500 as an initial value, and the calculated output parameter Pi is output to the coordinate addition unit 1600 itself and the integer value calculation unit 1700.

【0061】整数値算出部1700には、この演算処理
部1000に入力されたメッセージデータの文字数n分
の出力パラメータPi(i=1、2、…、n)が、座標
加算部1600から入力される。整数値算出部1700
は、メッセージデータの文字数n分の出力パラメータP
i(i=1、2、…、n)に基づいて、出力パラメータ
zi(i=1、2、…、n)を算出して、論理演算部1
900に出力する。
Output parameters Pi (i = 1, 2, ..., N) for the number n of characters of the message data input to the arithmetic processing unit 1000 are input to the integer value calculation unit 1700 from the coordinate addition unit 1600. It Integer value calculation unit 1700
Is the output parameter P for the number of characters n of the message data.
Based on i (i = 1, 2, ..., N), the output parameter zi (i = 1, 2, ..., N) is calculated, and the logical operation unit 1 is calculated.
Output to 900.

【0062】論理演算部1900は、整数値算出部17
00から出力された出力パラメータzi(i=1、2、
…、n)とメッセージデータ(平文または暗号文)との
排他的論理和(XOR)を論理演算することにより暗号
化処理または復号化処理を行ない、その結果をこの演算
処理部1000の外部に出力する。
The logical operation unit 1900 includes an integer value calculation unit 17
Output parameter zi (i = 1, 2,
, N) and the exclusive OR (XOR) of the message data (plaintext or ciphertext) are logically operated to perform encryption processing or decryption processing, and the result is output to the outside of the arithmetic processing unit 1000. To do.

【0063】以上のように、演算処理部1000をハー
ドウェアで構成した場合について説明したが、この演算
処理部1000における処理をソフトウェアで実現する
こともできる。乱数発生器1200、座標剰余算出部1
400、座標積算部1500、座標加算部1600、整
数値算出部1700、ハッシュ関数処理部1800、お
よび論理演算部1900を、制御部102により実行さ
れるソフトウェアにおけるサブルーチンとして実現す
る。制御部102により実行されるソフトウェアにおい
て、コマンドCの値に基づいて、入力セレクタSin
(1)1110、入力セレクタSin(2)1120、入
力セレクタSin(3)1130、入力セレクタSin
(4)1140、入力セレクタSin(5)1150、出
力セレクタSout(1)1160、出力セレクタSout
(2)1170、および出力セレクタSout(3)11
80にそれぞれ対応する分岐判断処理を実行し、各分岐
判断処理から予め定められたサブルーチンを実行させ
る。各サブルーチンにおける演算結果に基づいて、秘密
鍵U、公開鍵V、共通鍵K、セッションパラメータs、
暗号化されたメッセージデータおよび復号化されたメッ
セージデータを、この演算処理部1000から出力す
る。このようにして、ソフトウェアで演算処理部100
0を実現できる。
The case where the arithmetic processing unit 1000 is configured by hardware has been described above, but the processing in the arithmetic processing unit 1000 can be realized by software. Random number generator 1200, coordinate remainder calculation unit 1
400, the coordinate integration unit 1500, the coordinate addition unit 1600, the integer value calculation unit 1700, the hash function processing unit 1800, and the logical operation unit 1900 are realized as a subroutine in software executed by the control unit 102. In the software executed by the control unit 102, based on the value of the command C, the input selector Sin
(1) 1110, input selector Sin (2) 1120, input selector Sin (3) 1130, input selector Sin
(4) 1140, input selector Sin (5) 1150, output selector Sout (1) 1160, output selector Sout
(2) 1170 and output selector Sout (3) 11
A branch determination process corresponding to each 80 is executed, and a predetermined subroutine is executed from each branch determination process. The secret key U, the public key V, the common key K, the session parameter s, based on the calculation result in each subroutine.
The arithmetic processing unit 1000 outputs the encrypted message data and the decrypted message data. In this way, the arithmetic processing unit 100 is implemented by software.
0 can be realized.

【0064】図8を参照して、メッセージデータを送信
する側の携帯電話100で実行されるプログラムは、以
下のような制御構造を有する。この携帯電話100は、
ユーザAが使用する携帯電話である。
Referring to FIG. 8, the program executed by mobile phone 100 on the side of transmitting message data has the following control structure. This mobile phone 100
It is a mobile phone used by user A.

【0065】ステップ(以下、ステップをSと略す。)
100にて、制御部102は、演算処理部1000にコ
マンドCを0とした動作を指示する。この処理は、たと
えば、ユーザAがこの携帯電話100を購入後、電源を
初めて投入した直後に実行される。S102にて、制御
部102は、演算処理部1000から出力されたユーザ
Aの公開鍵VAおよび秘密鍵UAを記憶部106に記憶
する。S104にて、制御部102は、通信部104を
介してインターネットアクセスプロバイダに対して、イ
ンターネット上にユーザAの公開鍵VAを公開するよう
に(たとえば、ユーザAのホームページ上に公開鍵VA
をアップロードするように)指示する。
Step (hereinafter, step is abbreviated as S)
At 100, control unit 102 instructs operation processing unit 1000 to perform an operation with command C set to 0. This processing is executed, for example, immediately after the user A purchases the mobile phone 100 and then turns on the power for the first time. In S 102, control unit 102 stores the public key VA and the secret key UA of user A output from arithmetic processing unit 1000 in storage unit 106. In S104, control unit 102 discloses the public key VA of user A on the Internet to the Internet access provider via communication unit 104 (for example, public key VA on the home page of user A).
To upload).

【0066】S106にて、制御部102は、インター
ネット上で公開されたユーザBの公開鍵VBを取得した
か否かを判断する。このとき、ユーザAがインターネッ
ト上でユーザBの公開鍵VBを取得して、ユーザAによ
り携帯電話100の操作部112から公開鍵VBが入力
されたか否が判断される。インターネット上で公開され
たユーザBの公開鍵VBを取得すると(S106にてY
ES)、処理はS108へ移される。もしそうでないと
(S106にてNO)、処理はS106へ戻され、ユー
ザBの公開鍵VBを取得するまで待つ。
At S106, control unit 102 determines whether or not the public key VB of user B published on the Internet has been acquired. At this time, the user A acquires the public key VB of the user B on the Internet, and it is determined whether or not the user A has input the public key VB from the operation unit 112 of the mobile phone 100. When the public key VB of the user B published on the Internet is acquired (Y in S106
ES), and the process proceeds to S108. If not (NO in S106), the process returns to S106 and waits until the public key VB of user B is acquired.

【0067】S108にて、制御部102は、取得した
と判断したユーザBの公開鍵VBを、記憶部106に記
憶する。S110にて、制御部102は、ユーザBへメ
ッセージデータを送信するか否かを判断する。この判断
は、ユーザAにより操作部112に特定のキー入力がさ
れたことにより行なわれる。ユーザBへメッセージデー
タを送信する場合には(S110にてYES)、処理は
S112へ移される。もしそうでないと(S110にて
NO)、処理はS110へ戻され、ユーザBへメッセー
ジデータを送信するまで待つ。
At S 108, control unit 102 stores the public key VB of user B, which is determined to be acquired, in storage unit 106. In S110, control unit 102 determines whether or not to send message data to user B. This determination is made when the user A inputs a specific key on the operation unit 112. If message data is to be transmitted to user B (YES in S110), the process proceeds to S112. If not (NO in S110), the process returns to S110 and waits until the message data is transmitted to user B.

【0068】S112にて、制御部102は、デジタル
署名用のデータの入力を要求する。このとき、制御部1
02は、表示部114に、デジタル署名用のデータの入
力を要求する画面を表示させる。S114にて、制御部
102は、ユーザAが操作部112から入力したデジタ
ル署名用のデータM1を記憶部106に記憶する。S1
16にて、制御部102は、暗号化処理部122に動作
を指示して、デジタル署名用のデータM1をユーザAの
秘密鍵UAで暗号化したデジタル署名データM2を記憶
部106に記憶する。
At S112, control unit 102 requests input of data for digital signature. At this time, the control unit 1
02 causes the display unit 114 to display a screen requesting input of data for digital signature. In S114, control unit 102 stores data M1 for digital signature input by user A from operation unit 112 in storage unit 106. S1
At 16, the control unit 102 instructs the encryption processing unit 122 to operate, and stores the digital signature data M2 obtained by encrypting the digital signature data M1 with the secret key UA of the user A in the storage unit 106.

【0069】S118にて、制御部102は、メッセー
ジデータの入力を要求する。このとき、制御部102
は、表示部114に、メッセージデータの入力を要求す
る画面を表示させる。S120にて、制御部102は、
ユーザAが操作部112から入力したメッセージデータ
MD1を記憶部106に記憶する。S122にて、制御
部102は、演算処理部1000にコマンドCを1とし
た動作を指示する。S124にて、制御部102は、演
算処理部1000から出力された共通鍵Kとセッション
パラメータsとを記憶部106に記憶する。
At S118, control unit 102 requests the input of message data. At this time, the control unit 102
Causes the display unit 114 to display a screen requesting input of message data. In S120, the control unit 102
The message data MD1 input by the user A from the operation unit 112 is stored in the storage unit 106. In S122, control unit 102 instructs operation processing unit 1000 to perform an operation with command C set to 1. In S124, control unit 102 stores common key K and session parameter s output from operation processing unit 1000 in storage unit 106.

【0070】S126にて、制御部102は、演算処理
部1000にコマンドCを3とした動作を指示して、メ
ッセージデータMD1を共通鍵Kで暗号化した暗号化デ
ータMD2を記憶部106に記憶する。S128にて、
制御部102は、デジタル署名データM2、暗号化デー
タMD2およびセッションパラメータsを、ユーザBの
携帯電話200に送信する。
At S126, control unit 102 instructs operation processing unit 1000 to perform an operation with command C set to 3, and stores encrypted data MD2 obtained by encrypting message data MD1 with common key K in storage unit 106. To do. In S128,
The control unit 102 transmits the digital signature data M2, the encrypted data MD2, and the session parameter s to the mobile phone 200 of the user B.

【0071】図9を参照して、メッセージデータを受信
する側の携帯電話200で実行されるプログラムは、以
下のような制御構造を有する。この携帯電話200は、
ユーザBが使用する携帯電話である。
Referring to FIG. 9, the program executed by mobile phone 200 on the side of receiving the message data has the following control structure. This mobile phone 200
This is a mobile phone used by user B.

【0072】S200にて、制御部202は、演算処理
部1000にコマンドCを0とした動作を指示する。こ
の処理は、たとえば、ユーザBがこの携帯電話200を
購入後、電源を初めて投入した直後に実行される。S2
02にて、制御部202は、演算処理部1000から出
力されたユーザBの公開鍵VBおよび秘密鍵UBを記憶
部206に記憶する。S204にて、制御部202は、
通信部204を介してインターネットアクセスプロバイ
ダに対して、インターネット上にユーザBの公開鍵VB
を公開するように(たとえば、ユーザBのホームページ
上に公開鍵VBをアップロードするように)指示する。
At S200, control unit 202 instructs arithmetic processing unit 1000 to operate with command C set to 0. This process is executed, for example, immediately after the user B purchases the mobile phone 200 and then turns on the power for the first time. S2
At 02, the control unit 202 stores the public key VB and the secret key UB of the user B output from the arithmetic processing unit 1000 in the storage unit 206. In S204, the control unit 202
The public key VB of the user B on the Internet is sent to the Internet access provider via the communication unit 204.
To publish (for example, upload public key VB on user B's home page).

【0073】S206にて、制御部202は、インター
ネット上で公開されたユーザAの公開鍵VAを取得した
か否かを判断する。このとき、ユーザBがインターネッ
ト上でユーザAの公開鍵VAを取得して、ユーザBによ
り携帯電話200の操作部212から公開鍵VAが入力
されたか否が判断される。インターネット上で公開され
たユーザAの公開鍵VAを取得すると(S206にてY
ES)、処理はS208へ移される。もしそうでないと
(S206にてNO)、処理はS206へ戻され、ユー
ザAの公開鍵VAを取得するまで待つ。
At S206, control unit 202 determines whether or not the public key VA of user A published on the Internet has been acquired. At this time, the user B acquires the public key VA of the user A on the Internet, and it is determined whether or not the user B has input the public key VA from the operation unit 212 of the mobile phone 200. When the public key VA of the user A published on the Internet is acquired (Y in S206
ES), and the process proceeds to S208. If not (NO in S206), the process returns to S206 and waits until the public key VA of user A is acquired.

【0074】S208にて、制御部202は、取得した
と判断したユーザAの公開鍵VAを、記憶部206に記
憶する。S210にて、制御部202は、ユーザAの携
帯電話100からデータを受信したか否かを判断する。
このとき、ユーザAの携帯電話100から、携帯電話基
地局300、ネットワーク500およびメールサーバ4
00を介して、データがユーザBの携帯電話200に受
信される。ユーザAの携帯電話100からデータを受信
すると(S210にてYES)、処理は、S212へ移
される。もしそうでないと(S210にてNO)、処理
は、S210へ戻され、ユーザAの携帯電話100から
データを受信するまで待つ。
At S208, control unit 202 stores the public key VA of user A, which is determined to be acquired, in storage unit 206. In S210, control unit 202 determines whether or not data has been received from mobile phone 100 of user A.
At this time, from the mobile phone 100 of the user A to the mobile phone base station 300, the network 500 and the mail server 4.
The data is received by the mobile phone 200 of the user B via 00. When data is received from mobile phone 100 of user A (YES in S210), the process proceeds to S212. If not (NO in S210), the process returns to S210 and waits until data is received from mobile phone 100 of user A.

【0075】S212にて、制御部202は、ユーザA
の携帯電話100から受信したデジタル署名データM
2、暗号化データMD2およびセッションパラメータs
を記憶部206に記憶する。S214にて、制御部20
2は、復号化処理部224に動作を指示して、デジタル
署名データM2をユーザAの公開鍵VAで復号化したデ
ジタル署名用のデータM1を記憶部206に記憶する。
At S212, control unit 202 determines that user A
Digital signature data M received from the mobile phone 100 of
2, encrypted data MD2 and session parameter s
Is stored in the storage unit 206. In S214, the control unit 20
2 instructs the decryption processing unit 224 to operate, and stores the digital signature data M1 obtained by decrypting the digital signature data M2 with the public key VA of the user A in the storage unit 206.

【0076】S216にて、制御部202は、記憶部2
06に記憶されたデジタル署名用のデータM1を表示部
214に表示する。S218にて、制御部202は、ユ
ーザAを特定できたか否かを判断する。この判断は、表
示部214に表示されたデジタル署名用のデータM1を
見たユーザBが、操作部212に予め定められたキーを
入力したことにより行なわれる。ユーザAを特定できる
と(S216にてYES)、処理はS220に移され
る。もしそうでないと(S216にてNO)、処理は、
S210へ戻され、真のユーザAからのデータの受信を
待つ。
At S216, control unit 202 causes storage unit 2
The digital signature data M1 stored in 06 is displayed on the display unit 214. In S218, control unit 202 determines whether user A has been identified. This determination is made by the user B, who has viewed the digital signature data M1 displayed on the display unit 214, inputs a predetermined key on the operation unit 212. If user A can be identified (YES in S216), the process proceeds to S220. If not (NO in S216), the process is
The process returns to S210 and waits for the reception of data from the true user A.

【0077】S220にて、制御部202は、演算処理
部1000にコマンドCを2とした動作を指示する。S
222にて、制御部202は、演算処理部1000から
出力された共通鍵Kを記憶部206に記憶する。S22
4にて、制御部202は、演算処理部1000にコマン
ドCを3とした動作を指示して、暗号化データMD2を
共通鍵Kで復号化したメッセージデータMD1を記憶部
206に記憶する。S226にて、制御部202は、記
憶部206に記憶されたメッセージデータMD1を表示
部214に表示する。
At S220, control unit 202 instructs operation processing unit 1000 to operate with command C set to 2. S
At 222, the control unit 202 stores the common key K output from the arithmetic processing unit 1000 in the storage unit 206. S22
At 4, the control unit 202 instructs the arithmetic processing unit 1000 to operate with the command C set to 3, and stores the message data MD1 obtained by decrypting the encrypted data MD2 with the common key K in the storage unit 206. In S226, control unit 202 displays message data MD1 stored in storage unit 206 on display unit 214.

【0078】以上のような構造およびフローチャートに
基づく携帯電話100および携帯電話200の動作につ
いて説明する。
The operation of mobile phone 100 and mobile phone 200 based on the above-described structure and flowchart will be described.

【0079】ユーザAが携帯電話100を購入して、携
帯電話100の電源を初めて投入すると、演算処理部1
000がコマンドCを0として動作して(S100)、
演算処理部1000から出力されたユーザAの公開鍵V
Aおよび秘密鍵UAが、記憶部106に記憶される(S
102)。ユーザAの公開鍵VAがインターネット上で
公開されるように指示され、インターネット上のユーザ
Aのホームページで公開鍵VAが掲示され、ユーザBが
公開鍵VAを認知して、記憶部206にユーザAの公開
鍵VAが記憶される(S206にてYES、S20
8)。
When the user A purchases the mobile phone 100 and turns on the power of the mobile phone 100 for the first time, the arithmetic processing unit 1
000 operates with command C set to 0 (S100),
The public key V of the user A output from the arithmetic processing unit 1000
A and the secret key UA are stored in the storage unit 106 (S
102). The public key VA of the user A is instructed to be published on the Internet, the public key VA is posted on the home page of the user A on the Internet, the user B recognizes the public key VA, and the user A is stored in the storage unit 206. Public key VA is stored (YES in S206, S20
8).

【0080】ユーザBが携帯電話200を購入して、携
帯電話200の電源を初めて投入すると、演算処理部1
000がコマンドCを0として動作して(S200)、
演算処理部1000から出力されたユーザBの公開鍵V
Bおよび秘密鍵UBが、記憶部206に記憶される(S
202)。ユーザBの公開鍵VBがインターネット上で
公開されるように指示され、インターネット上のユーザ
Bのホームページで公開鍵VBが掲示され、ユーザAが
公開鍵VBを認知して、記憶部106にユーザBの公開
鍵VBが記憶される(S106にてYES、S10
8)。
When the user B purchases the mobile phone 200 and turns on the power of the mobile phone 200 for the first time, the arithmetic processing unit 1
000 operates with command C set to 0 (S200),
User B's public key V output from arithmetic processing unit 1000
B and the secret key UB are stored in the storage unit 206 (S
202). The public key VB of the user B is instructed to be published on the Internet, the public key VB is posted on the home page of the user B on the Internet, the user A recognizes the public key VB, and the user B is stored in the storage unit 106. Public key VB is stored (YES in S106, S10
8).

【0081】ユーザAがユーザBにデータを送信する場
合(S110にてYES)、ユーザAは、デジタル署名
用のデータM1を入力し、入力されたデジタル署名用の
データM1が記憶部106に記憶される(S114)。
暗号化処理部122により、デジタル署名用のデータM
1がユーザAの秘密鍵UAで暗号化されて、暗号化処理
部122から出力されたデジタル署名データM2が記憶
部106に記憶される(S116)。
When user A transmits data to user B (YES in S110), user A inputs data M1 for digital signature, and the input data M1 for digital signature is stored in storage unit 106. (S114).
Data M for digital signature is generated by the encryption processing unit 122.
1 is encrypted with the private key UA of the user A, and the digital signature data M2 output from the encryption processing unit 122 is stored in the storage unit 106 (S116).

【0082】ユーザAは、メッセージデータMD1を入
力し、入力されたメッセージデータMD1が記憶部10
6に記憶される(S120)。演算処理部1000がコ
マンドCを1として動作して(S122)、演算処理部
1000にユーザAの秘密鍵UAとユーザBの公開鍵V
Bとが入力されて、演算処理部1000から出力された
共通鍵Kとセッションパラメータsとが記憶部106に
記憶される(S124)。
The user A inputs the message data MD1 and the input message data MD1 is stored in the storage unit 10.
6 is stored (S120). The arithmetic processing unit 1000 operates with the command C set to 1 (S122), and the arithmetic processing unit 1000 informs the arithmetic processing unit 1000 of the secret key UA of the user A and the public key V of the user B.
B is input, and the common key K and the session parameter s output from the arithmetic processing unit 1000 are stored in the storage unit 106 (S124).

【0083】演算処理部1000がコマンドCを3とし
て動作して(S126)、演算処理部1000によりメ
ッセージデータMD1が共通鍵Kで暗号化されて、演算
処理部1000から出力された暗号化データMD2が記
憶部106に記憶される。ユーザAの携帯電話100
は、通信部104を介して、ユーザBの携帯電話200
に、デジタル署名データM2、暗号化データMD2およ
びセッションパラメータsを送信する(S128)。
The arithmetic processing unit 1000 operates with the command C set to 3 (S126), the message data MD1 is encrypted with the common key K by the arithmetic processing unit 1000, and the encrypted data MD2 output from the arithmetic processing unit 1000. Is stored in the storage unit 106. Mobile phone 100 of user A
Through the communication unit 104, the mobile phone 200 of the user B.
Then, the digital signature data M2, the encrypted data MD2, and the session parameter s are transmitted (S128).

【0084】ユーザBの携帯電話200が、ユーザAの
携帯電話100から、デジタル署名データM2、暗号化
データMD2およびセッションパラメータsを受信する
と(S210にてYES)、受信したデータが記憶部2
06に記憶される(S212)。復号化処理部224に
より、デジタル署名データM2がユーザAの公開鍵VA
で復号化されて、復号化処理部224から出力されたデ
ジタル署名用のデータM1が記憶部206に記憶される
(S214)。
When user B's mobile phone 200 receives digital signature data M2, encrypted data MD2 and session parameter s from user A's mobile phone 100 (YES in S210), the received data is stored in storage unit 2
It is stored in 06 (S212). The decryption processing unit 224 determines that the digital signature data M2 is the public key VA of the user A.
The data M1 for digital signature, which is decrypted by and is output from the decryption processing unit 224, is stored in the storage unit 206 (S214).

【0085】デジタル署名用のデータM1が表示部21
4に表示され、ユーザBがユーザAを特定できると(S
218にてYES)、演算処理部1000がコマンドC
を2として動作して(S220)、演算処理部1000
にユーザBの秘密鍵UBとユーザAの公開鍵VAとセッ
ションパラメータsとが入力されて、演算処理部100
0から出力された共通鍵Kが記憶部206に記憶される
(S222)。
Data M1 for digital signature is displayed on the display unit 21.
4 and user B can identify user A (S
218: YES), the arithmetic processing unit 1000 causes the command C
Is operated as 2 (S220), and the arithmetic processing unit 1000 is operated.
The secret key UB of the user B, the public key VA of the user A, and the session parameter s are input to the operation processing unit 100.
The common key K output from 0 is stored in the storage unit 206 (S222).

【0086】演算処理部1000がコマンドCを3とし
て動作して(S224)、演算処理部1000により暗
号化データMD2が共通鍵Kで復号化されて、演算処理
部1000から出力されたメッセージデータMD1が記
憶部206に記憶される(S224)。メッセージデー
タMD1は、表示部214に表示され(S226)、ユ
ーザBは、真のユーザAから送信されたメッセージデー
タを読むことができる。
The operation processing unit 1000 operates with the command C set to 3 (S224), the operation processing unit 1000 decrypts the encrypted data MD2 with the common key K, and the message data MD1 output from the operation processing unit 1000. Is stored in the storage unit 206 (S224). The message data MD1 is displayed on the display unit 214 (S226), and the user B can read the message data transmitted from the true user A.

【0087】以上のようにして、本発明の実施の形態に
係る暗号通信システムによると、このシステムを構成す
る携帯電話において、公開鍵方式における公開鍵および
秘密鍵、共通鍵方式における共通鍵を算出する回路、共
通鍵で平文を暗号化する回路ならびに共通鍵で暗号文を
復号化する回路の一部を共通にすることができる。その
結果、ハードウェアにおける演算回路またはソフトウェ
アにおける演算アルゴリズムを共通化でき、共通鍵方式
と公開鍵方式とを実現するにあたり、通信端末のコスト
上昇およびハードウェア実装面積を抑制できる。
As described above, according to the cryptographic communication system according to the embodiment of the present invention, the public key and the secret key in the public key system and the common key in the common key system are calculated in the mobile phone constituting this system. A part of the circuit for encrypting plaintext with a common key and the circuit for decrypting ciphertext with a common key can be shared. As a result, the arithmetic circuit in hardware or the arithmetic algorithm in software can be made common, and in realizing the common key system and the public key system, the cost increase of the communication terminal and the hardware mounting area can be suppressed.

【0088】今回開示された実施の形態はすべての点で
例示であって制限的なものではないと考えられるべきで
ある。本発明の範囲は上記した説明ではなくて特許請求
の範囲によって示され、特許請求の範囲と均等の意味お
よび範囲内でのすべての変更が含まれることが意図され
る。
The embodiments disclosed this time are to be considered as illustrative in all points and not restrictive. The scope of the present invention is shown not by the above description but by the claims, and is intended to include meanings equivalent to the claims and all modifications within the scope.

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

【図1】 暗号通信システムの全体構成を表わす図であ
る。
FIG. 1 is a diagram showing an overall configuration of a cryptographic communication system.

【図2】 図1に示す携帯電話の制御ブロック図であ
る。
FIG. 2 is a control block diagram of the mobile phone shown in FIG.

【図3】 図2に示す携帯電話の演算処理部の制御ブロ
ック図である。
FIG. 3 is a control block diagram of an arithmetic processing unit of the mobile phone shown in FIG.

【図4】 演算処理部の動作を示す説明するための図
(その1)である。
FIG. 4 is a diagram (No. 1) for explaining the operation of the arithmetic processing unit.

【図5】 演算処理部の動作を示す説明するための図
(その2)である。
FIG. 5 is a diagram (No. 2) for explaining the operation of the arithmetic processing unit.

【図6】 演算処理部の動作を示す説明するための図
(その3)である。
FIG. 6 is a diagram (No. 3) for explaining the operation of the arithmetic processing unit.

【図7】 演算処理部の動作を示す説明するための図
(その4)である。
FIG. 7 is a diagram (No. 4) for explaining the operation of the arithmetic processing unit.

【図8】 送信側の携帯電話における処理の制御手順を
示すフローチャートである。
FIG. 8 is a flowchart showing a control procedure of processing in the mobile phone on the transmission side.

【図9】 受信側の携帯電話における処理の制御手順を
示すフローチャートである。
FIG. 9 is a flowchart showing a control procedure of processing in the mobile phone on the receiving side.

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

100、200 携帯電話、102、202 制御部、
104、204 通信部、106、206 記憶部、1
10、210 入出力部、112、222 操作部、1
14、214 表示部、116、216 音声入力部、
118、218音声出力部、120、220 処理部、
122、222 暗号化処理部、124、224 復号
化処理部、300 携帯電話基地局、400 メールサ
ーバ、500 ネットワーク、1000 演算処理部、
1100 切換部、1110、1120、1130、1
140、1150 入力セレクタ、1160、117
0、1180 出力セレクタ、1200 乱数発生器、
1300 ベースポイント記憶部、1400 座標剰余
算出部、1500 座標積算部、1600 座標加算
部、1700 整数値算出部、1800 ハッシュ関数
処理部、1900 論理演算部。
100, 200 mobile phone, 102, 202 control unit,
104, 204 communication unit, 106, 206 storage unit, 1
10, 210 input / output unit, 112, 222 operation unit, 1
14, 214 display unit, 116, 216 voice input unit,
118, 218 audio output section, 120, 220 processing section,
122, 222 encryption processing unit, 124, 224 decryption processing unit, 300 mobile phone base station, 400 mail server, 500 network, 1000 arithmetic processing unit,
1100 switching units 1110, 1120, 1130, 1
140, 1150 Input selector, 1160, 117
0, 1180 output selector, 1200 random number generator,
1300 base point storage unit, 1400 coordinate remainder calculation unit, 1500 coordinate integration unit, 1600 coordinate addition unit, 1700 integer value calculation unit, 1800 hash function processing unit, 1900 logical operation unit.

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 通信相手の通信装置との間で、暗号化さ
れた情報を通信する暗号通信装置であって、前記暗号通
信装置は、 予め定められた楕円曲線上の定点をベースポイントとし
て記憶するための記憶手段と、 乱数値を出力するための乱数発生手段と、 前記乱数発生手段に接続され、前記乱数発生手段から出
力された第1の乱数値に基づいて、秘密鍵を算出するた
めの秘密鍵算出手段と、 前記秘密鍵算出手段に接続され、算出された前記秘密鍵
を記憶するための秘密鍵記憶手段と、 前記記憶手段と前記乱数発生手段とに接続され、楕円曲
線上の演算によって、前記記憶手段に記憶された前記ベ
ースポイントと前記第1の乱数値とに基づいて、第1の
公開鍵を算出するための公開鍵算出手段と、 前記公開鍵算出手段に接続され、算出された前記第1の
公開鍵を、前記通信相手の通信装置に供与するための公
開鍵供与手段と、 前記通信相手の通信装置から、第2の公開鍵を取得する
ための公開鍵取得手段と、 前記公開鍵取得手段に接続され、取得した前記第2の公
開鍵を記憶するための公開鍵記憶手段と、 前記秘密鍵記憶手段と前記公開鍵記憶手段とに接続さ
れ、楕円曲線上の演算によって、前記秘密鍵と前記第2
の公開鍵とに基づいて、共通鍵を算出するための共通鍵
算出手段と、 前記共通鍵算出手段に接続され、算出された前記共通鍵
を記憶するための共通鍵記憶手段とを含む、暗号通信装
置。
1. A cryptographic communication device for communicating encrypted information with a communication device as a communication partner, wherein the cryptographic communication device stores a predetermined fixed point on an elliptic curve as a base point. Storage means for outputting a random number value, random number generating means for outputting a random number value, and for calculating a secret key based on a first random number value output from the random number generating means, which is connected to the random number generating means. Secret key calculating means, a secret key storing means connected to the secret key calculating means for storing the calculated secret key, connected to the storing means and the random number generating means, on an elliptic curve A public key calculation means for calculating a first public key based on the base point and the first random number value stored in the storage means by calculation, and connected to the public key calculation means, Before calculated A public key providing unit for providing the first public key to the communication device of the communication partner, a public key acquisition unit for acquiring a second public key from the communication device of the communication partner, A public key storage means connected to the public key acquisition means for storing the acquired second public key; connected to the private key storage means and the public key storage means; The secret key and the second
A common key calculating unit for calculating a common key on the basis of the public key and a common key storing unit for storing the calculated common key, which is connected to the common key calculating unit. Communication device.
【請求項2】 前記公開鍵算出手段は、楕円曲線上の演
算によって、前記ベースポイントの前記第1の乱数値倍
の座標点を算出するための座標積算手段を含み、前記第
1の公開鍵は、前記ベースポイントの前記第1の乱数値
倍の座標点により表わされ、 前記共通鍵算出手段は、 楕円曲線上の第2の公開鍵を表わす点の前記秘密鍵倍の
座標点を算出するように、前記座標積算手段を制御する
ための手段と、 第2の乱数値を出力するように前記乱数発生手段を制御
するための手段と、 前記乱数発生手段から出力された第2の乱数値と、前記
第2の公開鍵を表わす点の前記秘密鍵倍の座標点とに基
づいて、共通鍵を算出するための手段とを含み、 前記暗号化演算装置は、前記乱数発生手段に接続され、
出力された前記第2の乱数値を、前記通信相手の通信装
置に供与するための乱数値供与手段をさらに含む、請求
項1に記載の暗号通信装置。
2. The public key calculation means includes coordinate integration means for calculating a coordinate point that is the first random number times the base point by calculation on an elliptic curve, and the first public key. Is represented by a coordinate point which is the first random number times the base point, and the common key calculating means calculates a coordinate point which is the secret key times the point representing the second public key on the elliptic curve. To control the coordinate integrating means, to control the random number generating means to output a second random number value, and to control the second random number output from the random number generating means. A means for calculating a common key based on a numerical value and a coordinate point that is the secret key times the point representing the second public key, wherein the encryption operation device is connected to the random number generation means. Is
The cryptographic communication device according to claim 1, further comprising a random number providing unit for providing the output second random number value to the communication device of the communication partner.
【請求項3】 前記公開鍵算出手段は、楕円曲線上の演
算によって、前記ベースポイントの前記第1の乱数値倍
の座標点を算出するための座標積算手段を含み、前記第
1の公開鍵は、前記ベースポイントの前記第1の乱数値
倍の座標点により表わされ、 前記暗号化演算装置は、前記通信相手の通信装置から、
第2の乱数値を取得するための乱数値取得手段をさらに
含み、 前記共通鍵算出手段は、 楕円曲線上の第2の公開鍵を表わす点の前記秘密鍵倍の
座標点を算出するように、前記座標積算手段を制御する
ための手段と、 前記乱数値取得手段により取得した第2の乱数値と、前
記第2の公開鍵を表わす点の前記秘密鍵倍の座標点とに
基づいて、共通鍵を算出するための手段とを含む、請求
項1に記載の暗号通信装置。
3. The public key calculating means includes coordinate accumulating means for calculating a coordinate point of the base point multiplied by the first random number value by calculation on an elliptic curve, and the first public key. Is represented by a coordinate point that is the first random number times the base point, and the encryption operation device is a communication device from the communication partner
The common key calculating means further includes a random value obtaining means for obtaining a second random value, and the common key calculating means calculates a coordinate point that is a multiple of the secret key of a point representing a second public key on an elliptic curve. A means for controlling the coordinate accumulating means, a second random number value obtained by the random number obtaining means, and a coordinate point that is a multiple of the secret key of a point representing the second public key, The cryptographic communication device according to claim 1, further comprising means for calculating a common key.
【請求項4】 前記暗号通信装置は、前記共通鍵により
平文を暗号文に変換するための暗号化手段をさらに含
む、請求項1〜3のいずれかに記載の暗号通信装置。
4. The cipher communication device according to claim 1, further comprising an encryption unit for converting plaintext into ciphertext using the common key.
【請求項5】 前記暗号通信装置は、 前記秘密鍵により、認証情報を暗号化するための認証情
報暗号化手段と、 前記認証情報暗号化手段に接続され、前記暗号化された
認証情報を、前記通信相手の通信装置に供与するための
認証情報供与手段とをさらに含む、請求項4に記載の暗
号通信装置。
5. The encryption communication device, an authentication information encryption unit for encrypting authentication information with the secret key, and the authentication information encryption unit connected to the authentication information encryption unit, the encrypted authentication information, The cryptographic communication device according to claim 4, further comprising authentication information providing means for providing the communication device of the communication partner.
【請求項6】 前記暗号通信装置は、前記共通鍵により
暗号文を平文に変換するための復号化手段をさらに含
む、請求項1〜3のいずれかに記載の暗号通信装置。
6. The encrypted communication device according to claim 1, further comprising a decryption unit for converting an encrypted text into a plaintext by using the common key.
【請求項7】 前記暗号通信装置は、 前記通信相手の通信装置から、暗号化された認証情報を
取得するための認証情報取得手段と、 前記認証情報取得手段に接続され、前記暗号化された認
証情報を、前記第2の公開鍵により復号化するための認
証情報復号化手段とをさらに含む、請求項6に記載の暗
号通信装置。
7. The encrypted communication device is connected to the authentication information acquisition means for acquiring encrypted authentication information from the communication device of the communication partner, and the encrypted communication device is encrypted. The encryption communication device according to claim 6, further comprising an authentication information decryption unit for decrypting authentication information with the second public key.
【請求項8】 前記暗号通信装置は、 前記他の暗号通信装置と、情報を通信するための通信手
段をさらに含む、請求項1〜7のいずれかに記載の暗号
通信装置。
8. The cipher communication device according to claim 1, further comprising a communication unit for communicating information with the other cipher communication device.
JP2001312273A 2001-10-10 2001-10-10 Cipher communicating apparatus Withdrawn JP2003124919A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001312273A JP2003124919A (en) 2001-10-10 2001-10-10 Cipher communicating apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001312273A JP2003124919A (en) 2001-10-10 2001-10-10 Cipher communicating apparatus

Publications (1)

Publication Number Publication Date
JP2003124919A true JP2003124919A (en) 2003-04-25

Family

ID=19130964

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001312273A Withdrawn JP2003124919A (en) 2001-10-10 2001-10-10 Cipher communicating apparatus

Country Status (1)

Country Link
JP (1) JP2003124919A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004078495A (en) * 2002-08-15 2004-03-11 Sony Corp Non-contact ic card
JP2007507742A (en) * 2003-10-03 2007-03-29 松下電器産業株式会社 Information transmission system, encryption device, and decryption device
WO2008122171A1 (en) * 2007-04-06 2008-10-16 Zte Corporation A security pilot method and a system thereof, code signature construction method and authentication method
JP2019024201A (en) * 2014-02-10 2019-02-14 クゥアルコム・インコーポレイテッドQualcomm Incorporated Assisted device provisioning in network
CN117176351A (en) * 2023-11-02 2023-12-05 北京密码云芯科技有限公司 Data transmission processing method, system, computer equipment and storage medium

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004078495A (en) * 2002-08-15 2004-03-11 Sony Corp Non-contact ic card
JP2007507742A (en) * 2003-10-03 2007-03-29 松下電器産業株式会社 Information transmission system, encryption device, and decryption device
WO2008122171A1 (en) * 2007-04-06 2008-10-16 Zte Corporation A security pilot method and a system thereof, code signature construction method and authentication method
JP2019024201A (en) * 2014-02-10 2019-02-14 クゥアルコム・インコーポレイテッドQualcomm Incorporated Assisted device provisioning in network
CN117176351A (en) * 2023-11-02 2023-12-05 北京密码云芯科技有限公司 Data transmission processing method, system, computer equipment and storage medium
CN117176351B (en) * 2023-11-02 2024-02-06 北京密码云芯科技有限公司 Data transmission processing method, system, computer equipment and storage medium

Similar Documents

Publication Publication Date Title
US6779111B1 (en) Indirect public-key encryption
KR100734836B1 (en) System and method for generating reproducible session keys
CA2527718C (en) System, method and computer product for sending encrypted messages to recipients where the sender does not possess the credentials of the recipient
US8386780B2 (en) Cryptographic communication system, terminal device, server, and decryption method
EP1128597A1 (en) Method and arrangement in a communication network
EP1533971A1 (en) Method and system for establishing secure communication
KR20040098962A (en) A method for discributing the key to mutual nodes to code a key on mobile ad-hoc network and network device using thereof
US8014523B2 (en) Key management
CN112003696B (en) SM9 key generation method, system, electronic equipment, device and storage medium
Natanael et al. Text encryption in android chat applications using elliptical curve cryptography (ECC)
JPH04347949A (en) Cipher communicating method and cipher communicating system
Rangarajan et al. Securing SMS using cryptography
JP2003124919A (en) Cipher communicating apparatus
US20220109657A1 (en) Email encryption system
Jitha et al. SMS security system using encryption techniques
JP2721238B2 (en) Key distribution method with signature function
Al-Bakri et al. A novel peer-to-peer SMS security solution using a hybrid technique of NTRU and AES-Rijndael
JP2003338812A (en) Encryption system
Markovski et al. A protocol for secure sms communication for android os
Tian Comparison between ECDH and X3DH protocol
Wang et al. A privacy and delegation-enhanced user authentication protocol for portable communication systems
JPH10164045A (en) Crypto-communication system
Zhong Efficient, anonymous, and authenticated conference key setup in cellular wireless networks
CA2541728C (en) Public key encryption with digital signature scheme
JPH06303231A (en) Key derivery device

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050104