JP4750105B2 - キーストリーム暗号化装置および方法ならびにプログラム - Google Patents

キーストリーム暗号化装置および方法ならびにプログラム Download PDF

Info

Publication number
JP4750105B2
JP4750105B2 JP2007509142A JP2007509142A JP4750105B2 JP 4750105 B2 JP4750105 B2 JP 4750105B2 JP 2007509142 A JP2007509142 A JP 2007509142A JP 2007509142 A JP2007509142 A JP 2007509142A JP 4750105 B2 JP4750105 B2 JP 4750105B2
Authority
JP
Japan
Prior art keywords
stream
random number
number sequence
pseudo
generating
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
JP2007509142A
Other languages
English (en)
Other versions
JPWO2006100801A1 (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 JP2007509142A priority Critical patent/JP4750105B2/ja
Publication of JPWO2006100801A1 publication Critical patent/JPWO2006100801A1/ja
Application granted granted Critical
Publication of JP4750105B2 publication Critical patent/JP4750105B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • H04L9/0668Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator producing a non-linear pseudorandom sequence

Description

本発明は、クロックコントローラを用い、ワード単位で暗号化処理を行う、ストリーム暗号化装置および方法ならびにプログラムに関する。
近年、コンピュータを利用した様々なサービスが提供されている。多くのサービスにおいては、通信の秘匿を実現するために、暗号が利用される。暗号化方式として、最も一般的なものは、一つの鍵で暗号化・復号化を行う共通鍵暗号化方式であるが、この共通暗号化方式は、ブロック暗号方式とストリーム暗号方式の2つに大別される。
前者は、最も一般的に用いられている方式であるが、後者の方が処理速度に優れるため、注目を集められている。
上記したストリーム暗号を生成するための方法および装置の一例が以下の特許文献に開示されている。
特表2002−536912号公報
ところで、ビット単位で暗号化処理を行うストリーム暗号化方式において、クロック制御は最も一般的な構成の一つとして利用されている。
しかしながら、ワード単位で暗号化するストリーム暗号化方式においては、クロック制御により、ワード長×N(Nはクロック数)のキーストリームが捨てられ、暗号化、復号化の効率が著しく損なわれることから、クロック制御が用いられていない。
また、独立した鍵スケジューリングアルゴリズムを持たないため、内部状態が漏洩した場合、秘密鍵が部分的に漏洩してしまうといった安全性の面での問題が指摘されていた。更に、送受信(暗号化/復号化)側で同期ずれが発生した場合の復旧の仕方についても対策が困難であった。
本発明は上記事情に基づいてなされたものであり、ワード単位で暗号化を行う際に効率的な処理を実現しながら安全性を向上させ、かつ、乱数性と周期性を保証することができる、キーストリーム暗号化装置および方法ならびにプログラムを提供することを目的とする。
また、暗号化されたデータを用いて自己同期をはかることにより、送受信側で同期ずれが発生しても受信側で自動修復可能な、キーストリーム暗号化装置および方法ならびにプログラムを提供することも目的とする。
上記した課題を解決するために本発明は、クロックコントローラを用いワード単位で暗号化処理を行うストリーム暗号化装置であって、キー情報から第1の擬似乱数列を生成する第1の擬似乱数生成手段と、前記第1の擬似乱数列に基づいて行われるクロック制御に従い第2の擬似乱数列を生成する第2の擬似乱数生成手段と、前記第2の擬似乱数列を入力とし、非線形関数演算を施してキーストリームを生成するキーストリーム生成手段と、前記生成されるキーストリームとプレーンテキストとを排他的論理和演算して暗号化テキストを生成する暗号化手段と、を具備することを特徴とする。
また、本発明において、前記第1、もしくは第2の擬似乱数生成手段は、線形フィードバックシフトレジスタにより構成されることを特徴とする。
また、本発明において、前記第2の擬似乱数生成手段は、
前記第2の擬似乱数を生成するために使用される次数2の有限体を定義する多項式の根αを用い、前記第2の擬似乱数生成手段を構成する線形フィードバックシフトレジスタのフィードバック多項式または特性多項式のビットシフトにおいて、α^nを掛けてクロック制御を行う(但し、Nはワード長、nは決定されたクロック数)ことを特徴とする。
また、本発明において、前記第1の擬似乱数発生手段は、前記キー情報に一方向性関数を用いて前記第1の乱数を生成することを特徴とする。
また、本発明において、前記キーストリーム生成手段は、前記第2の擬似乱数列を入力とし、非線形関数演算を施してプリキーストリームを生成し、前記プリキーストリームと、前記第1もしくは第2の擬似乱数列とを排他的論理輪演算し、その結果を線形攪拌処理してキーストリームを生成することを特徴とする。
また、本発明において、前記キーストリームと、前記第1または第2の擬似乱数列とを算術加算もしくは排他的論理和演算をして得られるデータに基づき更新され、前記第2の擬似乱数とともに前記プリキーストリーム生成手段への入力データとして供給する内部メモリと、を具備することを特徴とする。
また、本発明は、クロックコントローラを用いワード単位で暗号化処理を行うストリーム暗号化装置であって、前記ストリーム暗号の内部状態に基づき第1の擬似乱数列を生成する第1の擬似乱数生成手段と、前記第1の擬似乱数列に基づいて行われるクロック制御に従い第2の擬似乱数列を生成する第2の擬似乱数生成手段と、前記第2の擬似乱数列を入力とし、非線形関数演算を施してキーストリームを生成するキーストリーム生成手段と、前記生成されるキーストリームとプレーンテキストとを排他的論理和演算して暗号化テキストを生成する暗号化手段と、前記暗号化テキストに所定の間隔で付与される自己同期用の識別情報を参照し、前記識別情報が付与された暗号化テキストを復号した後、前記暗号化テキストを初期値とし、当該初期値と前記キー情報とに基づき前記第1の擬似乱数生成手段と第2の擬似乱数生成手段の内部状態を設定する内部状態設定手段と、を具備することを特徴とする。
また、本発明は、クロックコントローラを用いワード単位で暗号化処理を行うストリーム暗号化方法であって、キー情報から第1の擬似乱数列を生成する第1のステップと、前記第1の擬似乱数列に基づいて行われるクロック制御に従い第2の擬似乱数列を生成する第2のステップと、前記第2の擬似乱数列を入力とし、非線形関数演算を施してキーストリームを生成する第3のステップと、前記生成されるキーストリームとプレーンテキストとを排他的論理和演算して暗号化テキストを生成する第4のステップと、を有することを特徴とする。
また、本発明において、前記第3のステップは、前記第2の擬似乱数列を入力とし、非線形関数演算を施してプリキーストリームを生成するサブステップと、前記プリキーストリームと、前記第1もしくは第2の擬似乱数列とを排他的論理輪演算し、その結果を線形攪拌処理してキーストリームを生成するサブステップとを含むことを特徴とする。
また、本発明は、クロックコントローラを用いワード単位で暗号化処理を行うストリーム暗号化方法であって、前記ストリーム暗号の内部状態に基づき第1の擬似乱数列を生成するステップと、前記第1の擬似乱数列に基づいて行われるクロック制御に従い第2の擬似乱数列を生成するステップと、前記第2の擬似乱数列を入力とし、非線形関数演算を施してキーストリームを生成するステップと、前記生成されるキーストリームとプレーンテキストとを排他的論理和演算して暗号化テキストを生成するステップと、前記暗号化テキストに所定の間隔で付与される自己同期用の識別情報を参照し、前記識別情報が付与された暗号化テキストを復号した後、前記暗号化テキストを初期値とし、当該初期値とキー情報とに基づき前記内部状態を設定するステップと、を有することを特徴とする。
また、本発明は、クロックコントローラを用いワード単位で暗号化処理を行うストリーム暗号化装置に用いられるブログラムであって、キー情報から第1の擬似乱数列を生成する第1の処理と、前記第1の擬似乱数列に基づいて行われるクロック制御に従い第2の擬似乱数列を生成する第2の処理と、前記第2の擬似乱数列を入力とし、非線形関数演算を施してキーストリームを生成する第3の処理と、前記生成されるキーストリームとプレーンテキストとを排他的論理和演算して暗号化テキストを生成する第4の処理と、をコンピュータに実行させることを特徴とする。
また、本発明において、前記第3の処理は、前記第2の擬似乱数列を入力とし、非線形関数演算を施してプリキーストリームを生成するサブ処理と、前記プリキーストリームと、前記第1もしくは第2の擬似乱数列とを排他的論理輪演算し、その結果を線形攪拌処理してキーストリームを生成するサブ処理と、を含むことを特徴とする。
また、本発明は、クロックコントローラを用いワード単位で暗号化処理を行うストリーム暗号化装置に用いられるプログラムであって、前記ストリーム暗号の内部状態に基づき第1の擬似乱数列を生成する処理と、前記第1の擬似乱数列に基づいて行われるクロック制御に従い第2の擬似乱数列を生成する処理と、前記第2の擬似乱数列を入力とし、非線形関数演算を施してキーストリームを生成する処理と、前記生成されるキーストリームとプレーンテキストとを排他的論理和演算して暗号化テキストを生成する処理と、前記暗号化テキストに所定の間隔で付与される自己同期用の識別情報を参照し、前記識別情報が付与された暗号化テキストを復号した後、前記暗号化テキストを初期値とし、当該初期値とキー情報とに基づき前記内部状態を設定する処理と、をコンピュータに実行させることを特徴とする。
本発明によれば、キー情報から第1の擬似乱数列を生成し、当該第1の擬似乱数列に基づいて行われるクロック制御に従って第2の擬似乱数列を生成し、非線形関数演算を施してキーストリームを生成することでワード単位での暗号化の特徴を生かしたクロック制御を行うことができ、効率を落とすことなく安全性を向上させることができる。また、クロックが直接キーストリームに反映されないため、解析方法が限定されるといった効果も得られる。
更に、非線形関数演算手段で非線形関数演算処理を施した出力と、非線形関数演算処理を施す前の出力との排他的論理和演算を行い、線形攪拌処理部が、排他的論理和演算を行った後の出力を線形攪拌処理することで、第1と第2の擬似乱数生成手段が元々持つ乱数性と、非線形関数演算手段が元々持つ周期性とを均一化することができ、このことにより、安全性はもとより、乱数性と周期性を保証することができる。
また、送信(暗号化)側で暗号化テキストに所定の間隔で自己同期用の識別情報を付与し、受信(復号化)側でその識別情報を参照し、暗号化テキストに自己同期用の識別情報が付与されていれば、復号した後、その暗号化テキストを初期値とし、当該初期値とキー情報とに基づき第1の擬似乱数生成手段と第2の擬似乱数生成手段の内部状態を設定し、上記した一連の処理を実行することにより、送受信側で同期ずれが発生しても受信側で自動的に修復が可能となり、より、安全性が確保される。
第1の実施形態に係るストリーム暗号化装置の内部構成を示すブロック図である。 第1の実施形態におけるストリーム暗号化方法の各工程を説明するために引用したフローチャートである。 第1の実施形態におけるストリーム暗号化方法の各工程を説明するために引用したフローチャートである。 第2の実施形態に係るストリーム暗号化装置の内部構成を示すブロック図である。 第2の実施形態におけるストリーム暗号化方法の各工程を説明するために引用したフローチャートである。 第2の実施形態におけるストリーム暗号化方法の各工程を説明するために引用したフローチャートである。 第2の実施形態に係るストリーム暗号化装置による線形攪拌処理の一例を説明するために引用した図である。 第2の実施形態に係るストリーム暗号化装置の応用例の内部構成を示すブロック図である。 図8に示すストリーム暗号化装置の動作を説明するために引用したフローチャートである。
符号の説明
1 内部状態生成部、
2 LFSR−A(第1の擬似乱数列発生手段)、
3 クロックコントローラ、
4 LFSR−B(第2の擬似乱数列発生手段)、
5 内部メモリ、
6 非線型関数発生器(プリキーストリーム生成手段)、
7 XOR演算器(キーストリーム生成手段)、
8 線形攪拌処理部(キーストリーム生成手段)、
9 XOR演算器(暗号化手段)、
10 加算器、
11 識別情報付与部
<第1の実施形態>
図1は、本発明の実施形態に係るストリーム暗号化装置の内部構成を示すブロック図である。
本発明の実施形態に係るストリーム暗号化装置は、内部状態生成部1と、LFSR−A(第1の擬似乱数列生成部)2と、クロックコントローラ3と、LFSR−B(第2の擬似乱数列生成部)4と、内部メモリ5と、非線形関数演算器6と、排他的論理和(XOR)演算器7とで構成される。
内部状態生成部1は、外部から秘密鍵(IK)と初期値(IV)とを入力として、内蔵のキースケジュールアルゴリズムを実行して決定される内部状態を第1の擬似乱数生成手段として用いられる線形フィードバックシフトレジスタLFSR−A(2)と、第2の擬似乱数列生成手段として用いられる線形フィードバックシフトレジスタLFSR−B(4)のそれぞれに設定する。
ここで、LFSR−B(4)により生成されるキーストリーム(第2の擬似乱数列)は、キーストリーム生成手段として用いられる非線形関数演算器6の入力として供給されている。非線型関数発生器6は、入力されたキーストリームと、内部メモリ5に記憶された内容(初期値は0x00)とにより、ある非線形関数演算を実行して新たなキーストリームを生成する。
一方、非線型関数発生器6の出力は内部メモリ5にも供給されており、内容更新された内部メモリ5の出力は非線形関数演算器6にフィードバック入力される。また、LFSR−A(2)は、クロック制御を行うクロックコントローラ3に対してキーストリーム(第1の擬似乱数列)を出力している。クロックコントローラ3は、入力されたキーストリームに従いクロック(シフト量)を決定してLFSR−B(4)を制御する構成になっている。
なお、暗号化手段として用いられる演算器7は、プレーンテキストと非線形関数演算器6から出力されるキーストリームとをXOR演算して暗号化テキストを出力する。
図2、図3は、本発明の実施形態に係るストリーム暗号化方法の各工程を説明するために引用したフローチャートである。
以下、図2、図3に示すフローチャートを参照しなから、本発明の実施形態に係るストリーム暗号化方法、および図1に示すストリーム暗号化装置の動作について詳細に説明する。
まず、図2に示すフローチャートを参照しながら初期処理とキーストリーム処理について説明する。最初に初期処理から説明する。
LFSE−A(2)、LFSR−B(4)への内部状態の設定にあたり、内部状態生成部1へ秘密鍵(Initial Key)と初期値(Initial Value)を入力する(S21)。内部状態生成部1は、所定のキースケジュールアルゴリズムに従い内部状態を決定し(S22)、LFSE−A(2)、LFSR−B(4)のそれぞれに内部状態(第1の擬似乱数列、第2の擬似乱数列)を設定する(S23)。
上記した初期処理の後、以下の手順に従って暗号化あるいは復号化のためのキーストリーム処理を実行する。
すなわち、LFSR−B(4)により出力されるキーストリーム(第2の擬似乱数列)は、後述するクロックコントローラ3によるクロック制御(S24)を経て非線形関数演算器6の入力として供給されている。非線型関数発生器6は、入力されたキーストリームと、内部メモリ5に記憶された内容(初期値は0x00)とにより、ある非線形関数演算を実行して新たなキーストリームを生成する(S25)。そして、非線型関数発生器6により生成されるキーストリームは、演算器7に供給され、演算器7でキーストリームとプレーンテキストとのXOR演算が実行され、このことにより、暗号化あるいは復号化テキストが生成される(S26)。
次に、上記した内部状態の更新処理について図3に示すフローチャートを参照しながら説明する。
まず、非線型関数発生器6の出力は演算器7の他に内部メモリ5にも供給されており、内容更新された内部メモリ5の出力は非線形関数演算器6にフィードバック入力される(S31)。また、LFSR−A(2)は、クロック制御を行うクロックコントローラ3に対して第1の擬似乱数列を出力している(S32)。
クロックコントローラ3は、入力されたキーストリーム(第1の擬似乱数列)に従いクロックを決定してLFSR−B(4)を制御する(S33)。
具体的に、ここでは、LFSR−A(2)、LFSR−B(4)を1周期動作させる。その際、クロックコントローラ3は、次数2のガロア有限フィールド(GF2^N)を定義する多項式の根αに従い、LFSR−B(4)のフィードバックポリノミアル(図1中結線部分)のビットシフトにクロック制御(α^nを掛ける)を行う(S34)。ここで、nはクロックコントローラ3が決定したクロック数(シフト量)である。このことにより、1ワード内でのクロック制御を行う。
次に、上記したキーストリーム生成処理に戻り、以降説明した処理を繰り返す。
以上説明のように本発明は、キー情報から第1の擬似乱数列を生成し、当該第1の擬似乱数列に基づいて行われるクロック制御に従い第2の擬似乱数列を生成し、非線形関数演算を施してキーストリームを生成することで、ワード単位での暗号化の特徴を生かしたクロック制御を行うものであり、効率を落とすことなく安全性を向上させる。本発明によれば、クロックが直接生成されるキーストリームに反映されないため、解析方法が限定されるといった派生的効果も得られる。
また、第2の擬似乱数生成手段をLFSRで構成し、フィードバックポリノミアルのビットシフトにクロック制御を導入することで安全性の向上とロスの最小化がはかれる。
更に、第1の擬似乱数生成手段に、ブロック暗号で使用されている鍵スケジュールアルゴリズムに基づき、LFSRとは独立した初期値設定を行うことで安全性が増し、万が一、内部状態が漏洩しても、アルゴリズムとしてハッシュ関数等の一方向性関数が保証されたアルゴリズムを用いることで共有鍵を危殆化しない仕組みを構築することができる。
<第2の実施形態>
図4は、第2の実施形態に係るストリーム暗号化装置の内部構成を示すブロック図である。
本実施形態に係るストリーム暗号化装置は、内部状態生成部1と、第1の擬似乱数列生成部2と、クロックコントローラ3と、第2の擬似乱数列生成部4と、内部メモリ5と、非線形関数発生器6と、排他的論理和(XOR)演算器7と、線形攪拌処理部8と、XOR演算器9と、加算器10とで構成される。なお、第1の実施形態と同一の符号を付す部分は、同様の機能を有することから詳細な説明は省略する。
線形攪拌処理部8は、非線形関数演算器6により生成されるプリキーストリームと、LFSR−B(4)により生成される第2の擬似乱数列とを排他的論理輪演算した結果を線形攪拌処理してキーストリームを生成し、XOR演算器9および加算器10の一方の入力端子へ供給する。
加算器10の他方の入力端子には、LFSR−A(2)により出力されるキーストリーム(第1の擬似乱数列)が供給されている。加算器10は、線形攪拌処理部8により出力されるキーストリームと、LFSR−A(2)により出力されるキーストリーム(第1の擬似乱数列)とを算術加算して内部メモリ5へ供給し、内部メモリ5の内容更新を行う。
なお、暗号化手段として用いられるXOR演算器9は、プレーンテキストと線形攪拌処理部8から出力されるキーストリームとをXOR演算して暗号化テキスト(以下、サイファーテキストという)を出力する。
図5、図6は、本実施形態に係るストリーム暗号化方法の各工程を説明するために引用したフローチャートである。
以下、図5、図6に示すフローチャートを参照しなから、本発明の実施形態に係るストリーム暗号化方法、および図4に示すストリーム暗号化装置の動作について詳細に説明する。
まず、図5に示すフローチャートを参照しながら初期処理とキーストリーム処理について説明する。最初に初期処理から説明する。
LFSE−A(2)、LFSR−B(4)への内部状態の設定にあたり、外部から、内部状態生成部1に対して、秘密鍵(Initial Key)と初期値(Initial Value)が設定入力される(S51)。内部状態生成部1は、所定のキースケジュールアルゴリズムに従い内部状態を決定し(S52)、LFSE−A(2)、LFSR−B(4)のそれぞれに内部状態(第1の擬似乱数列、第2の擬似乱数列)を設定する(S53)。
上記した初期処理の後、本発明のストリーム暗号化装置は、以下の手順に従って暗号化あるいは復号化のためのキーストリーム処理を実行する。
すなわち、LFSR−B(4)により出力されるキーストリーム(第2の擬似乱数列)は、後述するクロックコントローラ3によるクロック制御(S54)に基づき非線形関数発生器6の入力として供給されている(S55)。非線型関数発生器6は、入力されたキーストリームと、内部メモリ5に記憶された内容(初期値は0x00)とにより、ある非線形関数演算を実行してプリキーストリームを生成する(S56)。そして、非線型関数発生器6により生成されるプリキーストリームは、XOR演算器7に供給され、XOR演算器7は、このプリキーストリームとFSR−B(4)により出力されるキーストリーム(第2の擬似乱数列)とのXOR演算を実行し、その結果を線形攪拌処理部8へ供給する(S57)。
線形攪拌処理部8は、XOR演算器7の出力の線形攪拌処理を実行するが、例えば、図8に示されるように、(a)XOR演算した結果得られる入力データを、(b)ブロック単位に区切って平面上に配置し、(c)(d)縦方向、横方向に回転させる。(e)そして、再びビット列に変換してキーストリームとして出力する(S58)。
このように、線形攪拌処理部8が、非線形間末演算器6により出力されるプリキーストリームと、LFSR−B(4)出力であるキーストリーム(第2の擬似乱数列)とのXOR演算の出力結果を線形攪拌処理することで、LFSR−A(2)とLFSR−B(4)が元々持つ乱数性と、非線形関数演算器6が元々持つ周期性とを均一化することができ、このことにより、乱数性と周期性を保証することができる。
なお、攪拌処理部8により出力されるキーストリームは、プレーンテキストと共にXOR演算器9に供給され、XOR演算器9により暗号化/復号化され、サイファーテキストが生成される(S59)。
次に、上記した内部状態の更新処理について図6に示すフローチャートを参照しながら説明する。
線形攪拌処理部8により出力されるキーストリームは、XOR演算器9の他に加算器10にも供給されている。加算器10には、他に、LFSR−A(2)からもキーストリーム(第1の擬似乱数列)が供給されており、この加算器10で算術加算された結果生成されるキーストリームに基づき内部メモリ5の内容が更新される(S71)。
このことにより、内部メモリ5に記憶される内容の隠蔽がはかれ、一層、安全性が向上する。すなわち、万が一、線形攪拌処理部8からのキーストリームがわかったとしても、LFSR−A(2)から出力されるキーストリームを推測しない限り内部メモリ5の内容が漏れることはない。
内容更新された内部メモリ5の出力は非線形関数発生器6にフィードバック入力される。また、LFSR−A(2)は、クロック制御を行うクロックコントローラ3に対して第1の擬似乱数列を出力している(S72)。
クロックコントローラ3は、入力されたキーストリーム(第1の擬似乱数列)に従いクロックを決定してLFSR−B(4)を制御する(S73)。
具体的に、ここでは、LFSR−A(2)、LFSR−B(4)を1周期動作させる。その際、クロックコントローラ3は、次数2のガロア有限フィールド(GF2^N)を定義する多項式の根αに従い、LFSR−B(4)のフィードバックポリノミアル(図4中、結線部分)のビットシフトにクロック制御(α^nを掛ける)を行う(S74)。ここで、nはクロックコントローラ3が決定したクロック数(シフト量)である。このことにより、1ワード内でのクロック制御を行う。次に、上記したキーストリーム生成処理に戻り、以降説明した処理を繰り返す。
上記した本発明の実施形態によれば、キー情報から第1の擬似乱数列を生成し、当該第1の擬似乱数列に基づいて行われるクロック制御に従い第2の擬似乱数列を生成し、非線形関数演算を施してキーストリームを生成するものであり、このことにより、ワード単位での暗号化の特徴を生かしたクロック制御を行うことができ、効率を落とすことなく安全性を向上させることができる。また、クロックが直接生成されるキーストリームに反映されないため、解析方法が限定されるといった効果も得られる。
また、第2の擬似乱数生成手段をLFSRで構成し、フィードバックポリノミアルのビットシフトにクロック制御を導入することで安全性の向上とロスの最小化がはかれる。更に、第1の擬似乱数生成手段に、ブロック暗号で使用されている鍵スケジュールアルゴリズムに基づき、LFSRとは独立した初期値設定を行うことで安全性が増し、万が一、内部状態が漏洩しても、アルゴリズムとしてハッシュ関数等の一方向性関数が保証されたアルゴリズムを用いることで共有鍵を危殆化しない仕組みを構築することができる。
また、非線形関数演算機により非線形関数演算を施した出力と、非線形関数演算を施す前の出力との排他的論理和演算を行い、この排他的論理和演算を行った後の出力を線形攪拌処理することで、第1と第2の擬似乱数生成手段が元々持つ乱数性と、非線形関数演算手段が元々持つ周期性とを均一化することができ、このことにより、安全性はもとより、乱数性と周期性を保証することができる。
図8は、本発明の実施形態に係るストリーム暗号化装置の応用例についての内部構成を示すブロック図である。
図4に示す実施形態との構成上の差異は、サイファーテキストを生成するXOR演算器9出力に、識別情報付与部11を付加したことにある。識別情報付与部11は、サイファーテキスト(CT)に、一定の間隔毎に自己同期用の識別情報(H1)を付与するモジュールであり、その間隔は任意に設定できるものとする。
受信(復号化)側では、上記した初期処理を実行した状態で待機し、サイファーデータを受信した場合には、上記した、キーストリーム生成、暗号化/復号化処理、内部状態更新処理を逐次実行して初期処理に戻る。図9にその処理手順がフローチャートで示されている。
以下、図9のフローチャートを参照しながら、本発明の実施形態に係るストリーム暗号化装置の応用例についての動作説明を行う。
まず、内部状態生成部1は、受信したサイファーテキストに自己同期用の識別情報が付与されていれば、そのサイファーテキストを初期値(IV)として、初期処理(内部状態の設定)を実行する(S91)。
ここでいう、初期処理とは、内部状態生成部1が、秘密鍵(IK)と初期値(IV)とを内蔵するキースケジュールアルゴリズムに設定入力し、このキースケジュールアルゴリズムに従い決定される内部状態を、LFSR−A(2)とLFSR−B(4)に入力する処理をいう。
ストリーム暗号化装置は、送信側からのサイファーデータの送信を待ち(S92)、サイファーデータを受信したときに、非線形関数演算器6を介してキーストリームを生成し(S93)、暗号化/復号化処理を実行する(S94)。
具体的に、非線形関数演算器6が、LFSR−B(4)により出力されるキーストリーム(第2の擬似乱数列)に非線形関数演算を施すことによりプリキーストリームが生成され、当該プリキーストリームと、LFSR−B(4)により出力されるキーストリーム(第2の擬似乱数列)とを排他的論理輪演算して得られる結果を、更に線形攪拌処理部8で線形攪拌処理することによりキーストリームが生成される(S93:キーストリーム生成)。また、サイファーテキストは、線形攪拌処理部8により出力されるキーストリームと、プレーンテキストとをXOR演算器9により排他的論理和演算することにより生成される(S94:暗号化/復号化処理)。
暗号化と復号化のロジックは同様の構成を採り、このため、暗号化されたデータを暗号化すれば復号化することができる。したがって、受信側では、復号化処理を実行した後、内部状態設定部1が、生成されたサイファーテキストを参照し(S95)、例えば、そのヘッダに自己同期用の識別情報が付与されていれば、そのサイファーテキストを初期値(IV)とすることができる(S96)。そして、秘密鍵(IK)を入力として得ることにより、内蔵のキースケジュールアルゴリズムに従う初期処理(LFSR−A(2)とLFSR−B(4)に決定された内部状態を入力)を実行する(S61)ことができる。
上記した本発明の応用例によれば、送信(暗号化)側で、暗号化テキストに所定の間隔で自己同期用の識別情報を付与し、受信(復号化)側で、その識別情報を参照し、暗号化テキストに自己同期用の識別情報が付与されていれば、復号した後にその暗号化テキストを初期値とし、当該初期値とキー情報とに基づき第1の擬似乱数生成手段と第2の擬似乱数生成手段の内部状態を設定し、上記した一連の処理を実行するものであり、このことにより、送受信側で同期ずれが発生しても受信側で自動的に修復が可能となり、より安全性が確保される。
なお、上記した応用例を含む本発明の実施形態によれば、XOR演算器7の一方の入力として、LFSR−B(4)出力を用い、また、加算器10の一方の入力として、LFSR−A(2)出力を用いたが、それぞれ、LFSR−A(2)出力、LFSR−B(4)出力を用いても同じ効果が得られ、その組み合わせは任意である。
また、図4、図8に示す内部状態生成部1、LFSR−A(2)、クロックコントローラ3、LFSR−B(4)、内部メモリ5、非線型関数発生器6、XOR演算器7、9、攪拌処理部8、加算器10、識別情報付与部11のそれぞれで実行される手順をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによっても本発明のストリーム暗号化装置を実現することができる。ここでいうコンピュータシステムとは、OSや周辺機器等のハードウェアを含む。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。

Claims (11)

  1. クロックコントローラを用いワード単位で暗号化処理を行うストリーム暗号化装置であって、
    キー情報から第1の擬似乱数列を生成する第1の擬似乱数生成手段と、
    前記第1の擬似乱数列に基づいて前記クロックコントローラにより行われるクロック制御に従い第2の擬似乱数列を生成する第2の擬似乱数生成手段と、
    前記第2の擬似乱数列を入力とし、非線形関数演算を施してキーストリームを生成するキーストリーム生成手段と、
    前記生成されるキーストリームとプレーンテキストとを排他的論理和演算して暗号化テキストを生成する暗号化手段と、
    を具備し、
    前記クロックコントローラは、前記第2の擬似乱数列を生成するために使用される次数2の有限体を定義する多項式の根αを用い、前記第2の擬似乱数生成手段を構成する線形フィードバックシフトレジスタのフィードバック多項式または特性多項式のビットシフトにおいてα^n(但し、nは前記クロックコントローラにより決定されたクロック数)を掛けることにより、前記第2の擬似乱数生成手段に対しクロック制御を行う
    ことを特徴とするストリーム暗号化装置。
  2. 前記第1の擬似乱数生成手段は、
    線形フィードバックシフトレジスタにより構成されることを特徴とする請求項1に記載のストリーム暗号化装置。
  3. 前記キーストリーム生成手段は、
    前記第2の擬似乱数列を入力とし、非線形関数演算を施してプリキーストリームを生成し、前記プリキーストリームと、前記第1もしくは第2の擬似乱数列とを排他的論理演算し、その結果を線形攪拌処理してキーストリームを生成することを特徴とする請求項1または請求項2に記載のストリーム暗号化装置。
  4. 前記キーストリームと、前記第1または第2の擬似乱数列とを算術加算もしくは排他的論理和演算をして得られるデータに基づき更新され、前記第2の擬似乱数とともに前記キーストリーム生成手段への入力データとして供給する内部メモリと、
    を具備することを特徴とする請求項に記載のストリーム暗号化装置。
  5. 記暗号化テキストに所定の間隔で付与される自己同期用の識別情報を参照し、前記識別情報が付与された暗号化テキストを復号した後、前記暗号化テキストを初期値とし、当該初期値と前記キー情報とに基づき前記第1の擬似乱数生成手段と第2の擬似乱数生成手段の内部状態を設定する内部状態設定手段を備え
    前記第1の擬似乱数生成手段は、前記設定された内部状態に基づき第1の擬似乱数列を生成する
    ことを特徴とする請求項1から請求項4のいずれか1の項に記載のストリーム暗号化装置。
  6. クロックコントローラを用いワード単位で暗号化処理を行うストリーム暗号化方法であって、
    キー情報から第1の擬似乱数列を生成する第1のステップと、
    前記第1の擬似乱数列に基づいて前記クロックコントローラにより行われるクロック制御に従い第2の擬似乱数列を生成する第2のステップと、
    前記第2の擬似乱数列を入力とし、非線形関数演算を施してキーストリームを生成する第3のステップと、
    前記生成されるキーストリームとプレーンテキストとを排他的論理和演算して暗号化テキストを生成する第4のステップと、
    を有し、
    前記クロック制御は、前記第2の擬似乱数列を生成するために使用される次数2の有限体を定義する多項式の根αを用い、前記第2の擬似乱数列を生成する手段である線形フィードバックシフトレジスタのフィードバック多項式または特性多項式のビットシフトにおいてα^n(但し、nは前記クロックコントローラにより決定されたクロック数)を掛けることにより行われる制御である
    ことを特徴とするストリーム暗号化方法。
  7. 前記第3のステップは、
    前記第2の擬似乱数列を入力とし、非線形関数演算を施してプリキーストリームを生成するサブステップと、
    前記プリキーストリームと、前記第1もしくは第2の擬似乱数列とを排他的論理演算し、その結果を線形攪拌処理してキーストリームを生成するサブステップとを含むことを特徴とする請求項に記載のストリーム暗号化方法。
  8. 前記ストリーム暗号の内部状態に基づき第1の擬似乱数列を生成するステップと、
    記暗号化テキストに所定の間隔で付与される自己同期用の識別情報を参照し、前記識別情報が付与された暗号化テキストを復号した後、前記暗号化テキストを初期値とし、当該初期値とキー情報とに基づき前記線形フィードバックシフトレジスタの内部状態を設定するステップを有し
    前記第1のステップは、前記設定された内部状態に基づき第1の擬似乱数列を生成するステップである
    ことを特徴とする請求項6または請求項7に記載のストリーム暗号化方法。
  9. クロックコントローラを用いワード単位で暗号化処理を行うストリーム暗号化装置に用いられるブログラムであって、
    キー情報から第1の擬似乱数列を生成する第1の処理と、
    前記第1の擬似乱数列に基づいて、次数2の有限体を定義する多項式の根αを用い、線形フィードバックシフトレジスタのフィードバック多項式または特性多項式のビットシフトにおいてα^n(但し、nは前記クロックコントローラにより決定されたクロック数)を掛けることによりクロック制御を行って、第2の擬似乱数列を生成する第2の処理と、
    前記第2の擬似乱数列を入力とし、非線形関数演算を施してキーストリームを生成する第3の処理と、
    前記生成されるキーストリームとプレーンテキストとを排他的論理和演算して暗号化テキストを生成する第4の処理と、
    をコンピュータに実行させるプログラム。
  10. 前記第3の処理は、
    前記第2の擬似乱数列を入力とし、非線形関数演算を施してプリキーストリームを生成するサブ処理と、
    前記プリキーストリームと、前記第1もしくは第2の擬似乱数列とを排他的論理演算し、その結果を線形攪拌処理してキーストリームを生成するサブ処理と、を含むことを特徴とする請求項に記載のプログラム。
  11. 記暗号化テキストに所定の間隔で付与される自己同期用の識別情報を参照し、前記識別情報が付与された暗号化テキストを復号した後、前記暗号化テキストを初期値とし、当該初期値とキー情報とに基づき前記線形フィードバックシフトレジスタの内部状態を設定する処理を含み
    前記第1の処理は、前記設定された内部状態に基づき前記第1の擬似乱数列を生成する処理である
    ことを特徴とする請求項9または請求項10に記載のプログラム。
JP2007509142A 2005-03-23 2005-11-18 キーストリーム暗号化装置および方法ならびにプログラム Active JP4750105B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007509142A JP4750105B2 (ja) 2005-03-23 2005-11-18 キーストリーム暗号化装置および方法ならびにプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2005083681 2005-03-23
JP2005083681 2005-03-23
PCT/JP2005/021302 WO2006100801A1 (ja) 2005-03-23 2005-11-18 キーストリーム暗号化装置および方法ならびにプログラム
JP2007509142A JP4750105B2 (ja) 2005-03-23 2005-11-18 キーストリーム暗号化装置および方法ならびにプログラム

Publications (2)

Publication Number Publication Date
JPWO2006100801A1 JPWO2006100801A1 (ja) 2008-08-28
JP4750105B2 true JP4750105B2 (ja) 2011-08-17

Family

ID=37023494

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007509142A Active JP4750105B2 (ja) 2005-03-23 2005-11-18 キーストリーム暗号化装置および方法ならびにプログラム

Country Status (3)

Country Link
US (2) US7978851B2 (ja)
JP (1) JP4750105B2 (ja)
WO (1) WO2006100801A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8374351B2 (en) * 2006-07-21 2013-02-12 Nec Corporation Encryption device, program, and method
JP5096794B2 (ja) * 2007-05-17 2012-12-12 Kddi株式会社 ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、自己同期型ストリーム暗号の暗号化装置、自己同期型ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、自己同期型ストリーム暗号の暗号化方法およびプログラム
JP5102536B2 (ja) * 2007-05-17 2012-12-19 Kddi株式会社 ストリーム暗号の暗号化装置、復号化装置、暗号化方法、復号化方法およびプログラム
US20080298583A1 (en) 2007-05-31 2008-12-04 Lucent Technologies Inc. System and method of quantum encryption
JP5415020B2 (ja) * 2008-05-27 2014-02-12 Kddi株式会社 ストリーム暗号の暗号化装置、復号化装置、mac生成装置、ストリーム暗号の暗号化方法、復号化方法、mac生成方法およびプログラム
JP5188414B2 (ja) * 2009-02-09 2013-04-24 三菱電機株式会社 情報処理装置及び情報処理方法及びプログラム
US20110299678A1 (en) * 2010-06-07 2011-12-08 Alexander Roger Deas Secure means for generating a specific key from unrelated parameters
GB2491896A (en) * 2011-06-17 2012-12-19 Univ Bruxelles Secret key generation
US8953784B2 (en) * 2011-11-02 2015-02-10 Guang Gong Lightweight stream cipher cryptosystems
JP2013127547A (ja) * 2011-12-19 2013-06-27 Kddi Corp クロック制御型ストリーム暗号の暗号化装置、クロック制御型ストリーム暗号の復号化装置、クロック制御型ストリーム暗号の暗号化方法、クロック制御型ストリーム暗号の復号化方法およびプログラム
AT511842B1 (de) * 2012-01-26 2013-03-15 Cordes Rene Michael Mag Verfahren zum schreiben und lesen von daten
JP5858503B2 (ja) * 2012-02-15 2016-02-10 Necソリューションイノベータ株式会社 評価装置、評価方法、及び、評価プログラム
US8687808B2 (en) 2012-04-10 2014-04-01 Comtech Ef Data Corp. Method and system for self synchronizing cryptographic parameters
US9264222B2 (en) 2013-02-28 2016-02-16 Apple Inc. Precomputing internal AES states in counter mode to protect keys used in AES computations
US9432341B2 (en) * 2013-05-30 2016-08-30 International Business Machines Corporation Securing data in a dispersed storage network
US11226860B1 (en) 2013-05-30 2022-01-18 Pure Storage, Inc. Difference based rebuild list scanning
WO2016027454A1 (ja) * 2014-08-20 2016-02-25 日本電気株式会社 認証暗号化方法、認証復号方法および情報処理装置
EP3203460B1 (en) * 2016-02-05 2021-04-07 Nxp B.V. Secure data storage
US11175893B2 (en) * 2017-10-17 2021-11-16 Blue ArmorTechnologies, LLC Statistical object generator
CN110995411B (zh) * 2019-11-13 2022-04-26 京东科技控股股份有限公司 加密、解密方法、装置、电子设备及存储介质
US11704033B1 (en) 2021-09-30 2023-07-18 Amazon Technologies, Inc. Request routing management for a distributed storage system
US11640240B1 (en) * 2021-09-30 2023-05-02 Amazon Technologies, Inc. Transaction management for monotonic write consistency in a distributed storage system
US11741078B1 (en) 2021-09-30 2023-08-29 Amazon Technologies, Inc. Witness service for ensuring data consistency in a distributed storage system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0736673A (ja) * 1993-07-20 1995-02-07 Canon Inc 乱数発生器、及びそれを用いた通信システム及びその方法
JPH08202535A (ja) * 1995-01-26 1996-08-09 Nippon Telegr & Teleph Corp <Ntt> 擬似乱数の生成方法および生成装置
JP2000209195A (ja) * 1999-01-14 2000-07-28 Toyo Commun Equip Co Ltd 暗号通信システム
JP2002536912A (ja) * 1999-02-08 2002-10-29 クゥアルコム・インコーポレイテッド 暗号化ストリーム暗号を発生するための方法及び装置
JP2003519960A (ja) * 1999-12-02 2003-06-24 ハネウェル・インコーポレーテッド 乗算を用いる暗号アイソレータ

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03251890A (ja) * 1990-03-01 1991-11-11 Kokusai Denshin Denwa Co Ltd <Kdd> 非線形フィードバック・シフトレジスタ装置
US6252958B1 (en) * 1997-09-22 2001-06-26 Qualcomm Incorporated Method and apparatus for generating encryption stream ciphers
JP3251890B2 (ja) 1997-10-23 2002-01-28 新日本製鐵株式会社 鋼管トラスにおける鋼管部材の接合構造
JP4460772B2 (ja) * 1998-06-25 2010-05-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 同期ストリーム暗号
JP3724399B2 (ja) * 2001-01-23 2005-12-07 株式会社日立製作所 疑似乱数生成装置またはそれを用いた暗号復号処理装置
US7142675B2 (en) * 2002-02-12 2006-11-28 City University Of Hong Kong Sequence generator and method of generating a pseudo random sequence
US20040086117A1 (en) * 2002-06-06 2004-05-06 Petersen Mette Vesterager Methods for improving unpredictability of output of pseudo-random number generators
WO2004051921A1 (ja) * 2002-12-03 2004-06-17 Matsushita Electric Industrial Co., Ltd. 鍵共有システム、共有鍵生成装置及び共有鍵復元装置
US20050244000A1 (en) * 2004-04-28 2005-11-03 Coleman Ryon K Fast-key generator for encryption, authentication or security

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0736673A (ja) * 1993-07-20 1995-02-07 Canon Inc 乱数発生器、及びそれを用いた通信システム及びその方法
JPH08202535A (ja) * 1995-01-26 1996-08-09 Nippon Telegr & Teleph Corp <Ntt> 擬似乱数の生成方法および生成装置
JP2000209195A (ja) * 1999-01-14 2000-07-28 Toyo Commun Equip Co Ltd 暗号通信システム
JP2002536912A (ja) * 1999-02-08 2002-10-29 クゥアルコム・インコーポレイテッド 暗号化ストリーム暗号を発生するための方法及び装置
JP2003519960A (ja) * 1999-12-02 2003-06-24 ハネウェル・インコーポレーテッド 乗算を用いる暗号アイソレータ

Also Published As

Publication number Publication date
US20070263861A1 (en) 2007-11-15
US8654972B2 (en) 2014-02-18
US20110216901A1 (en) 2011-09-08
WO2006100801A1 (ja) 2006-09-28
US7978851B2 (en) 2011-07-12
JPWO2006100801A1 (ja) 2008-08-28

Similar Documents

Publication Publication Date Title
JP4750105B2 (ja) キーストリーム暗号化装置および方法ならびにプログラム
US8396209B2 (en) Mechanism for chained output feedback encryption
Mathur et al. AES based text encryption using 12 rounds with dynamic key selection
JP4828068B2 (ja) コンピュータで効率的な線形フィードバック・シフト・レジスタ
JP4774509B2 (ja) 擬似乱数発生システム
US20070174374A1 (en) Pseudorandom number generator and pseudorandom number generation program
US20090103726A1 (en) Dual-mode variable key length cryptography system
CN105490802A (zh) 基于gpu的改进sm4并行加解密通信方法
JP2005215688A (ja) S−box演算を用いるハードウェア暗号化/復号化装置及び、その方法
Stallings NIST block cipher modes of operation for confidentiality
JP2014002351A (ja) 低電力暗号化装置および方法
JP6287785B2 (ja) 暗号処理装置、および暗号処理方法、並びにプログラム
JP2012215814A (ja) 暗号処理装置、および暗号処理方法、並びにプログラム
JP2022513185A (ja) 暗号文に対する非多項式演算を行う装置及び方法
Atia Development of a new algorithm for key and S-box generation in blowfish algorithm
KR100949538B1 (ko) Aes 라인달 알고리즘을 이용하는 암호화 및 복호화 장치와 그 방법
Buell Modern symmetric ciphers—Des and Aes
JP2007060191A (ja) ストリーム暗号方法および装置
Mohan et al. Revised aes and its modes of operation
JP5207153B2 (ja) 擬似乱数発生システム
Landge et al. VHDL based Blowfish implementation for secured embedded system design
WO2022096141A1 (en) Method for processing encrypted data
JP2008139742A (ja) 非線形関数器、ストリーム暗号の暗号化装置、復号化装置、mac生成装置、ストリーム暗号の暗号化方法、復号化方法、mac生成方法およびプログラム
CN111740818A (zh) 一种数据处理方法、装置、设备及存储介质
KR102348802B1 (ko) Aes 암호화 및 복호화 회로

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110404

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110405

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: 20110510

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: 20110518

R150 Certificate of patent or registration of utility model

Ref document number: 4750105

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140527

Year of fee payment: 3