JP6836964B2 - 暗号通信システム - Google Patents

暗号通信システム Download PDF

Info

Publication number
JP6836964B2
JP6836964B2 JP2017119858A JP2017119858A JP6836964B2 JP 6836964 B2 JP6836964 B2 JP 6836964B2 JP 2017119858 A JP2017119858 A JP 2017119858A JP 2017119858 A JP2017119858 A JP 2017119858A JP 6836964 B2 JP6836964 B2 JP 6836964B2
Authority
JP
Japan
Prior art keywords
unit
exclusive
conversion
output
data
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
JP2017119858A
Other languages
English (en)
Other versions
JP2019003144A (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.)
Laurel Bank Machine Co Ltd
Original Assignee
Laurel Bank Machine Co Ltd
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 Laurel Bank Machine Co Ltd filed Critical Laurel Bank Machine Co Ltd
Priority to JP2017119858A priority Critical patent/JP6836964B2/ja
Publication of JP2019003144A publication Critical patent/JP2019003144A/ja
Application granted granted Critical
Publication of JP6836964B2 publication Critical patent/JP6836964B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、暗号通信システムに関する。
データの暗号化に関して幾つかの技術が提案されている。
例えば、特許文献1に記載の暗号装置は、正規データ列と異なる疑似データ列を処理ブロックへ入力し、補正データによって疑似データ列を補正して正規データ列を得る。
特開2012−23618号公報
暗号装置が暗号の解読のために攻撃される場合がある。この場合、通信信号など攻撃者が傍受可能なデータから暗号装置の内部を把握することが困難であることが要求される。
本発明は、通信信号など攻撃者が傍受可能なデータから暗号装置の内部を把握することが比較的困難である暗号通信システムを提供する。
本発明の第1の態様によれば、暗号通信システムは、暗号化装置と復号化装置とを備え、前記暗号化装置は、送信対象のデータに対して所定の非線形変換を行う第1非線形変換部と、前記暗号化装置の内部状態値に対して前記所定の非線形変換を行う第2非線形変換部と、前記第1非線形変換部からの出力と前記第2非線形変換部からの出力との排他的論理和を算出する送信側排他的論理和部と、前記送信側排他的論理和部からの出力に対して前記所定の非線形変換の逆変換を行う送信側逆非線形変換部と、前記送信側逆非線形変換部からの出力に対して前記所定の非線形変換を行った後に所定の線形変換を行い暗号化された通信データとして出力する送信側変換テーブル部と、を備え、前記復号化装置は、前記復号化装置の内部状態値に対して前記送信側変換テーブル部と同じ前記所定の非線形変換を行った後に前記所定の線形変換を行う受信側変換テーブル部と、前記受信側変換テーブル部の出力と前記暗号化装置からの暗号化された通信データとの排他的論理和を算出する受信側排他的論理和部と、前記受信側排他的論理和部からの出力を受けて前記送信側変換テーブル部の変換に対する逆変換として前記所定の線形変換の逆変換を行った後に前記所定の非線形変換の逆変換を行う受信側逆変換テーブル部と、を備える。
前記第1非線形変換部は、送信対象のデータと1つ前のクロックタイミングの前記送信側変換テーブル部からの出力との排他的論理和に対して前記所定の非線形変換を行う、ようにしてもよい。
前記暗号化装置は、前記内部状態値に対して前記所定の非線形変換を行う非線形変換部からの出力に対して、前記送信側変換テーブル部と同じ処理を行う第二送信側変換テーブル部と、前記送信側変換テーブル部からの出力と前記第二送信側変換テーブル部からの出力との排他的論理和を算出する第二排他的論理和部と、を備えるようにしてもよい。
本発明によれば、通信信号など攻撃者が傍受可能なデータから暗号化を行う装置の内部を把握することを比較的困難にすることができる。
本発明の第1実施形態に係る暗号通信システムの機器構成を示す概略構成図である。 同実施形態に係る暗号化装置の機能構成を示す概略構成図である。 同実施形態に係るS層部が備える変換テーブルの例を示す図である。 同実施形態に係るS−1層部が備える変換テーブルの例を示す図である。 同実施形態に係る復号化装置の機能構成を示す概略構成図である。 同実施形態に係る2つのS層部の出力の排他的論理和に対してP層部による変換を行う構成の例を示す図である。 同実施形態に係る2つのS層部の出力それぞれに対してP層部による変換を行った後に排他的論理和をとる構成の例を示す図である。 図2及び図5に示される構成と等価な構成の例を示す図である。 図8に示される構成と等価な構成の例を示す図である。 本発明の第2実施形態に係る暗号通信システムの機器構成を示す概略構成図である。 同実施形態に係る暗号化装置の機能構成を示す概略構成図である。 同実施形態に係る復号化装置の機能構成を示す概略構成図である。 同実施形態に係る暗号通信システムの構成と等価な暗号通信システムの構成の例を示す図である。 本発明の第3実施形態に係る暗号通信システムの機器構成を示す概略構成図である。 同実施形態に係る暗号化装置の機能構成を示す概略構成図である。 同実施形態に係る復号化装置の機能構成を示す概略構成図である。 同実施形態に係る暗号化装置が行う処理の手順をクロックタイミングt=0からt=2までの範囲について示す図である。 同実施形態に係る復号化装置が行う処理の手順をクロックタイミングt=0からt=2までの範囲について示す図である。 図17及び18に示されるf関数の内容の例を示す図である。 本発明の第4実施形態に係る暗号通信システムの機器構成を示す概略構成図である。 同実施形態に係る暗号化装置の機能構成を示す概略構成図である。 同実施形態に係るf関数におけるT層の第1の構成例を示す図である。 同実施形態に係るf関数におけるT層の第2の構成例を示す図である。 同実施形態に係る復号化装置の機能構成を示す概略構成図である。
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
<第1実施形態>
図1は、本発明の第1実施形態に係る暗号通信システムの機器構成を示す概略構成図である。図1に示すように、暗号通信システム10は、暗号化装置11と、復号化装置12とを備える。
暗号化装置11は、通信対象のデータを暗号化して送信する。
復号化装置12は、暗号化装置11が暗号化したデータを受信して復号化する。
図2は、暗号化装置11の機能構成を示す概略構成図である。
暗号化装置11は、平文の通信データを32ビット(bit)のストリームデータにて取得する。ここでいう通信データは、暗号通信システム10で送受信の対象となるデータである。また、ここでいう平文とは、暗号化されていないデータである。
以下では、ストリームデータにて得られる平文の通信データをP(t)と表記する。ここで、tはクロックタイミングを示すインデックスであり、t≧0の整数値をとる。
MKは、マスター鍵(Master Key)を示す。排他的論理和部111は、平文の通信データP(t)とマスター鍵MKとの排他的論理和(exclusive or)を算出する。排他的論理和部111の出力は、t+1のタイミングでの暗号化装置11の内部状態の値R(t+1)として記憶される。ここでいう内部状態の値は、装置外部への出力対象となっていない値である。例えば、ここでいう内部状態の値は32ビットのレジスタの値であってもよい。この内部状態の値はクロックタイミングと共に変化するため、「R(t+1)」のようにクロックタイミングを示す添え字が付されている。内部状態の値を内部状態値とも表記する。
S層部112は、排他的論理和部111の出力に対して非線形変換による換字処理を行う。S層部112は、共通鍵暗号におけるSボックス(Substitution Box;S−box)として機能する。
例えば、S層部112が変換テーブルを記憶しておき、変換テーブルに基づいて非線形変換を行う。
図3は、S層部112が備える変換テーブルの例を示す図である。図3の例で、変換テーブルの行は上位4ビットの値に対応し、列は下位4ビットの値に対応する。S層部112は、この変換テーブルを参照して、S層部112に入力される32ビットのデータを8ビット毎に変換する。
S層部113は、暗号化装置11の内部状態の値R(t−1)に対してS層部112と同じ非線形変換を行う。例えば、S層部113は、S層部112と同じ変換テーブルを記憶しておき、内部状態の値である32ビットデータに対してS層部112と同じ非線形変換を行う。
IV(t=0)は、初期値を示す。ここでいう初期値は、暗号化装置11の内部状態の値の初期値(時刻t=0のタイミングでの値)である。例えば、暗号化装置11の内部状態の値は上記のようにレジスタの値であってもよく、初期値は、t=0のときにレジスタの値の代わりに用いられる初期値であってもよい。
排他的論理和部114は、S層部112の出力とS層部113の出力との排他的論理和を算出する。
−1層部115は、S層部112が行う非線形変換に対する逆変換による逆換字処理を行う。
例えば、S−1層部115が変換テーブルを記憶しておき、変換テーブルに基づいて変換を行う。
図4は、S−1層部115が備える変換テーブルの例を示す図である。図4の例で、変換テーブルの行は上位4ビットの値に対応し、列は下位4ビットの値に対応する。S−1層部115は、この変換テーブルを参照して、S−1層部115に入力される32ビットのデータを8ビット毎に変換する。
32ビットテーブル部116は、変換テーブルを備え、32ビットテーブル部116に入力される32ビットのデータを変換する。
32ビットテーブル部116は、S層部117、P層部118、及び、排他的論理和部119で表される変換を行う。S層部117は、S層部112と同じ非線形変換を行う。P層部118は、線形変換を行う。P層部118が行う線形変換は、MDS(Maximum Distance Separation)変換によるデータ撹拌として機能する。式(1)は、P層部118が行う線形変換の例を示す。
Figure 0006836964
ここで、a〜aの各々は、8ビットのデータを示す。a〜a全体で32ビットのデータを示す。同様に、c〜cの各々は、8ビットのデータを示す。c〜c全体で32ビットのデータを示す。行列内の2桁の数の各々は、8ビットのデータの値を示している。
排他的論理和部119は、P層部118と、CSTとの排他的論理和を算出する。ここで、CSTは、P層部が行う変換における特異点を回避するための定数である。
暗号化装置11は、32ビットテーブル部116の出力を、32ビットのストリーム暗号による送信データとして復号化装置12へ送信する。32ビットテーブル部116の出力は、排他的論理和部119の出力に相当する。
暗号化装置11の出力(送信データ)をC’(t)で示している。
図5は、復号化装置12の機能構成を示す概略構成図である。
復号化装置12は、暗号化装置11からの32ビットのストリーム暗号を受信して復号化することで、32ビットのストリームデータによる平文の通信データP(t)を取得し出力する。
32ビットテーブル部151の機能は、図2の32ビットテーブル部116の機能と同様であり、説明を省略する。32ビットテーブル部151が行う変換を示すS層部152、P層部153、及び、排他的論理和部154の機能についても、図2のS層部117、P層部118、及び、排他的論理和部119の機能と同様である。
32ビットテーブル部151は、復号化装置12の内部状態の値RC(t−1)の入力を受けて変換する。RC(t−1)は、32ビットデータにて示される。
なお、IVC(t=0)は、内部状態の値RC(t−1)の初期値を示す。
排他的論理和部155は、暗号化装置11の出力C’(t)と、32ビットテーブル部151の出力と、CSTとの排他的論理和を算出する。
32ビットテーブル部156は、変換テーブルを備え、図2の32ビットテーブル部116が行う変換に対する逆変換を行う。
32ビットテーブル部156は、排他的論理和部157、P−1層部158、及び、S−1層部159で表される変換を行う。排他的論理和部157は、32ビットテーブル部156への入力とCSTとの排他的論理和を算出する。排他的論理和部157が行う変換は、排他的論理和部119が行う変換に対する逆変換に相当する。P−1層部158は、P層部118が行う変換に対する逆変換を行う。S−1層部159は、S層部117が行う変換に対する逆変換を行う。
式(2)は、P−1層部158が行う線形変換の例を示す。
Figure 0006836964
ここで、式1の場合と同様、a〜aの各々は、8ビットのデータを示す。a〜a全体で32ビットのデータを示す。また、c〜cの各々は、8ビットのデータを示す。c〜c全体で32ビットのデータを示す。行列内の2桁の数の各々は、8ビットのデータの値を示している。
排他的論理和部160は、32ビットテーブル部156の出力とMKとの排他的論理和を算出する。これにより、排他的論理和部160は、ストリームデータにて得られる平文の通信データP(t)を出力する。
ここで、図2及び図5に示される構成の変形について考える。
図2のS−1層部115が行う変換とS層部117が行う変換とは逆変換の関係にあるので、暗号化装置11の構成は、S−1層部115及びS層部117を除いた構成と等価である。ここでいう構成が等価とは、同じ入力に対する出力が同じになることである。
また、P層部は線形変換を行うので、図6に示される構成と図7に示される構成とは等価である。
図6は、2つのS層部の出力の排他的論理和に対してP層部による変換を行う構成の例を示す図である。図6の2つのS層部への入力をそれぞれA、Bと表記すると、図6の構成の出力は式(3)のように表される。
Figure 0006836964
ここで、S層部が行う変形を関数Sで示す。この変換は非線形変換である。また、排他的論理和部が行う演算を演算子XORで示す。また、P層部が行う変形を関数Pで示す。この変換は線形変換である。
図7は、2つのS層部の出力それぞれに対してP層部による変換を行った後に排他的論理和をとる構成の例を示す図である。図7の2つのS層部への入力を図6の場合と同様にそれぞれA、Bと表記すると、図7の構成の出力は式(4)のように表される。
Figure 0006836964
図8は、図2及び図5に示される構成と等価な構成の例を示す図である。図8における各部のうち図2または図5の各部に対応して同様の機能を有する部分には同一の符号(111〜114、119、151〜160)を付して説明を省略する。図8の構成では、図2及び図5に示される構成からS−1層部115及びS層部117を除いている。また、図2の排他的論理和部114及びP層部118に、図6と図7との関係を適用して、図8の排他的論理和部114、P層部118a及び118bとしている。
図8に示される構成で、内部状態の値R(t−1)とRC(t−1)とは同じ値をとる。そうすると、S層部113、P層部118b及び排他的論理和部119を経由したデータと、S層部152、P層部153及び排他的論理和部154を経由したデータとが同じ値になり、排他的論理和部155で互いに打ち消し合う。
図9は、図8に示される構成と等価な構成の例を示す図である。図8に示される構成からS層部113、P層部118b、排他的論理和部119、S層部152、P層部153及び排他的論理和部154を除き、S層部112、P層部118a及び排他的論理和部155を32ビットテーブル部に纏めて、図9に示される構成を得られる。
図9に示される構成は、平文にマスターキーによる処理及び変換テーブル(32ビットテーブル部)による処理を行ったデータを送信している点で、ECBモード(Electronic Codebook Mode)を利用した一般的な構成となっている。
図9に示される構成の場合、暗号を不正に解読しようとする攻撃者は、暗号化された送信データであるC(t)を傍受できれば、比較的容易に32ビットテーブル部1112又は1151の内容を把握することができる。
これに対して、図2及び図5に示される構成の場合、暗号化装置11は、C(t)の送信は行わず、内部状態の値R(t−1)をS層部113で非線形変換したデータを用いて処理したC’(t)を送信する。そして、復号化装置12の内部でC’(t)からC(t)を生成し、32ビットテーブルを用いてC(t)からP(t)を復号化する。これにより、図2及び図5に示される構成では、攻撃者がC’(t)を傍受しても、図9に示される構成で32ビットテーブル部1112又は1151の内容を把握する場合と比較して、32ビットテーブル部116(図2)、151(図5)又は156(図5)の内容を把握することが困難である。
ここで、S層部112及び113は、2つの非線形変換部の例に該当し、それぞれデータに対して非線形変換を行う。S層部112は、第1非線形変換部の例に該当し、S層部113は第2非線形変換部の例に該当する。排他的論理和部114は、送信側排他的論理和部の例に該当し、S層部112及び113からの出力の排他的論理和を算出する。S−1層部115は、送信側逆非線形変換部の例に該当し、排他的論理和部114からの出力に対して非線形変換の逆変換を行う。32ビットテーブル部116は、送信側変換テーブル部の例に該当し、S−1層部115からの出力に対して非線形変換を行った後に線形変換を行い暗号化された通信データとして出力する。具体的には、32ビットテーブル部116は、S−1層部115からの出力に対して非線形変換を行った後に線形変換を行う処理を含む処理と等価な処理を、変換テーブルを用いて行う。
32ビットテーブル部151は、受信側変換テーブル部の例に該当し、送信側変換テーブル部と同じ変換を行う。排他的論理和部155は、受信側排他的論理和部の例に該当し、32ビットテーブル部151の出力と暗号化装置11からの暗号化された通信データとの排他的論理和を算出する。32ビットテーブル部156は、受信側逆変換テーブル部の例に該当し、排他的論理和部155からの出力を受けて32ビットテーブル部116の変換に対する逆変換を行う。
また、S層部112及び113のうちS層部112は、送信対象のデータに対して非線形変換を行う。S層部113は、内部状態値に対して非線形変換を行う。
<第2実施形態>
図10は、本発明の第2実施形態に係る暗号通信システムの機器構成を示す概略構成図である。図10に示すように、暗号通信システム20は、暗号化装置21と、復号化装置22とを備える。
暗号化装置21は、通信対象のデータを暗号化して送信する。
復号化装置22は、暗号化装置21が暗号化したデータを受信して復号化する。
図11は、暗号化装置21の機能構成を示す概略構成図である。図11における各部のうち、図2の各部に対応して同様の機能を有する部分には同一の符号(111〜119)を付して説明を省略する。
図11の構成では、2つの内部状態の値R及びRを用いている点、及び、排他的論理和部211が、P(t)とR0(t−1)との排他的論理和を算出する点で、図2の場合と異なる。図1のS層部112は、送信対象のデータと1つ前のクロックタイミングの送信側変換テーブル部(32ビットテーブル部116)からの出力との排他的論理和に対して非線形変換を行う。
なお、IV0(t=0)は、内部状態の値R0(t−1)の初期値を示す。IV1(t=0)は、内部状態の値R1(t−1)の初期値を示す。
図12は、復号化装置22の機能構成を示す概略構成図である。図12における各部のうち、図5の各部に対応して同様の機能を有する部分には同一の符号(151〜160)を付して説明を省略する。
図12の構成では、内部状態の値としてR及びRを用いている点、及び、排他的論理和部251が、排他的論理和部160の出力とR0(t−1)との排他的論理和を算出する点で、図5の場合と異なる。
図13は、暗号通信システム20の構成と等価な暗号通信システムの構成の例を示す図である。図11及び図12に示される構成から以下のようにして、図13に示される構成を得られる。
まず、図2及び図5と図9との関係の場合と同様、図11に示される構成からS−1層部115及びS層部117を除く。
また、図2及び図5と図9との関係の場合と同様、図11の排他的論理和部114及びP層部118に図6と図7との関係を適用して変形し、さらに、図8から図9を得る場合と同様の変形を行って、図13に示される構成を得られる。
図13に示される構成は、平文に、内部状態の値による処理、マスターキーによる処理及び変換テーブル(32ビットテーブル部)による処理を行ったデータを送信している点で、CBCモード(Cipher Block Chaining Mode)を利用した一般的な構成となっている。
図13に示される構成の場合、攻撃者は、C(t)を連続して傍受できれば、比較的容易に32ビットテーブル部1112又は1151の内容を把握することができる。
これに対して、図11及び図12に示される構成の場合、暗号化装置21は、C(t)の送信は行わず、内部状態の値R0(t−1)によるデータ、及び、内部状態の値R1(t−1)をS層部113で非線形変換したデータを用いて処理したC’(t)を送信する。そして、復号化装置22がC’(t)からC(t)を生成し、32ビットテーブルを用いてC(t)からP(t)を復号化する。これにより、図11及び図12に示される構成では、攻撃者がC’(t)を傍受しても、図13に示される構成の場合と比較して32ビットテーブル部116、151又は156の内容を把握することが困難である。
なお、図11で暗号化装置21の出力C’(t)の値は、P(t)の値が変化しない場合でもクロックタイミングと共に変化する。この点で、暗号化装置21では、その出力値から内部構成を推定することが困難である。
<第3実施形態>
図14は、本発明の第3実施形態に係る暗号通信システムの機器構成を示す概略構成図である。図14に示すように、暗号通信システム30は、暗号化装置31と、復号化装置32とを備える。
暗号化装置31は、通信対象のデータを暗号化して送信する。
復号化装置32は、暗号化装置31が暗号化したデータを受信して復号化する。
図15は、暗号化装置31の機能構成を示す概略構成図である。図15における各部のうち、図2の各部に対応して同様の機能を有する部分には同一の符号(112〜119)を付して説明を省略する。
図15の構成では、マスター鍵MKを用いていない点、内部状態の値としてRP及びRCを用いている点、排他的論理和部311がRP(t−1)とRC(t−1)との排他的論理和を算出する点、32ビットテーブル部312が、S層部113からの出力に対して変換を行う点、及び、排他的論理和部316が、32ビットテーブル部116からの出力と32ビットテーブル部312からの出力との排他的論理和を算出する点で、図2の場合と異なる。但し、図15の構成で、マスター鍵MKを用いるようにしてもよい。その場合、例えば平文P(t)とMKとの排他的論理和をとった後、S層部112へ入力する。
なお、IVP(t=0)は、内部状態の値RP(t−1)の初期値を示す。IVC(t=0)は、内部状態の値RC(t−1)の初期値を示す。
図16は、復号化装置32の機能構成を示す概略構成図である。図16における各部のうち、図5の各部に対応して同様の機能を有する部分には同一の符号(151〜159)を付して説明を省略する。
図16の構成では、内部状態の値としてRP及びRCを用いている点、排他的論理和部351が、RP(t−1)とRC(t−1)との排他的論理和を算出する点、S層部352が、排他的論理和部351からの出力を変換した後に、32ビットテーブル部354がS層部352からの出力に対して変換を行う点、32ビットテーブル部354が、S層部352からの出力に対して変換を行う点、排他的論理和部353が、C’(t)と32ビットテーブル部354からの出力との排他的論理和を算出し、排他的論理和部358が、排他的論理和部155からの出力と、排他的論理和部353からの出力との排他的論理和を算出する点で、図5の場合と異なる。
図15及び図16に示す構成では、CBCモードで使用する内部状態の値RC(t)に加えてRP(t)を併用する。かつ、暗号化を行う内部状態に相当する値と、CBCモードにおける復号化を行う内部状態に相当する値とで、異なる値を使う。これにより、C’(t)の値は、P(t)の値は変化しない場合でもクロックタイミングと共に変化する。この点で、暗号化装置31では、その出力値から内部構成を推定することが困難である。
図15の排他的論理和部114及び316の出力が、暗号化を行う内部状態に相当する値の例に該当する。排他的論理和部353及び358の出力が、復号化を行う内部状態に相当する値の例に該当する。
また、図15及び図16に示す構成では、暗号化装置31は、C(t)を送信する代わりに、C’(t)を送信する。この点で、暗号化装置がC(t)を送信する場合と比較して、攻撃者が32ビットテーブルの内容を把握することが困難である。
また、攻撃者が、暗号化された通信データを傍受するだけでなく、暗号回路を手に入れて入力と出力との差にて攻撃を行うことも考えられる。これに対し、図15及び図16に示す構成では、内部状態に平文と暗号文の排他的論理和を使用することにより、攻撃者に回路を手に入れられても、攻撃者がマスターキーを入手することを防げる可能性がある。図15の排他的論理和部311、及び、図16の排他的論理和部351が、この排他的論理和の例に該当する。
図17は、暗号化装置31が行う処理の手順をクロックタイミングt=0からt=2までの範囲について示す図である。図17では、内部状態の値RP(t)とRC(t)との排他的論理和をR(t)と表記している。また、S層部が行う処理、S−1層部が行う処理をそれぞれS、S−1で表記している。また、32ビットテーブル部が行う処理をfで表記している。
図17に示されるように、暗号化装置31は、内部状態の値の初期値IV1(t=0)及びIV2(t=0)に基づいてクロックタイミングt=0における処理を行う。また、暗号化装置31は、クロックタイミングt=0で得られた内部状態の値から算出したR(1)に基づいて、クロックタイミングt=1における処理を行う。また、暗号化装置31は、クロックタイミングt=1で得られた内部状態の値から算出したR(2)に基づいて、クロックタイミングt=2における処理を行う。
図18は、復号化装置32が行う処理の手順をクロックタイミングt=0からt=2までの範囲について示す図である。図17の場合と同様、図18では、内部状態の値RP(t)とRC(t)との排他的論理和をR(t)と表記している。また、S層部が行う処理をそれぞれSで表記している。また、32ビットテーブル部が行う処理をf及びf−1で表記している。具体的には、図16の32ビットテーブル部151及び354が行う処理をfで表記し、32ビットテーブル部156が行う処理をf−1で表記している。
図18に示されるように、復号化装置32は、内部状態の値の初期値IV1(t=0)及びIV2(t=0)に基づいてクロックタイミングt=0における処理を行う。また、復号化装置32は、クロックタイミングt=0で得られた内部状態の値R(1)に基づいて、クロックタイミングt=1における処理を行う。また、復号化装置32は、クロックタイミングt=1で得られた内部状態の値R(2)に基づいて、クロックタイミングt=2における処理を行う。
図19は、図17及び18にてfで表記した32ビットテーブル部が行う処理の内容の例を示す図である。図19では、32ビットテーブル部が行う処理を、f関数という名称の関数として表記している。図19の例で、f関数は、8ビットのデータx〜xの各々の入力を受けることで、32ビットのデータの入力を受ける。
f関数に入力されたデータをT層が8ビット単位で転置を行い、S層(非線形層)が8ビット単位で置き換えを行う。さらにS層からのデータに対し、P層(線形層)が32ビット単位で行列計算を行う。その後、排他的論理和部がP層からの出力とCSTとの排他的論理和を算出する。排他的論理和部の各々は、8ビットのデータを出力する。f関数は、8ビットのデータy〜yの組み合わせにて32ビットのデータを出力する。32ビットテーブル部は、変換テーブルを用いてf関数の機能を実行する。
なお、図2〜図18の32ビットテーブルが行う処理は、T層が入力されたデータx〜xをそのままb〜bに出力する場合の処理の例に該当する。
ここで、32ビットテーブル部312は、第二送信側変換テーブルの例に該当し、内部状態値に対して非線形変換を行うS層部113からの出力に対して、32ビットテーブル部116と同じ処理を行う。排他的論理和部316は、第二排他的論理和部の例に該当し、32ビットテーブル部116からの出力と32ビットテーブル部312からの出力との排他的論理和を算出する。
<第4実施形態>
図20は、本発明の第4実施形態に係る暗号通信システムの機器構成を示す概略構成図である。図20に示すように、暗号通信システム40は、暗号化装置41と、復号化装置42とを備える。
暗号化装置41は、通信対象のデータを暗号化して送信する。
復号化装置42は、暗号化装置41が暗号化したデータを受信して復号化する。
図21は、暗号化装置41の機能構成を示す概略構成図である。図21に示すように、暗号化装置41は、それぞれ32ビットのデータを処理する2つの系統を用いて64ビットのデータを暗号化する。
図21の各部のうち、排他的論理和部411及び431は、いずれも図15の排他的論理和部311に対応する。S層部412及び432は、いずれもS層部112に対応する。S層部413及び433は、いずれもS層部113に対応する。排他的論理和部414及び434は、いずれも排他的論理和部114に対応する。S−1層部415及び435は、いずれもS−1層部115に対応する。これら、図15の部分に対応して同様の機能を有する部分については、説明を省略する。
また、32ビットテーブル部416、417、418、436及び437は、いずれも図19を参照して説明したf関数の処理を行う。
図22は、f関数におけるT層の第1の構成例を示す図である。図22に示すT層の構成Tでは、入力されたデータx’〜x’をそのままb〜bに出力する。T層に入力されるデータx’〜x’は、32ビットテーブル部に入力されるデータx〜xに対応する。
図21で「f」と表記されている32ビットテーブル部416、418及び437では、T層は図22のTの構成になっている。
図23は、f関数におけるT層の第2の構成例を示す図である。図23に示すT層の構成Tでは、入力されたデータx’、x’ 、x’、x’をそれぞれb、b、b、bに出力する。
図21で「f」と表記されている32ビットテーブル部417及び436では、T層は図23のTの構成になっている。
図21の排他的論理和部419は、平文の入力データの一部であるP1(t)と、32ビットテーブル部416との排他的論理和を算出する。排他的論理和部420は、排他的論理和部419の出力と、32ビットテーブル部417の出力との排他的論理和を算出する。排他的論理和部420の出力は、暗号化された送信データの一部であるC’1(t)として暗号化装置41から復号化装置42へ送信される。排他的論理和部421は、32ビットテーブル部417からの出力と、32ビットテーブル部及び418からの出力との排他的論理和を算出する。
排他的論理和部422は、排他的論理和部420からの出力と、排他的論理和部421からの出力との排他的論理和を算出する。
排他的論理和部438は、平文の入力データの一部であるP0(t)と、32ビットテーブル部436との排他的論理和を算出する。排他的論理和部439は、排他的論理和部438の出力と、32ビットテーブル部437の出力との排他的論理和を算出する。排他的論理和部439の出力は、暗号化された送信データの一部であるC’0(t)として暗号化装置41から復号化装置42へ送信される。
図24は、復号化装置42の機能構成を示す概略構成図である。図21に示すように、復号化装置42は、それぞれ32ビットのデータを処理する2つの系統を用いて64ビットのデータを復号化する。
図24の各部のうち、排他的論理和部451及び461は、いずれも図16の排他的論理和部351に対応する。S層部452及び462は、いずれもS層部352に対応する。32ビットテーブル部453及び463は、いずれも32ビットテーブル部354に対応する。
排他的論理和部454は、暗号化装置41からの受信データの一部であるC’0(t)と、32ビットテーブル部453との排他的論理和を算出する。排他的論理和部464は、暗号化装置41からの受信データの一部であるC’1(t)と、32ビットテーブル部463との排他的論理和を算出する。32ビットテーブル部455及び465は、いずれも32ビットテーブル部151に対応する。
排他的論理和部456は、32ビットテーブル部455からの出力と、CSTとの排他的論理和を算出する。排他的論理和部466は、32ビットテーブル部465からの出力と、CSTとの排他的論理和を算出する。排他的論理和部457は、排他的論理和部454からの出力と、排他的論理和部456からの出力との排他的論理和を算出する。排他的論理和部467は、排他的論理和部464からの出力と、排他的論理和部466からの出力との排他的論理和を算出する。
32ビットテーブル部471は、排他的論理和部467の出力に対して変換を行う。排他的論理和部472は、排他的論理和部457の出力と、32ビットテーブル部471からの出力との排他的論理和を算出する。排他的論理和部472の出力は、復号化された通信データの一部であるデータP0(t)を構成する。
32ビットテーブル部473は、排他的論理和部472の出力に対して変換を行う。排他的論理和部474は、排他的論理和部467の出力と、32ビットテーブル部473からの出力との排他的論理和を算出する。排他的論理和部474の出力は、復号化された通信データの一部であるデータP1(t)を構成する。
図22に示される32ビットテーブル部のうち、32ビットテーブル部453、455、465及び473では、図19を参照して説明したf関数のT層が、図22のTの構成になっている。一方、32ビットテーブル部463及び471では、f関数のT層が、図23のTの構成になっている。
以上のように、S層部112及び113は、データに対して非線形変換を行う。S層部112は、送信対象に御データに対して非線形変換を行う。S層部113は、内部状態値に対して非線形変換を行う。排他的論理和部114は、S層部112及び113からの出力の排他的論理和を算出する。S−1層部115は、排他的論理和部114からの出力に対して非線形変換の逆変換を行う。32ビットテーブル部116は、送信側逆非線形変換部からの出力に対して非線形変換を行った後に線形変換を行い暗号化された通信データとして出力する。32ビットテーブル部151は、32ビットテーブル部116と同じ変換を行う。排他的論理和部155は、32ビットテーブル部151の出力と暗号化装置11からの暗号化された通信データとの排他的論理和を算出する。32ビットテーブル部156は、排他的論理和部155からの出力を受けて送信側変換テーブル部の変換に対する逆変換を行う。
これにより、暗号通信システム10では、平文の通信データを32ビットテーブル部で変換したデータ(図9のC(t))の送信に代えて、平文の通信データに対して排他的論理和部114による変換を行った後に32ビットテーブル部で変換したデータ(図2のC’(t))を送信する。この点で暗号通信システム10によれば、攻撃者がC’(t)を傍受しても、図9に示される構成の場合と比較して32ビットテーブル部151又は156の内容を把握することが困難である。このように、暗号通信システム10によれば、通信信号など攻撃者が傍受可能なデータから暗号化を行う装置の内部を把握することを比較的困難にすることができる。
暗号通信システム20、30及び40についても同様である。
また、暗号通信システム10では、平文の通信データを32ビットテーブル部で変換したデータ(図9のC(t))の送信に代えて、平文の通信データに対して内部状態値による変換を行った後に32ビットテーブル部で変換したデータ(図2のC’(t))を送信する。この点で暗号通信システム10によれば、攻撃者がC’(t)を傍受しても、図9に示される構成の場合と比較して32ビットテーブル部151又は156の内容を把握することが困難である。このように、暗号通信システム10によれば、通信信号など攻撃者が傍受可能なデータから暗号化を行う装置の内部を把握することを比較的困難にすることができる。
暗号通信システム20、30及び40についても同様である。
また、暗号化装置21のS層部112は、送信対象のデータと1つ前のクロックタイミングの送信側変換テーブル部(32ビットテーブル部116)からの出力との排他的論理和に対して非線形変換を行う。
暗号化装置21では、このように32ビットテーブル部116からの出力を、クロックタイミングをずらして用いて暗号化に反映させることで、通信信号など攻撃者が傍受可能なデータから暗号化を行う装置の内部を把握することを比較的困難にすることができる。
また、32ビットテーブル部312は、S層部113からの出力に対して、32ビットテーブル部116と同じ処理を行う。排他的論理和部316は、32ビットテーブル部116からの出力と32ビットテーブル部312からの出力との排他的論理和を算出する。
これにより、暗号通信システム30では、攻撃者に対して32ビットテーブル部の内容をより確実に隠すことができる。
なお、暗号通信システム10、20、30及び40が実行する機能の全部又は一部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
10、20、30,40 暗号通信システム
11、21、31、41 暗号化装置
12、22、32、42 復号化装置
111、114、119、154、155、157、160 排他的論理和部
112、113、117、152 S層部
115、159 S−1層部
116、151、156 32ビットテーブル部
118、153 P層部
158 P−1層部

