JP2005269587A - Key sharing system, encryption system and file authentication system - Google Patents

Key sharing system, encryption system and file authentication system Download PDF

Info

Publication number
JP2005269587A
JP2005269587A JP2004120886A JP2004120886A JP2005269587A JP 2005269587 A JP2005269587 A JP 2005269587A JP 2004120886 A JP2004120886 A JP 2004120886A JP 2004120886 A JP2004120886 A JP 2004120886A JP 2005269587 A JP2005269587 A JP 2005269587A
Authority
JP
Japan
Prior art keywords
file
matrix
data
key
encryption
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004120886A
Other languages
Japanese (ja)
Inventor
Kazuhiro Nakagawa
一洋 中川
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to JP2004120886A priority Critical patent/JP2005269587A/en
Publication of JP2005269587A publication Critical patent/JP2005269587A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To prevent a key from being known to a third person by securely sharing the key used to encrypt and decrypt plaintext. <P>SOLUTION: A receiving side or reproducing side device 3 has a file HF, an OF to be generated from now on and a non-regular matrix TC for generation. A transmitting source or recording side device 2 has a file BF, generates a key KF from the file BF, OF and TC and generates a file LF from BF and TC. A cryptography N prepared by using KF is transmitted or recorded together with LF. In the receiving side or reproducing side device 3, when N and LF are received or reproduced, a key KF' is generated from LF, HF and TC and the key is used to decrypt N. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は、データ通信、特に暗号化技術を用いた鍵共有、秘匿情報の伝送又は記録再生の技術、ファイルやメッセージの認証、電子署名技術に関する。  The present invention relates to data communication, particularly key sharing using encryption technology, technology for transmitting or recording confidential information, file and message authentication, and digital signature technology.

秘匿すべきデータを特定の相手だけに伝送するには、例えば、Aがファイルにパスワードを設定して該パスワードを知る相手Bに送信する形態や、互いの共通鍵で暗号化したファイルを相手に送信する形態が知られている。また、公開鍵暗号方式(例えば、RSAやElGamal等)では、Aが相手Bの公開鍵で暗号化したデータを送信し、受信相手Bが自分の秘密鍵で復号することができる。  In order to transmit confidential data only to a specific partner, for example, a mode in which A sets a password in a file and sends it to the partner B who knows the password, or a file encrypted with a mutual common key is transmitted to the partner. A form of transmission is known. In the public key cryptosystem (for example, RSA, ElGamal, etc.), A can transmit data encrypted with the public key of the other party B, and the receiving party B can decrypt it with its own private key.

一般に、パスワードのデータ長(ビット数)や暗号鍵の鍵長が短い場合には、組み合わせの数が少ない(鍵空間が狭い)ため解読が容易であり、暗号文攻撃に対して脆弱性を露呈する。  In general, when the password data length (number of bits) or the key length of the encryption key is short, the number of combinations is small (the key space is narrow), making it easy to decrypt and revealing vulnerability to ciphertext attacks. To do.

そこで、使い捨てパッド(One−Time Pad)を互いに秘蔵し合い、該データを用いて暗号化及び復号化を行う方法が知られている。AとBは共有データ(パッド)を用いて所望のデータを暗号化したり復号化することができ、必要に応じてパッドを更新したり変更することができる。  Therefore, a method is known in which disposable pads (One-Time Pads) are stored in a secret manner, and encryption and decryption are performed using the data. A and B can encrypt or decrypt desired data using shared data (pad), and can update or change the pad as necessary.

しかしながら、使い捨てパッドを用いる方法は、共有鍵の配送問題、即ち、鍵の配送が容易でないことが問題となる(つまり、鍵配送を安全に行えるならば、それと同じ方法で情報を送信し合えば済む。)。また、鍵の生成等に処理時間が費やされてしまうことが問題である。
大半の公開鍵暗号システムは、暗号化及び復号化の速度の点で問題を抱えており、また、従来の行列演算を使ったアプローチでは、そのような困難性を解決できる程の進展がみられない。
However, the method using a disposable pad has a problem of shared key distribution, that is, key distribution is not easy (that is, if key distribution can be performed safely, information can be transmitted in the same way as that). That ’s it.) Another problem is that processing time is consumed for key generation and the like.
Most public-key cryptosystems have problems with encryption and decryption speeds, and traditional matrix-based approaches have made progress that can solve such difficulties. Absent.

そこで、本発明は、暗号化及び復号化に用いる鍵データを第三者に知られないようにすること及び鍵生成やファイル認証等の高速化を課題とする。  Therefore, the present invention has an object of preventing key data used for encryption and decryption from being known to a third party and speeding up key generation and file authentication.

第1の本発明は、セキュリティ用の鍵を共有する鍵共有システムにおいて、第一ファイルのデータを要素とする行列と、予め決められた正則でない行列との演算によって生成される第二ファイルを用いるとともに、第三ファイルのデータを要素とする行列と上記第二ファイルのデータを要素とする行列との演算又は第三ファイルのデータを要素とする行列と上記予め決められた正則でない行列との演算によって鍵を生成するものである。
そして、第2の発明は、共有鍵を用いて平文データに暗号化処理を施したり、暗号文データの復号を行うものである。
この共有鍵については、下記に示すいずれかの演算により生成することができる。
(その1)第三ファイルのデータを要素とする行列「T3」と、第二ファイルのデータを要素とする行列との演算「T2」
(その2)第三ファイルのデータを要素とする行列「T3」と、平文データを要素とする行列「Tm」と、第二ファイルのデータを要素とする行列「T2」との演算
(その3)第三ファイルのデータを要素とする行列「T3」と、上記正則でない行列「TC」との演算
(その4)第三ファイルのデータを要素とする行列「T3」と、平文データを要素とする行列「Tm」と、上記正則でない行列「TC」との演算
結局のところ、T3とTC又はT2との演算、あるいはT3及びTC又はT3及びT2とTmを組み合わせた演算を行えば良い。
The first aspect of the present invention uses, in a key sharing system for sharing a security key, a second file generated by an operation of a matrix having elements of the data of the first file and a predetermined non-regular matrix. In addition, an operation of a matrix having the data of the third file as an element and a matrix having the data of the second file as an element, or an operation of a matrix having the data of the third file as an element and the predetermined non-regular matrix Is used to generate a key.
In the second invention, the plaintext data is encrypted using the shared key, or the ciphertext data is decrypted.
This shared key can be generated by any of the following operations.
(Part 1) Operation “T2” of a matrix “T3” having the data of the third file as an element and a matrix having the data of the second file as an element
(Part 2) Calculation of a matrix “T3” whose elements are the data of the third file, a matrix “Tm” whose elements are the plain text data, and a matrix “T2” whose elements are the data of the second file (Part 3) ) Calculation of the matrix “T3” having the data of the third file as an element and the non-regular matrix “TC”. (Part 4) The matrix “T3” having the data of the third file as an element and the plaintext data as an element. After all, the calculation of the matrix “Tm” and the non-regular matrix “TC” may be performed. As a result, the calculation of T3 and TC or T2 or the combination of T3 and TC or T3 and T2 and Tm may be performed.

