JP2004205694A - 暗号処理装置及び方法 - Google Patents
暗号処理装置及び方法 Download PDFInfo
- Publication number
- JP2004205694A JP2004205694A JP2002372909A JP2002372909A JP2004205694A JP 2004205694 A JP2004205694 A JP 2004205694A JP 2002372909 A JP2002372909 A JP 2002372909A JP 2002372909 A JP2002372909 A JP 2002372909A JP 2004205694 A JP2004205694 A JP 2004205694A
- Authority
- JP
- Japan
- Prior art keywords
- key
- block
- encryption
- exclusive
- communication
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】ブロック暗号アルゴリズムを採用した通信時において、全体的な転送効率を向上させる。
【解決手段】排他的論理和演算器83,84及びKASUMI演算部85,スイッチ86により構成される通信用暗号鍵生成部と、排他的論理和演算器87,88及びKASUMI演算部89,スイッチ90により構成される通信用暗号鍵生成部とは、並列構成されている。これら並列構成された通信用暗号鍵生成部にて生成された通信用暗号鍵は、切替出力部91により一つずつ順次出力され、排他的論理和演算器93へ送られる。排他的論理和演算器93は、端子92からブロック毎に順次供給されたデータを、切替出力部91からの通信用暗号鍵と排他的論理和演算する。
【選択図】 図3
【解決手段】排他的論理和演算器83,84及びKASUMI演算部85,スイッチ86により構成される通信用暗号鍵生成部と、排他的論理和演算器87,88及びKASUMI演算部89,スイッチ90により構成される通信用暗号鍵生成部とは、並列構成されている。これら並列構成された通信用暗号鍵生成部にて生成された通信用暗号鍵は、切替出力部91により一つずつ順次出力され、排他的論理和演算器93へ送られる。排他的論理和演算器93は、端子92からブロック毎に順次供給されたデータを、切替出力部91からの通信用暗号鍵と排他的論理和演算する。
【選択図】 図3
Description
【0001】
【発明の属する技術分野】
本発明は、通信機器間で通信されるデータの暗号化,復号化の高速処理に関し、特に、ブロック暗号アルゴリズムを利用した暗号化,復号化を行う暗号処理装置及び方法に関する。
【0002】
【従来の技術】
通信装置を用いて他者と通信する際、通信内容を示す平文が伝送路に流されると、正規の通信相手ではない第三者は、極めて容易に通信内容を盗聴したり、通信内容を改竄したりできる。したがって、従来より、通信内容の盗聴や改竄を防止するために、暗号通信装置が広く使用されている。暗号通信装置は、平文を暗号化して伝送路へ送信すると共に、受け取った暗号文を平文へ復号化する。このように、暗号通信装置を用いれば、伝送路には第三者が解読できない暗号文のみが流れることになり、その結果、第三者による通信内容の盗聴や改竄を防止できることになる。
【0003】
従来の暗号通信装置で使用されている暗号方法は、DES(Data Encryption Standard)暗号方式、IDEA(International Data Encryptoin Algorithm)暗号方式などの共有鍵暗号方式と、RSA(Rivest Shamir Adleman)暗号方式などの公開鍵暗号方式とに大別される。共有鍵暗号方式は、暗号化時と復号化時で同一の暗号鍵を使用する方式であり、一方、公開鍵暗号方式は、暗号化に使用する鍵と復号化とで異なる鍵を使用する方式である。
【0004】
ここで、公開鍵暗号方式は、暗号化及び復号化に要する計算量が多くなるので、例えば認証データを伝送する場合のように伝送されるデータ量が比較的少ない通信には使用できても、例えば画像や音声、数値データを伝送する場合のように伝送されるデータ量が多く、高いスループットが要求されるデータ通信に使用するのは難しい。したがって、それら伝送データ量が多く、高いスループットが要求されるデータ通信の際には、上記共有鍵暗号方式が一般に使用されている。
【0005】
共有鍵暗号方式は、暗号文を復号する際に、暗号化に使用した暗号鍵と同じ復号鍵が必要となるので、暗号通信が開始される前に送信側と受信側との間で暗号鍵を統一しておかなければならない。したがって、共有鍵暗号方式を用いて通信を行う正規の通信装置は、送信側と受信側とで共有された暗号鍵(共有鍵)を予め格納しておくことになる。
【0006】
ところで、現時点で存在する多くの暗号化方式は、何れも完全なものではない。したがって、長い時間と多くの手間をかければ、暗号文を平文へ解読することも不可能ではない。特に、同一の暗号鍵を用いた暗号文が数多く存在すると、それら暗号文の差分解析などの手法により、暗号文が第三者に解読されてしまう虞がある。それゆえ、通信の安全性を高めるために、暗号鍵を通信毎に変更する手法が考案されている。なお、各通信毎に生成される暗号鍵は、通信用暗号鍵(セッション鍵)と呼ばれている。但し、この手法においても、例えば通信用暗号鍵がそのまま伝送路に送出されると、その通信用暗号鍵自体が盗聴されてしまう虞がある。通信用暗号鍵自体が盗聴された場合、第三者がその通信用暗号鍵を用いて生成された暗号文を復号できることになる。
【0007】
このようなことから、従来より、正規の通信装置に上記共有鍵を予め配付しておくと共に、暗号通信に先立ってあるデータを送出し、当該データと上記共有鍵とに基づいて通信用暗号鍵を生成することで、通信用暗号鍵の盗聴を防止し得る手法が考案されている。例えば第三世代無線通信では、予め端末側とネットワーク側に共通鍵を用意しておき、通信時には個々のデータブロックを識別するための識別情報であるシーケンスナンバー(SN)をブロック毎に順次割り当て、これらシーケンスナンバー毎にそれぞれ個別の通信暗号鍵を生成して暗号化する、いわゆるブロック暗号アルゴリズムが採用されている。
【0008】
また、ブロック暗号アルゴリズムは、第三世代携帯電話(3GPP)標準規格の「KASUMI」アルゴリズム(3GPP TS 35.202「KASUMI Specification」)を利用した「f8」暗号アルゴリズム(3GPP TS 35.201「f8 and f9 Specification」)にも採用されている。
【0009】
以下、第三世代携帯電話標準規格で採用されている「f8」暗号アルゴリズムについて、図5〜図8を参照しながら説明する。
【0010】
図5は、「f8」暗号アルゴリズムによるデータの暗号化と復号化の流れを機能的に表している。この図5において、送信側の通信装置は、64ビットの鍵要素101から「f8」暗号アルゴリズム102により通信用暗号鍵103を生成すると共に、64ビットブロックのデータ104と上記通信用暗号鍵103を排他的論理和演算105することで、暗号データ106のブロックを生成する。送信側の通信装置は、以上の処理をブロック毎に行う。一方、受信側の通信装置は、鍵要素111から「f8」暗号アルゴリズム112により通信用暗号鍵113を生成すると共に、受信した暗号データ106と上記通信用暗号鍵113の排他的論理和演算114を行うことにより、復号データ115のブロックを生成(つまりデータ104のブロックを復元)する。当該受信側の通信装置は、以上の処理をブロック毎に行う。
【0011】
図6は、図5の「f8」暗号アルゴリズムにおける通信用暗号鍵の生成の流れを各ブロック毎の処理に分けて機能的に表す。
【0012】
この図6において、先ず、1番目のブロック(64ビット)で使用される通信用暗号鍵124は、鍵要素121とブロックカウント(BlockCount)と呼ばれる要素(BlockCount=0)との排他的論理和演算122、及び、KASUMI演算123により生成される。そして、図5の送信側の通信装置は、1番目のブロックのデータ104と当該通信用暗号鍵124を使用した排他的論理和演算105により、1番目のブロックの暗号データ106を生成して送信する。次に、2番目のブロックで使用される通信用暗号鍵128は、鍵要素121とブロックカウント(BlockCount=1)との排他的論理和演算125、その排他的論理和演算125後の要素と1番目のブロックで生成された通信用暗号鍵124との排他的論理和演算126、及びKASUMI演算127により生成される。そして、図5の送信側通信装置は、この2番目のブロックのデータ104と当該通信用暗号鍵128を使用した排他的論理和演算105により、2番目のブロックの暗号データ106を生成して送信する。次に、3番目のブロックで使用される通信用暗号鍵132は、鍵要素121とブロックカウント(BlockCount=2)との排他的論理和演算129、その排他的論理和演算129後の要素と2番目のブロックで生成された通信用暗号鍵128との排他的論理和演算130、及び、KASUMI演算131により生成される。そして図5の送信側通信装置は、この3番目のブロックのデータ104と当該通信用暗号鍵132を使用した排他的論理和演算105により、3番目のブロックの暗号データ106を生成して送信する。以下同様にして、n番目のブロックで使用される通信用暗号鍵137までが順次生成され、図5の送信側通信装置は、その通信用暗号鍵137を用いてn番目のブロックの暗号データ106を生成して送信する。
【0013】
一方、受信側の通信装置も同様であり、先ず1番目のブロックで使用される通信用暗号鍵124は、鍵要素121とブロックカウント(BlockCount=0)との排他的論理和演算122、及びKASUMI演算123により生成される。そして、図5の受信側通信装置は、1番目のブロックの暗号データ106と当該通信用暗号鍵124を使用した排他的論理和演算114により、1番目のブロックの復号データ115を生成する。次に、受信側通信装置は、2番目のブロックで使用される通信用暗号鍵128を、鍵要素121とブロックカウント(BlockCount=1)との排他的論理和演算125、当該排他的論理和演算125後の要素と1番目のブロックで生成された通信用暗号鍵124との排他的論理和演算126、及びKASUMI演算127により生成した後、2番目のブロックの暗号データ106と当該通信用暗号鍵128を使用した排他的論理和演算114により、2番目のブロックの復号データ115を生成する。次に、受信側通信装置は、3番目のブロックで使用される通信用暗号鍵132を、鍵要素121とブロックカウント(BlockCount=2)との排他的論理和演算129、当該排他的論理和演算129後の要素と2番目のブロックで生成された通信用暗号鍵128との排他的論理和演算130、及び、KASUMI演算131により生成した後、3番目のブロックの暗号データ106と当該通信用暗号鍵132を使用した排他的論理和演算114により、3番目のブロックの復号データ115を生成する。以下同様に、受信側通信装置は、n番目のブロックで使用される通信用暗号鍵137までを順次生成し、その通信用暗号鍵137を用いてn番目のブロックの復号データ115を生成する。
【0014】
図7には、上記図5及び図6で説明した「f8」暗号アルゴリズムによってデータの暗号化又は復号化を実現する従来の構成の実装例を示す。
【0015】
図7において、端子140には、鍵要素が入力される。当該鍵要素は、鍵要素記憶部141に記憶される。当該鍵要素記憶部141の出力端は、排他的論理和演算器143の一方の入力端と接続されている。当該鍵要素記憶部141からは、ブロックカウンタ142の各ブロックカウント出力に同期して鍵要素が読み出され、上記排他的論理和演算器143の一方の入力端に送られる。
【0016】
ブロックカウンタ142は、前述したブロックカウント(BlockCount=0)からブロックカウント(BlockCount=n)までの各ブロックカウントの値を順番に出力して、排他的論理和演算器143の他方の入力端に送る。
【0017】
これにより、排他的論理和演算器143では、上記ブロックカウンタ142から順番に出力された各ブロックカウントの値と、上記鍵要素記憶器141から出力された鍵要素との排他的論理和演算が行われる。当該排他的論理和演算器143の出力は、排他的論理和演算器144の一方の入力端へ送られる。
【0018】
ここで、排他的論理和演算器144の他方の入力端は、スイッチ146を介してKASUMI演算部145の出力端と接続されている。上記スイッチ146は、上記ブロックカウンタ142から最初のブロックカウント(BlockCount=0)の値が出力されるときにはオフ状態(開成状態)になされ、上記ブロックカウンタ142からブロックカウント(BlockCount=1)以降の各値が出力されるときにはオン状態(閉成状態)となされるものである。したがって、ブロックカウンタ142から最初のブロックカウント(BlockCount=0)の値が出力されたとき、上記排他的論理和演算器143の出力は、上記排他的論理和演算器144をそのまま通過してKASUMI演算部145へ送られることになる。一方、ブロックカウンタ142からブロックカウント(BlockCount=1)以降の各値が出力されている場合、上記排他的論理和演算器144では、KASUMI演算部145によるKASUMI演算出力と排他的論理和演算器143の出力との排他的論理和演算が行われる。
【0019】
上記KASUMI演算部145でのKASUMI演算により得られた通信用暗号鍵は、排他的論理和演算器147の一方の入力端に送られる。また、排他的論理和演算部147の他方の入力端には、入力端子148からブロック毎にデータが入力される。
【0020】
ここで、当該図7の構成で暗号化が行われる場合、入力端子148に供給されるデータは暗号化前のデータである。したがってこの場合、排他的論理和演算部147では、上記入力端子148から供給された暗号化前のデータと、上記KASUMI演算部145からの通信用暗号鍵との、排他的論理和演算により、暗号データが生成される。そして、当該生成された暗号データは、出力端子149から後段の図示しない信号送信系の構成へ送られる。
【0021】
一方、当該図7の構成で復号化が行われる場合、入力端子148に供給されるデータは、図示しない信号受信系の構成により受信されて復調された暗号データである。したがってこの場合、排他的論理和演算部147では、上記入力端子148から供給された暗号データと、上記KASUMI演算部145からの通信用暗号鍵との、排他的論理和演算により、復号データが生成される。そして、当該生成された復号データは、出力端子149から後段の図示しない信号処理系の構成へ送られる。
【0022】
また、上述した通信用暗号鍵の生成と暗号化又は復号化のシーケンスは、図8に示すタイミングチャートで表すことができる。
【0023】
この図8において、暗号化又は復号化の開始時には、先ず、要素演算E100により、鍵要素が生成される。次に、鍵生成演算K101により、1番目のブロックに使用される通信用暗号鍵が生成され、その後、当該鍵生成演算K101により生成された通信用暗号鍵を用いた排他的論理和演算X101が行われる。次に、鍵生成演算K102により、2番目のブロックに使用される通信用暗号鍵が生成され、その後、当該鍵生成演算K102により生成された通信用暗号鍵を用いた排他的論理和演算X102が行われる。以下同様である。
【0024】
ところで、無線通信等のデータ通信時に必要とされる転送効率は、今後は更に上げることが必要になると予想されている。
【0025】
このため、例えば特許文献1には、暗号変換すべき平文メッセージを、複数のブロック毎にフレーム化し、それら各フレームを並列処理することで、暗号化の際の転送効率を高めることを可能にした技術が提案されている。
【0026】
【特許文献1】
特開平11−161162号公報
【0027】
【発明が解決しようとする課題】
しかしながら、「f8」暗号アルゴリズムに採用されているブロック暗号アルゴリズムによれば、2番目以降の各ブロックで使用される各通信用暗号鍵が、それぞれ一つ前のブロックに対応して生成された通信用暗号鍵を要素として生成されている。言い換えると、2番目以降の各ブロックで使用される各通信用暗号鍵を生成するための処理は、それぞれ一つ前のブロックの通信用暗号鍵の生成演算が終了するまで開始できない。また、ブロック暗号アルゴリズムを用いた場合、図8に示したように、上記通信用暗号鍵生成の演算と上記暗号化又は復号化のための排他的論理和演算とが、各ブロック毎に繰り返し行われることになる。すなわち、ブロック暗号アルゴリズムの場合、各ブロックの暗号化又は復号化の間に、処理量の多い通信用暗号鍵生成の演算が必ず入るため、全体的な転送効率がなかなか上げられないといった問題がある。
【0028】
なお、これらの問題は、例えば、平文メッセージを複数のブロック毎にフレーム化し、それら各フレームを並列処理することにした場合にも同様に起こり得る。すなわち、各フレーム内では、複数のブロックについてそれぞれ上述同様に、前のブロックで生成された通信用暗号鍵を用いて次のブロックの通信用暗号鍵が順次生成されることになるため、各フレーム内での処理に時間がかかってしまい、転送効率をさほど上げることができない。言い換えると、各フレームの処理時間は、殆どが通信用暗号鍵の生成のために費やされており、したがって当該通信用暗号鍵の生成時間を短縮できなければ、より高い転送効率を実現することはできない。
【0029】
本発明は、このような課題に鑑みてなされたものであり、ブロック暗号アルゴリズムを採用した通信時において、通信用暗号鍵の生成時間を短縮可能とし、全体的な転送効率を向上させ得る、暗号処理装置及び方法を提供することを目的とする。
【0030】
【課題を解決するための手段】
本発明の暗号処理装置は、前の処理対象データ用に生成した鍵情報を用いて次の処理対象データ用の鍵情報を生成する演算を並列して行う複数の鍵情報生成部と、複数の鍵情報生成部により並列して生成された複数の鍵情報を1つずつ切替出力する切替出力部と、順次供給される処理対象データと切替出力された鍵情報とを用いて所定の演算処理を行う演算処理部とを有する。
【0031】
また、本発明の暗号処理方法は、前の処理対象データ用に生成した鍵情報を用いて次の処理対象データ用の鍵情報を生成する鍵情報生成演算を並列して行い、鍵情報生成演算により並列して生成された複数の鍵情報を1つずつ切替出力し、その順次供給される処理対象データと切替出力された鍵情報とを用いて所定の演算処理を行う。
【0032】
すなわち本発明によれば、演算量が多い鍵情報の生成を並列して行うことで、鍵情報の生成処理を高速化し、全体的な転送効率を高めている。
【0033】
【発明の実施の形態】
以下、本発明の好ましい実施の形態について、図面を参照しながら説明する。
【0034】
図1は、本発明にかかる一実施の形態の無線通信システムの概略構成を示す。この図1に示す無線通信システムは、本発明の暗号処理装置及び方法が適用される第三世代携帯電話端末1及び基地局2と、その他の無線端末や有線端末、通信事業者の管理サーバ、ユーザセンター等である他通信装置3とを含んで構成されている。図1の携帯電話端末1と基地局2は、共に略々同様の階層(レイヤ)構造により構成されている。以下、携帯電話端末1と基地局2の各階層の機能のうち、本発明に関連する機能のみを説明する。
【0035】
RRC(Radio Ressource Control)レイヤ11,21は、無線ベアラの確立,変更,解放を制御する。また、RRCレイヤ11,21は、電力制御の設定、秘匿(後述する暗号化及び復号化)手順の設定等も行う。
【0036】
RLC(Radio Link Control)レイヤ12,22は、パケット通信時の非確認型データ転送モード(Unacknowledge Mode)と確認型データ転送モード(Acknowledge Mode)におけるデータ秘匿(後述する暗号化及び復号化)、データの分割、結合、再送制御等を行う。
【0037】
MAC(Medium Access Control)レイヤ13,23は、通話時の透過型データ転送モード(Transparent Mode)におけるデータ秘匿(暗号化及び復号化)、通信量及び品質の測定、優先データ制御等を行う。
【0038】
PHY(物理)レイヤ(L1:Layer1)14,24は、送受信データの変調及び復調、拡散符号による拡散及び逆拡散を行う。
【0039】
[復号化処理]
ここで、上記データの暗号化及び復号化は、携帯電話端末1と基地局2で実行される。なお、携帯電話端末1と基地局2のRLC12,22とMAC13,23の双方に暗号化及び復号化の機能(秘匿機能)は存在する。以下に説明する本実施の形態の暗号化,復号化は、RLCレイヤ12,22及びMACレイヤ13,23にて実行され得る。
【0040】
次に、図2〜図4を参照して、上記RLCレイヤ12,22及びMACレイヤ13,23において暗号化,復号化機能を実行するための構成と機能について説明する。なお、以下の処理は、ハードウェア構成、又は例えばCPU(Central Processing Unit)内で実行されるソフトウェアの何れにより実現しても良い。
【0041】
本実施の形態の例は、RLCレイヤ12,22及びMACレイヤ13,23において前記「f8」暗号アルゴリズムと「KASUMI」アルゴリズムを用いて通信用暗号鍵を生成し、その通信用暗号鍵を使用して暗号化又は復号化を行うこととする。
【0042】
また、本発明実施の形態では、3GPPにおけるUEA(UMTS Encryption Algorithm)選択の項目に、新たにKASUMI演算を2並列処理する2並列モードの選択肢を設けると共に、携帯電話端末1と基地局2のRLCレイヤ12,22及びMACレイヤ13,23に、当該2並列モードに対応したハードウェア、若しくはソフトウェアを実装する。なお、本実施の形態では、KASUMI演算を2並列処理する例を挙げているが、本発明は2並列処理に限定されず、3並列処理などの多並列処理であっても良い。例えば3並列処理にする場合は、UEA選択の項目に、KASUMI演算を3並列処理する3並列モードの選択肢を設けると共に、携帯電話端末1と基地局2のRLCレイヤ12,22及びMACレイヤ13,23に、当該3並列モードに対応したハードウェア、若しくはソフトウェアを実装する。
【0043】
以下、本実施の形態の携帯電話端末1と基地局2において、上記KASUMI演算の2並列モードにより通信用暗号鍵を生成し、データの暗号化又は復号化を行う構成について説明する。
【0044】
図2は、本実施の形態のRLCレイヤ12,22及びMACレイヤ13,23において、2並列モードにより通信用暗号鍵を生成してデータを暗号化又は復号化するための処理を、各ブロック毎の処理に分けて機能的に表している。
【0045】
この図2において、先ず、1番目のブロック(64ビット)で使用される通信用暗号鍵44は、鍵要素41とブロックカウント(BlockCount=0)との排他的論理和演算42、及びKASUMI演算43により生成される。
【0046】
また、本実施の形態において、2番目のブロックで使用される通信用暗号鍵64は、上記1番目のブロックで使用される通信用暗号鍵44の生成と同時に(つまり並列に)生成される。当該2番目のブロックで使用される通信用暗号鍵64は、鍵要素41とブロックカウント(BlockCount=1)との排他的論理和演算62、及びKASUMI演算63により生成される。
【0047】
次に、3番目のブロックで使用される通信用暗号鍵48は、鍵要素41とブロックカウント(BlockCount=2)との排他的論理和演算45、その排他的論理和演算45後の要素と1番目のブロックで生成された通信用暗号鍵44との排他的論理和演算46、及び、KASUMI演算47により生成される。
【0048】
また、本実施の形態において、4番目のブロックで使用される通信用暗号鍵68は、上記3番目のブロックで使用される通信用暗号鍵48の生成と同時に生成される。当該4番目のブロックで使用される通信用暗号鍵68は、鍵要素41とブロックカウント(BlockCount=3)との排他的論理和演算65、その排他的論理和演算65後の要素と2番目のブロックで生成された通信用暗号鍵64との排他的論理和演算66、及び、KASUMI演算67により生成される。
【0049】
次に、5番目のブロックで使用される通信用暗号鍵52は、鍵要素41とブロックカウント(BlockCount=4)との排他的論理和演算49、その排他的論理和演算49後の要素と3番目のブロックで生成された通信用暗号鍵48との排他的論理和演算50、及び、KASUMI演算51により生成される。
【0050】
また、本実施の形態において、6番目のブロックで使用される通信用暗号鍵72は、上記5番目のブロックで使用される通信用暗号鍵52の生成と同時に生成される。当該6番目のブロックで使用される通信用暗号鍵72は、鍵要素41とブロックカウント(BlockCount=5)との排他的論理和演算69、その排他的論理和演算69後の要素と4番目のブロックで生成された通信用暗号鍵68との排他的論理和演算70、及び、KASUMI演算71により生成される。
【0051】
以下同様にして、残りの各ブロックの通信用暗号鍵が並列に生成される。
【0052】
図3には、上記図2で説明した並列処理による通信用暗号鍵の生成と、当該生成された通信用暗号鍵によるデータの暗号化又は復号化を実現する、本実施の形態の構成の実装例を示す。
【0053】
図3において、端子80には鍵要素が入力される。当該鍵要素は、鍵要素記憶部81に記憶される。鍵要素記憶部81の出力端は、排他的論理和演算器83の一方の入力端、及び、排他的論理和演算器87の一方の入力端に接続されている。当該鍵要素記憶部81からは、タイミング制御部95による読み出しタイミング制御の元、ブロックカウンタ82の各ブロックカウント出力に同期して鍵要素が読み出され、上記排他的論理和演算器83及び87の一方の入力端に送られる。
【0054】
ブロックカウンタ82は、2つの出力端を備えている。当該ブロックカウンタ82は、タイミング制御部95による出力タイミング制御の元、一方の出力端から図2の上段にて使用される各ブロックカウント(BlockCount=0,BlockCount=2,BlockCount=4,…)の値を順番に出力し、排他的論理和演算器83の他方の入力端に送る。また、ブロックカウンタ82は、タイミング制御部95による出力タイミング制御の元、他方の出力端から図2の下段にて使用される各ブロックカウント(BlockCount=1,BlockCount=3,BlockCount=5,…)の値を順番に出力して、排他的論理和演算器87の他方の入力端に送る。
【0055】
これにより、排他的論理和演算器83では、上記ブロックカウンタ82の一方の出力端から順番に出力された各ブロックカウント(BlockCount=0,BlockCount=2,BlockCount=4,…)の値と、上記鍵要素記憶器81から出力された鍵要素との排他的論理和演算が行われる。また、排他的論理和演算器87では、上記ブロックカウンタ82の他方の出力端から順番に出力された各ブロックカウント(BlockCount=1,BlockCount=3,BlockCount=5,…)の値と、上記鍵要素記憶器81から出力された鍵要素との排他的論理和演算が行われる。そして、上記排他的論理和演算器83の出力は、排他的論理和演算器84の一方の入力端へ送られ、排他的論理和演算器87の出力は、排他的論理和演算器88の一方の入力端へ送られる。
【0056】
ここで、排他的論理和演算器84の他方の入力端は、スイッチ86を介してKASUMI演算部85の出力端と接続されている。上記スイッチ86は、タイミング制御部95による切替タイミング制御の元、上記ブロックカウンタ82の一方の出力端からブロックカウント(BlockCount=0)の値が出力されるときにはオフ状態(開成状態)になされ、その次以降の各ブロックカウントの各値が出力されるときにはオン状態(閉成状態)となされるものである。したがって、ブロックカウンタ82の一方の出力端からブロックカウント(BlockCount=0)の値が出力されたとき、上記排他的論理和演算器83の出力は、上記排他的論理和演算器84をそのまま通過してKASUMI演算部85へ送られることになる。一方、ブロックカウンタ82の一方の出力端からブロックカウント(BlockCount=0)の次以降の各ブロックカウントの値が出力されている場合、上記排他的論理和演算器84では、KASUMI演算部85によるKASUMI演算出力と排他的論理和演算器83の出力との排他的論理和演算が行われる。
【0057】
また、排他的論理和演算器88の他方の入力端は、スイッチ90を介してKASUMI演算部89の出力端と接続されている。上記スイッチ90は、タイミング制御部95による切替タイミング制御の元、上記ブロックカウンタ82の他方の出力端からブロックカウント(BlockCount=1)の値が出力されるときにはオフ状態(開成状態)になされ、その次以降の各ブロックカウントの各値が出力されるときにはオン状態(閉成状態)となされるものである。したがって、ブロックカウンタ82の他方の出力端からブロックカウント(BlockCount=1)の値が出力されたとき、上記排他的論理和演算器87の出力は、上記排他的論理和演算器88をそのまま通過してKASUMI演算部89へ送られることになる。一方、ブロックカウンタ82の他方の出力端からブロックカウント(BlockCount=1)の次以降の各ブロックカウントの値が出力されている場合、上記排他的論理和演算器88では、KASUMI演算部89によるKASUMI演算出力と排他的論理和演算器87の出力との排他的論理和演算が行われる。
【0058】
上記KASUMI演算部85でのKASUMI演算により得られた通信用暗号鍵と、KASUMI演算部89でのKASUMI演算により得られた通信用暗号鍵は、切替出力部91に送られる。
【0059】
切替出力部91は、タイミング制御部95による切替タイミング制御の元、上記KASUMI演算部85、89から供給された通信用暗号鍵を一時的に記憶すると共に、ブロックカウンタ82の各ブロックカウント(BlockCount=0,BlockCount=1,BlockCount=2,BlockCount=3,BlockCount=4,BlockCount=5,BlockCount=6,…)の本来の順番に対応して、それら一時的に記憶した通信用暗号鍵を一つずつ順番に読み出して出力する。なお、本実施の形態の場合、切替出力部91は、一つの通信用暗号鍵が読み出された後、次に供給された通信用暗号鍵を例えば上書き保存する。勿論、切替出力部91は、上書き保存するのではなく、全ての通信用暗号鍵を記憶しても良い。切替出力部91が全ての通信用暗号鍵を保存する場合、例えば再送制御の際に、当該記憶している通信用暗号鍵を使用することができる。この場合、再送制御のために再度、通信用暗号鍵を生成する必要が無くなる。
【0060】
上記切替出力部91から順次読み出された各通信用暗号鍵は、排他的論理和演算器93の一方の入力端に送られる。また、排他的論理和演算部93の他方の入力端には、入力端子92からブロック毎にデータが入力される。
【0061】
ここで、当該図3の構成で暗号化が行われる場合、入力端子92に供給されるデータは暗号化前のブロック毎のデータである。したがってこの場合、排他的論理和演算部93では、上記入力端子92から供給された暗号化前のブロック毎のデータと、上記切替出力部91から順次出力された通信用暗号鍵との、排他的論理和演算により、ブロック毎の暗号データが生成される。そして、当該生成されたブロック毎の暗号データは、出力端子94から後段の図示しない信号送信系の構成へ送られる。
【0062】
一方、当該図3の構成で復号化が行われる場合、入力端子92に供給されるデータは、図示しない信号受信系の構成により受信されて復調されたブロック毎の暗号データである。したがってこの場合、排他的論理和演算部93では、上記入力端子92から供給されたブロック毎の暗号データと、上記切替出力部91から順次出力された通信用暗号鍵との、排他的論理和演算により、ブロック毎の復号データが生成される。そして、当該生成されたブロック毎の復号データは、出力端子94から後段の図示しない信号処理系の構成へ送られる。
【0063】
図4には、上記図3の構成における、鍵要素の入力、鍵要素とブロックカウントの排他的論理和演算及びKASUMI演算による通信用暗号鍵の生成のタイミングチャートを表している。
【0064】
暗号化又は復号化の開始時には、先ず、図4の(a)に示す要素演算E1により、鍵要素が生成され、図3の鍵要素記憶部81に入力される。
【0065】
次に、図4の(a)に示す鍵生成演算K1では、ブロックカウント(BlockCount=0)と鍵要素の排他的論理和演算、及び、その演算結果を用いたKASUMI演算により、通信用暗号鍵が生成される。また同時に、図4の(b)に示す鍵生成演算K2では、ブロックカウント(BlockCount=1)と鍵要素の排他的論理和演算、及び、KASUMI演算により、通信用暗号鍵が生成される。
【0066】
そして、上記鍵生成演算K1及びK2により生成された通信用暗号鍵は、前記図3の切替出力部91に一時的に記憶された後、図4の(c)に示すように、先に鍵生成演算K1による通信用暗号鍵が読み出され、前記図3の排他的論理和演算器93にて排他的論理和演算X1され、さらにその直後、鍵生成演算K2による通信用暗号鍵が読み出され、排他的論理和演算器93にて排他的論理和演算X2される。
【0067】
また、上記排他的論理和演算X1とX2が行われているとき、図4の(a)に示す鍵生成演算K3では、ブロックカウント(BlockCount=2)と鍵要素の排他的論理和演算、その演算結果と鍵生成演算K1の排他的論理和演算、さらにその演算結果を用いたKASUMI演算により、通信用暗号鍵が生成される。また同時に、図4の(b)に示す鍵生成演算K4では、ブロックカウント(BlockCount=3)と鍵要素の排他的論理和演算、その演算結果と鍵生成演算K2の排他的論理和演算、さらにその演算結果を用いたKASUMI演算により、通信用暗号鍵が生成される。
【0068】
そして、上記鍵生成演算K3及びK4により生成された通信用暗号鍵は、切替出力部91に一時的に記憶された後、図4の(c)に示すように、先に鍵生成演算K3による通信用暗号鍵が読み出され、排他的論理和演算器93にて排他的論理和演算X3され、さらにその直後、鍵生成演算K4による通信用暗号鍵が読み出され、排他的論理和演算器93にて排他的論理和演算X4される。
【0069】
また、上記排他的論理和演算X3とX4が行われているとき、図4の(a)に示す鍵生成演算K5では、ブロックカウント(BlockCount=4)と鍵要素の排他的論理和演算、その演算結果と鍵生成演算K3の排他的論理和演算、さらにその演算結果を用いたKASUMI演算により、通信用暗号鍵が生成される。また同時に、図4の(b)に示す鍵生成演算K6では、ブロックカウント(BlockCount=5)と鍵要素の排他的論理和演算、その演算結果と鍵生成演算K4の排他的論理和演算、さらにその演算結果を用いたKASUMI演算により、通信用暗号鍵が生成される。
【0070】
そして、上記鍵生成演算K5及びK6により生成された通信用暗号鍵は、切替出力部91に一時的に記憶された後、図4の(c)に示すように、先に鍵生成演算K5による通信用暗号鍵が読み出され、排他的論理和演算器93にて排他的論理和演算X5され、さらにその直後、鍵生成演算K6による通信用暗号鍵が読み出され、排他的論理和演算器93にて排他的論理和演算X6される。
【0071】
以下同様にして、鍵生成演算K7,K8と排他的論理和演算X7,X8以降の各演算処理が行われる。
【0072】
[まとめ]
以上説明したように、本実施の形態によれば、複雑で且つ処理量が多く演算に長い時間がかかる通信用暗号鍵の生成を、初期の段階で分岐させて並列処理しているため、通信用暗号鍵を高速に生成でき、その結果、データの暗号化や復号化のリアルタイム処理と、高い転送効率が実現可能となっている。すなわち、本実施の形態の図3の例のように、2並列モードで通信用暗号鍵を生成すれば、前述の図7に示した従来の構成に比べて2倍の速度で通信用暗号鍵を生成可能となり、その結果、転送効率も2倍に高めることができる。もちろん、3並列モードにすれば、転送効率は従来の構成に比べて3倍になる。
【0073】
また、本実施の形態の構成は、図3に示したように、排他的論理和演算器とKASUMI演算部を並列構成し、切替出力部により通信用暗号鍵の出力タイミングを調整する構成となされているため、現行の「f8」アルゴリズムのシステムを殆ど変えることなく実現可能である。さらに本実施の形態によれば、大量の通信用暗号鍵を保持することなくリアルタイム復号処理を行えること、及び、先に生成された通信用暗号鍵を用いて次の通信用暗号鍵を生成してKASUMI演算を行っているため暗号強度を殆ど損なうことなくデータ通信が可能になっていることなど、ブロック暗号アルゴリズムの特徴を活かした処理が可能である。
【0074】
なお、上述した実施の形態の説明は、本発明の一例である。このため、本発明は上述した実施の形態に限定されることなく、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることはもちろんである。
【0075】
また、本実施の形態の暗号処理装置は、携帯電話端末や基地局以外に、第三世代無線通信に対応した通信機能を備えたカーナビゲーション装置等の移動体端末やPDA装置(PDA:Personal Digital Assistants)等であっても良い。
【0076】
【発明の効果】
本発明においては、前の処理対象データ用に生成した鍵情報を用いて次の処理対象データ用の鍵情報を生成する鍵情報生成演算を並列して行うことで、演算量が多い鍵情報(通信用暗号鍵)の生成時間を短縮でき、その結果、全体的な転送効率を向上させることができる。
【図面の簡単な説明】
【図1】本実施の形態の無線通信システムの概略構成を示すブロック図である。
【図2】本実施の形態の通信用暗号鍵生成の並列処理の流れを各ブロック毎の処理に分けて機能的に説明するための図である。
【図3】本実施の形態における通信用暗号鍵生成の並列処理を実現する実装例を示すブロック図である。
【図4】本実施の形態における通信用暗号鍵生成の並列処理と暗号化又は復号化のタイミングチャートである。
【図5】「f8」暗号アルゴリズムによるデータの暗号化と復号化の流れを機能的に説明するための図である。
【図6】「f8」暗号アルゴリズムにおいて、従来の通信用暗号鍵の生成の流れを各ブロック毎の処理に分けて機能的に説明するための図である。
【図7】通信用暗号鍵生成処理を実現する従来の実装例を示すブロック図である。
【図8】「f8」暗号アルゴリズムにおける、従来の通信用暗号鍵の生成と暗号化又は復号化のタイミングチャートである。
【符号の説明】
1…携帯電話端末、2…基地局、3…他通信装置、11,21…RRCレイヤ、12,22…RLCレイヤ、13,23…MACレイヤ、14,24…PHY(L1)レイヤ、81…鍵要素記憶部、82…ブロックカウンタ、83,84,87,88,93…排他的論理和演算器、85,89…KASUMI演算部、86,90…スイッチ、91…切替出力部、95…タイミング制御部
【発明の属する技術分野】
本発明は、通信機器間で通信されるデータの暗号化,復号化の高速処理に関し、特に、ブロック暗号アルゴリズムを利用した暗号化,復号化を行う暗号処理装置及び方法に関する。
【0002】
【従来の技術】
通信装置を用いて他者と通信する際、通信内容を示す平文が伝送路に流されると、正規の通信相手ではない第三者は、極めて容易に通信内容を盗聴したり、通信内容を改竄したりできる。したがって、従来より、通信内容の盗聴や改竄を防止するために、暗号通信装置が広く使用されている。暗号通信装置は、平文を暗号化して伝送路へ送信すると共に、受け取った暗号文を平文へ復号化する。このように、暗号通信装置を用いれば、伝送路には第三者が解読できない暗号文のみが流れることになり、その結果、第三者による通信内容の盗聴や改竄を防止できることになる。
【0003】
従来の暗号通信装置で使用されている暗号方法は、DES(Data Encryption Standard)暗号方式、IDEA(International Data Encryptoin Algorithm)暗号方式などの共有鍵暗号方式と、RSA(Rivest Shamir Adleman)暗号方式などの公開鍵暗号方式とに大別される。共有鍵暗号方式は、暗号化時と復号化時で同一の暗号鍵を使用する方式であり、一方、公開鍵暗号方式は、暗号化に使用する鍵と復号化とで異なる鍵を使用する方式である。
【0004】
ここで、公開鍵暗号方式は、暗号化及び復号化に要する計算量が多くなるので、例えば認証データを伝送する場合のように伝送されるデータ量が比較的少ない通信には使用できても、例えば画像や音声、数値データを伝送する場合のように伝送されるデータ量が多く、高いスループットが要求されるデータ通信に使用するのは難しい。したがって、それら伝送データ量が多く、高いスループットが要求されるデータ通信の際には、上記共有鍵暗号方式が一般に使用されている。
【0005】
共有鍵暗号方式は、暗号文を復号する際に、暗号化に使用した暗号鍵と同じ復号鍵が必要となるので、暗号通信が開始される前に送信側と受信側との間で暗号鍵を統一しておかなければならない。したがって、共有鍵暗号方式を用いて通信を行う正規の通信装置は、送信側と受信側とで共有された暗号鍵(共有鍵)を予め格納しておくことになる。
【0006】
ところで、現時点で存在する多くの暗号化方式は、何れも完全なものではない。したがって、長い時間と多くの手間をかければ、暗号文を平文へ解読することも不可能ではない。特に、同一の暗号鍵を用いた暗号文が数多く存在すると、それら暗号文の差分解析などの手法により、暗号文が第三者に解読されてしまう虞がある。それゆえ、通信の安全性を高めるために、暗号鍵を通信毎に変更する手法が考案されている。なお、各通信毎に生成される暗号鍵は、通信用暗号鍵(セッション鍵)と呼ばれている。但し、この手法においても、例えば通信用暗号鍵がそのまま伝送路に送出されると、その通信用暗号鍵自体が盗聴されてしまう虞がある。通信用暗号鍵自体が盗聴された場合、第三者がその通信用暗号鍵を用いて生成された暗号文を復号できることになる。
【0007】
このようなことから、従来より、正規の通信装置に上記共有鍵を予め配付しておくと共に、暗号通信に先立ってあるデータを送出し、当該データと上記共有鍵とに基づいて通信用暗号鍵を生成することで、通信用暗号鍵の盗聴を防止し得る手法が考案されている。例えば第三世代無線通信では、予め端末側とネットワーク側に共通鍵を用意しておき、通信時には個々のデータブロックを識別するための識別情報であるシーケンスナンバー(SN)をブロック毎に順次割り当て、これらシーケンスナンバー毎にそれぞれ個別の通信暗号鍵を生成して暗号化する、いわゆるブロック暗号アルゴリズムが採用されている。
【0008】
また、ブロック暗号アルゴリズムは、第三世代携帯電話(3GPP)標準規格の「KASUMI」アルゴリズム(3GPP TS 35.202「KASUMI Specification」)を利用した「f8」暗号アルゴリズム(3GPP TS 35.201「f8 and f9 Specification」)にも採用されている。
【0009】
以下、第三世代携帯電話標準規格で採用されている「f8」暗号アルゴリズムについて、図5〜図8を参照しながら説明する。
【0010】
図5は、「f8」暗号アルゴリズムによるデータの暗号化と復号化の流れを機能的に表している。この図5において、送信側の通信装置は、64ビットの鍵要素101から「f8」暗号アルゴリズム102により通信用暗号鍵103を生成すると共に、64ビットブロックのデータ104と上記通信用暗号鍵103を排他的論理和演算105することで、暗号データ106のブロックを生成する。送信側の通信装置は、以上の処理をブロック毎に行う。一方、受信側の通信装置は、鍵要素111から「f8」暗号アルゴリズム112により通信用暗号鍵113を生成すると共に、受信した暗号データ106と上記通信用暗号鍵113の排他的論理和演算114を行うことにより、復号データ115のブロックを生成(つまりデータ104のブロックを復元)する。当該受信側の通信装置は、以上の処理をブロック毎に行う。
【0011】
図6は、図5の「f8」暗号アルゴリズムにおける通信用暗号鍵の生成の流れを各ブロック毎の処理に分けて機能的に表す。
【0012】
この図6において、先ず、1番目のブロック(64ビット)で使用される通信用暗号鍵124は、鍵要素121とブロックカウント(BlockCount)と呼ばれる要素(BlockCount=0)との排他的論理和演算122、及び、KASUMI演算123により生成される。そして、図5の送信側の通信装置は、1番目のブロックのデータ104と当該通信用暗号鍵124を使用した排他的論理和演算105により、1番目のブロックの暗号データ106を生成して送信する。次に、2番目のブロックで使用される通信用暗号鍵128は、鍵要素121とブロックカウント(BlockCount=1)との排他的論理和演算125、その排他的論理和演算125後の要素と1番目のブロックで生成された通信用暗号鍵124との排他的論理和演算126、及びKASUMI演算127により生成される。そして、図5の送信側通信装置は、この2番目のブロックのデータ104と当該通信用暗号鍵128を使用した排他的論理和演算105により、2番目のブロックの暗号データ106を生成して送信する。次に、3番目のブロックで使用される通信用暗号鍵132は、鍵要素121とブロックカウント(BlockCount=2)との排他的論理和演算129、その排他的論理和演算129後の要素と2番目のブロックで生成された通信用暗号鍵128との排他的論理和演算130、及び、KASUMI演算131により生成される。そして図5の送信側通信装置は、この3番目のブロックのデータ104と当該通信用暗号鍵132を使用した排他的論理和演算105により、3番目のブロックの暗号データ106を生成して送信する。以下同様にして、n番目のブロックで使用される通信用暗号鍵137までが順次生成され、図5の送信側通信装置は、その通信用暗号鍵137を用いてn番目のブロックの暗号データ106を生成して送信する。
【0013】
一方、受信側の通信装置も同様であり、先ず1番目のブロックで使用される通信用暗号鍵124は、鍵要素121とブロックカウント(BlockCount=0)との排他的論理和演算122、及びKASUMI演算123により生成される。そして、図5の受信側通信装置は、1番目のブロックの暗号データ106と当該通信用暗号鍵124を使用した排他的論理和演算114により、1番目のブロックの復号データ115を生成する。次に、受信側通信装置は、2番目のブロックで使用される通信用暗号鍵128を、鍵要素121とブロックカウント(BlockCount=1)との排他的論理和演算125、当該排他的論理和演算125後の要素と1番目のブロックで生成された通信用暗号鍵124との排他的論理和演算126、及びKASUMI演算127により生成した後、2番目のブロックの暗号データ106と当該通信用暗号鍵128を使用した排他的論理和演算114により、2番目のブロックの復号データ115を生成する。次に、受信側通信装置は、3番目のブロックで使用される通信用暗号鍵132を、鍵要素121とブロックカウント(BlockCount=2)との排他的論理和演算129、当該排他的論理和演算129後の要素と2番目のブロックで生成された通信用暗号鍵128との排他的論理和演算130、及び、KASUMI演算131により生成した後、3番目のブロックの暗号データ106と当該通信用暗号鍵132を使用した排他的論理和演算114により、3番目のブロックの復号データ115を生成する。以下同様に、受信側通信装置は、n番目のブロックで使用される通信用暗号鍵137までを順次生成し、その通信用暗号鍵137を用いてn番目のブロックの復号データ115を生成する。
【0014】
図7には、上記図5及び図6で説明した「f8」暗号アルゴリズムによってデータの暗号化又は復号化を実現する従来の構成の実装例を示す。
【0015】
図7において、端子140には、鍵要素が入力される。当該鍵要素は、鍵要素記憶部141に記憶される。当該鍵要素記憶部141の出力端は、排他的論理和演算器143の一方の入力端と接続されている。当該鍵要素記憶部141からは、ブロックカウンタ142の各ブロックカウント出力に同期して鍵要素が読み出され、上記排他的論理和演算器143の一方の入力端に送られる。
【0016】
ブロックカウンタ142は、前述したブロックカウント(BlockCount=0)からブロックカウント(BlockCount=n)までの各ブロックカウントの値を順番に出力して、排他的論理和演算器143の他方の入力端に送る。
【0017】
これにより、排他的論理和演算器143では、上記ブロックカウンタ142から順番に出力された各ブロックカウントの値と、上記鍵要素記憶器141から出力された鍵要素との排他的論理和演算が行われる。当該排他的論理和演算器143の出力は、排他的論理和演算器144の一方の入力端へ送られる。
【0018】
ここで、排他的論理和演算器144の他方の入力端は、スイッチ146を介してKASUMI演算部145の出力端と接続されている。上記スイッチ146は、上記ブロックカウンタ142から最初のブロックカウント(BlockCount=0)の値が出力されるときにはオフ状態(開成状態)になされ、上記ブロックカウンタ142からブロックカウント(BlockCount=1)以降の各値が出力されるときにはオン状態(閉成状態)となされるものである。したがって、ブロックカウンタ142から最初のブロックカウント(BlockCount=0)の値が出力されたとき、上記排他的論理和演算器143の出力は、上記排他的論理和演算器144をそのまま通過してKASUMI演算部145へ送られることになる。一方、ブロックカウンタ142からブロックカウント(BlockCount=1)以降の各値が出力されている場合、上記排他的論理和演算器144では、KASUMI演算部145によるKASUMI演算出力と排他的論理和演算器143の出力との排他的論理和演算が行われる。
【0019】
上記KASUMI演算部145でのKASUMI演算により得られた通信用暗号鍵は、排他的論理和演算器147の一方の入力端に送られる。また、排他的論理和演算部147の他方の入力端には、入力端子148からブロック毎にデータが入力される。
【0020】
ここで、当該図7の構成で暗号化が行われる場合、入力端子148に供給されるデータは暗号化前のデータである。したがってこの場合、排他的論理和演算部147では、上記入力端子148から供給された暗号化前のデータと、上記KASUMI演算部145からの通信用暗号鍵との、排他的論理和演算により、暗号データが生成される。そして、当該生成された暗号データは、出力端子149から後段の図示しない信号送信系の構成へ送られる。
【0021】
一方、当該図7の構成で復号化が行われる場合、入力端子148に供給されるデータは、図示しない信号受信系の構成により受信されて復調された暗号データである。したがってこの場合、排他的論理和演算部147では、上記入力端子148から供給された暗号データと、上記KASUMI演算部145からの通信用暗号鍵との、排他的論理和演算により、復号データが生成される。そして、当該生成された復号データは、出力端子149から後段の図示しない信号処理系の構成へ送られる。
【0022】
また、上述した通信用暗号鍵の生成と暗号化又は復号化のシーケンスは、図8に示すタイミングチャートで表すことができる。
【0023】
この図8において、暗号化又は復号化の開始時には、先ず、要素演算E100により、鍵要素が生成される。次に、鍵生成演算K101により、1番目のブロックに使用される通信用暗号鍵が生成され、その後、当該鍵生成演算K101により生成された通信用暗号鍵を用いた排他的論理和演算X101が行われる。次に、鍵生成演算K102により、2番目のブロックに使用される通信用暗号鍵が生成され、その後、当該鍵生成演算K102により生成された通信用暗号鍵を用いた排他的論理和演算X102が行われる。以下同様である。
【0024】
ところで、無線通信等のデータ通信時に必要とされる転送効率は、今後は更に上げることが必要になると予想されている。
【0025】
このため、例えば特許文献1には、暗号変換すべき平文メッセージを、複数のブロック毎にフレーム化し、それら各フレームを並列処理することで、暗号化の際の転送効率を高めることを可能にした技術が提案されている。
【0026】
【特許文献1】
特開平11−161162号公報
【0027】
【発明が解決しようとする課題】
しかしながら、「f8」暗号アルゴリズムに採用されているブロック暗号アルゴリズムによれば、2番目以降の各ブロックで使用される各通信用暗号鍵が、それぞれ一つ前のブロックに対応して生成された通信用暗号鍵を要素として生成されている。言い換えると、2番目以降の各ブロックで使用される各通信用暗号鍵を生成するための処理は、それぞれ一つ前のブロックの通信用暗号鍵の生成演算が終了するまで開始できない。また、ブロック暗号アルゴリズムを用いた場合、図8に示したように、上記通信用暗号鍵生成の演算と上記暗号化又は復号化のための排他的論理和演算とが、各ブロック毎に繰り返し行われることになる。すなわち、ブロック暗号アルゴリズムの場合、各ブロックの暗号化又は復号化の間に、処理量の多い通信用暗号鍵生成の演算が必ず入るため、全体的な転送効率がなかなか上げられないといった問題がある。
【0028】
なお、これらの問題は、例えば、平文メッセージを複数のブロック毎にフレーム化し、それら各フレームを並列処理することにした場合にも同様に起こり得る。すなわち、各フレーム内では、複数のブロックについてそれぞれ上述同様に、前のブロックで生成された通信用暗号鍵を用いて次のブロックの通信用暗号鍵が順次生成されることになるため、各フレーム内での処理に時間がかかってしまい、転送効率をさほど上げることができない。言い換えると、各フレームの処理時間は、殆どが通信用暗号鍵の生成のために費やされており、したがって当該通信用暗号鍵の生成時間を短縮できなければ、より高い転送効率を実現することはできない。
【0029】
本発明は、このような課題に鑑みてなされたものであり、ブロック暗号アルゴリズムを採用した通信時において、通信用暗号鍵の生成時間を短縮可能とし、全体的な転送効率を向上させ得る、暗号処理装置及び方法を提供することを目的とする。
【0030】
【課題を解決するための手段】
本発明の暗号処理装置は、前の処理対象データ用に生成した鍵情報を用いて次の処理対象データ用の鍵情報を生成する演算を並列して行う複数の鍵情報生成部と、複数の鍵情報生成部により並列して生成された複数の鍵情報を1つずつ切替出力する切替出力部と、順次供給される処理対象データと切替出力された鍵情報とを用いて所定の演算処理を行う演算処理部とを有する。
【0031】
また、本発明の暗号処理方法は、前の処理対象データ用に生成した鍵情報を用いて次の処理対象データ用の鍵情報を生成する鍵情報生成演算を並列して行い、鍵情報生成演算により並列して生成された複数の鍵情報を1つずつ切替出力し、その順次供給される処理対象データと切替出力された鍵情報とを用いて所定の演算処理を行う。
【0032】
すなわち本発明によれば、演算量が多い鍵情報の生成を並列して行うことで、鍵情報の生成処理を高速化し、全体的な転送効率を高めている。
【0033】
【発明の実施の形態】
以下、本発明の好ましい実施の形態について、図面を参照しながら説明する。
【0034】
図1は、本発明にかかる一実施の形態の無線通信システムの概略構成を示す。この図1に示す無線通信システムは、本発明の暗号処理装置及び方法が適用される第三世代携帯電話端末1及び基地局2と、その他の無線端末や有線端末、通信事業者の管理サーバ、ユーザセンター等である他通信装置3とを含んで構成されている。図1の携帯電話端末1と基地局2は、共に略々同様の階層(レイヤ)構造により構成されている。以下、携帯電話端末1と基地局2の各階層の機能のうち、本発明に関連する機能のみを説明する。
【0035】
RRC(Radio Ressource Control)レイヤ11,21は、無線ベアラの確立,変更,解放を制御する。また、RRCレイヤ11,21は、電力制御の設定、秘匿(後述する暗号化及び復号化)手順の設定等も行う。
【0036】
RLC(Radio Link Control)レイヤ12,22は、パケット通信時の非確認型データ転送モード(Unacknowledge Mode)と確認型データ転送モード(Acknowledge Mode)におけるデータ秘匿(後述する暗号化及び復号化)、データの分割、結合、再送制御等を行う。
【0037】
MAC(Medium Access Control)レイヤ13,23は、通話時の透過型データ転送モード(Transparent Mode)におけるデータ秘匿(暗号化及び復号化)、通信量及び品質の測定、優先データ制御等を行う。
【0038】
PHY(物理)レイヤ(L1:Layer1)14,24は、送受信データの変調及び復調、拡散符号による拡散及び逆拡散を行う。
【0039】
[復号化処理]
ここで、上記データの暗号化及び復号化は、携帯電話端末1と基地局2で実行される。なお、携帯電話端末1と基地局2のRLC12,22とMAC13,23の双方に暗号化及び復号化の機能(秘匿機能)は存在する。以下に説明する本実施の形態の暗号化,復号化は、RLCレイヤ12,22及びMACレイヤ13,23にて実行され得る。
【0040】
次に、図2〜図4を参照して、上記RLCレイヤ12,22及びMACレイヤ13,23において暗号化,復号化機能を実行するための構成と機能について説明する。なお、以下の処理は、ハードウェア構成、又は例えばCPU(Central Processing Unit)内で実行されるソフトウェアの何れにより実現しても良い。
【0041】
本実施の形態の例は、RLCレイヤ12,22及びMACレイヤ13,23において前記「f8」暗号アルゴリズムと「KASUMI」アルゴリズムを用いて通信用暗号鍵を生成し、その通信用暗号鍵を使用して暗号化又は復号化を行うこととする。
【0042】
また、本発明実施の形態では、3GPPにおけるUEA(UMTS Encryption Algorithm)選択の項目に、新たにKASUMI演算を2並列処理する2並列モードの選択肢を設けると共に、携帯電話端末1と基地局2のRLCレイヤ12,22及びMACレイヤ13,23に、当該2並列モードに対応したハードウェア、若しくはソフトウェアを実装する。なお、本実施の形態では、KASUMI演算を2並列処理する例を挙げているが、本発明は2並列処理に限定されず、3並列処理などの多並列処理であっても良い。例えば3並列処理にする場合は、UEA選択の項目に、KASUMI演算を3並列処理する3並列モードの選択肢を設けると共に、携帯電話端末1と基地局2のRLCレイヤ12,22及びMACレイヤ13,23に、当該3並列モードに対応したハードウェア、若しくはソフトウェアを実装する。
【0043】
以下、本実施の形態の携帯電話端末1と基地局2において、上記KASUMI演算の2並列モードにより通信用暗号鍵を生成し、データの暗号化又は復号化を行う構成について説明する。
【0044】
図2は、本実施の形態のRLCレイヤ12,22及びMACレイヤ13,23において、2並列モードにより通信用暗号鍵を生成してデータを暗号化又は復号化するための処理を、各ブロック毎の処理に分けて機能的に表している。
【0045】
この図2において、先ず、1番目のブロック(64ビット)で使用される通信用暗号鍵44は、鍵要素41とブロックカウント(BlockCount=0)との排他的論理和演算42、及びKASUMI演算43により生成される。
【0046】
また、本実施の形態において、2番目のブロックで使用される通信用暗号鍵64は、上記1番目のブロックで使用される通信用暗号鍵44の生成と同時に(つまり並列に)生成される。当該2番目のブロックで使用される通信用暗号鍵64は、鍵要素41とブロックカウント(BlockCount=1)との排他的論理和演算62、及びKASUMI演算63により生成される。
【0047】
次に、3番目のブロックで使用される通信用暗号鍵48は、鍵要素41とブロックカウント(BlockCount=2)との排他的論理和演算45、その排他的論理和演算45後の要素と1番目のブロックで生成された通信用暗号鍵44との排他的論理和演算46、及び、KASUMI演算47により生成される。
【0048】
また、本実施の形態において、4番目のブロックで使用される通信用暗号鍵68は、上記3番目のブロックで使用される通信用暗号鍵48の生成と同時に生成される。当該4番目のブロックで使用される通信用暗号鍵68は、鍵要素41とブロックカウント(BlockCount=3)との排他的論理和演算65、その排他的論理和演算65後の要素と2番目のブロックで生成された通信用暗号鍵64との排他的論理和演算66、及び、KASUMI演算67により生成される。
【0049】
次に、5番目のブロックで使用される通信用暗号鍵52は、鍵要素41とブロックカウント(BlockCount=4)との排他的論理和演算49、その排他的論理和演算49後の要素と3番目のブロックで生成された通信用暗号鍵48との排他的論理和演算50、及び、KASUMI演算51により生成される。
【0050】
また、本実施の形態において、6番目のブロックで使用される通信用暗号鍵72は、上記5番目のブロックで使用される通信用暗号鍵52の生成と同時に生成される。当該6番目のブロックで使用される通信用暗号鍵72は、鍵要素41とブロックカウント(BlockCount=5)との排他的論理和演算69、その排他的論理和演算69後の要素と4番目のブロックで生成された通信用暗号鍵68との排他的論理和演算70、及び、KASUMI演算71により生成される。
【0051】
以下同様にして、残りの各ブロックの通信用暗号鍵が並列に生成される。
【0052】
図3には、上記図2で説明した並列処理による通信用暗号鍵の生成と、当該生成された通信用暗号鍵によるデータの暗号化又は復号化を実現する、本実施の形態の構成の実装例を示す。
【0053】
図3において、端子80には鍵要素が入力される。当該鍵要素は、鍵要素記憶部81に記憶される。鍵要素記憶部81の出力端は、排他的論理和演算器83の一方の入力端、及び、排他的論理和演算器87の一方の入力端に接続されている。当該鍵要素記憶部81からは、タイミング制御部95による読み出しタイミング制御の元、ブロックカウンタ82の各ブロックカウント出力に同期して鍵要素が読み出され、上記排他的論理和演算器83及び87の一方の入力端に送られる。
【0054】
ブロックカウンタ82は、2つの出力端を備えている。当該ブロックカウンタ82は、タイミング制御部95による出力タイミング制御の元、一方の出力端から図2の上段にて使用される各ブロックカウント(BlockCount=0,BlockCount=2,BlockCount=4,…)の値を順番に出力し、排他的論理和演算器83の他方の入力端に送る。また、ブロックカウンタ82は、タイミング制御部95による出力タイミング制御の元、他方の出力端から図2の下段にて使用される各ブロックカウント(BlockCount=1,BlockCount=3,BlockCount=5,…)の値を順番に出力して、排他的論理和演算器87の他方の入力端に送る。
【0055】
これにより、排他的論理和演算器83では、上記ブロックカウンタ82の一方の出力端から順番に出力された各ブロックカウント(BlockCount=0,BlockCount=2,BlockCount=4,…)の値と、上記鍵要素記憶器81から出力された鍵要素との排他的論理和演算が行われる。また、排他的論理和演算器87では、上記ブロックカウンタ82の他方の出力端から順番に出力された各ブロックカウント(BlockCount=1,BlockCount=3,BlockCount=5,…)の値と、上記鍵要素記憶器81から出力された鍵要素との排他的論理和演算が行われる。そして、上記排他的論理和演算器83の出力は、排他的論理和演算器84の一方の入力端へ送られ、排他的論理和演算器87の出力は、排他的論理和演算器88の一方の入力端へ送られる。
【0056】
ここで、排他的論理和演算器84の他方の入力端は、スイッチ86を介してKASUMI演算部85の出力端と接続されている。上記スイッチ86は、タイミング制御部95による切替タイミング制御の元、上記ブロックカウンタ82の一方の出力端からブロックカウント(BlockCount=0)の値が出力されるときにはオフ状態(開成状態)になされ、その次以降の各ブロックカウントの各値が出力されるときにはオン状態(閉成状態)となされるものである。したがって、ブロックカウンタ82の一方の出力端からブロックカウント(BlockCount=0)の値が出力されたとき、上記排他的論理和演算器83の出力は、上記排他的論理和演算器84をそのまま通過してKASUMI演算部85へ送られることになる。一方、ブロックカウンタ82の一方の出力端からブロックカウント(BlockCount=0)の次以降の各ブロックカウントの値が出力されている場合、上記排他的論理和演算器84では、KASUMI演算部85によるKASUMI演算出力と排他的論理和演算器83の出力との排他的論理和演算が行われる。
【0057】
また、排他的論理和演算器88の他方の入力端は、スイッチ90を介してKASUMI演算部89の出力端と接続されている。上記スイッチ90は、タイミング制御部95による切替タイミング制御の元、上記ブロックカウンタ82の他方の出力端からブロックカウント(BlockCount=1)の値が出力されるときにはオフ状態(開成状態)になされ、その次以降の各ブロックカウントの各値が出力されるときにはオン状態(閉成状態)となされるものである。したがって、ブロックカウンタ82の他方の出力端からブロックカウント(BlockCount=1)の値が出力されたとき、上記排他的論理和演算器87の出力は、上記排他的論理和演算器88をそのまま通過してKASUMI演算部89へ送られることになる。一方、ブロックカウンタ82の他方の出力端からブロックカウント(BlockCount=1)の次以降の各ブロックカウントの値が出力されている場合、上記排他的論理和演算器88では、KASUMI演算部89によるKASUMI演算出力と排他的論理和演算器87の出力との排他的論理和演算が行われる。
【0058】
上記KASUMI演算部85でのKASUMI演算により得られた通信用暗号鍵と、KASUMI演算部89でのKASUMI演算により得られた通信用暗号鍵は、切替出力部91に送られる。
【0059】
切替出力部91は、タイミング制御部95による切替タイミング制御の元、上記KASUMI演算部85、89から供給された通信用暗号鍵を一時的に記憶すると共に、ブロックカウンタ82の各ブロックカウント(BlockCount=0,BlockCount=1,BlockCount=2,BlockCount=3,BlockCount=4,BlockCount=5,BlockCount=6,…)の本来の順番に対応して、それら一時的に記憶した通信用暗号鍵を一つずつ順番に読み出して出力する。なお、本実施の形態の場合、切替出力部91は、一つの通信用暗号鍵が読み出された後、次に供給された通信用暗号鍵を例えば上書き保存する。勿論、切替出力部91は、上書き保存するのではなく、全ての通信用暗号鍵を記憶しても良い。切替出力部91が全ての通信用暗号鍵を保存する場合、例えば再送制御の際に、当該記憶している通信用暗号鍵を使用することができる。この場合、再送制御のために再度、通信用暗号鍵を生成する必要が無くなる。
【0060】
上記切替出力部91から順次読み出された各通信用暗号鍵は、排他的論理和演算器93の一方の入力端に送られる。また、排他的論理和演算部93の他方の入力端には、入力端子92からブロック毎にデータが入力される。
【0061】
ここで、当該図3の構成で暗号化が行われる場合、入力端子92に供給されるデータは暗号化前のブロック毎のデータである。したがってこの場合、排他的論理和演算部93では、上記入力端子92から供給された暗号化前のブロック毎のデータと、上記切替出力部91から順次出力された通信用暗号鍵との、排他的論理和演算により、ブロック毎の暗号データが生成される。そして、当該生成されたブロック毎の暗号データは、出力端子94から後段の図示しない信号送信系の構成へ送られる。
【0062】
一方、当該図3の構成で復号化が行われる場合、入力端子92に供給されるデータは、図示しない信号受信系の構成により受信されて復調されたブロック毎の暗号データである。したがってこの場合、排他的論理和演算部93では、上記入力端子92から供給されたブロック毎の暗号データと、上記切替出力部91から順次出力された通信用暗号鍵との、排他的論理和演算により、ブロック毎の復号データが生成される。そして、当該生成されたブロック毎の復号データは、出力端子94から後段の図示しない信号処理系の構成へ送られる。
【0063】
図4には、上記図3の構成における、鍵要素の入力、鍵要素とブロックカウントの排他的論理和演算及びKASUMI演算による通信用暗号鍵の生成のタイミングチャートを表している。
【0064】
暗号化又は復号化の開始時には、先ず、図4の(a)に示す要素演算E1により、鍵要素が生成され、図3の鍵要素記憶部81に入力される。
【0065】
次に、図4の(a)に示す鍵生成演算K1では、ブロックカウント(BlockCount=0)と鍵要素の排他的論理和演算、及び、その演算結果を用いたKASUMI演算により、通信用暗号鍵が生成される。また同時に、図4の(b)に示す鍵生成演算K2では、ブロックカウント(BlockCount=1)と鍵要素の排他的論理和演算、及び、KASUMI演算により、通信用暗号鍵が生成される。
【0066】
そして、上記鍵生成演算K1及びK2により生成された通信用暗号鍵は、前記図3の切替出力部91に一時的に記憶された後、図4の(c)に示すように、先に鍵生成演算K1による通信用暗号鍵が読み出され、前記図3の排他的論理和演算器93にて排他的論理和演算X1され、さらにその直後、鍵生成演算K2による通信用暗号鍵が読み出され、排他的論理和演算器93にて排他的論理和演算X2される。
【0067】
また、上記排他的論理和演算X1とX2が行われているとき、図4の(a)に示す鍵生成演算K3では、ブロックカウント(BlockCount=2)と鍵要素の排他的論理和演算、その演算結果と鍵生成演算K1の排他的論理和演算、さらにその演算結果を用いたKASUMI演算により、通信用暗号鍵が生成される。また同時に、図4の(b)に示す鍵生成演算K4では、ブロックカウント(BlockCount=3)と鍵要素の排他的論理和演算、その演算結果と鍵生成演算K2の排他的論理和演算、さらにその演算結果を用いたKASUMI演算により、通信用暗号鍵が生成される。
【0068】
そして、上記鍵生成演算K3及びK4により生成された通信用暗号鍵は、切替出力部91に一時的に記憶された後、図4の(c)に示すように、先に鍵生成演算K3による通信用暗号鍵が読み出され、排他的論理和演算器93にて排他的論理和演算X3され、さらにその直後、鍵生成演算K4による通信用暗号鍵が読み出され、排他的論理和演算器93にて排他的論理和演算X4される。
【0069】
また、上記排他的論理和演算X3とX4が行われているとき、図4の(a)に示す鍵生成演算K5では、ブロックカウント(BlockCount=4)と鍵要素の排他的論理和演算、その演算結果と鍵生成演算K3の排他的論理和演算、さらにその演算結果を用いたKASUMI演算により、通信用暗号鍵が生成される。また同時に、図4の(b)に示す鍵生成演算K6では、ブロックカウント(BlockCount=5)と鍵要素の排他的論理和演算、その演算結果と鍵生成演算K4の排他的論理和演算、さらにその演算結果を用いたKASUMI演算により、通信用暗号鍵が生成される。
【0070】
そして、上記鍵生成演算K5及びK6により生成された通信用暗号鍵は、切替出力部91に一時的に記憶された後、図4の(c)に示すように、先に鍵生成演算K5による通信用暗号鍵が読み出され、排他的論理和演算器93にて排他的論理和演算X5され、さらにその直後、鍵生成演算K6による通信用暗号鍵が読み出され、排他的論理和演算器93にて排他的論理和演算X6される。
【0071】
以下同様にして、鍵生成演算K7,K8と排他的論理和演算X7,X8以降の各演算処理が行われる。
【0072】
[まとめ]
以上説明したように、本実施の形態によれば、複雑で且つ処理量が多く演算に長い時間がかかる通信用暗号鍵の生成を、初期の段階で分岐させて並列処理しているため、通信用暗号鍵を高速に生成でき、その結果、データの暗号化や復号化のリアルタイム処理と、高い転送効率が実現可能となっている。すなわち、本実施の形態の図3の例のように、2並列モードで通信用暗号鍵を生成すれば、前述の図7に示した従来の構成に比べて2倍の速度で通信用暗号鍵を生成可能となり、その結果、転送効率も2倍に高めることができる。もちろん、3並列モードにすれば、転送効率は従来の構成に比べて3倍になる。
【0073】
また、本実施の形態の構成は、図3に示したように、排他的論理和演算器とKASUMI演算部を並列構成し、切替出力部により通信用暗号鍵の出力タイミングを調整する構成となされているため、現行の「f8」アルゴリズムのシステムを殆ど変えることなく実現可能である。さらに本実施の形態によれば、大量の通信用暗号鍵を保持することなくリアルタイム復号処理を行えること、及び、先に生成された通信用暗号鍵を用いて次の通信用暗号鍵を生成してKASUMI演算を行っているため暗号強度を殆ど損なうことなくデータ通信が可能になっていることなど、ブロック暗号アルゴリズムの特徴を活かした処理が可能である。
【0074】
なお、上述した実施の形態の説明は、本発明の一例である。このため、本発明は上述した実施の形態に限定されることなく、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることはもちろんである。
【0075】
また、本実施の形態の暗号処理装置は、携帯電話端末や基地局以外に、第三世代無線通信に対応した通信機能を備えたカーナビゲーション装置等の移動体端末やPDA装置(PDA:Personal Digital Assistants)等であっても良い。
【0076】
【発明の効果】
本発明においては、前の処理対象データ用に生成した鍵情報を用いて次の処理対象データ用の鍵情報を生成する鍵情報生成演算を並列して行うことで、演算量が多い鍵情報(通信用暗号鍵)の生成時間を短縮でき、その結果、全体的な転送効率を向上させることができる。
【図面の簡単な説明】
【図1】本実施の形態の無線通信システムの概略構成を示すブロック図である。
【図2】本実施の形態の通信用暗号鍵生成の並列処理の流れを各ブロック毎の処理に分けて機能的に説明するための図である。
【図3】本実施の形態における通信用暗号鍵生成の並列処理を実現する実装例を示すブロック図である。
【図4】本実施の形態における通信用暗号鍵生成の並列処理と暗号化又は復号化のタイミングチャートである。
【図5】「f8」暗号アルゴリズムによるデータの暗号化と復号化の流れを機能的に説明するための図である。
【図6】「f8」暗号アルゴリズムにおいて、従来の通信用暗号鍵の生成の流れを各ブロック毎の処理に分けて機能的に説明するための図である。
【図7】通信用暗号鍵生成処理を実現する従来の実装例を示すブロック図である。
【図8】「f8」暗号アルゴリズムにおける、従来の通信用暗号鍵の生成と暗号化又は復号化のタイミングチャートである。
【符号の説明】
1…携帯電話端末、2…基地局、3…他通信装置、11,21…RRCレイヤ、12,22…RLCレイヤ、13,23…MACレイヤ、14,24…PHY(L1)レイヤ、81…鍵要素記憶部、82…ブロックカウンタ、83,84,87,88,93…排他的論理和演算器、85,89…KASUMI演算部、86,90…スイッチ、91…切替出力部、95…タイミング制御部
Claims (8)
- 前の処理対象データ用に生成した鍵情報を用いて次の処理対象データ用の鍵情報を生成する演算を、並列して行う複数の鍵情報生成部と、
上記複数の鍵情報生成部により並列して生成された複数の鍵情報を、1つずつ切替出力する切替出力部と、
順次供給される処理対象データと上記切替出力された鍵情報とを用いて所定の演算処理を行う演算処理部とを有する
ことを特徴とする暗号処理装置。 - 請求項1記載の暗号処理装置であって、
上記鍵情報の生成の際に使用される一つの鍵要素情報を、上記並列した複数の鍵情報生成部へ供給する鍵要素記憶部と、
上記順次供給される各処理対象データに対応したカウント情報を、上記並列した複数の鍵情報生成部へ順番に振り分けて供給するカウント部とを有し、
上記各鍵情報生成部は、上記振り分けて供給されたカウント情報と上記鍵要素情報とを用いた第1の演算を行う第1の演算部と、当該第1の演算後の情報と前の処理対象データ用に生成された鍵情報とを用いた第2の演算を行う第2の演算部と、上記第2の演算後の情報から鍵情報を生成するための第3の演算を行う第3の演算部とを有することを特徴とする暗号処理装置。 - 請求項1記載の暗号処理装置であって、
上記処理対象データは、共通鍵暗号方式を用いたブロック暗号アルゴリズムにより暗号化されるブロック単位のデータであり、
上記鍵情報は、上記共通鍵暗号方式のブロック暗号アルゴリズムで使用される通信用暗号鍵であり、
上記演算部は、上記所定の演算処理として、上記通信用暗号鍵と上記ブロック単位のデータとの排他的論理和演算を行うことにより、上記ブロック単位のデータを暗号化することを特徴とする暗号処理装置。 - 請求項1記載の暗号処理装置であって、
上記処理対象データは、共通鍵暗号方式を用いたブロック暗号アルゴリズムにより暗号化されたブロック単位の暗号データであり、
上記鍵情報は、上記共通鍵暗号方式のブロック暗号アルゴリズムで使用される通信用暗号鍵であり、
上記演算部は、上記所定の演算処理として、上記通信用暗号鍵と上記ブロック単位の暗号データとの排他的論理和演算を行うことにより、上記ブロック単位の暗号データを復号化することを特徴とする暗号処理装置。 - 前の処理対象データ用に生成した鍵情報を用いて次の処理対象データ用の鍵情報を生成する鍵情報生成演算を複数並列して行い、
上記鍵情報生成演算により並列して生成された複数の鍵情報を、1つずつ切替出力し、
順次供給される処理対象データと上記切替出力された鍵情報とを用いて所定の演算処理を行う
ことを特徴とする暗号処理方法。 - 請求項5記載の暗号処理方法であって、
上記鍵情報の生成の際に使用される一つの鍵要素情報を、上記並列した複数の鍵情報生成演算へ供給し、
上記順次供給される各処理対象データに対応したカウント情報を、上記並列した複数の鍵情報生成演算へ順番に振り分けて供給し、
上記各鍵情報生成演算では、上記振り分けて供給されたカウント情報と上記鍵要素情報とを用いた第1の演算と、当該第1の演算後の情報と前の処理対象データ用に生成された鍵情報とを用いた第2の演算と、上記第2の演算後の情報から鍵情報を生成するための第3の演算とを行うことを特徴とする暗号処理方法。 - 請求項5記載の暗号処理方法であって、
上記処理対象データは、共通鍵暗号方式を用いたブロック暗号アルゴリズムにより暗号化されるブロック単位のデータであり、
上記鍵情報は、上記共通鍵暗号方式のブロック暗号アルゴリズムで使用される通信用暗号鍵であり、
上記所定の演算処理は、上記ブロック単位のデータを上記通信用暗号鍵を用いて排他的論理和演算することによる暗号化であることを特徴とする暗号処理方法。 - 請求項5記載の暗号処理方法であって、
上記処理対象データは、共通鍵暗号方式を用いたブロック暗号アルゴリズムにより暗号化されたブロック単位の暗号データであり、
上記鍵情報は、上記共通鍵暗号方式のブロック暗号アルゴリズムで使用される通信用暗号鍵であり、
上記所定の演算処理として、上記ブロック単位の暗号データを上記通信用暗号鍵を用いて排他的論理和演算することによる復号化であることを特徴とする暗号処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002372909A JP2004205694A (ja) | 2002-12-24 | 2002-12-24 | 暗号処理装置及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002372909A JP2004205694A (ja) | 2002-12-24 | 2002-12-24 | 暗号処理装置及び方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004205694A true JP2004205694A (ja) | 2004-07-22 |
Family
ID=32811378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002372909A Withdrawn JP2004205694A (ja) | 2002-12-24 | 2002-12-24 | 暗号処理装置及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004205694A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100875740B1 (ko) | 2007-03-27 | 2008-12-24 | 삼성전자주식회사 | 통신 시스템의 암호화 키 및 무결성 키 생성 장치 및 방법 |
-
2002
- 2002-12-24 JP JP2002372909A patent/JP2004205694A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100875740B1 (ko) | 2007-03-27 | 2008-12-24 | 삼성전자주식회사 | 통신 시스템의 암호화 키 및 무결성 키 생성 장치 및 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4464046B2 (ja) | 暗号化装置及び復号化装置及び無線通信装置 | |
CN101278516B (zh) | 使用长密钥板的共享密钥加密 | |
EP0998799B1 (en) | Security method and system for transmissions in telecommunication networks | |
EP2218272B1 (en) | Methods and apparatuses for enabling non-access stratum (nas) security in lte mobile units | |
CN1323507C (zh) | 分组加密算法中对短分组的处理方法 | |
JP2004015667A (ja) | Icカード間暗号通信方法、電子チケット流通システムにおけるicカード間暗号通信方法およびicカード | |
WO1990009009A1 (en) | Data carrier and data communication apparatus using the same | |
WO1996042155A1 (en) | Method of encrypting data packets and detecting decryption errors | |
EP1156694B1 (en) | Radio communication device | |
CN113015157A (zh) | 一种用于无线通信系统支持多种加密的方法、装置及系统 | |
CN112291196B (zh) | 适用于即时通信的端到端加密方法及系统 | |
McGrew | Low power wireless scenarios and techniques for saving bandwidth without sacrificing security | |
EP1569379A1 (en) | Method of generating a cryptosync | |
JP2003110540A (ja) | 暗号鍵更新方法 | |
Solanki et al. | LTE security: encryption algorithm enhancements | |
CN102111758A (zh) | 一种基于加密体制的移动通信中端与端之间的问题解决方法 | |
EP1456997B1 (en) | System and method for symmetrical cryptography | |
JP2004205694A (ja) | 暗号処理装置及び方法 | |
CN108882182A (zh) | 短信加解密装置 | |
JP2004186939A (ja) | 暗号処理装置及び方法 | |
JP2000286830A (ja) | 暗号通信システムにおける暗号化処理方法 | |
CN103812652A (zh) | 一种计算机信息传送的智能化加密方法 | |
Patheja et al. | A hybrid encryption technique to secure Bluetooth communication | |
JP2004040278A (ja) | 情報伝達システム | |
CN103354638A (zh) | 一种基于安卓系统的手机加密服务器系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060307 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20071009 |
|
A072 | Dismissal of procedure |
Free format text: JAPANESE INTERMEDIATE CODE: A072 Effective date: 20080213 |