JP4912797B2 - 暗号装置及び復号装置及び暗号方法及び復号方法及びプログラム - Google Patents

暗号装置及び復号装置及び暗号方法及び復号方法及びプログラム Download PDF

Info

Publication number
JP4912797B2
JP4912797B2 JP2006232962A JP2006232962A JP4912797B2 JP 4912797 B2 JP4912797 B2 JP 4912797B2 JP 2006232962 A JP2006232962 A JP 2006232962A JP 2006232962 A JP2006232962 A JP 2006232962A JP 4912797 B2 JP4912797 B2 JP 4912797B2
Authority
JP
Japan
Prior art keywords
key
sequence
input
keys
generated
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.)
Expired - Fee Related
Application number
JP2006232962A
Other languages
English (en)
Other versions
JP2008060750A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2006232962A priority Critical patent/JP4912797B2/ja
Publication of JP2008060750A publication Critical patent/JP2008060750A/ja
Application granted granted Critical
Publication of JP4912797B2 publication Critical patent/JP4912797B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、パケット通信の際にパケットを秘匿するための暗号装置及び復号装置、更に、これを実現するための暗号方法、復号方法及びプログラムに関する。
パケットを秘匿する暗号処理方式としてはブロック暗号処理方式を利用することが多いが、ブロック暗号暗号処理方式のCBC(Cipher Block Chaining)モードの暗号処理を並列化するための方式として、特許文献1に記載の技術がある。
他方、大容量のデータ通信やリアルタイム性を重視する通信においては、ストリーム暗号処理方式を採用するケースが増えている。
図7は、ストリーム暗号処理方式を用いてパケットの暗号処理を行う暗号装置における暗号処理部を示すものである。
最初に構成について説明する。
401は、平文データである(以下、単に平文ともいう)。
402は、平文401を暗号化する秘密鍵とIV(Initial Value)の保存先アドレス等の鍵情報である。
403は、暗号処理後の暗号文データである(以下、単に暗号文ともいう)。
41は、秘密鍵とIVを保存する秘密鍵・IV保存メモリである。
42は、メモリアクセス管理部である。
43は、鍵系列生成部である。
44は、鍵系列と平文の排他的論理和を行うXOR(Exclusive OR)部である。
ここで鍵系列とは、鍵系列生成部43から出力される乱数性の高いビット列のことで、暗号化側では平文のビット列と排他的論理和を行うことで暗号文を生成し、復号側では暗号文のビット列と排他的論理和を行うことで平文を生成するためのものである。
次に、動作について説明する。
パケット通信前に、対向となる装置間で同じ秘密鍵とIVを共有し、それを秘密鍵・IV保存メモリ41に保存する。
パケット通信時は、平文401を暗号化するにあたり、メモリアクセス管理部42は、鍵情報402を受け取り、この情報を元に秘密鍵・IV保存メモリ41から暗号化対象の平文401に対応する秘密鍵とIVを読み出し、これを鍵系列生成部43に渡す。
秘密鍵とIVを受け取った鍵系列生成部43は、平文401の暗号化に使用する鍵系列を生成し、これをXOR部44に渡す。
XOR部44は、平文401と鍵系列の排他的論理和を行い、暗号文403を出力する。
尚、図7は、暗号化側装置における暗号処理部の構成を表しているが、復号側装置においても構成は同一で、図7中の平文401と暗号文403の位置を入れ替えた構成となる。
図8は、図7における鍵系列生成部43の内部を示すものである。
最初に構成について説明する。
511は、鍵系列を生成するための秘密鍵とIVである。
512は、生成された鍵系列である。
52は、入力データの乱数性を高めるための攪拌関数である。
53は、中間鍵である。
ここで中間鍵について説明する。
攪拌関数52は秘密鍵とIV511を入力とし、処理を実行して得られるデータを再び攪拌関数52の入力として処理を行う。以降これを繰り返すことで攪拌関数52による処理一回ごとに得られる鍵系列の乱数性を高める。この攪拌関数52による1回の処理をラウンド処理と呼び、ラウンド間の攪拌関数52の入力データを中間鍵と呼ぶ。
次に、鍵系列生成部50の動作について説明する。
図9は、鍵系列生成部50の鍵系列生成処理動作を示した図で、まず秘密鍵とIV511を入力として初期化を行う。
初期化とは、一定回数のラウンド処理を行うことで、攪拌関数52の出力する鍵系列の乱数性を高めるためのものである。このラウンド処理回数はストリーム暗号アルゴリズムごとに推奨されている回数が異なる。
初期化完了後は、乱数性の高い鍵系列を得られるため、以降のラウンドごとに得られる鍵系列KC#1、KC#2、・・・を暗号処理に使用する。
また、鍵系列の生成と同時に、次のラウンドの入力データとなる中間鍵が得られ、初期化完了後の中間鍵をMK#1とし、以降のラウンドごとに得られる中間鍵をMK#2、MK#3、・・・とする。
2回目以降のラウンドでは、秘密鍵とIV511は使用せず、前回のラウンドで得られた中間鍵のみを利用して鍵系列を生成する。
次に、一般的なストリーム暗号の実装において、処理を高速化するための方法について説明する。
図9において、あるパケットの暗号処理で鍵系列KC#1とKC#2を使用した際に、中間鍵MK#3をメモリ等に一時的に保持しておくことで、その後KC#3を使用するパケットを受信したときに中間鍵MK#3を鍵系列生成部に入力することにより、(中間鍵MK#3を生成する時間を省くことで)短時間で鍵系列KC#3を生成する方法が考えられる。
同一の秘密鍵を使用するパケットを連続処理する場合は鍵系列をKC#1、KC#2、KC#3、・・・といったように連続生成するが、連続するパケットのそれぞれに対する秘密鍵が異なり、異なる秘密鍵で鍵系列を生成する場合は一時的に鍵系列生成部を明け渡す必要があるため、このように中間鍵を一時的にメモリ等に保持しておく必要がある。
特開平5−249891号公報
一般的に、ストリーム暗号では初期化時間がブロック暗号に比べて大きい。そのため、パケット通信時に初期化を行うと暗号処理性能のボトルネックとなるといった課題があった。
また、同一の秘密鍵を使用した鍵系列の生成は、図9のKC#1、KC#2、・・・といったように逐次的に生成されるため、複数の鍵系列生成部を設けて鍵系列を並列処理して生成することができずに処理の高速化が図れないといった課題があった。
また、同じ理由により復号側装置では、通信路中でパケットの順序変化が起こった場合を考慮し、追い抜かれたパケットの鍵系列をメモリに保持しておく等の対策が必要で、これによって実装が困難になるといった課題があった。
本発明は、上記の課題を解決することを主な目的としており、暗号側において並列処理等により暗号化処理の高速化を図ることを目的の一つとする。
また、復号側にメモリを保持しておく等の対策を行わなくても、通信路中で生じたパケットの順序変化又はパケットロスに対応できるようにすることを目的の一つとする。
本発明に係る暗号装置は、
中間鍵から生成される鍵系列を用いて、入力された平文データの暗号化を行う暗号装置であって、
平文データが入力される前に、秘密鍵とIV(Initial Value)とを用いて中間鍵を生成する中間鍵生成部と、
前記中間鍵生成部により生成された中間鍵を保存する中間鍵保存部と、
平文データが入力された際に、前記中間鍵保存部に保存されている中間鍵を用いて鍵系列を生成する鍵系列生成部とを有することを特徴とする。
本発明に係る暗号装置は、
中間鍵から生成される鍵系列を用いて、入力された平文データの暗号化を行う暗号装置であって、
一つの秘密鍵から派生する複数の中間鍵のそれぞれを入力し、入力した中間鍵からそれぞれ並列に鍵系列を生成する複数の鍵系列生成部と、
前記複数の鍵系列生成部により生成された複数の鍵系列を入力し、入力した複数の鍵系列を用いて、順次入力された複数の平文データの暗号化を行う暗号化処理部とを有することを特徴とする。
本発明に係る復号装置は、
中間鍵から生成される鍵系列を用いて、入力された暗号文データの復号化を行う復号装置であって、
暗号文データが入力される前に、秘密鍵とIV(Initial Value)とを用いて中間鍵を生成する中間鍵生成部と、
前記中間鍵生成部により生成された中間鍵を保存する中間鍵保存部と、
暗号文データが入力された際に、前記中間鍵保存部に保存されている中間鍵を用いて鍵系列を生成する鍵系列生成部とを有することを特徴とする。
本発明に係る復号装置は、
中間鍵から生成される鍵系列を用いて、入力された暗号文データの復号化を行う復号装置であって、
一つの秘密鍵から派生する複数の中間鍵のそれぞれを入力し、入力した中間鍵からそれぞれ並列に鍵系列を生成する複数の鍵系列生成部と、
前記複数の鍵系列生成部により生成された複数の鍵系列を入力し、入力した複数の鍵系列を用いて、順次入力された複数の暗号文データの復号化を行う復号化処理部とを有することを特徴とする。
本発明によれば、平文データの入力前に予め生成した中間鍵を用いることにより初期化処理に要する時間を省略し、また、鍵系列の生成を並列に処理することにより暗号化処理の高速化を図ることができる。
また、暗号文データの入力前に予め生成した中間鍵を用いることで初期化処理に要する時間を省略して復号化処理の高速化が可能になるとともに、鍵系列の生成を並列に処理することにより、復号側にメモリを保持しておく等の対策を行わなくても、通信路中で生じたパケットの順序変化又はパケットロスに対応することができる。
実施の形態1.
本発明の実施の形態1を図1に示す。
最初に構成について説明する。
図1は、本実施の形態に係る暗号装置1又は復号装置2を示す。
101は、平文データである(以下、単に平文ともいう)。
102は、平文101を暗号化する鍵の保存先アドレス等の鍵情報である。
103は、暗号処理後の暗号文データである(以下、単に暗号文ともいう)。
11は、秘密鍵とIVを保存する秘密鍵・IV保存部である。
12は、初期化処理完了後および暗号通信中の中間鍵を保存する中間鍵保存メモリである。
13は、メモリアクセス管理部である。
141〜14Nは、それぞれ鍵系列生成部1〜Nである。
15は、鍵系列と平文の排他的論理和を行うXOR(Exclusive OR)部である。
鍵系列とは、前述したように、鍵系列生成部141〜14Nから出力される乱数性の高いビット列のことで、暗号化側では平文のビット列と排他的論理和を行うことで暗号文を生成し、復号側では暗号文のビット列と排他的論理和を行うことで平文を生成するためのものである。
また、各々の鍵系列生成部の構成は、図8に示したものと同様である。
尚、図1は暗号装置1の構成を表しているが、復号装置2も同一の構成で実現することができる。復号装置2の場合は、図1中の平文101と暗号文103の位置を入れ替えた構成となる。
後述するように、複数の鍵系列生成部141〜14Nは、平文データ101が入力される前に、秘密鍵とIV(Initial Value)とを用いて中間鍵を生成するものであり、それぞれ中間鍵生成部に相当する。
また、複数の鍵系列生成部141〜14Nは、後述するように、一つの秘密鍵から派生する複数の中間鍵のそれぞれを入力し、入力した中間鍵からそれぞれ並列に鍵系列を生成する。
また、中間鍵保存メモリ12は、中間鍵生成部たる鍵系列生成部141〜14Nにより生成された中間鍵を保存するものであり、中間鍵保存部に相当する。
XOR部15は、複数の鍵系列生成部141〜14Nにより生成された複数の鍵系列を入力し、入力した複数の鍵系列を用いて、順次入力された複数の平文データ101の暗号化を行うものであり、暗号化処理部に相当する。また、復号装置2においては、XOR部15は、復号化処理部に相当する。
XOR部15は、入力した複数の鍵系列のそれぞれを用いて、順次入力された複数の平文データ101のそれぞれの暗号化処理を並列して行う。
つまり、本実施の形態では、複数の鍵系列生成部141〜14Nが、平文データ101が入力される前に、一つの秘密鍵と複数のIVとを用いて複数の中間鍵を生成し、中間鍵保存メモリ12が、生成された複数の中間鍵を保存し、更に、複数の鍵系列生成部141〜14Nは、平文データ101が入力された際に、中間鍵保存メモリ12に保存されている複数の中間鍵のそれぞれを入力し、入力した中間鍵からそれぞれ並列に鍵系列を生成し、XOR部15は、複数の鍵系列生成部141〜14Nにより生成された複数の鍵系列を入力し、入力した複数の鍵系列を用いて、平文データ101の暗号化を行う。
次に、本実施の形態に係る暗号装置1の動作(暗号方法)について図4及び図5を用いて説明する。
なお、本実施の形態に係る復号装置の動作(復号方法)も図4及び図5に示す通りである。
パケット通信前に行う初期化の動作を、図4のフローチャートを参照して説明する。
まず、対向となる装置間で同じ秘密鍵とIVを共有し、それを秘密鍵・IV保存部11に保存する。
続いて中間鍵の生成を行う。
メモリアクセス管理部13は秘密鍵・IV保存部11から秘密鍵とIVを読み出し(S401)、これを処理待機中の鍵系列生成部141〜14Nのいずれかに渡す。ここではその鍵系列生成部を鍵系列生成部141とする。
鍵系列生成部141は、受け取った秘密鍵とIVから、暗号化に使用可能な鍵系列を生成する直前のラウンドまでラウンド処理を行い、中間鍵を生成する(S402)(中間鍵生成ステップ)。
そして、鍵系列生成部141は、最終的に得られた中間鍵をメモリアクセス管理部13に渡し、メモリアクセス管理部13は中間鍵を中間鍵保存メモリ12に保存する(S403)(中間鍵保存ステップ)。
以上の中間鍵生成処理は、ある秘密鍵1個とIV1個の組み合わせについて行うものである。本実施の形態の方式では、秘密鍵1個に対して複数個のIVを予め用意しておくため、秘密鍵ごとにIVの個数分、この処理を行う。つまり、M個のIVに対して、N個の鍵生成系列部を用いて、M個の中間鍵を予め生成し、M個の中間鍵を中間鍵保存メモリ12に保存する。M個のIVに対するM個の中間鍵の生成は、N個の鍵系列生成部が並列に処理する。
図4において、M個のIVのすべてについて中間鍵が生成されるまで、S402及びS403の処理が繰り返される(S404)。
また、この処理は暗号側、復号側の装置で共通であり、それぞれ装置起動後独立に行う。
次に、パケット通信時の動作を図5を参照して説明する。
平文101を暗号化するにあたり、メモリアクセス管理部13は、暗号化に使用する鍵情報102を受け取り(S501)、この情報を元に中間鍵保存メモリ12から該当する中間鍵(暗号化対象の平文101に対応する秘密鍵とIVで生成された中間鍵)を読み出し(S502)、これを処理待機中の鍵系列生成部141〜14Nの何れかに渡す。ここでは鍵系列生成部141を使用するものとする。
中間鍵を受け取った鍵系列生成部141は、その中間鍵を入力として複数回のラウンド処理を行い、平文101の暗号化に使用する複数個の鍵系列を生成する(S503)(鍵系列生成ステップ)。
鍵系列生成部141は、生成した複数個の鍵系列をXOR部15に渡し、XOR部15は平文と鍵系列の排他的論理和を行い、暗号文103を出力する(S504)(暗号化処理ステップ)。なお、復号装置2の場合は、平文101を出力する(復号化処理ステップ)。
ここでXOR部15の内部は、N個の排他的論理和演算部から成っており、同時にN個のパケットのビット列に対して鍵系列との排他的論理和演算を行うことが可能な構成とする。また、鍵系列生成部141は、あるパケットで必要とする最終の鍵系列を生成した際に、同時に得られる中間鍵をメモリアクセス管理部13に渡す。メモリアクセス管理部13は、読み出した中間鍵を保存してあった領域に、この中間鍵を上書きして保存する(S505)。
次の暗号化対象のパケットがあれば、S501〜S505の処理を繰り返す(S506)。
以上は暗号装置の動作であるが、復号装置では上記の平文101と暗号文103を入れ替えた動作となる。
以上が図1に示した暗号処理部の基本的な処理の流れであり、本実施の形態の方式ではパケット通信時に初期化を行わないため、これによる暗号処理性能の低下を回避できる。
図1における中間鍵保存メモリ12の構成は、同一の秘密鍵を使用した鍵系列の生成であっても並列処理を可能とする構成となっている。図2はそれを実現する中間鍵保存メモリ12の内部を示すものである。
最初に構成について説明する。
秘密鍵ごと、それぞれ複数個のIVに対応する中間鍵を保持している。
図2では中間鍵をMKで表しており、秘密鍵の個数をL個、個々の秘密鍵に対応するIVをM個としており、個々の中間鍵を、秘密鍵番号をa、IV番号をb、鍵系列を生成する攪拌関数のラウンドcの入力となる中間鍵をMK#a_b_cで表している。
次に、暗号装置での図2の中間鍵保存メモリ12の使用方法について説明する。
ここでは、秘密鍵Pを使用する複数のパケットの暗号処理を想定する。
図1において、暗号装置1が秘密鍵Pを使用する最初のパケットを受信した場合、メモリアクセス管理部13は鍵情報102から秘密鍵Pの中間鍵が必要であることを認識し、中間鍵保存メモリ12から、中間鍵MK#P_1_1を読み出して鍵系列生成部141〜14Nの処理待機中のいずれかの鍵系列生成部に渡す。
続いて、同じく秘密鍵Pを使用するパケットを受信した場合、メモリアクセス管理部13は中間鍵保存メモリ12から中間鍵MK#P_2_1を読み出して処理待機中のいずれかの鍵系列生成部に渡す。以降、同じ秘密鍵Pを使用するパケットは、中間鍵MK#P_3_1、中間鍵MK#P_4_1、・・・の順に処理待機中のいずれかの鍵系列生成部に渡して、各パケットの暗号処理に必要な分の鍵系列を生成する。
ここで、図2に示したとおり、1個の秘密鍵に対する中間鍵数がM個の場合、中間鍵MK#P_M_1まで使用したら、次のパケットには、また中間鍵MK#P_1_x(IV番号が1番の中間鍵)を使用する。このとき、中間鍵MK#P_1_1でパケットの暗号処理に必要な鍵系列の生成が終わっていれば、中間鍵MK#P_1_1が保存されていた中間鍵保存メモリの領域には次の中間鍵が上書きされていることになる。つまり、最初のパケットが鍵系列をs個(sラウンド処理分の鍵系列)を使用して暗号化された場合、x=s+1であり、中間鍵MK#P_1_1が保存されていた領域には中間鍵MK#P_1_s+1が上書きされている。
よって、MK#P_1_1〜MK#P_M_1までのM個のパケットを処理した後、次のパケットの鍵系列を生成するためには中間鍵MK#P_1_s+1を読み出して必要となる鍵系列の個数分だけラウンド処理を行い、処理完了後は中間鍵MK#P_1_s+1を保存してあったメモリ領域に次の中間鍵を上書きして保存する。以降はこの繰り返しで暗号化を行う。
また、図1の暗号文103にあたる暗号パケットには、中間鍵MK#a_b_cの中間鍵番号a、b、cの情報を持たせて送信する。つまり、暗号装置1は、暗号文データ103と、当該暗号文データ103の暗号化処理に用いられた鍵系列の生成に用いられた中間鍵の識別情報とを、復号装置2に対して出力する。
次に、復号装置2での図2の中間鍵保存メモリ12の使用方法について説明する。
前述したように、復号装置2において、複数の鍵系列生成部141〜14Nは、暗号文データが入力される前に、秘密鍵とIVとを用いて複数の中間鍵を生成し、中間鍵保存メモリ(中間鍵保存部)12が当該複数の中間鍵を保存している。
複数の鍵系列生成部141〜14Nは、暗号文データ103が入力された際に、中間鍵保存メモリ12に保存されている複数の中間鍵のそれぞれを入力し、入力した中間鍵からそれぞれ並列に鍵系列を生成するが、復号装置2では、暗号文データの入力とともに、当該暗号文データの暗号化処理に用いられた鍵系列の生成に用いられた中間鍵の識別情報を入力し、暗号装置から入力した中間鍵の識別情報に基づき、複数の鍵系列生成部141〜14Nによる鍵系列生成の制御を行う。
そして、XOR部15(復号化処理部)は、複数の鍵系列生成部141〜14Nにより生成された複数の鍵系列を入力し、入力した複数の鍵系列を用いて、順次入力された複数の暗号文データの復号化を行う。
次に、復号装置2の動作例を具体的に説明する。
ここでは、暗号装置1と同じく、秘密鍵Pを使用する複数のパケットの復号処理を想定する。
復号側では、図1において鍵情報102として中間鍵番号a、b、cを受信する。復号側では、この情報を元に受信パケットをどの中間鍵で復号するのかを識別する。
基本的には暗号側と同じく、秘密鍵Pを使用するパケットを連続して受信した場合は、中間鍵MK#P_1_1、中間鍵MK#P_2_1、・・・、中間鍵MK#P_M_1、中間鍵MK#P_1_s+1、・・・と使用していくので、その順序通りに鍵系列を生成して暗号パケットを復号する。
以上のように、本実施の形態の方式では、パケットごとに異なる中間鍵で鍵系列を生成するため、前のパケットの鍵系列生成が終わるまで、次パケットの鍵系列生成の開始を待たせる必要がなく、並列処理することが可能である。
図2で示したとおり、ある秘密鍵に中間鍵をM個用意した場合、最大M並列での鍵系列生成が可能となり、並列処理による高速化が実現できる。
以上が同一の秘密鍵を使用した鍵系列の生成であっても並列処理を可能とする処理についての説明である。
続いては、通信路中でのパケット順序変化時の処理について説明する。
本実施の形態の方式において、復号装置での復号処理は、受信パケットの順序が暗号化順序通りである場合も、暗号化とは異なる順序である場合も処理は特に変わらない。
例えば、中間鍵MK#P_4_1で復号すべきパケットの前に中間鍵MK#P_5_1で復号すべきパケットを受信した場合であっても、対応する中間鍵を中間鍵保存メモリ12から読み出して鍵系列を生成すればよい。
従来は、あるパケットが未着である場合に、未着パケット用の中間鍵から未着パケットに対する鍵系列を生成し、未着パケットに対する鍵系列生成時に生成される中間鍵から次のパケットに対する鍵系列を生成していた。このため、未着パケットが到着するまで未着パケットに対する鍵系列を別途メモリに保持している必要があったが、このような未着パケットに対する鍵系列をメモリに保持しておく必要がない。
このように本実施の形態の方式では、パケットごとに異なる中間鍵で鍵系列を生成するため、従来方式で問題となったような、順序変化時に鍵系列を保持しておくためのメモリを用意するなどといった特別な対策を必要としない。
続いては、必要メモリ容量を抑制するための方法について説明する。
本実施の形態の方式では、一度使用した中間鍵を上書きすることによってこれを実現している。一度上書きしてしまうと、上書きされた中間鍵を必要とするパケットを遅れて受信した場合に復号できなくなるが、IPsec(IP(Internet Protocol) Security Protocol)のシーケンス番号チェックにもあるように、最新の受信パケットから一定数以上前に受信すべきであったパケットを廃棄することでリプレイ攻撃の防止につながるため、これは特に問題とならない。
ここで、IPsecのシーケンス番号チェックについて説明する。
これは、リプレイ攻撃を防止するためのもので、同一パケットと最新の受信パケットから一定数以上前に送信されたパケットを受信したときに廃棄する機能である。これにはチェックウィンドウと呼ばれるパケット受信可否判定表を使用する。
暗号装置では、ある装置あてにIPsecパケットを送信するときにシーケンス番号を付加し、同一装置あてのパケットごとにインクリメントする。復号装置では受信したパケットのシーケンス番号とチェックウィンドウを比較することで、そのパケットが既に受信済みでないか、もしくは最新の受信パケットより一定数以上前に送信されたパケットでないかを見て受信可否を判定する。
この判定に合格したパケットだけ、認証処理や復号処理が行われる。
本実施の形態の方式をIPsec方式による暗号装置に適用する場合は、図2で示した秘密鍵ごとに用意する中間鍵の個数MをIPsecシーケンス番号チェックのウィンドウサイズWに合わせることで、一度使用した中間鍵を上書きしたとしても、その中間鍵を必要とするパケットを復号することはなくなる。
先の中間鍵保存メモリアクセス動作の説明にあった例で説明すると、中間鍵MK#P_1_1で鍵系列を生成したら、その中間鍵MK#P_1_1の保存領域に中間鍵MK#P_1_s+1を上書きして保存するが、この中間鍵MK#P_1_1と中間鍵MK#P_1_s+1の間には中間鍵MK#P_2_1〜中間鍵MK#P_M_1で暗号処理すべきM−1個のパケットが存在する。よって、M=Wとすることで、暗号装置は、最新の受信パケットからM個以上前に受信すべきであったパケットで使用する中間鍵を上書きすることになるが、そのようなパケットを受信したとしてもシーケンス番号チェックで廃棄される。
続いては、通信路中でパケットをロスしたときにも対応可能であることを説明する。
通信路中で中間鍵MK#P_1_1を使用するパケットをロスした場合、復号装置2の中間鍵保存メモリ12には中間鍵MK#P_1_1が中間鍵MK#P_1_s+1で上書きされずに残ることになる。その後、中間鍵MK#P_1_s+1で復号すべきパケットを受信した際、中間鍵保存メモリ12から中間鍵MK#P_1_1を読み出し、鍵系列生成部は、このパケットが必要とする鍵系列(中間鍵MK#P_1_s+1を使用する鍵系列)が生成されるまで処理を行う。
ここで、受信パケットには中間鍵番号P、1、s+1が付属しているため、中間鍵MK#P_1_1から鍵系列を生成したとしても、何ラウンド目の出力からが自身の復号に使用する鍵系列であるかを識別できる。
よって、通信路でパケットをロスした場合であっても、その後のパケットを復号可能である。
このように、暗号装置1において、複数の鍵系列生成部141〜14Nは、それぞれ、中間鍵を用いて鍵系列を生成するとともに新たな中間鍵を生成する。そして、中間鍵保存メモリ12は、複数の鍵系列生成部141〜14Nにより生成された複数の新たな中間鍵を、それぞれの生成のもとになった中間鍵に上書きして保存する。
また、複数の鍵系列生成部141〜14Nは、新たに平文データが入力された際に、中間鍵保存メモリ12に保存されている複数の新たな中間鍵のそれぞれを入力し、入力した新たな中間鍵からそれぞれ並列に鍵系列を生成する。
また、複数の鍵系列生成部141〜14Nは、IPSecにおけるシーケンス番号のチェックウィンドウ値と同数の複数の中間鍵を生成する。
また、復号装置2においても同様に、複数の鍵系列生成部141〜14Nは、それぞれ、中間鍵を用いて鍵系列を生成するとともに新たな中間鍵を生成する。そして、中間鍵保存メモリ12は、複数の鍵系列生成部141〜14Nにより生成された複数の新たな中間鍵を、それぞれの生成のもとになった中間鍵に上書きして保存する。
また、複数の鍵系列生成部141〜14Nは、新たに暗号文データが入力された際に、中間鍵保存メモリ12に保存されている複数の新たな中間鍵のそれぞれを入力し、入力した新たな中間鍵からそれぞれ並列に鍵系列を生成する。
また、複数の鍵系列生成部141〜14Nは、IPSecにおけるシーケンス番号のチェックウィンドウ値と同数の複数の中間鍵を生成する。
以上のように本実施の形態に係る方式によれば、パケット通信時にストリーム暗号の初期化処理を行う必要がなく、鍵系列生成の並列化も可能であるため、高速な暗号処理が実現できる。
また通信路中でパケットの順序が入れ替わった場合であっても、復号装置で特別な処理を行う必要がない。
更に本実施の形態の方式では中間鍵保存のために必要なメモリサイズを抑制でき、加えて通信路中でパケットをロスした場合であっても、その後受信するパケットを復号することが可能である。
以上、本実施の形態では、秘密鍵とIVの入力から暗号処理に使用可能な鍵系列を生成するまでの初期化処理をパケット通信前に予め行っておくことで、パケット通信を高速に行う暗号装置及び復号装置について説明した。
また、本実施の形態では、秘密鍵ごとに複数個の中間鍵を用意することで、同一の秘密鍵を使用する鍵系列の生成を並列処理することを可能とする暗号装置及び復号装置について説明した。
また、本実施の形態では、秘密鍵ごとに複数個の中間鍵を用意することで、通信路中でのパケット順序変化に対応可能な暗号装置及び復号装置について説明した。
また、本実施の形態では、中間鍵をメモリに持ち、これを一度使用した後で次の暗号処理に使用するための異なる中間鍵をその領域に上書きすることで、メモリ容量を抑制する暗号装置及び復号装置について説明した。
また、本実施の形態では、暗号パケットに中間鍵を区別するための識別子を持つことで、通信路中であるパケットをロスした場合であっても、復号側でロスパケット以降のパケットの復号処理を正しく行うことができる暗号装置及び復号装置について説明した。
実施の形態2.
以上の実施の形態1では、秘密鍵・IV保存部を設けているが、パケット処理時これらのメモリを参照することはないため、暗号装置1又は復号装置2からこれを取り除いた構成も考えられる。その構成例を図3に示す。
最初に構成について説明する。
図3において、301は平文データである。
302は、パケット通信時においては、平文301を暗号化する中間鍵の保存先アドレス等の鍵情報、もしくは、初期化時の中間鍵生成時においては、秘密鍵とIVの実体およびそれらから生成される中間鍵の保存先アドレス等の鍵情報である。
303は、暗号処理後の暗号文データである。
31は、中間鍵保存メモリである。
32は、メモリアクセス管理部である。
331〜33Nは、それぞれ鍵系列生成部1〜Nである。
34は、鍵系列と平文の排他的論理和を行うXOR部である。
次に、動作について説明する。
まず、装置起動時は、メモリアクセス管理部32は鍵情報302を受け取り、秘密鍵とIVを鍵系列生成部に渡し、中間鍵を生成する。
鍵系列生成部は生成した中間鍵をメモリアクセス管理部32に渡し、メモリアクセス管理部32はこれを中間鍵保存メモリ31に保存する。
以上の動作を必要な中間鍵の個数分実施する。
その後のパケット通信時におけるパケットの暗号処理については実施の形態1の動作と同じである。
また、上記と同様の動作にて、本実施の形態に係る復号装置も実現できる。
本実施の形態に係る方式によっても、パケット通信時にストリーム暗号の初期化処理を行う必要がなく、鍵系列生成の並列化も可能であるため、高速な暗号処理が実現できる。
また通信路中でパケットの順序が入れ替わった場合であっても、復号装置で特別な処理を行う必要がない。
更に本実施の形態の方式では中間鍵保存のために必要なメモリサイズを抑制でき、加えて通信路中でパケットをロスした場合であっても、その後受信するパケットを復号することが可能である。
ここで、実施の形態1及び2に係る暗号装置1及び復号装置2のハードウェア構成について説明する。
図6は、実施の形態1及び2に係る暗号装置1及び復号装置2のハードウェア資源の一例を示す図である。なお、図6の構成は、あくまでも暗号装置1及び復号装置2のハードウェア構成の一例を示すものであり、暗号装置1及び復号装置2のハードウェア構成は図6に記載の構成に限らず、他の構成であってもよい。
図6において、暗号装置1及び復号装置2は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、鍵系列生成回路901、XOR回路902、通信ボード915、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。更に、CPU911は、表示装置、キーボード、マウス、FDD(Flexible Disk Drive)、コンパクトディスク装置(CDD)、プリンタ装置、スキャナ装置等と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD、CDD、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード915、キーボード、スキャナ装置、FDDなどは、入力部、入力装置の一例である。
また、通信ボード915、表示装置、プリンタ装置などは、出力部、出力装置の一例である。
例えば、通信ボード915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)などに接続されていても構わない。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
上記プログラム群923には、実施の形態1及び実施の形態2の説明において「〜部」として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、以上の実施の形態で示した説明において、「〜の判断」、「〜の計算」、「〜の生成」、「〜の暗号化」、「〜の復号化」、「〜の保存」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、以上の実施の形態で説明したフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDDのフレキシブルディスク、CDDのコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、以上の実施の形態の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」、「手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
例えば、図6では、図1及び図3に示す鍵系列生成部を、鍵系列生成回路901により実現し、XOR部をXOR回路902で実現する例を示している。
また、以上の実施の形態の説明において「〜部」として説明しているものをファームウェアやソフトウェアにて実現する場合は、ファームウェアやソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、実施の形態1及び実施の形態2の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態1及び実施の形態2の「〜部」の手順や方法をコンピュータに実行させるものである。
このように、実施の形態1及び実施の形態2に示す暗号装置1及び復号装置2は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
実施の形態1の暗号装置及び復号装置の構成例を示す図である。 実施の形態1の中間鍵保存メモリの内部構成例を示す図である。 実施の形態2の暗号装置及び復号装置の構成例を示す図である。 実施の形態1の暗号装置及び復号装置の動作例を示すフローチャート図である。 実施の形態1の暗号装置及び復号装置の動作例を示すフローチャート図である。 実施の形態1及び実施の形態2の暗号装置及び復号装置のハードウェア構成例を示す図である。 従来技術に係るストリーム暗号による一般的な暗号処理部の内部構成図である。 従来技術に係る鍵系列生成部の内部構成図である。 従来技術に係る鍵系列生成部の鍵系列生成イメージを示す図である。
符号の説明
1 暗号装置、2 復号装置、11 秘密鍵・IV保存部、12 中間鍵保存メモリ、13 メモリアクセス管理部、15 XOR部、31 中間鍵保存メモリ、32 メモリアクセス管理部、34 XOR部、101 平文データ、102 鍵情報、103 暗号文データ、141 鍵系列生成部、142 鍵系列生成部、14N 鍵系列生成部、301 平文データ、302 鍵情報、303 暗号文データ、331 鍵系列生成部、332 鍵系列生成部、33N 鍵系列生成部。

