JP6552184B2 - 情報処理装置およびその方法 - Google Patents

情報処理装置およびその方法 Download PDF

Info

Publication number
JP6552184B2
JP6552184B2 JP2014234910A JP2014234910A JP6552184B2 JP 6552184 B2 JP6552184 B2 JP 6552184B2 JP 2014234910 A JP2014234910 A JP 2014234910A JP 2014234910 A JP2014234910 A JP 2014234910A JP 6552184 B2 JP6552184 B2 JP 6552184B2
Authority
JP
Japan
Prior art keywords
mask value
processing
encryption
data
unit
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.)
Active
Application number
JP2014234910A
Other languages
English (en)
Other versions
JP2015156013A (ja
Inventor
山田 真也
真也 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2014234910A priority Critical patent/JP6552184B2/ja
Priority to US14/589,370 priority patent/US9614667B2/en
Publication of JP2015156013A publication Critical patent/JP2015156013A/ja
Application granted granted Critical
Publication of JP6552184B2 publication Critical patent/JP6552184B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/04Masking or blinding

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)
  • Storage Device Security (AREA)

Description

本発明は、暗号処理を行う情報処理に関する。
ハードディスクなどのストレージデバイスハードディスクなどのストレージデバイスの暗号化アルゴリズムとして、IEEEはXTS-AESを規格化している(非特許文献1)。なお、XTS-AESは、XEX (Xor-encrypt-xor)-based tweaked-codebook mode with ciphertext stealing-Advanced Encryption Standardの略である。また、アメリカ標準技術研究所(NIST)は、XTS-AESをストレージ暗号として推奨している(非特許文献2)。
XTS-AESは、128ビットブロック単位に独立した暗号処理を行うアルゴリズムであり、暗号処理部を並列動作させることで、より高速に暗号処理を行うことができる。
XTS-AESにおいては、128ビットブロック(以下、単に「ブロック」)の暗号処理を開始する前にtweak値から初期マスク値を生成しなければならず、初期マスク値の生成中はブロックの暗号処理を開始することができない。初期マスク値の生成にも暗号処理が必要であるため、初期マスク値生成用の暗号処理回路を別途用意して、ブロックの暗号処理の開始遅延を防ぐ方法が提案されている(特許文献1)。
しかし、初期マスク値生成用の暗号処理回路の追加は回路規模を大きくし、回路規模に制限がある場合は高速化が難しい問題がある。
特開2012-009928号公報
IEEE Std 1619-2007「IEEE Standard for Cryptographic Protection of Data on Block-Oriented Storage Devices」2008年4月 NIST SP 800-38E「Recommendation for Block Cipher Modes of Operation: The XTS-AES Mode for Confidentiality on Storage Devices」2010年1月
本発明は、初期マスク値生成用の回路を用意することなく、暗号化処理または復号処理の開始遅延の発生を防ぐことを目的とする。
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
本発明にかかる情報処理装置は、データユニットに含まれる所定データサイズの一連のブロックのデータをブロック順に暗号化処理または復号処理する複数個M(M≧2)の暗号処理手段を有し、前記複数個の暗号処理手段は、前記ブロック順の処理を繰り返して前記データユニットを暗号化または復号し、n回目(n≧1)の前記繰り返しにおいてnM番目(nM<N、Nはブロック数、NはMで割り切れない数)のブロックのデータを処理する第一の暗号処理手段は、データユニットの処理の開始ごとに前記暗号化または復号に用いる初期マスク値を生成し、さらに、前記初期マスク値に基づき各ブロックのデータの暗号化処理または復号処理に用いるマスク値を生成する生成手段を有し、前記複数個の暗号処理手段はそれぞれ、入力データと前記マスク値の排他的論理和値を演算する第一の演算部と、共通鍵暗号の第一の鍵または前記初期マスク値の生成用の第二の鍵を用いて前記排他的論理和値に暗号化処理または復号処理を施す暗号処理部と、前記暗号化処理または復号処理された排他的論理和値と前記マスク値の排他的論理和値を演算する第二の演算部と、を有し、前記生成手段は、マスク値を保持する保持手段と、前記保持手段が保持するマスク値に定数を乗算したマスク値を計算する乗算手段と、前記保持手段が保持するマスク値を前記定数でM-1回の除算を行ったマスク値を計算する除算手段と、前記保持手段が保持すべきマスク値を前記初期マスク値、前記乗算手段が計算したマスク値、または、前記除算手段が計算したマスク値から選択する第二の選択手段と、前記マスク値として、前記データユニットの処理の開始時はゼロを出力し、前記ブロック順の処理時は前記保持手段が保持するマスク値を出力する出力手段と、を有する。
本発明によれば、初期マスク値生成用の回路を用意することなく、暗号化処理または復号処理の開始遅延の発生を防ぐことができる。
XTS-AESアルゴリズムの概要を説明するブロック図。 実施例の情報処理装置の暗号処理部の構成例を示すブロック図。 ブロック暗号処理部の構成例を示すブロック図。 マスク値生成部の構成例を示す図ブロック図。 複数個のブロック暗号処理部の動作を説明する図。
以下、本発明にかかる実施例の情報処理を図面を参照して詳細に説明する。以下では、ストレージデバイス用のXTS-AESアルゴリズムに基づいて暗号処理を行う情報処理装置を例に説明するが、以下の実施の形態は例示であり、本発明の範囲を限定するものではない。また、本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
[XTS-AESアルゴリズムの概要]
図1のブロック図によりXTS-AESアルゴリズムの概要を説明する。AES暗号化部101は、共通鍵暗号AES (Advanced Encryption Standard)を用いる暗号処理部で、Key2を鍵(第二の鍵)としてtweak値(調整値または微調整値)を暗号化した結果を初期マスク値として出力する。
乗算器102は、初期マスク値とαjを乗算した結果をマスク値として出力する。ここで、αは定数である。また、変数jは、入力データの例えば128ビットブロック(以下、単に「ブロック」)が、データユニットの何番目のブロックかを示す整数である。つまり、データユニットのブロックの総数をN(N>0)とするとj=0, 1, …, N-1である。また、乗算器102が行う乗算は、バイナリフィールドGF(2)上の多項式の乗算のことである。なお、暗号化対象のデータは、データユニットに分割され、データユニットのブロック単位に暗号処理が行われる。
XOR103は、ビットごとに排他的論理和演算を行って、マスク値とブロックデータの排他的論理和値を出力する。AES処理部104は、共通鍵暗号AESを用いる暗号処理部であり、Key1を鍵(第一の鍵)としてXOR103の出力を暗号化処理する。XOR105は、ビットごとの排他的論理和演算を行って、マスク値とAES部104の出力の排他的論理和値をブロックデータの暗号化データとして出力する。
[装置の構成]
図2のブロック図により実施例の暗号処理を行う情報処理装置の構成例を示す。入力部201は、tweak値およびブロックデータを入力する。複数個のブロック暗号処理部は、入力部201が連続して出力するブロックデータを順に入力して暗号化処理または復号処理を行う。
実施例ではブロック暗号処理部の数Mが3の例を説明する。つまり、ブロック暗号処理部202、203、204は、入力部201から出力される一連のデータをブロック順に暗号化または復号する。なお、復号処理を行う場合、複数個のブロック暗号処理部は、複数個のブロック復号処理部として機能する。なお、複数個のブロック暗号処理部の詳細は後述する。
複数個のブロック暗号処理部のうちブロック暗号処理部204は、入力部201から選択的に入力されるtweak値から初期マスク値の生成を行う。セレクタ205は、データユニットの処理を開始する場合(ブロック暗号処理部204がtweak値を暗号化する場合)はKey2を選択的に出力し、ブロック暗号処理部204がブロックデータを処理する場合はKey1を選択的に出力する。
マスク値生成部206は、詳細は後述するが、ブロック暗号処理部204が生成した初期マスク値を入力して、図1に示す乗算器102に相当する乗算を行う。そして、マスク値生成部206は、データユニットの処理を開始する場合(ブロック暗号処理部204がtweak値を暗号化する場合)はマスク値として0(ゼロ)を出力し、ブロックデータの処理時はブロックに対応するマスク値を出力する。また、出力部207は、ブロックデータの暗号化データまたは復号データをブロック順に出力する。
●ブロック暗号処理部
図3のブロック図によりブロック暗号処理部の構成例を示す。なお、複数個のブロック暗号処理部は同様の構成を有し、図3には一つのブロック暗号処理部の構成だけを示す。
XOR301は、ビットごとの排他的論理和演算を行う演算部であり、つまり図1に示すXOR103に相当する排他的論理和演算を行い、入力されるデータとマスク値の排他的論理和演算を行う。なお、入力部201からブロック暗号処理部にtweak値が入力される場合、マスク値生成部206から入力されるマスク値は0(ゼロ)であるから、XOR301は、入力されるtweak値をそのまま出力する。
AES処理部302は、Key1またはKey2を鍵とする共通鍵暗号方式(例えばAESアルゴリズム)による暗号化処理または復号処理を行う。tweak値を処理する場合、セレクタ205からKey2が入力されるため、AES処理部302は、Key2を用いてtweak値を暗号化した初期マスク値を生成する。一方、ブロックデータを処理する場合、セレクタ205からまたは直接、Key1が入力されるため、AES処理部302は、Key1を用いてXOR301が出力する排他的論理和値を暗号化処理または復号処理する。
XOR303は、ビットごとの排他的論理和演算を行う演算部であり、つまり図1に示すXOR105に相当する排他的論理和演算を行い、AES処理部302が出力するデータとマスク値の排他的論理和演算を行う。なお、入力部201からブロック暗号処理部にtweak値が入力される場合、マスク値生成部206から入力されるマスク値は0(ゼロ)であるから、XOR303は、AES処理部302が出力する初期マスク値そのまま出力する。
●マスク値生成部
図4のブロック図によりマスク値生成部206の構成例を示す。セレクタ404は、データユニットの処理の開始時はブロック暗号処理部204が生成した初期マスク値を選択的にマスク値レジスタ401に出力する。また、データユニットの処理の開始時以外は、乗算部402の出力または除算部403の出力を選択的にマスク値レジスタ401に出力する。マスク値レジスタ401はセレクタ404から入力されるマスク値を保持する。
乗算部402は、図1に示す乗算器102に対応し、ブロックデータのXOR301の処理ごと、または、XOR303の処理ごとに、マスク値レジスタ401が保持する値に定数αを乗算した結果をマスク値としてセレクタ404に出力する。セレクタ404は、乗算部402から入力されるマスク値をマスク値レジスタ401に出力して、乗算後のマスク値をマスク値レジスタ401に保持させる。出力部405は、マスク値レジスタ401に保持されたマスク値をブロックデータのXOR301における処理用またはXOR303における処理用のマスク値として出力する。
乗算部402と乗算器102が対応する理由を説明する。乗算器102は初期マスク値とαjを乗算するが、j値(0〜N-1)はブロックごとにカウントアップする。従って、マスク値レジスタ401が保持する前のブロックデータの処理用のマスク値に定数αを乗算すれば、次のブロックデータの処理用のマスク値を得ることができる。
一方、除算部403は、複数個Mのブロック暗号処理部内のすべてのXOR301の処理が完了した後、マスク値レジスタ401が保持する値をαM-1で割った結果をマスク値として出力する。セレクタ404は、除算部403から入力されるマスク値をマスク値レジスタ401に出力して、除算後のマスク値をマスク値レジスタ401に保持させる。
除算部403が必要な理由を説明する。ブロック暗号処理部202-204の処理は、二度の排他的論理和演算を含み、両排他的論理和演算に同じマスク値を必要とする。一方、例えば、ブロック0、1、2に対する一度目の排他的論理和演算にはα0、α1、α2が乗算されたマスク値が必要になり、マスク値レジスタ401が保持するマスク値が更新される。その結果、二度目の排他的論理和演算の際には、マスク値レジスタ401保持するマスク値を一度目の排他的論理和演算時のマスク値に戻す必要がある。
図2の構成によれば、ブロック暗号処理部202-204内のXOR301の処理により、三つのブロック分、j値がカウントアップする。ブロック暗号処理部202内のXOR303が処理を行う際は、ブロック暗号処理部202内のXOR301が処理を行った際に用いたマスク値、つまり二つ前のj値に対応するマスク値が必要になる。そのため、除算部403により、マスク値を定数αでM-1回(図2においてはM-1=2であるから二回)除算して、マスク値レジスタ401が保持するマスク値をブロック暗号処理部202内のXOR301が処理を行った際のマスク値に戻す。
言うまでもなく、除算部403によってαM-1による除算が行われた後、XOR303の処理ごとに、マスク値レジスタ401が保持するマスク値に乗算部402によってαが乗算される。つまり、マスク値レジスタ401が保持するマスク値が、処理対象のブロックに対応するマスク値に更新される。
また、出力部405は、ブロックデータの処理時はマスク値レジスタ401が保持するマスク値を選択的に出力し、tweak値の暗号化時は、前述したように、0(ゼロ)をマスク値として出力する。
●ブロック暗号処理部の動作
図5によりブロック暗号処理部202-204の動作を説明する。データユニットの処理か開始されると、ブロック暗号処理部204は、初期マスク値の計算(図5(A)のtweak値の暗号化501)を行う。初期マスク値の計算が完了すると、ブロック暗号処理部202はj=0のブロックの処理を行う。同時に、ブロック暗号処理部203がj=1のブロックの処理を行い、ブロック暗号処理部204がj=2のブロックの処理を行う、ブロック順の暗号化処理または復号処理が行われる。
ブロック暗号処理部202-204は、ブロック順の処理を繰り返し行い、32個のブロックの処理が完了(言い替えれば、データユニットの暗号化処理または復号処理が完了)する。続いて、次のデータユニットの処理が開始され、ブロック暗号処理部204は、初期マスク値の計算(tweak値の暗号化502)を行う。
ブロック順の処理の繰り返し回数をn(n≧1)とすると、ブロック暗号処理部204は、nM番目のブロックのデータの処理を行う。そして、データユニットの処理の開始ごとに、ブロック暗号処理部204は、XTS-AESアルゴリズムの初期マスク値を生成する。
データユニットのブロック数Nがブロック暗号処理部の数Mで割り切れる(NがMの倍数、nM≦N)とすると、データユニットの末尾のブロック(以下、エンドブロック)のブロックデータの処理はブロック暗号処理部204が行うことになる。この場合、ブロック暗号処理部204は、エンドブロックのブロックデータの処理が終了した後、次のデータユニット用の初期マスク値の生成を開始することになる。初期マスク値の生成が終了するまでブロック暗号処理部202、203は処理を開始することができないから、ブロックデータの処理に必要な時間分の暗号化処理または復号処理の開始遅延が発生する。
図5(A)は、一つのデータユニットに32個のブロックが存在する(つまりN=32)例を示している。この場合、データユニットのブロック数Nがブロック暗号処理部の数Mで割り切れず(NがMの倍数ではない、nM<N)、エンドブロックのブロックデータの処理はブロック暗号処理部203が行うことになる。ブロック暗号処理部204は、エンドブロックのブロックデータの処理を行う必要がないから、直ちに、次のデータユニットの初期マスク値の生成を開始する。従って、暗号化処理または復号処理の開始遅延が発生することはない。
図5(B)は、データユニットが4096バイトの場合のブロック暗号処理部202-204の動作例を示している。この例は、ストレージデバイスのセクタをデータユニットとして暗号処理する場合に相当し、データユニットのブロック数Nは256個になる。この例では、エンドブロックのブロックデータの処理はブロック暗号処理部202が行い、ブロック暗号処理部203がアイドル状態になるため、図5(A)の例に比べて若干効率が悪い。しかし、ブロック暗号処理部204は、直ちに、次のデータユニットの初期マスク値の生成を開始することができ、暗号化処理または復号処理の開始遅延が発生することはない。
つまり、データユニットのブロック数Nを割り切れない数Mのブロック暗号処理部を用意すれば暗号化処理または復号処理の開始遅延の発生を防ぐことができる。言い替えれば、ブロック暗号処理部の数Mをブロックの数Nの倍数にしないことである。さらに、図5(A)に示すように、ブロックの数Nをブロック暗号処理部の数Mで除算した場合の剰余が1であることが好ましい。
このように、複数個M(M≧2)のブロック暗号処理部は、データユニットに含まれる所定データサイズ(例えば128ビット)の一連のブロックのブロックデータをブロック順に処理する。つまり、複数個のブロック暗号処理部がブロック順の処理を繰り返してデータユニットを暗号化処理または復号処理する。その際、n回目の繰り返しにおいてnM番目(nM<N)のブロックのデータを処理するブロック暗号処理部は、データユニットの処理の開始ごとにXTS-AESアルゴリズムの初期マスク値を生成する。
このように、XTS-AESアルゴリズムに基づく暗号化処理または復号処理を行う情報処理装置において、初期マスク値生成用の回路を別途用意する必要がなく、初期マスク値の生成による暗号化処理または復号処理の開始遅延の発生を防ぐことができる。従って、回路規模の増大を防いで、暗号処理のスループットの向上を図ることができる。
[変形例]
上記においては、XTS-AESアルゴリズムを前提として、上記の実施例を適用する構成について説明した。しかし、上記の実施例は、XTS-AESアルゴリズム以外にも、tweak値を暗号化して初期マスク値を生成するブロック暗号処理を行う他のアルゴリズムにも適用可能である。そのようなアルゴリズムとしては、XEX (Xor-encrypt-xor)などが考えられる。
また、上記の実施例においては、ブロック暗号処理部204において初期マスク値を生成する例を示した。しかし、一つのブロック暗号処理部(例えばブロック暗号処理部204)において初期マスク値を生成するのではなく、二つ以上のブロック暗号処理部を用いて初期マスク値を生成してもよい。
[その他の実施例]
本発明は、上述の実施形態の一以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける一以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、一以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
202-204 … ブロック暗号処理部