尚、暗号システムは例えば、下記の構成を有する。
・平文データを暗号化する第一の情報処理装置と、暗号文データから元の平文データを復号する第二の情報処理装置を備えていること。
The encryption system has the following configuration, for example.
A first information processing apparatus that encrypts plaintext data and a second information processing apparatus that decrypts the original plaintext data from the ciphertext data.

・第二の情報処理装置が、第一ファイルと、予め決められた正則でない行列、第二ファイルを有していること。  The second information processing apparatus has a first file, a predetermined irregular matrix, and a second file.

・第一の情報処理装置が第三ファイルを有しており、鍵と第四ファイルを生成すること(行列T3及びT2の積演算、あるいは行列T3及びTCの積演算により鍵を生成するとともに、行列T3とTCとの積演算又は行列T3とT2、さらにはTmとの積演算によって第四ファイルを生成する。)。
・第一の情報処理装置は、鍵を使って平文から暗号文へのコンバート機能を有し、変換後の暗号文を伝送したり記録する機能を有すること。
The first information processing apparatus has a third file and generates a key and a fourth file (a key is generated by a product operation of matrices T3 and T2 or a product operation of matrices T3 and TC, A fourth file is generated by a product operation of the matrices T3 and TC or a product operation of the matrices T3 and T2 and further Tm.)
The first information processing apparatus has a conversion function from plaintext to ciphertext using a key, and has a function to transmit and record the converted ciphertext.

・第二の情報処理装置は、鍵生成の機能と、暗号文から平文へのコンバート機能を有しており、暗号文の受信や再生時に、第四ファイルのデータを要素する行列と、第一ファイルのデータを要素とする行列との積演算により鍵を生成し、この鍵を用いて暗号文を復号化すること。  The second information processing apparatus has a key generation function and a ciphertext-to-plaintext conversion function. When receiving and playing ciphertext, the second information processing apparatus includes a matrix that includes data of the fourth file, A key is generated by a product operation with a matrix whose elements are file data, and the ciphertext is decrypted using this key.

本発明に係る方法、つまり、平文から暗号文を生成した後、該暗号文から元の平文に復号する場合の手順を箇条書きで記載すると以下にようになる。
(1)第一ファイルのデータを要素とする行列T1及び予め決められた正則でない行列TCとの演算により第二ファイルを生成するステップ
(2)行列T3及び行列T2との積演算から鍵を生成するステップ
(3)行列T3とTCあるいはT3とT2の積演算により第四ファイルを生成し、上記(2)の鍵を用いて平文を暗号化するステップ
(4)暗号文と上記(3)の第四ファイルを伝送し又は記録するステップ
(5)暗号文を受信し又は再生した場合に、上記第四ファイルのデータを要素とする行列T4と上記行列T1との積演算により鍵を生成するステップ
(6)上記(5)の鍵を用いて暗号文を復号化するステップ。
従って、本発明によれば、暗号化処理時に用いた鍵と同じ鍵を生成するためには、第一ファイルが必要となるが、第一ファイルは情報処理装置の間で受け渡しが行われない。つまり、第一ファイルを第三者に知られないように秘蔵することによって、鍵を用いた暗号文データの秘密保持が保証される。また、第一の情報処理装置において鍵生成に用いた第三ファイルを第二の情報処理装置の使用者及び第三者に知られることがない。そして、鍵データを行列の積演算で高速に生成できる。
The method according to the present invention, that is, a procedure for generating a ciphertext from plaintext and then decrypting the ciphertext into the original plaintext, is described in itemized form as follows.
(1) A step of generating a second file by an operation with a matrix T1 having the data of the first file as an element and a predetermined non-regular matrix TC (2) A key is generated from a product operation with the matrix T3 and the matrix T2 (3) A step of generating a fourth file by the product operation of the matrices T3 and TC or T3 and T2, and encrypting the plaintext using the key of (2) (4) The ciphertext and the above (3) Step of transmitting or recording the fourth file (5) Step of generating a key by product operation of the matrix T4 having the data of the fourth file as an element and the matrix T1 when the ciphertext is received or reproduced (6) A step of decrypting the ciphertext using the key of (5) above.
Therefore, according to the present invention, the first file is required to generate the same key as that used in the encryption process, but the first file is not transferred between the information processing apparatuses. In other words, by keeping the first file secret from a third party, the confidentiality of the ciphertext data using the key is guaranteed. Further, the third file used for key generation in the first information processing apparatus is not known to the user of the second information processing apparatus or a third party. Then, the key data can be generated at high speed by the matrix product operation.

また、本発明に係るファイル認証システムでは、以下の手順で処理が行われる。
(1)第一ファイルのデータを要素とする行列と、予め決められた正則でない行列TCと、検証対象となるファイルのデータを要素とする行列Tgとの演算によって生成される署名ファイルを用いること(尚、検証対象となるファイルTgについてはメッセージダイジェスト関数のデータやハッシュデータからなるファイルでも良い。)
(2)上記TCと、第一ファイルのデータを要素とする行列との演算によって第二ファイルを生成して受信側で該ファイルを取得できるようにするか又は公開すること、
(3)検証対象となるファイル及び上記署名ファイルを送信すること、
(4)受信側では、3つの行列、つまり、上記第二ファイルのデータを要素とする行列と、上記TCと、Tgとの演算によって第三のファイルを生成すること及び上記TCと上記署名ファイルのデータを要素とする行列との演算によって第四のファイルを生成すること、(5)受信側では、上記第三のファイルのデータと上記第四のファイルのデータが一致するか否かを検証すること。
そして、上記署名ファイルを、上記鍵の生成に必要な伝送ファイルとして共用することができる。
In the file authentication system according to the present invention, processing is performed according to the following procedure.
(1) Use a signature file generated by an operation of a matrix whose elements are data of the first file, a predetermined non-regular matrix TC, and a matrix Tg whose elements are data of the file to be verified. (Note that the file Tg to be verified may be a file composed of message digest function data or hash data.)
(2) generating or releasing the second file by calculating the TC and a matrix having the data of the first file as an element so that the file can be obtained on the receiving side; or
(3) sending the file to be verified and the signature file;
(4) On the receiving side, a third file is generated by calculating three matrices, that is, a matrix including the data of the second file, the TC, and Tg, and the TC and the signature file. (4) On the receiving side, verify whether the data of the third file and the data of the fourth file match. To do.
The signature file can be shared as a transmission file necessary for generating the key.

本発明によれば、受信又は再生側の装置において第一ファイルを第三者に知られないように秘蔵することによって、共有鍵を安全に配送することができ、該共有鍵を用いた暗号文データの秘密保持が保証される。これにより秘匿化データを安全に伝送することができる。そして、ファイルのデータを要素とする行列の積演算により鍵を高速に生成することができるとともに、行列計算を用いて高速にファイル認証を行うことができる。  According to the present invention, the shared file can be safely delivered by storing the first file in a receiving or reproducing device so that it is not known to a third party, and a ciphertext using the shared key can be delivered. Data confidentiality is guaranteed. Thereby, the concealment data can be transmitted safely. Then, a key can be generated at high speed by a matrix product operation using file data as elements, and file authentication can be performed at high speed using matrix calculation.