Claims (3)

  1. 暗号化装置と復号化装置とを備え、
    前記暗号化装置は、
    送信対象のデータに対して所定の非線形変換を行う第1非線形変換部と、
    前記暗号化装置の内部状態値に対して前記所定の非線形変換を行う第2非線形変換部と、
    前記第1非線形変換部からの出力と前記第2非線形変換部からの出力との排他的論理和を算出する送信側排他的論理和部と、
    前記送信側排他的論理和部からの出力に対して前記所定の非線形変換の逆変換を行う送信側逆非線形変換部と、
    前記送信側逆非線形変換部からの出力に対して前記所定の非線形変換を行った後に所定の線形変換を行い暗号化された通信データとして出力する送信側変換テーブル部と、
    を備え、
    前記復号化装置は、
    前記復号化装置の内部状態値に対して前記送信側変換テーブル部と同じ前記所定の非線形変換を行った後に前記所定の線形変換を行う受信側変換テーブル部と、
    前記受信側変換テーブル部の出力と前記暗号化装置からの暗号化された通信データとの排他的論理和を算出する受信側排他的論理和部と、
    前記受信側排他的論理和部からの出力を受けて前記送信側変換テーブル部の変換に対する逆変換として前記所定の線形変換の逆変換を行った後に前記所定の非線形変換の逆変換を行う受信側逆変換テーブル部と、
    を備える、
    暗号通信システム。
  2. 前記第1非線形変換部は、送信対象のデータと1つ前のクロックタイミングの前記送信側変換テーブル部からの出力との排他的論理和に対して前記所定の非線形変換を行う、
    請求項1に記載の暗号通信システム。
  3. 前記暗号化装置は、
    前記内部状態値に対して前記所定の非線形変換を行う非線形変換部からの出力に対して、前記送信側変換テーブル部と同じ処理を行う第二送信側変換テーブル部と、
    前記送信側変換テーブル部からの出力と前記第二送信側変換テーブル部からの出力との排他的論理和を算出する第二排他的論理和部と、
    を備える請求項1に記載の暗号通信システム。