Claims (12)

  1. データユニットに含まれる所定データサイズの一連のブロックのデータをブロック順に暗号化処理または復号処理する複数個M(M≧2)の暗号処理手段を有し、
    前記複数個の暗号処理手段は、前記ブロック順の処理を繰り返して前記データユニットを暗号化または復号し、
    n回目(n≧1)の前記繰り返しにおいてnM番目(nM<N、Nはブロック数、NはMで割り切れない数)のブロックのデータを処理する第一の暗号処理手段は、データユニットの処理の開始ごとに前記暗号化または復号に用いる初期マスク値を生成し、
    さらに、前記初期マスク値に基づき各ブロックのデータの暗号化処理または復号処理に用いるマスク値を生成する生成手段を有し、
    前記複数個の暗号処理手段はそれぞれ、
    入力データと前記マスク値の排他的論理和値を演算する第一の演算部と、
    共通鍵暗号の第一の鍵または前記初期マスク値の生成用の第二の鍵を用いて前記排他的論理和値に暗号化処理または復号処理を施す暗号処理部と、
    前記暗号化処理または復号処理された排他的論理和値と前記マスク値の排他的論理和値を演算する第二の演算部と、
    を有し、
    前記生成手段は、
    マスク値を保持する保持手段と、
    前記保持手段が保持するマスク値に定数を乗算したマスク値を計算する乗算手段と、
    前記保持手段が保持するマスク値を前記定数でM-1回の除算を行ったマスク値を計算する除算手段と、
    前記保持手段が保持すべきマスク値を前記初期マスク値、前記乗算手段が計算したマスク値、または、前記除算手段が計算したマスク値から選択する第二の選択手段と、
    前記マスク値として、前記データユニットの処理の開始時はゼロを出力し、前記ブロック順の処理時は前記保持手段が保持するマスク値を出力する出力手段と、
    を有する
    ことを特徴とする情報処理装置。
  2. さらに、前記初期マスク値を生成するための調整値および前記ブロックのデータを入力して、前記調整値を前記第一の暗号処理手段に出力するとともに、前記ブロックのデータを前記複数個の暗号処理手段に出力する入力手段を有し、
    前記複数個の暗号処理手段は、前記入力手段が出力するブロックのデータを順に入力する請求項1に記載された情報処理装置。
  3. さらに、共通鍵暗号の第一の鍵または前記初期マスク値の生成用の第二の鍵を選択的に、前記第一の暗号処理手段に出力する第一の選択手段を有する請求項1または請求項2に記載された情報処理装置。
  4. 前記乗算手段は、前記第一の演算部の演算ごとに、または、前記第二の演算部の演算ごとに前記乗算を行う請求項に記載された情報処理装置。
  5. 前記除算手段は、前記複数個の暗号化処理手段すべての前記第一の演算部の演算が終了した後、前記除算を行う請求項または請求項に記載された情報処理装置。
  6. 前記第二の選択手段は、前記データユニットの処理の開始時は前記初期マスク値を前記保持手段に保持させ、前記ブロック順の処理ごとに、前記乗算手段または前記除算手段によって計算されたマスク値によって前記保持手段が保持するマスク値を更新する請求項から請求項の何れか一項に記載された情報処理装置。
  7. さらに、前記複数個の暗号処理手段により暗号化処理または復号処理されたデータを前記ブロック順に出力する出力手段を有する請求項1から請求項の何れか一項に記載された情報処理装置。
  8. 前記複数個の暗号処理手段はそれぞれ共通鍵暗号方式による暗号化処理または復号処理を行う請求項1から請求項の何れか一項に記載された情報処理装置。
  9. 前記ブロックの数Nを前記複数個の暗号処理手段の数Mで除算した場合の剰余が1である請求項1から請求項の何れか一項に記載された情報処理装置。
  10. 前記暗号化処理または復号処理はストレージデバイス用の暗号化処理または復号処理である請求項1から請求項の何れか一項に記載された情報処理装置。
  11. 前記暗号化処理または復号処理はXTS-AESまたはXEXのアルゴリズムに基づく暗号化処理または復号処理である請求項1から請求項10の何れか一項に記載された情報処理装置。
  12. 報処理装置の情報処理方法であって、
    前記情報処理装置は、
    データユニットに含まれる所定データサイズの一連のブロックのデータをブロック順に暗号化処理または復号処理する複数個M(M≧2)の暗号処理手段と、
    各ブロックのデータの暗号化処理または復号処理に用いるマスク値を生成する生成手段と、
    を有し、
    前記複数個の暗号処理手段はそれぞれ、
    入力データと前記マスク値の排他的論理和値を演算する第一の演算部と、
    共通鍵暗号の第一の鍵または初期マスク値の生成用の第二の鍵を用いて前記排他的論理和値に暗号化処理または復号処理を施す暗号処理部と、
    前記暗号化処理または復号処理された排他的論理和値と前記マスク値の排他的論理和値を演算する第二の演算部と、
    を有し、
    前記生成手段は、
    マスク値を保持する保持手段と、
    前記保持手段が保持するマスク値に定数を乗算したマスク値を計算する乗算手段と、
    前記保持手段が保持するマスク値を前記定数でM-1回の除算を行ったマスク値を計算する除算手段と、
    前記保持手段が保持すべきマスク値を前記初期マスク値、前記乗算手段が計算したマスク値、または、前記除算手段が計算したマスク値から選択する第二の選択手段と、
    前記マスク値として、前記データユニットの処理の開始時はゼロを出力し、前記ブロック順の処理時は前記保持手段が保持するマスク値を出力する出力手段と、
    を有し、
    前記情報処理方法は、
    前記複数個の暗号処理手段が、前記ブロック順の処理を繰り返して前記データユニットを暗号化または復号し、
    n回目(n≧1)の前記繰り返しにおいてnM番目(nM<N、Nはブロック数、NはMで割り切れない数)のブロックのデータを処理する第一の暗号処理手段が、データユニットの処理の開始ごとに前記暗号化または復号に用いる前記初期マスク値を生成し、
    前記生成手段が、前記初期マスク値に基づき各ブロックのデータの暗号化処理または復号処理に用いるマスク値を生成する
    ことを特徴とする情報処理方法。
