JP4644053B2 - 暗号化装置及び方法、復号化装置及び方法 - Google Patents

暗号化装置及び方法、復号化装置及び方法 Download PDF

Info

Publication number
JP4644053B2
JP4644053B2 JP2005190755A JP2005190755A JP4644053B2 JP 4644053 B2 JP4644053 B2 JP 4644053B2 JP 2005190755 A JP2005190755 A JP 2005190755A JP 2005190755 A JP2005190755 A JP 2005190755A JP 4644053 B2 JP4644053 B2 JP 4644053B2
Authority
JP
Japan
Prior art keywords
data
memory
encrypted
encrypted data
predetermined
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
JP2005190755A
Other languages
English (en)
Other versions
JP2007013503A (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.)
Seiko Precision Inc
Original Assignee
Seiko Precision 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 Seiko Precision Inc filed Critical Seiko Precision Inc
Priority to JP2005190755A priority Critical patent/JP4644053B2/ja
Publication of JP2007013503A publication Critical patent/JP2007013503A/ja
Application granted granted Critical
Publication of JP4644053B2 publication Critical patent/JP4644053B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、平文を暗号文列にする暗号化装置及び方法と、暗号文列を平文に戻す復号化装置及び方法に関する。
従来から暗号化方式として、例えば、秘密鍵または公開鍵を用いて平文を暗号化する方式などが知られている。この方式は平文を一定のブロックに区切り、ブロック単位で鍵により暗号化する。また、ブロックベースの暗号強度を高めるために、暗号ブロック連鎖方式(CBC)、暗号フィードバック方式(CFB)、出力フィードバック方式(OFB)を使用することが、例えば、特許文献1等に開示されている。
これらの方式では、前のブロックの暗号処理の結果が次のブロックの暗号処理に使用される。そのため、各ブロックの暗号化データが数珠繋ぎの状態となり、あるブロックの暗号化データは過去の暗号処理全体に依存されるため暗号解読が困難となる。又、特許文献1においては、暗号ブロック連鎖方式による暗号化方法において、暗号モードの設定情報を含む暗号鍵に基づいて、複数の異なる暗号ブロック連鎖による暗号化アルゴリズムが選択できる暗号化装置により、暗号利用モードの暗号化アルゴリズムの設定を行い、上記暗号鍵により復号化を行う。
特開2001−177518号公報
従来の暗号化方式では、同一内容の平文を暗号化して生成される暗号文列は同一となってしまう。例えば、ABCDという平文を暗号化するとEFGHという暗号文列が生成されるとすると、ABCDを暗号化すると毎回EFGHという暗号文列が生成される。そのため、例えば、ABCDという平文がある個人や機器を表すIDである場合、暗号文列EFGHの解読ができなくても、第3者にある個人や機器が特定されてしまう虞がある。特許文献1においても、暗号モードを選択することにより、秘匿性の高い暗号化、復号化装置及び方法が提供されているが、上述の問題は解決されていない。
この発明は上記実情に鑑みてなされたものであり、解読、推定、特定、等が困難な暗号化方法と該暗号化の手法を提供することを目的とする。
上記目的を達成するため、本発明の第1の観点にかかる暗号化装置は、
暗号化対象の平文を所定サイズのブロックに分割し、先のブロックの暗号化処理の結果を用いて次のブロックのデータを操作し、操作後のデータを暗号化する処理を順次繰り返すことにより、前記平文を暗号化する暗号化装置であって、
乱数を発生させて第1のデータを生成する手段と、
予め定められている第2のデータを記憶する手段と、
を備え、
前記第1のデータを前記第2のデータを用いて操作し、これを暗号化することにより得られた第0の操作データを暗号化して第0の暗号化データを生成し、以後、前記平文の第i(iは自然数)のブロックのデータを第(i−1)の暗号化データを用いて操作して、第iの操作データを生成し、この第iの操作データを暗号化することにより、第iの暗号化データを生成する処理を繰り返し、
前記平文の第iのブロックのデータを第(i−1)の暗号化データを用いて操作する前記操作は、前記第(i−1)の暗号化データの所定の桁の値に応じて操作規則を変えるものである、
ことを特徴とする。
前記暗号化装置は、例えば、前記第iの暗号化データを生成する際に、前記第(i−1)の暗号化データに当該データに応じた所定の操作を施し、該所定の操作後の第(i−1)の暗号化データを用いて前記第iのブロックのデータを操作して、前記平文を暗号化してもよく、前記平文の第iのブロックのデータを第(i−1)の暗号化データを用いて操作する前記操作は、前記第(i−1)の暗号化データの値に応じて操作規則を変えるものであり、前記第(i−1)の暗号化データの所定の桁の値に応じた操作パターンを備え、当該操作パターンに応じて前記第(i−1)の暗号化データのビット操作を行い、当該ビット操作後の前記第(i−1)の暗号化データと前記平文の第iのブロックのデータとのXOR演算を行うことで前記第iの暗号化データを生成するものであってもよい。
上記目的を達成するため、本発明の第2の観点にかかる復号化装置は、
所定サイズの第0〜第n(nは自然数)の暗号化データからなる暗号文に対し、
第i(iはn以下の自然数)の暗号化データを復号化して、第iのデータを生成し、第(i−1)の暗号化データを用いて前記第iのデータを操作して、第iの復号化データを生成する処理を順次繰り返すことにより、前記暗号文を復号化する復号化装置であって、
前記第iの復号化データを生成する際に、
前記第(i−1)の暗号化データに当該データに応じた所定の操作を施し、該所定の操作後の第(i−1)の暗号化データを用いて前記第iのデータを操作して、前記第iの復号化データを生成するものであり、
前記所定の操作後の第(i−1)の暗号化データを用いて前記第iのデータを操作する前記操作は、前記所定の操作前の前記第(i−1)の暗号化データの所定の桁の値に応じて操作規則を変えるものである、
ことを特徴とする。
上記目的を達成するため、本発明の第3の観点にかかる暗号化方法は、
コンピュータが、プロセッサによって、乱数を発生させて生成した第1のデータをメモリから読み出した所定の第2のデータを用いて操作し、これを暗号化することにより得られた第0の操作データを暗号化して第0の暗号化データを生成して前記メモリに格納し、以後、該メモリから読み出した暗号化対象の平文の第i(iは自然数)のブロックのデータを前記メモリから読み出した第(i−1)の暗号化データを用いて操作して、第iの操作データを生成し、この第iの操作データを暗号化することにより、第iの暗号化データを生成して前記メモリに格納するステップを繰り返し、
前記メモリから読み出した暗号化対象の平文の第iのブロックのデータを前記メモリから読み出した第(i−1)の暗号化データを用いて操作する前記操作は、前記メモリから読み出した前記第(i−1)の暗号化データの所定の桁の値に応じて操作規則を変えるものである、
ことを特徴とする。
上記目的を達成するため、本発明の第4の観点にかかる復号化方法は、
コンピュータが、プロセッサによって、メモリに格納された所定サイズの第0〜第n(nは自然数)の暗号化データからなる暗号文に対し、前記メモリから読み出した第i(iはn以下の自然数)の暗号化データを復号化して、第iのデータを生成し、前記メモリから読み出した第(i−1)の暗号化データを用いて前記第iのデータを操作して、第iの復号化データを生成して前記メモリに格納する処理を、順次繰り返すことにより、前記暗号文を復号化する復号化方法であって、
前記第iの復号化データを生成して前記メモリに格納する際に、
前記メモリから読み出した前記第(i−1)の暗号化データに当該データに応じた所定の操作を施し、該所定の操作後の第(i−1)の暗号化データを用いて前記第iのデータを操作して、前記第iの復号化データを生成してメモリに格納し、
前記所定の操作後の第(i−1)の暗号化データを用いて前記第iのデータを操作する前記操作は、前記メモリから読み出した前記所定の操作前の前記第(i−1)の暗号化データの所定の桁の値に応じて操作規則を変えるものである、
ことを特徴とする。
上記目的を達成するため、本発明の第5の観点にかかる暗号化プログラムは、
コンピュータのプロセッサに、
乱数を発生させて生成した第1のデータをメモリから読み出した所定の第2のデータを用いて操作し、これを暗号化することにより得られた第0の操作データを暗号化して第0の暗号化データを生成して前記メモリに格納し、
以後、該メモリから読み出した暗号化対象データの第i(iは自然数)のブロックのデータを前記メモリから読み出した第(i−1)の暗号化データを用いて操作して、第iの操作データを生成し、この第iの操作データを暗号化することにより、第iの暗号化データを生成して前記メモリに格納する手順を繰り返す処理、
を実行させるものであり、
前記メモリから読み出した暗号化対象データの第i(iは自然数)のブロックのデータを前記メモリから読み出した第(i−1)の暗号化データを用いて操作する前記操作は、前記メモリから読み出した前記第(i−1)の暗号化データの所定の桁の値に応じて操作規則を変えるものである、
ことを特徴とする。
上記目的を達成するため、本発明の第6の観点にかかる復号化プログラムは、
コンピュータのプロセッサに、
メモリに格納された所定サイズの第0〜第n(nは自然数)の暗号化データからなる暗号文に対し、前記メモリから読み出した第i(iはn以下の自然数)の暗号化データを復号化し、第iのデータを生成し、前記メモリから読み出した第(i−1)の暗号化データを用いて前記第iのデータを操作して、第iの復号化データを生成して前記メモリに格納する処理を順次繰り返し、前記暗号文を復号化する処理であって、
前記第iの復号化データを生成して前記メモリに格納する際に、
前記メモリから読み出した前記第(i−1)の暗号化データに当該データに応じた所定の操作を施し、該所定の操作後の第(i−1)の暗号化データを用いて前記第iのデータを操作して前記第iの復号化データを生成して前記メモリに格納する、処理を実行させるものであり、
前記所定の操作後の第(i−1)の暗号化データを用いて前記第iのデータを操作する前記操作は、前記メモリから読み出した前記所定の操作前の前記第(i−1)の暗号化データの所定の桁の値に応じて操作規則を変えるものである、
ことを特徴とする。
本発明によれば、同一の平文から生成された暗号文であっても、その結果は互いに異なるものとなり、元の平文を解読、推定、特定することなどが困難となり、信頼度が高い暗号化技術を提供することができる。一方、復号時には、ほとんど負担の増加なく、暗号文を復号することができる。
以下、この発明の実施の形態に係る暗号化装置及び方法及び復号装置及び方法を説明する。
(実施形態1)
この発明の実施形態1に係る暗号通信システム10は、図1に示すように、ネットワークNWに接続された端末装置T1と端末装置T2とを備え、端末装置T1が任意のデータ(平文)を暗号化してネットワークNWを介して端末装置T2に暗号化データを送信し、端末装置T2がこれを受信して復号化する。
端末装置T1は、例えば、通常のコンピュータ装置から構成され、入力部20、プロセッサ30、メモリ40、通信部50などを備え、平文を暗号化して暗号文を生成し、生成した暗号文をネットワークNWを介して端末装置T2に送信する。
入力部20は、例えば、USB(Universal Serial Bus)装置や、キーボード、マウス、各種ドライブ装置(FDドライブ、CD−ROMドライブ等の入力デバイス)から構成され、種々の指示などと共に暗号化対象の平文を入力する。
プロセッサ30は、マイクロプロセッサ、DSP(Digital Signal Processor)等から構成され、メモリ40に記憶されている動作プログラムに従って動作する。この実施の形態においては、特に、プロセッサ30は、入力部20から入力された平文をメモリ40に記憶し、さらに、メモリ40に記憶されている暗号化プログラム43によりこの平文を暗号化し、これを通信部50を介して端末装置T2に送信する。プロセッサ30の具体的な動作は後述する。
メモリ40は、RAM(Random Access Memory),ROM(Read Only Memory)、ハードディスク装置などから構成され、プロセッサ30のワークエリアとして機能とすると共に、暗号化のための暗号鍵41、初期ベクトル42、暗号化プログラム43、乱数プログラム44等を格納する。ワークエリアには、例えば、入力された平文、生成された暗号文、暗号化の生成過程にある各種データが記憶される。
暗号鍵41は、任意のデータを暗号化するための共通鍵・秘密鍵である。
初期ベクトル42は、予め設定された、例えば、m(mは任意の自然数)バイト長の固定データである。
暗号化プログラム43は、プロセッサ30を制御し、平文を後述するプロセスで暗号化するためのプログラムである。暗号化プログラム43の詳細は後述する。
乱数プログラム44は、プロセッサ30により実行され、例えば、4バイト長の乱数を発生させるプログラムである。
通信部50は、たとえば、モデム装置などの通信装置から構成され、ネットワークNWに接続され、端末装置T2に暗号化されたデータを送信する。
端末装置T2は、例えば、通常のコンピュータ装置から構成され、通信部60、プロセッサ70、メモリ80、出力部90を備え、端末装置T1から送信された暗号文を復号化して平文を生成し、出力する。
通信部60は、たとえば、モデムなどの通信装置から構成され、ネットワークNWに接続され、端末装置T1から暗号化されたデータを受信する。
プロセッサ70は、マイクロプロセッサ、DSP(Digital Signal Processor)等から構成され、メモリ80に記憶されている動作プログラムに従って動作する。この実施の形態においては、特に、プロセッサ70は、通信部60を介して受信した暗号文をメモリ80に記憶し、さらに、メモリ80に記憶されている復号化プログラム82によりこの暗号文を復号化し、復号化して得られた平文を出力部90を介して出力する。プロセッサ70の具体的な動作は後述する。
メモリ80は、RAM、ROM、ハードディスクなどから構成され、プロセッサ70のワークエリアとして機能すると共に、復号化のための復号鍵81、復号化プログラム82等を格納する。ワークエリアには、受信した暗号文、復号化された平文、復号化の過程における各種データが記憶される。
復号鍵81は、受信したデータを復号化するための暗号鍵であり、暗号鍵41と同一のものである。
復号化プログラム82は、プロセッサ70を制御し、受信した暗号文を復号化する。
出力部90は、プロセッサ70が復号化して生成された平文を出力する。
次に、上記構成を有する暗号通信システム10の動作を図2(暗号化処理)及び図4(復号化処理)に示すフローチャート、及び、図3(暗号化処理)及び図5(復号化処理)に示す処理ダイアグラム、を参照しながら説明する。
暗号化処理は端末装置T1において行われ、復号化処理は端末装置T2において行われる。
(暗号化処理)
前提として、暗号化対象の平文が端末装置T1の入力部20から入力され、メモリ40に格納されているものとする。また、プロセッサ30に、入力された平文の暗号化と端末装置T2への送信が指示されたものとする。
指示に応答して、プロセッサ30は、図2のフローチャートに示す処理手順(図3に示す処理)を開始し、最初に、乱数プログラム44を起動して、例えば、mバイト長(初期ベクトルと同一データ長)の乱数Fを発生させる(ステップS1)。
次に、プロセッサ30は、生成した乱数Fとメモリ40に記憶されている初期ベクトル42との排他的論理和(XOR)をとる(ステップS2)。
次に、プロセッサ30は、その結果を暗号鍵41を用いて暗号化プログラム43により暗号化して、暗号文B0を生成し、メモリ40に記憶する(ステップS3)。
続いて、プロセッサ30は、暗号文B0にビット操作を施し、次ブロック暗号化用ビット列Hを生成し、メモリ40に記憶する(ステップS4)。ビット操作としては、暗号文B0の結果に応じてビット操作の規則を変える。例えば、下位4ビットに着目し、“0”だったら暗号文B0の各ビットデータを反転する、“1”だったら特定ビットのビットデータを反転する、“2”だったら左方向に所定ビット数ローテイトする、“3”だったら右方向に所定ビット数ローテイトする等のように処理する。ビット操作の内容自体は任意である。なお、ビット操作に限らず、暗号文B0の結果に応じて所定の加算操作、減算操作をするようにしてもよいが、その場合、後述する復号化の際の操作(ステップT1、T4)では、暗号文に加算操作をした場合には減算操作をするなど、暗号化の際に施した操作を元に戻すような操作を施す。
次に、プロセッサ30は、平文を逐次的に暗号化するためのカウント値iを1にセットする(ステップS5)。
次いで、カウント値iが、平文を暗号化する単位であるmバイトのブロックに分割したときの、ブロック数n以下か否かを判定する(ステップS6)。当初は、カウント値iが1であり、n以下であるので(ステップS6:YES)、処理はステップS7に進む。
ステップS7で、プロセッサ30は、メモリ40に記憶した暗号化用ビット列Hi−1(最初はステップS4で求めたH)と、メモリ40に記憶した平文の第i番目のmバイトのブロックA(最初は先頭mバイトのブロックA)との排他的論理和C(最初は、C)を求める(ステップS7)。
次に、プロセッサ30は、排他的論理和Cを、暗号鍵41を用いて暗号化プログラム43により暗号化することにより、平文の第iブロックA(最初は、第1ブロックA)の暗号文B(最初はB)を生成し、メモリ40に記憶する(ステップS8)。
次いで、プロセッサ30は、暗号文B(最初はB)にビット操作を施し、
次ブロック暗号化用のビット列H(最初はH)を生成し、メモリ40に記憶する(ステップS9)。
続いて、カウント値iを1だけインクリメントして(ステップS10)、ステップS6に戻る。
以後、同様の動作を繰り返して、平文のブロックAを暗号化して暗号文Bを求め、これにビット操作を施してビット列Hを求めて、このビット列Hと次のブロックAi+1との排他的論理和Ci+1を求め、これを、暗号鍵41を用いて暗号化プログラム43により暗号化して、暗号文Bi+1を求める処理を繰り返す。
平文の最後のブロックAを暗号化して暗号文Bを求めると、ステップS6で、カウント値i>全ブロック数nと判別され、今回の暗号化の処理を終了する。
その後、プロセッサ30は、記憶部40に格納された暗号文B〜Bを、通信部50を介して端末装置T2に送信する。
(復号化処理)
次に、端末装置T2が端末装置T1から受信した暗号文を復号化して、元の平文を生成する手順を説明する。
まず、前提として、通信部60が復号化対象の暗号文(前述のB0からB)を端末装置T1から受信し、プロセッサ70が、これをメモリ80に格納したものとする。また、プロセッサ70に、受信した暗号文列の復号化が指示されたものとする。
指示に応答して、プロセッサ70は、図4のフローチャートに示す処理手順(図5に示す処理)を開始し、最初にメモリ80から、暗号文の先頭ブロックB0を読み出し、暗号化の際と同じ規則のビット操作を施し、ビット列Hを生成し、メモリ80に記憶する(ステップT1)。なお、このビット列Hは、図2のステップS4で生成した暗号化用ビット列H0に等しいものとなる。なお、暗号文の先頭ブロックB0を復号化する必要はない。
次に、プロセッサ70は、暗号文を逐次的に復号化するためのカウント値iを1にセットする(ステップT2)。
次に、プロセッサ70は、iが暗号文の最終ブロック番号n以下であるか否かを判定する(ステップT3)。なお、暗号化された平文のブロック数をnとすれば、この平文にステップS1で生成された乱数Fが付加されているので、暗号文のブロック数は(n+1)となる。暗号文のブロックの番号が0(B)から開始するため、最終ブロック番号はnとなる。
カウント値iが最終ブロック番号n以下の場合(ステップT3:YES)、プロセッサ70は、メモリ80から、暗号文の次のブロックB(当初は、ブロックB)を読み出し、暗号化の際と同じ規則のビット操作を施して、ビット列H(当初は、ビット列H)を生成し、メモリ80に記憶する(ステップT4)。
次いで、プロセッサ70は、暗号文の第iブロックBを復号鍵81を用いて復号化プログラム82により復号することによりビット列C(当初は、ビット列C)を生成する(ステップT5)。
次に、プロセッサ70は、暗号文の第iブロックBから復号されたビット列C(当初はC1)とメモリ80に記憶しておいたビット列Hi−1(当初は、H)との排他的論理和をとり、これを復号化した平文A(当初は、A1)としてメモリ40に記憶する(ステップT6)。
プロセッサ70は、カウンタiを1つインクリメントし(ステップT7)、ステップT3に戻る。
以後、同様の動作を繰り返して、暗号文のブロックBを復号化鍵を用いて復号してビット列Cを求め、このビット列Cと、暗号文のブロックBi−1をビット操作して得られたビット列Hi−1との論理和求めて、平文のブロックAi+1に復号化する処理を繰り返す。
プロセッサ70は、暗号文の最後のブロックBを復号して平文のブロックAに復号化すると、ステップT3で、カウント値i>全ブロック数nと判別され、今回の復号化のフローを終了する。
以上の処理により、メモリ80には、復号化された平文Aが記憶される。
プロセッサ70は、必要に応じて、出力部90から復号した平文Aを出力する。
以上説明したように、端末装置T1では、平文の先頭に乱数値を付加して、暗号ブロック連鎖方式で暗号化しているので、同一の平文を暗号化する場合でもその結果は毎回ことなったものとなる。従って、平文が個人や機器等の対象を表すIDであっても、第三者が対象を特定することが困難となる。さらに、上述のビット操作をすることにより、B〜Bの関連性を見えにくくして平文そのものを推定することも困難となる。
一方、端末装置T2では、受信した暗号文のうち、乱数を用いて生成された部分は、後続する暗号文の復号には使用するが、その値自体は使用しないので、乱数値を知らなくても正常に暗号文を復号することができる。
従って、以上の構成を有する暗号通信システム10によれば、従来の暗号ブロック連絡方式に比して、処理負担はほとんど変化がなく、より信頼性の高い暗号・復号方式が得られる。
(実施形態2)
実施形態1では、暗号化処理において、平文のブロックAを暗号化して暗号文のブロックBを求め、これにビット操作を施してビット列Hを求めて、このビット列Hと平文の次のブロックAi+1との論理和Ci+1を求め、これを暗号鍵41を用いて暗号化して、暗号文のブロックBi+1を求める処理を繰り返している。しかし、この発明はこれに限定されず、暗号文のブロックBにビット操作を施す処理を行わないで、この暗号文ブロックBと次のブロックAi+1との論理和Ci+1を求め、これを暗号鍵41を用いた暗号化プログラム43により暗号化して、暗号文Bi+1を求める構成とすることも可能である。この場合、図6に示すように、ステップS7において、Bi−1とAとの排他的論理和Cを求め、ステップS4とS9を削除する。同様に、図7に示すように、ステップT6でビット列Cと暗号文ブロックBi−1との排他的論理和をとり、ステップT1とT4とを除去する。
この実施形態では、理解を容易にするため、端末装置T1で平文を暗号化し、端末装置T2で復号化する構成について説明したが、暗号化と復号化を一つの端末装置で行う構成とすることも可能である。
この発明は、暗号化通信に使用する暗号に限定されず、種々の暗号・復号化に利用可能である。
また、上記実施の形態においては、端末装置T1は、暗号化対象の平文をメモリ40に一旦蓄積してから暗号化し、暗号化処理終了後に、端末装置T2に送信した。この発明は、これに限定されず、例えば、端末装置T1(プロセッサ30)は、例えば、入力部20から暗号化対象の平文のブロックが順次供給される場合には、供給されたブロックを逐次暗号化するように構成してもよい。また、端末装置T1(プロセッサ30)は、例えば、平文のブロックを暗号化する度に、通信部50を介して、
これを端末装置T2に送信するように構成してもよい。同様に、例えば、端末装置T2(プロセッサ70)は、例えば、入力部20から暗号化対象の平文のブロックが順次供給される場合には、供給されたブロックを逐次暗号化するように構成してもよい。また、端末装置T1(プロセッサ30)は、例えば、平文のブロックを暗号化する度に、通信部50を介して、これを端末装置T2に送信するように構成してもよい。
なお、上述のように、この発明の暗号化装置及び/又は復号化装置は、専用装置に限定されず、一般のコンピュータ(プロセッサを含む)を用いて実現可能である。この場合には、必要な固定データ等と共に上記の処理を実行するコンピュータプログラム(暗号化プログラム、復号化プログラム)を適宜の手法でコンピュータにインストールして実行させればよい。
本発明の実施の形態に係る暗号通信システムの構成図である。 図1に示す端末装置T1が実行する暗号化処理のフローチャートである。 図1に示す端末装置T1が実行する暗号化処理の処理ダイアグラムである。 図1に示す端末装置T2が実行する復号化処理のフローチャートである。 図1に示す端末装置T2が実行する復号化処理の処理ダイアグラムである。 第2実施形態に係る暗号化処理の処理ダイアグラムである。 第2実施形態に係る復号化処理の処理ダイアグラムである。
符号の説明
10 暗号通信システム
20 入力部
30 プロセッサ
40 メモリ
50 通信部
41 暗号鍵
42 初期ベクトル
43 暗号化プログラム
44 乱数プログラム
50 通信部
60 通信部
70 プロセッサ
80 メモリ
81 復号鍵
82 復号化プログラム
90 出力部