Claims (16)

  1. 中間鍵から生成される鍵系列を用いて、入力された平文データの暗号化を行う暗号装置であって、
    平文データが入力される前に、一つの秘密鍵と複数のIV(Initial Value)とを用いてIVの個数分の中間鍵を生成する処理を複数の秘密鍵に対して行い、秘密鍵ごとにIVの個数分の中間鍵を生成する中間鍵生成部と、
    前記中間鍵生成部により生成された複数の中間鍵を、秘密鍵ごとに区別して保存する中間鍵保存部と、
    平文データが入力された際に、前記複数の秘密鍵のうちのいずれかの秘密鍵に対して生成されたいずれかの中間鍵を入力し、入力した中間鍵から鍵系列を生成する鍵系列生成部と、
    記鍵系列生成部により生成された鍵系列を入力し、入力した鍵系列を用いて、入力された平文データの暗号化を行う暗号化処理部とを有することを特徴とする暗号装置。
  2. 記鍵系列生成部は、
    入力した中間鍵を用いて鍵系列を生成するとともに新たな中間鍵を生成し、
    前記中間鍵保存部は、
    記鍵系列生成部により生成された新たな中間鍵を、生成のもとになった中間鍵に上書きして保存することを特徴とする請求項に記載の暗号装置。
  3. 前記中間鍵生成部は、
    それぞれに番号が付されている複数のIVを用いて、秘密鍵ごとにIVの個数分の中間鍵を生成し、
    前記中間鍵保存部は、
    前記中間鍵生成部により生成された複数の中間鍵を、秘密鍵ごとに、対応するIV番号を管理して保存しており、
    前記暗号装置は、更に、
    入力された平文データの暗号化用の秘密鍵を特定し、特定した秘密鍵の複数の中間鍵のうちいずれかのIV番号に対応する中間鍵を前記中間鍵保存部から読み出し、読み出した中間鍵を前記鍵系列生成部に出力するメモリアクセス管理部を有することを特徴とする請求項1に記載の暗号装置。
  4. 前記暗号装置は、
    平文データを繰り返し入力し、
    前記メモリアクセス管理部は、
    暗号化用の秘密鍵が共通している平文データが入力される度に、該当する秘密鍵の中間鍵をIV番号の順序に従って読み出すことを特徴とする請求項3に記載の暗号装置。
  5. 前記中間鍵生成部は、
    秘密鍵ごとに、IPSec(IP(Internet Protocol) Security Protocol)におけるシーケンス番号のチェックウィンドウ値と同数の複数の中間鍵を生成することを特徴とする請求項に記載の暗号装置。
  6. 前記鍵系列生成部は、
    秘密鍵ごとに、IPSec(IP(Internet Protocol) Security Protocol)におけるシーケンス番号のチェックウィンドウ値と同数の複数の新たな中間鍵を生成することを特徴とする請求項に記載の暗号装置。
  7. 前記暗号装置は、
    前記暗号化処理部により暗号化された暗号文データと、当該暗号文データの暗号化処理に用いられた鍵系列の生成に用いられた中間鍵の識別情報とを、復号装置に対して出力することを特徴とする請求項に記載の暗号装置。
  8. 中間鍵から生成される鍵系列を用いて、入力された暗号文データの復号化を行う復号装置であって、
    暗号文データが入力される前に、一つの秘密鍵と複数のIV(Initial Value)とを用いてIVの個数分の中間鍵を生成する処理を複数の秘密鍵に対して行い、秘密鍵ごとにIVの個数分の中間鍵を生成する中間鍵生成部と、
    前記中間鍵生成部により生成された複数の中間鍵を、秘密鍵ごとに区別して保存する中間鍵保存部と、
    暗号文データが入力された際に、前記複数の秘密鍵のうちのいずれかの秘密鍵に対して生成されたいずれかの中間鍵を入力し、入力した中間鍵から鍵系列を生成する鍵系列生成部と、
    記鍵系列生成部により生成された鍵系列を入力し、入力した鍵系列を用いて、入力された暗号文データの復号化を行う復号化処理部とを有することを特徴とする復号装置。
  9. 記鍵系列生成部は、
    入力した中間鍵を用いて鍵系列を生成するとともに新たな中間鍵を生成し、
    前記中間鍵保存部は、
    記鍵系列生成部により生成された新たな中間鍵を、生成のもとになった中間鍵に上書きして保存することを特徴とする請求項に記載の復号装置。
  10. 前記中間鍵生成部は、
    秘密鍵ごとに、IPSec(IP(Internet Protocol) Security Protocol)におけるシーケンス番号のチェックウィンドウ値と同数の複数の中間鍵を生成することを特徴とする請求項に記載の復号装置。
  11. 前記鍵系列生成部は、
    秘密鍵ごとに、IPSec(IP(Internet Protocol) Security Protocol)におけるシーケンス番号のチェックウィンドウ値と同数の複数の新たな中間鍵を生成することを特徴とする請求項に記載の復号装置。
  12. 前記復号装置は、
    暗号文データと、当該暗号文データの暗号化処理に用いられた鍵系列の生成に用いられた中間鍵の識別情報とを、暗号装置から入力し、
    前記暗号装置から入力した中間鍵の識別情報に基づき、前記鍵系列生成部が鍵系列の生成に用いる中間鍵を特定することを特徴とする請求項に記載の復号装置。
  13. 中間鍵から生成される鍵系列を用いて、入力された平文データの暗号化を行う暗号方法であって、
    平文データが入力される前に、一つの秘密鍵と複数のIV(Initial Value)とを用いてIVの個数分の中間鍵を生成する処理を複数の秘密鍵に対して行い、秘密鍵ごとにIVの個数分の中間鍵を生成する中間鍵生成ステップと、
    前記中間鍵生成ステップにより生成された複数の中間鍵を、秘密鍵ごとに区別して保存する中間鍵保存ステップと、
    平文データが入力された際に、前記複数の秘密鍵のうちのいずれかの秘密鍵に対して生成されたいずれかの中間鍵を入力し、入力した中間鍵から鍵系列を生成する鍵系列生成ステップと、
    記鍵系列生成ステップにより生成された鍵系列を入力し、入力した鍵系列を用いて、入力された平文データの暗号化を行う暗号化処理ステップとを有することを特徴とする暗号方法。
  14. 中間鍵から生成される鍵系列を用いて、入力された暗号文データの復号化を行う復号方法であって、
    暗号文データが入力される前に、一つの秘密鍵と複数のIV(Initial Value)とを用いてIVの個数分の中間鍵を生成する処理を複数の秘密鍵に対して行い、秘密鍵ごとにIVの個数分の中間鍵を生成する中間鍵生成ステップと、
    前記中間鍵生成ステップにより生成された複数の中間鍵を、秘密鍵ごとに区別して保存する中間鍵保存ステップと、
    暗号文データが入力された際に、前記複数の秘密鍵のうちのいずれかの秘密鍵に対して生成されたいずれかの中間鍵を入力し、入力した中間鍵から鍵系列を生成する鍵系列生成ステップと、
    記鍵系列生成ステップにより生成された鍵系列を入力し、入力した鍵系列を用いて、入力された暗号文データの復号化を行う復号化処理ステップとを有することを特徴とする復号方法。
  15. 中間鍵から生成される鍵系列を用いて、入力された平文データの暗号化を行うコンピュータに、
    平文データが入力される前に、一つの秘密鍵と複数のIV(Initial Value)とを用いてIVの個数分の中間鍵を生成する処理を複数の秘密鍵に対して行い、秘密鍵ごとにIVの個数分の中間鍵を生成する中間鍵生成処理と、
    前記中間鍵生成処理により生成された複数の中間鍵を、秘密鍵ごとに区別して保存する中間鍵保存処理と、
    平文データが入力された際に、前記複数の秘密鍵のうちのいずれかの秘密鍵に対して生成されたいずれかの中間鍵を入力し、入力した中間鍵から鍵系列を生成する鍵系列生成処理と、
    記鍵系列生成処理により生成された鍵系列を入力し、入力した鍵系列を用いて、入力された平文データの暗号化を行う暗号化処理とを実行させることを特徴とするプログラム。
  16. 中間鍵から生成される鍵系列を用いて、入力された暗号文データの復号化を行うコンピュータに、
    暗号文データが入力される前に、一つの秘密鍵と複数のIV(Initial Value)とを用いてIVの個数分の中間鍵を生成する処理を複数の秘密鍵に対して行い、秘密鍵ごとにIVの個数分の中間鍵を生成する中間鍵生成処理と、
    前記中間鍵生成処理により生成された複数の中間鍵を、秘密鍵ごとに区別して保存する中間鍵保存処理と、
    暗号文データが入力された際に、前記複数の秘密鍵のうちのいずれかの秘密鍵に対して生成されたいずれかの中間鍵を入力し、入力した中間鍵から鍵系列を生成する鍵系列生成処理と、
    記鍵系列生成処理により生成された鍵系列を入力し、入力した鍵系列を用いて、入力された暗号文データの復号化を行う復号化処理とを実行させることを特徴とするプログラム。