本発明は広範な適用範囲をもち、例えば、コンピュータ等の情報処理装置を使ったネットワークシステムへの適用に好適であるが、このような情報伝送システムに限らず、携帯電話等の移動体通信システムや、著作権保護を目的として音楽や画像データを秘匿化するシステム、ロボット間通信システム、ICタグを用いたアイテム管理といった、各種の暗号システムへの適用が可能である。尚、暗号文伝送には、暗号鍵の共有が重要である。
図1は、本発明に係るシステムの基本構成を示す機能ブロック図であり、情報伝送システムへの適用を想定している。
The present invention has a wide range of applications and is suitable for application to a network system using an information processing apparatus such as a computer, for example. However, the present invention is not limited to such an information transmission system, and a mobile communication system such as a mobile phone. It can also be applied to various cryptographic systems such as a system for concealing music and image data for the purpose of copyright protection, a communication system between robots, and item management using an IC tag. Note that encryption key sharing is important for ciphertext transmission.
FIG. 1 is a functional block diagram showing a basic configuration of a system according to the present invention, and is assumed to be applied to an information transmission system.

本発明を適用したシステム1は、第一の情報処理装置2と第二の情報処理装置3を備えている。本例において、第一の情報処理装置2は平文Mを暗号化して伝送する情報送信装置、また、第二の情報処理装置3は暗号文Nから平文Mを復号化する情報受信装置である。尚、各装置には、例えば電気的な通信手段を備えたコンピュータ機器等が用いられる。  A system 1 to which the present invention is applied includes a first information processing device 2 and a second information processing device 3. In this example, the first information processing apparatus 2 is an information transmitting apparatus that encrypts and transmits plaintext M, and the second information processing apparatus 3 is an information receiving apparatus that decrypts plaintext M from ciphertext N. For each device, for example, computer equipment provided with electrical communication means is used.

情報処理装置3は、下記に示す行列とファイルを有する。
・第一ファイル「HF」
・第二ファイルOFの生成用行列「TC」
・HFとTCから生成される第二ファイル「OF」
尚、HFは、どのようなファイルでも構わないが、送信相手や第三者に知られないようにすべき秘蔵ファイルである。OFは公開ファイルであり、誰にでも知られることが前提とされる。TCをOFに含める場合には、OFからTCを除いた部分が第二ファイルに相当する。行列TCは正則でない行列(つまり、行列式がゼロ)である。非正則生成行列CはEメールアドレスやIDコード等から予め決められた関数で自動生成するのが簡単である。
The information processing apparatus 3 has the following matrix and file.
・ First file "HF"
・ Second file OF generation matrix “TC”
・ Second file “OF” generated from HF and TC
The HF may be any file, but is a treasured file that should not be known to the transmission partner or a third party. The OF is a public file and is assumed to be known to anyone. When TC is included in the OF, the portion excluding TC from the OF corresponds to the second file. The matrix TC is a non-regular matrix (that is, the determinant is zero). It is easy to automatically generate the irregular generator matrix C using a predetermined function from an e-mail address, an ID code, or the like.

情報処理装置2は第三ファイル「BF」を有しており、これは鍵「KF」の生成に用いる。KFは平文Mの暗号化や暗号文Nの復号に用いるものであり、そのデータ長はMのデータ長さ以上でも以下でも良い。尚、BFのデータ長に限定はなく、KFのデータ列を生成できれば良い。  The information processing apparatus 2 has a third file “BF”, which is used to generate the key “KF”. KF is used for encryption of plaintext M and decryption of ciphertext N, and the data length may be greater than or less than the data length of M. The BF data length is not limited, and it is sufficient that a KF data string can be generated.

また、BFに係るファイルタイプの種類や形式等の如何を問わない。例えば、テキストファイルや画像ファイル等を使用できる。乱数生成関数を用いて生成したデータファイルや、複数のデータファイルをもとに所定の演算(例えば、加算や減算、平均演算等)を施したり、特定の関数で変換したデータファイル等を用いても良い。BFはKFの生成及び後述するLFの生成に必要なファイルであるが、送信者が故意、過失等によりBFを漏らさない限り送信相手や第三者に知られる虞はない。即ち、KFを知り得るのは送信相手のみであり、KFからBFは知り得ない。また、Mの暗号化の度に異なるBFを指定したり又は選定することでBFを使い捨てパッドとして使用できる(BFの変更に伴ってKFも変化する。)。  Also, the type or format of the file type related to BF is not limited. For example, a text file or an image file can be used. Using a data file generated using a random number generation function, a predetermined operation (for example, addition, subtraction, average operation, etc.) based on a plurality of data files, or a data file converted by a specific function Also good. BF is a file necessary for generating KF and generating LF, which will be described later, but there is no possibility of being known to a transmission partner or a third party as long as the sender does not leak BF intentionally or accidentally. That is, only the transmission partner can know KF, and BF cannot know from KF. Moreover, BF can be used as a disposable pad by designating or selecting a different BF for each encryption of M (KF also changes with the change of BF).

情報処理装置2は上記行列TCを予め有しており、BF、OFからKFを生成するとともに、BF及びTCから第四ファイル「LF」を生成するファイル生成手段2aを備えている。そして、装置2はKFを用いてMを暗号化する暗号化処理手段2bを有しており、KFを用いてMから暗号文データNを作成する。つまり、任意の暗号化処理を関数「F()」で表すとき、「N=F(M,KF)」により暗号化する。  The information processing apparatus 2 has the matrix TC in advance, and includes file generation means 2a that generates KF from BF and OF and generates a fourth file “LF” from BF and TC. The device 2 has encryption processing means 2b that encrypts M using KF, and creates ciphertext data N from M using KF. That is, when an arbitrary encryption process is expressed by the function “F ()”, encryption is performed by “N = F (M, KF)”.