JP2017119858A 2017-06-19 2017-06-19 暗号通信システム Active JP6836964B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017119858A JP6836964B2 (ja) 2017-06-19 2017-06-19 暗号通信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017119858A JP6836964B2 (ja) 2017-06-19 2017-06-19 暗号通信システム

Publications (2)

Publication Number Publication Date
JP2019003144A JP2019003144A (ja) 2019-01-10
JP6836964B2 true JP6836964B2 (ja) 2021-03-03

Family

ID=65007962

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017119858A Active JP6836964B2 (ja) 2017-06-19 2017-06-19 暗号通信システム

Country Status (1)

Country Link
JP (1) JP6836964B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09251267A (ja) * 1996-03-15 1997-09-22 Toshiba Corp 暗号化装置及び暗号化方法
JP3724399B2 (ja) * 2001-01-23 2005-12-07 株式会社日立製作所 疑似乱数生成装置またはそれを用いた暗号復号処理装置
JP2011085739A (ja) * 2009-10-15 2011-04-28 Hitachi Ltd 暗号アルゴリズムの計算方法、及び装置
JP2012023618A (ja) * 2010-07-15 2012-02-02 Laurel Bank Mach Co Ltd 暗号装置及び暗号プログラム

Also Published As

Publication number Publication date
JP2019003144A (ja) 2019-01-10

