JP2009077286A - 半導体デバイス間通信方法および装置 - Google Patents
半導体デバイス間通信方法および装置 Download PDFInfo
- Publication number
- JP2009077286A JP2009077286A JP2007245916A JP2007245916A JP2009077286A JP 2009077286 A JP2009077286 A JP 2009077286A JP 2007245916 A JP2007245916 A JP 2007245916A JP 2007245916 A JP2007245916 A JP 2007245916A JP 2009077286 A JP2009077286 A JP 2009077286A
- Authority
- JP
- Japan
- Prior art keywords
- data
- bit
- exclusive
- external
- external 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.)
- Withdrawn
Links
Images
Landscapes
- Dc Digital Transmission (AREA)
Abstract
【課題】回路規模を抑えた上で、通信データの秘匿性の向上および回路内部動作の不正な解析・推定の防止を図る。
【解決手段】送信側デバイス10から、受信側デバイス20に送信するとき、エンコーダ11は、入力データの内のデータX0を初期値の外部データBiとし、その外部データBiと入力データX0との排他的論理和を外部データB0とし、入力データX0とX1の排他的論理和を外部データB1とし、入力データX1とX2の排他的論理和を外部データB2とし、以下nビット目まで同様の演算を行い、外部データBiとB0〜Bn−1を出力する。デコーダ21は、初期値の外部データBiとB0との排他的論理和を出力データY0とし、出力データY0と外部データB1の排他的論理和を出力データY1とし、出力データY1と外部データB2の排他的論理和を出力データY2とし、以下nビット目まで同様の演算を行い、出力データY0〜Yn−1を出力する。
【選択図】図1
【解決手段】送信側デバイス10から、受信側デバイス20に送信するとき、エンコーダ11は、入力データの内のデータX0を初期値の外部データBiとし、その外部データBiと入力データX0との排他的論理和を外部データB0とし、入力データX0とX1の排他的論理和を外部データB1とし、入力データX1とX2の排他的論理和を外部データB2とし、以下nビット目まで同様の演算を行い、外部データBiとB0〜Bn−1を出力する。デコーダ21は、初期値の外部データBiとB0との排他的論理和を出力データY0とし、出力データY0と外部データB1の排他的論理和を出力データY1とし、出力データY1と外部データB2の排他的論理和を出力データY2とし、以下nビット目まで同様の演算を行い、出力データY0〜Yn−1を出力する。
【選択図】図1
Description
本発明は、半導体デバイス間で外部データバスを使用してデータ送受信を行う際に、やり取りされる信号に対して簡易な方法による暗号化処理を施すことにより、回路規模の増大を極力抑えた上で通信データの秘匿性の向上および回路内部動作の不正な解析・推定の防止を図った半導体デバイス間通信方法および装置に関するものである。
従来から、複数の半導体デバイス間(CPU−外部メモリ、CPU−CPUなど)で通信を行う場合、外部データバスにより各デバイスを接続し、データ、アドレス、制御信号などをその外部データバスを介してやり取りしている。このとき、外部データバスの複数の信号線からプローブを取ることが可能であるが、これを第三者に実行されると、デバイス間でやり取りされる情報を観測され、重要データを盗聴されたり、回路の内部動作を不正に解読・推定される恐れがある。
これに対して、ダミー信号をその外部データバスで同時に送信したり、データ自体を高度に暗号化して送信したり、特許文献1に記載のようにバス伝送するデータの一部をラッチして、そのラッチデータにより伝送データを暗号化する方法などが提案されている。
特開2004−72673号公報
ところが、ダミー信号を同時に送信する方法では、秘匿性を高めるためには、バス幅が広くなり、ダミー信号線数がより多く必要となる。また、データそのものを暗号化する方法では、デバイス内に複雑な暗号化/復号化の処理機能を搭載する必要があり回路規模が増大する。また、特許文献1に記載のものは、送受信側に備えられるラッチ回路にラッチさせるデータの値を同期させなければならない。
本発明の目的は、簡易な構成により実現でき、また送受間で同期をとる必要もなく、回路規模の増大を極力抑えた上で、通信データの秘匿性の向上および回路内部動作の不正な解析・推定の防止を図った半導体デバイス間通信方法および装置を提供することである。
上記目的を達成するために、本発明の半導体デバイス間通信方法は、エンコーダを組み込んだ送信側デバイスから、外部データバスを経由して、デコーダを組み込んだ受信側デバイスにnビットの並列データを送信するとき、前記エンコーダにおいて、入力データの内の1ビット目のデータを初期値の外部データとし、該初期値の外部データと前記1ビット目のデータとの排他的論理和を1ビット目の外部データとし、前記入力データの内の前記1ビット目のデータと2ビット目のデータとの排他的論理和を2ビット目の外部データとし、前記入力データの内の前記2ビット目のデータと3ビット目のデータとの排他的論理和を3ビット目の外部データとし、以後これをnビット目の外部データまで繰り返し、前記デコーダにおいて、前記初期値の外部データと前記1ビット目の外部データとの排他的論理和を1ビット目の出力データとし、該1ビット目の出力データと前記2ビット目の外部データとの排他的論理和を2ビット目の出力データとし、該2ビット目の出力データと前記3ビット目の外部データとの排他的論理和を3ビット目の出力データとし、以後これをnビット目の出力データまで繰り返す、ことを特徴とする。
請求項2にかかる発明は、請求項1に記載の半導体デバイス間通信方法において、前記エンコーダにおける前記入力データの1ビット目〜nビット目を、nビットの前記入力データの並び順に対して任意に並び替えたビットとし、前記デコーダにおける前記各排他的論理和の結果を、前記並び替えに応じて並び替えて、前記1ビット目〜nビット目の出力データとする、ことを特徴とする。
請求項3にかかる発明の半導体デバイス間通信装置は、エンコーダを組み込んだ送信側デバイスから、外部データバスを経由して、デコーダを組み込んだ受信側デバイスにnビットの並列データを送信する半導体デバイス間通信装置において、前記エンコーダは、入力データの内の1ビット目のデータを初期値の外部データとして出力するスルー経路と、該初期値の外部データと前記1ビット目のデータとの演算結果を1ビット目の外部データとして出力する第1の排他的論理和回路と、前記入力データの内の前記1ビット目のデータと2ビット目のデータとの演算結果を2ビット目の外部データとして出力する第2の排他的論理和回路と、前記入力データの内の前記2ビット目のデータと3ビット目のデータとの演算結果を3ビット目の外部データとして出力する第3の排他的論理和回路と、・・・・、前記入力データの内の前記n−1ビット目のデータとnビット目のデータとの演算結果をnビット目の外部データとして出力する第nの排他的論理和回路とを備え、前記デコーダは、前記初期値の外部データと前記1ビット目の外部データとの演算結果を1ビット目の出力データとして出力する第n+1の排他的論理和回路と、前記1ビット目の出力データと前記2ビット目の外部データとの演算結果を2ビット目の出力データとして出力する第n+2の排他的論理和回路と、前記2ビット目の出力データと前記3ビット目の外部データとの演算結果を3ビット目の出力データとして出力する第n+3の排他的論理和回路と、・・・・、前記n−1ビット目の出力データと前記nビット目の外部データとの演算結果をnビット目の出力データとして出力する第2nの排他的論理和回路とを備える、ことを特徴とする。
請求項4にかかる発明は、請求項3に記載の半導体デバイス間通信装置において、前記エンコーダにおける前記入力データの1ビット目〜nビット目を、nビットの前記入力データの並び順に対して任意に並び替えたビットとし、前記デコーダにおける前記各排他的論理和の演算結果を、前記並び替えに応じて並び替えて、前記1ビット目〜nビット目の出力データとした、ことを特徴とする。
請求項2にかかる発明は、請求項1に記載の半導体デバイス間通信方法において、前記エンコーダにおける前記入力データの1ビット目〜nビット目を、nビットの前記入力データの並び順に対して任意に並び替えたビットとし、前記デコーダにおける前記各排他的論理和の結果を、前記並び替えに応じて並び替えて、前記1ビット目〜nビット目の出力データとする、ことを特徴とする。
請求項3にかかる発明の半導体デバイス間通信装置は、エンコーダを組み込んだ送信側デバイスから、外部データバスを経由して、デコーダを組み込んだ受信側デバイスにnビットの並列データを送信する半導体デバイス間通信装置において、前記エンコーダは、入力データの内の1ビット目のデータを初期値の外部データとして出力するスルー経路と、該初期値の外部データと前記1ビット目のデータとの演算結果を1ビット目の外部データとして出力する第1の排他的論理和回路と、前記入力データの内の前記1ビット目のデータと2ビット目のデータとの演算結果を2ビット目の外部データとして出力する第2の排他的論理和回路と、前記入力データの内の前記2ビット目のデータと3ビット目のデータとの演算結果を3ビット目の外部データとして出力する第3の排他的論理和回路と、・・・・、前記入力データの内の前記n−1ビット目のデータとnビット目のデータとの演算結果をnビット目の外部データとして出力する第nの排他的論理和回路とを備え、前記デコーダは、前記初期値の外部データと前記1ビット目の外部データとの演算結果を1ビット目の出力データとして出力する第n+1の排他的論理和回路と、前記1ビット目の出力データと前記2ビット目の外部データとの演算結果を2ビット目の出力データとして出力する第n+2の排他的論理和回路と、前記2ビット目の出力データと前記3ビット目の外部データとの演算結果を3ビット目の出力データとして出力する第n+3の排他的論理和回路と、・・・・、前記n−1ビット目の出力データと前記nビット目の外部データとの演算結果をnビット目の出力データとして出力する第2nの排他的論理和回路とを備える、ことを特徴とする。
請求項4にかかる発明は、請求項3に記載の半導体デバイス間通信装置において、前記エンコーダにおける前記入力データの1ビット目〜nビット目を、nビットの前記入力データの並び順に対して任意に並び替えたビットとし、前記デコーダにおける前記各排他的論理和の演算結果を、前記並び替えに応じて並び替えて、前記1ビット目〜nビット目の出力データとした、ことを特徴とする。
本発明によれば、送信側デバイスにエンコーダを組み込み、受信側デバイスにデコーダを組み込んで送受信を行う事で、外部データバス上でやり取りされる信号を観測しても、元のデータとはなんら関係ないビット列が観測されるだけで、回路動作を解読・推定したり送受信データを盗聴をする事ができなくなる。また、送信側や受信側のデバイス本来の動作仕様・入出力仕様には一切の変更はなく、この暗号化処理のための特別な同期方法も必要とせず、また、本来のシステムに対して、1本の初期値用の信号線と各デバイス内に簡易で小規模なエンコーダやデコーダ回路を追加するだけで上記の機能が実現できる。
図1は本発明の1つの実施例の半導体デバイス間通信装置の構成を示すブロック図であり、ビット幅nの並列データの伝送の場合を示す。10は送信側デバイスであり、入力データX0〜Xn−1(X0:LSB、Xn−1:MSB)を取り込み、外部データBiとB0〜Bn−1を出力するエンコーダ11を備える。20は受信側デバイスであり、外部データBiとB0〜Bn−1を取り込み、出力データY0〜Yn−1(Y0:LSB、Yn−1:MSB)を出力するデコーダ21を備える。30は外部データバスであり、外部データBiとB0〜Bn−1を伝送するので、n+1本の信号線をもつ。
図2はエンコーダ11の構成を示す回路図である。このエンコーダ11は、n個の排他的論理和回路120〜12n−1を備え、入力データX0〜Xn−1を入力すると、初期値の外部データBiは、スルー経路を介して、
Bi=X0
となる。また、排他的論理和回路120は、
B0=Bi・XOR・X0
のように演算して、1ビット目の外部データB0を出力する。さらに、排他的論理和回路121〜12n−1は、
B1=X0・XOR・X1
B2=X1・XOR・X2
:
Bn−1=Xn−2・XOR・Xn−1
のように演算して、2〜nビット目の外部データB1〜Bn−1を出力する。
Bi=X0
となる。また、排他的論理和回路120は、
B0=Bi・XOR・X0
のように演算して、1ビット目の外部データB0を出力する。さらに、排他的論理和回路121〜12n−1は、
B1=X0・XOR・X1
B2=X1・XOR・X2
:
Bn−1=Xn−2・XOR・Xn−1
のように演算して、2〜nビット目の外部データB1〜Bn−1を出力する。
図3はデコーダ21の構成を示す回路図である。このデコーダ21は、n個の排他的論理和回路220〜22n−1を備え、外部データBi、B0〜Bn−1を入力すると、排他的論理和回路220は、
Y0=Bi・XOR・B0
のように演算して、1ビット目の出力データY0を出力する。また、排他的論理和回路221〜22n−1は、
Y1=Y0・XOR・B1
Y2=Y1・XOR・B2
:
Yn−1=Yn−2・XOR・Bn−1
のように演算して、2〜nビット目の出力データY1〜Yn−1を出力する。
Y0=Bi・XOR・B0
のように演算して、1ビット目の出力データY0を出力する。また、排他的論理和回路221〜22n−1は、
Y1=Y0・XOR・B1
Y2=Y1・XOR・B2
:
Yn−1=Yn−2・XOR・Bn−1
のように演算して、2〜nビット目の出力データY1〜Yn−1を出力する。
このような処理を送受信双方で行うと、X1〜Xn−1=Y1〜Yn−1となり、送信側が出力したnビットの並列データは、受信側で元通りのデータに復元される。
本実施例では、あるビットを復号するためには、既に復号された上流のビット値の情報が必要であり、それは受信側デバイス20の内部でしかわからないため、外部データバス30上に現れている外部データBi、B0〜Bn−1を観測したとしても、元の入力データX0〜Xn−1を推測することはできない。また、本実施例では回路本来の特別な改良は不要で、複雑で大規模な暗号化アルゴリズムを必要とせず、簡易な構成のエンコーダ11とデコーダ21を挿入するだけで済み、nビット幅の外部データバス30にデータBiの信号線を1本追加するだけで実現できる。さらに、両デバイス10,20間で暗号化処理を行うための特別な同期方法も必要としない。
ここで、2つのデバイス10,20間で外部データバス30を使用し、8ビット幅のデータ送受信を行う場合は、エンコーダ11の入力データ、外部データバスの出力データ、デコーダ21の出力データは、図4に示すようになる。すなわち、入力データを、{X7〜X0}={0、0、1、1、1、0、1、1}とすると、エンコーダ11により、Bi=X0=1、B0=Bi・XOR・X0=0、B1=X0・XOR・X1=0、B2=X1・XOR・X2=1、・・・・、となり、{B7〜B0}={0、1、0、0、1、1、0、0}の外部データが生成される。
デバイス20では、外部データBiと{B7〜B0}を受信し、デコーダ21によりY0=Bi・XOR・B0=1、Y1=Y0・XOR・B1=1、Y2=Y1・XOR・B2=0、・・・・となり、{Y7〜Y0}={0、0、1、1、1、0、1、1}の出力データが生成される。よって、{X7〜X0}={Y7〜Y0}となり、元の信号が正しく復元できる。
同様に、図5に示すように、入力データを、{X7〜X0}={1、0、1、0、0、0、1、0}としたときは、Bi=0、{B7〜BO}={1、1、1、0、0、1、1、0}の外部データとなり、{Y7〜Y0}={1、0、1、0、0、0、1、0}の出力データが生成され、{X7〜X0}={Y7〜Y0}となる。
なお、以上説明したエンコーダ11の入力データX0〜Xn−1は、排他的論理和回路120〜12n−1に対して、入力データX0〜Xn−1の並び順序をランダムに変更して接続することができる。この場合は、デコーダ21について、排他的論理和回路220〜22n−1の出力を、出力データY0〜Yn−1に対して、前記変更に対応して並び順序を変更すればよい。例えば、図6に示すように、入力データX0〜Xn−1の内のX0とX1の並びを逆にし、X2とX3の並びを逆にして、それぞれ排他的論理和回路に入力させるエンコーダ11Aを使用する場合は、図7に示すように、それに対応して、排他的論理和回路の出力を並び替えて、出力データY0〜Yn−1とするデコーダ21Aを使用すればよい。
また、以上では、データX0,Y0をLSB側(1ビット目)とし、データXn−1,Yn−1をMSB側(nビット目)としたが、データX0,B0,Y0をMSB側(1ビット目)とし、データXn−1,Bn−1,Yn−1をLSB側(nビット目)としてもよい。
10:送信側デバイス、11,11A:エンコーダ、120〜12n−1:排他的論理和回路
20:受信側デバイス、21,21A:デコーダ、220〜22n−1:排他的論理和回路
30:外部データバス
20:受信側デバイス、21,21A:デコーダ、220〜22n−1:排他的論理和回路
30:外部データバス
Claims (4)
- エンコーダを組み込んだ送信側デバイスから、外部データバスを経由して、デコーダを組み込んだ受信側デバイスにnビットの並列データを送信するとき、
前記エンコーダにおいて、入力データの内の1ビット目のデータを初期値の外部データとし、該初期値の外部データと前記1ビット目のデータとの排他的論理和を1ビット目の外部データとし、前記入力データの内の前記1ビット目のデータと2ビット目のデータとの排他的論理和を2ビット目の外部データとし、前記入力データの内の前記2ビット目のデータと3ビット目のデータとの排他的論理和を3ビット目の外部データとし、以後これをnビット目の外部データまで繰り返し、
前記デコーダにおいて、前記初期値の外部データと前記1ビット目の外部データとの排他的論理和を1ビット目の出力データとし、該1ビット目の出力データと前記2ビット目の外部データとの排他的論理和を2ビット目の出力データとし、該2ビット目の出力データと前記3ビット目の外部データとの排他的論理和を3ビット目の出力データとし、以後これをnビット目の出力データまで繰り返す、
ことを特徴とする半導体デバイス間通信方法。 - 請求項1に記載の半導体デバイス間通信方法において、
前記エンコーダにおける前記入力データの1ビット目〜nビット目を、nビットの前記入力データの並び順に対して任意に並び替えたビットとし、
前記デコーダにおける前記各排他的論理和の結果を、前記並び替えに応じて並び替えて、前記1ビット目〜nビット目の出力データとする、
ことを特徴とする半導体デバイス間通信方法。 - エンコーダを組み込んだ送信側デバイスから、外部データバスを経由して、デコーダを組み込んだ受信側デバイスにnビットの並列データを送信する半導体デバイス間通信装置において、
前記エンコーダは、入力データの内の1ビット目のデータを初期値の外部データとして出力するスルー経路と、該初期値の外部データと前記1ビット目のデータとの演算結果を1ビット目の外部データとして出力する第1の排他的論理和回路と、前記入力データの内の前記1ビット目のデータと2ビット目のデータとの演算結果を2ビット目の外部データとして出力する第2の排他的論理和回路と、前記入力データの内の前記2ビット目のデータと3ビット目のデータとの演算結果を3ビット目の外部データとして出力する第3の排他的論理和回路と、・・・・、前記入力データの内の前記n−1ビット目のデータとnビット目のデータとの演算結果をnビット目の外部データとして出力する第nの排他的論理和回路とを備え、
前記デコーダは、前記初期値の外部データと前記1ビット目の外部データとの演算結果を1ビット目の出力データとして出力する第n+1の排他的論理和回路と、前記1ビット目の出力データと前記2ビット目の外部データとの演算結果を2ビット目の出力データとして出力する第n+2の排他的論理和回路と、前記2ビット目の出力データと前記3ビット目の外部データとの演算結果を3ビット目の出力データとして出力する第n+3の排他的論理和回路と、・・・・、前記n−1ビット目の出力データと前記nビット目の外部データとの演算結果をnビット目の出力データとして出力する第2nの排他的論理和回路とを備える、
ことを特徴とする半導体デバイス間通信装置。 - 請求項3に記載の半導体デバイス間通信装置において、
前記エンコーダにおける前記入力データの1ビット目〜nビット目を、nビットの前記入力データの並び順に対して任意に並び替えたビットとし、
前記デコーダにおける前記各排他的論理和の演算結果を、前記並び替えに応じて並び替えて、前記1ビット目〜nビット目の出力データとした、
ことを特徴とする半導体デバイス間通信装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007245916A JP2009077286A (ja) | 2007-09-21 | 2007-09-21 | 半導体デバイス間通信方法および装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007245916A JP2009077286A (ja) | 2007-09-21 | 2007-09-21 | 半導体デバイス間通信方法および装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009077286A true JP2009077286A (ja) | 2009-04-09 |
Family
ID=40611816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007245916A Withdrawn JP2009077286A (ja) | 2007-09-21 | 2007-09-21 | 半導体デバイス間通信方法および装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009077286A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012209652A (ja) * | 2011-03-29 | 2012-10-25 | Advanced Telecommunication Research Institute International | 無線通信システム、通信装置、情報機器、及び無線通信方法 |
-
2007
- 2007-09-21 JP JP2007245916A patent/JP2009077286A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012209652A (ja) * | 2011-03-29 | 2012-10-25 | Advanced Telecommunication Research Institute International | 無線通信システム、通信装置、情報機器、及び無線通信方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lipmaa et al. | CTR-mode encryption | |
JP5779434B2 (ja) | セキュリティ装置及びセキュリティシステム | |
US7949807B2 (en) | Data conversion apparatus and data conversion method | |
US11153068B2 (en) | Encryption device, encryption method, decryption device and decryption method | |
CN106233660B (zh) | 加密处理设备、加密处理方法和程序 | |
JP2013047822A (ja) | メッセージ認証のための暗号化方法 | |
JP5863994B2 (ja) | 統合セキュリティ装置および統合セキュリティ装置に用いられる信号処理方法 | |
US20120314857A1 (en) | Block encryption device, block decryption device, block encryption method, block decryption method and program | |
US20150349951A1 (en) | Protecting Cryptographic Operations Using Conjugacy Class Functions | |
JP4860708B2 (ja) | ストリーム暗号方法および暗号システム | |
Dang et al. | Advanced AES algorithm using dynamic key in the internet of things system | |
JP2003198535A (ja) | データ転送システム | |
Mihaljević et al. | An approach for stream ciphers design based on joint computing over random and secret data | |
RU2459367C2 (ru) | Способ формирования переменного ключа для блочного шифрования и передачи шифрованных данных | |
WO2009142190A1 (ja) | 誤り検出機能を備える符号化又は復号処理のための回路構成 | |
Adamo et al. | Joint scheme for physical layer error correction and security | |
JP2007019789A (ja) | 乱数共有システムおよび方法 | |
US20140037088A1 (en) | Cryptographic method, cryptographic device, and cryptographic program | |
JP2009077286A (ja) | 半導体デバイス間通信方法および装置 | |
TWI705685B (zh) | 雙重網路加密系統 | |
JP5578422B2 (ja) | 暗号化通信システム、送信装置、受信装置、暗号化/復号化方法およびそれらのプログラム | |
Karudaiyar et al. | Encryption and Decryption Scheme by Using Finite State Machine | |
JP4990843B2 (ja) | 暗号演算装置、その方法、及びプログラム | |
JP2014232906A (ja) | 暗号処理システム | |
Alioto et al. | A general model of DPA attacks to precharged busses in symmetric-key cryptographic algorithms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20101207 |