JP2006232962A 2006-08-30 2006-08-30 暗号装置及び復号装置及び暗号方法及び復号方法及びプログラム Expired - Fee Related JP4912797B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006232962A JP4912797B2 (ja) 2006-08-30 2006-08-30 暗号装置及び復号装置及び暗号方法及び復号方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006232962A JP4912797B2 (ja) 2006-08-30 2006-08-30 暗号装置及び復号装置及び暗号方法及び復号方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2008060750A JP2008060750A (ja) 2008-03-13
JP4912797B2 true JP4912797B2 (ja) 2012-04-11

Family

ID=39243028

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006232962A Expired - Fee Related JP4912797B2 (ja) 2006-08-30 2006-08-30 暗号装置及び復号装置及び暗号方法及び復号方法及びプログラム

Country Status (1)

Country Link
JP (1) JP4912797B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5178269B2 (ja) * 2008-03-21 2013-04-10 三菱電機株式会社 復号装置及びプログラム
JP2010268149A (ja) * 2009-05-13 2010-11-25 Mitsubishi Electric Corp 復号装置及び復号方法及びプログラム
JP5706751B2 (ja) * 2011-04-28 2015-04-22 Kddi株式会社 ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH088564B2 (ja) * 1987-07-01 1996-01-29 東洋通信機株式会社 信号のスクランブル方法
US5016275A (en) * 1988-10-28 1991-05-14 International Business Machines Corporation Buffered encryption/decryption
US5151938A (en) * 1990-03-13 1992-09-29 General Instrument Corporation Security enhancement in a data processor through use of dynamic parameter authentication
EP1063811B1 (en) * 1999-06-22 2008-08-06 Hitachi, Ltd. Cryptographic apparatus and method
US6731758B1 (en) * 1999-08-29 2004-05-04 Intel Corporation Digital video content transmission ciphering and deciphering method and apparatus
US6804354B1 (en) * 1999-12-02 2004-10-12 Honeywell International Inc. Cryptographic isolator using multiplication
US6760440B1 (en) * 1999-12-11 2004-07-06 Honeywell International Inc. One's complement cryptographic combiner
JP2003032244A (ja) * 2001-07-18 2003-01-31 Nec Corp ストリーム暗号装置

