JP2011503666A - パケット暗号化アルゴリズムに基づく暗号化処理装置 - Google Patents
パケット暗号化アルゴリズムに基づく暗号化処理装置 Download PDFInfo
- Publication number
- JP2011503666A JP2011503666A JP2010534350A JP2010534350A JP2011503666A JP 2011503666 A JP2011503666 A JP 2011503666A JP 2010534350 A JP2010534350 A JP 2010534350A JP 2010534350 A JP2010534350 A JP 2010534350A JP 2011503666 A JP2011503666 A JP 2011503666A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- key
- data
- data conversion
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0625—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/24—Key scheduling, i.e. generating round keys or sub-keys for block encryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
パケット暗号化アルゴリズムに基づく暗号化処理装置は、鍵拡張部と、暗号化部とを備える。鍵拡張部は、鍵拡張部データ保持要素と、少なくとも1つの鍵拡張部データ変換要素とを備える。暗号化部は、暗号化部データ保持要素と、少なくとも1つの暗号化部データ変換要素とを備え、暗号化部データ変換要素の数は、鍵拡張部データ変換要素の数と同じであり、しかも、1対1である。各鍵拡張部データ変換要素の副鍵出力部が、各暗号化部データ変換要素の対応する副鍵入力部と接続することにより、従来のパケット暗号化アルゴリズムに基づく暗号化処理装置の暗号化効率が低く、コストが高いという技術的問題を解決する。本発明の利点は、従来技術の高効率を維持するという前提の下で資源消費量を低下させ、さらには装置の実現コストを低減させることである。
Description
本出願は、参照により全体が本明細書に組み込まれ、2007年11月19日に中国特許庁に提出された「ブロック暗号化アルゴリズムに基づく暗号化処理装置」という名称の中国特許出願第200710019110.2号の優先権を主張する。
本発明は、情報セキュリティの分野に関し、特に、ブロック暗号化アルゴリズムに基づく暗号化処理方法に関する。
ブロック暗号化アルゴリズムには、主に、データ暗号化規格(DES)アルゴリズム、トリプルDES(3DES)アルゴリズム、高度暗号化規格(AES)アルゴリズム、国際データ暗号化アルゴリズム(IDEA)、中国国家暗号管理委員会事務室によって公開されたSMS4アルゴリズムなどが含まれる。ブロック暗号化アルゴリズムを実現する主要な構成要素には、鍵拡張部、暗号化部および副鍵配列記憶部が含まれる。特に、鍵拡張部および暗号化部の内部構造は、一般にデータ保持要素とデータ変換要素とからなる点で類似している。
データ保持要素は、一般に、データを保持する汎用フリップフロップで実現される。この要素に保持されたデータは、1クロック周期で不変である。汎用フリップフロップは、クロックの立ち上がり又は立ち下がり端で、データ入力部のデータがフリップフロップの出力部に送信され、他の時間では、フリップフロップの出力部のデータが不変であるデータ保持装置である。
データ変換要素は、ブロック暗号化アルゴリズムで要求されるとおりにデータを処理する要素であり、例えば、国家のSMS4暗号化アルゴリズムで要求されるとおりにデータを処理する要素である。データ変換要素によって実行される演算には、暗号化アルゴリズムで指定された1つの統合(integration)と置換(permutation)しか含まれていない。
副鍵配列記憶部は、副鍵配列を記憶するように適応されている。既存の技術における副鍵配列は、一般に、暗号化および復号の前に既に作成され、鍵拡張部によって生成されるデータ配列である。SMS4暗号化アルゴリズムでは、副鍵配列記憶部のデータは、アドレスの降順又は昇順に配列され、rk0、rk1、…、rk31のように名づけられる。
SMS4暗号化アルゴリズムで要求されるデータ暗号化および復号の現在のプロセスは、鍵拡張とデータ暗号化の2つの独立した段階を含んでいる。図1に示すように、まず、鍵拡張部が、鍵を副鍵配列に拡張して、その配列を順次副鍵配列記憶部に記憶させ、その後、暗号化部が、鍵が拡張された副鍵配列を用いてデータを暗号化する。
A.鍵拡張段階
1)外部鍵が、鍵拡張部のデータ保持要素に入力される。
1)外部鍵が、鍵拡張部のデータ保持要素に入力される。
前処理にかけられた外部鍵が、保持のために鍵拡張部のデータ保持要素100に入力される。
2)データ変換
鍵拡張部のデータ保持要素100に保持されたデータが、変換のために鍵拡張部のデータ変換要素101に入力され、副鍵が得られる。
鍵拡張部のデータ保持要素100に保持されたデータが、変換のために鍵拡張部のデータ変換要素101に入力され、副鍵が得られる。
3)データ反復処理
先の変換から得られたデータが、鍵拡張部のデータ保持要素100に記憶されると同時に、得られた副鍵が、副鍵配列記憶部2の第1行に記憶され、その後、鍵拡張部のデータ保持要素100に保持されたデータが、変換のために鍵拡張部のデータ変換要素101に再び入力され、結果として得られた副鍵が、副鍵配列記憶部2の次の行に記憶される。このデータ変換処理が32回繰り返され、32×32ビット=1024ビットの副鍵配列が得られる。
先の変換から得られたデータが、鍵拡張部のデータ保持要素100に記憶されると同時に、得られた副鍵が、副鍵配列記憶部2の第1行に記憶され、その後、鍵拡張部のデータ保持要素100に保持されたデータが、変換のために鍵拡張部のデータ変換要素101に再び入力され、結果として得られた副鍵が、副鍵配列記憶部2の次の行に記憶される。このデータ変換処理が32回繰り返され、32×32ビット=1024ビットの副鍵配列が得られる。
B.データ暗号化段階
1)外部データが、暗号化部のデータ保持要素に入力される。
1)外部データが、暗号化部のデータ保持要素に入力される。
外部データが、保持のために暗号化部のデータ保持要素300に入力される。
2)データ変換
暗号化部のデータ保持要素300に保持されたデータが、暗号化部のデータ変換要素301に入力され、副鍵配列記憶部2に記憶された副鍵配列の第1行に対応するデータが、変換のために暗号化部のデータ変換要素301に入力される。
暗号化部のデータ保持要素300に保持されたデータが、暗号化部のデータ変換要素301に入力され、副鍵配列記憶部2に記憶された副鍵配列の第1行に対応するデータが、変換のために暗号化部のデータ変換要素301に入力される。
3)データ反復処理
先の変換から得られたデータが、暗号化部のデータ保持要素300に記憶され、その後、暗号化部のデータ保持要素300に保持されたデータが、変換のために暗号化部のデータ変換要素301に再び入力され、副鍵配列記憶部2の次の行の副鍵も、データ変換のために暗号化部のデータ変換要素301に入力される。この処理が32回繰り返されて、データが得られる。
先の変換から得られたデータが、暗号化部のデータ保持要素300に記憶され、その後、暗号化部のデータ保持要素300に保持されたデータが、変換のために暗号化部のデータ変換要素301に再び入力され、副鍵配列記憶部2の次の行の副鍵も、データ変換のために暗号化部のデータ変換要素301に入力される。この処理が32回繰り返されて、データが得られる。
上記暗号化アルゴリズムでは、1つのデータセットを低効率で処理するのに32クロック周期が費やされる。この状況を改善するため、データ変換要素の数を増やすことによって、処理効率を向上させることができる。例えば、図2に示すように、128ビットの1データセットを16クロック周期で処理することができる。
既存の技術では、副鍵配列記憶要素が不可欠の要素である。1024ビットの副鍵配列記憶要素が、集積回路のレジスタで実現された場合、全資源の約40%を占める約10000ゲートの論理資源が高コストに消費される(図1の解決策では、約25000ゲートの総資源量が消費される)。
本発明の目的は、既存の技術におけるブロック暗号化アルゴリズムに基づく暗号化処理方法の高コストの技術的問題に対処するため、安価で効率のよいブロック暗号化アルゴリズムに基づく暗号化処理方法を提供することである。
本発明の技術的解決策は、以下のとおりである。
ブロック暗号化アルゴリズムに基づく暗号化処理装置は、鍵拡張部と、暗号化部とを備え、
上記鍵拡張部は、鍵拡張部のデータ保持要素と、鍵拡張部の少なくとも1つのデータ変換要素とを備えており、上記暗号化部は、暗号化部のデータ保持要素と、暗号化部の少なくとも1つのデータ変換要素とを備えており、上記暗号化部のデータ変換要素の数は、上記鍵拡張部のデータ変換要素の数と同一であり、上記暗号化部のデータ変換要素は、上記鍵拡張部のデータ変換要素と1対1の接続状態にあり、
上記鍵拡張部のデータ保持要素の出力部が、上記鍵拡張部のデータ変換要素のうちの第1のデータ変換要素の入力部に接続され、上記鍵拡張部のデータ変換要素のあらゆる隣接する2つのデータ変換要素が順番に接続され、上記鍵拡張部のデータ変換要素のうちの最後のデータ変換要素の出力部が、上記鍵拡張部のデータ保持要素の入力部に接続されており、
上記暗号化部のデータ保持要素の出力部が、上記暗号化部のデータ変換要素のうちの第1のデータ変換要素の入力部に接続され、上記暗号化部のデータ変換要素のあらゆる隣接する2つのデータ変換要素が順番に接続され、上記暗号化部のデータ変換要素のうちの最後のデータ変換要素の出力部が、上記暗号化部のデータ保持要素の入力部に接続されており、
上記鍵拡張部の各データ変換要素の副鍵出力部が、上記暗号化部のデータ変換要素のうちの対応するデータ変換要素の副鍵入力部に接続されており、
上記拡張部のデータ保持要素は、入力された外部鍵と、上記鍵拡張部のデータ変換要素のうちの最後のデータ変換要素から得られたデータとを保持するようになっており、
上記鍵拡張部のデータ変換要素は、上記鍵拡張部のデータ保持要素に保持された上記データを受け取って、上記鍵を上記暗号化部の対応するデータ変換要素に入力される副鍵に拡張するようになっており、
上記暗号化部のデータ保持要素は、入力された外部データと、上記暗号化部のデータ変換要素のうちの最後のデータ変換要素から得られたデータとを保持するようになっており、
上記暗号化部のデータ変換要素は、上記暗号化部のデータ保持要素に保持された上記データを受け取り、上記受け取ったデータを、上記鍵拡張部の対応するデータ変換要素から得られた上記副鍵を用いて暗号化および変換するようになっている。
上記鍵拡張部は、鍵拡張部のデータ保持要素と、鍵拡張部の少なくとも1つのデータ変換要素とを備えており、上記暗号化部は、暗号化部のデータ保持要素と、暗号化部の少なくとも1つのデータ変換要素とを備えており、上記暗号化部のデータ変換要素の数は、上記鍵拡張部のデータ変換要素の数と同一であり、上記暗号化部のデータ変換要素は、上記鍵拡張部のデータ変換要素と1対1の接続状態にあり、
上記鍵拡張部のデータ保持要素の出力部が、上記鍵拡張部のデータ変換要素のうちの第1のデータ変換要素の入力部に接続され、上記鍵拡張部のデータ変換要素のあらゆる隣接する2つのデータ変換要素が順番に接続され、上記鍵拡張部のデータ変換要素のうちの最後のデータ変換要素の出力部が、上記鍵拡張部のデータ保持要素の入力部に接続されており、
上記暗号化部のデータ保持要素の出力部が、上記暗号化部のデータ変換要素のうちの第1のデータ変換要素の入力部に接続され、上記暗号化部のデータ変換要素のあらゆる隣接する2つのデータ変換要素が順番に接続され、上記暗号化部のデータ変換要素のうちの最後のデータ変換要素の出力部が、上記暗号化部のデータ保持要素の入力部に接続されており、
上記鍵拡張部の各データ変換要素の副鍵出力部が、上記暗号化部のデータ変換要素のうちの対応するデータ変換要素の副鍵入力部に接続されており、
上記拡張部のデータ保持要素は、入力された外部鍵と、上記鍵拡張部のデータ変換要素のうちの最後のデータ変換要素から得られたデータとを保持するようになっており、
上記鍵拡張部のデータ変換要素は、上記鍵拡張部のデータ保持要素に保持された上記データを受け取って、上記鍵を上記暗号化部の対応するデータ変換要素に入力される副鍵に拡張するようになっており、
上記暗号化部のデータ保持要素は、入力された外部データと、上記暗号化部のデータ変換要素のうちの最後のデータ変換要素から得られたデータとを保持するようになっており、
上記暗号化部のデータ変換要素は、上記暗号化部のデータ保持要素に保持された上記データを受け取り、上記受け取ったデータを、上記鍵拡張部の対応するデータ変換要素から得られた上記副鍵を用いて暗号化および変換するようになっている。
本発明は以下の利点を有する。
1.本発明にかかる暗号化処理装置は、副鍵配列記憶部が不要になるので、既存の技術の効率を維持しながら、消費資源を効率的に低減させることができ、ひいては装置のコストを低減させることができる。
2.本発明にかかる暗号化処理装置によれば、変換要素1個の場合は、消費資源が既存の技術の60%に過ぎず、変換要素2個の場合は、消費資源が既存の技術の70%に過ぎない。
3.副鍵保持部が増設されるので、集積回路において重要なパスが短縮化されて、クロックの一次周波数を上昇させ、ひいては装置の処理能力を増大させることができる。
ここで、本発明にかかる装置を図面に基づいて以下に詳述する。
第1の実施形態
図3に示すように、ブロック暗号化アルゴリズムに基づく第1の暗号化処理装置は、鍵拡張部1と、暗号化部3とを備えている。
図3に示すように、ブロック暗号化アルゴリズムに基づく第1の暗号化処理装置は、鍵拡張部1と、暗号化部3とを備えている。
鍵拡張部1は、鍵拡張部のデータ保持要素100と、鍵拡張部のデータ変換要素101とを備えており、鍵拡張部のデータ保持要素100の出力部が、鍵拡張部のデータ変換要素101の入力部に接続され、鍵拡張部のデータ変換要素101の出力部が、鍵拡張部のデータ保持要素100の入力部に接続されている。
暗号化部3は、暗号化部のデータ保持要素300と、暗号化部のデータ変換要素301とを備えており、暗号化部のデータ保持要素300の出力部が、暗号化部のデータ変換要素301の入力部に接続され、暗号化部のデータ変換要素301の出力部が、暗号化部のデータ保持要素300の入力部に接続されている。
特に、鍵拡張部のデータ変換要素101の副鍵出力部が、暗号化部のデータ変換要素301の副鍵入力部に接続されている。
図3を参照すると、ブロック暗号化アルゴリズムに基づく第1の暗号化処理装置は、本発明の一実施形態にかかる方法の以下の工程を実行する。
1]外部鍵が保持される。すなわち、クロック周期のクロック端に来ると、被処理外部鍵が、保持のために鍵拡張部のデータ保持要素100に入力される。
2]外部データが保持される。すなわち、上記クロック周期のクロック端に来ると、1個の外部データセットが、保持のために暗号化部のデータ保持要素300に入力される。
3]鍵が拡張される。すなわち、上記クロック周期において、鍵拡張部のデータ保持要素100に保持されたデータが、鍵拡張部のデータ変換要素101に入力されて、その鍵が、暗号化部のデータ変換要素301に入力される副鍵に拡張される。
4]データが暗号化および変換される。すなわち、上記クロック周期において、暗号化部のデータ保持要素300に保持されたデータが、暗号化部のデータ変換要素301に入力され、データ変換要素301が、次にデータを暗号化および変換する。
5]内部データが保持される。すなわち、次のクロック周期のクロック端に来ると、鍵拡張部のデータ変換要素101から得られたデータが、保持のために鍵拡張部のデータ保持要素100に入力され、暗号化部のデータ変換要素301から得られたデータが、保持のために暗号化部のデータ保持要素300に入力される。
6]データが反復して処理される。すなわち、データがブロック暗号化アルゴリズムで指定された回数だけ変換されるまで、鍵拡張工程と、データ暗号化および変換工程と、内部データ保持工程とが繰り返され、それにより、上記データセットの暗号化が完了する。
第2の実施形態
図4に示すように、ブロック暗号化アルゴリズムに基づく第2の暗号化処理装置は、鍵拡張部1と、暗号化部3とを備えている。
鍵拡張部1は、鍵拡張部のデータ保持要素100と、鍵拡張部の2個のデータ変換要素101a、101bとを備えており、鍵拡張部のデータ保持要素100の出力部が、鍵拡張部の第1のデータ変換要素101aの入力部に接続され、鍵拡張部の2個のデータ変換要素101a、101bが順番に接続され、鍵拡張部の第2のデータ変換要素101bの出力部が、鍵拡張部のデータ保持要素100の入力部に接続されている。
暗号化部3は、暗号化部のデータ保持要素300と、暗号化部の2個のデータ変換要素301a、301bとを備えており、暗号化部のデータ保持要素300の出力部が、暗号化部の第1のデータ変換要素301aの入力部に接続され、暗号化部の2個のデータ変換要素301a、301bが順番に接続され、暗号化部の第2のデータ変換要素301bの出力部が、暗号化部のデータ保持要素300の入力部に接続されている。
特に、鍵拡張部の第1のデータ変換要素101aの副鍵出力部が、暗号化部の第1のデータ変換要素301aの副鍵入力部に接続されており、鍵拡張部の第2のデータ変換要素101bの副鍵出力部が、暗号化部の第2のデータ変換要素301bの副鍵入力部に接続されている。
特に、鍵拡張部のデータ変換要素の数は、暗号化部のデータ変換要素の数と同一であり、3個の場合も、4個の場合も、32個又は48個までの場合もあり得るが、好ましくは、1個、2個又は4個である。
図4を参照すると、ブロック暗号化アルゴリズムに基づく第2の暗号化処理装置は、本発明の一実施形態にかかる方法の以下の工程を実行する。
1]外部鍵が保持される。すなわち、クロック周期のクロック端に来ると、被処理外部鍵が、保持のために鍵拡張部のデータ保持要素100に入力される。
2]外部データが保持される。すなわち、上記クロック周期のクロック端に来ると、1個の外部データセットが、保持のために暗号化部のデータ保持要素300に入力される。
3]鍵が拡張される。すなわち、上記クロック周期において、鍵拡張部のデータ保持要素100に保持されたデータが、鍵拡張部のデータ変換要素101aに入力されて、その鍵が、暗号化部のデータ変換要素301aに入力される副鍵に拡張され、鍵拡張部のデータ変換要素101aから出力されたデータが、鍵拡張部の次のデータ変換要素101bに入力され、その結果、鍵拡張部のデータ変換要素が、順番に鍵を拡張する。
4]データが暗号化および変換される。すなわち、上記クロック周期において、暗号化部のデータ保持要素300に保持されたデータが、暗号化部のデータ変換要素301aに入力され、データ変換要素301aが、次にデータを暗号化および変換し、暗号化部のデータ変換要素301aから出力されたデータが、暗号化部の次のデータ変換要素301bに入力され、その結果、暗号化部のデータ変換要素が、順番にデータを暗号化する。
5]内部データが保持される。すなわち、次のクロック周期のクロック端に来ると、鍵拡張部の最後のデータ変換要素(本実施形態では101b)から出力されたデータが、保持のために鍵拡張部のデータ保持要素100に入力され、暗号化部の最後のデータ変換要素(本実施形態では301b)から出力されたデータが、保持のために暗号化部のデータ保持要素300に入力される。
6]データが反復して処理される。すなわち、データがブロック暗号化アルゴリズムで指定された回数だけ変換されるまで、鍵拡張工程と、データ暗号化および変換工程と、内部データ保持工程とが繰り返され、それにより、上記データセットの暗号化が完了する。
第3の実施形態
図5に示すように、ブロック暗号化アルゴリズムに基づく第3の暗号化処理装置は、鍵拡張部1と、副鍵保持部4と、暗号化部3とを備えている。
鍵拡張部1は、鍵拡張部のデータ保持要素100と、鍵拡張部のデータ変換要素101とを備えており、鍵拡張部のデータ保持要素100の出力部が、鍵拡張部のデータ変換要素101の入力部に接続されており、鍵拡張部のデータ変換要素101の出力部が、鍵拡張部のデータ保持要素100の入力部に接続されている。
副鍵保持部4は、汎用フリップフロップでもレジスタでもよい副鍵保持要素401を備えている。
暗号化部3は、暗号化部のデータ保持要素300と、暗号化部のデータ変換要素301とを備えており、暗号化部のデータ保持要素300の出力部が、暗号化部のデータ変換要素301の入力部に接続され、暗号化部のデータ変換要素301の出力部が、暗号化部のデータ保持要素300の入力部に接続されている。
特に、鍵拡張部のデータ変換要素101の副鍵出力部が、副鍵保持要素401の入力部に接続されており、副鍵保持要素401の出力部が、暗号化部のデータ変換要素301の副鍵入力部に接続されている。
図5を参照すると、ブロック暗号化アルゴリズムに基づく第3の暗号化処理装置は、本発明の一実施形態にかかる方法の以下の工程を実行する。
1]外部鍵が保持される。すなわち、クロック周期のクロック端に来ると、被処理外部鍵が、保持のために鍵拡張部のデータ保持要素100に入力される。
2]鍵が前拡張される。すなわち、外部鍵が保持されるクロック周期において、鍵拡張部のデータ保持要素100に保持されたデータが、鍵拡張部のデータ変換要素101に入力されて、その鍵が、接続されている副鍵保持要素401の入力部に入力される副鍵に拡張され、鍵拡張部のデータ変換要素101から得られたデータが、鍵拡張部のデータ保持要素100の入力部に入力される。
3]鍵がバッファに入れられ保持される。すなわち、外部鍵保持工程後の次のクロック周期のクロック端に来ると、鍵拡張部のデータ変換要素101から得られたデータが、保持のために鍵拡張部のデータ保持要素100に入力され、鍵拡張部のデータ変換要素101の副鍵が、保持のために副鍵保持要素401に入力される。
4]外部データが保持される。すなわち、外部鍵保持工程後の次のクロック周期のクロック端に来ると、1個の外部データセットが、保持のために暗号化部のデータ保持要素300に入力される。
5]鍵が拡張される。すなわち、上記クロック周期において、鍵拡張部のデータ保持要素100に保持されたデータが、鍵拡張部のデータ変換要素101に入力されて、その鍵が、接続されている副鍵保持要素401の入力部に入力される副鍵に拡張され、鍵拡張部のデータ変換要素101から出力されたデータが、鍵拡張部のデータ保持要素100の入力部に入力され、副鍵保持要素401から出力された副鍵が、暗号化部のデータ変換要素301に入力される。
6]データが暗号化および変換される。すなわち、上記クロック周期において、暗号化部のデータ保持要素300に保持されたデータが、暗号化部のデータ変換要素301に入力され、データ変換要素301が、次にデータを暗号化および変換し、暗号化部のデータ変換要素301から出力されたデータが、暗号化部のデータ保持要素300の入力部に入力される。
7]内部データが保持される。すなわち、次のクロック周期のクロック端に来ると、鍵拡張部のデータ変換要素101から得られたデータが、保持のために鍵拡張部のデータ保持要素100に入力され、鍵拡張部のデータ変換要素101の副鍵が、保持のために副鍵保持要素401に入力され、暗号化部のデータ変換要素301から得られたデータが、保持のために暗号化部のデータ保持要素300に入力される。
6]データが反復して処理される。すなわち、データがブロック暗号化アルゴリズムで指定された回数だけ変換されるまで、鍵拡張工程と、データ暗号化および変換工程と、内部データ保持工程とが繰り返され、それにより、上記データセットの暗号化が完了する。
第4の実施形態
図6に示すように、ブロック暗号化アルゴリズムに基づく第4の暗号化処理装置は、鍵拡張部1と、副鍵保持部4と、暗号化部3とを備えている。
鍵拡張部1は、鍵拡張部のデータ保持要素100と、鍵拡張部の2個のデータ変換要素101a、101bとを備えており、鍵拡張部のデータ保持要素100の出力部が、鍵拡張部の第1のデータ変換要素101aの入力部に接続され、鍵拡張部の2個のデータ変換要素101a、101bが順番に接続され、鍵拡張部の第2のデータ変換要素101bの出力部が、鍵拡張部のデータ保持要素100の入力部に接続されている。
副鍵保持部4は、汎用フリップフロップでもレジスタでもよい2個の副鍵保持要素401a、401bを備えている。
暗号化部3は、暗号化部のデータ保持要素300と、暗号化部の2個のデータ変換要素301a、301bとを備えており、暗号化部のデータ保持要素300の出力部が、暗号化部の第1のデータ変換要素301aの入力部に接続され、暗号化部の2個のデータ変換要素301a、301bが順番に接続され、暗号化部の第2のデータ変換要素301bの出力部が、暗号化部のデータ保持要素300の入力部に接続されている。
特に、鍵拡張部の第1のデータ変換要素101aの副鍵出力部が、第1の副鍵保持要素401aの入力部に接続され、第1の副鍵保持要素401aの出力部が、暗号化部の第1のデータ変換要素301aの副鍵入力部に接続されており、鍵拡張部の第2のデータ変換要素101bの副鍵出力部が、第2の副鍵保持要素401bの入力部に接続され、第2の副鍵保持要素401bの出力部が、暗号化部の第2のデータ変換要素301bの副鍵入力部に接続されている。
特に、鍵拡張部のデータ変換要素の数、副鍵保持要素の数、および暗号化部のデータ変換要素の数は、同一であり、3個の場合も、4個の場合も、32個又は48個までの場合もあるが、好ましくは、1個、2個又は4個である。
図6を参照すると、ブロック暗号化アルゴリズムに基づく第4の暗号化処理装置は、本発明の一実施形態にかかる方法の以下の工程を実行する。
1]外部鍵が保持される。すなわち、クロック周期のクロック端に来ると、被処理外部鍵が、保持のために鍵拡張部のデータ保持要素100に入力される。
2]鍵が前拡張される。すなわち、外部鍵が保持されるクロック周期において、鍵拡張部のデータ保持要素100に保持されたデータが、鍵拡張部の第1のデータ変換要素101aに入力されて、その鍵が、接続されている第1の副鍵保持要素401aの入力部に入力される副鍵に拡張され、鍵拡張部の第1のデータ変換要素101aから出力されたデータが、鍵拡張部の次のデータ保持要素101bの入力部に入力されて、鍵が二度目の拡張を受け、その結果、鍵拡張部のデータ変換要素が、その鍵を、接続されているそれぞれの副鍵保持要素の入力部に入力される副鍵に順番に拡張し、鍵拡張部の最後のデータ変換要素(本実施形態では101b)から出力されたデータが、鍵拡張部のデータ保持要素100の入力部に入力される。
3]鍵がバッファに入れられ保持される。すなわち、外部鍵保持工程後の次のクロック周期のクロック端に来ると、鍵拡張部の最後のデータ変換要素(本実施形態では101b)から得られたデータが、保持のために鍵拡張部のデータ保持要素100に入力され、鍵拡張部のデータ変換要素の副鍵が、保持のために、対応する副鍵保持要素に入力される。
4]外部データが保持される。すなわち、外部鍵保持工程後の次のクロック周期のクロック端に来ると、1個の外部データセットが、保持のために暗号化部のデータ保持要素300に入力される。
5]鍵が拡張される。すなわち、上記クロック周期において、鍵拡張部のデータ保持要素100に保持されたデータが、鍵拡張部の第1のデータ変換要素101aに入力されて、その鍵が、接続されている第1の副鍵保持要素401aの入力部に入力される副鍵に拡張され、鍵拡張部の第1のデータ変換要素101aから出力されたデータが、鍵拡張部の次のデータ保持要素101bの入力部に入力されて、鍵が二度目の拡張を受け、その結果、鍵拡張部のデータ変換要素が、その鍵を、接続されているそれぞれの副鍵保持要素の入力部に入力される副鍵に順番に拡張し、鍵拡張部の最後のデータ変換要素(本実施形態では101b)から出力されたデータが、鍵拡張部のデータ保持要素100のデータ入力部に入力される。
6]データが暗号化および変換される。すなわち、上記クロック周期において、暗号化部のデータ保持要素300に保持されたデータが、暗号化部の第1のデータ変換要素301aに入力され、第1の副鍵保持要素401aの副鍵が、暗号化部の第1のデータ変換要素301aに入力され、第1のデータ変換要素301aが、次にデータを暗号化および変換し、暗号化部の第1のデータ変換要素301aから暗号化され変換されたデータが、暗号化部の第2のデータ変換要素301bに入力され、第2の副鍵保持要素401bの副鍵が、暗号化部の第2のデータ変換要素301bに入力され、第2のデータ変換要素301bが、次にデータを暗号化および変換し、その結果、鍵拡張部のデータ変換要素に対応する暗号化部のデータ変換要素が、順番にデータを暗号化および変換し、暗号化部の最後のデータ変換要素(本実施形態では301b)から出力されたデータが、暗号化部のデータ保持要素300のデータ入力部に入力される。
7]内部データが保持される。すなわち、次のクロック周期のクロック端に来ると、鍵拡張部の最後のデータ変換要素(本実施形態では101b)から得られたデータが、保持のために鍵拡張部のデータ保持要素100に入力され、鍵拡張部のデータ変換要素の副鍵が、保持のために、対応する副鍵保持要素に入力され、暗号化部の最後のデータ変換要素(本実施形態では301b)から得られたデータが、保持のために暗号化部のデータ保持要素300に入力される。
8]データが反復して処理される。すなわち、データがブロック暗号化アルゴリズムで指定された回数だけ変換されるまで、鍵拡張工程と、データ暗号化および変換工程と、内部データ保持工程とが繰り返され、それにより、上記データセットの暗号化が完了する。
暗号化処理装置に、鍵拡張部の複数個のデータ変換要素と、複数個の副鍵保持要素と、暗号化部の複数個のデータ変換要素が設けられている場合、これらの要素は、接続されている順序で、順番に鍵を拡張し、データを暗号化する。
SMS4アルゴリズムが、ブロック暗号化アルゴリズムとして特に採用される場合、上記4つの実施形態の暗号化方法は、特に32回データを反復して変換する。
1 鍵拡張部
100 鍵拡張部のデータ保持要素
101(101a、101b) 鍵拡張部のデータ変換要素
2 副鍵配列記憶部
3 暗号化部
300 暗号化部のデータ保持要素
301(301a、301b) 暗号化部のデータ変換要素
4 副鍵保持部
401(401a、401b) 副鍵保持要素
100 鍵拡張部のデータ保持要素
101(101a、101b) 鍵拡張部のデータ変換要素
2 副鍵配列記憶部
3 暗号化部
300 暗号化部のデータ保持要素
301(301a、301b) 暗号化部のデータ変換要素
4 副鍵保持部
401(401a、401b) 副鍵保持要素
Claims (7)
- ブロック暗号化アルゴリズムに基づく暗号化処理装置であって、鍵拡張部と、暗号化部とを備え、
前記鍵拡張部は、鍵拡張部のデータ保持要素と、鍵拡張部の少なくとも1つのデータ変換要素とを備えており、前記暗号化部は、暗号化部のデータ保持要素と、暗号化部の少なくとも1つのデータ変換要素とを備えており、前記暗号化部のデータ変換要素の数は、前記鍵拡張部のデータ変換要素の数と同一であり、前記暗号化部のデータ変換要素は、前記鍵拡張部のデータ変換要素と1対1の接続状態にあり、
前記鍵拡張部のデータ保持要素の出力部が、前記鍵拡張部のデータ変換要素のうちの第1のデータ変換要素の入力部に接続され、前記鍵拡張部のデータ変換要素のあらゆる隣接する2つのデータ変換要素が順番に接続され、前記鍵拡張部のデータ変換要素のうちの最後のデータ変換要素の出力部が、前記鍵拡張部のデータ保持要素の入力部に接続されており、
前記暗号化部のデータ保持要素の出力部が、前記暗号化部のデータ変換要素のうちの第1のデータ変換要素の入力部に接続され、前記暗号化部のデータ変換要素のあらゆる隣接する2つのデータ変換要素が順番に接続され、前記暗号化部のデータ変換要素のうちの最後のデータ変換要素の出力部が、前記暗号化部のデータ保持要素の入力部に接続されており、
前記鍵拡張部の各データ変換要素の副鍵出力部が、前記暗号化部のデータ変換要素のうちの対応するデータ変換要素の副鍵入力部に接続されており、
前記拡張部のデータ保持要素は、入力された外部鍵と、前記鍵拡張部のデータ変換要素のうちの最後のデータ変換要素から得られたデータとを保持するようになっており、
前記鍵拡張部のデータ変換要素は、前記鍵拡張部のデータ保持要素に保持された前記データを受け取って、前記鍵を前記暗号化部の対応するデータ変換要素に入力される副鍵に拡張するようになっており、
前記暗号化部のデータ保持要素は、入力された外部データと、前記暗号化部のデータ変換要素のうちの最後のデータ変換要素から得られたデータとを保持するようになっており、
前記暗号化部のデータ変換要素は、前記暗号化部のデータ保持要素に保持された前記データを受け取り、前記受け取ったデータを、前記鍵拡張部の対応するデータ変換要素から得られた前記副鍵を用いて暗号化および変換するようになっている、
ブロック暗号化アルゴリズムに基づく暗号化処理装置。 - 前記鍵拡張部のデータ変換要素の数は1から32であり、その場合、前記暗号化部のデータ変換要素の数は、それに対応して1から32である、請求項1に記載のブロック暗号化アルゴリズムに基づく暗号化処理装置。
- 前記鍵拡張部のデータ変換要素の数は1、2又は4であり、その場合、前記暗号化部のデータ変換要素の数は、それに対応して1、2又は4である、請求項2に記載のブロック暗号化アルゴリズムに基づく暗号化処理装置。
- 前記暗号化処理装置が、少なくとも1つの副鍵保持要素を備える副鍵保持部をさらに備えており、副鍵保持要素の数は、前記鍵拡張部のデータ変換要素の数と同一であり、前記副鍵保持要素は、前記鍵拡張部のデータ変換要素と1対1の接続状態にあり、
前記鍵拡張部の各データ変換要素の出力部が、前記副鍵保持要素のうちの対応する副鍵保持要素の入力部に接続され、前記各副鍵保持要素の出力部が、前記暗号化部のデータ変換要素のうちの対応するデータ変換要素の入力部に接続されており、
前記鍵拡張部のデータ変換要素は、前記鍵拡張部のデータ保持要素に保持された前記データを受け取って、前記鍵を前記副鍵保持要素の入力部に入力される副鍵に拡張するようになっており、
前記副鍵保持要素は、前記鍵拡張部のデータ変換要素から得られた前記副鍵を保持するようになっており、
前記暗号化部のデータ変換要素は、前記副鍵保持要素に保持された前記副鍵を受け取り、前記受け取ったデータを前記副鍵を用いて暗号化および変換するようになっている、
請求項1に記載のブロック暗号化アルゴリズムに基づく暗号化処理装置。 - 前記鍵拡張部のデータ変換要素の数は1から32であり、その場合、副鍵保持要素の数は、それに対応して1から32であって、前記暗号化部のデータ変換要素の数は、それに対応して1から32である、請求項4に記載のブロック暗号化アルゴリズムに基づく暗号化処理装置。
- 前記鍵拡張部のデータ変換要素の数は1、2又は4であり、その場合、副鍵保持要素の数は、それに対応して1、2又は4であって、前記暗号化部のデータ変換要素の数は、それに対応して1、2又は4である、請求項5に記載のブロック暗号化アルゴリズムに基づく暗号化処理装置。
- 前記副鍵保持要素は、汎用フリップフロップ又はレジスタである、請求項4、5又は6に記載のブロック暗号化アルゴリズムに基づく暗号化処理装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710019110.2A CN100581101C (zh) | 2007-11-19 | 2007-11-19 | 一种基于分组密码算法的加密处理设备 |
PCT/CN2008/073041 WO2009067929A1 (en) | 2007-11-19 | 2008-11-13 | Packet cipher algorithm based encryption processing device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011503666A true JP2011503666A (ja) | 2011-01-27 |
Family
ID=39307480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010534350A Pending JP2011503666A (ja) | 2007-11-19 | 2008-11-13 | パケット暗号化アルゴリズムに基づく暗号化処理装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8311216B2 (ja) |
EP (1) | EP2216934A4 (ja) |
JP (1) | JP2011503666A (ja) |
KR (1) | KR101126776B1 (ja) |
CN (1) | CN100581101C (ja) |
RU (1) | RU2452112C2 (ja) |
WO (1) | WO2009067929A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100495961C (zh) * | 2007-11-19 | 2009-06-03 | 西安西电捷通无线网络通信有限公司 | 一种基于分组密码算法的加密处理方法 |
CN100581101C (zh) | 2007-11-19 | 2010-01-13 | 西安西电捷通无线网络通信有限公司 | 一种基于分组密码算法的加密处理设备 |
CN103336920B (zh) * | 2013-05-29 | 2019-01-08 | 东南大学 | 用于无线传感网络soc芯片的安全系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5381480A (en) * | 1993-09-20 | 1995-01-10 | International Business Machines Corporation | System for translating encrypted data |
JPH1075240A (ja) * | 1996-04-15 | 1998-03-17 | Vlsi Technol Inc | データ送信を保護する方法およびデータを暗号化または解読化する装置 |
JP2000056679A (ja) * | 1998-08-11 | 2000-02-25 | Fujitsu Ltd | Desの鍵スケジュール装置 |
WO2007113796A2 (en) * | 2006-04-04 | 2007-10-11 | Nds Limited | Robust cipher design |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999014889A1 (en) | 1997-09-17 | 1999-03-25 | Luyster Frank C | Improved block cipher method |
US6243470B1 (en) * | 1998-02-04 | 2001-06-05 | International Business Machines Corporation | Method and apparatus for advanced symmetric key block cipher with variable length key and block |
DE60139280D1 (de) | 2000-03-09 | 2009-08-27 | Nippon Telegraph & Telephone | Blockverschlüsselungseinrichtung unter Verwendung von Hilfsumwandlungen |
WO2001078305A1 (fr) | 2000-04-10 | 2001-10-18 | Anatoly Viktorovich Klepov | Procede de protection cryptographique des donnees dans les technologies d'informations et procede de realisation correspondant |
KR100377172B1 (ko) * | 2000-06-13 | 2003-03-26 | 주식회사 하이닉스반도체 | 데이터 암호화 표준 알고리즘을 이용한 암호화 장치의 키스케쥴러 |
JP3770584B2 (ja) | 2000-10-31 | 2006-04-26 | シャープ株式会社 | 暗号鍵生成回路 |
KR100525389B1 (ko) * | 2001-01-17 | 2005-11-02 | 엘지전자 주식회사 | 실시간 입력 스트림의 암호화/복호화 장치 |
RU2206961C2 (ru) | 2001-03-22 | 2003-06-20 | Государственное унитарное предприятие Специализированный центр программных систем "Спектр" | Способ итеративного блочного шифрования двоичных данных |
US7212631B2 (en) * | 2001-05-31 | 2007-05-01 | Qualcomm Incorporated | Apparatus and method for performing KASUMI ciphering |
US7519182B2 (en) | 2002-05-10 | 2009-04-14 | Sony Corporation | Encryption device and decryption device |
JP2005004048A (ja) | 2003-06-13 | 2005-01-06 | Oki Electric Ind Co Ltd | 鍵拡張装置、鍵拡張方法および鍵拡張プログラム |
US20100067687A1 (en) | 2004-12-06 | 2010-03-18 | The Trustees Of The Stevens Institute Of Technology | Method and apparatus for maintaining data integrity for block-encryption algorithms |
JP4742614B2 (ja) | 2005-02-25 | 2011-08-10 | ソニー株式会社 | データ変換装置および方法、データ逆変換装置および方法、情報処理システム、記録媒体、並びにプログラム |
CN101044535B (zh) | 2005-03-16 | 2011-06-15 | 三菱电机株式会社 | 数据变换装置以及数据变换方法 |
CN100369074C (zh) | 2006-03-02 | 2008-02-13 | 西安西电捷通无线网络通信有限公司 | 一种实现sms4密码算法中加解密处理的方法 |
CN101013938B (zh) | 2007-01-12 | 2010-04-07 | 广州市诚毅科技软件开发有限公司 | 一种分组密码加密方法 |
CN100495961C (zh) | 2007-11-19 | 2009-06-03 | 西安西电捷通无线网络通信有限公司 | 一种基于分组密码算法的加密处理方法 |
CN100581101C (zh) | 2007-11-19 | 2010-01-13 | 西安西电捷通无线网络通信有限公司 | 一种基于分组密码算法的加密处理设备 |
-
2007
- 2007-11-19 CN CN200710019110.2A patent/CN100581101C/zh active Active
-
2008
- 2008-11-13 US US12/743,491 patent/US8311216B2/en active Active
- 2008-11-13 WO PCT/CN2008/073041 patent/WO2009067929A1/zh active Application Filing
- 2008-11-13 RU RU2010124849/08A patent/RU2452112C2/ru active
- 2008-11-13 KR KR1020107013607A patent/KR101126776B1/ko active IP Right Grant
- 2008-11-13 EP EP08855567A patent/EP2216934A4/en not_active Withdrawn
- 2008-11-13 JP JP2010534350A patent/JP2011503666A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5381480A (en) * | 1993-09-20 | 1995-01-10 | International Business Machines Corporation | System for translating encrypted data |
JPH1075240A (ja) * | 1996-04-15 | 1998-03-17 | Vlsi Technol Inc | データ送信を保護する方法およびデータを暗号化または解読化する装置 |
JP2000056679A (ja) * | 1998-08-11 | 2000-02-25 | Fujitsu Ltd | Desの鍵スケジュール装置 |
WO2007113796A2 (en) * | 2006-04-04 | 2007-10-11 | Nds Limited | Robust cipher design |
Non-Patent Citations (7)
Title |
---|
CSNG200701375025; 菅原健他: '128ビットブロック暗号CLEFIAのASIC実装' コンピュータセキュリティシンポジウム2007論文集 , 20071031, p.175-180 * |
JPN6012049082; Lu, C.-C. and Tseng, S.-Y.: 'Integrated Design of AES (Advanced Encryption Standard) Encrypter and Decrypter' Proceedings of the IEEE International Conference on Application-Specific Systems, Architectures and , 2002, p.277-285 * |
JPN6012049085; 菅原健他: '128ビットブロック暗号CLEFIAのASIC実装' コンピュータセキュリティシンポジウム2007論文集 , 20071031, p.175-180 * |
JPN6012049088; Wang, S.-S. and Ni, W.-S.: 'An Efficietn FPGA Implementation of Advanced Encryption Standard Algorithm' Proceedings of the 2004 International Symposium on Circuits and Systems Vol.2, 2004, p.II-597-600 * |
JPN6012049089; Jin, Y. et al.: 'Implementation of SMS4 Block Cipher on FPGA' First International Conference on Communications and Networking in China , 2006, p.1-4 * |
JPN6012049093; Sugawara, T. et al.: 'High-performance ASIC implementations of the 128-bit block cipher CLEFIA' IEEE International Symposium on Circuits and Systems , 2008, p.2925-2928 * |
JPN6012049132; Wang, S.-S. and Ni, W.-S.: 'An Efficietn FPGA Implementation of Advanced Encryption Standard Algorithm' Proceedings of the 2004 International Symposium on Circuits and Systems Vol.2, 2004, p.II-597-600 * |
Also Published As
Publication number | Publication date |
---|---|
CN101159544A (zh) | 2008-04-09 |
EP2216934A4 (en) | 2012-02-08 |
US8311216B2 (en) | 2012-11-13 |
RU2010124849A (ru) | 2011-12-27 |
US20100284534A1 (en) | 2010-11-11 |
RU2452112C2 (ru) | 2012-05-27 |
WO2009067929A1 (en) | 2009-06-04 |
KR20100076078A (ko) | 2010-07-05 |
CN100581101C (zh) | 2010-01-13 |
EP2216934A1 (en) | 2010-08-11 |
KR101126776B1 (ko) | 2012-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101139011B1 (ko) | 패킷 암호 알고리즘에 기초하는 엔크립션 처리 방법 | |
Agwa et al. | Power efficient AES core for IoT constrained devices implemented in 130nm CMOS | |
Shreedhar et al. | Low gate-count ultra-small area nano advanced encryption standard (AES) design | |
Lu et al. | A compact, lightweight and low-cost 8-bit datapath AES circuit for IOT applications in 28nm CMOS | |
Kouser et al. | FPGA implementation of advanced Encryption Standard algorithm | |
JP2011503666A (ja) | パケット暗号化アルゴリズムに基づく暗号化処理装置 | |
Deshpande et al. | AES encryption engines of many core processor arrays on FPGA by using parallel, pipeline and sequential technique | |
Gunasekaran et al. | Virtex 7 FPGA implementation of 256 bit key AES algorithm with key schedule and sub bytes block optimization | |
CN107124267B (zh) | 一种密码芯片上的固定位宽密钥产生方法 | |
Rais et al. | Efficient hardware realization of advanced encryption standard algorithm using Virtex-5 FPGA | |
Lan et al. | A 1800μm 2, 953Gbps/W AES Accelerator for IoT Applications in 40nm CMOS | |
Rais et al. | A novel FPGA implementation of AES-128 using reduced residue of prime numbers based S-Box | |
Daoud et al. | High-level synthesis optimization of aes-128/192/256 encryption algorithms | |
Li et al. | Implementation of PRINCE with resource-efficient structures based on FPGAs | |
Lam et al. | Implementation of lightweight cryptography core PRESENT and DM-PRESENT on FPGA | |
CN109039608B (zh) | 一种基于双S核的8-bitAES电路 | |
Bu et al. | ’A Compact Implementation of SM4 Encryption and Decryption Circuit’ | |
KR102348802B1 (ko) | Aes 암호화 및 복호화 회로 | |
Dhanda et al. | A highly efficient FPGA implementation of AES for high throughput IoT applications | |
WO2022164381A1 (en) | An advanced encryption standard (aes) device | |
Wang et al. | Hardware Design of Lightweight Stream Cipher PUFFIN Algorithm for Anti-cooperation | |
Aatheeswaran et al. | FPGA can be implemented by using Advanced Encryption Standard Algorithm | |
Wu et al. | Area-Efficient Architectures of KASUMI Block Cipher | |
Gunasekaran et al. | Optimizing Sub bytes and Mix Column to improve performance of AES in Virtex 7 FPGA | |
SOWJANYA et al. | LATENCY AND POWER OPTIMIZED AES CRYPTOGRAPHY SYSTEM USING SCAN CHAIN REORDERING |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120925 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121220 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130219 |