例えば、任意の演算記号を「*」で表し、Mに係るデータ長又はファイルサイズよりもKFのデータ長又はファイルサイズの方が長いものとして(このことは、KFの要素データを周期的に繰り返したものや所定の演算規則に従ってデータを付加してサイズ拡張したものを改めてKFとして採用することにより常に保証される。)、自然数変数「i」を導入し、Mを構成する個々の要素データを「Mi」、KFを構成する個々の要素データを「KFi」と記すとき、Nを構成する個々の要素データ「Ni」を、演算式「Ni=Mi*KFi」で計算すれば良い(「*」として、例えば、排他的論理和演算や論理和、減算等が挙げられる。)。あるいは、KFを鍵データとして、既知の暗号化法を用いることも可能である。  For example, an arbitrary operation symbol is represented by “*”, and it is assumed that the data length or file size of KF is longer than the data length or file size related to M (this means that the element data of KF is periodically repeated. The data is always guaranteed by adding the data according to a predetermined operation rule and expanding the size and adopting it again as KF.), Introducing the natural number variable “i” and the individual element data constituting M When each element data constituting “Mi” and KF is denoted as “KFi”, each element data “Ni” constituting N may be calculated by an arithmetic expression “Ni = Mi * KFi” (“* "Includes, for example, exclusive OR operation, OR, subtraction, etc.). Alternatively, a known encryption method can be used with KF as key data.

情報処理装置2は送信手段2cを有していて、N及びLFは送信手段2cを介して情報処理装置3に送られ、その受信手段3aにより受信される。  The information processing apparatus 2 has a transmission means 2c, and N and LF are sent to the information processing apparatus 3 via the transmission means 2c and received by the reception means 3a.

情報処理装置3は、Nを含むファイル及びLFを受信した場合に、LF、HFから鍵ファイル「KF′」を生成する鍵生成手段3bを備えている。KF′が正しく生成された場合には、「KF′=KF」であるが、HFを知らない相手がHFとは異なるファイルを用いてKF′を生成した場合には「KF′≠KF」である。  The information processing apparatus 3 includes a key generation unit 3b that generates a key file “KF ′” from LF and HF when a file including N and LF are received. When KF ′ is correctly generated, “KF ′ = KF”, but when a partner who does not know HF generates KF ′ using a file different from HF, “KF ′ ≠ KF”. is there.

復号化処理手段3cはKF′を用いてNを復号化するものであり、暗号化時のKFと同じ内容のKF′を用いない限りNを復号化できない。つまり、Nの復号化処理を関数「G(N,KF′)」で表すとき、「M=G(F(M,KF),KF′)」として正しく復号化されるための条件は「KF′=KF」である。  The decryption processing means 3c decrypts N using KF ', and N cannot be decrypted unless KF' having the same content as KF at the time of encryption is used. That is, when the decoding process of N is expressed by the function “G (N, KF ′)”, the condition for correctly decoding as “M = G (F (M, KF), KF ′)” is “KF '= KF'.

以上のように、OFが装置3から装置2に提供され、LFとNが装置2から装置3に送信される。また、HF、BFが各装置においてそれぞれ秘蔵され、TC、KF(=KF′)が両装置間で共有される。尚、KFはBF、OFを用いて生成されるので、BFが同じでも送信相手に応じてKFが異なる。即ち、送信先に応じてBFを変更したり選択する必要がないので、送信者は1つのBFを常用できるが、勿論、状況や必要に応じてBFを変えても良い。また上記の例に限らずLFを公開しておけば、これをNと一緒に送信したり記録する必要がなくなる。  As described above, OF is provided from the device 3 to the device 2, and LF and N are transmitted from the device 2 to the device 3. Also, HF and BF are treasured in each device, and TC and KF (= KF ′) are shared between both devices. Since KF is generated using BF and OF, even if BF is the same, KF differs depending on the transmission partner. That is, since it is not necessary to change or select the BF according to the transmission destination, the sender can use one BF regularly. Of course, the BF may be changed according to the situation and necessity. If the LF is made public, not limited to the above example, it is not necessary to transmit or record it together with N.

図2は、送受信処理例の説明図であり、送信者Aから受信者Bへのデータ伝送を示している。  FIG. 2 is an explanatory diagram of a transmission / reception processing example, and shows data transmission from the sender A to the receiver B.

但し、受信者BのファイルOFは公開されるものとする。尚、行列TCは正則でない(つまり、行列式の値がゼロである。)。また、ファイル「X」に対して「T(X)」はファイルXのデータを要素として構成される行列(群)であって、TCと同次元の行列を意味する。「・」は行列の積演算を示す。  However, the file OF of the recipient B is made public. Note that the matrix TC is not regular (that is, the value of the determinant is zero). For the file “X”, “T (X)” is a matrix (group) composed of the data of the file X as an element, and means a matrix having the same dimension as TC. “·” Indicates a matrix product operation.

処理手順は下記の通りである。  The processing procedure is as follows.

(1)Bは、TCと秘密ファイルHFを用いてOFを生成してOFを公開する。計算式は「T(OF)=TC・T(HF)」
(2)Aは、BFと相手BのOFを用いて鍵KFを生成する。計算式は、「T(KF)=T(BF)・T(OF)」
(3)Aは、KFを使って平文Mを暗号化してNを生成する(例えば、演算「M*KF」)。そして、BF、TCからLFを生成する。計算式は「T(LF)=T(BF)・TC」
(4)Aは、LFとNを相手Bに送る(又はLFを公開済みであれば、NだけをBに送る)
(5)Bは、LFとHFを用いてKF′を生成する。計算式は、「T(KF′)=T(LF)・T(HF)」
(6)Bが正しい相手であれば、「T(KF′)=T(KF)」となるので、KF′を使ってNをMに復号する(演算「N*KF′」)。
本例では、上記した「(その1)」において、第二ファイルがOFで、第三ファイルがBFであるが、上記「(その2)」の場合には、Mのデータに基づく行列Tm=T(M)を用いて、「T(KF)=T(BF)・T(M)・T(OF)」から鍵を計算すれば良い(鍵がMの内容に依存して変化する。)。
(1) B generates an OF using the TC and the secret file HF and publishes the OF. The calculation formula is “T (OF) = TC · T (HF)”.
(2) A generates a key KF using the BF and the partner B's OF. The calculation formula is “T (KF) = T (BF) · T (OF)”.
(3) A encrypts plaintext M using KF to generate N (for example, operation “M * KF”). Then, LF is generated from BF and TC. The calculation formula is “T (LF) = T (BF) · TC”.
(4) A sends LF and N to partner B (or sends LF only to B if LF has been disclosed)
(5) B generates KF ′ using LF and HF. The calculation formula is “T (KF ′) = T (LF) · T (HF)”.
(6) If B is the correct partner, since “T (KF ′) = T (KF)”, N is decoded into M using KF ′ (operation “N * KF ′”).
In this example, in the above “(Part 1)”, the second file is OF and the third file is BF. In the case of “(Part 2)”, the matrix Tm = The key may be calculated from “T (KF) = T (BF) · T (M) · T (OF)” using T (M) (the key changes depending on the contents of M). .

A、B間の伝送経路から第三者が取得できる情報は、OF、LF、Nであるが、これらからKFを生成することはできない。また、BF、HFはA、B間で伝送されないので、第三者は知り得ない。尚、多人数の間で通信を行う場合には、行列TCとして全員で同じものを使うか、あるいは所属するグループ毎に異なる行列(正則でない行列)を用いれば良い。また、送信者と受信者で異なる非正則行列を使用する等、各種の実施態様が可能である。  Information that can be acquired by the third party from the transmission path between A and B is OF, LF, and N, but KF cannot be generated from these. Moreover, since BF and HF are not transmitted between A and B, a third party cannot know. When communication is performed among a large number of people, the same matrix TC may be used by all members, or a different matrix (non-regular matrix) may be used for each group to which the user belongs. Various embodiments are possible, such as using different irregular matrices for the sender and receiver.

正則でない行列TCを用いることにより、OFからHFを、LFからBFが求められないので安全である。また、行列の積演算を用いて各ファイルを高速に生成できる。例えば、行列TCijが2行2列の場合、3数a、b、cを用いて、TC11=a、TC12=b、TC21=c・a、TC22=c・bとすればよく、ファイル「X」の構成データを要素とする行列を「[X]jk」と記すとき、「[TC・X]ik=TCij・Xjk」により計算できる(i,j,kはいずれも自然数を示し、アインシュタインの規約で表している。)。また、この表記法によれば、例えば、上記の「T(OF)=TC・T(HF)」は「[OF]ik=TCij・[HF]jk」であり、「T(KF)=T(BF)・T(OF)」は「[KF]ik=[BF]ij・[OF]jk」である。演算結果である行列要素をデータ列として時系列に並べた数値により各ファイルが構成される(行列の積演算には、行数×列数のデータが必要であり、ファイルのデータ数がその倍数でないために、必要なデータが不足する場合には、予め決められた値(ゼロやダミー値等)を付加して計算すれば良い。)。  By using a non-regular matrix TC, it is safe because HF cannot be obtained from OF and BF cannot be obtained from LF. In addition, each file can be generated at high speed using matrix product operation. For example, when the matrix TCij is 2 rows and 2 columns, the three numbers a, b, and c are used, and TC11 = a, TC12 = b, TC21 = c · a, TC22 = c · b, and the file “X "[X] jk" can be calculated by "[TC · X] ik = TCij · Xjk" (i, j, k are natural numbers, and Einstein's It is expressed by convention.) Further, according to this notation, for example, the above “T (OF) = TC · T (HF)” is “[OF] ik = TCij · [HF] jk”, and “T (KF) = T (BF) · T (OF) ”is“ [KF] ik = [BF] ij · [OF] jk ”. Each file is composed of numerical values in which the matrix elements that are the operation results are arranged in time series as data columns. (The product of the matrix requires data of the number of rows x the number of columns, and the number of data in the file is a multiple of that. Therefore, when necessary data is insufficient, a predetermined value (zero, dummy value, etc.) may be added and calculated.

尚、上記の例では説明の便宜上、装置2の使用者Aから装置3の使用者Bへの一方向性伝送を想定したが、双方向性伝送を行う場合には、勿論、装置2、3の両機能を備えた装置構成を用いれば良い。この場合、Aは、BFと異なる秘蔵ファイル「HF′」とTCを用いてファイルOF′を生成して公開しておけば良い(処理は上記の説明と同様である。)。あるいはHF′としてBFを用いても良い。この場合に、「Xa=T(BF)」と記すと、「Y1a=T(OF′)=TC・Xa」を計算して、OF′を公開すれば良い。「Y2a=T(LF)=Xa・TC」として、LFをOF′とともに公開する場合には、AはY1a、Y2aを計算して公開する。他方、「Xb=T(HF)」、「Y1b=T(OF)=TC・Xb」と記すとき、Bは「Y2b、=Xb・TC」を計算して、これをY1bとともに公開すれば良い。AからBへのMの暗号化に用いるKFを「KF1」と記し、BからAへのMの暗号化に用いるKFを「KF2」と記すと、一般に両ファイルが異なる。つまり、「KF1=Xa・Y1b=Xa・TC・Xb」、「KF2=Xb・Y1a=Xb・TC・Xa」である。よって、A、Bの間で2種類の鍵ファイルを共有できるので、用途や状況に応じて各鍵ファイルを使い分けることができる。例えば、一方の鍵ファイルがA、B間で共有された後に、該鍵ファイルを使ってY2a又はY2bを暗号化して受け渡すことにより、他方の鍵ファイルを安全に共有できる。よって、仮に一方の鍵ファイルが第三者に発覚しても、他方の鍵ファイルが残っている(鍵ファイルが一つの場合にはHFやBFを変更する必要が生じる。)。  In the above example, for convenience of explanation, unidirectional transmission from the user A of the device 2 to the user B of the device 3 is assumed. However, when performing bidirectional transmission, of course, the devices 2, 3 are used. A device configuration having both functions may be used. In this case, A may generate and publish the file OF ′ using the secret file “HF ′” and TC different from BF (the process is the same as described above). Alternatively, BF may be used as HF ′. In this case, if “Xa = T (BF)” is described, “Y1a = T (OF ′) = TC · Xa” may be calculated and OF ′ may be disclosed. When LF is disclosed together with OF ′ as “Y2a = T (LF) = Xa · TC”, A calculates and publishes Y1a and Y2a. On the other hand, when “Xb = T (HF)” and “Y1b = T (OF) = TC · Xb” are described, B calculates “Y2b, = Xb · TC” and publishes it together with Y1b. . If the KF used for the encryption of M from A to B is denoted as “KF1” and the KF used for the encryption of M from B to A is denoted as “KF2”, both files are generally different. That is, “KF1 = Xa · Y1b = Xa · TC · Xb” and “KF2 = Xb · Y1a = Xb · TC · Xa”. Therefore, since two types of key files can be shared between A and B, each key file can be used properly according to the usage and situation. For example, after one key file is shared between A and B, the other key file can be securely shared by encrypting and passing Y2a or Y2b using the key file. Therefore, even if one key file is discovered by a third party, the other key file remains (if there is only one key file, it is necessary to change HF or BF).

あるいは、両方の鍵ファイルを使うことによって2重鍵を実現することができ、例えば、1回目の暗号化を第一の鍵ファイルで行った後、2回目の暗号化を第二の鍵ファイルで行えるので、さらに強度が増す。
尚、上記では、積演算と加算演算の組み合わせからなる行列演算を例示したが、これに限らず、例えば、論理積演算と排他的論理和演算の組み合わせによって行列演算を定義する形態(積演算を論理積演算に、加算演算を排他的論理和演算にそれぞれ置換すれば良い。)。
本発明に係る鍵共有方法によれば、3者以上の間で鍵ファイルを共用することができ(例えば、3人の場合には、KF=Xc・TC・Xb・TC・Xa等。)、一般にN人ではN!通りの鍵ファイルを利用することが可能である。
この他には、上記BFとTCとの積、あるいは、BF、M、TCの積を計算して鍵ファイルを生成する形態も可能である。但し、この場合にはHFのデータに基づく行列が正則行列である必要があり、該行列の逆行列が求まることが要点となる。
例えば、上記した「(その3)」の場合には、Aが「T(KF)=T(BF)・TC」を計算し、「T(BF)・(TC・T(HF))」をNと一緒にBに送る。Bは、T(HF)の逆行列「IT(HF)」を用いて、「T(BF)・(TC・T(HF))・IT(HF)=T(BF)・TC」から鍵を得ることができる。
また、上記した「(その4)」の場合には、Aが「T(KF)=T(BF)・T(M)・TC」を計算し、Aが「T(BF)・T(M)・(TC・T(HF))」をNと一緒にBに送る。Bは、T(HF)の逆行列「IT(HF)」を用いて、「T(BF)・T(M)・(TC・T(HF))・IT(HF)=T(BF)・T(M)・TC”から鍵を得ることができる。
以上に説明した内容は、m×mの正方行列による演算に限らず、m×n行列(mとnが異なる行列)にも適用可能である。例えば、行列TCがm×n行列であり、HF、BFのデータで構成される行列T(HF)、T(BF)がn×m行列である場合に、Bはm×n行列TCと、自分のHFに基づく行列T(HF)との積を求め、m×m行列から得られるファイルを公開する。Aは、このm×mの行列と、自分のBFに基づく行列T(BF)との積を求め、n×m行列から鍵を生成する。そして、この鍵を使って暗号化する。T(BF)とm×n行列TCとの積を求め、このn×n行列から得られるファイルを、NとともにBに送る。Bは受けとったファイルに基づくn×n行列と、自分のT(HF)との積からn×m行列を求めて、鍵を生成して、これを使ってNを復号化することができる。
尚、m×n行列において、mとnが異なる行列は、特定の行又は列の要素が全てゼロである正方行列とみなすことができるので、本質的には上記内容と同じであることが理解される。従って、正方行列において、N個の列又は行のうち独立なものをn個とした場合に全体の「n/N」のデータを交換すれば良く、これにより送信量を低減できる。
Alternatively, a double key can be realized by using both key files. For example, after the first encryption is performed with the first key file, the second encryption is performed with the second key file. Since it can be done, the strength is further increased.
In addition, although the matrix operation which consists of the combination of product operation and addition operation was illustrated in the above, it is not restricted to this, For example, the form (matrix operation is defined by the combination of logical product operation and exclusive OR operation). The addition operation may be replaced with the exclusive OR operation for the logical product operation.)
According to the key sharing method according to the present invention, a key file can be shared among three or more parties (for example, in the case of three people, KF = Xc · TC · Xb · TC · Xa etc.). Generally N people are N! It is possible to use a street key file.
In addition, it is possible to generate the key file by calculating the product of BF and TC or the product of BF, M, and TC. However, in this case, the matrix based on the HF data needs to be a regular matrix, and it is important to obtain an inverse matrix of the matrix.
For example, in the case of “(3)” described above, A calculates “T (KF) = T (BF) · TC”, and “T (BF) · (TC · T (HF))” is calculated. Send to B along with N. B uses the inverse matrix “IT (HF)” of T (HF) and uses “T (BF) · (TC · T (HF)) · IT (HF) = T (BF) · TC” as a key. Can be obtained.
In the case of “(No. 4)”, A calculates “T (KF) = T (BF) · T (M) · TC”, and A is “T (BF) · T (M ) · (TC · T (HF)) ”is sent to B together with N. B is obtained by using the inverse matrix “IT (HF)” of T (HF), “T (BF) · T (M) · (TC · T (HF)) · IT (HF) = T (BF) · The key can be obtained from T (M) · TC ".
The contents described above can be applied not only to calculation by an m × m square matrix but also to an m × n matrix (a matrix in which m and n are different). For example, when the matrix TC is an m × n matrix and the matrices T (HF) and T (BF) composed of HF and BF data are n × m matrices, B is an m × n matrix TC, Find the product of the matrix T (HF) based on your HF and publish the file obtained from the m × m matrix. A calculates a product of this m × m matrix and a matrix T (BF) based on its own BF, and generates a key from the n × m matrix. And it encrypts using this key. A product of T (BF) and an m × n matrix TC is obtained, and a file obtained from the n × n matrix is sent to B together with N. B can obtain an n × m matrix from the product of the n × n matrix based on the received file and its own T (HF), generate a key, and use this to decrypt N.
In the m × n matrix, a matrix in which m and n are different can be regarded as a square matrix in which all elements in a specific row or column are all zero, so it is understood that the matrix is essentially the same as described above. Is done. Accordingly, when the number of N columns or rows in the square matrix is n, the entire “n / N” data may be exchanged, thereby reducing the transmission amount.

次に、平文Mのファイル認証について説明する。
Aが平文Mに署名してBが検証する場合、下記の手順をとる。ここでは、Y1aが公開されているとして、Mに関する署名ファイルを「S」と記す。
Next, file authentication of plaintext M will be described.
When A signs plaintext M and B verifies, the following procedure is taken. Here, it is assumed that Y1a is open to the public, and the signature file related to M is denoted as “S”.

(1)Aは、「T(S)=Xa・TC・T(M)」を計算してSを生成する
(2)Aは、MとSをBに送る
(3)Bは、M、TC、Y1aから、「Z1=Y1a・TC・T(M)=TC・Xa・TC・T(M)」を求め、TC、Sから「Z2=TC・T(S)=TC・Xa・TC・T(M)」を求める
(4)Bは、「Z1=Z2」であるか否かを調べる
(5)「Z1=Z2」ならばAの署名が正しく検証されるが、「Z1≠Z2」ならばA以外の署名、Mの改竄の可能性がある。
(1) A calculates “T (S) = Xa · TC · T (M)” and generates S. (2) A sends M and S to B. (3) B is M, From TC and Y1a, “Z1 = Y1a · TC · T (M) = TC · Xa · TC · T (M)” is obtained, and from TC and S, “Z2 = TC · T (S) = TC · Xa · TC”. (4) B checks whether “Z1 = Z2” (5) If “Z1 = Z2”, the signature of A is correctly verified, but “Z1 ≠ Z2” ", There is a possibility of falsification of signatures other than A and M.

SがMに関するAの署名でない場合には、Z2においてXaが違い、また、Mが改竄された場合には、Z1においてT(M)が違うので、いずれの場合も「Z1≠Z2」となる。
尚、本例では、「T(S)=Xa・TC・T(M)」を計算してSを生成したが、「T(S)=Xa・T(M)・TC」を計算してSを生成しても構わない。
If S is not A's signature on M, Xa is different in Z2, and if M is tampered, T (M) is different in Z1, so in each case “Z1 ≠ Z2”. .
In this example, “T (S) = Xa · TC · T (M)” is calculated to generate S, but “T (S) = Xa · T (M) · TC” is calculated. S may be generated.

このような署名法を用いることで、平文や暗号文あるいは鍵生成のための上記Y2aやY2b等を互いに検証し合えるようになる。尚、Mのデータ長が長い場合には、T(M)の代わりに、メッセージダイジェスト関数やMのハッシュ値を要素とする行列を用いれば良い。
図3に示すように、Sは装置2のファイル生成手段2dで作成され、受信されたMやSの検証は装置3の署名検証手段3dにより行われる。
署名ファイルとして、鍵ファイルの生成に必要なファイルを用いるのが、伝送情報量の削減及び時間の節約に有効である。
例えば、送信者Aが署名「T(S)=Xa・T(M)・TC」を検証者Bに送る場合には、「T(KF)=Xa・T(M)・TC・Xb」によってお互いに鍵ファイルを共有できる。
処理手順は下記の通りである。
(1)Aは、「T(S)=Xa・T(M)・TC」を計算してSを生成するとともに、「T(KF)=Xa・T(M)・TC・Xb」から鍵を生成してMを暗号化する(Nの生成)
(2)Aは、NとSをBに送る
(3)Bは、SとXbから「T(S)・Xb=(Xa・T(M)・TC)・Xb」を計算して鍵を得て、Nを復号化してMを得る。M、TC、Y1aから、「Z1=Y1a・T(M)・TC=TC・Xa・T(M)・TC」を求め、TC、Sから「Z2=TC・T(S)=TC・Xa・T(M)・TC」を求める
(4)Bは、「Z1=Z2」であるか否かを調べる
(5)「Z1=Z2」ならばAの署名が正しく検証されるが、「Z1≠Z2」ならばA以外の署名、N、Mに改竄の可能性がある。
あるいは、別例として、Aが署名「T(S)=Xa・T(M)・TC・Xb」を検証者Bに送る場合(但し、「Xb」は正則行列とする。)には、「T(KF)=Xa・T(M)・TC」によってお互いに鍵を共有できる。
本例において、上記した処理手順との相違点は、下記の通りである。
(1’)Aは、「T(S)=Xa・T(M)・(TC・Xb)」を計算してSを生成するとともに、「T(KF)=Xa・T(M)・TC」から鍵を生成してMを暗号化する(Nの生成)
(3’)Bは、Sと、Xbの逆行列NXaから「T(S)・N・Xb=Xa・T(M)・TC」を計算して鍵ファイルを得て、Nを復号化してMを得る。M、TC、Y1a、Xbから、「Z1=Y1a・T(M)・TC・Xb=TC・Xa・T(M)・TC・Xb」を求め、TC、Sから「Z2=TC・T(S)=TC・Xa・T(M)・TC・Xb」を求める。
ステップ(2)、(4)、(5)については上記と同じである。
By using such a signature method, Y2a, Y2b, etc. for generating plaintext, ciphertext, or key can be mutually verified. When the data length of M is long, a message digest function or a matrix having M hash values as elements may be used instead of T (M).
As shown in FIG. 3, S is created by the file generation unit 2 d of the apparatus 2, and the received M and S are verified by the signature verification unit 3 d of the apparatus 3.
Using a file necessary for generating a key file as a signature file is effective in reducing the amount of transmission information and saving time.
For example, when the sender A sends the signature “T (S) = Xa · T (M) · TC” to the verifier B, “T (KF) = Xa · T (M) · TC · Xb” You can share key files with each other.
The processing procedure is as follows.
(1) A calculates “T (S) = Xa · T (M) · TC” to generate S, and also uses “T (KF) = Xa · T (M) · TC · Xb” as a key. Generate M and encrypt M (Generate N)
(2) A sends N and S to B. (3) B calculates “T (S) · Xb = (Xa · T (M) · TC) · Xb” from S and Xb And N is decoded to obtain M. From “M, TC, Y1a”, “Z1 = Y1a · T (M) · TC = TC · Xa · T (M) · TC” is obtained, and “Z2 = TC · T (S) = TC · Xa” is obtained from TC and S. (4) B checks whether “Z1 = Z2” (5) If “Z1 = Z2”, the signature of A is correctly verified, but “Z1 If “≠ Z2”, signatures other than A, N, and M may be altered.
Alternatively, as another example, when A sends a signature “T (S) = Xa · T (M) · TC · Xb” to the verifier B (where “Xb” is a regular matrix), T (KF) = Xa · T (M) · TC ”can share a key with each other.
In this example, the difference from the processing procedure described above is as follows.
(1 ′) A calculates “T (S) = Xa · T (M) · (TC · Xb)” to generate S, and “T (KF) = Xa · T (M) · TC ”To generate a key and encrypt M (Generate N)
(3 ′) B calculates “T (S) · N · Xb = Xa · T (M) · TC” from the inverse matrix NXa of S and Xb, obtains a key file, decrypts N Get M. From “M, TC, Y1a, Xb”, “Z1 = Y1a · T (M) · TC · Xb = TC · Xa · T (M) · TC · Xb” is obtained, and “Z2 = TC · T ( S) = TC · Xa · T (M) · TC · Xb ”.
Steps (2), (4), and (5) are the same as described above.

KFを用いたMの暗号化には如何なる方法を使用しても良い。例えば、KFのうち所定の鍵長をもつデータを生成してこれを鍵データとして既知の共通鍵暗号を使用する方法や、Mに対して所定の演算処理を施す方法(減算や排他的論理和等)、Mを複数の成分データからなる構成ファイル(又は成分ファイル)に分割してから、KFを用いて各構成ファイルをそれぞれに暗号化する方法、上記した鍵ファイルを乱数表として利用する方法等を用いることができる。  Any method may be used for encryption of M using KF. For example, a method of generating data having a predetermined key length in KF and using a known common key encryption as the key data, or a method of performing a predetermined arithmetic process on M (subtraction or exclusive OR) Etc.), a method in which M is divided into configuration files (or component files) composed of a plurality of component data, and then each configuration file is encrypted using KF, and a method in which the above key file is used as a random number table. Etc. can be used.

