JP2007535001A - 霞暗号処理を実行する装置及び方法 - Google Patents

霞暗号処理を実行する装置及び方法 Download PDF

Info

Publication number
JP2007535001A
JP2007535001A JP2007510758A JP2007510758A JP2007535001A JP 2007535001 A JP2007535001 A JP 2007535001A JP 2007510758 A JP2007510758 A JP 2007510758A JP 2007510758 A JP2007510758 A JP 2007510758A JP 2007535001 A JP2007535001 A JP 2007535001A
Authority
JP
Japan
Prior art keywords
round
function
functions
rounds
calculation
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
Application number
JP2007510758A
Other languages
English (en)
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of JP2007535001A publication Critical patent/JP2007535001A/ja
Pending legal-status Critical Current

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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Complex Calculations (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Abstract

霞暗号処理を実行する処置を提供する。本処置は、霞ラウンドにおける2つのFI関数の演算を1クロックサイクル内で並列化して、霞ラウンドにおける連続する2つのFL関数を1クロックサイクル内で演算する装置及び方法を含む。
【選択図】図6

Description

本発明は概して、ネットワークセキュリティに関する。より具体的には、霞暗号処理を実行する装置及び方法に関する。
ネットワークにより、コンピュータと他の装置は通信を行う。例えば、ネットワークはビデオ、オーディオ及び電子メール等のデータを運ぶことができる。しかしながら、ネットワークシステムはプライバシの損失、データ保全性の損失、当人なりすまし、及びサービス拒否攻撃等の多くの脅威にさらされやすい。これらの脅威に対処する目的で、ネットワーク通信の安全性を向上するべく、多くの対応策が展開され採用されている。例えば、「3GGP(3rd Generation Partnership Project)」との名の共同体によって設立された標準規格は、ネットワーク通信の秘密性及び保全性を向上する目的で、多数のアルゴリズムを提供している。3GGP標準規格のターゲットはモバイル通信であるが、その秘密性及び保全性を備えるアルゴリズムは、一般のネットワーク通信にも適用できる。3GGPの秘密性及び保全性を備えるアルゴリズムの代表は霞アルゴリズムである。
霞アルゴリズムは、128ビット入力鍵の制御の下、64ビットの入力から64ビットの出力を生成するブロック暗号アルゴリズムである。霞アルゴリズムは8ラウンド演算工程を有する。霞暗号処理はソフトウェアシュミレーションを介して実行されても良いが、ハードウェアで構成するほうが、速い処理速度を達成できるのでより望ましいだろう。ハードウェアでの構成は、ネットワーク通信におけるデータ処理速度を著しく下げられないときに有効である。ハードウェアで構成する場合、ネットワークシステムの全体のデータ処理速度を下げないためには、霞演算は処理時間がかかるので、その処理速度を上げる目的で1つ以上の霞モジュールを必要とする。霞モジュールのチップ上の実装領域が増加するほど、消費電力は増加しコストもかさむ。それゆえ、霞ハードウェアの処理速度を向上することが望まれている。
本発明の特徴及び利点は、本発明における以下の詳細の記載から明らかになるであろう。
一般的なネットワークシステムを示す図である。
霞暗号処理を実行する方法を示す図である。
霞暗号処理におけるFO関数を実行する方法を示す図である。
FO関数が有するFI関数を実行する方法を示す図である。
霞暗号処理におけるFL関数を実行する方法を示す図である。
霞暗号処理を実行するシステムのブロック図である。
霞ラウンドにおける連続する2つのFI関数をパラレルに実行する方法を示す図である。
FI関数の実行形態の一例を示す図である。
連続する2つの霞ラウンドにおけるFI関数を実行する1つの形態を示す図である。
連続する2つの霞ラウンドにおける連続する2つのFL関数を実行する1つの形態を示す図である。
本発明の1つの形態における、霞ラウンド及び処理サイクルの関係を示す図である。
霞暗号処理を実行する1つの形態を示す図である。
ネットワークシステムを示す図である。
本発明の1つの形態では、霞暗号処理を実行する装置及び方法を含む。霞アルゴリズムとは、64ビット入力から64ビット出力を、128ビット鍵の制御の下で、8ラウンド演算工程を介して生成するブロック暗号アルゴリズムである。各ラウンドは1つのFL関数及び1つのFO関数の演算を含む。FO関数はFI関数の3回の反復を含む。FI関数を演算するための3サイクル、及びFL関数を演算するための1サイクルを有する各ラウンドを完了するには、単純なハードウェアにおいては、4つのクロックサイクルを必要とする。それゆえ、霞において出力を生成するにはトータル32クロックサイクルを要する。本発明のある形態によると、霞暗号処理の演算を完了するのに必要なトータルのサイクルの数を減らす目的で、霞が有する8つのラウンドを展開しても良い。そのような形態では、同じラウンドであれ、連続する2つのラウンドをまたぐものであれ、連続する2つのFI関数を1サイクルでパラレルに演算しても良い。又、連続する2つのラウンドをまたぐ連続する2つのFL関数を1サイクルで演算しても良い。従って、1つの形態では、霞において出力を生成するのに、32サイクルの代わりに17サイクルだけを用いても良い。
本明細書における、本発明の「1つの形態」又は「ある形態」とは、その形態に関連して記載された特定の特徴、構造又は特性が本発明の少なくとも1つの形態に含まれていることを意味する。それゆえ、本明細書を通して、いろいろな部分で用いられる「1つの形態における」との表現は、全て同じ実施形態を表しているわけではない。
図1に、多数の端末に対応する一般的なネットワークシステム110を示す。ネットワークシステム110は、ある端末から別の端末へのデータの受け渡しを促進する目的で、ルータ、スイッチ及びブリッジ等の多数のデバイスを含んでも良い。ネットワークシステムは、無線システム、イーサネットシステム、又は他のシステムであっても良く、多様なネットワークシステムの組み合わせであっても良い。ネットワークシステムはある端末から別の端末を接続する目的で衛星120を含んでも良い。ネットワークシステムの端末は、サーバ(130)、デスクトップコンピュータ(140)、個人用の携帯情報端末(PDA)(150)、携帯電話(160)、ラップトップコンピュータ(170)又は他のデバイスであっても良い。様々な端末において通信されるデータは、ビデオ、オーディオ、メッセージ及び他のデータを含んでも良い。ネットワークシステムは、通信セキュリティのために3GGP規格を用いても良い。3GGP規格の構成要素として、通信の機密性及び通信の整合性を確保すべくデータを暗号化する目的で、霞暗号処理を用いても良い。
図2に、「3GGP機密整合アルゴリズム仕様書(Specification of the 3GPP Confidentiality and Integrity Algorithms)」V5.0.0.(2002年6月)における「ドキュメント2:霞の仕様書(KASUMI Specification)」(以後霞の仕様書と表す)において定義された霞暗号処理を示す。霞暗号処理は、64ビット入力Iを受け取り、128ビット入力鍵Kの制御の下で8ラウンドの演算を実行して、64ビット出力Oを生成する。入力Iは32ビット列L〔0〕及びR〔0〕に分割される。ここでI=L〔0〕 || R〔0〕であり、「||」は連結演算を示す。各ラウンドi(1<=i<=8)において、
L〔i〕=R〔i−1〕( F(L〔i−1〕,RK〔i〕) (1)
R〔i〕=L〔i−1〕 (2)
であり、ここでは、RK〔i〕はラウンドiの128ビットのラウンド鍵であり、霞の仕様書において明記された方法で、Kから導かれる。そして「(」は排他的論理和(XOR)を示す。式(1)におけるFは以下で定義されるラウンド関数を示す。
奇数ラウンドに対して、
(I,RK〔i〕)=FO(FL(I,KL),KO,KI) (3)
偶数ラウンドに対して、
(I,RK〔i〕)=FL(FO(I,KO,KI),KL) (4)
ここでは、KL、KO及びKIはラウンドiにおけるサブ鍵であり、霞の仕様書に明記されているとおり、ラウンド鍵RK〔i〕から導かれる。KLはFL関数において用いられ、32ビット長である。KO及びKIは、FO関数において用いられ、それぞれは48ビット長である。式(3)及び(4)で示したとおり、FO関数とFL関数の順序は連続する2つのラウンドでは逆転する。霞暗号処理における64ビット出力Oは、8ラウンド目から出力される2つの32ビット出力により算出される。つまり、O=L〔8〕||R〔8〕である。図2に、霞暗号処理に必要とされる演算を示す。図2に示すとおり、各ラウンドは、FL関数、FO関数及びXOR関数の演算を含む。しかし、FL関数及びFO関数の順序は連続する2つのラウンドで逆転する。
ラウンドiにおいてFO関数を演算する目的で、32ビット入力I_FOはL_FO〔0〕及びR_FO〔0〕の2つに分割される。ここでI_FO=L_FO〔0〕||R_FO〔0〕である。48ビットのサブ鍵KO及びKIのそれぞれは、3つの16ビットのサブ・サブ鍵に分割される。ここで、KO=KO||KO||KO及びKI=KI||KI||KIである。関数FOは、演算1組の3回の反復を有する。各反復j(1<=j<=3)において
R_FO〔j〕=FI(L_FO〔j−1〕(KO,KI)(R_FO〔j−1〕 (5)
L_FO〔j〕=R_FO〔j−1〕 (6)
であり、FIは以下で定義される関数である。FO関数は、3回の反復により生成される2つの16ビット出力の連結演算を行い、32ビット値O_FOを生成する。即ち、O_FO=L_FO〔3〕||R_FO〔3〕である。図3に、ラウンドiにおけるFO関数の算出方法を示す。図に示すとおり、FO関数の演算は3回の反復工程を有する。そして各工程は、2つのXOR関数及び1つのFI関数を有する。
ラウンドiにおけるFO関数の反復jにおけるFI関数を算出する目的で、16ビット入力I_FIは9ビットの左半分L_FI〔0〕及び7ビットの右半分R_FI〔0〕に分割される。ここで、I_FI=L_FI〔0〕||R_FI〔0〕である。サブ鍵KIは、7ビットの左コンポーネントKI及び9ビットの右コンポーネントKIに分割される。ここで、KI= KI||KIである。FI関数は以下のとおり定義される。
L_FI〔1〕 = R_FI〔0〕, R_FI〔1〕= S9〔L_FI〔0〕〕(ZE(R_FI〔0〕);
L_FI〔2〕=R_FI〔1〕(KI, R_FI〔2〕=S7(L_FI〔1〕( TR(R_FI〔1〕)( KI
L_FI(3)=R_FI〔2〕, R_FI〔3〕= S9(L_FI〔2〕)( ZE(R_FI〔2〕);
L_FI〔4〕 = S7(L_FI〔3〕)( TR(R_FI〔3〕), R_FI〔4〕= R_FI〔3〕;
であり、S7は、7ビット入力を7ビット出力に変換する関数である。S9は、9ビット入力を9ビット出力に変換する関数である。ZEは、7ビット入力を受け取り、最上位側端に2ビットの0を追加することで9ビットの出力に変換する関数である。TRは、9ビット入力を受け取り、最上位側2ビットを捨てることによって7ビット出力に変換する関数である。S7関数及びS9関数は、霞の仕様書において詳細に定義されている。上記の式で示したFI関数内部の演算を図4に示す。
霞のラウンドiでのFL関数を算出する目的で、32ビットの入力データI_FLは、16ビットの左半分L_FL及び16ビットの右半分R_FLに分割される。ここで、I_FL= L_FL||R_FLである。サブ鍵KLはまた、16ビットに2等分される。ここで、KL=KL||KLである。以下の演算がFL関数において実行される。
R’_FL=R_FL(ROL(L_FL∩KL) (7)
L’_FL= L_FL( ROL (R’_FL ∪ KL) (8)
ここで、ROLは入力データを1ビットずつ左方向にシフトする関数である。「∩」はビット単位の論理積演算を、「∪」はビット単位の論理和演算を表す。FL関数は、右半分出力R’_FLと左半分出力L’_FLとの連結演算を行うことで32ビットの出力データO_FLに戻す。即ち、O_FL =L’_FL||R’_FLである。式(7)及び(8)で示したFL関数の内部演算を図5に示す。
図6に霞暗号処理を実行するシステムの一例を示す。システムは、サブ鍵生成部620、制御部640、KLセレクタ650、KOセレクタ660、KIセレクタ670、及び霞ラウンド演算メカニズム680を含む。サブ鍵生成部620は、霞の仕様書に準じ、128ビット入力鍵Kに基づいて、霞ラウンドそれぞれに対してのサブ鍵KL、KO及びKIを生成する。入力鍵は、公開鍵又は秘密鍵から生成されても良い。サブ鍵生成部は霞ラウンドで必要とされるサブ鍵の組を、霞ラウンド演算メカニズムにおいてそのラウンドの演算が始まる時に生成しても良いが、システムとしてのトータル速度を上げる目的で、そのラウンドの演算が始まる前に、霞ラウンドが必要とするその鍵の組を前もって生成することが望ましい。
制御部640は、サブ鍵生成部、KLセレクタ、KOセレクタ、KIセレクタ及び霞ラウンド演算メカニズムの間での演算を制御及び調整する。例えば、制御部はサブ鍵生成部に、霞ラウンドiに対するサブ鍵を準備するよう指示しても良い。サブ鍵生成部は、要求されたサブ鍵の準備ができたときにその事を制御部に通知しても良い。通知を受け取ると、制御部は、霞ラウンド演算メカニズムに正しいサブ鍵を提供するためにセレクタを制御して、霞ラウンド演算メカニズムにラウンドiを実行するよう指示しても良い。ラウンドiが完了したとき、霞ラウンド演算メカニズムは、制御部がサブ鍵生成部にランドi+1に対するサブ鍵の準備をするよう指示を行えるよう、制御部にその事を通知しても良い。更に、制御部はプロセッサから/へ調整信号630を受信/送信しても良い。調整信号は、システムをリセットするためのリセット信号、システムを開始するためのスタート信号、及び霞暗号処理が完了したことをプロセッサに通知するための完了信号を含んでも良い。
KLセレクタ650は霞ラウンドごとに、FL関数演算のためのKLサブ鍵を選択する。KOセレクタ660は霞ラウンドごとに、3つのFI関数の演算のためのKOサブ鍵を選択する。KIセレクタは霞ラウンドごとに、3つのFI関数の演算のためのKIサブ鍵を選択する。図6において、これらKL、KO及びKIセレクタは互いに独立しており、サブ鍵生成部とも分離しているが、これらセレクタは、部分的に又は全体的に組み合わされても良く、これらの幾つか又は全てが、同一又は同様な機能を実行する目的で、サブ鍵生成部と組み合わされても良い。
霞ラウンド演算メカニズム680は、64ビットの入力データ610を受け取り、その入力データに対して、サブ鍵生成部から提供されたサブ鍵を用いて、64ビットの出力データ690を生成すべく、8回の霞ラウンドを実行する。霞ラウンド演算メカニズムは、FIブロック682、FLブロック684、及び入力/出力コーディネータ686を含む。FIブロック682は、8回の霞ラウンドにおいて、全てのFI関数を演算する。FLブロック684は霞暗号処理において必要とされる全てのFL関数を演算する。入力/出力コーディネータ686は、1番目の霞ラウンド演算を開始する目的で、入力データを半分に分割しても良く、最後の64ビット出力データ690を生成する目的で、8番目の霞ラウンドから生成された2つの32ビット出力を結合してもよい。入力/出力コーディネータは、各FI関数に対して、入力データを分割して、出力データを結合しても良い。8回の霞ラウンドにおける全てのFI関数は、同一の演算を含んでいるので(FI関数のそれぞれは、それぞれの入力データ及び特定のサブ鍵を用いて実行されるので)、FI関数で定義された特定の一組の演算だけを実行するコンポーネントを、FIブロックに含ませることができる。あるFI関数から連続するFI関数への、又はFL関数へのデータフローは、制御器640に加えて入力/出力コーディネータによって進められても良い。同様に、FLブロックは、FL関数で定義された特定の一組の演算を実行するコンポーネントを含んでも良い。入力/出力コーディネータ686及びコントローラ640は、連続する2つのFL関数、又はFL関数とFI関数との間のデータフローを進めても良い。
霞暗号処理は、ハードウェア実装に生かせる多数の特性を備える。例えば、図3に示した各霞ラウンドにおけるFO関数の中で連続する2つのFI関数の演算は、パラレルに実行されても良い。図7aに、図3のFI及びFIの演算をパラレルに実行する方法を示す。(FI演算のための)反復2は、(FI演算のための)反復1の結果を用いないので、反復1及び反復2は同時に実行されても良い。しかしながら、(FI演算のための)反復3は反復1の結果を入力として用いる必要があるので、反復3は単純に、反復1及び反復2の工程と共にパラレルに実行することはできない。同様に、FI及びFIの演算は、図7bで示すとおり、パラレルに実行しても良い。更に、図4で示したFI関数におけるS7及びS9の演算も、パラレルに実行しても良い。図8にS7及びS9の演算をパラレルに実行する方法を示す。
図7a及びbで示したとおり、1つの霞ラウンド内で連続する2つのFI関数をパラレルに実行できるだけでなく(ラウンド内FI並列処理)、2つの霞ラウンドをまたがって連続する2つのFI関数もまたパラレルに実行できる(「クロスラウンドFI並列処理」)。図2で示した霞暗号処理の定義においては、クロスラウンドFI並列処理が実行できる場所は、ラウンド1と2との間、ラウンド3と4との間、ラウンド5と6との間、及びラウンド7と8との間だけである。なぜなら、2つのラウンドをまたがる連続するFI関数はこれらの場所にしか存在しないからである。図9に、クロスラウンドFI並列処理をラウンド1とラウンド2との間で実行する方法を示す。32ビット入力データ902が半分の16ビットの2つに、即ち左半分データ904及び右半分データ906に分割される。XORメカニズム908を介して、左半分データ904とサブ鍵KOとの排他的論理和を算出する。XORメカニズム908からの出力データは、ラウンド1におけるFI反復1内のFI関数FIを実行するメカニズム912に対する入力として用いられる。FI演算はサブ鍵KIを用いて実行される。FI演算の出力と右半分データ906との排他的論理和が算出される。ラウンド1のFI反復2の演算が、ラウンド1のFI反復1の演算とパラレルに実行される。右半分データ906は最初に、XORメカニズム910を介してサブ鍵KOとの排他的論理和を算出される。XORメカニズム910からの出力データは、ラウンド1のFI反復2内のFI関数FIを実行するメカニズム914の入力として用いられる。更に、出力データ922を生成する目的で、サブ鍵KIを用いて実行されたFI演算の結果とXORメカニズム916からの出力データとの排他的論理和を算出する。
ラウンド内FI並列処理(ラウンド1におけるFI反復1及びFI反復2)が実行された後で、クロスラウンドFI並列処理(ラウンド1のFI反復3及びラウンド2のFI反復1)が開始される。しかしながら、ラウンド内並列処理及びクロスラウンド並列処理には差異がある。つまり、ラウンド1とラウンド2との間には余分のXOR演算(即ち、図2に示したとおり、FO1とFO2との間のXOR演算)が存在する。そのような差異は、ラウンド内FI並列処理及びクロスラウンド並列処理を別々に導入する必要を生じさせ、ハードウェアの複雑性を増加させる場合がある。それゆえ、1つのメカニズムにラウンド内FI並列処理及びクロスラウンドFI並列処理の両方を導入することが望ましい。このためには、余分のXOR演算を特別なやり方で実行する必要がある。図9に、クロスラウンドFI並列処理を実行する時の、2つのラウンドの間の余分のXOR演算を実行する方法の一例を示す。XOR演算はビット単位の演算なので、霞暗号処理の入力データの右半分である入力R〔0〕を用いる32ビット演算である、ラウンド1と2との間の余分のXOR演算は、XORメカニズム924及び934によって実行される、2つの16ビットXOR演算に置き換えられる。XORメカニズム924は、入力の1つとして、R〔0〕の左半分16ビット(「R〔0〕(L:16)」)を有し、XORメカニズム934は、入力の1つとして、R〔0〕の右半分16ビット(「R〔0〕(R:16)」)を有する。XOR演算の「互換性」特性、即ち(x(y)(z=x((y(z)を満たす特性により、R〔0〕(L:16)は、XORメカニズム924を介して、データ922が利用できる前であれ、サブ鍵KOとの排他的論理和を前もって算出することができる。つまり、XORメカニズム924は、ラウンド2のFI反復1におけるクリティカルパス上には存在しない。同様に、データ922が利用できる状態になるとすぐに、XORメカニズム934を介して、R〔0〕(R:16)とデータ922との排他的論理和を前もって算出することができる。従って、XORメカニズム934はラウンド1のF1反復3におけるクリティカルパス上には存在しない。前もって排他的論理和を求める手法を用いることによって、ラウンド内FI並列処理を実行する目的で用いられるメカニズムを、更に2つのXORメカニズムを有するクロスラウンドFI並列処理を実行する目的で用いても良い。
ラウンド1とラウンド2との間の余分のXOR演算を前もって行う手法で、ラウンド1のFI反復3及びラウンド2のFI反復1に関わる演算は、ラウンド1のFI反復1及び2に関わる演算と同様にみなせる。左側において、ラウンド1のFI反復3における演算は、XORメカニズム916の出力データとサブ鍵KOとのXOR演算を行うXORメカニズム920にて開始される。XORメカニズム920からの出力データは、サブ鍵KIの制御の下でFI関数を実行する目的で、メカニズム930によって用いられる。更に、XORメカニズム940を介して、XORメカニズム934からの出力データ936とFI演算の結果との排他的論理和が算出される。右側において、ラウンド2のFI反復1における演算は、XORメカニズム918からの出力データ922とXORメカニズム924からの出力データとのXOR演算を実行するXORメカニズム928にて開始される。XORメカニズム928からの結果は、サブ鍵KIの制御の下でFI演算を実行する目的で、メカニズム932において用いられる。更に、ラウンド1のFI反復3とラウンド2のFI反復1との間のクロスラウンドFI並列処理を完了する目的で、メカニズム932からの出力データとXORメカニズム940からの出力データとの排他的論理和を算出する。
ラウンド2のFO関数における残りの演算は、ラウンド2のFI反復2と3との間のラウンド内並列処理を介して実行されても良い。左側に示した、ラウンド2のFI反復2における演算は、XORメカニズム940の出力データとサブ鍵KO とのXOR演算を実行するXORメカニズム944にて開始される。XORメカニズム944からの出力データは、サブ鍵KIの制御の下でFI関数を実行する目的で、メカニズム948において用いられる。更に、FIの演算結果と、XORメカニズム942からの出力との排他的論理和が、XORメカニズム954を介して算出される。右側に示した、ラウンド2のFI反復3における演算は、XORメカニズム942からの出力データとサブ鍵KOとのXOR演算を実行するXORメカニズム946にて開始される。XORメカニズム946の結果は、サブ鍵KIの制御の下でFI演算を実行する目的で、メカニズム950において用いられる。更に、ラウンド2のFI反復2及び3の間のクロスラウンドFI並列処理を完了する目的で、メカニズム950からの出力データと、XORメカニズム954からの出力データとの排他的論理和が算出される。XORメカニズム954からの出力データはラウンド2の左側出力958を生成し、XORメカニズム956からの出力データはラウンド2の右側出力960を生成する。左側出力958及び右側出力960は、ラウンド2の出力962を生成する目的で連結される。
一般的に、霞ラウンドにおけるFO関数内のFI反復における演算は、1クロックサイクルで実行される。並列処理により、それぞれのラウンド内FI並列処理及びクロスラウンド並列処理が1クロックサイクルで実行できる。これは、図9で示したラウンド1及びラウンド2における演算が、6サイクルの代わりに、3クロックサイクルで実行できることを意味する。
図10に、2つの霞ラウンド2及び3をまたがって連続する2つのFL関数を実行する方法(「クロスラウンドFL−FL演算処理」)の一例を示す。この実施形態では、図2に示したFL2及びFL3の間の余分なXOR演算が、余分な遅れを伴わずに、クロスラウンドFL−FL演算処理に併合される。余分のXOR演算(32ビット)はビット単位の演算なので、XORメカニズム1014及び1026によって実行される2つの16ビットXOR演算に置き換えられる。従って、余分のXOR演算の32ビット入力データR〔1〕は、半分である2つの16ビットに分割される。即ち、XORメカニズム1014の入力である左半分1016、R〔1〕(L:16)、及びXORメカニズム1026の入力である右半分1028、R〔1〕(R:16)に分割される。XOR演算子の「互換性」の特性により、即ち(x(y)(z=x((y(z)を満たす特性により、XORメカニズム1014はXORメカニズム1022の前に置くことができる。その結果、XORメカニズム1014はクロスラウンドFL−FL演算工程におけるクリティカルパス上には存在しない。つまり、1014及ぶ1022において実行される演算は余分な遅れを引き起こさない。XORメカニズム1026はクロスラウンドFL−FL演算処理におけるクリティカルパス上に存在しないので、XORメカニズム1026を移動させる必要はない。
FL2とFL3との間の余分のXOR演算をクロスラウンドFL−FL演算工程と併合することにより、クロスラウンドFL−FL演算工程は1クロックサイクル内で完了できる。図10に示すとおり、クロスラウンドFL−FL演算工程の32ビット入力データ1002は半分の16ビット、左半分1004及び右半分1006に分割される。メカニズム1008は、左半分1004とサブ鍵KLとのビット単位の「論理積」演算を実行する。同時に、XORメカニズム1014は、左半分1004とR〔1〕(L: 16)とのXOR演算を実行する。メカニズム1008からの出力データは、メカニズム1010によって1ビットずつ左にシフトされる。メカニズム1010からの出力データと、入力データの右半分1006との排他的論理和がXORメカニズム1012を介して算出される。更に、XORメカニズム1012からの出力データとR〔1〕(R:16)との排他的論理和がXORメカニズム1026によって算出される。同時に、メカニズム1018は、XORメカニズム1012とサブ鍵KLとのビット単位の「論理和」演算を実行する。続いて、メカニズム1018からの出力データは、メカニズム1020によって1ビットずつ左にシフトされる。更に、メカニズム1020からの出力データとXORメカニズム1014からの出力データとの排他的論理和が算出される。
メカニズム1030は、XORメカニズム1022からの出力とサブ鍵KLとのビット単位の「論理積」を実行する。「論理積」演算の出力は、メカニズム1032によって1ビットずつ左にシフトされる。XORメカニズム1034は、1028からの出力データ及び1032からの出力データとの排他的論理和演算を実行する。1034からの出力データは、クロスラウンドFL−FL演算工程の右側出力1048を生成する。一方で、メカニズム1036は1034からの出力とサブ鍵KLとのビット単位「論理和」演算を実行する。「論理和」演算の結果は、メカニズム1038によって1ビットずつ左にシフトされる。XORメカニズム1040は、クロスラウンドFL−FL演算工程の左側出力1044を生成する目的で、1022からの出力データと1038からの出力データとのXOR演算を実行する。左側出力1044及び右側出力1048は、クロスラウンドFL−FL演算工程の32ビット出力データ1046を生成する目的で連結される。
図11に、霞ラウンドと処理サイクルとの関係を示す。図2に示したとおり、奇数ラウンドはFO関数の前にFL関数を有し、偶数ラウンドはFL関数の前にFO関数を有する。FO関数は、更に3つのFI関数を有する。最初のラウンドは、サイクル1で実行されても良いFL関数で始まる。ラウンド1における第1のFI関数及び第2のFI関数はパラレルにサイクル2で実行されても良い(ラウンド内FI並列処理)。ラウンド1及びラウンド2の間のXOR演算は、ラウンド1の第3のFI関数とラウンド2の第1のFI関数とをパラレルにサイクル3で実行できるよう(クロスラウンドFI並列処理)、前もって実行されても良い。ラウンド2における第2のFI関数及び第3のFI関数は、別のラウンド内FI並列処理を形成して、サイクル4でパラレルに実行されても良い。ラウンド2とラウンド3との間のXOR演算は、ラウンド2におけるFL関数に必要とされる演算を含むクロスラウンドFL−FL演算工程に取り込まれても良く、ラウンド2とラウンド3との間のXOR演算とラウンド3のFL関数をサイクル5で実行しても良い。ラウンド内FI並列処理、クロスラウンドFI並列処理及びクロスラウンドFL−FL演算工程のそれぞれは、1サイクルで実行しても良いので、霞の8ラウンドは、トータル17サイクルで実行されても良い。
図12に、本発明の1つの形態における、FI−FI並列処理及びクロスラウンドFL−FL演算工程を用いて、図6に示した霞ラウンド演算メカニズム670を実装するシステムの一例を示す。霞ラウンド演算メカニズムの実装は、FL/FL促進部1210、FI−FI演算メカニズム1220及びFL−FL演算メカニズム1230を含む。FI−FI演算メカニズム1220は、ラウンド内FI並列処理及びクロスラウンド並列処理が共有のコンポーネントにおいて演算できる方法で構成されても良い。FL−FL演算メカニズム1230は、1つのFL関数又はラウンドをまたがって連続する2つのFL関数を算出する目的で構成されても良い。FI/FL促進部1210は、FI−FI演算メカニズム及びFL−FL演算メカニズムを、これら2つのメカニズムを霞8ラウンドに関連する全てのFI及びFL関数を算出する目的で用いることができるよう調整しても良い。FI/FL促進部は、入力前準備部1212及び出力制御部1214を含んでも良い。入力準備部1212は、FI−FI又はFL−FL演算メカニズムに対する入力データを準備しても良い。例えば、入力準備部は、FI又はFL関数に対して、入力データを半分に分割しても良い。出力制御メカニズム1214は、FI−FI又はFL−FL演算メカニズムからの出力のフローを制御しても良い。例えば、出力制御メカニズムは、1つのラウンド内FI並列処理からの出力データをクロスラウンドFI並列処理又はクロスラウンドFL−FL演算工程に送っても良く、またその逆の工程を行っても良い。出力制御メカニズムはまた、FI−FI及びFL−FL演算メカニズムからの出力データに基づいて、霞暗号処理の最終出力データを生成しても良い。
図13に、霞暗号処理を実行するネットワークシステムを示す。システムは、スイッチファブリック1310(クロスバー又は共有メモリスイッチファブリック等)に相互接続された一群のラインカード1320(「ブレイド」)を含んでも良い。個々のラインカードは、物理的に同一な位置に置かれても良く、物理的に異なった位置(異なった都市等)に置かれても良い。スイッチファブリックは、例えば、カモン・スイッチ・インターフェース(CSIX)、又はハイパートランスポート、インフィニバンド、ぺリフェラル・コンポーネント・インターコネクト(PCI)、パケット・オーバ・ソネット(同期光学ネットワーク)、RapidIO、及び/又はUTOPIA(Universal Test and Operations PHY(Physical Layer)Interface for ATM)等のその他のファブリックテクノロジに準じても良い。
個々のラインカード(1320A等)は、ネットワークコネクション上の通信を取り扱う1つ以上の物理レイヤ(PHY)デバイス1322(例えば、光学、有線、及び無線PHY)を含んでも良い。PHYは、様々なネットワークメディアによって運ばれる物理信号とデジタルシステムによって用いられるビット信号(例えば「0」及び「1」)との変換を行う。ラインカード1320はまた、エラー検知及び/又は訂正等のフレーム演算を実行するフレーマデバイス(例えば、イーサネット、同期光学ネットワーク(SONET)、ハイレベル・データリンク(HDLC)フレーマ又は他の「レイヤ2」デバイス)1324を含んでも良い。図に示すとおり、ラインカード1320は、PHY1322を介して受信するパケットに対してパケット処理動作を実行して、パケットを転送する目的で、エグレス・インターフェースを提供するラインカードにスイッチファブリック1310を介してパケットを送る、1つ以上のネットワークプロセッサ1326を含んでも良い。場合によっては、ネットワークプロセッサ1326は、フレーマデバイス1324の代わりに、「レイヤ2」の仕事を実行しても良い。
ネットワークプロセッサ1326は、インテル製Internet eXchange network Processor(r)(IXP)、又は異なった設計を有する他のネットワークプロセッサであっても良い。ネットワークプロセッサは、単体の集積回路上に一群のパケット処理エンジンを有する。個々のエンジンはマルチスレッド処理を提供しても良い。更に、ネットワークプロセッサは、(多くの場合、ネットワーク動作に関連する「コントロールプレーン」タスクを実行する目的でプログラムされる)コアプロセッサを含んでも良い。しかしながら、コアプロセッサはまた、「データプレーン」タスクを取り扱っても良い。ネットワークプロセッサ1326はまた、プロセッサと他のネットワークコンポーネントとの間でパケットを運搬する少なくとも1つのインターフェースを有してもよい。プロセッサ1326は、例えば、ファブリックに接続された他のプロセッサ又は回路へパケットを転送させるスイッチファブリック・インターフェース1310を有しても良い。プロセッサ1326はまた、プロセッサに物理レイヤ(PHY)及び/又はリンクレイヤデバイス(MAC又はフレーマデバイス等)と通信させるインターフェースを有してもよい。プロセッサ1326はまた、例えば、ホスト又は他のネットワークプロセッサと通信するためのインターフェース(例えば、ペリフェラル・コンポーネント・インターコネクト(PCI)バスインターフェース)を含んでも良い。更に、プロセッサ1326はまた、メモリコントローラ、ハッシュ・エンジン及びインターナル・スクラッチパッドメモリ等のエンジンによって共有される他のコンポーネントを有しても良い。
図13に示したとおり、ラインカード1320のそれぞれは、霞暗号処理を実行する少なくとも1つの霞モジュール1330(1330A等)と動作可能に接続されても良い。1つの形態として、霞モジュールはラインカードと分離しても良い。他の形態として、霞モジュールは、ラインカードと一体化されても良い。また、1つの形態では、霞モジュールはネットワークプロセッサ1326の一部又はPHY1322の一部であっても良い。更に、別の形態では、霞モジュールはリンクレイヤ、ネットワークレイヤ及び/又はアプリケーションレイヤ等の他のネットワークレイヤに置かれても良い。
図1〜13を参照として本発明の実施形態を説明したが、本発明の実施形態において他に多くの形態が存在することは当業者には容易に分かるであろう。例えば、関数ブロック又は処理工程の実行順序は変わっても良く、及び/又は記載された関数ブロック又は処理工程の一部は変更、削除又は組み合わせられても良い。
上記において、本発明における様々な実施形態を示した。本発明の理解を促進すべく、説明の目的で、特定の数字、システム及び構成を示した。しかしながら、本発明の利益を得る当業者にとって、本発明が特別な詳細の記載無しでも実行できることは明らかであろう。即ち、公知の特徴、コンポーネント又はモジュールは、本発明を不明瞭としない目的で、省略、簡略化、結合又は分割されている。
ここに記した本発明の実施形態は、ハード・ワイヤード回路、デジタル回路、アナログ回路、プログラマブル回路等の回路に実装されても良い。又、本発明の実施形態はコンピュータ・プログラムの形で実装されても良い。そのようなコンピュータ・プログラムは、ハイレベル・プロシージャ又はオブジェクト指向プログラム言語の形でコード化されても良い。しかしながら、プログラムは必要に応じて、アセンブリ又はマシン言語の形で実現されても良い。言語はコンパイルされても良く、又は命令を直接翻訳して実行しても良い。更に、これらの手法は、幅広いネットワーク環境において用いられても良い。そのようなコンピュータ・プログラムは、ここに記した工程を実行する目的で、処理システムによって読み出されたときに、その処理システムを動作させる目的で、一般的又は特定用途のプログラム処理システムが読み出しできる記憶メディア又はデバイス(例えば、ハードディスクドライブ、フロッピディスクドライブ、読み出し専用メモリ(ROM)、CD−ROMデバイス、フラッシュメモリデバイス、デジタル・バーサタイル・ディスク(DVD)、又は他の記憶デバイス等)上に格納されても良い。本発明の形態はまた、ここに記した関数を実行する目的で特定及び既定の方法で処理システムを動作でき、処理システムにおいて用いられる機械読み出し可能記憶メディアとして実現されても良い。
実施形態を参照として本発明の説明を行ったが、この記載には限定されない。本発明の範囲を逸脱しない範囲において、本発明の他の形態に加え、本実施形態における多様な改良が当業者には考えられるであろう。

Claims (31)

  1. 霞暗号処理を実行する装置であって、
    前記霞暗号処理が必要とする8つの霞ラウンドを演算する霞ラウンド演算メカニズムと、
    前記8つの霞ラウンドのそれぞれの演算に必要なサブ鍵を生成するサブ鍵生成部と、
    前記8つの霞ラウンドをまたがって連続する2つのFI関数の演算の並列処理により、霞の最終出力を生成する目的で、前記霞ラウンド演算メカニズム及び前記サブ鍵生成部を制御する制御部とを含む霞暗号処理を実行する装置。
  2. 前記霞ラウンド演算メカニズムは、
    霞ラウンドのおけるFL関数を演算するFI及びFL関数の演算を制御するFI/FL促進部と、
    1つの霞ラウンド内で連続する2つのFI関数及び2つの霞ラウンドをまたがる連続する2つのFI関数の少なくとも1つを、1クロックサイクル内でパラレルに演算するFI―FI演算メカニズムと、
    前記霞ラウンドにおけるFL関数を演算するFL−FL演算メカニズムとを含む請求項1に記載の装置。
  3. 前記FI/FL促進部は、
    前記FI−FI演算メカニズム及び前記FL−FL演算メカニズムに対して入力データを準備する入力準備部と、
    前記FI−FI演算メカニズム及び前記FL−FL演算メカニズムの出力データを、次のFI及びFL演算に対して準備し、前記霞暗号処理の最終出力結果を生成する出力制御部とを含む請求項2に記載の装置。
  4. 前記制御部に動作可能に結合され、霞ラウンドの演算において、前記FL−FL演算メカニズムに用いられるKLサブ鍵を選択するKLセレクタと、
    前記制御部に動作可能に結合され、前記霞ラウンドの演算において、前記FI−FI演算メカニズムに用いられるKOサブ鍵を選択するKOセレクタと、
    前記制御部に動作可能に結合され、前記霞ラウンドの演算において、前記FI−FI演算メカニズムに用いられるKIサブ鍵を選択するKIセレクタとを更に含む請求項1に記載の装置。
  5. 前記制御部は、前記霞ラウンド演算メカニズムにおいて、FI/FL促進部を介して霞ラウンド演算を制御する請求項1に記載の装置。
  6. 前記FL−FL演算メカニズムは、2つの霞ラウンドをまたがる連続する2つのFL関数を1クロックサイクル内で演算する請求項2に記載の装置。
  7. 霞ラウンドを演算する装置であって、
    前記霞ラウンドにおいて、FI及びFL関数の演算を制御するFI/FL促進部と、
    連続する2つのFI関数をパラレルに1クロックサイクル内で演算するFI−FI演算メカニズムと、
    前記霞ラウンドにおいて、FL関数を演算するFL−FL演算メカニズムとを含む装置。
  8. 前記FI/FL促進部は、
    前記FI−FI演算メカニズム及び前記FL−FL演算メカニズムに対して入力データを準備する入力準備部と、
    前記FI−FI演算メカニズム及び前記FL−FL演算メカニズムの出力データを、次のFI及びFL演算に対して準備し、前記霞暗号処理の最終出力結果を生成する出力制御部とを含む請求項7に記載の装置。
  9. 前記FI/FL促進部は、前記霞ラウンドにおいて必要とされるFI及びFL関数を演算する目的で、前記FI−FI演算メカニズム及び前記FL−FL演算メカニズムを促進する請求項7に記載の装置。
  10. 前記連続する2つのFI関数は、1つの霞ラウンド内で連続する2つのFI関数である請求項7に記載の装置。
  11. 前記連続する2つのFI関数は、2つの霞ラウンドをまたがる連続する2つのFI関数である請求項7に記載の装置。
  12. 前記FL−FL演算メカニズムは、2つの霞ラウンドをまたがる連続する2つのFL関数を1クロックサイクル内で演算する請求項7に記載の装置。
  13. 霞ラウンドにおけるFI関数を演算する目的で、動作可能に導入されるFI−FI演算メカニズムを含む、霞ラウンドにおけるFI関数を演算する装置。
  14. 前記FI−FI演算メカニズムは、1つの霞ラウンド内で連続する2つのFI関数を、パラレルに1クロックサイクル内で演算する請求項13に記載の装置。
  15. 前記FI−FI演算メカニズムは、2つの霞ラウンドをまたがる連続する2つのFI関数をパラレルに1クロックサイクル内で演算する請求項13に記載の装置。
  16. 前記FI−FI演算メカニズムは、前記2つの霞ラウンドの間のXOR演算を前もって実行する請求項15に記載の装置。
  17. 霞ラウンドにおけるFL関数を演算する目的で、動作可能に導入されるFL−FL演算メカニズムを含む、霞ラウンドにおけるFL関数を演算する装置。
  18. 前記FL−FL演算メカニズムは、FL関数を1クロックサイクル内で演算する請求項17に記載の装置。
  19. 前記FL−FL演算メカニズムは、2つの霞ラウンドをまたがる連続する2つのFL関数を1クロックサイクル内で演算する請求項17に記載の装置。
  20. 前記FL−FL演算メカニズムは、特別な遅れを伴わずに、前記2つの霞ラウンドの間のXOR演算をFL関数演算と併合する請求項19に記載の装置。
  21. 霞暗号処理を実行する方法であって、
    奇数霞ラウンドにおけるFO関数の演算の前にFL関数を演算する工程と、
    偶数霞ラウンドにおけるFL関数の演算の前にFO関数を演算する工程とを含み、
    前記奇数霞ラウンドにおけるFO関数は連続する3つのFI関数を含み、第1のFI関数及び第2のFI関数はパラレルに1クロックサイクル内で演算され、
    前記偶数霞ラウンドにおけるFO関数は連続する3つのFI関数を含み、第2のFI関数及び第3のFI関数はパラレルに1クロックサイクル内で演算される霞暗号処理を実行する方法。
  22. 奇数霞ラウンドにおける第3のFI関数、及び前記奇数霞ラウンドの後に続く偶数霞ラウンドにおける第1のFI関数をパラレルに1クロックサイクル内で演算する工程を更に含む請求項21に記載の方法。
  23. 偶数霞ラウンドにおけるFL関数、及び前記偶数霞ラウンドの後に続く奇数霞ラウンドにおけるFL関数を1クロックサイクル内で演算する工程を更に含む請求項21に記載の方法。
  24. 特別の遅れを伴わずに、前記奇数霞ラウンド及び前記偶数霞ラウンドの間のXOR演算を前もって実行する工程を更に含む請求項22に記載の方法。
  25. 特別の遅れを伴わずに、前記偶数霞ラウンド及び前記奇数霞ラウンドの間のXOR演算をFL演算と併合する工程を更に備える請求項23に記載の方法。
  26. スイッチファブリックと、
    前記スイッチファブリックと相互接続された複数のラインカードと、
    霞暗号処理を実行する目的で、1つのラインカードにそれぞれが動作可能に結合された複数の霞モジュールとを含み、
    前記霞モジュールは、
    前記霞暗号処理に必要な8つの霞ラウンドを演算する霞ラウンド演算メカニズムと、
    前記8つの霞ラウンドのそれぞれを演算するのに必要なサブ鍵を生成するサブ鍵生成部と、
    前記8つの霞ラウンドをまたがる、連続する2つのFI関数の演算の並列処理により、霞の最終出力を生成する目的で、前記霞ラウンド演算メカニズム及び前記サブ鍵生成部を制御する制御部とを含むネットワークシステム。
  27. 前記霞ラウンド演算メカニズムは、
    霞ラウンドにおいて、FI及びFL関数の演算を制御するFI/FI促進部と、
    1つの霞ラウンド内で連続する2つのFI関数及び2つの霞ラウンドをまたがって連続する2つのFI関数の少なくとも1つを算出するFI−FI演算メカニズムと、
    前記霞ラウンドにおいて、FL関数を演算するFL−FL演算メカニズムとを含む請求項26に記載のネットワークシステム。
  28. 前記FI/FL促進部は、
    前記FI−FI演算メカニズム及び前記FL−FL演算メカニズムに対して入力データを準備する入力準備部と、
    前記FI−FI演算メカニズム及び前記FL−FL演算メカニズムの出力データを、次のFI及びFL演算に対して準備し、前記霞暗号処理の最終出力結果を生成する出力制御部とを含む請求項26に記載のネットワークシステム。
  29. 前記制御部に動作可能に結合され、霞ラウンドの演算において、前記FL−FL演算メカニズムに用いられるKLサブ鍵を選択するKLセレクタと、
    前記制御部に動作可能に結合され、前記霞ラウンドの演算において、前記FI−FI演算メカニズムに用いられるKOサブ鍵を選択するKOセレクタと、
    前記制御部に動作可能に結合され、前記霞ラウンドの演算において、前記FI−FI演算メカニズムに用いられるKIサブ鍵を選択するKIセレクタとを更に含む請求項26に記載のネットワークシステム。
  30. 前記制御部は、前記霞ラウンド演算メカニズムにおいて、FI/FL促進部を介して霞ラウンド演算を制御する請求項26に記載のネットワークシステム。
  31. 前記FL−FL演算メカニズムは、2つの霞ラウンドをまたがる連続する2つのFL関数を1クロックサイクル内で演算する請求項26に記載のネットワークシステム。
JP2007510758A 2004-04-27 2005-04-08 霞暗号処理を実行する装置及び方法 Pending JP2007535001A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/833,967 US7433469B2 (en) 2004-04-27 2004-04-27 Apparatus and method for implementing the KASUMI ciphering process
PCT/US2005/012090 WO2005109738A1 (en) 2004-04-27 2005-04-08 Apparatus and method for implementing the kasumi ciphering process

Publications (1)

Publication Number Publication Date
JP2007535001A true JP2007535001A (ja) 2007-11-29

Family

ID=34966130

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007510758A Pending JP2007535001A (ja) 2004-04-27 2005-04-08 霞暗号処理を実行する装置及び方法

Country Status (5)

Country Link
US (1) US7433469B2 (ja)
EP (1) EP1749365A1 (ja)
JP (1) JP2007535001A (ja)
CN (1) CN1965523B (ja)
WO (1) WO2005109738A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010164793A (ja) * 2009-01-16 2010-07-29 Fujitsu Ltd 暗号処理装置

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060013387A1 (en) * 2004-07-14 2006-01-19 Ruei-Shiang Suen Method and system for implementing KASUMI algorithm for accelerating cryptography in GSM/GPRS/EDGE compliant handsets
US7760874B2 (en) * 2004-07-14 2010-07-20 Broadcom Corporation Method and system for implementing FI function in KASUMI algorithm for accelerating cryptography in GSM/GPRS/EDGE compliant handsets
US7627115B2 (en) 2004-08-23 2009-12-01 Broadcom Corporation Method and system for implementing the GEA3 encryption algorithm for GPRS compliant handsets
US7869590B2 (en) * 2005-04-12 2011-01-11 Broadcom Corporation Method and system for hardware accelerator for implementing f9 integrity algorithm in WCDMA compliant handsets
US7725624B2 (en) * 2005-12-30 2010-05-25 Intel Corporation System and method for cryptography processing units and multiplier
US20070157030A1 (en) * 2005-12-30 2007-07-05 Feghali Wajdi K Cryptographic system component
US8073892B2 (en) 2005-12-30 2011-12-06 Intel Corporation Cryptographic system, method and multiplier
US20080140753A1 (en) * 2006-12-08 2008-06-12 Vinodh Gopal Multiplier
KR100875740B1 (ko) 2007-03-27 2008-12-24 삼성전자주식회사 통신 시스템의 암호화 키 및 무결성 키 생성 장치 및 방법
EP2237245B1 (en) * 2008-01-18 2017-07-19 Fujitsu Limited Processor of data conversion function
US8832464B2 (en) * 2009-03-31 2014-09-09 Oracle America, Inc. Processor and method for implementing instruction support for hash algorithms
US9317286B2 (en) * 2009-03-31 2016-04-19 Oracle America, Inc. Apparatus and method for implementing instruction support for the camellia cipher algorithm
US20100250965A1 (en) * 2009-03-31 2010-09-30 Olson Christopher H Apparatus and method for implementing instruction support for the advanced encryption standard (aes) algorithm
US20100246815A1 (en) * 2009-03-31 2010-09-30 Olson Christopher H Apparatus and method for implementing instruction support for the kasumi cipher algorithm
US8654970B2 (en) * 2009-03-31 2014-02-18 Oracle America, Inc. Apparatus and method for implementing instruction support for the data encryption standard (DES) algorithm
JP5387295B2 (ja) * 2009-09-29 2014-01-15 富士通株式会社 暗号装置及び方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06236148A (ja) * 1992-07-17 1994-08-23 Internatl Business Mach Corp <Ibm> Ansi x3.92データ暗号化アルゴリズム標準のパフォーマンスを強化したデータ暗号化アルゴリズムを実行するデータ処理システム
WO1997009705A1 (fr) * 1995-09-05 1997-03-13 Mitsubishi Denki Kabushiki Kaisha Appareil de conversion de donnees et procede de conversion de donnees
WO2002082723A2 (en) * 2001-03-17 2002-10-17 Megisto Systems Multiprotocol wireless gateway
WO2002098052A2 (en) * 2001-05-31 2002-12-05 Qualcomm Incorporated Apparatus and method for performing kasumi ciphering
US20040071290A1 (en) * 2002-10-08 2004-04-15 Jong-Su Lim Encryption apparatus and method in a wireless communications system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002069560A1 (en) * 2001-02-23 2002-09-06 Nokia Inc. System and method for strong authentication achieved in a single round trip
US20030007636A1 (en) * 2001-06-25 2003-01-09 Alves Vladimir Castro Method and apparatus for executing a cryptographic algorithm using a reconfigurable datapath array

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06236148A (ja) * 1992-07-17 1994-08-23 Internatl Business Mach Corp <Ibm> Ansi x3.92データ暗号化アルゴリズム標準のパフォーマンスを強化したデータ暗号化アルゴリズムを実行するデータ処理システム
WO1997009705A1 (fr) * 1995-09-05 1997-03-13 Mitsubishi Denki Kabushiki Kaisha Appareil de conversion de donnees et procede de conversion de donnees
WO2002082723A2 (en) * 2001-03-17 2002-10-17 Megisto Systems Multiprotocol wireless gateway
WO2002098052A2 (en) * 2001-05-31 2002-12-05 Qualcomm Incorporated Apparatus and method for performing kasumi ciphering
US20040071290A1 (en) * 2002-10-08 2004-04-15 Jong-Su Lim Encryption apparatus and method in a wireless communications system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010164793A (ja) * 2009-01-16 2010-07-29 Fujitsu Ltd 暗号処理装置

Also Published As

Publication number Publication date
WO2005109738A1 (en) 2005-11-17
US7433469B2 (en) 2008-10-07
EP1749365A1 (en) 2007-02-07
CN1965523A (zh) 2007-05-16
US20050238166A1 (en) 2005-10-27
CN1965523B (zh) 2011-02-16

Similar Documents

Publication Publication Date Title
JP2007535001A (ja) 霞暗号処理を実行する装置及び方法
Su et al. A high-throughput low-cost AES processor
CN111464308B (zh) 一种实现多种哈希算法可重构的方法和系统
KR100895224B1 (ko) Kasumi 암호화를 수행하는 장치 및 방법
US7574571B2 (en) Hardware-based encryption/decryption employing dual ported memory and fast table initialization
Shanthi Rekha et al. Low-cost AES-128 implementation for edge devices in IoT applications
JP4612680B2 (ja) Md5ダイジェスティングを実行する装置および方法
Koteshwara et al. FPGA implementation and comparison of AES-GCM and Deoxys authenticated encryption schemes
Farahmand et al. Implementing and benchmarking seven round 2 lattice-based key encapsulation mechanisms using a software/hardware codesign approach
Driessen et al. IPSecco: A lightweight and reconfigurable IPSec core
US6873707B1 (en) Hardware-based encryption/decryption employing cycle stealing
US7760874B2 (en) Method and system for implementing FI function in KASUMI algorithm for accelerating cryptography in GSM/GPRS/EDGE compliant handsets
Henzen et al. VLSI hardware evaluation of the stream ciphers Salsa20 and ChaCha, and the compression function Rumba
JP5182295B2 (ja) 暗号化装置及び暗号処理方法
Diehl et al. RTL implementations and FPGA benchmarking of selected CAESAR Round Two authenticated ciphers
Turan et al. Hardware Acceleration of a Software-based VPN
US7688972B2 (en) Method and system for implementing FO function in KASUMI algorithm for accelerating cryptography in GSM (global system for mobile communication)GPRS (general packet radio service)edge(enhanced data rate for GSM evolution) compliant handsets
US20060013387A1 (en) Method and system for implementing KASUMI algorithm for accelerating cryptography in GSM/GPRS/EDGE compliant handsets
Konstantopoulou et al. Design and implementation of a lightweight cryptographic module, for wireless 5G communications and beyond
US7627115B2 (en) Method and system for implementing the GEA3 encryption algorithm for GPRS compliant handsets
Mohanraj et al. High performance GCM architecture for the security of high speed network
KR100547744B1 (ko) 이동통신시스템에서 최소의 소자를 사용하는 단일라운드의 암호화 장치 및 방법
Lin et al. The design of a high-throughput hardware architecture for the AES-GCM algorithm
Choi et al. Area-optimized multi-standard AES-CCM security engine for IEEE 802.15. 4/802.15. 6
Stefan Hardware framework for the rabbit stream cipher

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100406

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100706

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100713

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100727

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110118