JP2014234910A 2014-01-14 2014-11-19 情報処理装置およびその方法 Active JP6552184B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014234910A JP6552184B2 (ja) 2014-01-14 2014-11-19 情報処理装置およびその方法
US14/589,370 US9614667B2 (en) 2014-01-14 2015-01-05 Information processing apparatus and method therefor

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014004611 2014-01-14
JP2014004611 2014-01-14
JP2014234910A JP6552184B2 (ja) 2014-01-14 2014-11-19 情報処理装置およびその方法

Publications (2)

Publication Number Publication Date
JP2015156013A JP2015156013A (ja) 2015-08-27
JP6552184B2 true JP6552184B2 (ja) 2019-07-31

Family

ID=53522256

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014234910A Active JP6552184B2 (ja) 2014-01-14 2014-11-19 情報処理装置およびその方法

Country Status (2)

Country Link
US (1) US9614667B2 (ja)
JP (1) JP6552184B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9485088B2 (en) * 2014-10-31 2016-11-01 Combined Conditional Access Development And Support, Llc Systems and methods for dynamic data masking
US10346318B2 (en) * 2016-09-13 2019-07-09 Intel Corporation Multi-stage memory integrity method and apparatus
CN110276208B (zh) * 2016-09-29 2022-06-17 北京忆芯科技有限公司 加密电路、解密电路及其方法
EP3584989B1 (en) * 2018-06-18 2023-09-27 Secure-IC SAS Tweakable block ciphers for secure data encryption
CN109413167A (zh) * 2018-10-12 2019-03-01 北京知道创宇信息技术有限公司 一种数据处理方法、装置、电子设备及存储介质
JP7314108B2 (ja) * 2020-08-27 2023-07-25 株式会社東芝 暗号処理装置、暗号処理方法およびプログラム
KR20220124923A (ko) 2021-03-04 2022-09-14 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US20250392442A1 (en) * 2024-06-21 2025-12-25 International Business Machines Corporation Protection of cryptographic parameters used in cryptographic processing

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003115830A (ja) * 2001-10-03 2003-04-18 Victor Co Of Japan Ltd 情報記録装置及び情報記録再生装置
CN100338627C (zh) * 2002-06-04 2007-09-19 佳能株式会社 图像处理装置及其控制方法、以及图像处理系统
JP2006039206A (ja) * 2004-07-27 2006-02-09 Canon Inc 暗号化装置および復号化装置
CA2922172A1 (en) * 2004-10-25 2006-05-04 Security First Corp. Secure data parser method and system
US8036377B1 (en) * 2006-12-12 2011-10-11 Marvell International Ltd. Method and apparatus of high speed encryption and decryption
US8879727B2 (en) * 2007-08-31 2014-11-04 Ip Reservoir, Llc Method and apparatus for hardware-accelerated encryption/decryption
KR101612518B1 (ko) * 2009-11-26 2016-04-15 삼성전자주식회사 병렬 처리 가능한 암복호화기 및 그것의 암복호 방법
JP5645725B2 (ja) * 2010-04-28 2014-12-24 キヤノン株式会社 データ処理装置およびデータ処理システムおよびその制御方法
JP2012009928A (ja) * 2010-06-22 2012-01-12 Toshiba Corp 暗号演算装置、記憶装置および暗号演算方法
JP5017439B2 (ja) * 2010-09-22 2012-09-05 株式会社東芝 暗号演算装置及びメモリシステム
US8862896B2 (en) * 2010-12-06 2014-10-14 Apple Inc. Data protection using key translation
JP5225414B2 (ja) * 2011-03-08 2013-07-03 株式会社東芝 暗号演算装置
JP5930619B2 (ja) * 2011-06-27 2016-06-08 キヤノン株式会社 暗号処理装置
US20150058639A1 (en) * 2013-08-23 2015-02-26 Kabushiki Kaisha Toshiba Encryption processing device and storage device

