JP4556252B2 - IC card, in-vehicle device and roadside device used for encryption conversion device, decryption conversion device, encryption communication device and automatic fee collection system - Google Patents

IC card, in-vehicle device and roadside device used for encryption conversion device, decryption conversion device, encryption communication device and automatic fee collection system Download PDF

Info

Publication number
JP4556252B2
JP4556252B2 JP11918799A JP11918799A JP4556252B2 JP 4556252 B2 JP4556252 B2 JP 4556252B2 JP 11918799 A JP11918799 A JP 11918799A JP 11918799 A JP11918799 A JP 11918799A JP 4556252 B2 JP4556252 B2 JP 4556252B2
Authority
JP
Japan
Prior art keywords
data
conversion
key
encryption
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.)
Expired - Lifetime
Application number
JP11918799A
Other languages
Japanese (ja)
Other versions
JP2000047580A5 (en
JP2000047580A (en
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP11918799A priority Critical patent/JP4556252B2/en
Publication of JP2000047580A publication Critical patent/JP2000047580A/en
Publication of JP2000047580A5 publication Critical patent/JP2000047580A5/en
Application granted granted Critical
Publication of JP4556252B2 publication Critical patent/JP4556252B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Traffic Control Systems (AREA)

Description

【発明の属する技術分野】
本発明は、コンピュータ、情報家電機器、自動料金徴収装置等の間で伝送されるデジタル・データの暗号・復号技術に関するものである。
【従来の技術】
一般に、デジタル情報家電機器においては、デジタルデータの不正な複写を防ぐための暗号化技術が必須となる。たとえば、デジタル放送受信機で受信したデジタル映像データを、デジタル録画機器にデジタル録画する場合、デジタル映像データに著作権があれば、それを保護する機能がそれぞれの装置に必要になる。
このような著作権保護システムを実現するためには、デジタルデータの複写制限の設定、機器間認証、デジタルデータのリアルタイム暗号化などの暗号技術を用い、データの改ざんや不正な複写を防止しなければならない。
暗号技術の従来例としては、例えば日本特開昭51-108701号公報に示されるDES暗号に代表される、共通鍵暗号方式が挙げられる。共通鍵暗号方式の多くは、簡単な変換を繰り返し行うことで、複雑な暗号変換を構成することを特徴としている。これらの暗号をより安全なものにする工夫は従来から様々な形でなされてきた。例えば、簡単な変換の繰り返し回数を大きくすることで、暗号文の統計的な特徴をより撹乱し、暗号解読を困難にできる。
【発明が解決しようとする課題】
しかし、変換の繰り返し回数を増やすことは、暗号変換に要する処理時間を増大してしまうことになる。したがって、簡単な変換の繰り返し回数を大きくすることによる安全性強化対策は、上述した著作権保護システムにおける、リアルタイム暗号化処理には適さないという問題があった。
本発明の目的は、暗号変換のアルゴリズムを可変にし、使用するアルゴリズムを第三者から隠すことで、暗号解読に強い、高速な暗号変換装置、復号変換装置、暗号通信装置および自動料金徴収装置を提供することにある。
【課題を解決するための手段】
暗号変換装置としては、
少なくとも1個の暗号鍵と、少なくとも1個のアルゴリズムパラメータと、平文データとを入力し、暗号文データを出力する暗号変換装置であって、
排他的論理和演算と、循環シフト演算と、加算演算とを各々少なくとも1回行う、暗号変換手段を複数段備え、
前記暗号変換手段は、入力データを、前記暗号鍵データから生成されるデータの一部と排他的論理和演算あるいは加算演算する、第1の演算手段と、
入力データを、前記アルゴリズムパラメータにより決定されるデータの一部と排他的論理和演算あるいは加算演算する、第2の演算手段と、
入力データを、前記アルゴリズムパラメータにより決定されるビット数だけ循環シフトする第3の演算手段を、各々少なくとも1個含み、
同一の前記暗号鍵と同一の前記アルゴリズムパラメータを用い、全ての前記暗号変換手段の中から任意に選んだ、連続した複数段の前記暗号変換手段を用いた変換は、全て異なっていることを特徴とする。
復号変換装置としては、
少なくとも1個の暗号鍵と、少なくとも1個のアルゴリズムパラメータと、暗号文データとを入力し、平文データを出力する復号変換装置であって、
前記暗号変換手段は、入力データを、前記暗号鍵データから生成されるデータの一部と排他的論理和演算あるいは加算演算する、第1の演算手段と、
入力データを、前記アルゴリズムパラメータにより決定されるデータの一部と排他的論理和演算あるいは加算演算する、第2の演算手段と、
入力データを、前記アルゴリズムパラメータにより決定されるビット数だけ循環シフトする第3の演算手段とを、各々少なくとも1個含み、
同一の前記暗号鍵と同一の前記アルゴリズムパラメータを用い、全ての前記復号変換手段の中から任意に選んだ、連続した複数段の前記復号変換手段を用いた変換は、全て異なっていることを特徴とする。
暗号通信装置としては、
通信を行う送信機器と受信機器の間で、お互いに等しい暗号鍵を用い、前記送信機器は平文を前記暗号鍵で暗号化して暗号文として送信し、前記受信機器は受信した前記暗号文を前記暗号鍵で復号化して前記平文を取得する共通鍵暗号を有する暗号通信装置であって、
前記送信機器は、暗号変換手段と、第1のアルゴリズム鍵保持手段を有し、
前記受信機器は、復号変換手段と、第2のアルゴリズム鍵保持手段を有し、
前記送信機器が有する前記暗号変換手段の変換アルゴリズムは、前記送信機器が有する前記第1のアルゴリズム鍵保持手段に保持されている、第1のパラメータにより決定され、
前記受信機器が有する前記復号変換手段の変換アルゴリズムは、前記受信機器が有する前記第2のアルゴリズム鍵保持手段に保持されている、第2のパラメータにより決定され、
前記送信機器と前記受信機器は、前記暗号鍵の他に、前記第1のパラメータと前記第2のパラメータが等しい場合のみ、前記送信機器が前記暗号鍵を用いて暗号化した前記暗号文を、前記受信機器が前記暗号鍵を用いて正しく復号化できることを特徴とする。
【発明の実施の形態】
以下、本発明の実施の形態を図面を用いて説明する。
図1は、本発明による暗号変換装置を備えたデータ送信機器と、本発明による復号変換装置を備えたデータ受信機器とが暗号通信を行う暗号通信装置の構成図である。図1において、データ送信機器1は、暗号変換部11と、鍵共有部12と、データ処理部13と、通信処理部14と、鍵長データ保持手段15を備える。また、データ受信機器2は、復号変換部31と、鍵共有部32と、データ処理部33と、通信処理部34を備える。データ送信機器1は例えばデジタル放送受信機が考えられる。また、データ受信機器2は例えばデジタル録画機器が考えられる。この場合、データ処理部13および33は、デジタル放送サービスが配信するMPEG2-TS (Transport Stream)形式のようなデジタル番組データを扱うこととなり、データ処理部13は、デジタル番組データの受信処理、多重分離処理、伸長処理、送信処理などを行い、データ処理部33はデジタル番組データの受信処理、伸長処理、蓄積処理などを行う。
データ送信機器1と、データ受信機器2が暗号通信を行う場合、まず、データを暗号化および復号化するために必要な暗号鍵と呼ばれるデータを共有する。暗号鍵の共有は、データ送信機器1の鍵共有部12と、データ受信機器2の鍵共有部32が、通信処理部14および通信処理部34を介し、メッセージを交換し合うことで行われる。この時、データ送信機器1の鍵長情報保持手段15に保持されている鍵長データを基に、暗号鍵の鍵長を決定する。二者間で共有する暗号鍵は、毎回異なっているのが望ましい。暗号鍵が異なれば生成される暗号文が異なるので、第三者による暗号文の解読攻撃を困難にできるからである。暗号鍵の共有の方法は様々な方法が考えられるが、例えば、デフィー・ヘルマンの鍵共有方法(例えば、岡本龍明他著,「現代暗号」, 産業図書株式会社発行 の特に第200頁乃至第202頁に詳しく記載されている)を用いる。これを用いれば、暗号鍵の共有のために交換するメッセージを第三者が盗聴しても、それらから暗号鍵を推定することが非常に困難であり、毎回異なった暗号鍵を安全に共有することが可能になる。
データ鍵の共有後、データ送信機器1は、データ処理部13が送信したいデータを出力し、これを暗号変換部11に入力する。ここで、データ処理部13から出力されるデータは暗号化されてなく、このようなデータを以下「平文」と呼ぶことにする。暗号変換部11は、暗号変換手段20と、鍵変換手段23と、アルゴリズム鍵保持手段24から成る。鍵変換手段23は、暗号鍵と鍵長データを基に変換鍵と呼ばれる複数のデータを生成する。ここで、鍵長データは、上述した暗号鍵共有の際に決定した暗号鍵の鍵長を表す。アルゴリズム鍵保持手段24はアルゴリズム鍵と呼ばれる複数のデータを保持している。暗号変換手段20が行う暗号変換アルゴリズムはアルゴリズム鍵により決定される。暗号変換手段20は、鍵変換手段23で生成した変換鍵と、アルゴリズム鍵保持手段24内のアルゴリズム鍵とを用いて、平文を暗号変換し、暗号文を出力する。暗号変換装置11で生成された暗号文は、通信処理部14でデータ受信機器2に送信される。
データ受信装置2は、通信処理部34で暗号文を受信し、受信した暗号文を復号変換部31に入力する。復号変換部31は、復号変換手段40と、鍵変換手段43と、アルゴリズム鍵保持手段44から成る。鍵変換手段43は、前述した鍵変換手段23と同様の構成であり、暗号鍵と、鍵長データを基に変換鍵を生成する。また、アルゴリズム鍵保持手段44は、前述したアルゴリズム鍵保持手段24と同様の構成であり、アルゴリズム鍵を保持している。復号変換手段40が行う復号変換アルゴリズムはアルゴリズム鍵により決定される。復号変換手段40は、暗号文を、鍵変換手段43で生成した変換鍵と、アルゴリズム鍵保持手段44内のアルゴリズム鍵とを用いて、復号変換する。ここで復号変換手段40は、前述した暗号変換手段20と、同一のアルゴリズム鍵を用いた場合のみ、暗号変換手段20で暗号変換した暗号文を、復号変換手段40で元の平文に復号変換することが可能になる。復号変換部31から出力された平文は、データ処理部33に入力され、データ処理が行われる。
以上説明したように、データ送信装置1とデータ受信装置2は、同一のアルゴリズム鍵を保持した場合のみ、暗号通信を行うことが可能になる。このアルゴリズム鍵を秘密情報として扱うことで、認証機能を有する暗号通信を実現することができる。すなわち、正当な機器のみが正しいアルゴリズム鍵を保持している構成にすれば、通信相手が正当な機器の場合のみ、暗号通信を行うことができる。これを実現するために、アルゴリズム鍵を生成して集中管理する鍵管理機関3を設けた例を図1に同時に示す。図1に示すように、正当な機器(ここでは、データ送信機器1とデータ受信機器2)は、鍵管理機関3からアルゴリズム鍵を外部に漏れないように安全に取得する。例えば、データ送信機器1およびデータ受信機器2の製造時に、鍵管理機関3が管理しているアルゴリズム鍵を、アルゴリズム鍵保持手段24およびアルゴリズム鍵保持手段44に埋め込んでおくことが考えられる。
この時、データ受信機器1は、鍵長データも同時に取得しておく。これによって、正しいアルゴリズム鍵を保持している正当な機器が送信する暗号文は、正しいアルゴリズム鍵を保持している正当な機器しか復号化することができない。また、暗号鍵に加えて、アルゴリズム鍵も秘密情報であるので、第三者による通信路上を流れる暗号文の解読攻撃をより困難にすることができる。
また、データ送信機1は、鍵長データを鍵管理機関3から取得し、これを基に暗号鍵を生成するので、暗号鍵の鍵長の更新が可能になる。例えば新規に製造するデータ送信機器に、更新した鍵長データを埋め込んでおけば、新規に製造されたデータ送信機器との暗号通信においては、暗号鍵の鍵長が更新できる。これによって、将来において暗号鍵の鍵長を長くし、より安全性を向上することができる。また、製品を出荷する地域によって鍵長を変更することができる。
図2は、暗号変換部11の詳細なブロック図の一例を示す。ここで、暗号変換部11には、64ビットの平文と、40ビットあるいは64ビットの暗号鍵と、1ビットの鍵長データとが入力され、64ビットの暗号文が出力される。暗号鍵は、鍵鍵変換手段23で鍵長データを基に32ビットの変換鍵K1とK2に変換される。鍵長データは暗号鍵が40ビットならば0、64ビットならば1とする。鍵変換手段23の変換については後述する。暗号変換部11内の暗号変換手段20は、211から21NのN個の換字転置変換手段から構成される。換字転置変換手段21n (ここで、1≦n≦N)の変換アルゴリズムは、アルゴリズム鍵保持手段24に保持されているアルゴリズム鍵Gnにより決定される。
平文は、まず、上位32ビット値R0と下位32ビット値L0に分離されて、換字転置変換手段211に入力され、K1およびK2を用いて、1回目の暗号変換が行われ、32ビット値R1と32ビット値L1が出力される。続いて、R1とL1は換字転置変換手段212に入力され、 K1およびK2を用いて、2回目の暗号変換が行われ、32ビット値R2と32ビット値L2が出力される。以上のような暗号変換をN回繰り返し、最終的な出力値である32ビット値RNと32ビット値LNを結合することで、64ビットの暗号文を得る。ここで、 暗号変換の総繰り返し数Nをラウンド数と呼ぶものとする。
ここで、暗号鍵を固定しておき、全ての換字転置変換手段から、連続する2個以上の換字転置変換手段を任意に選んで、同一のデータを入力値として変換することを考える。この場合、変換結果は、アルゴリズム鍵Gnにより決定される。本発明に基づいた暗号変換装置は、上述した全ての組み合わせにおいて、異なった変換結果がえられるようなアルゴリズム鍵のみを用いるものとする。すなわち、換字転置変換手段を繰り返し用いた暗号変換には周期性が現れない。これによって、暗号の強度を向上することができる。
図3は、図2の鍵変換手段23のブロック図の一例を示す。図3において、鍵変換手段23は、64ビット長のレジスタ26と、マルチプレクサ27と、加算演算部28から成る。暗号鍵は、まずレジスタ26に格納される。ここで、暗号鍵が40ビットならば、レジスタ26の下位40ビットに値が格納され、暗号鍵が64ビットならば、レジスタ26の全てに値が格納される。次に、レジスタ26の下位32ビットをK1とする。次に、鍵長データの値が0ならば、レジスタ26の下位9ビット目から下位40ビット目までの32ビットの値がマルチプレクサ27の出力値として選ばれる。また、鍵長データの値が1ならば、レジスタ26の上位32ビットの値が、マルチプレクサ27の出力値として選ばれる。マルチプレクサ27の出力値は、加算演算部28で、K1と32ビット加算が行われ、この結果をK2とする。ここで32ビット加算とは、通常の加算結果を2の32乗で割った余りとするものである。
図4は、図2において、n回目(ここで、1≦n≦N)の暗号変換を実行する換字転置変換手段21nのブロック図を示している。図4において、換字転置変換手段21nは、ビット列変換部61と、加算演算部62から構成され、 Rn-1とLn-1を、K1とK2を用いて、 RnとLnに変換する。換字転置変換手段21nは、まず、Ln-1の値を、ビット列変換部61に入力する。ビット列変換部61は、アルゴリズム鍵Gnにより変換アルゴリズムが決定される。ビット列変換部61の入力値をU、出力値をZとすれば、数式で以下のように表すことができる。
Z = FGn ( K1 , K2 ,U)
ここで、関数FGn(X)は、ビット列変換部61の変換を表す。また、アルゴリズム鍵Gnは、以下に示すデータからなる。
Gn = (An, Bn, Cn, Pn, Qn, Sn)
ここで、An, Bn, Cnは32ビットデータであり、Pn, Qn, Snは1≦Pn≦31, 1≦Qn≦31, 1≦Sn≦31である。アルゴリズム鍵Gnの値は、それぞれのn(1≦n≦N)で異なる値を取ってもよい。
次に、Rn-1を、加算演算部32に入力し、Zn との62ビット加算演算を取り、Lnとする。最後に、 Ln-1の値をRnとする。以上の変換をまとめると、以下のように表せる。
Ln = Rn + FGn ( K1 , K2 ,Ln-1)
Rn = Ln-1
図5は、図4のビット列変換部61のブロック図の一例を示す。ビット列変換部61は、5個のビット列変換器81から85で構成される。ビット列変換器81は、排他的論理和部94を備える。ビット列変換器82は、加算演算部95と循環シフト部91を備える。ビット列変換器83は、加算演算部96と循環シフト部92を備える。ビット列変換器84は、加算演算部97を備える。ビット列変換器85は、加算演算部98と循環シフト部93を備える。
ビット列変換器81内の排他的論理和部94は、2個の入力値の排他的論理和演算を行う。2個の入力値の内、一つが図4に図示のK1であり、もう一つが図4に図示のU即ちビット列変換部61およびビット列変換器81の入力値である。ここで、出力値をVとすれば、ビット列変換器81の変換は、以下のように表せる。
V = K1(+)U
ここで、表記 X(+)YはXとYとの排他的論理和演算を示す。
ビット列変換器82内の循環シフト部91は、アルゴリズム鍵Gnの一部であるデータPn (1≦Pn≦31)だけ左に循環シフトする。また、加算演算部95は3個の入力値の32ビット加算演算を行う。3個の入力値の内の一つが図4に図示のアルゴリズム鍵Gnの一部であるデータAnであり、もう一つがビット列変換器82の入力値Vであり、さらにもう一つが前述左に循環シフトのデータPn である。ここで、出力値をWとすれば、ビット列変換器82の変換は、以下のように表せる。
W = V + (V <<<Pn) + An
ここで、表記 X<<<Y は、Xを左にYビット循環シフトすることを表す。
ビット列変換器83内の循環シフト部92は、アルゴリズム鍵Gnの一部であるデータQn (1≦Qn≦31)だけ左に循環シフトする。また、加算演算部96は3個の入力値の32ビット加算演算を行う。3個の入力値の内、一つが図4に図示のアルゴリズム鍵Gnの一部であるデータBnでであり、もう一つがビット列変換関器83の入力値Wであり、さらにもう一つが前述左に循環シフトのデータPn である。ここで、出力値をXとすれば、ビット列変換器83の変換は、以下のように表せる。
X = W + (W <<<Qn) + Bn
ビット列変換器84内の加算演算部97は、2個の入力値の32ビット加算演算を行う。2個の入力値の内、一つが図4に図示のK2であり、もう一つがビット列変換器84の入力値Xである。ここで、出力値をYとすれば、ビット列変換器84の変換は、以下のように表せる。
Y = K2 + X
ビット列変換器85内の循環シフト部93は、アルゴリズム鍵Gnの一部であるデータSn (1≦Sn≦31)だけ左に循環シフトする。また、加算演算部98は3個の入力値の32ビット加算演算を行う。3個の入力値の内、一つが図4に図示のアルゴリズム鍵Gnの一部であるデータCn であり、もう一つがビット列変換器85の入力値Yであり、さらにもう一つが前述左に循環シフトのデータSn である。ここで、出力値をZとすれば、ビット列変換器85の変換は、以下のように表せる。
Z = Y + (Y <<<Sn) + Cn
以上説明したように、ビット列変換部61は、5つのビット列変換器 81から 85を変換データに作用させていくことで、ビット列変換を行う。ここで、ビット列変換部61は、5つのビット列変換器 81から 85の変換データへの作用順序を変更した構成でも、本発明の範囲に含まれる。図3では、
F1 81 → F2 82 → F3 83 → F4 84 → F5 85
の順になっているが、例えばこれを、
F4 84 → F3 83 → F1 81 → F5 85 → F2 82
としてもよい。また、5個のビット列変換器 81から 85は、1個の排他的論理和部と、3個の循環シフト部と、4個の加算演算部から構成されるに限らず、換字転置混合変換が実現できる少なくとも1個の加算演算部と、少なくとも一個の循環シフト演算部とを含む構成としても、発明の効果は変らない。
図6は、図1の復号変換部31の詳細なブロック図を示す。この復号変換部31は、前述した図2の暗号変換部11を用いて暗号変換した暗号文を、元のデータに復号するものである。復号変換部31には、64ビットの暗号文と、40ビットあるいは64ビットのデータ鍵と、1ビットの鍵長データが入力され、64ビットの平文が出力される。復号変換部31内の暗号変換手段40は、411から41NのN個の換字転置変換手段から構成される。換字転置変換手段41n (ここで、1≦n≦N)の変換アルゴリズムは、アルゴリズム鍵保持手段44に保持されているアルゴリズム鍵Gnにより決定される。
暗号文は、まず、上位32ビット値RNと下位32ビット値LNに分離されて、換字転置変換手段41Nに入力され、K1およびK2を用いて、1回目の復号変換が行われ、32ビット値RN-1と32ビット値LN-1が出力される。続いて、RN-1とLN-1は換字転置変換手段21N-1に入力され、 K1およびK2を用いて、2回目の暗号変換が行われ、32ビット値RN-2と32ビット値LN-2が出力される。以上のような復号変換をN回繰り返し、最終的な出力値である32ビット値R 0と32ビット値L0を結合することで、64ビットの平文を得る。ここで、復号変換の総繰り返し数Nを、暗号変換の場合と同様に、ラウンド数と呼ぶものとする。
ここで、暗号鍵を固定しておき、全ての換字転置変換手段から、連続する2個以上の換字転置変換手段を任意に選んで、同一のデータを入力値として変換することを考える。この場合、変換結果は、アルゴリズム鍵Gnにより決定される。本発明に基づいた復号変換装置は、上述した全ての組み合わせにおいて、異なった変換結果がえられるようなアルゴリズム鍵のみを用いるものとする。すなわち、換字転置変換手段を繰り返し用いた復号変換には周期性が現れない。
図7は、図6において、 (N+1-n)回目(1≦n≦N)の復号変換を実行する換字転置変換手段41nのブロック図を示している。図7において、換字転置変換手段41nは、図5を用いて説明したビット列変換部61と、減算演算部72から構成され、RnとLnを、K1とK2を用いて、Rn-1とLn-1に変換する。換字転置変換手段41nは、まず、Rnの値を、ビット列変換部61に入力する。ビット列変換部61は、アルゴリズム鍵Gnにより変換アルゴリズムが決定される。ここで、ビット列変換部31nの入力値をU、出力値をZと表す。次に、Lnを、減算演算部72に入力し、Z との32ビット減算演算を取り、Rn-1とする。ここで32ビット減算とは、通常の減算を行い、結果が負ならば、その値を2の32乗と加算するものである。最後に、 Rnの値をLn-1とする。以上の変換をまとめると、以下のように表せる。
Rn-1 = Ln - FGn ( K1 , K2 ,Rn)
Ln-1 = Rn
この変換は、図2を用いて説明した、換字転置変換手段21nの逆変換を行う。これによって、復号変換部31は、暗号変換部11との間で、同じ暗号鍵およびアルゴリズム鍵を共有すれば、暗号変換部11が暗号化したデータを復号化することができる。
以上、図1から図7を用いて、本発明による暗号変換部を備えたデータ送信機器1と、本発明による復号変換部を備えたデータ受信機器2の実施例を詳細に説明した。しかしながら、上記の構成の一部を変更した構成も本発明に含まれることは明らかである。例えば、暗号鍵を40ビットと64ビットの2つの例で、鍵長データを1ビットとして説明したが、これに限るものではない。例えば、暗号鍵を40ビットから128ビットまで変更可能とし、鍵長データはこれらを選択できるように7ビットとしても良い。この場合、鍵変換手段では、2個の32ビット長である変換鍵を生成できるように、入力された鍵長データの値に応じで暗号鍵を選択する位置を変更できるようにセレクタを増加させれば良い。また、暗号鍵を64ビット以上にして、4個の32ビット長である変換鍵を生成させ、N個の換字転置変換手段を2組に分け、2個ずつ供給するような構成にしてもよい。
複数個の変換鍵を生成するのに、暗号変換で用いた換字転置変換手段を用いても良い。例えば、8個の32ビット長である変換鍵を生成する鍵変換手段を示す。
図8において、鍵変換手段23は、8個の換字転置変換手段211から218と、拡張鍵保持手段100から構成される。拡張鍵保持手段100には、変換鍵を生成するために使用する8個の32ビット長である拡張鍵KE1からKE8が保持されている。64ビットの暗号鍵は、8個の換字転置変換手段211から218を用いて順次変換していく。ここで、各換字転置変換手段の変換アルゴリズムは、アルゴリズム保持手段24に保持されているアルゴリズム鍵により決定される。また、各換字転置変換手段には拡張鍵保持手段100に保持されている拡張鍵が入力される。例えば、換字転置変換手段212には、拡張鍵KE3とKE4が入力される。
以上の変換を行っていき、8個の換字転置変換手段211から218の出力値である、L1からL8を8個の変換鍵とする。
ここで、拡張鍵保持手段に格納されている変換鍵は、毎回同じ値を用いても良いし、アルゴリズム鍵と同様の方法で更新処理を行ってもよい。さらに、暗号鍵と同様の方法で鍵共有処理を行ってもよい。
図8を用いて説明した鍵変換手段23では、暗号変換で用いる換字転置変換手段を共用できるので、例えば本発明に基づいた暗号変換装置をハードウェアで実装した場合、少ない回路規模で、安全性の高い暗号変換を実現することが可能である。
次に、本発明による暗号変換装置および復号変換装置の他の実施例を示す。
本実施例における暗号変換装置の全体ブロック図は、前記実施例の説明で用いた図2に記載されているものと同様である。
図9は、図2の暗号変換部11内において、n回目の暗号変換を実行する換字転置変換手段21nのブロック図を示す。図9において、換字転置変換手段21nは、ビット列変換部361と、演算部362から構成される。ここで、演算部362では、2つの入力データの排他的論理和演算あるいは加算演算のどちらかを行う。演算部362で、どちらの演算を行うかは、アルゴリズム鍵から決定する。図9における換字転置変換手段21nの変換手順は、前記実施例で説明したものと同様である。
図10は、図9のビット列変換部361のブロック図の一例を示す。ビット列変換部361は、5個のビット列変換器 81から 85で構成される。ビット列変換器 81は、演算部394を備える。ビット列変換器 82は、演算部395と演算部396と循環シフト部91を備える。ビット列変換器 83は、演算部397と演算部398と循環シフト部92を備える。ビット列変換器 84は、演算部399を備える。ビット列変換器 85は、演算部400と演算部401と循環シフト部93を備える。ここで、演算部394から401は、図9における演算部362と同様に、2つの入力データの排他的論理和演算あるいは加算演算のどちらかを行う。また、どちらの演算を行うかは、アルゴリズム鍵から決定する。ビット列変換部361は、これらのビット列変換関数F1 81からF5 85を変換データに作用させていくことで、ビット列変換を行う。
以上のように、本実施例における暗号変換装置は、暗号変換装置内で使用する、加算演算と排他的論理和演算の数を、アルゴリズム鍵から決定することができる。
次に、本発明による暗号変換装置および復号変換装置を用いた、他の暗号通信装置の実施例を示す。
図11は、自動料金徴収装置のブロック図を表している。ここで、自動料金徴収装置は、自動車が有料道路を通過する時に、有料道路上に設置されている路側機で、自動車を停止させることなく、運転手のICカードから通行料金を電子決済によって徴収できるシステムである。自動料金徴収装置は、道路の渋滞解消や、ICカードでの電子決済化による利便性の向上など、様々な期待が寄せられている。
図11に示した自動料金徴収装置は、自動車200、路側機201、車載機202、ICカード203、鍵管理機関204で構成される。
自動車200には、車載機202が搭載されており、自動車200を運転する時に、ICカード203を車載機202に挿入しておく。
路側機201は、有料道路上に設置されており、自動車200が通過する際に、通行料金を徴収する機能を有している。
ICカード203には、予め自動料金徴収システムの契約情報が格納されており、自動車200が路側機201を通過する時に、ICカード203が挿入されている車載機202を介した無線通信により、路側機201にこの契約情報を転送し、その後、路側機201から経路情報や決済情報を受信する。
これらの処理を安全および正確に行うためには、契約情報、経路情報、および決済情報の正当性の検証と、不正な改竄や盗聴を防止する機能が必要である。したがって、ICカード203と車載機202の間、および車載機202と路側機201の間では、通信相手を正当であると認識するための相手認証処理、交換データの暗号化および復号化のために用いる暗号鍵の共有処理、共有した暗号鍵を用いた暗号通信を行う必要がある。この相手認証処理、鍵共有処理および暗号通信に、本発明に基づいた暗号変換装置および復号変換装置を適用することができる。
以上の処理を実現するために、車載機202、ICカード203、および路側機201には、鍵管理組織204が発行した、共通のアルゴリズム鍵と、ライセンス鍵とを事前に保持しておく。例えば製造時に各々の内部に埋め込んでおくことが考えられる。
ここで、アルゴリズム鍵の詳細および、アルゴリズム鍵によって定まる暗号変換および復号変換の詳細は前述した通りである。
また、ライセンス鍵は、秘密情報として正当な機器に埋め込んでおき、認証処理および鍵共有処理を正しく行うために用いる。例えば、機器Aと機器Bが通信を行うために、機器Aが正当な機器であることを、機器Bが確認する場合を考える。このためには、機器Aは、自分が保持しているライセンス鍵が正しいことを、機器Bに証明すればよい。ここで、ライセンス鍵は秘密情報であるので、機器Aは自分のライセンス鍵を明かすことなく、それが正しいことを、機器Bに証明しなければならない。この証明は、暗号技術を用いることで実現できる。例えば、対称鍵暗号方式を用いた手法が、セキュリティメカニズムの国際規格であるISO9798-2で説明されている。この対称鍵暗号方式の具体例として、本発明に基づいた暗号変換装置あるいは復号変換装置を適用することができる。
次に、図11を構成するそれぞれの要素について説明する。
路側機201は、無線通信部232、暗号復号処理部230、相手認証・鍵共有処理部233、主制御部235、およびデータ保持部234から成る。
車載機202は、無線通信部212、暗号復号処理部210、ICカード通信部211、相手認証・鍵共有処理部213、データ保持部214および主制御部215から成る。
ICカード203は、 ICカード通信部221、暗号復号処理部220、 相手認証・鍵共有処理部223、データ保持部224、および主制御部225から成る。
ここで、暗号復号変換処理部210、220、および230は、前述した、本発明に基づく、暗号変換装置および復号変換装置を内蔵しており、データの暗号化および復号化を行うことが可能である。
また、ICカード通信部211および221は、車載機202とICカード203の間の通信処理を行うために用いられる。
さらに、無線通信部212および232は、車載機202と路側機201の間の無線通信処理を行うために用いられる。
さらに、認証・鍵共有処理部213、223、および233は、通信相手を正当であると認識するために行う認証処理、およびデータの暗号化および復号化のために用いる暗号鍵の共有処理を行う。認証・鍵共有処理部213は、認証処理および鍵共有処理を行うために、暗号復号処理部210が提供する暗号変換機能および復号変換機能を用いる。同様の機能を実現するために、認証・鍵共有処理部223は、暗号復号変換処理部220を用いる。同様に、認証・鍵共有処理部233は、暗号復号変換処理部230を用いる。
データ保持部214、224、および234には、鍵管理機関204から取得した、アルゴリズム鍵、およびライセンス鍵を保持しておくのに用いる。また、契約情報、経路情報および決済情報も保持できるのもとする。
図12は、図11の自動料金徴収装置の通信フロー図を示す。
図12のフロー図では、まず、図11のICカード203を車載機202に設定した時点で、ICカード203と車載機202の間で、相手認証・鍵共有処理240が行われる。そして、相手認証・鍵共有処理240が成功した後に、ICカード203は、契約情報を車載機202に転送するために、暗号通信241を行う。車載機202は、ICカード203の契約情報を取得すると、車載機202内のデータ保持部214(図11)で秘密に保持しておく。
次に、図11の自動車200が路側機201を通過する時点で、車載機202と路側機201の間で、相手認証・鍵共有処理250が行われる。そして、相手認証・鍵共有処理250が成功した後に、車載機202は、先にICカードから取得した契約情報を、路側機201に転送するために、暗号通信251を行う。この暗号通信251は、路側機201から車載機202に、経路情報および決済情報を転送するためにも用いられる。
次に、車載機202は、路側機201から得た経路情報と決済情報をICカード203に転送するために、暗号通信261を行う。
ここで、道路通行料金の決済はICカード203と路側機201との間で行われるが、ICカード203と路側機201とは、車載機202を介さないと通信が行えない。この場合、車載機202が不正処理を行うことで、不正な決済が行われてしまう可能性も考えられる。このような事態が発生した場合に備えて、路側機201は、ICカード203との決済で用いた車載機202を特定できるようにしておく必要がある。たとえば、車載機202に識別番号を割り当て、車載機202は、ICカード203との相手認証・鍵共有処理240の中で、車載機202の識別番号をICカード203に転送するようにする。ICカード203は、車載機202の識別番号とICカード203の決済履歴の両方に対する、デジタル署名を生成して返送する。そして、車載機202は、自分の識別番号と、ICカード203から取得したデジタル署名を、路側機201に、相手認証・鍵共有処理250の中で転送するようにする。その後、路側機201は、ICカード203が生成したデジタル署名を検証することで、車載機202が、いつ用いられたかを特定することが可能になる。
また、暗号通信241、251および261において、通信路上を流れる暗号化データを第三者に改竄されないようにしておく必要がある。これを実現するためには、受信したメッセージが正当であることを判定できる、メッセージ認証を行う必要がある。メッセージ認証を行うためには、送信者と受信者が予めメッセージ認証鍵を秘密に共有しておく。メッセージ認証鍵の共有は、例えば図12に記した、相手認証・鍵共有処理250内で行う。そして、送信者が、転送するメッセージとメッセージ認証鍵から、メッセージ認証子(MAC: Message Authentication Code)と呼ばれるデータを生成する。送信者は、メッセージと一緒にメッセージ認証子を、受信者に転送する。受信者は、受信したメッセージ認証子を、メッセージ認証鍵を用いて検証する。この検証によって、受信したメッセージが改竄されているかどうかを判定できる。メッセージ認証に関しては、例えば、対称鍵暗号方式を用いた手法が、セキュリティメカニズムの国際規格であるISO9797で説明されている。この対称鍵暗号方式の具体例として、本発明に基づいた暗号変換装置あるいは復号変換装置を適用することができる。
図13は、メッセージ認証を含んだ暗号通信の例として、暗号通信241の詳細フロー図を示す。図13のフロー図では、まずICカード203が、メッセージ認証子の生成を、MAC生成処理261で行う。次に、転送メッセージとメッセージ認証子を結合する、結合処理262を行う。その後、転送メッセージとメッセージ認証子を結合したデータを暗号化する暗号処理263が行われ、暗号化データが生成される。
次に、車載機202が、暗号化データを受信し、まず復号化処理264を行う。その後、分離処理265を行うことで、ICカードが転送した、メッセージとメッセージ認証子を復元する。次に、復元されたメッセージ認証子を検証する、MAC検証処理266を行い、受信したメッセージの正当性を検証する。
これによって、課金情報や経路情報などの盗聴や改竄されてはならないデータを安全に交換することが可能になる。
以上の処理を行うことにより、通行料金をICカード203内に課金し、さらに路側機201で課金情報を管理することができる。
【発明の効果】
本発明によれば、暗号変換のアルゴリズムを可変にし、使用するアルゴリズムを第三者から隠すことで、暗号解読に強い、高速な暗号変換装置、復号変換装置、暗号通信装置および自動料金徴収装置を実現することができる。
【図面の簡単な説明】
【図1】本発明における、送信機器と受信機器とが行う暗号通信装置の一実施例である。
【図2】図1における、暗号変換部を示すブロック図である。
【図3】図2における、鍵変換手段のブロック図である。
【図4】図2における、換字転置変換手段のブロック図である。
【図5】図4における、ビット列変換部のブロック図である。
【図6】図1における、復号変換部を示すブロック図である。
【図7】図6における、換字転置変換手段の一実施例のブロック図である。
【図8】本発明における、鍵変換手段のブロック図の例である。
【図9】本発明における、換字転置変換手段の他の実施例のブロック図である。
【図10】本発明における、ビット列変換部の他の実施例のブロック図である。
【図11】本発明における、暗号通信の他の実施例であり、自動料金徴収装置の構成図である。
【図12】本発明における、自動料金徴収装置の通信フローを示す図である。
【図13】本発明における、自動料金徴収装置で用いる暗号通信を示す図である。
【符号の説明】
1 データ送信機器
2 データ受信機器
3 鍵管理機関
11 暗号変換部
12 鍵共有部
13 データ処理部
14 通信処理部
15 鍵著データ保持手段
20 暗号変換手段
211〜21N 換字転置変換手段
23 鍵変換手段
24 アルゴリズム鍵保持手段
31 復号変換部
32 鍵共有部
33 データ処理部
34 通信処理部
411〜41N 換字転置変換手段
43 鍵変換手段
44 アルゴリズム鍵保持手段
81 鍵送信部
82 鍵受信部
BACKGROUND OF THE INVENTION
The present invention relates to an encryption / decryption technique for digital data transmitted between a computer, an information home appliance, an automatic fee collection device, and the like.
[Prior art]
In general, in digital information home appliances, an encryption technique for preventing unauthorized copying of digital data is essential. For example, when digital video data received by a digital broadcast receiver is digitally recorded on a digital recording device, if the digital video data has a copyright, a function for protecting the digital video data is required for each device.
In order to realize such a copyright protection system, it is necessary to prevent data tampering and unauthorized copying by using encryption techniques such as digital data copy restrictions, device authentication, and real-time digital data encryption. I must.
As a conventional example of encryption technology, for example, a common key encryption method represented by DES encryption disclosed in Japanese Patent Laid-Open No. 51-108701 can be cited. Many of the common key cryptosystems are characterized in that complex encryption conversion is configured by repeatedly performing simple conversion. Various attempts have been made to make these ciphers more secure. For example, by increasing the number of simple conversion iterations, the statistical characteristics of the ciphertext can be further disturbed, making cryptanalysis difficult.
[Problems to be solved by the invention]
However, increasing the number of conversion iterations increases the processing time required for cryptographic conversion. Therefore, there is a problem that the security enhancement measure by increasing the number of times of simple conversion is not suitable for the real-time encryption process in the copyright protection system described above.
An object of the present invention is to provide a high-speed encryption conversion device, decryption conversion device, encryption communication device, and automatic fee collection device that is resistant to decryption by making the encryption conversion algorithm variable and hiding the algorithm to be used from a third party. It is to provide.
[Means for Solving the Problems]
As a cryptographic conversion device,
An encryption conversion device that inputs at least one encryption key, at least one algorithm parameter, and plaintext data, and outputs the ciphertext data,
A plurality of stages of cryptographic conversion means for performing at least one of exclusive-OR operation, cyclic shift operation, and addition operation,
The cryptographic conversion means includes first arithmetic means for performing an exclusive OR operation or addition operation on input data with a part of data generated from the encryption key data;
A second computing means for performing an exclusive OR operation or addition operation with a part of the data determined by the algorithm parameter, and the input data;
Each including at least one third arithmetic means for cyclically shifting the input data by the number of bits determined by the algorithm parameter,
The same encryption key and the same algorithm parameter are used, and the conversion using the plurality of successive stages of the encryption conversion means, arbitrarily selected from all the encryption conversion means, is all different. And
As a decoding conversion device,
A decryption / conversion device that inputs at least one encryption key, at least one algorithm parameter, and ciphertext data, and outputs plaintext data,
The cryptographic conversion means includes first arithmetic means for performing an exclusive OR operation or addition operation on input data with a part of data generated from the encryption key data;
A second computing means for performing an exclusive OR operation or addition operation with a part of the data determined by the algorithm parameter, and the input data;
Each including at least one third operation means for cyclically shifting the input data by the number of bits determined by the algorithm parameter,
The same encryption parameter and the same algorithm parameter are used, and the conversion using the plurality of successive stages of the decryption conversion means arbitrarily selected from all the decryption conversion means is different. And
As an encryption communication device,
Between the transmitting device and the receiving device that perform communication, the same encryption key is used, the transmitting device encrypts plaintext with the encryption key and transmits the encrypted text, and the receiving device transmits the received encrypted text to the An encryption communication device having a common key encryption for decrypting with an encryption key to obtain the plaintext,
The transmitting device includes a cryptographic conversion unit and a first algorithm key holding unit,
The receiving device has a decryption conversion unit and a second algorithm key holding unit,
The conversion algorithm of the encryption conversion unit included in the transmission device is determined by a first parameter held in the first algorithm key holding unit included in the transmission device,
The conversion algorithm of the decryption conversion means possessed by the receiving device is determined by a second parameter held in the second algorithm key retaining means possessed by the receiving device,
The transmitting device and the receiving device, in addition to the encryption key, only when the first parameter and the second parameter are equal, the ciphertext encrypted by the transmitting device using the encryption key, The receiving apparatus can correctly decrypt using the encryption key.
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 is a configuration diagram of an encryption communication device in which a data transmission device including the encryption conversion device according to the present invention and a data reception device including the decryption conversion device according to the present invention perform encryption communication. In FIG. 1, the data transmission device 1 includes an encryption conversion unit 11, a key sharing unit 12, a data processing unit 13, a communication processing unit 14, and a key length data holding unit 15. The data receiving device 2 also includes a decryption conversion unit 31, a key sharing unit 32, a data processing unit 33, and a communication processing unit 34. As the data transmission device 1, for example, a digital broadcast receiver can be considered. The data receiving device 2 may be a digital recording device, for example. In this case, the data processing units 13 and 33 handle digital program data such as the MPEG2-TS (Transport Stream) format distributed by the digital broadcasting service, and the data processing unit 13 receives and multiplexes the digital program data. Separation processing, expansion processing, transmission processing, and the like are performed, and the data processing unit 33 performs digital program data reception processing, expansion processing, storage processing, and the like.
When the data transmitting device 1 and the data receiving device 2 perform encrypted communication, first, data called an encryption key necessary for encrypting and decrypting data is shared. The encryption key is shared by the key sharing unit 12 of the data transmitting device 1 and the key sharing unit 32 of the data receiving device 2 exchanging messages via the communication processing unit 14 and the communication processing unit 34. At this time, the key length of the encryption key is determined based on the key length data held in the key length information holding means 15 of the data transmitting device 1. The encryption key shared between the two parties is preferably different every time. This is because, if the encryption key is different, the generated ciphertext is different, which makes it difficult for a third party to decrypt the ciphertext. There are various methods for sharing the encryption key. For example, the key sharing method of Deffy Herman (for example, Tatsuaki Okamoto et al., “Modern Crypto”, published by Sangyo Tosho Co., Ltd. (Described in detail on page 202). If this is used, even if a third party intercepts a message exchanged for sharing the encryption key, it is very difficult to infer the encryption key from them and each time a different encryption key is securely shared It becomes possible.
After sharing the data key, the data transmitting device 1 outputs the data that the data processing unit 13 wants to transmit, and inputs this to the encryption conversion unit 11. Here, the data output from the data processing unit 13 is not encrypted, and such data is hereinafter referred to as “plaintext”. The encryption conversion unit 11 includes encryption conversion means 20, key conversion means 23, and algorithm key holding means 24. The key conversion means 23 generates a plurality of data called conversion keys based on the encryption key and key length data. Here, the key length data represents the key length of the encryption key determined at the time of the encryption key sharing described above. The algorithm key holding means 24 holds a plurality of data called algorithm keys. The encryption conversion algorithm performed by the encryption conversion means 20 is determined by the algorithm key. The cipher conversion unit 20 uses the conversion key generated by the key conversion unit 23 and the algorithm key in the algorithm key holding unit 24 to perform cipher conversion on the plain text and outputs a cipher text. The ciphertext generated by the cryptographic conversion device 11 is transmitted to the data receiving device 2 by the communication processing unit 14.
In the data receiving device 2, the communication processing unit 34 receives the ciphertext, and inputs the received ciphertext to the decryption conversion unit 31. The decryption conversion unit 31 includes decryption conversion means 40, key conversion means 43, and algorithm key holding means 44. The key conversion unit 43 has the same configuration as the key conversion unit 23 described above, and generates a conversion key based on the encryption key and key length data. The algorithm key holding unit 44 has the same configuration as the algorithm key holding unit 24 described above, and holds an algorithm key. The decryption conversion algorithm performed by the decryption conversion means 40 is determined by the algorithm key. The decryption / conversion unit 40 decrypts and converts the ciphertext using the conversion key generated by the key conversion unit 43 and the algorithm key in the algorithm key holding unit 44. Here, the decryption / conversion unit 40 decrypts and converts the ciphertext encrypted by the cipher conversion unit 20 into the original plaintext by the decryption / conversion unit 40 only when the same algorithm key as that of the cipher conversion unit 20 described above is used. It becomes possible. The plain text output from the decryption conversion unit 31 is input to the data processing unit 33, and data processing is performed.
As described above, the data transmission device 1 and the data reception device 2 can perform encrypted communication only when they hold the same algorithm key. By handling this algorithm key as secret information, encryption communication having an authentication function can be realized. In other words, if only a legitimate device holds the correct algorithm key, encrypted communication can be performed only when the communication partner is a legitimate device. In order to realize this, an example in which a key management organization 3 that generates and centrally manages algorithm keys is provided in FIG. As shown in FIG. 1, legitimate devices (in this case, the data transmitting device 1 and the data receiving device 2) securely acquire the algorithm key from the key management organization 3 so as not to leak outside. For example, it is conceivable that an algorithm key managed by the key management organization 3 is embedded in the algorithm key holding unit 24 and the algorithm key holding unit 44 when the data transmitting device 1 and the data receiving device 2 are manufactured.
At this time, the data receiving device 1 also acquires key length data at the same time. As a result, the ciphertext transmitted by the legitimate device holding the correct algorithm key can be decrypted only by the legitimate device holding the correct algorithm key. Moreover, since the algorithm key is also secret information in addition to the encryption key, it is possible to make it more difficult for a third party to decipher the ciphertext flowing on the communication path.
In addition, the data transmitter 1 acquires the key length data from the key management organization 3, and generates the encryption key based on the key length data, so that the key length of the encryption key can be updated. For example, if the updated key length data is embedded in a newly manufactured data transmitting device, the key length of the encryption key can be updated in encrypted communication with the newly manufactured data transmitting device. As a result, the key length of the encryption key can be increased in the future, and the security can be further improved. Also, the key length can be changed depending on the region where the product is shipped.
FIG. 2 shows an example of a detailed block diagram of the cryptographic conversion unit 11. Here, a 64-bit plaintext, a 40-bit or 64-bit encryption key, and 1-bit key length data are input to the cipher conversion unit 11, and a 64-bit ciphertext is output. The encryption key is converted by the key key conversion means 23 into 32-bit conversion keys K1 and K2 based on the key length data. The key length data is 0 if the encryption key is 40 bits and 1 if the encryption key is 64 bits. The conversion of the key conversion means 23 will be described later. The cryptographic conversion means 20 in the cryptographic conversion unit 11 is composed of N substitutional transposing conversion means 211 to 21N. The conversion algorithm of the substitution transposition conversion means 21n (where 1 ≦ n ≦ N) is determined by the algorithm key Gn held in the algorithm key holding means 24.
The plaintext is first separated into an upper 32-bit value R0 and a lower 32-bit value L0, and is input to the substitution transposition conversion means 211. The first cipher conversion is performed using K1 and K2, and the 32-bit value R1 And the 32-bit value L1 is output. Subsequently, R1 and L1 are input to the substitution transposition conversion means 212, and the second cryptographic conversion is performed using K1 and K2, and a 32-bit value R2 and a 32-bit value L2 are output. The cipher conversion as described above is repeated N times, and the final output value, the 32-bit value RN and the 32-bit value LN, are combined to obtain a 64-bit ciphertext. Here, the total number N of cryptographic conversion repetitions is called the round number.
Here, it is assumed that the encryption key is fixed, and two or more consecutive substitution transposing conversion means are arbitrarily selected from all the substitution transposing conversion means, and the same data is converted as an input value. In this case, the conversion result is determined by the algorithm key Gn. The cryptographic conversion apparatus according to the present invention uses only algorithm keys that can obtain different conversion results in all the combinations described above. That is, periodicity does not appear in the cipher conversion that repeatedly uses the substitution transposition conversion means. As a result, the encryption strength can be improved.
FIG. 3 shows an example of a block diagram of the key conversion means 23 of FIG. In FIG. 3, the key conversion means 23 includes a 64-bit register 26, a multiplexer 27, and an addition operation unit 28. The encryption key is first stored in the register 26. Here, if the encryption key is 40 bits, the value is stored in the lower 40 bits of the register 26, and if the encryption key is 64 bits, the value is stored in all of the registers 26. Next, the lower 32 bits of the register 26 are set as K1. Next, if the value of the key length data is 0, a 32-bit value from the lower 9th bit to the lower 40th bit of the register 26 is selected as the output value of the multiplexer 27. If the value of the key length data is 1, the value of the upper 32 bits of the register 26 is selected as the output value of the multiplexer 27. The output value of the multiplexer 27 is subjected to addition of K1 and 32 bits by the addition operation unit 28, and this result is set as K2. Here, the 32-bit addition is a remainder obtained by dividing a normal addition result by 2 to the 32nd power.
FIG. 4 shows a block diagram of the substitution transposing / converting means 21n that performs the n-th (here, 1 ≦ n ≦ N) cryptographic conversion in FIG. In FIG. 4, the substitution transposing means 21n is composed of a bit string conversion unit 61 and an addition operation unit 62, and converts Rn-1 and Ln-1 into Rn and Ln using K1 and K2. The substitution transposing means 21n first inputs the value of Ln−1 to the bit string conversion unit 61. In the bit string conversion unit 61, the conversion algorithm is determined by the algorithm key Gn. If the input value of the bit string conversion unit 61 is U and the output value is Z, it can be expressed by the following formula.
Z = FGn (K1, K2, U)
Here, the function FGn (X) represents the conversion of the bit string conversion unit 61. The algorithm key Gn is composed of the following data.
Gn = (An, Bn, Cn, Pn, Qn, Sn)
Here, An, Bn, and Cn are 32-bit data, and Pn, Qn, and Sn are 1 ≦ Pn ≦ 31, 1 ≦ Qn ≦ 31, and 1 ≦ Sn ≦ 31. The value of the algorithm key Gn may take a different value for each n (1 ≦ n ≦ N).
Next, Rn-1 is input to the addition operation unit 32, and a 62-bit addition operation with Zn is performed to obtain Ln. Finally, let the value of Ln-1 be Rn. The above conversion can be summarized as follows.
Ln = Rn + FGn (K1, K2, Ln-1)
Rn = Ln-1
FIG. 5 shows an example of a block diagram of the bit string converter 61 of FIG. The bit string converter 61 includes five bit string converters 81 to 85. The bit string converter 81 includes an exclusive OR unit 94. The bit string converter 82 includes an addition operation unit 95 and a cyclic shift unit 91. The bit string converter 83 includes an addition operation unit 96 and a cyclic shift unit 92. The bit string converter 84 includes an addition operation unit 97. The bit string converter 85 includes an addition operation unit 98 and a cyclic shift unit 93.
An exclusive OR unit 94 in the bit string converter 81 performs an exclusive OR operation on two input values. Of the two input values, one is K1 shown in FIG. 4, and the other is U shown in FIG. 4, that is, the input values of the bit string converter 61 and the bit string converter 81. Here, if the output value is V, the conversion of the bit string converter 81 can be expressed as follows.
V = K1 (+) U
Here, the notation X (+) Y indicates an exclusive OR operation of X and Y.
The cyclic shift unit 91 in the bit string converter 82 cyclically shifts the data Pn (1 ≦ Pn ≦ 31), which is a part of the algorithm key Gn, to the left. The addition operation unit 95 performs a 32-bit addition operation on the three input values. One of the three input values is data An that is a part of the algorithm key Gn shown in FIG. 4, the other is the input value V of the bit string converter 82, and the other is circulated to the left. This is the shift data Pn. Here, if the output value is W, the conversion of the bit string converter 82 can be expressed as follows.
W = V + (V <<<Pn) + An
Where the notation X <<<Y represents that Y is cyclically shifted to the left by Y bits.
The cyclic shift unit 92 in the bit string converter 83 cyclically shifts the data Qn (1 ≦ Qn ≦ 31), which is a part of the algorithm key Gn, to the left. The addition operation unit 96 performs a 32-bit addition operation on the three input values. Among the three input values, one is the data Bn which is a part of the algorithm key Gn shown in FIG. 4, the other is the input value W of the bit string conversion function 83, and the other is the above left. The cyclic shift data Pn. Here, if the output value is X, the conversion of the bit string converter 83 can be expressed as follows.
X = W + (W <<<Qn) + Bn
An addition operation unit 97 in the bit string converter 84 performs a 32-bit addition operation on two input values. Of the two input values, one is K2 shown in FIG. 4 and the other is the input value X of the bit string converter 84. Here, if the output value is Y, the conversion of the bit string converter 84 can be expressed as follows.
Y = K2 + X
The cyclic shift unit 93 in the bit string converter 85 cyclically shifts to the left by the data Sn (1 ≦ Sn ≦ 31) that is a part of the algorithm key Gn. The addition operation unit 98 performs a 32-bit addition operation on the three input values. Of the three input values, one is the data Cn which is a part of the algorithm key Gn shown in FIG. 4, the other is the input value Y of the bit string converter 85, and the other is circulated to the left. This is the shift data Sn. Here, if the output value is Z, the conversion of the bit string converter 85 can be expressed as follows.
Z = Y + (Y <<<Sn) + Cn
As described above, the bit string converter 61 performs bit string conversion by causing the five bit string converters 81 to 85 to act on the converted data. Here, the configuration in which the bit sequence conversion unit 61 changes the operation order of the five bit sequence converters 81 to 85 on the conversion data is also included in the scope of the present invention. In FIG.
F1 81 → F2 82 → F3 83 → F4 84 → F5 85
For example, this is
F4 84 → F3 83 → F1 81 → F5 85 → F2 82
It is good. In addition, the five bit string converters 81 to 85 are not limited to one exclusive OR unit, three cyclic shift units, and four addition operation units, but the substitution transposition mixed conversion is performed. Even if the configuration includes at least one addition operation unit that can be realized and at least one cyclic shift operation unit, the effect of the invention does not change.
FIG. 6 shows a detailed block diagram of the decoding conversion unit 31 of FIG. The decryption / conversion unit 31 decrypts the ciphertext that has been cipher-converted by using the cipher conversion unit 11 shown in FIG. 2 to the original data. The decryption conversion unit 31 receives a 64-bit ciphertext, a 40-bit or 64-bit data key, and 1-bit key length data, and outputs a 64-bit plaintext. The encryption conversion means 40 in the decryption conversion unit 31 is composed of N substitutional transposition conversion means 411 to 41N. The conversion algorithm of the substitution transposition conversion means 41n (where 1 ≦ n ≦ N) is determined by the algorithm key Gn held in the algorithm key holding means 44.
The ciphertext is first separated into an upper 32-bit value RN and a lower 32-bit value LN, and is input to the substitution transposition conversion means 41N. The first decryption conversion is performed using K1 and K2, and the 32-bit value RN-1 and 32-bit value LN-1 are output. Subsequently, RN-1 and LN-1 are input to the substitution transposition conversion means 21N-1, and the second cryptographic conversion is performed using K1 and K2, and the 32-bit value RN-2 and the 32-bit value LN- 2 is output. The decoding conversion as described above is repeated N times, and the final output value, the 32-bit value R0 and the 32-bit value L0, are combined to obtain a 64-bit plaintext. Here, the total number of repetitions N of decryption conversion shall be called the number of rounds as in the case of encryption conversion.
Here, it is assumed that the encryption key is fixed, and two or more consecutive substitution transposing conversion means are arbitrarily selected from all the substitution transposing conversion means, and the same data is converted as an input value. In this case, the conversion result is determined by the algorithm key Gn. The decryption / conversion device according to the present invention uses only algorithm keys that can obtain different conversion results in all the combinations described above. That is, periodicity does not appear in the decoding conversion that repeatedly uses the substitution transposition conversion means.
FIG. 7 shows a block diagram of the substitution transposing means 41n for executing the (N + 1−n) -th (1 ≦ n ≦ N) decoding conversion in FIG. In FIG. 7, the substitution transposing means 41n is composed of the bit string conversion unit 61 and the subtraction operation unit 72 described with reference to FIG. 5, and Rn and Ln are converted into Rn-1 and Ln− using K1 and K2, respectively. Convert to 1. The substitution transposing / converting means 41n first inputs the value of Rn to the bit string converting unit 61. In the bit string conversion unit 61, the conversion algorithm is determined by the algorithm key Gn. Here, the input value of the bit string conversion unit 31n is represented as U, and the output value is represented as Z. Next, Ln is input to the subtraction operation unit 72, and a 32-bit subtraction operation with Z is performed to obtain Rn-1. Here, the 32-bit subtraction is a normal subtraction, and if the result is negative, the value is added to 2 to the 32nd power. Finally, let Rn be Ln-1. The above conversion can be summarized as follows.
Rn-1 = Ln-FGn (K1, K2, Rn)
Ln-1 = Rn
In this conversion, the reverse conversion of the substitution / transplacement conversion means 21n described with reference to FIG. 2 is performed. Thus, if the decryption conversion unit 31 shares the same encryption key and algorithm key with the encryption conversion unit 11, the data encrypted by the encryption conversion unit 11 can be decrypted.
The embodiments of the data transmission device 1 including the encryption conversion unit according to the present invention and the data reception device 2 including the decryption conversion unit according to the present invention have been described in detail above with reference to FIGS. However, it is obvious that the present invention includes a configuration obtained by changing a part of the above configuration. For example, the encryption key is described as two examples of 40 bits and 64 bits, and the key length data is described as 1 bit. However, the present invention is not limited to this. For example, the encryption key can be changed from 40 bits to 128 bits, and the key length data may be 7 bits so that these can be selected. In this case, the key conversion means increases the selector so that the position for selecting the encryption key can be changed according to the value of the input key length data so that two conversion keys having a 32-bit length can be generated. Just do it. Alternatively, the encryption key may be 64 bits or more, four conversion keys having a 32-bit length may be generated, and the N substitution transposition conversion means may be divided into two sets and supplied two by two. .
In order to generate a plurality of conversion keys, the substitution transposition conversion means used in the cryptographic conversion may be used. For example, a key conversion means for generating eight 32-bit conversion keys is shown.
In FIG. 8, the key conversion means 23 is composed of eight substitution transposition conversion means 211 to 218 and an extended key holding means 100. The extended key holding means 100 holds eight 32-bit extended keys KE1 to KE8 that are used to generate a conversion key. The 64-bit encryption key is sequentially converted using the eight substitution / translation means 211 to 218. Here, the conversion algorithm of each substitution / transposition conversion means is determined by the algorithm key held in the algorithm holding means 24. Further, the extended key held in the extended key holding means 100 is input to each substitution / transposition conversion means. For example, the expansion keys KE3 and KE4 are input to the substitution transposition conversion means 212.
The above conversion is performed, and L1 to L8, which are output values of the eight substitution transposition conversion means 211 to 218, are set as eight conversion keys.
Here, the conversion key stored in the extended key holding means may use the same value every time, or may perform the update process in the same manner as the algorithm key. Further, the key sharing process may be performed by the same method as the encryption key.
The key conversion means 23 described with reference to FIG. 8 can share the substitution transposition conversion means used in the cryptographic conversion. Therefore, for example, when the cryptographic conversion apparatus based on the present invention is implemented by hardware, the security can be reduced with a small circuit scale. It is possible to realize high cryptographic conversion.
Next, another embodiment of the encryption conversion device and the decryption conversion device according to the present invention will be described.
The entire block diagram of the cryptographic conversion apparatus in this embodiment is the same as that described in FIG. 2 used in the description of the above embodiment.
FIG. 9 shows a block diagram of the substitution transposition conversion means 21n for executing the n-th cryptographic conversion in the cryptographic conversion unit 11 of FIG. In FIG. 9, the substitution transposition conversion means 21 n includes a bit string conversion unit 361 and a calculation unit 362. Here, the arithmetic unit 362 performs either an exclusive OR operation or an addition operation on the two input data. Which calculation is performed by the calculation unit 362 is determined from the algorithm key. The conversion procedure of the substitution transposition conversion means 21n in FIG. 9 is the same as that described in the above embodiment.
FIG. 10 shows an example of a block diagram of the bit string conversion unit 361 of FIG. The bit string converter 361 includes five bit string converters 81 to 85. The bit string converter 81 includes a calculation unit 394. The bit string converter 82 includes a calculation unit 395, a calculation unit 396, and a cyclic shift unit 91. The bit string converter 83 includes a calculation unit 397, a calculation unit 398, and a cyclic shift unit 92. The bit string converter 84 includes a calculation unit 399. The bit string converter 85 includes a calculation unit 400, a calculation unit 401, and a cyclic shift unit 93. Here, the arithmetic units 394 to 401 perform either the exclusive OR operation or the addition operation of the two input data, similarly to the arithmetic unit 362 in FIG. Which operation is performed is determined from the algorithm key. The bit string conversion unit 361 performs bit string conversion by applying these bit string conversion functions F1 81 to F5 85 to the conversion data.
As described above, the cryptographic conversion apparatus according to the present embodiment can determine the number of addition operation and exclusive OR operation used in the cryptographic conversion apparatus from the algorithm key.
Next, an embodiment of another encryption communication apparatus using the encryption conversion apparatus and the decryption conversion apparatus according to the present invention will be described.
FIG. 11 shows a block diagram of the automatic fee collection apparatus. Here, the automatic toll collection device is a roadside machine installed on the toll road when the car passes the toll road, and collects the toll from the driver's IC card by electronic payment without stopping the car. It is a system that can. There are various expectations for automatic toll collection equipment, such as the elimination of traffic congestion on the road and the improvement of convenience by electronic payment using IC cards.
The automatic fee collection apparatus shown in FIG. 11 includes an automobile 200, a roadside device 201, an in-vehicle device 202, an IC card 203, and a key management organization 204.
The automobile 200 is equipped with an in-vehicle device 202, and an IC card 203 is inserted into the in-vehicle device 202 when the automobile 200 is driven.
The roadside machine 201 is installed on a toll road and has a function of collecting a toll when the automobile 200 passes.
The contract information of the automatic fee collection system is stored in advance in the IC card 203, and when the automobile 200 passes through the roadside device 201, the roadside is obtained by wireless communication via the in-vehicle device 202 in which the IC card 203 is inserted. The contract information is transferred to the machine 201, and then the route information and settlement information are received from the roadside machine 201.
In order to perform these processes safely and accurately, it is necessary to verify the validity of contract information, route information, and settlement information, and to prevent unauthorized tampering and eavesdropping. Therefore, between the IC card 203 and the vehicle-mounted device 202, and between the vehicle-mounted device 202 and the roadside device 201, for the other party authentication process for recognizing the communication partner as valid, the encryption and decryption of the exchange data It is necessary to share the encryption key to be used and perform encryption communication using the shared encryption key. The encryption conversion device and the decryption conversion device based on the present invention can be applied to this partner authentication processing, key sharing processing, and encryption communication.
In order to realize the above processing, a common algorithm key and a license key issued by the key management organization 204 are held in advance in the in-vehicle device 202, the IC card 203, and the roadside device 201. For example, it is conceivable to embed each inside during manufacture.
Here, details of the algorithm key and details of encryption conversion and decryption conversion determined by the algorithm key are as described above.
In addition, the license key is embedded in a legitimate device as secret information, and is used for correctly performing authentication processing and key sharing processing. For example, consider a case where device B confirms that device A is a legitimate device in order for devices A and B to communicate. For this purpose, the device A may prove to the device B that the license key held by the device A is correct. Here, since the license key is secret information, the device A must prove to the device B that it is correct without revealing its license key. This proof can be realized by using a cryptographic technique. For example, a method using a symmetric key cryptosystem is described in ISO 9798-2, which is an international standard for security mechanisms. As a specific example of this symmetric key cryptosystem, an encryption conversion device or a decryption conversion device based on the present invention can be applied.
Next, each element constituting FIG. 11 will be described.
The roadside device 201 includes a wireless communication unit 232, an encryption / decryption processing unit 230, a partner authentication / key sharing processing unit 233, a main control unit 235, and a data holding unit 234.
The in-vehicle device 202 includes a wireless communication unit 212, an encryption / decryption processing unit 210, an IC card communication unit 211, a partner authentication / key sharing processing unit 213, a data holding unit 214, and a main control unit 215.
The IC card 203 includes an IC card communication unit 221, an encryption / decryption processing unit 220, a counterpart authentication / key sharing processing unit 223, a data holding unit 224, and a main control unit 225.
Here, the encryption / decryption conversion processing units 210, 220, and 230 incorporate the above-described encryption conversion device and decryption conversion device based on the present invention, and can encrypt and decrypt data. is there.
The IC card communication units 211 and 221 are used to perform communication processing between the in-vehicle device 202 and the IC card 203.
Further, the wireless communication units 212 and 232 are used for performing wireless communication processing between the in-vehicle device 202 and the roadside device 201.
Further, the authentication / key sharing processing units 213, 223, and 233 perform authentication processing for recognizing the communication partner as legitimate, and sharing of an encryption key used for data encryption and decryption. . The authentication / key sharing processing unit 213 uses the encryption conversion function and the decryption conversion function provided by the encryption / decryption processing unit 210 in order to perform authentication processing and key sharing processing. In order to realize the same function, the authentication / key sharing processing unit 223 uses the encryption / decryption conversion processing unit 220. Similarly, the authentication / key sharing processing unit 233 uses the encryption / decryption conversion processing unit 230.
The data holding units 214, 224, and 234 are used to hold algorithm keys and license keys acquired from the key management organization 204. It is also assumed that contract information, route information and settlement information can be held.
FIG. 12 shows a communication flow diagram of the automatic fee collection apparatus of FIG.
In the flowchart of FIG. 12, first, when the IC card 203 of FIG. 11 is set in the in-vehicle device 202, a partner authentication / key sharing process 240 is performed between the IC card 203 and the in-vehicle device 202. Then, after the partner authentication / key sharing process 240 is successful, the IC card 203 performs encrypted communication 241 to transfer the contract information to the in-vehicle device 202. When the in-vehicle device 202 acquires the contract information of the IC card 203, the in-vehicle device 202 holds it secretly in the data holding unit 214 (FIG. 11) in the in-vehicle device 202.
Next, when the automobile 200 in FIG. 11 passes through the roadside device 201, a partner authentication / key sharing process 250 is performed between the in-vehicle device 202 and the roadside device 201. Then, after the partner authentication / key sharing process 250 is successful, the in-vehicle device 202 performs encrypted communication 251 in order to transfer the contract information previously acquired from the IC card to the roadside device 201. The encrypted communication 251 is also used to transfer route information and settlement information from the roadside device 201 to the in-vehicle device 202.
Next, the in-vehicle device 202 performs encryption communication 261 in order to transfer the route information and settlement information obtained from the roadside device 201 to the IC card 203.
Here, the settlement of the road toll is performed between the IC card 203 and the roadside device 201. However, the IC card 203 and the roadside device 201 cannot communicate with each other unless the vehicle-mounted device 202 is interposed. In this case, there is a possibility that the in-vehicle device 202 performs an illegal process and thus an illegal settlement is performed. In preparation for such a situation, the roadside device 201 needs to be able to identify the in-vehicle device 202 used for settlement with the IC card 203. For example, an identification number is assigned to the in-vehicle device 202, and the in-vehicle device 202 transfers the identification number of the in-vehicle device 202 to the IC card 203 in the partner authentication / key sharing process 240 with the IC card 203. The IC card 203 generates and returns a digital signature for both the identification number of the in-vehicle device 202 and the settlement history of the IC card 203. Then, the in-vehicle device 202 transfers its own identification number and the digital signature acquired from the IC card 203 to the roadside device 201 in the partner authentication / key sharing process 250. Thereafter, the roadside device 201 can verify when the in-vehicle device 202 is used by verifying the digital signature generated by the IC card 203.
Further, in the encrypted communications 241, 251, and 261, it is necessary to prevent the encrypted data flowing on the communication path from being tampered with by a third party. In order to realize this, it is necessary to perform message authentication that can determine that the received message is valid. In order to perform message authentication, the sender and the receiver share a message authentication key in secret in advance. The message authentication key is shared, for example, in the other party authentication / key sharing process 250 shown in FIG. Then, the sender generates data called a message authentication code (MAC) from the message to be transferred and the message authentication key. The sender forwards the message authenticator along with the message to the recipient. The receiver verifies the received message authenticator using the message authentication key. This verification can determine whether the received message has been tampered with. Regarding message authentication, for example, a technique using a symmetric key cryptosystem is described in ISO9797, which is an international standard for security mechanisms. As a specific example of this symmetric key cryptosystem, an encryption conversion device or a decryption conversion device based on the present invention can be applied.
FIG. 13 shows a detailed flow diagram of encrypted communication 241 as an example of encrypted communication including message authentication. In the flowchart of FIG. 13, the IC card 203 first generates a message authenticator in the MAC generation process 261. Next, a combining process 262 is performed to combine the transfer message and the message authenticator. Thereafter, encryption processing 263 for encrypting data obtained by combining the transfer message and the message authenticator is performed, and encrypted data is generated.
Next, the in-vehicle device 202 receives the encrypted data and first performs a decryption process 264. Thereafter, the message and the message authenticator transferred by the IC card are restored by performing the separation process 265. Next, a MAC verification process 266 for verifying the restored message authenticator is performed to verify the validity of the received message.
This makes it possible to safely exchange data that should not be wiretapped or tampered with such as billing information and route information.
By performing the above processing, the toll is charged in the IC card 203, and the charging information can be managed by the roadside device 201.
【The invention's effect】
According to the present invention, a high-speed encryption conversion device, a decryption conversion device, an encryption communication device, and an automatic fee collection device that are strong against cryptanalysis can be obtained by changing the encryption conversion algorithm and hiding the algorithm to be used from a third party. Can be realized.
[Brief description of the drawings]
FIG. 1 is an example of an encryption communication apparatus performed by a transmitting device and a receiving device in the present invention.
FIG. 2 is a block diagram showing a cipher conversion unit in FIG.
FIG. 3 is a block diagram of a key conversion unit in FIG.
4 is a block diagram of a substitution transposition conversion unit in FIG. 2. FIG.
FIG. 5 is a block diagram of a bit string conversion unit in FIG. 4;
6 is a block diagram showing a decoding conversion unit in FIG. 1. FIG.
7 is a block diagram of an embodiment of the substitution transposition conversion means in FIG. 6. FIG.
FIG. 8 is an example of a block diagram of key conversion means in the present invention.
FIG. 9 is a block diagram of another embodiment of the substitution transposition conversion means in the present invention.
FIG. 10 is a block diagram of another embodiment of the bit string converter in the present invention.
FIG. 11 is a block diagram of an automatic fee collection device according to another embodiment of the present invention for encryption communication.
FIG. 12 is a diagram showing a communication flow of the automatic fee collection device in the present invention.
FIG. 13 is a diagram showing encryption communication used in the automatic fee collection apparatus according to the present invention.
[Explanation of symbols]
1 Data transmission equipment
2 Data receiver
3 Key management organization
11 Cryptographic converter
12 Key sharing part
13 Data processing section
14 Communication processor
15 Key data holding means
20 Cryptographic conversion means
211 to 21N Substitution transpose conversion means
23 Key conversion means
24 Algorithm key holding means
31 Decryption converter
32 Key sharing part
33 Data processing section
34 Communication processor
411-41N Substitution and transposition conversion means
43 Key conversion means
44 Algorithm key holding means
81 Key transmitter
82 Key receiver

Claims (2)

1個の暗号鍵データと、1個のアルゴリズム鍵データと、平文データとを入力し、暗号文データを出力する暗号変換手段を備えた暗号変換装置であって、
前記暗号変換手段は、
入力データを前記暗号鍵データから生成されるデータと排他的論理和演算あるいは加算演算する第1の演算手段と、
前記第1の演算手段の出力データを入力データとし、当該入力データを前記アルゴリズム鍵データの一部であるデータと排他的論理和演算あるいは加算演算する第2の演算手段と、
前記第2の演算手段の出力データを入力データとし、当該入力データを前記アルゴリズム鍵データの一部であるデータにより定まるビット数だけ循環シフトする第3の演算手段とを
有し、各演算手段による演算でビット列を変換する変換手段を(Nは自然数)備え
1段目の変換手段への入力データを平文データとし、N段目の変換手段への入力データをN−1段目の変換手段の出力データとすることを特徴とする暗号変換装置。
A cryptographic conversion device comprising cryptographic conversion means for inputting one piece of cryptographic key data, one piece of algorithm key data, and plaintext data, and outputting the encrypted text data,
The cryptographic conversion means includes
First arithmetic means for performing an exclusive OR operation or addition operation on input data and data generated from the encryption key data;
Output data of the first computing means as input data, second computing means for performing an exclusive OR operation or addition operation with the data that is part of the algorithm key data;
Output data of the second calculation means is input data, and third calculation means for cyclically shifting the input data by the number of bits determined by the data that is part of the algorithm key data. N stages of conversion means (N is a natural number) for converting a bit string by operation ,
The input data to the first stage of the conversion means and the plaintext data, the encryption converter, wherein the output data and to Rukoto of N-1-stage converter input data to the N-th stage of the converter.
1個の暗号鍵データと、1個のアルゴリズム鍵データと、暗号文データとを入力し、平文データを出力する復号変換手段を備えた復号変換装置であって、
前記復号変換手段は、
入力データを前記暗号鍵データから生成されるデータと排他的論理和演算あるいは加算演算する第1の演算手段と、
前記第1の演算手段の出力データを入力データとし、当該入力データを前記アルゴリズム鍵データの一部であるデータと排他的論理和演算あるいは加算演算する第2の演算手段と、
前記第2の演算手段の出力データを入力データとし、当該入力データを前記アルゴリズム鍵データの一部であるデータにより定まるビット数だけ循環シフトする第3の演算手段とを、
有し、各演算手段による演算でビット列を変換する変換手段を(Nは自然数)備え
1段目の変換手段への入力データを暗号文データとし、N段目の変換手段への入力データをN−1段目の変換手段の出力データとすることを特徴とする復号変換装置。
A decryption / conversion device including decryption / conversion means for inputting one encryption key data, one algorithm key data, and ciphertext data, and outputting plaintext data,
The decoding conversion means includes
First arithmetic means for performing an exclusive OR operation or addition operation on input data and data generated from the encryption key data;
Output data of the first computing means as input data, second computing means for performing an exclusive OR operation or addition operation with the data that is part of the algorithm key data;
Third output means that cyclically shifts the input data by the number of bits determined by the data that is part of the algorithm key data, using the output data of the second operation means as input data ,
And N stages of conversion means (N is a natural number) for converting a bit string by calculation by each calculation means ,
The input data to the first stage of the conversion means and the encrypted data, decryption converter, wherein the output data and to Rukoto of N-1-stage converter input data to the N-th stage of the converter.
JP11918799A 1998-05-29 1999-04-27 IC card, in-vehicle device and roadside device used for encryption conversion device, decryption conversion device, encryption communication device and automatic fee collection system Expired - Lifetime JP4556252B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11918799A JP4556252B2 (en) 1998-05-29 1999-04-27 IC card, in-vehicle device and roadside device used for encryption conversion device, decryption conversion device, encryption communication device and automatic fee collection system

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP10-148712 1998-05-29
JP14871298 1998-05-29
JP11918799A JP4556252B2 (en) 1998-05-29 1999-04-27 IC card, in-vehicle device and roadside device used for encryption conversion device, decryption conversion device, encryption communication device and automatic fee collection system

Publications (3)

Publication Number Publication Date
JP2000047580A JP2000047580A (en) 2000-02-18
JP2000047580A5 JP2000047580A5 (en) 2006-06-01
JP4556252B2 true JP4556252B2 (en) 2010-10-06

Family

ID=26456967

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11918799A Expired - Lifetime JP4556252B2 (en) 1998-05-29 1999-04-27 IC card, in-vehicle device and roadside device used for encryption conversion device, decryption conversion device, encryption communication device and automatic fee collection system

Country Status (1)

Country Link
JP (1) JP4556252B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001308843A (en) 2000-04-19 2001-11-02 Nec Commun Syst Ltd Ciphering-decoding device
JP2010256652A (en) * 2009-04-27 2010-11-11 Renesas Electronics Corp Cryptographic processing apparatus and method for storage medium
JP5665588B2 (en) * 2011-02-16 2015-02-04 Kddi株式会社 Algorithm variable encryption device, algorithm variable decryption device, algorithm variable encryption method, algorithm variable decryption method, and program
JP2013097161A (en) * 2011-10-31 2013-05-20 Kddi Corp Algorithm variable mac generation device, algorithm variable hash function generation device, algorithm variable mac generation method, algorithm variable hash function generation method and program
JP2013134414A (en) * 2011-12-27 2013-07-08 Kddi Corp Key encryption device, key decryption device, key encryption method, key decryption method, and program
JP6001422B2 (en) * 2012-11-20 2016-10-05 Kddi株式会社 Encryption library generating apparatus and program

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04170576A (en) * 1990-11-02 1992-06-18 Hitachi Ltd Cipher processing device and cipher processing method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724428A (en) * 1995-11-01 1998-03-03 Rsa Data Security, Inc. Block encryption algorithm with data-dependent rotations

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04170576A (en) * 1990-11-02 1992-06-18 Hitachi Ltd Cipher processing device and cipher processing method

Also Published As

Publication number Publication date
JP2000047580A (en) 2000-02-18

Similar Documents

Publication Publication Date Title
US6683956B1 (en) Encrypting conversion apparatus, decrypting conversion apparatus, cryptographic communication system, and electronic toll collection apparatus
US6298153B1 (en) Digital signature method and information communication system and apparatus using such method
US5815573A (en) Cryptographic key recovery system
EP1119131B1 (en) Method and apparatus for encrypting contents information
EP0735723B1 (en) Cryptographic communication method and cryptographic communication device
US6504930B2 (en) Encryption and decryption method and apparatus using a work key which is generated by executing a decryption algorithm
US7570759B2 (en) System and method for secure encryption
US7783045B2 (en) Secure approach to send data from one system to another
US6640303B1 (en) System and method for encryption using transparent keys
Reyad et al. Key-based enhancement of data encryption standard for text security
CN102598575B (en) Method and system for the accelerated decryption of cryptographically protected user data units
El-Zoghdy et al. How good is the DES algorithm in image ciphering
US6542607B1 (en) Device and method for the cryptographic processing of a digital data stream presenting any number of data
CN101867471A (en) Irrational number based DES authentication encryption algorithm
JPWO2006019152A1 (en) Message authenticator generation device, message authenticator verification device, and message authenticator generation method
JP4556252B2 (en) IC card, in-vehicle device and roadside device used for encryption conversion device, decryption conversion device, encryption communication device and automatic fee collection system
JP3172396B2 (en) Cryptographic communication device and cryptographic communication system
CN101296077A (en) Identity authentication system based on bus type topological structure
Lu et al. Related-key attacks on the full-round Cobra-F64a and Cobra-F64b
Hafsa et al. Secure transmission of medical images using improved hybrid cryptosystem: authentication, confidentiality and integrity
JP3689595B2 (en) Encryption device, decryption device, encryption communication method, and automatic fee collection system
RU2277759C2 (en) Method for generation of encoding-decoding key
Young et al. A subliminal channel in secret block ciphers
Simmons Symmetric and asymmetric encryption
JP2000004223A (en) Encryption/authentication system

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060405

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060405

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090414

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100119

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100317

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

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

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

Free format text: PAYMENT UNTIL: 20130730

Year of fee payment: 3

EXPY Cancellation because of completion of term