尚、情報処理装置3において、Nを受信した場合には予め設定されたパスワードの入力により特定され又は選択されるHFや既存のKFが読み出されて、Nが復号化されるように構成する。このパスワードは互いの装置間で伝送されないので安全であり、該パスワードを用いてHFを暗号化しておくことが好ましい。  The information processing apparatus 3 is configured such that when N is received, the HF or existing KF specified or selected by inputting a preset password is read and N is decrypted. . This password is safe because it is not transmitted between the devices, and it is preferable to encrypt the HF using the password.

また、データ記録再生系の処理装置への適用においては、図1に示す情報処理装置2を記録装置とし、情報処理装置3を再生装置とすれば良い。つまり、情報処理装置2において送信手段2cを記録手段に置換することで、N又はN及びLFを記憶媒体(半導体メモリ等)又は記録媒体(光学式ディスク状媒体や磁気式テープ状媒体等)に記録する。そして、装置3において受信手段3aを再生手段に置換し、記憶媒体又は記録媒体からN又はN及びLFを再生してKFを生成する。そして、KFでNを復号化してMを得る。記憶媒体又は記録媒体を第三者が取得しても、KFが得られない限りNを復号できないので、不正なコピー等が制限される。
以上に説明した、本発明に係る鍵共有の一般的条件は以下の通りである。
(1)元「TC」が逆元をもたないこと
(2)演算規則として結合律が成立すること(つまり、元X、TC、Yにおいて、「Y・(TC・X)=(Y・TC)・X」が成立すること)。
In addition, in the application of the data recording / reproducing system to a processing apparatus, the information processing apparatus 2 shown in FIG. 1 may be a recording apparatus and the information processing apparatus 3 may be a reproducing apparatus. That is, by replacing the transmission means 2c with the recording means in the information processing apparatus 2, N or N and LF are replaced with a storage medium (semiconductor memory or the like) or a recording medium (optical disk-like medium or magnetic tape-like medium). Record. In the apparatus 3, the receiving means 3a is replaced with a reproducing means, and N or N and LF are reproduced from the storage medium or the recording medium to generate KF. Then, M is obtained by decoding N with KF. Even if a third party obtains the storage medium or recording medium, N cannot be decrypted unless KF is obtained, so that unauthorized copying or the like is restricted.
The general conditions for key sharing according to the present invention described above are as follows.
(1) The element “TC” has no inverse element. (2) The associative rule is established as an operation rule (that is, in the elements X, TC, and Y, “Y · (TC · X) = (Y · TC) · X ”is established).