Similar Documents

Publication Publication Date Title
US8155311B2 (en) Method and apparatus for encrypting message for maintaining message integrity, and method and apparatus for decrypting message for maintaining message integrity
US9497021B2 (en) Device for generating a message authentication code for authenticating a message
US7827408B1 (en) Device for and method of authenticated cryptography
Gueron et al. AES-GCM-SIV: Nonce misuse-resistant authenticated encryption
US10623176B2 (en) Authentication encryption method, authentication decryption method, and information-processing device
EP2829010B1 (en) Updating key information
JP5855696B2 (ja) 完全性検証を含むブロック暗号化方法およびブロック復号化方法
JP2013186157A (ja) 暗号処理装置
US9893880B2 (en) Method for secure symbol comparison
KR20140143210A (ko) 암호화 장치, 복호화 장치, 암호화 방법, 복호화 방법, 및 프로그램
JPWO2011105367A1 (ja) ブロック暗号化装置、ブロック復号装置、ブロック暗号化方法、ブロック復号方法及びプログラム
WO2016088453A1 (ja) 暗号化装置、復号装置、暗号処理システム、暗号化方法、復号方法、暗号化プログラム、及び復号プログラム
KR20100033231A (ko) 고속처리 가능한 아리아 암복호화 장치
El-Zoghdy et al. How good is the DES algorithm in image ciphering
CN111556004A (zh) 混合式双重网络加密系统
Singh et al. Comparative study of DES, 3DES, AES and RSA
JP6187624B1 (ja) 情報処理装置、情報処理方法及びプログラム
JP6836964B2 (ja) 暗号通信システム
JP2011523103A5 (ja)
JP6167721B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法及びプログラム
Švenda Basic comparison of Modes for Authenticated-Encryption (IAPM, XCBC, OCB, CCM, EAX, CWC, GCM, PCFB, CS)
KR101945885B1 (ko) 동형 암호화된 데이터의 연산의 위변조를 판단하는 방법
CN109905232B (zh) 一种签解密方法、系统、设备及计算机可读存储介质
JP5431191B2 (ja) 認証付きストリーム暗号の暗号化装置、認証付きストリーム暗号の復号化装置、暗号化方法、復号化方法およびプログラム
CN115361109A (zh) 一种支持双向代理重加密的同态加密方法

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20181116

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191101

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201013

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201209

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210208

R150 Certificate of patent or registration of utility model

Ref document number: 6836964

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250