Also Published As

Publication number Publication date
JP2015156013A (ja) 2015-08-27
US20150200772A1 (en) 2015-07-16
US9614667B2 (en) 2017-04-04

Similar Documents

Publication Publication Date Title
JP6552184B2 (ja) 情報処理装置およびその方法
JP6035459B2 (ja) 暗号化装置、復号化装置、及びプログラム
US11546135B2 (en) Key sequence generation for cryptographic operations
JP5822970B2 (ja) 擬似ランダム生成、データ暗号化、およびメッセージ暗号化ハッシングのための暗号化デバイス
US20070237327A1 (en) Method and System for High Throughput Blockwise Independent Encryption/Decryption
CN101162557A (zh) 密码处理装置和密码处理方法、以及计算机程序
JP6575532B2 (ja) 暗号化装置、復号装置、暗号処理システム、暗号化方法、復号方法、暗号化プログラム、及び復号プログラム
CN113904808B (zh) 一种私钥分发、解密方法、装置、设备及介质
JP2004363739A (ja) 改竄検知可能な、共通鍵暗号の暗号化装置または復号化装置
JPWO2013065241A1 (ja) インクリメンタルmacタグ生成装置、方法及びプログラム並びにメッセージ認証装置
JP5689826B2 (ja) 秘密計算システム、暗号化装置、秘密計算装置及びその方法、プログラム
JPWO2021171543A5 (ja) 認証暗号化装置、認証復号装置、認証暗号化方法、認証復号方法およびプログラム
JP2014002230A (ja) 認証暗号化装置、認証復号装置、およびプログラム
US20250015984A1 (en) Use Of Quantum Resistant Iterative Keypads For Large Files
CN114826562B (zh) 一种数据加密方法、装置、电子设备及存储介质
Bajaj et al. AES algorithm for encryption
JP5818768B2 (ja) マスク生成装置、情報処理装置、及びその方法、プログラム
CN116614217A (zh) 数据处理方法、密钥扩展方法、装置、设备及存储介质
CN114676452A (zh) 一种数据安全存储方法和装置
TW201528754A (zh) 時間擾動混沌映射加密解密系統與方法
CN118972041B (zh) 一种数据加密方法、产品、设备及介质
JP2013205437A (ja) 非線形関数S−boxの計算方法及び装置
JP5268413B2 (ja) 開示制限処理装置及びデータ処理システム及びプログラム
KR100954224B1 (ko) 오프셋 코드북 암호화 장치
Sruthi et al. Performance Analysis and Improvement Using LFSR in the Pipelined Key Scheduling Section of DES

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180822

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190507

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20190516

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190702

R151 Written notification of patent or utility model registration

Ref document number: 6552184

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151