本発明に係る鍵共有及び暗号システムの基本構成例を示す機能ブロック図。  1 is a functional block diagram showing a basic configuration example of a key sharing and encryption system according to the present invention. 本発明に係る処理例の説明図。  Explanatory drawing of the process example which concerns on this invention. 本発明に係るファイル認証システムの基本構成例を示す機能ブロック図。  The functional block diagram which shows the basic structural example of the file authentication system which concerns on this invention.

符号の説明Explanation of symbols

1…システム、2…第一の情報処理装置、2a…ファイル生成手段、2b…暗号化処理手段、3…第二の情報処理装置、3b…鍵生成手段、3c…復号化処理手段、3d…署名検証手段3d  DESCRIPTION OF SYMBOLS 1 ... System, 2 ... 1st information processing apparatus, 2a ... File generation means, 2b ... Encryption processing means, 3 ... 2nd information processing apparatus, 3b ... Key generation means, 3c ... Decryption processing means, 3d ... Signature verification means 3d

Claims (3)

セキュリティ用の鍵を共有する鍵共有システムにおいて、
第一ファイルのデータを要素とする行列と、予め決められた正則でない行列との演算によって生成される第二ファイルを用いること、
第三ファイルのデータを要素とする行列と上記第二ファイルのデータを要素とする行列との演算又は第三ファイルのデータを要素とする行列と上記予め決められた正則でない行列との演算によって上記鍵を生成する
ことを特徴とする鍵共有システム。
In a key sharing system that shares a security key,
Using a second file generated by an operation of a matrix having data of the first file as an element and a predetermined non-regular matrix;
The above calculation is performed by calculating a matrix having the data of the third file as an element and a matrix having the data of the second file as an element, or by calculating a matrix having the data of the third file as an element and the predetermined irregular matrix. A key sharing system characterized by generating a key.
共有鍵を用いて暗号化及び復号化を行う暗号システムにおいて、
(あ)第一ファイルのデータを要素とする行列と、予め決められた正則でない行列との演算によって生成される第二ファイルを用いること、
(い)下記に示すいずれかの演算によって上記共有鍵を生成すること、
(いの1)第三ファイルのデータを要素とする行列と、上記第二ファイルのデータを要素とする行列との演算
(いの2)第三ファイルのデータを要素とする行列と、平文データを要素とする行列と、上記第二ファイルのデータを要素とする行列との演算
(いの3)第三ファイルのデータを要素とする行列と、上記正則でない行列との演算
(いの4)第三ファイルのデータを要素とする行列と、平文データを要素とする行列と、上記正則でない行列との演算
(う)上記共有鍵を用いて平文データの暗号化処理及び暗号文データの復号化処理を行う ことを特徴とする暗号システム。
In an encryption system that performs encryption and decryption using a shared key,
(A) using a second file generated by calculating a matrix having the data of the first file as an element and a predetermined non-regular matrix;
(Ii) generating the shared key by any of the following operations;
(No. 1) Operation of a matrix having the data of the third file as an element and a matrix having the element of the data of the second file as described above (No. 2) A matrix having the data of the third file as an element and plaintext data Of the matrix with the elements of the second file and the matrix of the data of the second file (No. 3) Calculation of the matrix of the elements of the third file and the non-regular matrix (No. 4) Operation of a matrix having the data of the third file as an element, a matrix having the plaintext data as an element, and the non-regular matrix (U) Encryption processing of plaintext data and decryption of ciphertext data using the shared key A cryptographic system characterized by processing.
ファイル認証システムにおいて、
(あ)第一のファイルのデータを要素とする行列と、予め決められた正則でない行列と、検証対象となるファイルのデータを要素とする行列との演算によって生成される署名ファイルを用いるとともに、上記予め決められた正則でない行列と、上記第一のファイルのデータを要素とする行列との演算によって第二のファイルを生成して受信側で該第二のファイルを取得可能にすること、
(い)検証対象となるファイルのデータ及び上記署名ファイルを送信すること、
(う)上記検証対象となるファイル及び上記署名ファイルを受け取る受信側では、上記第二のファイルのデータを要素とする行列と、上記予め決められた正則でない行列と、検証対象となるファイルのデータを要素とする行列との演算によって第三のファイルを生成すること及び上記予め決められた正則でない行列と、上記署名ファイルのデータを要素とする行列との演算によって第四のファイルを生成すること、
(え)上記第三のファイルのデータと第四のファイルのデータが一致するか否かを検証すること、
を特徴とするファイル認証システム。
In the file authentication system,
(A) using a signature file generated by the operation of a matrix having the data of the first file as an element, a predetermined non-regular matrix, and a matrix having the data of the file to be verified as an element, Generating a second file by the operation of the predetermined non-regular matrix and a matrix having the data of the first file as an element so that the second file can be acquired on the receiving side;
(I) sending the data of the file to be verified and the signature file;
(C) On the receiving side that receives the file to be verified and the signature file, the matrix having the data of the second file as an element, the predetermined non-regular matrix, and the data of the file to be verified To generate a third file by calculating with a matrix having elements as, and generating a fourth file by calculating with the predetermined non-regular matrix and a matrix having elements of the signature file as elements. ,
(E) verifying whether the data of the third file and the data of the fourth file match,
File authentication system.
JP2004120886A 2004-03-20 2004-03-20 Key sharing system, encryption system and file authentication system Pending JP2005269587A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004120886A JP2005269587A (en) 2004-03-20 2004-03-20 Key sharing system, encryption system and file authentication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004120886A JP2005269587A (en) 2004-03-20 2004-03-20 Key sharing system, encryption system and file authentication system

