JP2005114870A - 暗号通信システム - Google Patents
暗号通信システム Download PDFInfo
- Publication number
- JP2005114870A JP2005114870A JP2003346297A JP2003346297A JP2005114870A JP 2005114870 A JP2005114870 A JP 2005114870A JP 2003346297 A JP2003346297 A JP 2003346297A JP 2003346297 A JP2003346297 A JP 2003346297A JP 2005114870 A JP2005114870 A JP 2005114870A
- Authority
- JP
- Japan
- Prior art keywords
- message
- block
- sequence
- encrypted
- bits
- 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
Links
Images
Abstract
【課題】電子データを暗号化して送受信する通信システムにおける暗号の強化。
【解決手段】本発明の暗号通信システムでは、ブロックサイファを用いてメッセージMを暗号化する時に、各ブロックに送信者端末110と受信者端末150で共有する数列Pを添加して、暗号化メッセージ生成処理120で暗号に変換して送信する。そして、受信者端末で復号してもとのメッセージを得る際に、メッセージ復元・認証処理160で数列部分が数列Pと等しいことを確認する。このため、従来技術の乱数を添加する手法を用いた場合における、差分解読法や線形解読法などの既知の平文を用いた攻撃に強い(他人に秘密鍵の推定がされにくい)という効果に加え、第三者がかつて使われた暗号化ブロックを組み合わせて暗号化文を作り送信した場合や、ブロックの抜けや自然の誤信号の混入などのエラーを検知できるようになり、暗号鍵の安全性が高まった。
【選択図】図1
【解決手段】本発明の暗号通信システムでは、ブロックサイファを用いてメッセージMを暗号化する時に、各ブロックに送信者端末110と受信者端末150で共有する数列Pを添加して、暗号化メッセージ生成処理120で暗号に変換して送信する。そして、受信者端末で復号してもとのメッセージを得る際に、メッセージ復元・認証処理160で数列部分が数列Pと等しいことを確認する。このため、従来技術の乱数を添加する手法を用いた場合における、差分解読法や線形解読法などの既知の平文を用いた攻撃に強い(他人に秘密鍵の推定がされにくい)という効果に加え、第三者がかつて使われた暗号化ブロックを組み合わせて暗号化文を作り送信した場合や、ブロックの抜けや自然の誤信号の混入などのエラーを検知できるようになり、暗号鍵の安全性が高まった。
【選択図】図1
Description
本発明は、電子データを暗号化して送受信する通信システムに関するものである。
第三者に見られては困る文書を電子データとして保存する時には、データは暗号化され、パスワードを知らなければ解読できないように変換される。ここで利用される暗号技術として、現在広く使用されているのは、データを固定サイズのブロックに区切り、秘密鍵に依存した関数で暗号化する、ブロックサイファと呼ばれる暗号化方式と、データと暗号乱数列の排他的論理和を求めるストリームサイファと呼ばれる暗号化方式である。
また、インターネットを用いて電子商取引を行なう際にも、第三者に知られることなく、安全に2点A,B間で通信を行なうために、データは暗号化して伝送されている。その時に利用される暗号技術として、現在広く利用されているのは、DESやTriple DES,AESに代表される共有鍵暗号方式である。これは、通信を行なうA,B間でのみ共有している共有暗号鍵をもとに、送信するデータを第三者に分からないデータに変換する方法である。
DES(Data Encryption Standard)は、これまでアメリカ合衆国政府の国立標準研究所(NIST)が、データ暗号の標準として推奨してきた共有鍵暗号方式である。Triple DESはDESを3回繰り返すことで、その安全性を高めた暗号方式である。AES(Advanced Encryption Standard)は、DESに代わるデータ暗号の標準としてNISTが公募し、数学者J.Daemen,V.Rijmenによって開発されたRijindaelと呼ばれる暗号化方式である。これらはすべて、共有鍵を利用して、固定サイズのブロックに区切られたデータを高速に暗号化する共有鍵暗号方式であり、ブロックサイファである。この変換に必要な計算量は大変小さく、実用性が高い。
また、インターネットを用いて電子商取引を行なう際にも、第三者に知られることなく、安全に2点A,B間で通信を行なうために、データは暗号化して伝送されている。その時に利用される暗号技術として、現在広く利用されているのは、DESやTriple DES,AESに代表される共有鍵暗号方式である。これは、通信を行なうA,B間でのみ共有している共有暗号鍵をもとに、送信するデータを第三者に分からないデータに変換する方法である。
DES(Data Encryption Standard)は、これまでアメリカ合衆国政府の国立標準研究所(NIST)が、データ暗号の標準として推奨してきた共有鍵暗号方式である。Triple DESはDESを3回繰り返すことで、その安全性を高めた暗号方式である。AES(Advanced Encryption Standard)は、DESに代わるデータ暗号の標準としてNISTが公募し、数学者J.Daemen,V.Rijmenによって開発されたRijindaelと呼ばれる暗号化方式である。これらはすべて、共有鍵を利用して、固定サイズのブロックに区切られたデータを高速に暗号化する共有鍵暗号方式であり、ブロックサイファである。この変換に必要な計算量は大変小さく、実用性が高い。
しかしながら、従来の暗号方式では、データを改ざんされたり一部が無くなったりしても、気付かずに正しいデータとして使ってしまうという問題があった。また、暗号を解読しようとする際には、差分解読法や、線形解読法などの、既知の平文を暗号化させることによる攻撃がよく用いられている。すなわち攻撃する人物が、任意の文書を暗号化させられる状況では、解読に用いるデータを採取され、鍵の全数検索よりも簡単に暗号が破られるという問題があった。
これに対処する方法として、例えば特許文献1および特許文献2がある。特許文献1および特許文献2では、平文をブロックごとに区切り、各ブロックに乱数(真の意味での乱数、確率的に決まり再現性はない)を付け加え、共有鍵を用いて暗号化している。これらの方法によれば、同一の内容のブロックに対して暗号化を行なったときに、乱数部分が添付されているために、同じ鍵で暗号化しても暗号化後のブロックは毎回異なり、そのために差分解読法や線形解読法などによる共有鍵の推定が困難になるという、「共有鍵の保護」を目的とした発明である。
特開平7−28407号公報
特開平10−161535号公報
これに対処する方法として、例えば特許文献1および特許文献2がある。特許文献1および特許文献2では、平文をブロックごとに区切り、各ブロックに乱数(真の意味での乱数、確率的に決まり再現性はない)を付け加え、共有鍵を用いて暗号化している。これらの方法によれば、同一の内容のブロックに対して暗号化を行なったときに、乱数部分が添付されているために、同じ鍵で暗号化しても暗号化後のブロックは毎回異なり、そのために差分解読法や線形解読法などによる共有鍵の推定が困難になるという、「共有鍵の保護」を目的とした発明である。
しかしながら、上記の特許文献1および特許文献2の方法を用いても、第三者がかつて使われた暗号化ブロックを組み合わせて暗号化文を作り送信した場合、復号する側はそれを察知できないという問題がある。本発明の課題はこの問題を解決することである。
上記の課題を解決するために、本発明は、送信端末と受信端末との間でメッセージを暗号化して通信する暗号通信システムであって、前記送信端末には、メッセージおよび共有鍵を記憶している記憶手段と、前記記憶手段からのメッセージをnビット(n:正の整数)毎に分割したメッセージ部と数列をmビット(m:正の整数)毎に分割した数列部とからブロックを生成し、各ブロックを前記記憶手段からの共有鍵で暗号化して暗号化メッセージを生成する暗号化メッセージ生成手段と、前記暗号化メッセージをブロックごとに送信する暗号化メッセージ送信手段とを備えており、
前記受信端末には、共有鍵を記憶している記憶手段と、前記暗号化メッセージをブロックごとに受信する暗号化メッセージ受信手段と、受信した前記暗号化メッセージの各ブロックを前記記憶手段からの共有鍵で復号して、復号後のブロックの数列部と前記数列をmビット毎に分割したものとを比較して、双方が等しい場合に前記メッセージ部を得るメッセージ復元・認証手段とを備えることを特徴とする。
上述の受信側にメッセージを暗号化して送信する送信端末および送信側から暗号化されたメッセージを受信する受信端末も本発明である。
前記暗号化メッセージ生成手段は、前記記憶手段からのメッセージをnビット毎に分割したメッセージ部にmビットの0を付加したものと前記数列をn+mビット毎に分割した数列部との排他的論理和をとってn+mビットのブロックを生成し、各ブロックを前記記憶手段からの共有鍵で暗号化して暗号化メッセージを生成することもできる。
前記メッセージ復元・認証手段は、受信した前記暗号化メッセージの各ブロックを前記記憶手段からの共有鍵で復号して、復号後のブロックの末尾mビットと前記数列をn+mビット毎に分割したものの末尾mビットとを比較し、双方が等しい場合に前記復号後のブロックと前記数列をn+mビット毎に分割したものとの排他的論理和をとって、先頭nビットのメッセージ部を得ることもできる。
前記数列は予め記憶手段に格納されていることも、初期値と該初期値から数列を生成する数列生成手段から生成されることもできる。
また、前記数列は、初期値と該初期値から数列を生成する数列生成手段から生成されるとき、前記メッセージ復元・認証手段で、受信した前記暗号化メッセージの最初のブロックを前記記憶手段で復号し、該ブロックの数列部を前記初期値として、前記数列生成手段から数列を生成するとよい。
前記受信端末には、共有鍵を記憶している記憶手段と、前記暗号化メッセージをブロックごとに受信する暗号化メッセージ受信手段と、受信した前記暗号化メッセージの各ブロックを前記記憶手段からの共有鍵で復号して、復号後のブロックの数列部と前記数列をmビット毎に分割したものとを比較して、双方が等しい場合に前記メッセージ部を得るメッセージ復元・認証手段とを備えることを特徴とする。
上述の受信側にメッセージを暗号化して送信する送信端末および送信側から暗号化されたメッセージを受信する受信端末も本発明である。
前記暗号化メッセージ生成手段は、前記記憶手段からのメッセージをnビット毎に分割したメッセージ部にmビットの0を付加したものと前記数列をn+mビット毎に分割した数列部との排他的論理和をとってn+mビットのブロックを生成し、各ブロックを前記記憶手段からの共有鍵で暗号化して暗号化メッセージを生成することもできる。
前記メッセージ復元・認証手段は、受信した前記暗号化メッセージの各ブロックを前記記憶手段からの共有鍵で復号して、復号後のブロックの末尾mビットと前記数列をn+mビット毎に分割したものの末尾mビットとを比較し、双方が等しい場合に前記復号後のブロックと前記数列をn+mビット毎に分割したものとの排他的論理和をとって、先頭nビットのメッセージ部を得ることもできる。
前記数列は予め記憶手段に格納されていることも、初期値と該初期値から数列を生成する数列生成手段から生成されることもできる。
また、前記数列は、初期値と該初期値から数列を生成する数列生成手段から生成されるとき、前記メッセージ復元・認証手段で、受信した前記暗号化メッセージの最初のブロックを前記記憶手段で復号し、該ブロックの数列部を前記初期値として、前記数列生成手段から数列を生成するとよい。
また、管理者端末から複数のユーザ端末にメッセージを暗号化して送信し、前記ユーザ端末から前記管理者端末に返信メッセージを暗号化して送信する暗号通信システムであって、前記管理者端末には、メッセージ,秘密鍵および全ユーザのパスワードを記憶している記憶手段と、数列を生成するためのmビット(m:正の整数)の初期値を記憶している初期値記憶手段と、前記初期値を初項とする数列を生成する数列生成手段と、前記記憶手段からのメッセージをnビット(n:正の整数)毎に分割したメッセージ部に前記数列をmビット毎に分割した数列部を付加してn+mビットのブロックを生成し、各ブロックを前記記憶手段からの秘密鍵で暗号化して暗号化メッセージを生成する暗号化メッセージ生成手段と、前記暗号化メッセージをブロックごとに送信する暗号化メッセージ送信手段と、各ユーザからの暗号化返信メッセージをブロックごとに受信する暗号化返信メッセージ受信手段と、前記受信した最初のブロックを前記記憶手段からの秘密鍵で復号して、復号後のブロックからmビットのユーザ毎の初期値を得て、前記数列生成手段により前記ユーザ毎の初期値を初項とする返信用数列を生成する返信用数列生成手段と、受信した前記暗号化返信メッセージの各ブロックを前記記憶手段からの秘密鍵で復号して、復号後のブロックの末尾mビットの返信用数列部と前記返信用数列をmビット毎に分割したものとを比較して、双方が等しい場合に先頭nビットの返信メッセージ部を得るメッセージ復元・認証手段と、前記ユーザ毎の初期値から前記ユーザのパスワードを取り出して、前記記憶手段からの該当するユーザのパスワードと比較して、パスワードが一致する場合にユーザを認証するパスワード認証手段とを備えており、
前記ユーザ端末には、返信メッセージ,公開鍵およびユーザのパスワードを記憶している記憶手段と、前記暗号化メッセージをブロックごとに受信する暗号化メッセージ受信手段と、前記受信した最初のブロックを前記記憶手段からの公開鍵で復号して、復号後のブロックから前記mビットの初期値を得て、該初期値を初項とする数列を生成する数列生成手段と、受信した前記暗号化メッセージの各ブロックを前記記憶手段からの公開鍵で復号して、復号後のブロックの末尾mビットの数列部と前記数列をmビット毎に分割したものとを比較して、双方が等しい場合に先頭nビットのメッセージ部を得るメッセージ復元・認証手段と、前記初期値と前記記憶手段からのパスワードとからユーザ毎の初期値を生成し、前記数列生成手段により前記ユーザ毎の初期値を初項とする返信用数列を生成する返信用数列生成手段と、前記記憶手段からの返信メッセージをnビット毎に分割した返信メッセージ部に前記返信用数列をmビット毎に分割した返信用数列部を付加してn+mビットのブロックを生成し、各ブロックを前記記憶手段からの公開鍵で暗号化して暗号化返信メッセージを生成する暗号化返信メッセージ生成手段と、前記暗号化返信メッセージをブロックごとに送信する暗号化返信メッセージ送信手段とを備えることを特徴とすることもできる。
上述の、複数のユーザ端末にメッセージを暗号化して送信し、前記ユーザ端末から暗号化された返信メッセージを受信する管理者端末、および管理者端末から暗号化されたメッセージを受信し、前記管理者端末に返信メッセージを暗号化して送信するユーザ端末も本発明である。
また、上述に記載の暗号通信システム又は端末の機能をコンピュータ・システムに構築させるプログラムも、本発明である。
前記ユーザ端末には、返信メッセージ,公開鍵およびユーザのパスワードを記憶している記憶手段と、前記暗号化メッセージをブロックごとに受信する暗号化メッセージ受信手段と、前記受信した最初のブロックを前記記憶手段からの公開鍵で復号して、復号後のブロックから前記mビットの初期値を得て、該初期値を初項とする数列を生成する数列生成手段と、受信した前記暗号化メッセージの各ブロックを前記記憶手段からの公開鍵で復号して、復号後のブロックの末尾mビットの数列部と前記数列をmビット毎に分割したものとを比較して、双方が等しい場合に先頭nビットのメッセージ部を得るメッセージ復元・認証手段と、前記初期値と前記記憶手段からのパスワードとからユーザ毎の初期値を生成し、前記数列生成手段により前記ユーザ毎の初期値を初項とする返信用数列を生成する返信用数列生成手段と、前記記憶手段からの返信メッセージをnビット毎に分割した返信メッセージ部に前記返信用数列をmビット毎に分割した返信用数列部を付加してn+mビットのブロックを生成し、各ブロックを前記記憶手段からの公開鍵で暗号化して暗号化返信メッセージを生成する暗号化返信メッセージ生成手段と、前記暗号化返信メッセージをブロックごとに送信する暗号化返信メッセージ送信手段とを備えることを特徴とすることもできる。
上述の、複数のユーザ端末にメッセージを暗号化して送信し、前記ユーザ端末から暗号化された返信メッセージを受信する管理者端末、および管理者端末から暗号化されたメッセージを受信し、前記管理者端末に返信メッセージを暗号化して送信するユーザ端末も本発明である。
また、上述に記載の暗号通信システム又は端末の機能をコンピュータ・システムに構築させるプログラムも、本発明である。
本発明の暗号通信システムでは、ブロックサイファを用いて平文を暗号化する時に、各ブロックに送信者と受信者の共有する数列を添加してから変換して送信する。受信者側では復号してもとの平文を得る際に、数列部分が正しいことを確認する。このため、従来の特許文献1および特許文献2のように乱数を用いた場合における、差分解読法や線形解読法などの既知の平文を用いた攻撃に強い(他人に秘密鍵の推定がされにくい)という効果に加え、第三者がかつて使われた暗号化ブロックを組み合わせて暗号化文を作り送信した場合や、ブロックの抜けや自然の誤信号の混入などのエラーを、数列部分の確認により検知できるようになった。
このように、本発明によれば従来の方式に比べて暗号鍵の安全性を高めることができる。
このように、本発明によれば従来の方式に比べて暗号鍵の安全性を高めることができる。
本発明の暗号通信システムの実施形態を詳細に説明する。
図1は、本実施形態の暗号通信システムを用いたメッセージの送受信を示した図である。
図1において、110はメッセージ送信者の端末、150はメッセージ受信者の端末である。前提として、送信者端末110の記憶領域114には、送信するメッセージMを記憶しており、送信者端末110の記憶領域112には数列Pを、記憶領域116には共有鍵を記憶している。また、送信者端末と同じ数列Pおよび共有鍵を、受信者端末の記憶領域152,156に記憶している。ここで、共有鍵は、従来技術の共有鍵暗号方式に基づく共有鍵である。また、数列PはメッセージMに添加する特定の数列であり、メッセージの送受信ごとに異なるようにすると、より安全性が高い。数列Pは、メッセージの送受信の前にあらかじめ発生させて、送信者端末110および受信者端末150の記憶領域に記憶するようにしてもよいし、送信者端末110および受信者端末150で漸化式を共有し、初期値を別途送信するなどの方法で送信者端末110および受信者端末150で同じ数列を生成するようにしてもよい。初期値は、例えば、(1)初期値を送信側で決めて、最初に受信側に送信する又は受信側が自動推定する、(2)前回使用した続きから使う、又は初期値から次の初期値を作る手段を持たせる、(3)受信側で初期値を指定する、などの方法がある。
図1は、本実施形態の暗号通信システムを用いたメッセージの送受信を示した図である。
図1において、110はメッセージ送信者の端末、150はメッセージ受信者の端末である。前提として、送信者端末110の記憶領域114には、送信するメッセージMを記憶しており、送信者端末110の記憶領域112には数列Pを、記憶領域116には共有鍵を記憶している。また、送信者端末と同じ数列Pおよび共有鍵を、受信者端末の記憶領域152,156に記憶している。ここで、共有鍵は、従来技術の共有鍵暗号方式に基づく共有鍵である。また、数列PはメッセージMに添加する特定の数列であり、メッセージの送受信ごとに異なるようにすると、より安全性が高い。数列Pは、メッセージの送受信の前にあらかじめ発生させて、送信者端末110および受信者端末150の記憶領域に記憶するようにしてもよいし、送信者端末110および受信者端末150で漸化式を共有し、初期値を別途送信するなどの方法で送信者端末110および受信者端末150で同じ数列を生成するようにしてもよい。初期値は、例えば、(1)初期値を送信側で決めて、最初に受信側に送信する又は受信側が自動推定する、(2)前回使用した続きから使う、又は初期値から次の初期値を作る手段を持たせる、(3)受信側で初期値を指定する、などの方法がある。
送信者端末110における暗号化メッセージ生成処理120は、記憶領域112から読み出した数列Pと記憶領域116から読み出した共有鍵を用いてメッセージMをブロック単位で変換して暗号化メッセージNを生成し、記憶領域(バッファ)118に記憶する処理であり、プログラムとして実装されている。生成された暗号化メッセージNは、受信者端末150にブロック単位で送信される。
受信者端末150では、受信した暗号化メッセージNの各ブロックを、記憶領域(バッファ)158に記憶し、メッセージ復元・認証処理160によりメッセージの復元を行なう。メッセージ復元・認証処理160は、記憶領域152から読み出した数列Pと記憶領域156から読み出した共有鍵を用いて暗号化メッセージNからメッセージMを復元して記憶領域154に記憶する処理であり、プログラムとして実装されている。
以降、本実施形態の暗号強化方法の各処理を、実施例を挙げて説明する。
受信者端末150では、受信した暗号化メッセージNの各ブロックを、記憶領域(バッファ)158に記憶し、メッセージ復元・認証処理160によりメッセージの復元を行なう。メッセージ復元・認証処理160は、記憶領域152から読み出した数列Pと記憶領域156から読み出した共有鍵を用いて暗号化メッセージNからメッセージMを復元して記憶領域154に記憶する処理であり、プログラムとして実装されている。
以降、本実施形態の暗号強化方法の各処理を、実施例を挙げて説明する。
(実施例1)
実施例1は、メッセージをブロック単位で変換する際に、暗号化する各ブロックの一部に数列を入れて変換し、復号後に数列部分が正しいことを確認してから数列部分を切り捨てて元のメッセージを得ることを特徴とする暗号通信システムである。
ここでは、AESの128ビット鍵を用いて4ワードを1ブロックとして変換する共有鍵暗号方式での通信を考えた場合を例として説明する。ここで、1ワードとは32ビットの情報を指し、1ブロックとは一度に変換する情報の単位を表す。
通信を行なう2者(送信者および受信者)は、AESの変換に用いる秘密共有鍵の他に、その通信に用いる数列Pを共有している。
実施例1における暗号化メッセージ生成処理を、図2のフロー、および図4の出力図(送信者端末110側)を参照しながら説明する。なお、暗号化メッセージ生成処理は送信者端末110の作業領域で行なわれる。
(1)まず、数列Pを先頭から1ワードずつに区切り、作業領域に格納する(S202)。これをPi(i=1,2,…)とする。
(2)一方、メッセージMを先頭から3ワードずつに区切り、作業領域に格納する(S204)。これをMi(i=1,2,…)とする。
(3)Mi(3ワード)とPi(1ワード)を結合してブロックBi(4ワード)を生成し、作業領域に格納する(S206)。
(4)次に、ブロックBiをAESで暗号化してブロックNi(4ワード)を生成し、作業領域に格納する(S208)。
(5)ブロックNiを記憶領域に記憶する(S210)。
(6)上記(1)〜(5)をメッセージMの末尾まで繰り返して(S212)、ブロックNi(i=1,2,…)を生成する。メッセージMの最後が3ワードに満たなかった場合は、例えば3ワードになるまで0を追加する。
上述により生成された暗号化メッセージN(N1,N2,…)を、4ワードを1ブロックとして受信者端末150にブロック送信する。
実施例1は、メッセージをブロック単位で変換する際に、暗号化する各ブロックの一部に数列を入れて変換し、復号後に数列部分が正しいことを確認してから数列部分を切り捨てて元のメッセージを得ることを特徴とする暗号通信システムである。
ここでは、AESの128ビット鍵を用いて4ワードを1ブロックとして変換する共有鍵暗号方式での通信を考えた場合を例として説明する。ここで、1ワードとは32ビットの情報を指し、1ブロックとは一度に変換する情報の単位を表す。
通信を行なう2者(送信者および受信者)は、AESの変換に用いる秘密共有鍵の他に、その通信に用いる数列Pを共有している。
実施例1における暗号化メッセージ生成処理を、図2のフロー、および図4の出力図(送信者端末110側)を参照しながら説明する。なお、暗号化メッセージ生成処理は送信者端末110の作業領域で行なわれる。
(1)まず、数列Pを先頭から1ワードずつに区切り、作業領域に格納する(S202)。これをPi(i=1,2,…)とする。
(2)一方、メッセージMを先頭から3ワードずつに区切り、作業領域に格納する(S204)。これをMi(i=1,2,…)とする。
(3)Mi(3ワード)とPi(1ワード)を結合してブロックBi(4ワード)を生成し、作業領域に格納する(S206)。
(4)次に、ブロックBiをAESで暗号化してブロックNi(4ワード)を生成し、作業領域に格納する(S208)。
(5)ブロックNiを記憶領域に記憶する(S210)。
(6)上記(1)〜(5)をメッセージMの末尾まで繰り返して(S212)、ブロックNi(i=1,2,…)を生成する。メッセージMの最後が3ワードに満たなかった場合は、例えば3ワードになるまで0を追加する。
上述により生成された暗号化メッセージN(N1,N2,…)を、4ワードを1ブロックとして受信者端末150にブロック送信する。
次に、実施例1におけるメッセージ復元・認証処理を、図3のフロー、および図4の出力図(受信者端末150側)を参照しながら説明する。なお、メッセージ復元・認証処理は受信者端末150の作業領域で行なわれる。
(1)まず、数列Pを先頭から1ワードずつに区切り、作業領域に格納する(S302)。これをPi(i=1,2,…)とする。
(2)送信者端末110から受信した暗号化ブロックNi(i=1,2,…)を作業領域に格納する(S304)。
(3)次に、ブロックNiをAESで復号してブロックf−1(Ni)を生成し、作業領域に格納する(S306)。
(4)ブロックf−1(Ni)をメッセージ部(先頭3ワード)と数列部(末尾1ワード)に分割する(S308)。
(5)数列部(1ワード)がPiと同じ数列であるかをチェックする(S310)。
(6)数列部とPiが同じ数列である場合(S310でYesの場合)、ブロックf−1(Ni)を正しいデータであると判断し、メッセージ部(=Mi)を記憶領域に記憶する(S314)。
(7)上記(1)〜(6)の処理を、受信したブロックNiの全てについて(すなわち、メッセージMが終了するまで)繰り返し(S316)、メッセージM(M1,M2,…)を復元することができる。
(8)一方、数列部とPiが同じ数列ではなかった場合(S310でNoの場合)、エラー処理を行なう(S312)。具体的には、まず、数列Pからさらに1ワード(Pi+1)を読み込み、Piとする。そして数列部とPiが一致する場合には、「ここで1ブロック3ワードの情報が失われた」と宣言して、(1)のS302にもどる。数列部とPiが一致しない場合には、次のブロックNi+1を読み込み、Niとする。Niの数列部とPiが一致した場合には、「ここで1ブロック3ワードの情報にエラーが入った」と宣言して、(1)のS302にもどる。このようにして、ブロックの抜けや誤信号の混入、データの改ざんなどのエラーを検知することができる。
また、送信者と受信者とが同じ数列Pを共有しているため、データの順序が分からなくなった場合にも、数列部の順序を参照して正しい順序に戻すことができる。
実施例1の暗号通信システムによれば、上記のように変換後の数列部分が正しい数列であることを確認することで、改ざんされていないことを確認でき、安心してデータを利用できる。
(1)まず、数列Pを先頭から1ワードずつに区切り、作業領域に格納する(S302)。これをPi(i=1,2,…)とする。
(2)送信者端末110から受信した暗号化ブロックNi(i=1,2,…)を作業領域に格納する(S304)。
(3)次に、ブロックNiをAESで復号してブロックf−1(Ni)を生成し、作業領域に格納する(S306)。
(4)ブロックf−1(Ni)をメッセージ部(先頭3ワード)と数列部(末尾1ワード)に分割する(S308)。
(5)数列部(1ワード)がPiと同じ数列であるかをチェックする(S310)。
(6)数列部とPiが同じ数列である場合(S310でYesの場合)、ブロックf−1(Ni)を正しいデータであると判断し、メッセージ部(=Mi)を記憶領域に記憶する(S314)。
(7)上記(1)〜(6)の処理を、受信したブロックNiの全てについて(すなわち、メッセージMが終了するまで)繰り返し(S316)、メッセージM(M1,M2,…)を復元することができる。
(8)一方、数列部とPiが同じ数列ではなかった場合(S310でNoの場合)、エラー処理を行なう(S312)。具体的には、まず、数列Pからさらに1ワード(Pi+1)を読み込み、Piとする。そして数列部とPiが一致する場合には、「ここで1ブロック3ワードの情報が失われた」と宣言して、(1)のS302にもどる。数列部とPiが一致しない場合には、次のブロックNi+1を読み込み、Niとする。Niの数列部とPiが一致した場合には、「ここで1ブロック3ワードの情報にエラーが入った」と宣言して、(1)のS302にもどる。このようにして、ブロックの抜けや誤信号の混入、データの改ざんなどのエラーを検知することができる。
また、送信者と受信者とが同じ数列Pを共有しているため、データの順序が分からなくなった場合にも、数列部の順序を参照して正しい順序に戻すことができる。
実施例1の暗号通信システムによれば、上記のように変換後の数列部分が正しい数列であることを確認することで、改ざんされていないことを確認でき、安心してデータを利用できる。
(実施例2)
実施例2は、メッセージをnビット(n:正の整数)に分割しそれぞれの末尾にmビット(m:正の整数)の0を付加したブロックと、数列をn+mビットのブロックサイズに分割したものとの排他的論理和をとって暗号化し、復号後に各ブロックの最後のmビットが数列の該当部分に等しいことを確認してから各ブロックと数列部分の排他的論理和をとり、最後のmビットを切り捨てて元のメッセージを得ることを特徴とする暗号通信システムである。
実施例2では、実施例1と同様の効果に加えて、たとえAESの秘密共有鍵が破られても、文書データに秘密の数列が排他的論理和で加えられているため、文書データそのものが漏れることはなく、更に安全性が高まる。
以下に、AESの256ビット鍵を用いて8ワードを1ブロックとして変換する共有鍵暗号方式(以下、これをAES256と呼ぶ)を例として説明する。実施例1と同様に、1ワードとは32ビットの情報を指し、1ブロックとは一度に変換する情報の単位を表す。
また、通信を行なう2者(送信者および受信者)は、AESの変換に用いる秘密共有鍵の他に、その通信に用いる数列Pを共有している。
実施例2は、メッセージをnビット(n:正の整数)に分割しそれぞれの末尾にmビット(m:正の整数)の0を付加したブロックと、数列をn+mビットのブロックサイズに分割したものとの排他的論理和をとって暗号化し、復号後に各ブロックの最後のmビットが数列の該当部分に等しいことを確認してから各ブロックと数列部分の排他的論理和をとり、最後のmビットを切り捨てて元のメッセージを得ることを特徴とする暗号通信システムである。
実施例2では、実施例1と同様の効果に加えて、たとえAESの秘密共有鍵が破られても、文書データに秘密の数列が排他的論理和で加えられているため、文書データそのものが漏れることはなく、更に安全性が高まる。
以下に、AESの256ビット鍵を用いて8ワードを1ブロックとして変換する共有鍵暗号方式(以下、これをAES256と呼ぶ)を例として説明する。実施例1と同様に、1ワードとは32ビットの情報を指し、1ブロックとは一度に変換する情報の単位を表す。
また、通信を行なう2者(送信者および受信者)は、AESの変換に用いる秘密共有鍵の他に、その通信に用いる数列Pを共有している。
実施例2における暗号化メッセージ生成処理を、図5のフロー、および図7の出力図(送信者端末110側)を参照しながら説明する。なお、暗号化メッセージ生成処理は送信者端末110の作業領域で行なわれる。
(1)まず、数列Pを先頭から8ワードずつに区切り、作業領域に格納する(S502)。これをPi(i=1,2,…)とする。
(2)一方、メッセージMを先頭から7ワードずつに区切り、作業領域に格納する(S504)。これをMi(i=1,2,…)とする。
(3)Miに1ワード長の0を追加して8ワードのブロックMi'を生成する(S506)。
(4)次に、Mi'(8ワード)とPi(8ワード)のビットごとの排他的論理輪をとってブロックBi(8ワード)を生成し、作業領域に格納する(S508)。
(4)次に、ブロックBiをAES256で暗号化してブロックNi(8ワード)を生成し、作業領域に格納する(S510)。
(5)ブロックNiを記憶領域(バッファ)に記憶する。
(6)上記(1)〜(5)をメッセージMの末尾まで繰り返して(S512)、ブロックNi(i=1,2,…)を生成する。なお、上記(3)でメッセージMの末尾が7ワードに足りない場合には、ワード長の0を追加して8ワードに増やす。
上述により生成された暗号化メッセージN(N1,N2,…)を、8ワードを1ブロックとして受信者端末150にブロック送信する。
(1)まず、数列Pを先頭から8ワードずつに区切り、作業領域に格納する(S502)。これをPi(i=1,2,…)とする。
(2)一方、メッセージMを先頭から7ワードずつに区切り、作業領域に格納する(S504)。これをMi(i=1,2,…)とする。
(3)Miに1ワード長の0を追加して8ワードのブロックMi'を生成する(S506)。
(4)次に、Mi'(8ワード)とPi(8ワード)のビットごとの排他的論理輪をとってブロックBi(8ワード)を生成し、作業領域に格納する(S508)。
(4)次に、ブロックBiをAES256で暗号化してブロックNi(8ワード)を生成し、作業領域に格納する(S510)。
(5)ブロックNiを記憶領域(バッファ)に記憶する。
(6)上記(1)〜(5)をメッセージMの末尾まで繰り返して(S512)、ブロックNi(i=1,2,…)を生成する。なお、上記(3)でメッセージMの末尾が7ワードに足りない場合には、ワード長の0を追加して8ワードに増やす。
上述により生成された暗号化メッセージN(N1,N2,…)を、8ワードを1ブロックとして受信者端末150にブロック送信する。
次に、実施例2におけるメッセージ復元・認証処理を、図6のフロー、および図7の出力図(受信者端末150側)を参照しながら説明する。なお、メッセージ復元・認証処理は受信者端末150の作業領域で行なわれる。
(1)まず、数列Pを先頭から8ワードずつに区切り、作業領域に格納する(S602)。これをPi(i=1,2,…)とする。
(2)送信者端末110から受信した暗号化ブロックNi(i=1,2,…)を作業領域に格納する(S604)。
(3)次に、ブロックNiをAES256で復号してブロックf−1(Ni)を生成し、作業領域に格納する(S606)。
(4)ブロックf−1(Ni)の末尾1ワードがPiの末尾1ワードと同じ数列であるかをチェックする(S608)。
(5)ブロックf−1(Ni)の末尾1ワードとPiの末尾1ワードとが同じ数列である場合(S608でYesの場合)、ブロックf−1(Ni)を正しいデータであると判断して、ブロックf−1(Ni)とPiのビットごとの排他的論理和をとる(S612)。
(6)次に、(5)で排他的論理和をとったブロックをメッセージ部(先頭7ワード)と末尾1ワードに分割する(S614)。
(7)最後に、メッセージ部(=Mi)を記憶領域に記憶する(S616)。
(8)上記(1)〜(7)の処理を、受信したブロックNiの全てについて(すなわち、メッセージMが終了するまで)繰り返し(S618)、メッセージM(M1,M2,…)を復元することができる。
(1)まず、数列Pを先頭から8ワードずつに区切り、作業領域に格納する(S602)。これをPi(i=1,2,…)とする。
(2)送信者端末110から受信した暗号化ブロックNi(i=1,2,…)を作業領域に格納する(S604)。
(3)次に、ブロックNiをAES256で復号してブロックf−1(Ni)を生成し、作業領域に格納する(S606)。
(4)ブロックf−1(Ni)の末尾1ワードがPiの末尾1ワードと同じ数列であるかをチェックする(S608)。
(5)ブロックf−1(Ni)の末尾1ワードとPiの末尾1ワードとが同じ数列である場合(S608でYesの場合)、ブロックf−1(Ni)を正しいデータであると判断して、ブロックf−1(Ni)とPiのビットごとの排他的論理和をとる(S612)。
(6)次に、(5)で排他的論理和をとったブロックをメッセージ部(先頭7ワード)と末尾1ワードに分割する(S614)。
(7)最後に、メッセージ部(=Mi)を記憶領域に記憶する(S616)。
(8)上記(1)〜(7)の処理を、受信したブロックNiの全てについて(すなわち、メッセージMが終了するまで)繰り返し(S618)、メッセージM(M1,M2,…)を復元することができる。
(9)一方、(4)でブロックf−1(Ni)の末尾1ワードとPiの末尾1ワードとが同じ数列ではなかった場合(S608でNoの場合)、エラー処理を行なう(S610)。エラー処理は実施例1と同様である。具体的には、まず、数列Pからさらに8ワード(Pi+1)を読み込み、Piとする。そしてブロックf−1(Ni)の末尾1ワードとPiの末尾1ワードが一致する場合には、「ここで1ブロック7ワードの情報が失われた」と宣言して、(1)のS602にもどる。ブロックf−1(Ni)の末尾1ワードとPiの末尾1ワードとが一致しない場合には、次のブロックNi+1を読み込み、Niとする。そしてNiの数列部とPiが一致した場合には、「ここで1ブロック7ワードの情報にエラーが入った」と宣言して、(1)のS602にもどる。このようにして、ブロックの抜けや情報のエラーを検知することができる。
また、実施例1と同様に、送信者と受信者とが同じ数列Pを共有しているため、データの順序が分からなくなった場合にも、数列部の順序を参照して正しい順序に戻すことができる。
上記(1)〜(8)の処理順のほか、(3)の復号後に先に(5)の排他的論理和をとってから、そのブロックの末尾1ワードが0であるかをチェックして、0である場合に該ブロックが正しいデータであると判断してメッセージ部(=Mi)を得るようにしてもよい。
また、実施例1と同様に、送信者と受信者とが同じ数列Pを共有しているため、データの順序が分からなくなった場合にも、数列部の順序を参照して正しい順序に戻すことができる。
上記(1)〜(8)の処理順のほか、(3)の復号後に先に(5)の排他的論理和をとってから、そのブロックの末尾1ワードが0であるかをチェックして、0である場合に該ブロックが正しいデータであると判断してメッセージ部(=Mi)を得るようにしてもよい。
(数列生成処理)
上記では、メッセージMに添加する数列Pをあらかじめ生成して、送信者端末と受信者端末とで共有する場合を例として説明したが、数列Pそのもののかわりに、初期値およびその初期値から数列を生成する数列生成処理のプログラムを共有し、送信者側と受信者側の双方で、同じ初期値からメッセージMに添加する同じ数列を生成するようにしてもよい。
このような構成とすると、初期値を送ることで、メッセージ毎に数列を変えることが容易にできる。同じ鍵で同じ文書を送っても、数列部分が毎回異なるようにすれば、2の32乗通りの文書のどれかにランダムに変換されることになる。このため、差分解読法や、線形解読法などの、特定の文書を送ることによる攻撃が無効化されて、全数チェック以外の解読が難しくなり、共有暗号鍵の安全性も高まる。
以降、初期値となる配列Kから暗号乱数列Rを生成する処理の例を、図8のフローを参照しながら説明する。ここでは、暗号乱数列生成処理には、従来技術のメルセンヌツイスター法(http://www.math.keio.ac.jp/〜matsumoto/mt.html, M. Matsumoto and T. Nishimura, "Mersenne Twister: A 623-dimensionally equidistributed uniform pseudorandom number generator", ACM Trans. on Modeling and Computer Simulation Vol.8, No.1, January pp.3-30 (1998) を参照のこと。)を使用する例で説明するが、他の生成方法を用いてもよい。送信者端末および受信者端末の記憶領域には、初期値となる623ワード(以下)の配列Kと、暗号乱数列生成処理のプログラムを記憶している。暗号乱数列生成処理は送信者端末および受信者端末の作業領域で行なわれる。また、1ワードは32ビットの情報を指す。
上記では、メッセージMに添加する数列Pをあらかじめ生成して、送信者端末と受信者端末とで共有する場合を例として説明したが、数列Pそのもののかわりに、初期値およびその初期値から数列を生成する数列生成処理のプログラムを共有し、送信者側と受信者側の双方で、同じ初期値からメッセージMに添加する同じ数列を生成するようにしてもよい。
このような構成とすると、初期値を送ることで、メッセージ毎に数列を変えることが容易にできる。同じ鍵で同じ文書を送っても、数列部分が毎回異なるようにすれば、2の32乗通りの文書のどれかにランダムに変換されることになる。このため、差分解読法や、線形解読法などの、特定の文書を送ることによる攻撃が無効化されて、全数チェック以外の解読が難しくなり、共有暗号鍵の安全性も高まる。
以降、初期値となる配列Kから暗号乱数列Rを生成する処理の例を、図8のフローを参照しながら説明する。ここでは、暗号乱数列生成処理には、従来技術のメルセンヌツイスター法(http://www.math.keio.ac.jp/〜matsumoto/mt.html, M. Matsumoto and T. Nishimura, "Mersenne Twister: A 623-dimensionally equidistributed uniform pseudorandom number generator", ACM Trans. on Modeling and Computer Simulation Vol.8, No.1, January pp.3-30 (1998) を参照のこと。)を使用する例で説明するが、他の生成方法を用いてもよい。送信者端末および受信者端末の記憶領域には、初期値となる623ワード(以下)の配列Kと、暗号乱数列生成処理のプログラムを記憶している。暗号乱数列生成処理は送信者端末および受信者端末の作業領域で行なわれる。また、1ワードは32ビットの情報を指す。
(1)まず、配列Kを作業領域に格納する(S802)。
(2)配列Kを初期値として擬似乱数生成アルゴリズム(ここではメルセンヌツイスター法)を初期化する(S804)。
(3)メルセンヌツイスター法により擬似乱数ワードを4つ発生させる(S806)。
(4)発生させた4ワードをハッシュ関数MD5により4ワードのハッシュ値に変換する(S808)。
(5)ハッシュ値の最初の1ワードをRi(i=1,2,…)として出力し、残り3ワードを捨てる(S810)。
(6)上記(4)(5)を繰り返し(S812)、暗号乱数列R=(R1,R2,…)を生成する。暗号乱数列Rが暗号化メッセージ生成処理に必要な長さ(すなわち、メッセージ復元・認証処理に必要な長さでもある)になるまで処理(4)(5)を繰り返せばよい。
(2)配列Kを初期値として擬似乱数生成アルゴリズム(ここではメルセンヌツイスター法)を初期化する(S804)。
(3)メルセンヌツイスター法により擬似乱数ワードを4つ発生させる(S806)。
(4)発生させた4ワードをハッシュ関数MD5により4ワードのハッシュ値に変換する(S808)。
(5)ハッシュ値の最初の1ワードをRi(i=1,2,…)として出力し、残り3ワードを捨てる(S810)。
(6)上記(4)(5)を繰り返し(S812)、暗号乱数列R=(R1,R2,…)を生成する。暗号乱数列Rが暗号化メッセージ生成処理に必要な長さ(すなわち、メッセージ復元・認証処理に必要な長さでもある)になるまで処理(4)(5)を繰り返せばよい。
また、本実施形態の暗号強化方法は、上述の実施例1および実施例2のような、共有鍵を用いた一人対一人の送受信だけでなく、一人対複数の公開鍵暗号による通信にも適用できる。以降、一人対複数の暗号通信への適用例を実施例3として説明する。
(実施例3)
実施例3は、管理者Aと複数のユーザB(B1,B2,…)の間での公開鍵暗号化方式を用いた暗号通信であり、管理者Aは秘密鍵で暗号化したデータをユーザBに送信し、ユーザBは公開鍵で暗号化したデータを管理者Aに送信(返信)するが、ユーザBからの返信の際、その変換をする各ブロックに、ユーザ識別ができる秘密の数列をつけてから変換することを特徴とする暗号通信システムである。
ここでは、256ビットの秘密鍵・公開鍵を用いて8ワードを1ブロックとして変換する公開鍵暗号方式での通信を考えた場合を例として説明する。実施例1および実施例2と同様に、1ワードとは32ビットの情報を指し、1ブロックとは一度に変換する情報の単位を表す。鍵は、公開鍵暗号方式に基づく1組の秘密鍵(管理者A側で使用)と公開鍵(ユーザB側で使用)をあらかじめ用意しておく。
また、ユーザ識別のために、32ビットのパスワード(b1,b2,…)を用意しておく。そして、与えられた初期値を初項とする数列を生成する数列生成関数を管理者AとユーザBとで共有する。管理者側ではnを初期値(初項)とした数列を生成してメッセージに添加して送信し、ユーザBiはbi+nを初期値(初項)とした数列を生成して返信メッセージに添加して返信する。初期値nは、あらかじめ管理者AとユーザBとで共有しておいてもよいが、実施例3では、初期値nは管理者A側で発生させ、ユーザBは受信した暗号化メッセージから数列の初期値nを得るものとする。
以降、図9および図10を参照しながら実施例3の暗号強化方法を説明する。
(実施例3)
実施例3は、管理者Aと複数のユーザB(B1,B2,…)の間での公開鍵暗号化方式を用いた暗号通信であり、管理者Aは秘密鍵で暗号化したデータをユーザBに送信し、ユーザBは公開鍵で暗号化したデータを管理者Aに送信(返信)するが、ユーザBからの返信の際、その変換をする各ブロックに、ユーザ識別ができる秘密の数列をつけてから変換することを特徴とする暗号通信システムである。
ここでは、256ビットの秘密鍵・公開鍵を用いて8ワードを1ブロックとして変換する公開鍵暗号方式での通信を考えた場合を例として説明する。実施例1および実施例2と同様に、1ワードとは32ビットの情報を指し、1ブロックとは一度に変換する情報の単位を表す。鍵は、公開鍵暗号方式に基づく1組の秘密鍵(管理者A側で使用)と公開鍵(ユーザB側で使用)をあらかじめ用意しておく。
また、ユーザ識別のために、32ビットのパスワード(b1,b2,…)を用意しておく。そして、与えられた初期値を初項とする数列を生成する数列生成関数を管理者AとユーザBとで共有する。管理者側ではnを初期値(初項)とした数列を生成してメッセージに添加して送信し、ユーザBiはbi+nを初期値(初項)とした数列を生成して返信メッセージに添加して返信する。初期値nは、あらかじめ管理者AとユーザBとで共有しておいてもよいが、実施例3では、初期値nは管理者A側で発生させ、ユーザBは受信した暗号化メッセージから数列の初期値nを得るものとする。
以降、図9および図10を参照しながら実施例3の暗号強化方法を説明する。
(1.管理者AからユーザBへのメッセージMの送信)
図9は、実施例3において、管理者AからユーザB(ここではユーザB1とする)にメッセージを送信する場合の送受信を示した図である。
図9において、端末910は管理者A(送信者)の端末、端末950はユーザB1(受信者)の端末である。前提として、管理者Aの端末910には、送信するメッセージMを格納した記憶領域916,32ビットの初期値nを格納した記憶領域912,初期値nからnを初項とする数列を生成するための数列生成関数sによる数列生成処理914を有している。また、公開鍵暗号化方式に基づく秘密鍵,ユーザ認証に用いる各ユーザ(B1,B2,…)の32ビットのパスワード(b1,b2,…)もそれぞれ記憶領域918,920に記憶されている。
一方、ユーザB1の端末950には、公開鍵暗号化方式に基づく公開鍵,ユーザB1のパスワードb1(32ビット)が各記憶領域956,958に記憶されている。そして、管理者Aの端末910と同じ数列生成関数sによる数列生成処理962を有している。ここで、ユーザB1の端末950の初期値の記憶領域952には、初期値nは記憶されていない。
まず、管理者Aの端末910において、数列生成処理914により、メッセージMを送信する際に用いる数列Pを生成する。具体的には、初期値nを記憶領域912から読み出して、初期値nを初項とする数列Pを生成し、記憶領域922に記憶する。
次に、秘密鍵と生成した数列Pを用いて、暗号化メッセージ生成処理924により、メッセージMから暗号化メッセージNを生成して記憶領域(バッファ)926に記憶する。暗号化メッセージ生成処理924は上述の実施例1と同様である。すなわち、メッセージMを7ワードごとに区切り、それぞれに数列Pを先頭から順に1ワードずつ取り出して付加して、秘密鍵で暗号化して暗号化メッセージNの各ブロックNi(i=1,2,…)(8ワード)を生成し、各ユーザ(図9ではユーザB1の例で示している)の端末にブロック送信する。
図9は、実施例3において、管理者AからユーザB(ここではユーザB1とする)にメッセージを送信する場合の送受信を示した図である。
図9において、端末910は管理者A(送信者)の端末、端末950はユーザB1(受信者)の端末である。前提として、管理者Aの端末910には、送信するメッセージMを格納した記憶領域916,32ビットの初期値nを格納した記憶領域912,初期値nからnを初項とする数列を生成するための数列生成関数sによる数列生成処理914を有している。また、公開鍵暗号化方式に基づく秘密鍵,ユーザ認証に用いる各ユーザ(B1,B2,…)の32ビットのパスワード(b1,b2,…)もそれぞれ記憶領域918,920に記憶されている。
一方、ユーザB1の端末950には、公開鍵暗号化方式に基づく公開鍵,ユーザB1のパスワードb1(32ビット)が各記憶領域956,958に記憶されている。そして、管理者Aの端末910と同じ数列生成関数sによる数列生成処理962を有している。ここで、ユーザB1の端末950の初期値の記憶領域952には、初期値nは記憶されていない。
まず、管理者Aの端末910において、数列生成処理914により、メッセージMを送信する際に用いる数列Pを生成する。具体的には、初期値nを記憶領域912から読み出して、初期値nを初項とする数列Pを生成し、記憶領域922に記憶する。
次に、秘密鍵と生成した数列Pを用いて、暗号化メッセージ生成処理924により、メッセージMから暗号化メッセージNを生成して記憶領域(バッファ)926に記憶する。暗号化メッセージ生成処理924は上述の実施例1と同様である。すなわち、メッセージMを7ワードごとに区切り、それぞれに数列Pを先頭から順に1ワードずつ取り出して付加して、秘密鍵で暗号化して暗号化メッセージNの各ブロックNi(i=1,2,…)(8ワード)を生成し、各ユーザ(図9ではユーザB1の例で示している)の端末にブロック送信する。
(2.ユーザB側でのメッセージMの復元と初期値nの取得)
ユーザB1の端末950では、受信した暗号化メッセージNを記憶領域(バッファ)954に格納し、暗号化メッセージNの各ブロックと、記憶領域956から読み出した公開鍵を用いて、メッセージ復元・認証処理960により暗号化メッセージNからメッセージMを復元して、記憶領域964に記憶。メッセージ復元・認証処理960は上述の実施例1と同様であり、暗号化メッセージNの各ブロックを公開鍵で復号してメッセージMを復元する。このとき、最初の暗号化ブロック(N1)の8ワード目に入っている数列Pの初期値nを取り出してユーザB1の端末950の記憶領域952に格納する。そして、数列生成処理962により初期値nを初項とする数列P(管理者Aの端末910で生成したものと同じ数列である)を生成して、実施例1と同様にメッセージMのブロックの抜けや順序違いなどのエラーや改ざんをチェックする。また、この初期値nは後述する返信メッセージの送信(ユーザB1から管理者Aへの送信)でも用いる。
ユーザB1の端末950では、受信した暗号化メッセージNを記憶領域(バッファ)954に格納し、暗号化メッセージNの各ブロックと、記憶領域956から読み出した公開鍵を用いて、メッセージ復元・認証処理960により暗号化メッセージNからメッセージMを復元して、記憶領域964に記憶。メッセージ復元・認証処理960は上述の実施例1と同様であり、暗号化メッセージNの各ブロックを公開鍵で復号してメッセージMを復元する。このとき、最初の暗号化ブロック(N1)の8ワード目に入っている数列Pの初期値nを取り出してユーザB1の端末950の記憶領域952に格納する。そして、数列生成処理962により初期値nを初項とする数列P(管理者Aの端末910で生成したものと同じ数列である)を生成して、実施例1と同様にメッセージMのブロックの抜けや順序違いなどのエラーや改ざんをチェックする。また、この初期値nは後述する返信メッセージの送信(ユーザB1から管理者Aへの送信)でも用いる。
(3.ユーザBから管理者Aへの返信メッセージM2の送信)
図10は、実施例3において、ユーザから管理者にメッセージを返信する場合の送受信を示した図である。なお、各参照符号は図9の参照符号に対応している。また、図10においてメッセージM2は返信メッセージであり、記憶領域1052に記憶している。
まず、ユーザB1の端末950において、メッセージM2を送信する際に用いる数列P2を、数列生成処理962により生成する。具体的には、上記で取得して記憶領域952に記憶した初期値n(32ビット)とユーザB1のパスワードb1(32ビット)を記憶領域952,958から読み出して、数列生成処理962により初期値(初項)をb1+nとする数列P2を生成して記憶領域1054に記憶する。
次に、公開鍵と数列P2を用いて、暗号化メッセージ生成処理1056によりメッセージM2から暗号化メッセージN2を生成し、記憶領域(バッファ)1058に記憶する。暗号化メッセージ生成処理は上述の実施例1と同様である。すなわち、メッセージM2を7ワードごとに区切り、それぞれに数列P2を先頭から順に1ワードずつ取り出して付加して、公開鍵で暗号化して暗号化メッセージN2の各ブロックN2i(i=1,2,…)(8ワード)を生成し、管理者Aの端末にブロック送信する。
図10は、実施例3において、ユーザから管理者にメッセージを返信する場合の送受信を示した図である。なお、各参照符号は図9の参照符号に対応している。また、図10においてメッセージM2は返信メッセージであり、記憶領域1052に記憶している。
まず、ユーザB1の端末950において、メッセージM2を送信する際に用いる数列P2を、数列生成処理962により生成する。具体的には、上記で取得して記憶領域952に記憶した初期値n(32ビット)とユーザB1のパスワードb1(32ビット)を記憶領域952,958から読み出して、数列生成処理962により初期値(初項)をb1+nとする数列P2を生成して記憶領域1054に記憶する。
次に、公開鍵と数列P2を用いて、暗号化メッセージ生成処理1056によりメッセージM2から暗号化メッセージN2を生成し、記憶領域(バッファ)1058に記憶する。暗号化メッセージ生成処理は上述の実施例1と同様である。すなわち、メッセージM2を7ワードごとに区切り、それぞれに数列P2を先頭から順に1ワードずつ取り出して付加して、公開鍵で暗号化して暗号化メッセージN2の各ブロックN2i(i=1,2,…)(8ワード)を生成し、管理者Aの端末にブロック送信する。
(4.管理者A側での返信メッセージM2の復元とユーザBの認証)
管理者Aの端末910では、受信した暗号化メッセージN2の各ブロックと、記憶領域918の秘密鍵を用いて、メッセージ復元・認証処理1004により暗号化メッセージN2からメッセージM2を復元する。メッセージ復元・認証処理1004は上述の実施例1と同様である。すなわち、暗号化メッセージN2の各ブロックを秘密鍵で復号してメッセージM2を復元し、記憶領域1006に記憶する。このとき、最初の暗号化ブロック(N21)の8ワード目に入っている数列P2の初項b1+nを取り出して、数列生成処理914によりb1+nを初項とする数列P2(ユーザB1の端末950で生成したものと同じ数列である)を生成することができるため、実施例1と同様にメッセージM2のブロックの抜けや順序違いなどのエラーや改ざんをチェックすることができる。
さらに実施例3においては、この初項b1+nからパスワードb1を取り出して、管理者Aの端末910の記憶領域920にあらかじめ記憶しているユーザB1のパスワードb1と比較することによりパスワード認証処理(パスワードb1が正しいことにより、送信者がユーザB1であることを認証する)1012を行なう。
実施例3では、管理者AはどのユーザBからも同じ公開鍵で暗号化されたデータを受け取るが、このようにすれば、実施例1と同様の効果に加えて、管理者Aはユーザによって異なる公開鍵を用意することなく、複数のユーザBと通信することができる。また、管理者A側で指定した初期値nについて、bi+nを初期値とした数列を返信メッセージに付加するよう要求することで、ユーザのなりすましやメッセージの改ざんを防ぐことができる。
管理者Aの端末910では、受信した暗号化メッセージN2の各ブロックと、記憶領域918の秘密鍵を用いて、メッセージ復元・認証処理1004により暗号化メッセージN2からメッセージM2を復元する。メッセージ復元・認証処理1004は上述の実施例1と同様である。すなわち、暗号化メッセージN2の各ブロックを秘密鍵で復号してメッセージM2を復元し、記憶領域1006に記憶する。このとき、最初の暗号化ブロック(N21)の8ワード目に入っている数列P2の初項b1+nを取り出して、数列生成処理914によりb1+nを初項とする数列P2(ユーザB1の端末950で生成したものと同じ数列である)を生成することができるため、実施例1と同様にメッセージM2のブロックの抜けや順序違いなどのエラーや改ざんをチェックすることができる。
さらに実施例3においては、この初項b1+nからパスワードb1を取り出して、管理者Aの端末910の記憶領域920にあらかじめ記憶しているユーザB1のパスワードb1と比較することによりパスワード認証処理(パスワードb1が正しいことにより、送信者がユーザB1であることを認証する)1012を行なう。
実施例3では、管理者AはどのユーザBからも同じ公開鍵で暗号化されたデータを受け取るが、このようにすれば、実施例1と同様の効果に加えて、管理者Aはユーザによって異なる公開鍵を用意することなく、複数のユーザBと通信することができる。また、管理者A側で指定した初期値nについて、bi+nを初期値とした数列を返信メッセージに付加するよう要求することで、ユーザのなりすましやメッセージの改ざんを防ぐことができる。
Claims (12)
- 送信端末と受信端末との間でメッセージを暗号化して通信する暗号通信システムであって、
前記送信端末には、
メッセージおよび共有鍵を記憶している記憶手段と、
前記記憶手段からのメッセージをnビット(n:正の整数)毎に分割したメッセージ部と数列をmビット(m:正の整数)毎に分割した数列部とからブロックを生成し、各ブロックを前記記憶手段からの共有鍵で暗号化して暗号化メッセージを生成する暗号化メッセージ生成手段と、
前記暗号化メッセージをブロックごとに送信する暗号化メッセージ送信手段と
を備えており、
前記受信端末には、
共有鍵を記憶している記憶手段と、
前記暗号化メッセージをブロックごとに受信する暗号化メッセージ受信手段と、
受信した前記暗号化メッセージの各ブロックを前記記憶手段からの共有鍵で復号して、復号後のブロックの数列部と前記数列をmビット毎に分割したものとを比較して、双方が等しい場合に前記メッセージ部を得るメッセージ復元・認証手段と
を備えることを特徴とする暗号通信システム。 - 受信側にメッセージを暗号化して送信する送信端末であって、
メッセージおよび共有鍵を記憶している記憶手段と、
前記記憶手段からのメッセージをnビット(n:正の整数)毎に分割したメッセージ部と数列をmビット(m:正の整数)毎に分割した数列部とからブロックを生成し、各ブロックを前記記憶手段からの共有鍵で暗号化して暗号化メッセージを生成する暗号化メッセージ生成手段と、
前記暗号化メッセージをブロックごとに送信する暗号化メッセージ送信手段と
を備えることを特徴とする送信端末。 - 送信側からを暗号化されたメッセージを受信する受信端末であって、
共有鍵を記憶している記憶手段と、
前記暗号化メッセージをブロックごとに受信する暗号化メッセージ受信手段と、
受信した前記暗号化メッセージの各ブロックを前記記憶手段からの共有鍵で復号して、復号後のブロックの数列部と送信側と同じ数列のmビット(m:正の整数)毎に分割したものとを比較して、双方が等しい場合に前記メッセージ部を得るメッセージ復元・認証手段と
を備えることを特徴とする受信端末。 - 前記暗号化メッセージ生成手段は、前記記憶手段からのメッセージをnビット(n:正の整数)毎に分割したメッセージ部にmビット(m:正の整数)の0を付加したものと前記数列をn+mビット毎に分割した数列部との排他的論理和をとってn+mビットのブロックを生成し、各ブロックを前記記憶手段からの共有鍵で暗号化して暗号化メッセージを生成することを特徴とする請求項1に記載の暗号通信システム又は請求項2に記載の送信端末。
- 前記メッセージ復元・認証手段は、受信した前記暗号化メッセージの各ブロックを前記記憶手段からの共有鍵で復号して、復号後のブロックの末尾mビット(m:正の整数)と送信側と同じ数列をn+mビット毎に分割したものの末尾mビットとを比較し、双方が等しい場合に前記復号後のブロックと前記数列をn+mビット毎に分割したものとの排他的論理和をとって、先頭nビット(n:正の整数)のメッセージ部を得ることを特徴とする請求項1に記載の暗号通信システム又は請求項3に記載の受信端末。
- 前記数列は予め記憶手段に格納されていることを特徴とする、請求項1に記載の暗号通信システム又は請求項2若しくは請求項4に記載の送信端末又は請求項3若しくは請求項5に記載の受信端末。
- 前記数列は、初期値と該初期値から数列を生成する数列生成手段から生成されることを
特徴とする、請求項1に記載の暗号通信システム又は請求項2若しくは請求項4に記載の送信端末又は請求項3若しくは請求項5に記載の受信端末。 - 前記数列は、初期値と該初期値から数列を生成する数列生成手段から生成され、
前記メッセージ復元・認証手段で、受信した前記暗号化メッセージの最初のブロックを前記記憶手段からの共有鍵で復号し、該ブロックの数列部を前記初期値として、前記数列生成手段から数列を生成する
ことを特徴とする請求項1に記載の暗号通信システム又は請求項3若しくは請求項5に記載の受信端末。 - 管理者端末から複数のユーザ端末にメッセージを暗号化して送信し、前記ユーザ端末から前記管理者端末に返信メッセージを暗号化して送信する暗号通信システムであって、
前記管理者端末には、
メッセージ,秘密鍵および全ユーザのパスワードを記憶している記憶手段と、
数列を生成するためのmビット(m:正の整数)の初期値を記憶している初期値記憶手段と、
前記初期値を初項とする数列を生成する数列生成手段と、
前記記憶手段からのメッセージをnビット(n:正の整数)毎に分割したメッセージ部に前記数列をmビット毎に分割した数列部を付加してn+mビットのブロックを生成し、各ブロックを前記記憶手段からの秘密鍵で暗号化して暗号化メッセージを生成する暗号化メッセージ生成手段と、
前記暗号化メッセージをブロックごとに送信する暗号化メッセージ送信手段と、
各ユーザからの暗号化返信メッセージをブロックごとに受信する暗号化返信メッセージ受信手段と、
前記受信した最初のブロックを前記記憶手段からの秘密鍵で復号して、復号後のブロックからmビットのユーザ毎の初期値を得て、前記数列生成手段により前記ユーザ毎の初期値を初項とする返信用数列を生成する返信用数列生成手段と、
受信した前記暗号化返信メッセージの各ブロックを前記記憶手段からの秘密鍵で復号して、復号後のブロックの末尾mビットの返信用数列部と前記返信用数列をmビット毎に分割したものとを比較して、双方が等しい場合に先頭nビットの返信メッセージ部を得るメッセージ復元・認証手段と、
前記ユーザ毎の初期値から前記ユーザのパスワードを取り出して、前記記憶手段からの該当するユーザのパスワードと比較して、パスワードが一致する場合にユーザを認証するパスワード認証手段と
を備えており、
前記ユーザ端末には、
返信メッセージ,公開鍵およびユーザのパスワードを記憶している記憶手段と、
前記暗号化メッセージをブロックごとに受信する暗号化メッセージ受信手段と、
前記受信した最初のブロックを前記記憶手段からの公開鍵で復号して、復号後のブロックから前記mビットの初期値を得て、該初期値を初項とする数列を生成する数列生成手段と、
受信した前記暗号化メッセージの各ブロックを前記記憶手段からの公開鍵で復号して、復号後のブロックの末尾mビットの数列部と前記数列をmビット毎に分割したものとを比較して、双方が等しい場合に先頭nビットのメッセージ部を得るメッセージ復元・認証手段と、
前記初期値と前記記憶手段からのパスワードとからユーザ毎の初期値を生成し、前記数列生成手段により前記ユーザ毎の初期値を初項とする返信用数列を生成する返信用数列生成手段と、
前記記憶手段からの返信メッセージをnビット毎に分割した返信メッセージ部に前記返信用数列をmビット毎に分割した返信用数列部を付加してn+mビットのブロックを生成し、各ブロックを前記記憶手段からの公開鍵で暗号化して暗号化返信メッセージを生成する暗号化返信メッセージ生成手段と、
前記暗号化返信メッセージをブロックごとに送信する暗号化返信メッセージ送信手段
と
を備えることを特徴とする暗号通信システム。 - 複数のユーザ端末にメッセージを暗号化して送信し、前記ユーザ端末から暗号化された返信メッセージを受信する管理者端末であって、
メッセージ,秘密鍵および全ユーザのパスワードを記憶している記憶手段と、
数列を生成するためのmビット(m:正の整数)の初期値を記憶している初期値記憶手段と、
前記初期値を初項とする数列を生成する数列生成手段と、
前記記憶手段からのメッセージをnビット(n:正の整数)毎に分割したメッセージ部に前記数列をmビット毎に分割した数列部を付加してn+mビットのブロックを生成し、各ブロックを前記記憶手段からの秘密鍵で暗号化して暗号化メッセージを生成する暗号化メッセージ生成手段と、
前記暗号化メッセージをブロックごとに送信する暗号化メッセージ送信手段と、
各ユーザからの暗号化返信メッセージをブロックごとに受信する暗号化返信メッセージ受信手段と、
前記受信した最初のブロックを前記記憶手段からの秘密鍵で復号して、復号後のブロックからmビットのユーザ毎の初期値を得て、前記数列生成手段により前記ユーザ毎の初期値を初項とする返信用数列を生成する返信用数列生成手段と、
受信した前記暗号化返信メッセージの各ブロックを前記記憶手段からの秘密鍵で復号して、復号後のブロックの末尾mビットの返信用数列部と前記返信用数列をmビット毎に分割したものとを比較して、双方が等しい場合に先頭nビットの返信メッセージ部を得るメッセージ復元・認証手段と、
前記ユーザ毎の初期値から前記ユーザのパスワードを取り出して、前記記憶手段からの該当するユーザのパスワードと比較して、パスワードが一致する場合にユーザを認証するパスワード認証手段と
を備えることを特徴とする管理者端末。 - 管理者端末から暗号化されたメッセージを受信し、前記管理者端末に返信メッセージを暗号化して送信するユーザ端末であって、
返信メッセージ,公開鍵およびユーザのパスワードを記憶している記憶手段と、
前記暗号化メッセージをブロックごとに受信する暗号化メッセージ受信手段と、
前記受信した最初のブロックを前記記憶手段からの公開鍵で復号して、復号後のブロックから前記mビット(m:正の整数)の初期値を得て、該初期値を初項とする数列を生成する数列生成手段と、
受信した前記暗号化メッセージの各ブロックを前記記憶手段からの公開鍵で復号して、復号後のブロックの末尾mビットの数列部と前記数列をmビット毎に分割したものとを比較して、双方が等しい場合に先頭nビット(n:正の整数)のメッセージ部を得るメッセージ復元・認証手段と、
前記初期値と前記記憶手段からのパスワードとからユーザ毎の初期値を生成し、前記数列生成手段により前記ユーザ毎の初期値を初項とする返信用数列を生成する返信用数列生成手段と、
前記記憶手段からの返信メッセージをnビット毎に分割した返信メッセージ部に前記返信用数列をmビット毎に分割した返信用数列部を付加してn+mビットのブロックを生成し、各ブロックを前記記憶手段からの公開鍵で暗号化して暗号化返信メッセージを生成する暗号化返信メッセージ生成手段と、
前記暗号化返信メッセージをブロックごとに送信する暗号化返信メッセージ送信手段
と
を備えることを特徴とするユーザ端末。 - 請求項1,4,5,6,7,8若しくは9に記載の暗号通信システム又は請求項2,3,4,5,6,7,8若しくは11に記載の端末の機能をコンピュータ・システムに構築させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003346297A JP2005114870A (ja) | 2003-10-03 | 2003-10-03 | 暗号通信システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003346297A JP2005114870A (ja) | 2003-10-03 | 2003-10-03 | 暗号通信システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005114870A true JP2005114870A (ja) | 2005-04-28 |
Family
ID=34539291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003346297A Pending JP2005114870A (ja) | 2003-10-03 | 2003-10-03 | 暗号通信システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005114870A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009065625A (ja) * | 2007-09-10 | 2009-03-26 | Oki Electric Ind Co Ltd | 暗号化データ通信方法と暗号化データ通信システム |
WO2009123366A1 (ja) * | 2008-04-04 | 2009-10-08 | 株式会社エヌクリプトラボ | 送受信システム、送信装置、受信装置、認証装置、ユーザ装置、それらで実行される方法、並びにプログラム |
US8612759B2 (en) | 2006-08-29 | 2013-12-17 | Brother Kogyo Kabushiki Kaisha | Communication system for communicating data utilizing challenge data |
JP2014053954A (ja) * | 2013-11-06 | 2014-03-20 | Nti Corp | 送受信システム、送信装置、受信装置、認証装置、ユーザ装置、それらで実行される方法、並びにプログラム |
US8683227B2 (en) | 2006-08-29 | 2014-03-25 | Brother Kogyo Kabushiki Kaisha | Communication system for updating old data with new data |
JP2016157053A (ja) * | 2015-02-26 | 2016-09-01 | 日本電信電話株式会社 | 暗号化システム、暗号化装置、復号装置、暗号化方法 |
JP2016157055A (ja) * | 2015-02-26 | 2016-09-01 | 日本電信電話株式会社 | 暗号化システム、認証システム、暗号化装置、復号装置、認証子生成装置、検証装置、暗号化方法、認証方法 |
JP2016157054A (ja) * | 2015-02-26 | 2016-09-01 | 日本電信電話株式会社 | 暗号化システム、暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号プログラム |
-
2003
- 2003-10-03 JP JP2003346297A patent/JP2005114870A/ja active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8612759B2 (en) | 2006-08-29 | 2013-12-17 | Brother Kogyo Kabushiki Kaisha | Communication system for communicating data utilizing challenge data |
US8683227B2 (en) | 2006-08-29 | 2014-03-25 | Brother Kogyo Kabushiki Kaisha | Communication system for updating old data with new data |
JP2009065625A (ja) * | 2007-09-10 | 2009-03-26 | Oki Electric Ind Co Ltd | 暗号化データ通信方法と暗号化データ通信システム |
WO2009123366A1 (ja) * | 2008-04-04 | 2009-10-08 | 株式会社エヌクリプトラボ | 送受信システム、送信装置、受信装置、認証装置、ユーザ装置、それらで実行される方法、並びにプログラム |
JP2009253650A (ja) * | 2008-04-04 | 2009-10-29 | N-Crypt Lab Inc | 送受信システム、送信装置、受信装置、認証装置、ユーザ装置、それらで実行される方法、並びにプログラム |
US8885826B2 (en) | 2008-04-04 | 2014-11-11 | N-Crypt Lab., Inc. | Transmission/reception system, transmission device, reception device, authentication device, user device, method executed by the aforementioned, and program |
JP2014053954A (ja) * | 2013-11-06 | 2014-03-20 | Nti Corp | 送受信システム、送信装置、受信装置、認証装置、ユーザ装置、それらで実行される方法、並びにプログラム |
JP2016157053A (ja) * | 2015-02-26 | 2016-09-01 | 日本電信電話株式会社 | 暗号化システム、暗号化装置、復号装置、暗号化方法 |
JP2016157055A (ja) * | 2015-02-26 | 2016-09-01 | 日本電信電話株式会社 | 暗号化システム、認証システム、暗号化装置、復号装置、認証子生成装置、検証装置、暗号化方法、認証方法 |
JP2016157054A (ja) * | 2015-02-26 | 2016-09-01 | 日本電信電話株式会社 | 暗号化システム、暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jones et al. | Json web encryption (jwe) | |
US7827408B1 (en) | Device for and method of authenticated cryptography | |
Cachin | An information-theoretic model for steganography | |
US8687800B2 (en) | Encryption method for message authentication | |
TWI489847B (zh) | 資料加密方法、資料驗證方法及電子裝置 | |
US8433066B2 (en) | Method for generating an encryption/decryption key | |
CN101202623B (zh) | 消息验证码产生方法、验证/加密和验证/解密方法 | |
EP3476078B1 (en) | Systems and methods for authenticating communications using a single message exchange and symmetric key | |
US8744078B2 (en) | System and method for securing multiple data segments having different lengths using pattern keys having multiple different strengths | |
JP2008122967A (ja) | ストリーム暗号を利用したメッセージ認証コード生成方法とストリーム暗号を利用した認証暗号化方法及びストリーム暗号を利用した認証復号化方法 | |
US20120063592A1 (en) | Apparatus for encrypting data | |
WO2020162982A1 (en) | End-to-end double-ratchet encryption with epoch key exchange | |
JP2005114870A (ja) | 暗号通信システム | |
Kumar et al. | A novel framework for secure file transmission using modified AES and MD5 algorithms | |
CN108494554B (zh) | 一种基于双明文的数据对称加密方法 | |
KR100551992B1 (ko) | 어플리케이션 데이터의 암호화 및 복호화 방법 | |
KR100388059B1 (ko) | 비대칭키 암호 알고리즘을 이용한 데이터 암호화 시스템및 그 방법 | |
JPH08204701A (ja) | 電子メール暗号通信システム及び暗号通信方法 | |
CN112866288A (zh) | 一种双明文传输的数据对称加密方法 | |
CN111865578A (zh) | 一种基于sm2的多接收方公钥加密方法 | |
KR20200055672A (ko) | 순열그룹 기반의 암호화 기술을 적용한 암호화시스템 및 방법 | |
Archana et al. | Overview of Cryptography | |
CN115549987B (zh) | 一种基于数据安全隐私保护的混合加密方法 | |
Geetha et al. | Survey on security mechanisms for public cloud data | |
Rajesh | Double Encryption using TEA and DNA |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Effective date: 20050708 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080708 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081202 |