Claims (7)

  1. 暗号化対象の平文を所定サイズのブロックに分割し、先のブロックの暗号化処理の結果を用いて次のブロックのデータを操作し、操作後のデータを暗号化する処理を順次繰り返すことにより、前記平文を暗号化する暗号化装置であって、
    乱数を発生させて第1のデータを生成する手段と、
    予め定められている第2のデータを記憶する手段と、
    を備え、
    前記第1のデータを前記第2のデータを用いて操作し、これを暗号化することにより得られた第0の操作データを暗号化して第0の暗号化データを生成し、以後、前記平文の第i(iは自然数)のブロックのデータを第(i−1)の暗号化データを用いて操作して、第iの操作データを生成し、この第iの操作データを暗号化することにより、第iの暗号化データを生成する処理を繰り返し、
    前記平文の第iのブロックのデータを第(i−1)の暗号化データを用いて操作する前記操作は、前記第(i−1)の暗号化データの所定の桁の値に応じて操作規則を変えるものである、
    ことを特徴とする暗号化装置。
  2. 前記暗号化装置は、
    前記第iの暗号化データを生成する際に、
    前記第(i−1)の暗号化データに当該データに応じた所定の操作を施し、該所定の操作後の第(i−1)の暗号化データを用いて前記第iのブロックのデータを操作して、前記平文を暗号化し、
    前記平文の第iのブロックのデータを第(i−1)の暗号化データを用いて操作する前記操作は、前記第(i−1)の暗号化データの値に応じて操作規則を変えるものであり、前記第(i−1)の暗号化データの所定の桁の値に応じた操作パターンを備え、当該操作パターンに応じて前記第(i−1)の暗号化データのビット操作を行い、当該ビット操作後の前記第(i−1)の暗号化データと前記平文の第iのブロックのデータとのXOR演算を行うことで前記第iの暗号化データを生成するものである、
    ことを特徴とする請求項1に記載の暗号化装置。
  3. 所定サイズの第0〜第n(nは自然数)の暗号化データからなる暗号文に対し、
    第i(iはn以下の自然数)の暗号化データを復号化して、第iのデータを生成し、第(i−1)の暗号化データを用いて前記第iのデータを操作して、第iの復号化データを生成する処理を、順次繰り返すことにより、前記暗号文を復号化する復号化装置であって、
    前記第iの復号化データを生成する際に、
    前記第(i−1)の暗号化データに当該データに応じた所定の操作を施し、該所定の操作後の第(i−1)の暗号化データを用いて前記第iのデータを操作して、前記第iの復号化データを生成するものであり、
    前記所定の操作後の第(i−1)の暗号化データを用いて前記第iのデータを操作する前記操作は、前記所定の操作前の前記第(i−1)の暗号化データの所定の桁の値に応じて操作規則を変えるものである、
    ことを特徴とする復号化装置。
  4. コンピュータが、プロセッサによって、乱数を発生させて生成した第1のデータをメモリから読み出した所定の第2のデータを用いて操作し、これを暗号化することにより得られた第0の操作データを暗号化して第0の暗号化データを生成して前記メモリに格納し、以後、該メモリから読み出した暗号化対象の平文の第i(iは自然数)のブロックのデータを前記メモリから読み出した第(i−1)の暗号化データを用いて操作して、第iの操作データを生成し、この第iの操作データを暗号化することにより、第iの暗号化データを生成して前記メモリに格納するステップを繰り返し、
    前記メモリから読み出した暗号化対象の平文の第iのブロックのデータを前記メモリから読み出した第(i−1)の暗号化データを用いて操作する前記操作は、前記メモリから読み出した前記第(i−1)の暗号化データの所定の桁の値に応じて操作規則を変えるものである、
    ことを特徴とする暗号化方法。
  5. コンピュータが、プロセッサによって、メモリに格納された所定サイズの第0〜第n(nは自然数)の暗号化データからなる暗号文に対し、前記メモリから読み出した第i(iはn以下の自然数)の暗号化データを復号化して、第iのデータを生成し、前記メモリから読み出した第(i−1)の暗号化データを用いて前記第iのデータを操作して、第iの復号化データを生成して前記メモリに格納する処理を、順次繰り返すことにより、前記暗号文を復号化する復号化方法であって、
    前記第iの復号化データを生成して前記メモリに格納する際に、
    前記メモリから読み出した前記第(i−1)の暗号化データに当該データに応じた所定の操作を施し、該所定の操作後の第(i−1)の暗号化データを用いて前記第iのデータを操作して、前記第iの復号化データを生成してメモリに格納し、
    前記所定の操作後の第(i−1)の暗号化データを用いて前記第iのデータを操作する前記操作は、前記メモリから読み出した前記所定の操作前の前記第(i−1)の暗号化データの所定の桁の値に応じて操作規則を変えるものである、
    ことを特徴とする復号化方法。
  6. コンピュータのプロセッサに、
    乱数を発生させて生成した第1のデータをメモリから読み出した所定の第2のデータを用いて操作し、これを暗号化することにより得られた第0の操作データを暗号化して第0の暗号化データを生成して前記メモリに格納し、
    以後、該メモリから読み出した暗号化対象データの第i(iは自然数)のブロックのデータを前記メモリから読み出した第(i−1)の暗号化データを用いて操作して、第iの操作データを生成し、この第iの操作データを暗号化することにより、第iの暗号化データを生成して前記メモリに格納する手順を繰り返す処理、
    を実行させるものであり、
    前記メモリから読み出した暗号化対象データの第i(iは自然数)のブロックのデータを前記メモリから読み出した第(i−1)の暗号化データを用いて操作する前記操作は、前記メモリから読み出した前記第(i−1)の暗号化データの所定の桁の値に応じて操作規則を変えるものである、
    ことを特徴とする暗号化プログラム。
  7. コンピュータのプロセッサに、
    メモリに格納された所定サイズの第0〜第n(nは自然数)の暗号化データからなる暗号文に対し、前記メモリから読み出した第i(iはn以下の自然数)の暗号化データを復号化し、第iのデータを生成し、前記メモリから読み出した第(i−1)の暗号化データを用いて前記第iのデータを操作して、第iの復号化データを生成して前記メモリに格納する処理を順次繰り返し、前記暗号文を復号化する処理であって、
    前記第iの復号化データを生成して前記メモリに格納する際に、
    前記メモリから読み出した前記第(i−1)の暗号化データに当該データに応じた所定の操作を施し、該所定の操作後の第(i−1)の暗号化データを用いて前記第iのデータを操作して前記第iの復号化データを生成して前記メモリに格納する、処理を実行させるものであり、
    前記所定の操作後の第(i−1)の暗号化データを用いて前記第iのデータを操作する前記操作は、前記メモリから読み出した前記所定の操作前の前記第(i−1)の暗号化データの所定の桁の値に応じて操作規則を変えるものである、
    ことを特徴とする復号化プログラム。