Publications (1)

Publication Number Publication Date
JP2005269587A true JP2005269587A (en) 2005-09-29

Family

ID=35093594

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004120886A Pending JP2005269587A (en) 2004-03-20 2004-03-20 Key sharing system, encryption system and file authentication system

Country Status (1)

Country Link
JP (1) JP2005269587A (en)

Similar Documents

Publication Publication Date Title
US10785019B2 (en) Data transmission method and apparatus
JP5562687B2 (en) Securing communications sent by a first user to a second user
US8229112B2 (en) Decipherable searchable encryption method, system for such an encryption
CN113259329B (en) Method and device for data careless transmission, electronic equipment and storage medium
EP2361462B1 (en) Method for generating an encryption/decryption key
JP6363032B2 (en) Key change direction control system and key change direction control method
CN109543434B (en) Block chain information encryption method, decryption method, storage method and device
US7894608B2 (en) Secure approach to send data from one system to another
US20010014156A1 (en) Common key generating method, common key generator, cryptographic communication method and cryptographic communication system
KR101516114B1 (en) Certificate-based proxy re-encryption method and its system
CN116830523A (en) threshold key exchange
JP2005252384A (en) Encrypted data storage server system, encrypted data storage method, and re-encryption method
JP2001211154A (en) Secret key generating method, ciphering method, and cipher communication method
JPH11143359A (en) Enciphering device, decoding device, information sharing device, enciphering method, decoding method, information processing method, and recording medium
US20010009583A1 (en) Secret key registration method, secret key register, secret key issuing method, cryptographic communication method and cryptographic communication system
JP5643251B2 (en) Confidential information notification system, confidential information notification method, program
JP2006203739A (en) Encryption method, and apparatus and program utilizing its method
US7327845B1 (en) Transmission of encrypted messages between a transmitter and a receiver utilizing a one-time cryptographic pad
CN113141249B (en) Threshold decryption method, system and readable storage medium
JP2005269587A (en) Key sharing system, encryption system and file authentication system
JP4000899B2 (en) Cryptographic method with authentication, decryption method and device with authentication, program, and computer-readable recording medium
Krishna A randomized cloud library security environment
JP2007006319A (en) Key exchange system, terminal, and program
Nagde et al. New Approach for Data Encryption using Two Way Crossover
KR101241829B1 (en) Id-based signcryption method including ciphertext unlinkability and ciphertext authentication