Also Published As

Publication number Publication date
JP2008060750A (ja) 2008-03-13

Similar Documents

Publication Publication Date Title
US8983061B2 (en) Method and apparatus for cryptographically processing data
EP2817916B1 (en) Cryptographic transmission system using key encryption key
US8634549B2 (en) Ciphertext key chaining
KR101324825B1 (ko) 메시지 인증 코드 사전 연산 방법 및 시스템
US7574571B2 (en) Hardware-based encryption/decryption employing dual ported memory and fast table initialization
US8577022B2 (en) Data processing apparatus
US20100061550A1 (en) Data processing apparatus
JPWO2009087972A1 (ja) データ送信装置、データ受信装置、これらの方法、コンピュータプログラム、そのデータ通信システム
JP2007173999A (ja) 認証システム及び認証対象装置
JP2001244925A (ja) 暗号化データ管理システム及び方法、記憶媒体
US8041033B2 (en) Cipher feedback with variable block chaining
US6873707B1 (en) Hardware-based encryption/decryption employing cycle stealing
JP4912797B2 (ja) 暗号装置及び復号装置及び暗号方法及び復号方法及びプログラム
US20060269055A1 (en) Method and apparatus for improving performance and security of DES-CBC encryption algorithm
JP2008306395A (ja) 情報処理装置、情報処理方法
JP5311981B2 (ja) 暗号通信システム
JP2006527412A (ja) データを暗号化および/または復号化するプロセッサとこのプロセッサを使用してデータを暗号化および/または復号化する方法
US9438429B2 (en) Method for authentication and electronic device for performing the authentication
JP4386926B2 (ja) 暗号通信プログラム、暗号通信方法および暗号通信装置
US20190312853A1 (en) Keystream generation using media data
JP5431191B2 (ja) 認証付きストリーム暗号の暗号化装置、認証付きストリーム暗号の復号化装置、暗号化方法、復号化方法およびプログラム
JP2005309148A (ja) データ変換装置およびデータ変換方法
KR100494560B1 (ko) Rijndael암호를 이용한 블록 데이터 실시간암호복호화 장치 및 방법
JP5178269B2 (ja) 復号装置及びプログラム
JP2010268149A (ja) 復号装置及び復号方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111115

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111226

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150127

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees