JPWO2009090689A1 - 暗号化装置及び暗号処理方法 - Google Patents
暗号化装置及び暗号処理方法 Download PDFInfo
- Publication number
- JPWO2009090689A1 JPWO2009090689A1 JP2009549897A JP2009549897A JPWO2009090689A1 JP WO2009090689 A1 JPWO2009090689 A1 JP WO2009090689A1 JP 2009549897 A JP2009549897 A JP 2009549897A JP 2009549897 A JP2009549897 A JP 2009549897A JP WO2009090689 A1 JPWO2009090689 A1 JP WO2009090689A1
- Authority
- JP
- Japan
- Prior art keywords
- exclusive
- data
- bits
- logical operation
- operation result
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0625—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/122—Hardware reduction or efficient architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/24—Key scheduling, i.e. generating round keys or sub-keys for block encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
- H04L2209/805—Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
Description
共通鍵方式の暗号(以下、共通鍵暗号と呼ぶ)は、公開鍵方式の暗号(以下、公開鍵暗号と呼ぶ)と比較した場合、処理速度が速くコンパクトに実装できるという利点がある。このため、携帯電話やICカードなどの小型機器に暗号化機能を付加する場合には、共通鍵暗号が利用される。また、処理速度が高速であり、情報をリアルタイムで暗号化/復号化できるので、放送や通信分野における情報通信にも利用されている。
図1に示すように、MISTY1はFeistel型暗号である。MISTY1は、FL関数10、FO関数20及び排他的論理和30を構成要素とし、これらの構成要素を組み合わせて構成されている。MISTY1は、2つのFL関数10、1つのFO関数20及び1つの排他的論理和30から構成される第1のFeistel構造100と、1つのFO関数20と1つの排他的論理和30から構成される第2のFeistel構造200を交互に縦方向に多段接続した構成となっている。MISTY1では、段数nは4の倍数と規定されており、n=8が推奨されている。
{MISTY1のアルゴリズム}
MISTY1においては、平文1(64ビット)は32ビットに2分割される。ここで、MSB(Most Significant Bit)側の32ビットをL、LSB(Least Significant Bit)側の32ビットをRと呼ぶことにする。各分割データL、Rは、それぞれ、左側の初段のFL関数10と右側の初段のFL関数10に入力される。そして、前記左側のFL関数10の出力(32ビット)が初段のFO関数20に入力され、前記右側のFL関数10の出力が(32ビット)が初段の排他的論理和30の一方の入力となる。前記初段のFO関数20の出力(32ビット)は、該初段の排他的論理和30の他方の入力となる。初段の排他的論理和30の結果(32ビット)は、左側の2段目のFL関数10と2段目のFO関数20の入力となる。また、左側の初段のFL関数10の出力(32ビット)は、2段目の排他的論理和30の一方の入力となる。この2段目の排他的論理和30の他方の入力は、前記2段目のFO関数20の出力となる。
{FO関数関連処理回路の従来の処理アルゴリズムALp}
ここで、図4に示す回路510を用いたFO関数関連処理回路の処理アルゴリズムを、図2Cを参照しながら説明する。尚、各サイクルの右辺の式における
FI(a,KIij)は、入力データaを拡大鍵KIij(j=1〜3)により変換するFI関数の処理を示す。
[サイクル1]
上記に示すように、従来の回路510は、サイクル1、2の処理結果t2i-1、t2i(i=1〜2)を、それぞれ、レジスタReg−FOR、レジスタReg−FOLに格納する必要があった。しかしながら、レジスタは他の素子に比べて1ビット当たりのゲート規模が大きいため、MISTY1を適用した暗号処理装置の回路全体の規模を小さくするためには、レジスタのサイズを極力削減することが望ましい。このことは、MISTY1のみならず、KASUMIなどのようなMISTY1と類似した回路構造を有する共通鍵暗号系のブロック暗号の処理装置の回路にも同様にあてはまる。
まず、前記処理アルゴリズムALpのサイクル1の処理
図6は、図5のフローチャートの処理をアセンブリ言語で表現したプログラムの例である。図6に示すプログラムにおいては、FI関数の処理をプログラム(FI関数処理関数)で実現している。このFI関数処理関数は、図6に示すメインプログラム(メインルーチン)からサブルーチンとして呼び出さされる。このサブルーチン呼び出しは、図6において、
Call FI(a,KIij)
j=1〜3
という記述のステートメントで表現されている。
本発明の暗号化装置は、2nビットのデータLをデータ変換するデータ処理手段と、該データ処理手段の処理結果と2nビットのデータRとを排他的論理和する排他的論理和演算器を備える暗号化装置を前提とする。
前記第1のマルチプレクサ、前記第2のマルチプレクサ、前記第3のマルチプレクサ及び前記デマルチプレクサは外部から制御され、前記第1のレジスタは前記デマルチプレクサの出力を入力して保持し、前記第2のレジスタは、前記第3の排他的論理和演算器の出力をデータRの上位nビットRLとして格納すると共に、前記第4の排他的論理和演算器の出力をデータRの下位nビットRRとして格納する。
尚、MISTY構造はFeistel構造の一種である。
[第1の実施形態]
{手法}
図7A、7Bは、本発明の第1の実施形態の手法を説明する図である。図7Aは図2Cと同様な図であり、従来のFO関数関連処理回路の処理アルゴリズムを示す図である。
上記のようにして、FO関数関連処理回路の処理アルゴリズムを図7Bに示す構成にすることで、FO関数関連処理回路をハードウェア化した場合、その回路で使用するレジスタサイズを従来の半分とすることができる。このようなハードウェアの実施形態については後述する。
{第1の実施形態のFO関数関連処理回路の処理アルゴリズムAL1}
図7Bに示す処理アルゴリズムAL1は、下記のサイクル1〜3から構成される。
{FO関数関連処理回路の第1の実施形態のハードウェア構成}
図8Aは、図7Bを、前記処理アルゴリズムAL1のサイクル1〜3に対応させて分割した図である。図8Bは、図8Aに示す処理アルゴリズムをハードウェア化したFO関数関連処理回路の構成例を示す図である。尚、図8Bにおいて、図4に示す回路の構成要素と同じ構成要素には同一の符号を付与している。
{FO関数関連処理回路の第1の実施形態の動作}
図8Bに示すFO関数関連処理回路800は、上記処理アルゴリズムAL1の処理を実行する。以下、FO関数関連処理回路800の動作を処理アルゴリズムAL1の各サイクル毎に説明する。
{サイクル1}
マルチプレクサ801Lは、レジスタReg−Lから入力する16ビットデータLLを排他的論理和演算器811に選択出力する。排他的論理和演算器811は、その16ビットデータLLと外部入力する鍵KOi1の排他的論理和を演算し、その演算結果をFI関数処理部812に出力する。FI関数処理部812は、上記演算結果を外部入力する鍵KIi1を用いて変換し、その変換結果を排他的論理和演算器813に出力する。一方、マルチプレクサ801Rは、レジスタReg−Lに格納されている32ビットデータの下位16ビットLRを排他的論理和演算器813に選択出力する。排他的論理和演算器813は、FI関数処理部812からの入力データとマルチプレクサ801Rからの入力データ(LR)の排他的論理和を演算し、その演算結果t1をデマルチプレクサ821に出力する。デマルチプレクサ821は、その16ビットデータt1をレジスタReg−FOに出力する。レジスタReg−FOは、入力する16ビットデータt1を格納する。
{サイクル2}
マルチプレクサ801Lは、レジスタReg−Lに格納されている32ビットデータの下位16ビットLRを排他的論理和演算器811に選択出力する。排他的論理和演算器811は、その16ビットデータLRと外部入力される鍵KOi2の排他的論理和を演算し、その演算結果をFI関数処理部812に出力する。FI関数処理部812は、その演算結果を外部入力される鍵KIi2を用いて変換し、その変換結果を排他的論理和演算器813に出力する。マルチプレクサ801Rは、レジスタReg−FOに保持されている16ビットデータt1を排他的論理和演算器813に選択出力する。排他的論理和演算器813は、FI関数処理部812の変換結果と16ビットデータt1の排他的論理和を演算し、その演算結果(16ビットデータ)t3をデマルチプレクサ821に出力する。デマルチプレクサ821は、その16ビットデータt3をマルチプレクサ823と排他的論理和演算器525に出力する。排他的論理和演算器525は、レジスタReg−Rに保持されている32ビットデータの下位16ビットRRと16ビットデータt3の排他的論理和を演算し、その演算結果(16ビットデータ)をレジスタReg−Rに出力する。レジスタReg−Rは、その演算結果を32ビットデータの下位16ビットRRとして格納する。
{サイクル3}
マルチプレクサ801Lは、レジスタReg−FOに格納されている16ビットデータt1を排他的論理和演算器811に選択出力する。排他的論理和演算器811は、その16ビットデータt1と外部入力する鍵KOi3の排他的論理和を演算し、その演算結果をFI関数処理部812に出力する。FI関数処理部812は、その演算結果を外部入力する鍵KIi3を用いて変換し、その変換結果を排他的論理和演算器813に出力する。マルチプレクサ801Rは、16ビットデータ“0”(16ビットが全て“0”のデータ)を排他的論理和演算器813に出力する。排他的論理和演算器813は、FI関数処理部812からの入力と上記16ビットデータ“0”の排他的論理和を演算し、その演算結果をデマルチプレクサ821に出力する。したがって、この場合、FI関数処理部812の出力データ(16ビットデータ)がそのままデマルチプレクサ821に入力する。デマルチプレクサ821は、FI関数処理部812の出力データを排他的論理和演算器525に出力する。排他的論理和演算器525は、そのFI関数処理部812の出力データとレジスタReg−Rに保持されている32ビットデータの下位16ビットRRの排他的論理和を演算し、その演算結果をレジスタReg−Rに出力する。レジスタReg−Rは、排他的論理和演算器525から入力される16ビットデータを、32ビットデータの下位16ビットRRとして格納する。マルチプレクサ823は、外部入力する鍵KOi4を排他的論理和演算器524に選択出力する。排他的論理和演算器524は、鍵KOi4とレジスタReg−Rに保持されている32ビットデータの上位16ビットRLの排他的論理和を演算し、その演算結果をレジスタReg−Rに出力する。レジスタReg−Rは、上記演算結果を32ビットデータの上位16ビットRLとして格納する。
[第2の実施形態]
{手法}
本発明の第2実施形態のFO関数関連処理回路の処理アルゴリズムは、上述した図8Bに示すFO関数関連処理回路の処理アルゴリズムを、さらに等価変換したものである。
上述した第1の実施形態のFO関数関連処理回路の処理アルゴリズムは、図9Aにおいて楕円形の枠660、670で囲んだ部分を等価変換したものであった。第2の実施形態のFO関数関連処理回路の処理アルゴリズムは、上記2つの部分に加え、図9Aにおいて楕円形の枠680で囲まれた部分についても等価変換を行い、図9Aに示す構成の処理アルゴリズムを図9Bに示す構成の処理アルゴリズムに変形する。
{FO関数関連処理回路の第2の実施形態の処理アルゴリズムAL2}
図9Bに示す処理アルゴリズムAL2は、下記のサイクル1〜3から構成される。
{FO関数関連処理回路の第2の実施形態のハードウェア構成}
図10Aは、図9Bを、前記処理アルゴリズムAL2のサイクル1〜3に対応させて分割した図である。図10Bは、図10Aに示す処理アルゴリズムをハードウェア化したFO関数関連処理回路の構成例を示す図である。尚、図10Bにおいて、図8Bに示すFO関数関連処理回路800の構成要素と同じ構成要素には同じ符号を付与している。
{FO関数関連処理回路の第2の実施形態の動作}
図10Bに示すFO関数関連処理回路1000は、上記処理アルゴリズムAL2の処理を、サイクル1、サイクル3、サイクル2の順に実行する。以下、FO関数関連処理回路1000の動作を、処理アルゴリズムAL2の各サイクル毎に説明する。
{サイクル1a(処理アルゴリズムAL2のサイクル1)}
マルチプレクサ801Lは、レジスタReg−Lから入力する16ビットデータLLを排他的論理和演算器811に選択出力する。排他的論理和演算器811は、その16ビットデータLLと外部入力する鍵KOi1の排他的論理和を演算し、その演算結果をFI関数処理部812に出力する。FI関数処理部812は、上記演算結果を外部入力する鍵KIi1を用いて変換し、その変換結果を排他的論理和演算器813に出力する。一方、マルチプレクサ1001Rは、レジスタReg−Lに格納されている32ビットデータの下位16ビットLRを排他的論理和演算器813に選択出力する。排他的論理和演算器813は、FI関数処理部812からの入力データとマルチプレクサ1001Rからの入力データ(LR)の排他的論理和を演算し、その演算結果t1をレジスタReg−FO、マルチプレクサ823及び排他的論理和演算器525に出力する。レジスタReg−FOは、入力する16ビットデータt1を格納する。
{サイクル2a(処理アルゴリズムAL2のサイクル3)}
マルチプレクサ801Lは、レジスタReg−FOに格納されている16ビットデータt1を排他的論理和演算器811に選択出力する。排他的論理和演算器811は、その16ビットデータt1と外部入力する鍵KOi3の排他的論理和を演算し、その演算結果をFI関数処理部812に出力する。FI関数処理部812は、その演算結果を外部入力する鍵KIi3を用いて変換し、その変換結果を排他的論理和演算器813に出力する。マルチプレクサ1001Rは、16ビットデータ“0”(16ビットが全て“0”のデータ)を排他的論理和演算器813に出力する。排他的論理和演算器813は、FI関数処理部812からの入力と上記16ビットデータ“0”の排他的論理和を演算し、その演算結果(16ビットデータ)を、レジスタReg−R、マルチプレクサ823及び排他的論理和演算器525に出力する。したがって、サイクル2の場合と同様に、レジスタReg−FO、マルチプレクサ823及び排他的論理和演算器525には、FI関数処理部812の処理結果がそのまま入力する。排他的論理和演算器525は、そのFI関数処理部812の処理結果とレジスタReg−Rに格納されている32ビットデータRの下位16ビットRRの排他的論理和を演算し、その演算結果をレジスタReg−Rに出力する。レジスタReg−Rは、その演算結果を、32ビットデータRの下位16ビットRRとして格納する。
{サイクル3a(処理アルゴリズムAL2のサイクル2)}
マルチプレクサ801Lは、レジスタReg−Lに格納されている32ビットデータの下位16ビットLRを排他的論理和演算器811に選択出力する。排他的論理和演算器811は、その16ビットデータLRと外部入力される鍵KOi2を排他的論理和し、その論理演算結果をFI関数処理部812に出力する。FI関数処理部812は、その論理演算結果を外部入力される鍵KIi2を用いて変換し、その変換結果(16ビットデータt3)を排他的論理和演算器813に出力する。
{処理アルゴリズムAL2の変形例(処理アルゴリズムAL2v)}
[サイクル1]
処理アルゴリズムAL2と処理アルゴリズムAL2vは、サイクル1とサイクル2の実行順序が異なるだけなので、上記処理アルゴリズムAL2vを実行する装置として、図10Bに示すFO関数関連処理回路1000を利用できる。但し、この場合、FO関数関連処理回路1000の実行制御は処理アルゴリズムAL2vに従う必要があるため、FO関数関連処理回路1000の実行を制御する制御部は変更が必要である。この制御部の変更は、ハードウェアまたはソフトウェアのいずれの変更によっても可能である。
[第3の実施形態]
{手法}
本発明の第3実施形態のFO関数関連処理回路の処理アルゴリズムは、上述した図10Aに示すFO関数関連処理回路の処理アルゴリズムを、さらに等価変換したものである。
図11Bに示す第3の実施形態のFO関数関連処理回路は、図11Aに示す処理アルゴリズムにおいて、“0”の16ビットデータが入力していた排他的論理和914、632を、鍵KOi4が入力する排他的論理和1114、1132に変更する。そして、この変更に伴い、鍵KOi4が入力していた排他的論理和642を削除する。これにより、排他的論理和の論理演算が1つ削減される。
{FO関数関連処理回路の第3の実施形態の処理アルゴリズムAL3}
図11Bに示す処理アルゴリズムAL3は、下記のサイクル1〜3から構成される。
図12は、図11Bに示す処理アルゴリズムをハードウェア化したFO関数関連処理回路の構成例を示す図である。尚、図12において、図10Bに示す回路の構成要素と同じ構成要素には同じ符号を付与している。
{FO関数関連処理回路の第3の実施形態の動作}
図12に示すFO関数関連処理回路1000は、上記処理アルゴリズムAL3の処理をサイクル1、サイクル3、サイクル2の順に実行する。以下、FO関数関連処理回路1000の動作を処理アルゴリズムAL3の各サイクル毎に説明する。
{サイクル1b(処理アルゴリズムAL3のサイクル1)}
マルチプレクサ801Lは、レジスタReg−Lから入力する16ビットデータLLを排他的論理和演算器811に選択出力する。排他的論理和演算器811は、その16ビットデータLLと外部入力する鍵KOi1の排他的論理和を演算し、その演算結果をFI関数処理部812に出力する。FI関数処理部812は、上記演算結果を外部入力する鍵KIi1を用いて変換し、その変換結果を排他的論理和演算器813に出力する。一方、マルチプレクサ1201Rは、レジスタReg−Lに格納されている32ビットデータの下位16ビットLRを排他的論理和演算器813に選択出力する。排他的論理和演算器813は、FI関数処理部812からの入力データとマルチプレクサ801Rからの入力データ(LR)の排他的論理和を演算し、その演算結果t1をレジスタReg−FO、マルチプレクサ1223及び排他的論理和演算器525に出力する。レジスタReg−FOは、入力する16ビットデータt1を格納する。
{サイクル2b(処理アルゴリズムAL3のサイクル3)}
マルチプレクサ801Lは、レジスタReg−FOに格納されている16ビットデータt1を排他的論理和演算器811に選択出力する。排他的論理和演算器811は、その16ビットデータt1と外部入力する鍵KOi3の排他的論理和を演算し、その演算結果をFI関数処理部812に出力する。FI関数処理部812は、その論理演算結果を外部入力する鍵KIi3を用いて変換し、その変換結果を排他的論理和演算器813に出力する。マルチプレクサ1201Rは、16ビットの鍵KOi4を排他的論理和演算器813に出力する。排他的論理和演算器813は、FI関数処理部812からの入力と上記鍵KOi4の排他的論理和を演算し、その演算結果(16ビットデータ)を、レジスタReg−R、マルチプレクサ1223及び排他的論理和演算器525に出力する。排他的論理和演算器525は、排他的論理和演算器813からの入力(上記論理演算結果)とレジスタReg−Rに格納されている32ビットデータRの下位16ビットRRの排他的論理和を演算し、その演算結果をレジスタReg−Rに出力する。レジスタReg−Rは、その演算結果を、32ビットデータRの下位16ビットRRとして格納する。
{サイクル3b(処理アルゴリズムAL13のサイクル2)}
マルチプレクサ801Lは、レジスタReg−Lに格納されている32ビットデータの下位16ビットLRを排他的論理和演算器811に選択出力する。排他的論理和演算器811は、その16ビットデータLRと外部入力される鍵KOi2の排他的論理和を演算し、その演算結果をFI関数処理部812に出力する。FI関数処理部812は、その演算結果を外部入力される鍵KIi2を用いて変換し、その変換結果(16ビットデータt3)を排他的論理和演算器813に出力する。
上述したように、サイクル3においては、レジスタReg−Rに格納される32ビットデータRの更新は、下位16ビットRRのみであり上位16ビットRLの更新は行われない。このため、サイクル3においては、レジスタReg−Rの更新は下位16ビットRRのみでよい。この場合、マルチプレクサ1223は、“0”の下位16ビットRRを排他的論理和演算器524に選択出力する必要はない。したがって、FO関数関連処理回路1200において、マルチプレクサ1223をスイッチに代替する構成も可能である。
{処理アルゴリズムAL3の変形例(処理アルゴリズムAL3v)}
[サイクル1]
[第4の実施形態]
上述した第1〜第3の実施形態の機能は、コンピュータによって実行されるプログラムによっても実現可能である。以下に、それらの実施形態について説明する。以下に述べる実施形態は、本発明を、携帯電話やネットワーク対応の家電機器などの組み込み機器に適用したものである。
{組み込み機器の第1の構成}
図13は、本発明の実施形態である組み込み機器の第1の構成を示す図である。図13に示す組み込み機器2000Aは、CPU2100A、不揮発性メモリ2200及び揮発性メモリ2300Aから構成される。CPU2100Aは、不揮発性メモリ2200及び揮発性メモリ2300Aとバス(不図示)によって接続されている。
{組み込み機器の第2の構成}
図14は、本発明の実施形態である組み込み機器の第2の構成を示す図である。図14において、図13に示す組み込み機器が備える構成要素と同一な構成要素には同じ符号を付与している。
{組み込み機器の第3の構成}
図15は、本発明の実施形態である組み込み機器の第3の構成を示す図である。図15において、図13に示す組み込み機器2000Aが備える構成要素と同一な構成要素には同じ符号を付与している。
[ソフトウェア実装形態]
次に、上記第1の構成の組み込み機器2000Aにおいて、上記第1〜第3の実施形態のFO関数関連処理回路の機能をソフトウェア処理により実現するプログラムの実装形態について説明する。
{第1の実施形態のFO関数関連処理回路のソフトウェア実装形態}
図16は、上記第1の実施形態のFO関数関連処理回路の機能を実現するために、上記第1の構成の組み込み機器2000Aに実装されるファームウェア2201のアルゴリズムを示すフローチャートである。図16のフローチャートに示すアルゴリズムは、上記処理アルゴリズムAL1のサイクル実行順序を変更したものとなっている。すなわち、図16のフローチャートに示すアルゴリズムは、上記処理アルゴリズムAL1の各サイクルを、サイクル1、サイクル3、サイクル2の順序で実行するようになっている。
ステップS11において、上記第1の実施形態の処理アルゴリズムAR1のサイクル1に相当する処理、
ステップS13においては、
ステップS14においては、まず、
{第2の実施形態のFO関数関連処理回路のソフトウェア実装形態}
図18は、上記第2の実施形態のFO関数関連処理回路の機能を実現するために、上記第1の構成の組み込み機器2000Aに実装されるファームウェア2201のアルゴリズムを示すフローチャートである。図18のフローチャートに示すアルゴリズムは、CPU2100が、なるべく使用レジスタ数を少なくしてプログラムを実行できるように、上記処理アルゴリズムAL2のサイクル実行順序を変更したものとなっている。すなわち、図18のフローチャートに示すアルゴリズムは、上記処理アルゴリズムAL2の各サイクルを、サイクル1、サイクル3、サイクル2の順序で実行するようになっている。このように、サイクル1に続けてサイクル3を実行することにより、サイクル3の処理終了後に、CPU2100はレジスタAを自由に使用できるようになる。
ステップS21、S22において、上記第2の実施形態の処理アルゴリズムAL2のサイクル1に相当する処理を実行する。ステップS21においては、
ステップS24においては、
{第3の実施形態のFO関数関連処理回路のソフトウェア実装形態}
図20は、上記第3の実施形態のFO関数関連処理回路の機能を実現するために、上記第1の構成の組み込み機器に実装されるファームウェア2201のアルゴリズムを示すフローチャートである。図20のフローチャートに示すアルゴリズムは、CPU2100Aが、なるべく使用レジスタ数を少なくしてプログラムを実行できるように、上記処理アルゴリズムAL3のサイクル実行順序を変更したものとなっている。すなわち、図16のフローチャートに示すアルゴリズムは、上記処理アルゴリズムAL3の各サイクルを、サイクル1、サイクル3、サイクル2の順序で実行するアルゴリズムとなっている。このように、サイクル1に続けてサイクル3を実行することにより、サイクル3の処理終了後に、CPU2100AはレジスタAを自由に使用できるようになる。
ステップS31、S32において、上記第3の実施形態の処理アルゴリズムAL3のサイクル1に相当する処理を実行する。ステップS31においては、
次に、ステップS33において、上記処理アルゴリズムAL3のサイクル3に相当する処理を実行する。ステップS33においては、まず、
続いて、ステップS34、S35において、上記処理アルゴリズムAL3のサイクル2に相当する処理を実行する。ステップS34においては、
Claims (11)
- 2nビットのデータLをデータ変換するデータ処理手段と、該データ処理手段の処理結果と2nビットのデータRとを排他的論理和する排他的論理和演算器を備える暗号化装置において、
nビットのデータを保持する第1のレジスタと、該第1のレジスタに格納されているnビットのデータ、前記データLの上位nビットLL、前記データLの下位nビットLRのいずれか一つを選択出力する第1のマルチプレクサと、該第1のマルチプレクサの出力をラウンド鍵KOij(jは自然数)と排他的論理和する第1の排他的論理和演算器と、該第1の排他的論理和演算器の出力を拡大鍵KIik(kは自然数)を用いてnビットデータに変換する第1のデータ処理手段と、前記データLの下位nビットLR、nビットのデータ“0”または前記第1のレジスタに格納されているnビットのデータのいずれか一つを選択出力する第2のマルチプレクサと、該第2のマルチプレクサの出力と前記第1のデータ処理手段の出力を排他的論理和する第2の排他的論理和演算器と、該第2の排他的論理和演算器の出力を前記第1のレジスタに出力するデマルチプレクサと、前記第2の排他的論理和演算器の出力またはラウンド鍵KOim(mは自然数)を選択出力する第3のマルチプレクサと、前記データRを保持する第2のレジスタと、該第2のレジスタに格納されているデータRの上位nビットRLと前記第3のマルチプレクサの出力とを排他的論理和する第3の排他的論理和演算器と、前記第2のマルチプレクサの出力と前記第2のレジスタに格納されているデータRの下位nビットRRを排他的論理和する第4の排他的論理和演算器とを備え、
前記第1のマルチプレクサ、前記第2のマルチプレクサ、前記第3のマルチプレクサ及び前記デマルチプレクサは外部から制御され、前記第1のレジスタは前記デマルチプレクサの出力を入力して保持し、前記第2のレジスタは、前記第3の排他的論理和演算器の出力をデータRの上位nビットRLとして格納すると共に、前記第4の排他的論理和演算器の出力をデータRの下位nビットRRとして格納することを特徴とする暗号化装置。 - 2nビットのデータLをデータ変換するデータ処理手段と、該データ処理手段の処理結果と2nビットのデータRとを排他的論理和する排他的論理和演算器を備える暗号化装置において、
nビットのデータを保持する第1のレジスタと、該第1のレジスタに格納されているnビットのデータ、前記データLの上位nビットLL、前記データLの下位nビットLRのいずれか一つを選択出力する第1のマルチプレクサと、該第1のマルチプレクサの出力をラウンド鍵KOij(jは自然数)と排他的論理和する第1の排他的論理和演算器と、該第1の排他的論理和演算器の出力を拡大鍵KIik(kは自然数)を用いてnビットデータに変換する第1のデータ処理手段と、前記データLの下位nビットLRまたはnビットのデータ“0”のいずれか一つを選択出力する第2のマルチプレクサと、該第2のマルチプレクサの出力と前記第1のデータ処理手段の出力を排他的論理和する第2の排他的論理和演算器と、前記第2の排他的論理和演算器の出力またはラウンド鍵KOimを選択出力する第3のマルチプレクサと、前記データRを保持する第2のレジスタと、該第2のレジスタに格納されているデータRの上位nビットRLと前記第3のマルチプレクサの出力とを排他的論理和する第3の排他的論理和演算器と、前記第2の排他的論理和演算器と前記第2のレジスタに格納されているデータRの下位nビットRRを排他的論理和する第4の排他的論理和演算器とを備え、
前記第1のマルチプレクサ、前記第2のマルチプレクサ及び前記第3のマルチプレクサは外部から制御され、前記第1のレジスタは前記第2の排他的論理和演算器の出力を入力して保持し、前記第2のレジスタは、前記第3の排他的論理和演算器の出力をデータRの上位nビットRLとして格納すると共に、前記第4の排他的論理和演算器の出力をデータRの下位nビットRRとして格納することを特徴とする暗号化装置。 - 2nビットのデータLをデータ変換するデータ処理手段と、該データ処理手段の処理結果と2nビットのデータRとを排他的論理和する排他的論理和演算器を備える暗号化装置において、
nビットのデータを保持する第1のレジスタと、該第1のレジスタに格納されているnビットのデータ、前記データLの上位nビットLL、前記データLの下位nビットLRのいずれか一つを選択出力する第1のマルチプレクサと、該第1のマルチプレクサの出力をラウンド鍵KOij(jは自然数)と排他的論理和する第1の排他的論理和演算器と、該第1の排他的論理和演算器の出力を拡大鍵KIik(kは自然数)を用いてnビットデータに変換する第1のデータ処理手段と、前記データLの下位nビットLRまたはnビットのラウンド鍵KOim(mは自然数)のいずれか一つを選択出力する第2のマルチプレクサと、該第2のマルチプレクサの出力と前記第1のデータ処理手段の出力を排他的論理和する第2の排他的論理和演算器と、該第2の排他的論理和演算器の出力を入力し、その入力を適切なタイミングで出力する出力手段と、前記データRを保持する第2のレジスタと、該第2のレジスタに格納されているデータRの上位nビットRLと前記スイッチ手段の出力とを排他的論理和する第3の排他的論理和演算器と、前記第2の排他的論理和演算器と前記第2のレジスタに格納されているデータRの下位nビットRRを排他的論理和する第4の排他的論理和演算器とを備え、
前記第1のマルチプレクサ、前記第2のマルチプレクサ及び前記出力手段は外部から制御され、前記第1のレジスタは前記第2の排他的論理和演算器の出力を入力して保持し、前記第2のレジスタは、前記第3の排他的論理和演算器の出力をデータRの上位nビットRLとして格納すると共に、前記第4の排他的論理和演算器の出力をデータRの下位nビットRRとして格納することを特徴とする暗号化装置。 - 請求項3記載の暗号化装置であって、
前記出力手段は、nビットの“0”データまたは前記第2の排他的論理和演算器の出力を選択出力する第3のマルチプレクサであることを特徴とする。 - 請求項1乃至3のいずれか1項に記載の暗号化装置であって、
さらに、前記データLを入力・保持し、出力する第3のレジスタを備えていることを特徴とする。 - 2nビットのデータLをデータ変換し、そのデータ変換結果と2nビットのデータRの他的論理和を演算した後、その論理演算結果を出力する暗号処理方法において、
前記データLの上位nビットLLを拡大鍵KOi1と排他的論理和し、その排他的論理和の論理演算結果を拡大鍵KIi1を用いてデータ変換し、そのデータ変換結果を前記データLの下位nビットLRと排他的論理和し、その排他的論理和の論理演算結果t1を出力するサイクル1のステップと、
前記データLの下位nビットLRをラウンド鍵KOi2と排他的論理和し、その排他的論理和の論理演算結果を拡大鍵KIi2を用いてデータ変換し、そのデータ変換結果を前記サイクル1のステップで出力される論理演算結果t1と排他的論理和し、その排他的論理和の論理演算結果t3を前記データRの下位nビットRRと排他的論理和して、その排他的論理和の論理演算結果を新たな下位nビットRRとして出力すると共に、前記論理演算結果t3を前記データRの上位nビットRLと排他的論理和し、その排他的論理和の論理演算結果を新たな上位nビットRLとして出力するサイクル2のステップと、
前記論理演算結果t1をラウンド鍵KOi3と排他的論理和し、その排他的論理和の論理演算結果をラウンド鍵KIi3を用いてデータ変換し、そのデータ変換結果をサイクル2で生成された下位nビットRRと排他的論理和し、その排他的論理和の論理演算結果を新たな下位nビットRRとすると共に、前記サイクル2のステップで出力される上位nビットRLをラウンド鍵KOi4と排他的論理和し、その排他的論理和の論理演算結果を新たな上位nビットRLとして出力するサイクル3のステップと、
を備えることを特徴とする暗号処理方法。 - 2nビットのデータLをデータ変換し、そのデータ変換結果と2nビットのデータの排他的論理和を演算した後、その排他的論理和の論理演算結果を出力する暗号処理方法において、
前記データLの上位nビットLLをラウンド鍵KOi1と排他的論理和し、その排他的論理和の論理演算結果を拡大鍵KIi1を用いてデータ変換し、そのデータ変換結果を前記データLの下位nビットLRと排他的論理和し、その排他的論理和の論理演算結果t1を前記データRの下位nビットRRと排他的論理和し、その排他的論理和の論理演算結果を新たな下位nビットRRとして出力すると共に、前記論理演算結果t1を前記データRの上位nビットRLと排他的論理和し、その排他的論理和の論理演算結果を新たな上位nビットRLとして出力するサイクル1のステップと、
前記データLの下位nビットLRをラウンド鍵KOi2と排他的論理和し、その排他的論理和の論理演算結果を鍵KIi2を用いてデータ変換し、そのデータ変換結果t3を前記サイクル1のステップで出力されるRLと排他的論理和してRLとして出力し、さらにt3をサイクル1のステップで出力されるRRと排他的論理和してRRとして出力するサイクル2のステップと、
前記論理演算結果t1をラウンド鍵KOi3と排他的論理和し、その排他的論理和の論理演算結果を鍵KIi3を用いてデータ変換し、そのデータ変換結果をサイクル2で生成された下位nビットRRと排他的論理和し、その排他的論理和の論理演算結果を新たな下位nビットRRとすると共に、前記サイクル2のステップで出力される上位nビットRLをラウンド鍵KOi4と排他的論理和し、その排他的論理和の論理演算結果を新たな上位nビットRLとして出力するサイクル3のステップと、
を備えることを特徴とする暗号処理方法。 - 2nビットのデータLをデータ変換し、そのデータ変換結果と2nビットのデータRの排他的論理和を演算した後、その排他的論理和の論理演算結果を出力する暗号処理方法において、
前記データLの上位nビットLLをラウンド鍵KOi1と排他的論理和し、その排他的論理和の論理演算結果を鍵KIi1を用いてデータ変換し、そのデータ変換結果を前記データLの下位nビットLRと排他的論理和し、その排他的論理和の論理演算結果t1を前記データRの下位nビットRRと排他的論理和し、その排他的論理和の論理演算結果を新たな下位nビットRRとして出力すると共に、前記論理演算結果t1を前記データRの上位nビットRLと排他的論理和し、その排他的論理和の論理演算結果を新たな上位nビットRLとして出力するサイクル1のステップと、
前記データLの下位nビットLRをラウンド鍵KOi2と排他的論理和し、その排他的論理和の論理演算結果を鍵KIi2を用いてデータ変換し、そのデータ変換結果をラウンド鍵KOi4と排他的論理和し、その排他的論理和の論理演算結果t3を前記データRの下位nビットRRと排他的論理和して、その排他的論理和の論理演算結果を新たな下位nビットRRとして出力すると共に、前記論理演算結果t3を前記データRの上位nビットRLと排他的論理和し、その排他的論理和の論理演算結果を新たな上位nビットRLとして出力するサイクル2のステップと、
前記論理演算結果t1をラウンド鍵KOi3と排他的論理和し、その排他的論理和の論理演算結果を鍵KIi3を用いてデータ変換し、そのデータ変換結果をサイクル2で生成された下位nビットRRと排他的論理和し、その排他的論理和の論理演算結果をラウンド鍵KOi4と排他的論理和し、その排他的論理和の論理演算結果を新たな下位nビットRRとして出力すると共に、前記サイクル2のステップで出力される上位nビットRLを出力するサイクル3のステップと、
を備えることを特徴とする暗号処理方法。 - コンピュータに、2nビットのデータLをデータ変換し、そのデータ変換結果と2nビットのデータRの排他的論理和を演算した後、その排他的論理和の論理演算結果を出力する暗号処理を実行させるプログラムであって、
前記データLの上位nビットLLをラウンド鍵KOi1と排他的論理和し、その排他的論理和の論理演算結果を鍵KIi1を用いてデータ変換し、そのデータ変換結果を前記データLの下位nビットLRと排他的論理和し、その排他的論理和の論理演算結果t1を出力するサイクル1のステップと、
前記論理演算結果t1をラウンド鍵KOi3と排他的論理和し、その排他的論理和の論理演算結果を鍵KIi3を用いてデータ変換し、そのデータ変換結果を前記データRの下位nビットRRと排他的論理和し、その排他的論理和の論理演算結果を新たな下位nビットRRとすると共に、前記データRの上位nビットRLをラウンド鍵KOi4と排他的論理和し、その排他的論理和の論理演算結果を新たな上位nビットRLとして出力するサイクル2のステップと、
前記データLの下位nビットLRをラウンド鍵KOi2と排他的論理和し、その排他的論理和の論理演算結果を鍵KIi2を用いてデータ変換し、そのデータ変換結果を前記サイクル1のステップで出力される論理演算結果t1と排他的論理和し、その排他的論理和の論理演算結果t3を前記サイクル2で出力された下位nビットRRと排他的論理和して、その排他的論理和の論理演算結果を新たな下位nビットRRとして出力すると共に、前記論理演算結果t3を前記サイクル2で出力された上位nビットRLと排他的論理和し、その排他的論理和の論理演算結果を新たな上位nビットRLとして出力するサイクル3のステップと、
から構成される処理を、コンピュータに実行させるプログラム。 - コンピュータに、2nビットのデータLをデータ変換し、そのデータ変換結果と2nビットのデータRの排他的論理和を演算した後、その排他的論理和の論理演算結果を出力する暗号処理を実行させるプログラムであって、
前記データLの上位nビットLLをラウンド鍵KOi1と排他的論理和し、その排他的論理和の論理演算結果を鍵KIi1を用いてデータ変換し、そのデータ変換結果を前記データLの下位nビットLRと排他的論理和し、その排他的論理和の論理演算結果t1を出力すると共に、前記論理演算結果t1を前記データRの下位nビットRRと排他的論理和し、その排他的論理和の論理演算結果を新たな下位nビットRRとして出力すると共に、前記論理演算結果t1を前記データRの上位nビットRLと排他的論理和し、その排他的論理和の論理演算結果を新たな上位nビットRLとして出力するサイクル1のステップと、
前記論理演算結果t1をラウンド鍵KOi3と排他的論理和し、その排他的論理和の論理演算結果を鍵KIi3を用いてデータ変換し、そのデータ変換結果をサイクル1で生成された下位nビットRRと排他的論理和し、その排他的論理和の論理演算結果を新たな下位nビットRRとすると共に、前記サイクル1のステップで出力される上位nビットRLをラウンド鍵KOi4と排他的論理和し、その排他的論理和の論理演算結果を新たな上位nビットRLとして出力するサイクル2のステップと、
前記データLの下位nビットLRをラウンド鍵KOi2と排他的論理和し、その排他的論理和の論理演算結果をラウンド鍵KIi2を用いてデータ変換し、そのデータ変換結果を前記サイクル1のステップで出力される論理演算結果t1と排他的論理和し、その排他的論理和の論理演算結果t3を前記データRの下位nビットRRと排他的論理和して、その排他的論理和の論理演算結果を新たな下位nビットRRとして出力すると共に、前記論理演算結果t3を前記データRの上位nビットRLと排他的論理和し、その排他的論理和の論理演算結果を新たな上位nビットRLとして出力するサイクル3のステップと、
から構成される処理をコンピュータに実行させるプログラム。 - コンピュータに、2nビットのデータLをデータ変換し、そのデータ変換結果と2nビットのデータRの排他的論理和を演算した後、その排他的論理和の論理演算結果を出力する暗号処理を実行させるプログラムであって、
前記データLの上位nビットLLをラウンド鍵KOi1と排他的論理和し、その排他的論理和の論理演算結果を鍵KIi1を用いてデータ変換し、そのデータ変換結果を前記データLの下位nビットLRと排他的論理和し、その排他的論理和の論理演算結果をt1として出力し、前記論理演算結果t1を前記データRの下位nビットRRと排他的論理和し、その排他的論理和の論理演算結果を新たな下位nビットRRとして出力すると共に、前記論理演算結果t1を前記データRの上位nビットRLと排他的論理和し、その排他的論理和の論理演算結果を新たな上位nビットRLとして出力するサイクル1のステップと、
前記論理演算結果t1をラウンド鍵KOi3と排他的論理和し、その排他的論理和の論理演算結果をラウンド鍵KIi3を用いてデータ変換し、そのデータ変換結果をサイクル2で生成された下位nビットRRと排他的論理和し、その排他的論理和の論理演算結果をサイクル2で出力された下位nビットRRと排他的論理和し、その排他的論理和の論理演算結果を新たな下位nビットRRとして出力すると共に、前記サイクル2のステップで出力される上位nビットRLを出力するサイクル3のステップと、
前記データLの下位nビットLRをラウンド鍵KOi2と排他的論理和し、その排他的論理和の論理演算結果を鍵KIi2を用いてデータ変換し、そのデータ変換結果をラウンド鍵KOi4と排他的論理和し、その排他的論理和の論理演算結果t3を前記データRの下位nビットRRと排他的論理和して、その排他的論理和の論理演算結果を新たな下位nビットRRとして出力すると共に、前記論理演算結果t3を前記データRの上位nビットRLと排他的論理和し、その排他的論理和の論理演算結果を新たな上位nビットRLとして出力するサイクル3のステップと、
から構成される処理をコンピュータに実行させるプログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2008/000052 WO2009090689A1 (ja) | 2008-01-18 | 2008-01-18 | 暗号化装置、暗号化方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2009090689A1 true JPWO2009090689A1 (ja) | 2011-05-26 |
JP5182295B2 JP5182295B2 (ja) | 2013-04-17 |
Family
ID=40885102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009549897A Active JP5182295B2 (ja) | 2008-01-18 | 2008-01-18 | 暗号化装置及び暗号処理方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8335313B2 (ja) |
EP (1) | EP2237246B1 (ja) |
JP (1) | JP5182295B2 (ja) |
WO (1) | WO2009090689A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5387295B2 (ja) * | 2009-09-29 | 2014-01-15 | 富士通株式会社 | 暗号装置及び方法 |
JP5198526B2 (ja) * | 2010-09-21 | 2013-05-15 | 株式会社東芝 | 暗号化装置および復号装置 |
US10203368B2 (en) * | 2012-01-06 | 2019-02-12 | New York University | Systems, processes and computer-accessible medium for providing a bi-directional scan path for peak capture power reduction in launch-off-shift testing |
RU2625049C1 (ru) * | 2016-04-14 | 2017-07-11 | ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ КАЗЕННОЕ ВОЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ "Военная академия Ракетных войск стратегического назначения имени Петра Великого" МИНИСТЕРСТВА ОБОРОНЫ РОССИЙСКОЙ ФЕДЕРАЦИИ | Устройство поддержки защищенных логических вычислений |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3088337B2 (ja) * | 1997-05-30 | 2000-09-18 | 三菱電機株式会社 | 暗号処理装置、icカード及び暗号処理方法 |
US7212631B2 (en) * | 2001-05-31 | 2007-05-01 | Qualcomm Incorporated | Apparatus and method for performing KASUMI ciphering |
JP2003241657A (ja) | 2002-02-20 | 2003-08-29 | Sony Corp | 暗号化装置および暗号化方法 |
JP3503638B1 (ja) * | 2002-09-26 | 2004-03-08 | 日本電気株式会社 | 暗号装置及び暗号プログラム |
US7796752B2 (en) * | 2002-11-04 | 2010-09-14 | Marvell International Ltd. | Cipher implementation |
KR100516548B1 (ko) | 2003-02-05 | 2005-09-22 | 삼성전자주식회사 | 이동 통신 시스템에서 최적화된 암호화 함수를 설계하는방법과 최적화된 암호화 장치 |
KR100547744B1 (ko) * | 2003-09-02 | 2006-01-31 | 삼성전자주식회사 | 이동통신시스템에서 최소의 소자를 사용하는 단일라운드의 암호화 장치 및 방법 |
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 |
JP2008181986A (ja) * | 2007-01-24 | 2008-08-07 | Nippon Seiki Co Ltd | 有機elディスプレイ |
-
2008
- 2008-01-18 WO PCT/JP2008/000052 patent/WO2009090689A1/ja active Application Filing
- 2008-01-18 JP JP2009549897A patent/JP5182295B2/ja active Active
- 2008-01-18 EP EP08702793.4A patent/EP2237246B1/en active Active
-
2010
- 2010-07-12 US US12/834,252 patent/US8335313B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US8335313B2 (en) | 2012-12-18 |
EP2237246A1 (en) | 2010-10-06 |
WO2009090689A1 (ja) | 2009-07-23 |
JP5182295B2 (ja) | 2013-04-17 |
US20100278340A1 (en) | 2010-11-04 |
EP2237246B1 (en) | 2018-02-28 |
EP2237246A4 (en) | 2014-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3818263B2 (ja) | Aes暗号処理装置、aes復号処理装置、aes暗号・復号処理装置、aes暗号処理方法、aes復号処理方法、および、aes暗号・復号処理方法 | |
KR100377176B1 (ko) | 데이터 암호화 표준 알고리즘을 이용한 암호화 장치 | |
KR100377172B1 (ko) | 데이터 암호화 표준 알고리즘을 이용한 암호화 장치의 키스케쥴러 | |
JP4025722B2 (ja) | データ暗号化のための方法および装置 | |
KR100800468B1 (ko) | 저전력 고속 동작을 위한 하드웨어 암호화/복호화 장치 및그 방법 | |
JP5652363B2 (ja) | 暗号処理装置、および暗号処理方法、並びにプログラム | |
JP3824121B2 (ja) | 暗号データの復号化処理方法および装置 | |
JP5182295B2 (ja) | 暗号化装置及び暗号処理方法 | |
JP2010164792A (ja) | 暗号処理装置 | |
Miroshnik et al. | Uses of programmable logic integrated circuits for implementations of data encryption standard and its experimental linear cryptanalysis | |
Buell | Modern symmetric ciphers—Des and Aes | |
JP5056860B2 (ja) | データ変換関数の処理装置 | |
JP2014240921A (ja) | 暗号装置、暗号処理方法及び暗号処理プログラム | |
US8111825B2 (en) | Encryption apparatus and method therefor | |
JP4515716B2 (ja) | 拡大鍵生成装置、暗号化装置および暗号化システム | |
RU2738321C1 (ru) | Способ криптографического преобразования и устройство для его осуществления | |
JP5338327B2 (ja) | 暗号処理装置 | |
JP2011085739A (ja) | 暗号アルゴリズムの計算方法、及び装置 | |
KR102282363B1 (ko) | 비트 시리얼 hight 연산 장치 및 그 방법, 그 방법을 프로세서가 수행하도록 하기 위한 명령어를 포함하는 컴퓨터 판독 가능한 기록매체 및 컴퓨터 프로그램 | |
KR102348802B1 (ko) | Aes 암호화 및 복호화 회로 | |
Ali et al. | Optimal datapath design for a cryptographic processor: the Blowfish algorithm | |
Pirpilidis et al. | A 4-bit Architecture of SEED Block Cipher for IoT Applications | |
Melnyk et al. | Modelling DES Soft-Cores for information protection | |
KR20010005033A (ko) | 데이터 암호 표준 알고리즘을 이용한 암호화 장치 | |
Sampath | FPGA based hardware implementation of Advanced Encryption Standard |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121002 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121127 |
|
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: 20121218 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121231 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5182295 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160125 Year of fee payment: 3 |