JP4819576B2 - 自己同期型ストリーム暗号の暗号化装置、復号化装置、自己同期型ストリーム暗号システム、mac生成装置、暗号化方法、復号化方法、mac生成方法およびプログラム - Google Patents

自己同期型ストリーム暗号の暗号化装置、復号化装置、自己同期型ストリーム暗号システム、mac生成装置、暗号化方法、復号化方法、mac生成方法およびプログラム Download PDF

Info

Publication number
JP4819576B2
JP4819576B2 JP2006147176A JP2006147176A JP4819576B2 JP 4819576 B2 JP4819576 B2 JP 4819576B2 JP 2006147176 A JP2006147176 A JP 2006147176A JP 2006147176 A JP2006147176 A JP 2006147176A JP 4819576 B2 JP4819576 B2 JP 4819576B2
Authority
JP
Japan
Prior art keywords
exclusive
function unit
generated
self
ciphertext
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.)
Active
Application number
JP2006147176A
Other languages
English (en)
Other versions
JP2007318547A (ja
Inventor
晋作 清本
俊昭 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2006147176A priority Critical patent/JP4819576B2/ja
Publication of JP2007318547A publication Critical patent/JP2007318547A/ja
Application granted granted Critical
Publication of JP4819576B2 publication Critical patent/JP4819576B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、自己同期型ストリーム暗号の暗号化装置、復号化装置、自己同期型ストリーム暗号システム、MAC生成装置、暗号化方法、復号化方法、MAC生成方法およびプログラムに関する。
近年、インターネットの目覚しい普及により、コンピュータを利用した様々なサービスが提供されている。こうして提供されるサービスの多くは、その通信内容を秘匿化するために暗号が利用されている。ここで、暗号方式としては、1つの鍵で暗号化と復号化とを行う共通鍵暗号方式が一般的であるが、この共通鍵暗号方式は、大きくブロック暗号方式とストリーム暗号方式とに大別される。
ストリーム暗号方式は、ブロック暗号方式よりも高速な処理が期待できるため、例えば、映画等の大容量データを伝送するための方式として、近年、注目を浴びているが、ストリーム暗号方式の場合には、暗号処理と復号処理との同期をとらなければならないという問題があった。そのため、一定サイズ以上の誤りなく受信した暗号文を利用して、同期を自動的に回復する自己同期型のストリーム暗号装置が提案されている(例えば、特許文献1参照。)。
特開2001−16197号公報
しかし、従来の方法では、自動的に同期を回復できるものの、処理単位が1ビットずつであったために、処理に時間がかかるといった問題があった。そこで、本発明は、上述の課題に鑑みてなされたものであり、自動的な同期回復処理を高速に実行することができる自己同期型ストリーム暗号の暗号化装置、復号化装置、自己同期型ストリーム暗号システム、MAC生成装置、暗号化方法、復号化方法、MAC生成方法およびプログラムを提供することを目的とする。
本発明は、上記の課題を解決するために、以下の事項を提案している。
(1)本発明は、平文を入力し、暗号文を出力するとともに、該暗号文を入力にフィードバックする自己同期型ストリーム暗号の暗号化装置であって、攪拌関数部(例えば、図1の攪拌関数1a、1b、1c、1d・・・1nに相当)により結合されたn個(nは正の整数)のレジスタをm−1段(mは正の整数)配列して、データ入力端に配置される攪拌関数部に前記暗号文と拡大鍵生成部において生成された拡大鍵との排他的論理和の演算結果を入力するとともに、m段目にn個のレジスタを配置し、該n個のレジスタを前記攪拌関数部と非線形関数部(例えば、図1の非線形関数2a、2b、2c、2d・・・2nに相当)とで結合し、データ入力端に配置される攪拌関数部に前記暗号文と前記拡大鍵との排他的論理和の演算結果と前記拡大鍵とを前記非線形関数部に入力した出力結果を入力し、前記m段目に配列されたレジスタからのすべての出力値をフィルタ関数部(例えば、図1のフィルタ関数3に相当)によりフィルタ関数処理した結果と入力した平文との排他的論理和演算を行って暗号文を生成することを特徴とする自己同期型ストリーム暗号の暗号化装置を提案している。
この発明によれば、生成した暗号文を入力側にフィードバックする構成となっているため、仮に、同期が乱れた場合であっても、自動的に、同期を回復することができる。また、入力を多段構成としたことから、これらを同時並行的に処理することにより、処理の高速化を図ることができる。さらに、各レジスタに非線形関数を結合せずに、最下段のレジスタのみに非線形関数を結合し、他のレジスタについては攪拌関数を結合する構成としたことから、特に、処理負荷の重い非線形関数を最小限に抑えることにより、処理の高速化を図ることができる。
(2)本発明は、暗号文を入力し、平文を出力するとともに、該平文を入力にフィードバックする自己同期型ストリーム暗号の復号化装置であって、攪拌関数部(例えば、図3の攪拌関数1a、1b、1c、1d、・・・1nに相当)により結合されたn個(nは正の整数)のレジスタをm−1段(mは正の整数)配列して、データ入力端に配置される攪拌関数部に前記平文と拡大鍵生成部において生成された拡大鍵との排他的論理和の演算結果を入力するとともに、m段目にn個のレジスタを配置し、該n個のレジスタを前記攪拌関数部と非線形関数部(例えば、図3の非線形関数2a、2b、2c、2d、・・・2nに相当)とで結合し、データ入力端に配置される攪拌関数部に前記平文と前記拡大鍵との排他的論理和の演算結果と前記拡大鍵とを前記非線形関数部に入力した出力結果を入力し、前記m段目に配列されたレジスタからのすべての出力値をフィルタ関数部(例えば、図3のフィルタ関数3に相当)によりフィルタ関数処理した結果と入力した暗号文との排他的論理和演算を行って平文を生成することを特徴とする自己同期型ストリーム暗号の復号化装置を提案している。
この発明によれば、生成した平文を入力側にフィードバックする構成となっているため、仮に、同期が乱れた場合であっても、所定の暗号文を受信できれば、自動的に同期を回復することができる。また、入力を多段構成としたことから、これらを同時並行的に処理することにより、処理の高速化を図ることができる。さらに、各レジスタに非線形関数を結合せずに、最下段のレジスタのみに非線形関数を結合し、他のレジスタについては攪拌関数を結合する構成としたことから、特に、処理負荷の重い非線形関数を最小限に抑えることにより、処理の高速化を図ることができる。
(3)本発明は、前記(1)に記載の自己同期型ストリーム暗号の暗号化装置と前記(2)に記載の自己同期型ストリーム暗号の復号化装置とを備えて構成されることを特徴とする自己同期型ストリーム暗号システムを提案している。
この発明によれば、(1)に記載の自己同期型ストリーム暗号の暗号化装置と前記(2)に記載の自己同期型ストリーム暗号の復号化装置とを組み合わせることにより、同期を自動的に回復することができる自己同期型ストリーム暗号システムを構築することができる。
(4)本発明は、平文を入力し、暗号文を出力するとともに、該暗号文を入力にフィードバックして最終的な暗号文をメッセージ認証子として出力するMAC生成装置であって、攪拌関数部により結合されたn個(nは正の整数)のレジスタをm−1段(mは正の整数)配列して、データ入力端に配置される攪拌関数部(例えば、図5の攪拌関数1a、1b、1c、1d・・・1nに相当)に前記暗号文と拡大鍵生成部において生成された拡大鍵との排他的論理和の演算結果を入力するとともに、m段目にn個のレジスタを配置し、該n個のレジスタを前記攪拌関数部と非線形関数部(例えば、図5の非線形関数2a、2b、2c、2d・・・2nに相当)とで結合し、データ入力端に配置される攪拌関数部に前記暗号文と前記拡大鍵との排他的論理和の演算結果と前記拡大鍵とを前記非線形関数部に入力した出力結果を入力し、前記m段目に配列されたレジスタからのすべての出力値をフィルタ関数部(例えば、図5のフィルタ関数3に相当)によりフィルタ関数処理した結果と入力した平文との排他的論理和演算を行って最終的な暗号文をメッセージ認証子として生成することを特徴とするMAC生成装置を提案している。
この発明によれば、入力を多段構成としたことから、これらを同時並行的に処理することにより、処理の高速化を図ることができる。さらに、各レジスタに非線形関数を結合せずに、最下段のレジスタのみに非線形関数を結合し、他のレジスタについては攪拌関数を結合する構成としたことから、特に、処理負荷の重い非線形関数を最小限に抑えることにより、処理の高速化を図ることができる。
(5)本発明は、(1)に記載の自己同期型ストリーム暗号の暗号化装置を用いた自己同期型ストリーム暗号の暗号化方法であって、拡大鍵を生成し、生成した拡大鍵を排他的論理演算部および非線形関数部にセットするとともに、初期値をmwビット分生成して、これをデータ入力端に配置されるそれぞれの排他的論理演算部にセットする第1のステップ(例えば、図2のステップS101に相当)と、前記m段目に配置されたn個のレジスタからの値を前記フィルタ関数部に入力し、乱数列を生成する第2のステップ(例えば、図2のステップS102に相当)と、前記第2のステップで生成された乱数列と入力した平文との排他的論理和演算を行って、暗号文を生成する第3のステップ(例えば、図2のステップS103に相当)と、各レジスタの出力値をシフトするとともに、前記データ入力端に配置された排他的論理演算部に第3のステップで生成された暗号文を入力する第4のステップ(例えば、図2のステップS104に相当)と、前記第2のステップから第4のステップにおけるまでの処理を順次繰り返し実行する第5のステップと、を備えたことを特徴とする自己同期型ストリーム暗号の暗号化方法を提案している。
この発明によれば、拡大鍵を生成し、生成した拡大鍵を排他的論理演算部および非線形関数部にセットするとともに、初期値をmwビット分生成して、これをデータ入力端に配置されるそれぞれの排他的論理演算部にセットする。そして、前記m段目に配置されたn個のレジスタからの値をフィルタ関数部に入力し、乱数列を生成するとともに、生成された乱数列と入力した平文との排他的論理和演算を行って、暗号文を生成する。さらに、各レジスタの出力値をシフトするとともに、データ入力端に配置された排他的論理演算部に生成された暗号文を入力し、これらの処理を順次繰り返し実行する。したがって、生成した暗号文を入力側にフィードバックするため、仮に、同期が乱れた場合であっても、自動的に、同期を回復することができる。また、入力を多段構成としたことから、これらを同時並行的に処理することにより、処理の高速化を図ることができる。さらに、各レジスタに非線形関数を結合せずに、最下段のレジスタのみに非線形関数を結合し、他のレジスタについては攪拌関数を結合する構成としたことから、特に、処理負荷の重い非線形関数を最小限に抑えることにより、処理の高速化を図ることができる。
(6)本発明は、(2)に記載の自己同期型ストリーム暗号の復号化装置を用いた自己同期型ストリーム暗号の復号化方法であって、拡大鍵を生成し、生成した拡大鍵を排他的論理演算部および非線形関数部にセットする第1のステップ(例えば、図4のステップS201に相当)と、前記m段目に配置されたn個のレジスタからの値を前記フィルタ関数部に入力し、乱数列を生成する第2のステップ(例えば、図4のステップS202に相当)と、前記第2のステップで生成された乱数列と入力した暗号文との排他的論理和演算を行って、平文を生成する第3のステップ(例えば、図4のステップS203に相当)と、各レジスタの出力値をシフトするとともに、前記データ入力端に配置された排他的論理演算部に第3のステップで生成された平文を入力する第4のステップ(例えば、図4のステップS204に相当)と、前記第2のステップから第4のステップにおけるまでの処理を順次繰り返し実行する第5のステップと、を備えたことを特徴とする自己同期型ストリーム暗号の復号化方法を提案している。
この発明によれば、拡大鍵を生成し、生成した拡大鍵を排他的論理演算部および非線形関数部にセットする。そして、前記m段目に配置されたn個のレジスタからの値をフィルタ関数部に入力し、乱数列を生成するとともに、生成された乱数列と入力した暗号文との排他的論理和演算を行って、平文を生成する。さらに、各レジスタの出力値をシフトするとともに、データ入力端に配置された排他的論理演算部に生成された平文を入力し、これらの処理を順次繰り返し実行する。したがって、生成した平文を入力側にフィードバックするため、仮に、同期が乱れた場合であっても、自動的に、同期を回復することができる。また、入力を多段構成としたことから、これらを同時並行的に処理することにより、処理の高速化を図ることができる。さらに、各レジスタに非線形関数を結合せずに、最下段のレジスタのみに非線形関数を結合し、他のレジスタについては攪拌関数を結合する構成としたことから、特に、処理負荷の重い非線形関数を最小限に抑えることにより、処理の高速化を図ることができる。
(7)本発明は、(4)に記載のMAC生成装置を用いたMAC生成方法であって、拡大鍵を生成し、生成した拡大鍵を排他的論理演算部および非線形関数部にセットするとともに、初期値をmwビット分生成して、これをデータ入力端に配置されるそれぞれの排他的論理演算部にセットする第1のステップ(例えば、図6のステップS301に相当)と、前記m段目に配置されたn個のレジスタからの値を前記フィルタ関数部に入力し、乱数列を生成する第2のステップ(例えば、図6のステップS302に相当)と、前記第2のステップで生成された乱数列と入力した平文との排他的論理和演算を行って、メッセージ認証子を生成する第3のステップ(例えば、図6のステップS303に相当)と、各レジスタの出力値をシフトするとともに、前記データ入力端に配置された排他的論理演算部に第3のステップで生成されたメッセージ認証子を入力する第4のステップ(例えば、図6のステップS304に相当)と、すべての平文を入力したか否かを判断する第5のステップ(例えば、図6のステップS305に相当)と、前記第5のステップにおいて、すべての平文を入力したと判断したときに、メッセージ認証子を出力する第6のステップ(例えば、図6のステップS306に相当)と、を備えたことを特徴とするMAC生成方法を提案している。
この発明によれば、拡大鍵を生成し、生成した拡大鍵を排他的論理演算部および非線形関数部にセットするとともに、初期値をmwビット分生成して、これをデータ入力端に配置されるそれぞれの排他的論理演算部にセットする。そして、前記m段目に配置されたn個のレジスタからの値をフィルタ関数部に入力し、乱数列を生成するとともに、生成された乱数列と入力した暗号文との排他的論理和演算を行って、平文を生成する。さらに、各レジスタの出力値をシフトするとともに、データ入力端に配置された排他的論理演算部に生成された平文を入力し、これらの処理を順次繰り返し実行する。したがって、生成した平文を入力側にフィードバックするため、仮に、同期が乱れた場合であっても、自動的に、同期を回復することができる。また、入力を多段構成としたことから、これらを同時並行的に処理することにより、処理の高速化を図ることができる。さらに、各レジスタに非線形関数を結合せずに、最下段のレジスタのみに非線形関数を結合し、他のレジスタについては攪拌関数を結合する構成としたことから、特に、処理負荷の重い非線形関数を最小限に抑えることにより、処理の高速化を図ることができる。
(8)本発明は、(1)に記載の自己同期型ストリーム暗号の暗号化装置を用いた自己同期型ストリーム暗号の暗号化方法をコンピュータに実行させるプログラムであって、拡大鍵を生成し、生成した拡大鍵を排他的論理演算部および非線形関数部にセットするとともに、初期値をmwビット分生成して、これをデータ入力端に配置されるそれぞれの排他的論理演算部にセットする第1のステップ(例えば、図2のステップS101に相当)と、前記m段目に配置されたn個のレジスタからの値を前記フィルタ関数部に入力し、乱数列を生成する第2のステップ(例えば、図2のステップS102に相当)と、前記第2のステップで生成された乱数列と入力した平文との排他的論理和演算を行って、暗号文を生成する第3のステップ(例えば、図2のステップS103に相当)と、各レジスタの出力値をシフトするとともに、前記データ入力端に配置された排他的論理演算部に第3のステップで生成された暗号文を入力する第4のステップ(例えば、図2のステップS104に相当)と、前記第2のステップから第4のステップにおけるまでの処理を順次繰り返し実行する第5のステップと、をコンピュータに実行させるプログラムを提案している。
この発明によれば、拡大鍵を生成し、生成した拡大鍵を排他的論理演算部および非線形関数部にセットするとともに、初期値をmwビット分生成して、これをデータ入力端に配置されるそれぞれの排他的論理演算部にセットする。そして、前記m段目に配置されたn個のレジスタからの値をフィルタ関数部に入力し、乱数列を生成するとともに、生成された乱数列と入力した平文との排他的論理和演算を行って、暗号文を生成する。さらに、各レジスタの出力値をシフトするとともに、データ入力端に配置された排他的論理演算部に生成された暗号文を入力し、これらの処理を順次繰り返し実行する。したがって、生成した暗号文を入力側にフィードバックするため、仮に、同期が乱れた場合であっても、自動的に、同期を回復することができる。また、入力を多段構成としたことから、これらを同時並行的に処理することにより、処理の高速化を図ることができる。さらに、各レジスタに非線形関数を結合せずに、最下段のレジスタのみに非線形関数を結合し、他のレジスタについては攪拌関数を結合する構成としたことから、特に、処理負荷の重い非線形関数を最小限に抑えることにより、処理の高速化を図ることができる。
(9)本発明は、(2)に記載の自己同期型ストリーム暗号の復号化装置を用いた自己同期型ストリーム暗号の復号化方法をコンピュータに実行させるプログラムであって、拡大鍵を生成し、生成した拡大鍵を排他的論理演算部および非線形関数部にセットする第1のステップ(例えば、図4のステップS201に相当)と、前記m段目に配置されたn個のレジスタからの値を前記フィルタ関数部に入力し、乱数列を生成する第2のステップ(例えば、図4のステップS202に相当)と、前記第2のステップで生成された乱数列と入力した暗号文との排他的論理和演算を行って、平文を生成する第3のステップ(例えば、図4のステップS203に相当)と、各レジスタの出力値をシフトするとともに、前記データ入力端に配置された排他的論理演算部に第3のステップで生成された平文を入力する第4のステップ(例えば、図4のステップS204に相当)と、前記第2のステップから第4のステップにおけるまでの処理を順次繰り返し実行する第5のステップと、をコンピュータに実行させるプログラムを提案している。
この発明によれば、拡大鍵を生成し、生成した拡大鍵を排他的論理演算部および非線形関数部にセットする。そして、前記m段目に配置されたn個のレジスタからの値をフィルタ関数部に入力し、乱数列を生成するとともに、生成された乱数列と入力した暗号文との排他的論理和演算を行って、平文を生成する。さらに、各レジスタの出力値をシフトするとともに、データ入力端に配置された排他的論理演算部に生成された平文を入力し、これらの処理を順次繰り返し実行する。したがって、生成した平文を入力側にフィードバックするため、仮に、同期が乱れた場合であっても、自動的に、同期を回復することができる。また、入力を多段構成としたことから、これらを同時並行的に処理することにより、処理の高速化を図ることができる。さらに、各レジスタに非線形関数を結合せずに、最下段のレジスタのみに非線形関数を結合し、他のレジスタについては攪拌関数を結合する構成としたことから、特に、処理負荷の重い非線形関数を最小限に抑えることにより、処理の高速化を図ることができる。
(10)本発明は、(4)に記載のMAC生成装置を用いたMAC生成方法をコンピュータに実行させるプログラムであって、拡大鍵を生成し、生成した拡大鍵を排他的論理演算部および非線形関数部にセットするとともに、初期値をmwビット分生成して、これをデータ入力端に配置されるそれぞれの排他的論理演算部にセットする第1のステップ(例えば、図6のステップS301に相当)と、前記m段目に配置されたn個のレジスタからの値を前記フィルタ関数部に入力し、乱数列を生成する第2のステップ(例えば、図6のステップS302に相当)と、前記第2のステップで生成された乱数列と入力した平文との排他的論理和演算を行って、メッセージ認証子を生成する第3のステップ(例えば、図6のステップS303に相当)と、各レジスタの出力値をシフトするとともに、前記データ入力端に配置された排他的論理演算部に第3のステップで生成されたメッセージ認証子を入力する第4のステップ(例えば、図6のステップS304に相当)と、すべての平文を入力したか否かを判断する第5のステップ(例えば、図6のステップS305に相当)と、前記第5のステップにおいて、すべての平文を入力したと判断したときに、メッセージ認証子を出力する第6のステップ(例えば、図6のステップS306に相当)と、をコンピュータに実行させるプログラム。
この発明によれば、拡大鍵を生成し、生成した拡大鍵を排他的論理演算部および非線形関数部にセットするとともに、初期値をmwビット分生成して、これをデータ入力端に配置されるそれぞれの排他的論理演算部にセットする。そして、前記m段目に配置されたn個のレジスタからの値をフィルタ関数部に入力し、乱数列を生成するとともに、生成された乱数列と入力した暗号文との排他的論理和演算を行って、平文を生成する。さらに、各レジスタの出力値をシフトするとともに、データ入力端に配置された排他的論理演算部に生成された平文を入力し、これらの処理を順次繰り返し実行する。したがって、生成した平文を入力側にフィードバックするため、仮に、同期が乱れた場合であっても、自動的に、同期を回復することができる。また、入力を多段構成としたことから、これらを同時並行的に処理することにより、処理の高速化を図ることができる。さらに、各レジスタに非線形関数を結合せずに、最下段のレジスタのみに非線形関数を結合し、他のレジスタについては攪拌関数を結合する構成としたことから、特に、処理負荷の重い非線形関数を最小限に抑えることにより、処理の高速化を図ることができる。
本発明によれば、高速かつ安全で、自動的に同期回復を行うことができるストリーム暗号を実現することができるという効果がある。
以下、図面を用いて、本発明の実施形態について詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
<自己同期型ストリーム暗号の暗号化装置の構成>
本実施形態に係る自己同期型ストリーム暗号の暗号化装置は、図1に示すように、攪拌関数1a、1b、1c、1d、・・・1nと、非線形関数2a、2b、2c、2d、・・・2nと、フィルタ関数3と、第1の排他的論理演算器4a、4b、4c、・・・4mと、初期値スケジューリングアルゴリズム5と、キースケジューリングアルゴリズム6と、第2の排他的論理演算器7と、n×m個のレジスタとから構成されている。
攪拌関数1a、1b、1c、1d、・・・1nは、m個のレジスタを攪拌する処理を実行する。なお、本処理は、ワード長での処理を基本とし、例えば、ワード長単位で処理を行うMDS(Maximum Distance Separable)行列などを用いて構成することができる。
非線形関数2a、2b、2c、2d、・・・2nは、入出力長が一致した全単射関数であり、例えば、ブロック暗号に用いられているS−Boxなどの代数次数、非線形性などが最良となる置換関数で構成される。なお、非線形関数2a、2b、2c、2d・・・2nには、キースケジューリングアルゴリズム6で生成される拡大鍵が入力される。
フィルタ関数3は、最下段(m段目)のレジスタからの出力値を入力し、n>mの条件を満たすmwビットの鍵系列を出力する圧縮関数である。なお、フィルタ関数は、安全性に影響を及ぼす関数であり、線形処理と非線形処理とを組み合わせて構成される。
第1の排他的論理演算器4a、4b、4c、・・・4mは、初期処理段階では、初期値スケジューリングアルゴリズム5で生成されたwビットの初期値とキースケジューリングアルゴリズム6で生成される拡大鍵とが入力されて、これらの排他的論理和が演算され、それ以降は、wビットの暗号文と拡大鍵とが入力されて、これらの排他的論理和が演算される。
初期値スケジューリングアルゴリズム5は、初期値を入力して、拡大したm×wビットの初期値を生成し、第1の排他的論理演算器4a、4b、4c、・・・4mに入力する。キースケジューリングアルゴリズム6は、鍵を入力して、拡大鍵を生成し、これを第1の排他的論理演算器4a、4b、4c、・・・4mおよび非線形関数2a、2b、2c、2d、・・・2nにセットする。
第2の排他的論理演算器7は、フィルタ関数3から出力されるmwビットの乱数列と入力した平文との排他的論理和演算を実行し、mwビットの暗号文を出力する。また、m×n個のレジスタは、攪拌関数1a、1b、1c、1d、・・・1nからの出力を一時的に保持する記憶手段である。
<自己同期型ストリーム暗号の暗号化装置の処理動作>
次に、図3を用いて、自己同期型ストリーム暗号の暗号化装置の処理動作について説明する。
まず、初期処理を行って、ストリーム暗号の内部状態をセットする。具体的には、鍵をキースケジューリングアルゴリズム6に入力して、拡大鍵を生成し、生成した拡大鍵を第1の排他的論理演算器4a、4b、4c、・・・4mおよび非線形関数2a、2b、2c、2d、・・・2nにセットする。一方、初期値スケジューリングアルゴリズム5に初期値を入力し、秘密鍵をアルゴリズムにセットして、拡大した初期値をn×wビット分生成し、これを第1の排他的論理演算器4a、4b、4c、・・・4mに入力する(ステップS101)。
次に、最下段のレジスタの出力値をフィルタ関数3に入力してmwビットの乱数列を得る(ステップS102)。そして、入力した平文とフィルタ関数3から出力されたmwビットの乱数列との排他的論理和演算を第2の排他的論理演算器7で行い、mwビットの暗号文を得る(ステップS103)。
次に、内部状態、すなわち、各レジスタの更新処理を実行する。具体的には、すべてのレジスタの保持値を1つ左へずらす処理を実行する。なお、このとき、非線形関数2a、2b、2c、2d、・・・2nおよび攪拌関数1a、1b、1c、1d、・・・1nでの処理を行う。また、最左行のレジスタ(図中、Sn、1、Sn、2、Sn、3、・・・Sn、m)からはみ出た値は、これを消去する処理を実行する(ステップS104)。
内部状態の更新処理(ステップS104)を終了すると、ステップS102に戻って、ステップS102からステップS104までの処理を繰り返し実行する。
以上説明したように、本実施形態に係る自己同期型ストリーム暗号の暗号化装置によれば、生成した暗号文を入力側にフィードバックする構成となっているため、仮に、同期が乱れた場合であっても、自動的に、同期を回復することができる。また、入力を多段構成としたことから、これらを同時並行的に処理することにより、処理の高速化を図ることができる。さらに、各レジスタに非線形関数を結合せずに、最下段のレジスタのみに非線形関数を結合し、他のレジスタについては攪拌関数を結合する構成としたことから、特に、処理負荷の重い非線形関数を最小限に抑えることにより、処理の高速化を図ることができる。
<自己同期型ストリーム暗号の復号化装置の構成>
本実施形態に係る自己同期型ストリーム暗号の復号化装置は、図3に示すように、攪拌関数1a、1b、1c、1d、・・・1nと、非線形関数2a、2b、2c、2d、・・・2nと、フィルタ関数3と、キースケジューリングアルゴリズム6と、第1の排他的論理演算器8a、8b、8c、・・・8mと、第2の排他的論理演算器9と、n×m個のレジスタとから構成されている。なお、図1と同一の符号を付した構成要素については、同様の機能を有するものであることから、その詳細な説明は省略する。
第1の排他的論理演算器8a、8b、8c、・・・8mは、受信したwビットの暗号文と拡大鍵とを入力して、これらの排他的論理和を演算する。第2の排他的論理演算器9は、フィルタ関数3から出力されるmwビットの乱数列と受信した暗号文との排他的論理和演算を実行し、mwビットの平文を出力する。
<自己同期型ストリーム暗号の復号化装置の処理動作>
次に、図4を用いて、自己同期型ストリーム暗号の復号化装置の処理動作について説明する。
まず、初期処理を行って、ストリーム暗号の内部状態をセットする。具体的には、鍵をキースケジューリングアルゴリズム6に入力して、拡大鍵を生成し、生成した拡大鍵を第1の排他的論理演算器8a、8b、8c、・・・8mおよび非線形関数2a、2b、2c、2d、・・・2nにセットする(ステップS201)。
次に、最下段のレジスタの出力値をフィルタ関数3に入力してmwビットの乱数列を得る(ステップS202)。そして、受信した暗号文とフィルタ関数3から出力されたmwビットの乱数列との排他的論理和演算を第2の排他的論理演算器9で行い、mwビットの平文を得る(ステップS203)。
次に、内部状態、すなわち、各レジスタの更新処理を実行する。具体的には、すべてのレジスタの保持値を1つ左へずらす処理を実行する。なお、このとき、非線形関数2a、2b、2c、2d、・・・2nおよび攪拌関数1a、1b、1c、1d、・・・1nでの処理を行う。また、最左行のレジスタ(図中、Sn、1、Sn、2、Sn、3、・・・Sn、m)からはみ出た値は、これを消去する処理を実行する(ステップS204)。
内部状態の更新処理(ステップS204)を終了すると、ステップS202に戻って、ステップS202からステップS204までの処理を繰り返し実行する。
以上説明したように、本実施形態に係る自己同期型ストリーム暗号の復号化装置によれば、生成した平文を入力側にフィードバックする構成となっているため、仮に、同期が乱れた場合であっても、所定の暗号文を受信できれば、自動的に同期を回復することができる。また、入力を多段構成としたことから、これらを同時並行的に処理することにより、処理の高速化を図ることができる。さらに、各レジスタに非線形関数を結合せずに、最下段のレジスタのみに非線形関数を結合し、他のレジスタについては攪拌関数を結合する構成としたことから、特に、処理負荷の重い非線形関数を最小限に抑えることにより、処理の高速化を図ることができる。また、すでに説明した自己同期型ストリーム暗号の暗号化装置と自己同期型ストリーム暗号の復号化装置とを組み合わせることにより、同期を自動的に回復することができる自己同期型ストリーム暗号システムを構築することができる。
<MAC生成装置の構成>
MAC生成装置の構成は、図5に示したように、基本的に、すでに説明した自己同期型ストリーム暗号の暗号化装置と同様の構成であり、平文を入力し、出力されたmwビットの暗号文から連続するSビットのメッセージ認証子を出力する。
<MAC生成装置の処理動作>
次に、図6を用いて、MAC生成装置の処理動作について説明する。
まず、初期処理を行って、ストリーム暗号の内部状態をセットする。具体的には、鍵をキースケジューリングアルゴリズム6に入力して、拡大鍵を生成し、生成した拡大鍵を第1の排他的論理演算器4a、4b、4c、・・・4mおよび非線形関数2a、2b、2c、2d、・・・2nにセットする。一方、初期値スケジューリングアルゴリズム5に初期値を入力し、秘密鍵をアルゴリズムにセットして、拡大した初期値をn×wビット分生成し、これを第1の排他的論理演算器4a、4b、4c、・・・4mに入力する(ステップS301)。
次に、最下段のレジスタの出力値をフィルタ関数3に入力してmwビットの乱数列を得る(ステップS302)。そして、入力した平文とフィルタ関数3から出力されたmwビットの乱数列との排他的論理和演算を第2の排他的論理演算器7で行い、mwビットの暗号文を得る(ステップS303)。
次に、内部状態、すなわち、各レジスタの更新処理を実行する。具体的には、すべてのレジスタの保持値を1つ左へずらす処理を実行する。なお、このとき、非線形関数2a、2b、2c、2d、・・・2nおよび攪拌関数1a、1b、1c、1d、・・・1nでの処理を行う。また、最左行のレジスタ(図中、Sn、1、Sn、2、Sn、3、・・・Sn、m)からはみ出た値は、これを消去する処理を実行する(ステップS304)。
次に、すべての平文を入力したか否かを判断し(ステップS305)、すべての平文を入力していない場合(ステップS305の「NO」)には、ステップS302に戻って、ステップS302からステップS304の処理を実行する。一方、すべての平文を入力した場合(ステップS305の「YES」)には、Sビットのメッセージ認証子を出力し(ステップS306)、すべての処理を終了する。
以上説明したように、本実施形態に係るMAC生成装置によれば、入力を多段構成としたことから、これらを同時並行的に処理することにより、処理の高速化を図ることができる。さらに、各レジスタに非線形関数を結合せずに、最下段のレジスタのみに非線形関数を結合し、他のレジスタについては攪拌関数を結合する構成としたことから、特に、処理負荷の重い非線形関数を最小限に抑えることにより、処理の高速化を図ることができる。
なお、上述の一連の処理をプログラムとしてコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムを自己同期型ストリーム暗号の暗号化装置、自己同期型ストリーム暗号の復号化装置、自己同期型ストリーム暗号システム、MAC生成装置に読み込ませ、実行することによって本発明の自己同期型ストリーム暗号の暗号化装置、自己同期型ストリーム暗号の復号化装置、自己同期型ストリーム暗号システム、MAC生成装置を実現することができる。
また、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
本発明の自己同期型ストリーム暗号の暗号化装置の構成図である。 本発明の自己同期型ストリーム暗号の暗号化装置の処理フロー図である。 本発明の自己同期型ストリーム暗号の復号化装置の構成図である。 本発明の自己同期型ストリーム暗号の復号化装置の処理フロー図である。 本発明のMAC生成装置の構成図である。 本発明のMAC生成装置の処理フロー図である。
符号の説明
1a、1b、1c、1d、・・・1n 攪拌関数
2a、2b、2c、2d、・・・2n 非線形関数
3 フィルタ関数
4a、4b、4c、・・・4m、8a、8b、8c、・・・8m 第1の排他的論理演算器
5 初期値スケジューリングアルゴリズム
6 キースケジューリングアルゴリズム
7、9 第2の排他的論理演算器

Claims (10)

  1. 平文を入力し、暗号文を出力するとともに、該暗号文を入力にフィードバックする自己同期型ストリーム暗号の暗号化装置であって、
    攪拌関数部により結合されたn個(nは正の整数)のレジスタをm−1段(mは正の整数)配列して、データ入力端に配置される攪拌関数部に前記暗号文と拡大鍵生成部において生成された拡大鍵との排他的論理和の演算結果を入力するとともに、m段目にn個のレジスタを配置し、該n個のレジスタを前記攪拌関数部と非線形関数部とで結合し、データ入力端に配置される攪拌関数部に前記暗号文と前記拡大鍵との排他的論理和の演算結果と前記拡大鍵とを前記非線形関数部に入力した出力結果を入力し、前記m段目に配列されたレジスタからのすべての出力値をフィルタ関数部によりフィルタ関数処理した結果と入力した平文との排他的論理和演算を行って暗号文を生成することを特徴とする自己同期型ストリーム暗号の暗号化装置。
  2. 暗号文を入力し、平文を出力するとともに、該平文を入力にフィードバックする自己同期型ストリーム暗号の復号化装置であって、
    攪拌関数部により結合されたn個(nは正の整数)のレジスタをm−1段(mは正の整数)配列して、データ入力端に配置される攪拌関数部に前記平文と拡大鍵生成部において生成された拡大鍵との排他的論理和の演算結果を入力するとともに、m段目にn個のレジスタを配置し、該n個のレジスタを前記攪拌関数部と非線形関数部とで結合し、データ入力端に配置される攪拌関数部に前記平文と前記拡大鍵との排他的論理和の演算結果と前記拡大鍵とを前記非線形関数部に入力した出力結果を入力し、前記m段目に配列されたレジスタからのすべての出力値をフィルタ関数部によりフィルタ関数処理した結果と入力した暗号文との排他的論理和演算を行って平文を生成することを特徴とする自己同期型ストリーム暗号の復号化装置。
  3. 前記請求項1に記載の自己同期型ストリーム暗号の暗号化装置と前記請求項2に記載の自己同期型ストリーム暗号の復号化装置とを備えて構成されることを特徴とする自己同期型ストリーム暗号システム。
  4. 平文を入力し、暗号文を出力するとともに、該暗号文を入力にフィードバックして最終的な暗号文をメッセージ認証子として出力するMAC生成装置であって、
    攪拌関数部により結合されたn個(nは正の整数)のレジスタをm−1段(mは正の整数)配列して、データ入力端に配置される攪拌関数部に前記暗号文と拡大鍵生成部において生成された拡大鍵との排他的論理和の演算結果を入力するとともに、m段目にn個のレジスタを配置し、該n個のレジスタを前記攪拌関数部と非線形関数部とで結合し、データ入力端に配置される攪拌関数部に前記暗号文と前記拡大鍵との排他的論理和の演算結果と前記拡大鍵とを前記非線形関数部に入力した出力結果を入力し、前記m段目に配列されたレジスタからのすべての出力値をフィルタ関数部によりフィルタ関数処理した結果と入力した平文との排他的論理和演算を行って最終的な暗号文をメッセージ認証子として生成することを特徴とするMAC生成装置。
  5. 請求項1に記載の自己同期型ストリーム暗号の暗号化装置を用いた自己同期型ストリーム暗号の暗号化方法であって、
    拡大鍵を生成し、生成した拡大鍵を排他的論理演算部および非線形関数部にセットするとともに、初期値をmwビット分生成して、これをデータ入力端に配置されるそれぞれの排他的論理演算部にセットする第1のステップと、
    前記m段目に配置されたn個のレジスタからの値を前記フィルタ関数部に入力し、乱数列を生成する第2のステップと、
    前記第2のステップで生成された乱数列と入力した平文との排他的論理和演算を行って、暗号文を生成する第3のステップと、
    各レジスタの出力値をシフトするとともに、前記データ入力端に配置された排他的論理演算部に第3のステップで生成された暗号文を入力する第4のステップと、
    前記第2のステップから第4のステップにおけるまでの処理を順次繰り返し実行する第5のステップと、
    を備えたことを特徴とする自己同期型ストリーム暗号の暗号化方法。
  6. 請求項2に記載の自己同期型ストリーム暗号の復号化装置を用いた自己同期型ストリーム暗号の復号化方法であって、
    拡大鍵を生成し、生成した拡大鍵を排他的論理演算部および非線形関数部にセットする第1のステップと、
    前記m段目に配置されたn個のレジスタからの値を前記フィルタ関数部に入力し、乱数列を生成する第2のステップと、
    前記第2のステップで生成された乱数列と入力した暗号文との排他的論理和演算を行って、平文を生成する第3のステップと、
    各レジスタの出力値をシフトするとともに、前記データ入力端に配置された排他的論理演算部に第3のステップで生成された平文を入力する第4のステップと、
    前記第2のステップから第4のステップにおけるまでの処理を順次繰り返し実行する第5のステップと、
    を備えたことを特徴とする自己同期型ストリーム暗号の復号化方法。
  7. 請求項4に記載のMAC生成装置を用いたMAC生成方法であって、
    拡大鍵を生成し、生成した拡大鍵を排他的論理演算部および非線形関数部にセットするとともに、初期値をmwビット分生成して、これをデータ入力端に配置されるそれぞれの排他的論理演算部にセットする第1のステップと、
    前記m段目に配置されたn個のレジスタからの値を前記フィルタ関数部に入力し、乱数列を生成する第2のステップと、
    前記第2のステップで生成された乱数列と入力した平文との排他的論理和演算を行って、メッセージ認証子を生成する第3のステップと、
    各レジスタの出力値をシフトするとともに、前記データ入力端に配置された排他的論理演算部に第3のステップで生成されたメッセージ認証子を入力する第4のステップと、
    すべての平文を入力したか否かを判断する第5のステップと、
    前記第5のステップにおいて、すべての平文を入力したと判断したときに、メッセージ認証子を出力する第6のステップと、
    を備えたことを特徴とするMAC生成方法。
  8. 請求項1に記載の自己同期型ストリーム暗号の暗号化装置を用いた自己同期型ストリーム暗号の暗号化方法をコンピュータに実行させるプログラムであって、
    拡大鍵を生成し、生成した拡大鍵を排他的論理演算部および非線形関数部にセットするとともに、初期値をmwビット分生成して、これをデータ入力端に配置されるそれぞれの排他的論理演算部にセットする第1のステップと、
    前記m段目に配置されたn個のレジスタからの値を前記フィルタ関数部に入力し、乱数列を生成する第2のステップと、
    前記第2のステップで生成された乱数列と入力した平文との排他的論理和演算を行って、暗号文を生成する第3のステップと、
    各レジスタの出力値をシフトするとともに、前記データ入力端に配置された排他的論理演算部に第3のステップで生成された暗号文を入力する第4のステップと、
    前記第2のステップから第4のステップにおけるまでの処理を順次繰り返し実行する第5のステップと、
    をコンピュータに実行させるプログラム。
  9. 請求項2に記載の自己同期型ストリーム暗号の復号化装置を用いた自己同期型ストリーム暗号の復号化方法をコンピュータに実行させるプログラムであって、
    拡大鍵を生成し、生成した拡大鍵を排他的論理演算部および非線形関数部にセットする第1のステップと、
    前記m段目に配置されたn個のレジスタからの値を前記フィルタ関数部に入力し、乱数列を生成する第2のステップと、
    前記第2のステップで生成された乱数列と入力した暗号文との排他的論理和演算を行って、平文を生成する第3のステップと、
    各レジスタの出力値をシフトするとともに、前記データ入力端に配置された排他的論理演算部に第3のステップで生成された平文を入力する第4のステップと、
    前記第2のステップから第4のステップにおけるまでの処理を順次繰り返し実行する第5のステップと、
    をコンピュータに実行させるプログラム。
  10. 請求項4に記載のMAC生成装置を用いたMAC生成方法をコンピュータに実行させるプログラムであって、
    拡大鍵を生成し、生成した拡大鍵を排他的論理演算部および非線形関数部にセットするとともに、初期値をmwビット分生成して、これをデータ入力端に配置されるそれぞれの排他的論理演算部にセットする第1のステップと、
    前記m段目に配置されたn個のレジスタからの値を前記フィルタ関数部に入力し、乱数列を生成する第2のステップと、
    前記第2のステップで生成された乱数列と入力した平文との排他的論理和演算を行って、メッセージ認証子を生成する第3のステップと、
    各レジスタの出力値をシフトするとともに、前記データ入力端に配置された排他的論理演算部に第3のステップで生成されたメッセージ認証子を入力する第4のステップと、
    すべての平文を入力したか否かを判断する第5のステップと、
    前記第5のステップにおいて、すべての平文を入力したと判断したときに、メッセージ認証子を出力する第6のステップと、
    をコンピュータに実行させるプログラム。
JP2006147176A 2006-05-26 2006-05-26 自己同期型ストリーム暗号の暗号化装置、復号化装置、自己同期型ストリーム暗号システム、mac生成装置、暗号化方法、復号化方法、mac生成方法およびプログラム Active JP4819576B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006147176A JP4819576B2 (ja) 2006-05-26 2006-05-26 自己同期型ストリーム暗号の暗号化装置、復号化装置、自己同期型ストリーム暗号システム、mac生成装置、暗号化方法、復号化方法、mac生成方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006147176A JP4819576B2 (ja) 2006-05-26 2006-05-26 自己同期型ストリーム暗号の暗号化装置、復号化装置、自己同期型ストリーム暗号システム、mac生成装置、暗号化方法、復号化方法、mac生成方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2007318547A JP2007318547A (ja) 2007-12-06
JP4819576B2 true JP4819576B2 (ja) 2011-11-24

Family

ID=38851998

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006147176A Active JP4819576B2 (ja) 2006-05-26 2006-05-26 自己同期型ストリーム暗号の暗号化装置、復号化装置、自己同期型ストリーム暗号システム、mac生成装置、暗号化方法、復号化方法、mac生成方法およびプログラム

Country Status (1)

Country Link
JP (1) JP4819576B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5084224B2 (ja) * 2006-10-23 2012-11-28 Kddi株式会社 自己同期型ストリーム暗号の暗号化装置、復号化装置、自己同期型ストリーム暗号システム、mac生成装置、暗号化方法、復号化方法、mac生成方法およびプログラム
JP5415020B2 (ja) * 2008-05-27 2014-02-12 Kddi株式会社 ストリーム暗号の暗号化装置、復号化装置、mac生成装置、ストリーム暗号の暗号化方法、復号化方法、mac生成方法およびプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11224183A (ja) * 1998-02-05 1999-08-17 Toyo Commun Equip Co Ltd 擬似乱数発生装置
JP2001016197A (ja) * 1999-07-01 2001-01-19 Toyo Commun Equip Co Ltd 自己同期型ストリーム暗号システム及びこれを用いたmac生成方法

Also Published As

Publication number Publication date
JP2007318547A (ja) 2007-12-06

Similar Documents

Publication Publication Date Title
JP4735644B2 (ja) メッセージ認証装置、メッセージ認証方法、メッセージ認証プログラムとその記録媒体
JP5402632B2 (ja) 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及びプログラム
US8737603B2 (en) Cryptographic processing apparatus, cryptographic processing method, and computer program
JP5532560B2 (ja) データ変換装置、およびデータ変換方法、並びにプログラム
JP5141558B2 (ja) 共通鍵ブロック暗号化装置、その方法、そのプログラム、及び記録媒体
EP2197144A1 (en) Methods and devices for a chained encryption mode
Knudsen et al. Truncated differentials and Skipjack
JP2007316614A (ja) ハッシュ値生成装置、プログラム及びハッシュ値生成方法
JP5504592B2 (ja) データ変換装置、およびデータ変換方法、並びにプログラム
JP2000066587A (ja) データ処理装置及び通信システム並びに記録媒体
CN102713994B (zh) 加密装置
JP4819576B2 (ja) 自己同期型ストリーム暗号の暗号化装置、復号化装置、自己同期型ストリーム暗号システム、mac生成装置、暗号化方法、復号化方法、mac生成方法およびプログラム
JP5084224B2 (ja) 自己同期型ストリーム暗号の暗号化装置、復号化装置、自己同期型ストリーム暗号システム、mac生成装置、暗号化方法、復号化方法、mac生成方法およびプログラム
JP4938430B2 (ja) 非線形関数器、ストリーム暗号の暗号化装置、復号化装置、mac生成装置、ストリーム暗号の暗号化方法、復号化方法、mac生成方法およびプログラム
KR20080052291A (ko) Aes 암복호화 장치 및 암복호화 방법
JP5415020B2 (ja) ストリーム暗号の暗号化装置、復号化装置、mac生成装置、ストリーム暗号の暗号化方法、復号化方法、mac生成方法およびプログラム
CN110071927B (zh) 一种信息加密方法、系统及相关组件
JP2010256749A (ja) ハッシュ値生成装置、ハッシュ値生成方法およびプログラム
JP5489696B2 (ja) ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム
JP2011119985A (ja) 暗号復号方法
JP4842694B2 (ja) ハッシュ関数処理装置、同装置におけるハッシュ関数生成方法およびプログラム
JP3748184B2 (ja) 秘話通信装置
JP5488608B2 (ja) ブロック暗号装置、ブロック暗号化方法およびプログラム
JP2009037095A (ja) データスクランブル装置、データデスクランブル装置、データスクランブル方法、データデスクランブル方法およびプログラム
Sharma et al. Cryptolegate: The Security Ambassador

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090223

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110830

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110901

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140909

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4819576

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150