JP2005190755A 2005-06-29 2005-06-29 暗号化装置及び方法、復号化装置及び方法 Active JP4644053B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005190755A JP4644053B2 (ja) 2005-06-29 2005-06-29 暗号化装置及び方法、復号化装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005190755A JP4644053B2 (ja) 2005-06-29 2005-06-29 暗号化装置及び方法、復号化装置及び方法

Publications (2)

Publication Number Publication Date
JP2007013503A JP2007013503A (ja) 2007-01-18
JP4644053B2 true JP4644053B2 (ja) 2011-03-02

Family

ID=37751415

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005190755A Active JP4644053B2 (ja) 2005-06-29 2005-06-29 暗号化装置及び方法、復号化装置及び方法

Country Status (1)

Country Link
JP (1) JP4644053B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011151689A (ja) * 2010-01-22 2011-08-04 Fujitsu Ltd 情報処理装置および情報処理方法
JP5672037B2 (ja) * 2011-02-10 2015-02-18 大日本印刷株式会社 暗号化方法、復号方法、暗号化装置、復号装置及び暗号化/復号システム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0728407A (ja) * 1993-07-14 1995-01-31 Nec Corp 暗号における暗号化前処理装置および復号後処理装 置
JPH0728405A (ja) * 1993-07-14 1995-01-31 Nec Corp 暗号連鎖における暗号化前処理装置および復号後処 理装置
WO1996002992A1 (fr) * 1994-07-15 1996-02-01 Ntt Mobile Communications Network Inc. Procede d'emission de signaux et systeme de communication
JP2001331102A (ja) * 2000-03-14 2001-11-30 Sony Corp データ送出装置、データ復号装置、データ送出方法、データ復号方法、伝送システム
JP2002074905A (ja) * 2000-08-25 2002-03-15 Sony Corp データ送出装置、データ復号装置、データ送出方法、データ復号方法、伝送システム
JP2004325677A (ja) * 2003-04-23 2004-11-18 Sony Corp 暗号処理装置および暗号処理方法、並びにコンピュータ・プログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0728407A (ja) * 1993-07-14 1995-01-31 Nec Corp 暗号における暗号化前処理装置および復号後処理装 置
JPH0728405A (ja) * 1993-07-14 1995-01-31 Nec Corp 暗号連鎖における暗号化前処理装置および復号後処 理装置
WO1996002992A1 (fr) * 1994-07-15 1996-02-01 Ntt Mobile Communications Network Inc. Procede d'emission de signaux et systeme de communication
JP2001331102A (ja) * 2000-03-14 2001-11-30 Sony Corp データ送出装置、データ復号装置、データ送出方法、データ復号方法、伝送システム
JP2002074905A (ja) * 2000-08-25 2002-03-15 Sony Corp データ送出装置、データ復号装置、データ送出方法、データ復号方法、伝送システム
JP2004325677A (ja) * 2003-04-23 2004-11-18 Sony Corp 暗号処理装置および暗号処理方法、並びにコンピュータ・プログラム

Also Published As

Publication number Publication date
JP2007013503A (ja) 2007-01-18

Similar Documents

Publication Publication Date Title
JP4905000B2 (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
JP5060119B2 (ja) 暗号処理プログラム、暗号処理方法および暗号処理装置
JP5050454B2 (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
JPH0863097A (ja) データを暗号化するための対称暗号化方法およびシステム
WO2019114122A1 (zh) 登录信息的加密方法、装置、电子设备及介质
JP2007065253A (ja) 文字コード暗号処理プログラム、および文字コード暗号処理方法
CN113098675B (zh) 基于多项式完全同态的二进制数据加密系统及方法
JPWO2012157279A1 (ja) 順序保存暗号化システム、装置、方法及びプログラム
JP2000511755A (ja) バイナリーコード情報を暗号化する方法
JP6187624B1 (ja) 情報処理装置、情報処理方法及びプログラム
JP5992651B2 (ja) 暗号化方法、プログラム、および、システム
JP2004361969A (ja) 暗号化方法
JP4644053B2 (ja) 暗号化装置及び方法、復号化装置及び方法
JP4857230B2 (ja) 疑似乱数生成装置及びそれを用いた暗号化処理装置
JP2009288616A (ja) 秘密分散方法、プログラム、及び装置
JP2002510058A (ja) 2進データ・ブロックの暗号変換のための方法
JP4287397B2 (ja) 暗号文生成装置、暗号文復号装置、暗号文生成プログラム及び暗号文復号プログラム
JP6631989B2 (ja) 暗号化装置、制御方法、及びプログラム
KR101076747B1 (ko) 스트림 모듈의 계층적 트리 구조를 통한 무작위 접근이 가능한 암호화/복호화 방법 및 장치
JP2005309148A (ja) データ変換装置およびデータ変換方法
KR100350207B1 (ko) 디지털 데이터의 엘-비트 입력 블록들을 엘-비트 출력비트들로 암호 변환하는 방법
JP2007295342A (ja) 暗号通信システム
KR100546777B1 (ko) Seed 암/복호화 장치, 암/복호화 방법, 라운드 처리 방법, 이에 적합한 f함수 처리기
JP2008185616A (ja) 秘密鍵暗号方法、秘密鍵暗号装置、及びコンピュータプログラム
JP3013777B2 (ja) 循環演算にもとづく暗号の暗号鍵生成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070302

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100427

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101203

R150 Certificate of patent or registration of utility model

Ref document number: 4644053

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

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20131210

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250