JP3679936B2 - 暗復号装置及び記憶媒体 - Google Patents

暗復号装置及び記憶媒体 Download PDF

Info

Publication number
JP3679936B2
JP3679936B2 JP33710898A JP33710898A JP3679936B2 JP 3679936 B2 JP3679936 B2 JP 3679936B2 JP 33710898 A JP33710898 A JP 33710898A JP 33710898 A JP33710898 A JP 33710898A JP 3679936 B2 JP3679936 B2 JP 3679936B2
Authority
JP
Japan
Prior art keywords
encryption
replacement
decryption
key
input
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 - Fee Related
Application number
JP33710898A
Other languages
English (en)
Other versions
JP2000162965A (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.)
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Solutions Corp
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 Toshiba Solutions Corp filed Critical Toshiba Solutions Corp
Priority to JP33710898A priority Critical patent/JP3679936B2/ja
Priority to US09/388,388 priority patent/US6985582B1/en
Priority to EP99306989A priority patent/EP1005191B1/en
Publication of JP2000162965A publication Critical patent/JP2000162965A/ja
Priority to US10/790,045 priority patent/US7039184B2/en
Application granted granted Critical
Publication of JP3679936B2 publication Critical patent/JP3679936B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Description

【0001】
【発明の属する技術分野】
この発明は暗復号装置及び記憶媒体、特に秘密鍵ブロック暗号により情報を暗号化若しくは復号するのに適した暗復号装置及び記憶媒体に関するものである。
【0002】
【従来の技術】
近年の計算機通信技術の発達に伴い、種々の情報がデジタル情報として通信され、また蓄積されるようになっているが、これらの情報についての機密やプライバシーを保護するために情報を暗号化する必要性が増している。このために、従来は主にDES方式(特開昭51−108701)を用いることで、情報の暗号を図っている。
【0003】
しかしながら、DES方式(以下、単にDESともいう)は1970年代に設計された暗号アルゴリズムであり現代の技術進歩に対して安全であるとは言えなくなってきている。DESに対する解読攻撃方法としては、56ビットからなる鍵の総当り探索や総当り探索より効率のよい差分攻撃(E.Biham andA.shamir,“Differential Cryptanalysis of DES−1ik Cryptosystems,”Journal of CRYPTOLOGY,Vol.4,Number 1,1991)、線形攻撃(松井充,DES暗号の線形解読法(I),暗号と情報セキュリティシンポジウム、1993)等が知られている。
【0004】
このような状況から既に広く普及しているDES方式を大幅に変更することなく、解読攻撃に対する防御力を強化する試みとして、トリプルDESが知られている。
【0005】
トリプルDESは暗号化を行うのにDESを3回適用する方式であり、2つの鍵を使用して、鍵1による暗号化、鍵2による復号、鍵1による暗号化、という手順により暗号化を行うものである。トリプルDESではDESの鍵を2つ用いるので個々の鍵は56ビットでありながら、実質的な鍵の長さは112ビットであると考えることができる。
【0006】
しかし、トリプルDESはDESを3回行うため、DESと較べて処理時間が多くかかってしまうという問題点がある。
【0007】
一方、DESを強くしようとする異なる試みとして、DES−SS方式(特開平10−116029)が知られている。
【0008】
DES−SS方式(以下、単にDES−SSともいう)では、DES内部で使用されている非線型関数であるF関数の他に新たにG関数を用いることで、DESの安全性を高めている。また、DES−SSの処理ではDESと比較するとG関数の処理が増加しているだけなので、トリプルDESと較べて効率がよいという特徴を持つ。
【0009】
さらに、トリプルDESとは異なり56ビットの鍵を複数用いるのでなく、1個の鍵自体の長さが112ビットであるため、総当り攻撃に対してより安全であるという特徴も持っている。
【0010】
DESの56ビットの鍵は8ビットのパリティビットを含めて64ビットで表される。DES−SSでは、鍵の上位64ビットと下位64ビットが同じ値である場合には、DESと同じ機能を果たす暗号化関数として動作するという他の暗号方式にない特徴がある。これによりDES−SSを有する暗復号装置では、DES互換モードを設けることが可能になる。
【0011】
このDES互換モードの原理は、鍵の上位と下位が等しい場合には、G関数の入力と出力が一致する関数、すなわち恒等変換であることに基づいている。DES−SSのもつDES互換モードを利用することにより、1つの暗復号装置で2つの暗号化を行うことができ、装置規模を小さくできるという利点がある。
【0012】
【発明が解決しようとする課題】
上記したように、DES、トリプルDES、DES−SSにはそれぞれ長所と短所がある。ここで、情報暗号化の要請及び高強度の必要性がますます高くなっていること、及び、DESは広く普及していること、等の事情を考え合わせれば、DES及びその応用暗号化技術との互換性を確保しつつ強度の高い暗号化も可能な技術を提供することが重要になってきている。
【0013】
しかし、この技術の実現にあたっては、暗号の効率性という点も考慮に入れなければならない。
【0014】
例えばDES−SSを用いれば、DESより安全でトリプルDESより効率のよい暗号化を行うことができる。ここでDES−SSを用いてトリプルDESと互換性のある暗号を構成しようとする場合を考える。DES−SSを3段重ねることでトリプルDESと互換性のある暗号を実現することは可能ではあるが、トリプルDES以上に効率が悪くなるという問題がある。
【0015】
一方、DES、トリプルDES及びDES−SSの何れもラウンド関数を利用し、同じ構造の処理を繰り返し行う積暗号と呼ばれる形式を用いている。このような形式の暗号は、上記した差分攻撃や線形攻撃に弱いという特徴を持っている。
【0016】
本発明は、このような実情を考慮してなされたもので、DES、トリプルDES、DES−SSのすべてと互換な単一の暗号アルゴリズムを構成するが、単にDES−SSを3段重ねるより効率がよく、かつ差分攻撃や線形攻撃にも強いアルゴリズムとなる暗復号装置及び記憶媒体を提供することを目的とする。
【0017】
【課題を解決するための手段】
上記課題を解決するために、請求項1に対応する発明は、入力された平文を暗号文に暗号化して当該暗号文を出力し、又は、入力された暗号文を平文に復号して当該平文を出力する暗復号装置であって、DES−SSのデータ攪拌部の構成を有し、前記平文を暗号処理して結果を出力し、又は入力された第1置換結果を復号処理して得られた平文を出力する第1の暗復号化手段と、前記第1の暗復号化手段の出力を所定の置換表によりデータ置換して結果を出力し、又は入力された暗号結果を前記置換表によりデータ置換して第1置換結果を前記第1の暗復号化手段に入力する第1の置換手段と、DESのデータ攪拌部の構成を有し、前記第1の置換手段の出力を復号処理して結果を出力し、又は入力された第2置換結果を暗号処理して暗号結果を前記第1の置換手段に入力する第2の暗復号化手段と、前記第2の暗復号化手段の出力を所定の置換表によりデータ置換して結果を出力し、又は入力された復号結果を前記置換表によりデータ置換して第2置換結果を前記第2の暗復号化手段に入力する第2の置換手段と、DES−SSのデータ攪拌部の構成を有し、前記第2の置換手段の出力暗号処理して得られた前記暗号文を出力し、又は入力された暗号文を復号処理して復号結果を前記第2の置換手段に入力する第3の暗復号化手段とを備えており、前記第1,第2及び第3の暗復号化手段並びに前記第1及び第2の置換手段のそれぞれに個別に与える5つの中間鍵を、外部から入力された鍵情報をもとに生成する鍵生成手段を備えるとともに、前記第1の暗復号化手段と前記第3の暗復号化手段は、前記鍵生成手段からの中間鍵により、それぞれ“DES”又は“DES−SS”のアルゴリズムに従う手段となり、前記第1の置換手段と前記第2の置換手段は、前記鍵生成手段からの中間鍵により、それぞれ前記置換表を用いた入力に対応する出力データを出力し、又は入力と同一の出力データを出力し、前記第1及び第2の置換手段は、前記鍵生成手段が生成した中間鍵に所定の情報が含まれているときには恒等変換として機能する暗復号装置である。
【0018】
本発明はこのような第1,第2及び第3の暗復号化手段並びに第1及び第2の置換手段を設けたので、各暗復号化手段の内容及び各置換手段の使用有無を調整することで、DES、トリプルDES、DES−SSのすべてと互換な単一の暗号アルゴリズムを構成するが、単にDES−SSを3段重ねるより効率がよいものとすることができる。また、置換手段によりデータ置換を行えば、データの連続性に擾乱が与えられるので、差分攻撃や線形攻撃にも強いアルゴリズムとすることができる。
【0020】
本発明はこのような第1の暗復号化手段と第3の暗復号化手段、並びに第1の置換手段と第2の置換手段が、それぞれ同一のアルゴリズムに従う手段となるので、より簡単な構成で同様の効果を得ることができる。
【0022】
本発明は、このような中間鍵生成手段を備えるとともに、第1及び第2の置換手段が中間鍵に所定の情報が含まれているときには恒等変換として機能するので、第1及び第2の置換手段に与える中間鍵の内容を制御することで、DES、トリプルDES等の互換モードとそれ以外の強化暗号モードを容易に切り換えることができる。
【0023】
次に、請求項に対応する発明は、請求項に対応する発明において、第1及び又は第3の暗復号化手段は、鍵生成手段が生成した中間鍵に所定の情報が含まれているときには、第2の暗復号化手段と同一のアルゴリズムに従う手段となる暗復号装置である。
【0024】
本発明はこのような手段を設けたので、第1〜第3の暗復号化手段に与える中間鍵の内容を制御することで、DES、トリプルDES等の互換モードにおける各モード切替を容易に行うことができる。
【0025】
次に、請求項に対応する発明は、請求項又はに対応する発明において、第2の暗復号化手段は、第1及び第3の暗復号化手段が暗号化処理を行うときには復号処理を実行し、第1及び第3の暗復号化手段が復号処理を行うときには暗号化処理を実行する暗復号装置である。
【0026】
本発明はこのような手段を設けたので、容易にトリプルDESやDES、DES−SS間の切り替えを行うことができる。
【0027】
次に、請求項に対応する発明は、請求項に対応する発明において、鍵生成手段は、第1及び第3の暗復号化手段に同一の中間鍵を与える暗復号装置である。
【0028】
本発明はこのような手段を設けたので、容易にトリプルDESを実現することができる。
【0029】
次に、請求項に対応する発明は、請求項に対応する発明において、鍵生成手段は、第1及び第2の暗復号化手段、又は、第2及び第3の暗復号化手段が同一アルゴリズムとなりかつ同一暗復号鍵を使用する結果となる中間鍵を与える暗復号装置である。
【0030】
本発明はこのような手段を設けたので、容易にDESやDES−SSを実現することができる。
【0031】
次に、請求項8に対応する発明は、請求項1に対応する発明をコンピュータに実現させるプログラムを記録した記録媒体である。
【0032】
次に、請求項に対応する発明は、請求項1に対応する発明をコンピュータに実現させるプログラムを記録した記媒体である。
【0035】
【発明の実施の形態】
以下、本発明の実施の形態について説明する。
(発明の第1の実施の形態)
図1は本発明の第1の実施形態に係る暗復号装置の一例を示す構成図である。
【0036】
この暗復号装置10は、第1,第2,第3暗復号化部11,13,15、第1,第2置換処理部12,14並びに鍵スケジュール部16を備える他、各機能部11〜16を制御する制御部(図示せず)を備えて、暗号化装置、復号装置あるいは暗号化・復号装置として構成される。
【0037】
ここで、平文21を第1暗復号化部11に入力し、第1置換処理部12、第2暗復号化部13、第2置換処理部14、第3暗復号化部15と処理を進めて暗号文22を出力する場合には暗号装置として機能し、暗号文22を第3暗復号化部15に入力し、上記と逆方向に処理を進める場合には復号装置として機能する。この何れの装置として、機能させるかは制御部の処理によって決まることになる。
【0038】
また、暗復号装置10は、ハードウエア的にはCPUやメモリ等の計算機要素から構成されるものである。各機能部11〜16はこの計算機要素が所定のプログラムに制御されて実現される。すなわち機能部11〜16はハードウエア資源とソフトウエア資源の結合たる機能実現手段である。また、上記計算機要素及びプログラムは、パーソナルコンピュータやワークステーション等の計算機に提供されるものを使用するか、専用のチップを作成することにより、本暗復号装置10用に確保される。
【0039】
次に、上記各機能部11〜16の構成について説明する。
【0040】
まず、鍵スケジュール部16は、外部から入力された鍵情報Kをもとに中間鍵に展開し、機能部11〜15からなるデータ攪拌部に供給する。
【0041】
機能部11〜15からなるデータ攪拌部は、64ビット入力の平文21又は暗号文22を、鍵スケジュール部16からの鍵により攪拌して暗号化しあるいは復号し、対応する暗号文22若しくは平文21として出力する。
【0042】
ここで、第1暗復号部11は、DES−SSのデータ攪拌部と同様な構成を備え、平文21を入力され、鍵スケジュール部16から入力された中間鍵の制御下で暗号化処理としての攪拌処理を行い、出力を第1置換処理部12に入力する。逆に、第1置換処理部12からの入力を鍵スケジュール部16からの中間鍵で復号し、平文21として出力する。なお、復号処理については、ここで説明したように暗号化処理の逆の処理を行うだけなので、以下の機能部12〜15の説明においては暗号化を行う場合についてのみ説明し、特に断らない限り復号については省略する。
【0043】
また、この第1暗復号部11は、DES−SSの構成を有することから、鍵スケジュール部16からの中間鍵の内容が一定の場合には単なるDESとして機能する。なお、DES−SSについては第2の実施形態で詳しく説明する。
【0044】
第1置換処理部12は、第1暗復号処理部11から入力されたデータについて、中間鍵及び置換表を用いたデータの置換処理を行い、その出力を第2暗復号化部13に入力する。また、中間鍵が一定の場合にはこの第1置換処理部12を未使用状態にできるようになっている。未使用状態の場合は入力データをそのまま出力する。ここで、置換表は、乱数によって生成する方法若しくは代数的に生成する方法(式を用いる方法)によって作成される。何れの場合も差分確率及び線形確率の低い、すなわち差分攻撃や線形攻撃に強い置換表を作成する。
【0045】
図2は置換処理部等に用いられる差分確率及び線形確率の低い置換表の一例を示す図である。
【0046】
このような表は、差分確率及び線形確率の良好(低く)にできる代数式(例えば有限体GF(2^8)上で原始多項式(x^8+x^4+x^3+x^2+1)を用いてx^(−1)を計算する;“^”は冪乗演算)を用いるか、差分確率及び線形確率が良くなるまで乱数計算を繰り返して作成する。
【0047】
なお、本実施形態において差分確率及び線形確率が良好であるためには、それぞれの確率が理想値の2倍以下であることが望ましい。ここで8ビットの場合であれば、差分確率の理想値は4/256であり、線形確率の理想値は16/256である。
【0048】
次に第2暗復号化部13は、DESのデータ攪拌部と同様な構成を備え、第1置換処理部12からの出力に対し、鍵スケジュール部16からの中間鍵の制御下で攪拌処理を行い、その出力を第2置換処理部14に入力する。なお、ここにおける攪拌処理は暗号文22を生成するための復号処理である。逆に平文21に復号するためには暗号処理がなされる。
【0049】
第2置換処理部14は、第1置換処理部13と同様な構成を備え、中間鍵および置換表を用いたデータの置換処理を行い、出力を第3暗復号化部15に入力する。また、中間鍵が一定の場合には第2置換処理部14を未使用状態、すなわち入力と出力が一致するようになっている。
【0050】
第3暗復号部15は、DES−SSのデータ攪拌部と同様な構成を備え、鍵スケジュール部16から入力された中間鍵の制御下で暗号化処理としての攪拌処理を行い、暗号文22を出力する。また、第3暗復号部15もDES−SSの構成を有するので、鍵スケジュール部16からの中間鍵の内容が一定の場合には単なるDESとして機能する。
【0051】
次に、以上のように構成された本実施形態における暗復号装置の動作について説明する。
【0052】
この暗復号装置においては、鍵スケジュール部16からの中間鍵により、第1,第3暗復号処理部11,15を、”DES”、”DES−SS”の何れか、また第1,第2置換処理部12,14を、 ”使用”、”未使用”の何れかの状態 に選択できるようになっている。これにより各機能部11〜15の状態組み合わせを適宜に変更可能である。
【0053】
図3は各機能部の状態組み合わせの例を示す図である。
【0054】
同図において、まず、第1,第3暗復号化部11,15をDESモードにし、第1,第2置換処理部12,14を未使用の状態にするとともに、第1,第2暗復号化部11,13に使用する鍵を同一にすると、暗復号装置全体はDESによる暗復号装置となる。
【0055】
これは、第2暗復号化部13が平文21の暗号化に際して復号処理を行うため、第1暗復号処理部11で暗号化されたデータが第2暗復号化部13によって元の平文21に戻ってしまうためである。
【0056】
次に、第1,第2,第3暗復号化部11,13,15をDESモードにし、第1,第2置換処理部12,14を未使用状態とすると、トリプルDESと同一の状態になる。トリプルDESは、平文を第1の鍵で暗号化し、その出力を第2の鍵で復号し、さらにその出力を第1の鍵で暗合する方式である。ここでは、第1暗復号化部11が上記最初の暗号化を担当し、第2暗復号化部13が次の復号を担当し、第3暗復号化部15が最後の暗号化を担当する。
【0057】
次に、第1暗復号化部11をDESモードにし、第1,第2置換処理部12,14を未使用状態とするとともに、第1,第2暗復号化部11,13に同一の鍵を使用するとDES−SSモードと同一の状態になる。上記の場合と同様に、第1,第2暗復号化部11,13の処理は互いにうち消し合って、平文21が第3暗復号化部15に入力される状態になるためである。
【0058】
以上が本実施形態の暗復号装置10の有するDES、トリプルDES、DES−SS互換モードである。
【0059】
次に、第1,第2置換処理部12,14を使用する場合には、上記互換モードよりも強化された暗号化を行うモードとなる。以下に説明する各場合は、第1,第2置換処理部12,14を使用するものである。
【0060】
例えば第1,第2,第3暗号化部11,13,15すべてをオリジナルのモード(DES−SS、DES、DES−SS)で使用した場合(図3:パターン1)、トリプルDESとDES−SSを組み合わせ、さらに各処理間に置換表による攪拌を加えたものとなる。
【0061】
この場合、DES方式に類するラウンド関数の繰り返しによるデータ攪拌がDES−SSの長い鍵で十分に行われるとともに、各処理間で差分確率及び線形確率の低い置換表による攪拌が加えられるので、データの連続性に擾乱がおこり、線形攻撃や差分攻撃といった攻撃に対する防御力が強くなる。
【0062】
また、第1,第3暗復号化部11,15をDESとし(図3:パターン2)、線形攻撃等からの防御力を保持しつつ、パターン1に比べて暗号化時間の短縮化を図るようにすることも可能である。
【0063】
さらに、第1,第3暗復号化部11,15の一方をDESとし、他方をDES−SSとしてパターン1とパターン2の中間的な暗号とすることも可能である。
【0064】
また、上記各パターンの場合に、各暗復号化部11,13,15に与える鍵の組み合わせを変更して更に種々の暗号形式とすることができる。例えば暗復号化部11,13,15すべてに異なる鍵を与える、暗復号化部11,13に同一の鍵を与える、暗復号化部11,15に同一の鍵を与える、暗復号化部13,15に同一の鍵を与える、暗復号化部11,13,15すべてに同一の鍵を与える、等のパターンが考えられる。
【0065】
これらは、暗復号化装置10の処理能力や、互換モード及び強化暗号モードにおける各パターンの普及度等を考慮して適宜選択される。
【0066】
上述したように、本発明の実施の形態に係る暗復号装置は、第1,第2,第3暗復号化部11,13,15を設け、各処理部の動作モード及び与える鍵を適宜変更できるようにしたので、DES、トリプルDES、DES−SSのすべてと互換な単一の暗号アルゴリズムを構成するが、DES−SSを3段重ねるより効率のよい暗号アルゴリズムの装置として構成することができる。したがって、このような暗号アルゴリズムの装置では独立して3つの暗号装置を持つよりも、装置規模を小さくすることができる。
【0067】
また、本実施形態の暗復号装置10は、置換処理部12,14によって、データの連続性に擾乱を起こすことができるので、線形攻撃や差分攻撃等の同一構成の繰返しに着目した攻撃をより困難にすることができ、安全性を向上させることができる。
【0068】
また、本実施形態の装置では、単一のアルゴリズムで種々の暗号方式を提供できるので、各暗号の普及度やハードウエアの処理能力の変化に応じて使用する暗号方式を選択することができ、長期間に渡って使用することができる。
(発明の第2の実施の形態)
本実施形態では、第1の実施形態における各機能部11〜16の構成をより具体化させた場合について説明する。したがって、本実施形態は第1の実施形態と同様に構成される他、各機能部11〜16における更なる形態例が示されるものである。
【0069】
本実施形態の暗復号装置10は、図1に示す第1の実施形態の暗復号装置と同様に構成されている。以下、各機能部11〜16の構成例を説明する。なお、本実施形態の各図面においては、第1実施形態の図1と同一部分には同一符号を付して詳細説明を省略する。
[鍵スケジュール部16の構成動作]
まず、鍵スケジュール部16について説明する。
【0070】
図4は鍵スケジュール部の全体構成を示す図である。
【0071】
同図に示すように、鍵スケジュール部16には、256ビットの鍵情報Kを5つに分割し各レジスタ32,33,34,35,36に格納する分割部31と、レジスタ32〜35から56ビットの鍵情報を読出しこれを拡大転置して64ビットにする拡大転置部37とが設けられている。さらに、拡大転置結果若しくはレジスタ36の内容から中間鍵K1,K2,K3並びにKK1及びKK2をそれぞれ生成するDES−SS鍵スケジュール部38,39、DES鍵スケジュール部40及び置換用鍵スケジュール部41が設けられ、鍵スケジュール部16が構成されている。
【0072】
ここで256ビットの鍵情報は、分割部31において56ビットからなる4つのブロックB1,B2,B3,B4と、32ビットの1つのブロックB5に分割され、それぞれレジスタ32〜36に記憶される。この場合の分割の仕方は、256ビットを先頭から順次56ビットづつ切り出してそれぞれB1〜B4とし、さらに最後の残り32ビットをB5とするものである。
【0073】
また、ブロックB1からブロックB4までの4つのブロックはそれぞれ拡大転置部37に入力され、それぞれ拡大転置表によって64ビットに拡大される。
【0074】
図5は拡大転置表の一例を示す図である。
【0075】
同図の表は先頭から出力ビットに対応しており、また各出力ビットにおける数字は入力が第nビット目であるかをあらわす。ただし、表中の0はその出力ビットとして0が出力されることを表す。
【0076】
次に、ブロックB1を拡大した64ビットの鍵とブロックB2を拡大した64ビットの鍵を連結した128ビットの鍵は、第1暗復号部11への中間鍵K1を出力するDES−SS鍵スケジュール部38に入力される。
【0077】
また、ブロックB1を拡大した64ビットの鍵とブロックB3を拡大した64ビットの鍵を連結した128ビットの鍵は、第3暗復号部15への中間鍵K3を出力するDES−SS鍵スケジュール部39に入力される。
【0078】
また、ブロックB4を拡大した64ビットの鍵は、第2暗復号部15への中間鍵K2を出力するDES鍵スケジュール部40に入力される。さらに、32ビットのブロックB5は拡大転置されることなく置換用鍵スケジュール部41に入力される。
【0079】
上記各鍵スケジュール部38〜41のうち、DES鍵スケジュール部40は一般的なDESにおける拡大鍵生成手段と同様な構成を有するのみであるので、詳細説明は省略し、以下、DES−SS鍵スケジュール部38,39及び置換用鍵スケジュール部41について説明する。
【0080】
図6はDES−SS鍵スケジュール部の構成例を示すブロック図である。
【0081】
DES−SS鍵スケジュール部38,39は、Aスケジュール部45,Bスケジュール部46及びFG拡大鍵生成部47から構成される。なお、FG拡大鍵生成部47は各ラウンド(1段〜16段)に対応して設けられるとともに、Aスケジュール部45及びBスケジュール部46内も16段の構成となっており、同図にはそれぞれ第1段のみが示されている。なお、符号以外の同図における数値はビット数を現している。
【0082】
拡大転置部37から入力される128ビットの鍵のうち、各ブロックB1,B2若しくはB3に対応する部分がそれぞれAスケジュール部45,Bスケジュール部46に入力されるようになっている。
【0083】
Aスケジュール部45及びBスケジュール部46は、入力される鍵が異なり、また拡大鍵を生成するためのデータの出力の仕方が異なる点を除けば、一般的なDESにおける拡大鍵生成手段と同様な構成となっているので詳細説明は省略する。
【0084】
ここで、DES−SS用とDES用の中間鍵における相違点は、DES−SSではDESの攪拌手段に使用されるF関数拡大鍵に加え、G関数拡大鍵が必要な点である。
【0085】
図6におけるAスケジュール部45及びBスケジュール部46では、ビット選択部48A,48Bが中間鍵K1/K2を生成するための情報を出力する。
【0086】
ここでまず、Aスケジュール部45のビット選択部48Aは、F関数拡大鍵FK1を出力するともに、5ビットの鍵A1を出力する。この5ビットの鍵A1は例えばビット選択部48Aに入力されてなる56ビットの鍵の左から9,18,22,25,35番目の5ビットが用いられる。この5ビット選択方法は他の方法でも良い。
【0087】
一方、Bスケジュール部4のビット選択部48Bは、G関数拡大鍵の元になる48ビットの鍵GB1を出力するともに、鍵A1と同様な5ビットの鍵B1を出力する。Aスケジュール部45及びBスケジュール部46が一般的なDESの拡大鍵生成手段と異なるのは、ビット選択部48A,48B(以下の、2〜16段も同様)の処理がこのように修正されている点のみである。
【0088】
FG拡大鍵生成部47は、ビット選択部48Aが出力した鍵をそのままF関数拡大鍵FK1として出力する。また、48ビットの鍵GB1とF関数拡大鍵FK1の排他的論理和49をとってG関数拡大鍵GK1の一部(G1,G2,G3)として出力する。さらにFG拡大鍵生成部47は、鍵A1と鍵B1との間で排他的論理和50を取り、さらにその出力と0X10(0Xは16進を表す)との間で排他的論理和51をとってG関数拡大鍵GK1の一部(G4)として出力する。
【0089】
こうして、DES−SS鍵スケジュール部38,39によって、F関数拡大鍵FK1と、鍵G1,G2,G3,G4からなるG関数拡大鍵GK1とを含む中間鍵K1,K3が得られる。
【0090】
DES−SS鍵スケジュール部38が出力した中間鍵K1は第1暗復号化部11に入力され、DES−SS鍵スケジュール部39が出力した中間鍵K3は第3暗復号化部15に入力されることとなる。なお、詳細説明は省略したが、DES鍵スケジュール部40が出力した中間鍵K2は第2暗復号化部13に入力され、第2暗復号化部13によって、DESによる暗復号が実行される。
【0091】
次に、置換用鍵スケジュール部41について説明する。
【0092】
図7は置換用鍵スケジュール部の構成例を示すブロック図である。
【0093】
この置換用鍵スケジュール部41は、レジスタ36のブロックB5を32ビットの鍵として入力し、第1置換処理部12に入力される中間鍵KK1と、第2置換処理部14に入力される中間鍵KK2を出力するものである。
【0094】
まず、レジスタ54内の32ビットの鍵C0′は、そのまま第1置換処理部12用の中間鍵KD1(32ビット)として出力されるとともに、論理和部55及び左シフト部56に入力される。なお、レジスタ54はレジスタ36と同一であってもよい。
【0095】
論理和部55では、32ビットの鍵C0′における各ビットの論理和が計算結果として出力され、第1置換処理部12用の中間鍵KS1(1ビット)となる。
【0096】
この中間鍵KD1と中間鍵KS1とから中間鍵KK1が構成され、第1置換処理部12に入力される。
【0097】
次に、左シフト部56に入力されたデータは同シフト部56により4ビットほど左シフトされた後、鍵C1としてレジスタ57に格納される。
【0098】
この鍵C1′は、第2置換処理部14に入力される32ビットの中間鍵KD2となり、また、論理和部58において32ビットC1′の論理和の計算結果が、第2置換処理部14に入力される1ビットの中間鍵KS2となる。
【0099】
この中間鍵KD2と中間鍵KS2とから中間鍵KK2が構成され、第2置換処理部14に入力される。
【0100】
以上が鍵スケジュール部16の構成及び動作であり、次に、置換処理部12,14について説明する。
[置換処理部12,14の構成動作]
図8は置換処理部の構成例を示すブロック図である。
【0101】
同図に示すように置換処理部12,14は、初期転置部61と、排他的論理和62〜66と、置換部67〜74と、逆転置部75とから構成されている。置換部67〜74には、図2に示すような置換表が保持されており、入力を置換表により変換して出力する。
【0102】
ここで、まず、暗復号化部からの64ビットの入力は、初期転置(初期転置IP)部61においてビット転置が行われ、その結果が8ビットづつの8つのブロックに分割される。
【0103】
初期転置61の出力のうち8ビットブロック4つからなる32ビットはそのまま置換部67〜70に入力される。残りの8ビットブロック4つからなる32ビットは排他的論理和62〜66において中間鍵KD(中間鍵KD1/KD2)との排他的論理和が行われ、その結果が置換部71〜74に入力される。
【0104】
置換部67〜74には、8ビットの入力データと1ビットの鍵KS(中間鍵KS1/KS2)とが入力される。ここで、鍵ビットが1の場合には、置換表を用いた入力に対応する出力データが出力され、鍵ビットが0の場合には、入力と同一の出力データが出力される。すなわち鍵KSが0ビットの場合には置換処理部12,14は未使用状態となる。
【0105】
各置換部67〜74からの出力は逆転置(逆転置IP-1)75に入力され、ここでビット転置が行われたのち、64ビットデータとして出力される。
[第1,第3暗復号化部11,15の構成動作]
次に、DES−SSのデータ攪拌手段として構成される第1,第3暗復号化部11,15について説明する。
【0106】
図9はDES−SSとして構成された暗復号化部の構成例を示すブロック図である。
【0107】
DES−SSとして構成された第1,第3暗復号化部11,15は、鍵GK及びFKからなる中間鍵K1又はK3に依存して入力(64ビット)を攪拌し、対応する暗号文を出力する。この暗復号化部11,15は、初期転置部(初期転置IP)80と、第1段から第16段までのデータ攪拌部81〜96と、最終転置部(最終転置IP-1)97とから構成されている。各データ攪拌部81〜96は、暗号化関数としてのF関数81f〜96f及び排他的論理和81a〜96aを備えてDESのデータ攪拌手段と同様に構成される他、鍵GKを用いてデータを攪拌する暗号化関数としてのG関数81g〜96gをも備えている。
【0108】
ここで、F関数81f〜96fは、通常のDESと同様な攪拌処理を行うものであり、中間鍵K1,K3のうちのF関数拡大鍵FKとG関数81g〜96gの出力とを受け、所定の攪拌処理を行ってその結果を排他的論理和81a〜96aに入力する。
【0109】
排他的論理和81a〜96aは、32ビットのLn(L0〜L15)とF関数81f〜96fの出力との間の排他的論理和を次段の入力の右側32ビットRn+1として出力する。
【0110】
また、G関数81g〜96gは、後述する攪拌処理を行うものであり、中間鍵K1,K3のうちのG関数拡大鍵GKとRn(R0〜R15)とを受け、所定の攪拌処理を行って次段の入力の左側32ビットLn+1及びF関数81f〜96fへ出力する。
【0111】
各段のデータ攪拌部81〜96では同様な処理が実行される。まず第1段の動作について説明する。
【0112】
暗復号化部11,15において、入力(64ビット)は初期転置部80にて転置された後、2つに等分割されて左側32ビットL0と右側32ビットR0として生成される。
【0113】
第1段データ攪拌部81において、R0は暗号化G関数81gに入力され、そのG関数出力が暗号化F関数81fに入力されるとともに、第2段データ攪拌部82に左側32ビットL1として出力される。一方、L0は排他的論理和部81aに入力され、F関数81fとの間で排他的論理和が取られた後、第2段データ攪拌部82に右側32ビットR1として出力される。
【0114】
以上の攪拌処理が第1段で行われたのち、以下、第16段まで第1段と同様の攪拌処理が行われる。第16段の出力は最終転置部97によって転置が行われた後、64ビットの出力となる。
【0115】
次にG関数81g〜96gにおける処理について説明する。
【0116】
図10はG関数の構成例を示すブロック図である。
【0117】
このG関数81g〜96gは、入力データに対し、G関数拡大鍵GKに含まれる4つの鍵G1,G2,G3,G4を用いた攪拌を行ってデータ出力するものである。このために、G関数81g〜96gは、排他的論理和部103,104,108、論理積部101,106、左シフト部105を備えている。
【0118】
なお、同図に示すL0′,L1′,L2′,L3′,R0′,R1′,L2′,R3′は、これらのデータがレジスタに格納され、あるいは次の機能手段に引き渡されることを示す。
【0119】
このG関数においては、まず入力(32ビット)は、2つに等分割されて左側32ビットL0′と右側32ビットR0′が生成される。
【0120】
R0′は論理積部101及び排他的論理和部104に入力され、L0′は排他的論理和部103に入力される。
【0121】
論理積部101においてR0′と拡大鍵G1の論理積が行われ、排他的論理和部103に出力される。排他的論理和103においてはL0′と論理積部101の出力との排他的論理和が行われ、その結果L1′が左シフト105に入力される。
【0122】
一方、排他的論理和104においてはR0′と拡大鍵G2との排他的論理和が行われ、その結果R1′が左シフト部105に入力される。
【0123】
左シフト部105においては、拡大鍵G4のビット数に従った左シフトが行われ、そのシフト結果の出力は2つに等分割して左側32ビットがR2′に、右側32ビットがL2′となる。
【0124】
R2′は論理積部106に入力され、L2′は排他的論理和部108に入力される。論理積部106においてはR2′と拡大鍵G3の論理積が行われ、排他的論理和部108に出力される。
【0125】
さらに、排他的論理和部108において、L2′と論理積部106の出力との排他的論理和が行われ、G関数の出力の左側32ビットとなる。一方、G関数の出力の右側32ビットはR2′が用いられる。
【0126】
このG関数においては、入力を分割しその分割入力を再び接続してシフトしつつ、その間に攪拌処理を挿入して出力データの攪拌度合いを高いものにしている。
[第2暗復号化部13の構成動作]
第2暗号化部13は、一般的なDESのデータ攪拌手段と同様に構成されているので、ここでは詳細な説明は省略する。なお、DESのデータ攪拌手段については(岡本栄司著,「暗号理論入門」,共立出版,1993)等に記載されている。また、例えば図9に示すDES−SSの構成からG関数81g〜96gを取り除きG関数拡大鍵GKを不要としたものは、DESのデータ攪拌手段の一例となっている。
[鍵情報Kに対応した暗復号装置10の動作]
本実施形態の暗復号装置10の各機能部11〜16が上記したように構成され動作するときに、鍵スケジュール部16に与える鍵情報Kの内容により、暗復号装置10がいかなる内容の暗号若しくは復号装置となるかについて説明する。
【0127】
ここで、鍵情報Kは、図4に示すように、ブロックB1〜B5に分割されるものであり、各ブロックB1〜B5の内容がどのようになっているかにより本装置10における処理が決まることになる。
【0128】
まず、ブロックB5の部分に少なくともビットが立っており、その論理和55,58が0にならない場合には、鍵KSが0とならずひいては図8に示す置換処理部12,14における置換部67〜74において置換処理が実行される。この場合には、暗復号装置10は、図3における強化暗号モードとして動作する。この結果、従来のDES、DES−SS又はトリプルDESとは異なり、置換表による暗号連続性が擾乱された暗号となって、より強化された暗号化が実現される。
【0129】
特に、ブロックB1からブロックB5の鍵情報として独立したものを与えれば、より安全性の高い256ビット鍵の暗号化アルゴリズムとして使用される。
【0130】
一方、置換用鍵スケジュール部41に入力される32ビットの鍵ブロックB5の入力ビットがすべて0である場合には論理和55,58の出力である鍵KSが0になるため、置換処理部12及び14における置換表が使用されない。したがって、この場合の中間鍵KK1,KK2によっては、置換処理部12及び14において、入力と同一のデータが出力され恒等変換が行われることになる。
【0131】
置換処理部12及び14にて恒等変換が行われる場合には、暗復号装置10は図3における互換モードとして動作することになる。以下、この場合について、更に具体的に説明する。
【0132】
まず、図4において、ブロックB1と同一の内容をブロックB2及びB3に入力することにより、DES−SS鍵スケジュール部38及び39は、第1,第3暗復号化部11,15がDES暗号化モードとなる暗号化処理を行う中間鍵を生成する。第1,第3暗復号化部11,15がDESモードになるためには、図9におけるG関数入出力が恒等変換となればよい。この恒等変換は、図10に示すG関数処理において、拡大鍵G1〜G4が所定の入力になれば実現される。
【0133】
このとき、暗号化装置全体としては、ブロックB1に入力された鍵ビットによる第1暗復号化部11のDES暗号化と、ブロックB4に入力された鍵ビットによる第2暗復号化部13のDES復号の処理となり、56ビットからなる2つの鍵を用いたトリプルDESと同一の処理内容となる。
【0134】
この場合に、さらにブロックB1とブロックB4に同一の内容を用い、ブロックB2とB3のいずれか一方をブロックB1と同一の内容に設定することにより、DES−SSとの互換モードとして動作する。これは、ブロックB1と同一内容を入力する側の暗復号化部11又は15がDESモードで動作して、第2暗復号化部13の処理とキャンセルするため、結果としてDES−SSモードの部分のみが残るからである。
【0135】
このとき、例えばブロックB3をブロックB1と同一の内容とすると、暗号化装置10全体としては、ブロックB1とB2をそれぞれ拡大転置した出力を結合した128ビットの鍵を入力とするDES−SSと同一の処理内容となる。
【0136】
上述したように、本発明の実施の形態に係る暗復号装置は、256ビットの鍵情報Kを5つのブロックに分割し、各ブロック情報を用いて実質的な中間鍵情報のみならず、第1,第2置換処理部12,14の使用有無、及び、第1,第2,第3暗復号化部11,13,15の動作モード指定ができる情報を生成し、これによって装置全体の動作モードを制御するようにしたので、第1の実施形態と同様な装置を実現させ、その作用効果を得ることができる。
【0137】
すなわち本実施形態では、鍵情報Kの内容を修正するだけで動作モードの変更を容易に行うことができ、DES、トリプルDES、DES−SSのすべてと互換な単一の暗号アルゴリズムを構成するとともに、データの連続性に擾乱を起せる線形攻撃や差分攻撃等に強い暗号をも実現させることができる。
(発明の第3の実施の形態)
本実施形態は、第2の実施形態における第1,第3暗復号化部11,15のG関数に改良を加えた場合について説明する。
【0138】
図11は本発明の第3の実施形態に係る暗復号装置におけるG関数の構成例を示すブロック図であり、図1〜図10と同一部分には同一符号を付して説明を省略する。
【0139】
この暗復号装置10は、図11に示すように、第1,第3暗復号化部11,15のG関数81g〜96gにおいて、論理積101〜排他的論理和103間に置換部102,論理積106〜排他的論理和108間に置換部107が挿入される他、第2の実施形態と同様に構成されている。したがって、本実施形態にて説明するG関数81g〜96gは厳密にはDES−SSのG関数とは異なるものであり、DES−SS用のG関数が修正されたものである。
【0140】
置換部102,107は、差分の一様性および非線形性の高い特性を有する,例えば図2に示すような置換表を保持しており、入力を置換表により変換して出力する。
【0141】
このように構成された本実施形態の暗復号装置10は第2の実施形態と同様に動作する他、新たな付加された置換部102,107部分については以下のように動作する。
【0142】
まず、置換部102においては、論理積101の出力が入力されるようになっている。この論理積出力は置換表にて置換され、その結果が排他的論理和103に出力される。
【0143】
また、置換部107においては、論理積106の出力が入力されるようになっている。この論理積出力は、置換部102の場合と同様に置換表にて置換され、その結果が排他的論理和108に出力される。
【0144】
本実施形態のG関数81g〜96gでは、その中に差分確率及び線形確率が低い置換表による置換102,107が挿入されているために、データの連続性に擾乱が起こされ、線形攻撃や差分攻撃に強い暗号化が実現されている。
【0145】
この置換部102,107に用いる置換表として、本実施形態では図2に示す表を用いると説明したが、この変形例として図2の置換表をアフィン変換して入力0に対する出力が0である置換表を用いることも考えられる。このとき、特定の鍵入力の場合には置換部102,107の出力が0となり、排他的論理和部103及び108における鍵情報の挿入が行われなくなる。したがって、このような置換表を用いた場合には、G関数は入力と出力が一致する恒等変換の関数として機能することも可能になる。
【0146】
上記置換部102,107を用いることにより、論理積部101及び106における鍵との論理積の結果、論理積の出力ビットの0ビットと1ビットの出現率に不均一性が現れても、置換部102,107の処理により、この不均一性を是正し、鍵に含まれる1ビットの数に着目した攻撃に対して安全になる。
【0147】
例えば拡大鍵G1に出現する1ビットの数が1個の場合には、排他的論理和部103においてさされる鍵、すなわち排他的論理和が行われる実質ビット数は高々1ビットである。しかし、置換部102による置換の結果、さされる鍵のビット数は変化し、鍵に含まれる1ビットの数に着目した攻撃に対して安全になる。
【0148】
上述したように、本発明の実施の形態に係る暗復号装置は、G関数に置換部102,107を挿入したので、データの連続性に擾乱が起こされ、線形攻撃や差分攻撃に強い暗号化を実現することができる。
【0149】
なお、実施形態に説明した装置は、記憶媒体に格納したプログラムをコンピュータに読み込ませることで実現させることができる。
【0150】
ここで本発明における記憶媒体としては、磁気ディスク、フロッピーディスク、ハードディスク、光ディスク(CD−ROM、CD−R、DVD等)、光磁気ディスク(MO等)、半導体メモリ等、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。
【0151】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
【0152】
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶又は一時記憶した記憶媒体も含まれる。
【0153】
また、記憶媒体は1つに限らず、複数の媒体から本実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何らの構成であってもよい。
【0154】
なお、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
【0155】
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【0156】
【発明の効果】
以上詳記したように本発明によれば、DES、トリプルDES、DES−SSのすべてと互換な単一の暗号アルゴリズムを構成するが、単にDES−SSを3段重ねるより効率がよく、かつ差分攻撃や線形攻撃にも強いアルゴリズムとなる暗復号装置及び記憶媒体を提供することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係る暗復号装置の一例を示す構成図。
【図2】置換処理部等に用いられる差分確率及び線形確率の低い置換表の一例を示す図。
【図3】各機能部の状態組み合わせの例を示す図。
【図4】鍵スケジュール部の全体構成を示す図。
【図5】拡大転置表の一例を示す図。
【図6】DES−SS鍵スケジュール部の構成例を示すブロック図。
【図7】置換用鍵スケジュール部の構成例を示すブロック図。
【図8】置換処理部の構成例を示すブロック図。
【図9】DES−SSとして構成された暗復号化部の構成例を示すブロック図。
【図10】G関数の構成例を示すブロック図。
【図11】本発明の第3の実施形態に係る暗復号装置におけるG関数の構成例を示すブロック図。
【符号の説明】
10…暗復号装置
11…第1暗復号化部
12…第1置換処理部
13…第2暗復号化部
14…第2置換処理部
15…第3暗復号化部
16…鍵スケジュール部
21…平文
22…暗号文
31…分割部
37…拡大転置部
38,39…DES−SS鍵スケジュール部
40…DES鍵スケジュール部
41…置換用鍵スケジュール部
45…Aスケジュール部
46…Bスケジュール部
47…FG拡大鍵生成部
48A,48B…ビット選択部
49,50…排他的論理和
55,58…論理和部
56…左シフト部
61…初期転置部
62〜66…排他的論理和
67〜74…置換部
75…逆転置部
80…初期転置部
81〜96…データ攪拌部
81a〜96a…排他的論理和
81f〜96f…F関数
81g〜96g…G関数
97…最終転置部
101,106…論理積部
102,107…置換部
103,104,108…排他的論理和部
105…左シフト部
B1〜B4…ブロック
FK…F関数拡大鍵
G1〜G4…拡大鍵
GK…G関数拡大鍵
K1…第1暗復号化部への中間鍵
K2…第2暗復号化部への中間鍵
K3…第3暗復号化部への中間鍵
KK1…第1置換処理部への中間鍵
KK2…第2置換処理部への中間鍵

Claims (6)

  1. 入力された平文を暗号文に暗号化して当該暗号文を出力し、又は、入力された暗号文を平文に復号して当該平文を出力する暗復号装置であって、
    DES−SSのデータ攪拌部の構成を有し、前記平文を暗号処理して結果を出力し、又は入力された第1置換結果を復号処理して得られた平文を出力する第1の暗復号化手段と、
    前記第1の暗復号化手段の出力を所定の置換表によりデータ置換して結果を出力し、又は入力された暗号結果を前記置換表によりデータ置換して第1置換結果を前記第1の暗復号化手段に入力する第1の置換手段と、
    DESのデータ攪拌部の構成を有し、前記第1の置換手段の出力を復号処理して結果を出力し、又は入力された第2置換結果を暗号処理して暗号結果を前記第1の置換手段に入力する第2の暗復号化手段と、
    前記第2の暗復号化手段の出力を所定の置換表によりデータ置換して結果を出力し、又は入力された復号結果を前記置換表によりデータ置換して第2置換結果を前記第2の暗復号化手段に入力する第2の置換手段と、
    DES−SSのデータ攪拌部の構成を有し、前記第2の置換手段の出力暗号処理して得られた前記暗号文を出力し、又は入力された暗号文を復号処理して復号結果を前記第2の置換手段に入力する第3の暗復号化手段と
    を備えており
    記第1,第2及び第3の暗復号化手段並びに前記第1及び第2の置換手段のそれぞれに個別に与える5つの中間鍵を、外部から入力された鍵情報をもとに生成する鍵生成手段を備えるとともに、
    前記第1の暗復号化手段と前記第3の暗復号化手段は、前記鍵生成手段からの中間鍵により、それぞれ“DES”又は“DES−SS”のアルゴリズムに従う手段となり、
    前記第1の置換手段と前記第2の置換手段は、前記鍵生成手段からの中間鍵により、それぞれ前記置換表を用いた入力に対応する出力データを出力し、又は入力と同一の出力データを出力し、
    前記第1及び第2の置換手段は、前記鍵生成手段が生成した中間鍵に所定の情報が含まれているときには恒等変換として機能することを特徴とする暗復号装置。
  2. 前記第1及び又は第3の暗復号化手段は、前記鍵生成手段が生成した中間鍵に所定の情報が含まれているときには、前記第2の暗復号化手段と同一のアルゴリズムに従う手段となることを特徴とする請求項記載の暗復号装置。
  3. 前記第2の暗復号化手段は、前記第1及び第3の暗復号化手段が暗号化処理を行うときには復号処理を実行し、前記第1及び第3の暗復号化手段が復号処理を行うときには暗号化処理を実行することを特徴とする請求項又は記載の暗復号装置。
  4. 前記鍵生成手段は、前記第1及び第3の暗復号化手段に同一の中間鍵を与えることを特徴とする請求項記載の暗復号装置。
  5. 前記鍵生成手段は、前記第1及び第2の暗復号化手段、又は、前記第2及び第3の暗復号化手段が同一アルゴリズムとなりかつ同一暗復号鍵を使用する結果となる中間鍵を与えることを特徴とする請求項記載の暗復号装置。
  6. 入力された平文を暗号文に暗号化して当該暗号文を出力し、又は、入力された暗号文を平文に復号して当該平文を出力する暗復号装置を制御するプログラムであって、
    DES−SSのデータ攪拌部の構成を有し、前記平文を暗号処理させて結果を出力させ、又は入力された第1置換結果を復号処理させて得られた平文を出力させる第1の暗復号化手段と、
    前記第1の暗復号化手段の出力を所定の置換表によりデータ置換させて結果を出力させ、又は入力された暗号結果を前記置換表によりデータ置換させて第1置換結果を前記第1の暗復号化手段に入力させる第1の置換手段と、
    DESのデータ攪拌部の構成を有し、前記第1の置換手段の出力を復号処理させて結果を出力させ、又は入力された第2置換結果を暗号処理させて暗号結果を前記第1の置換手段に入力させる第2の暗復号化手段と、
    前記第2の暗復号化手段の出力を所定の置換表によりデータ置換させて結果を出力させ、又は入力された復号結果を前記置換表によりデータ置換させて第2置換結果を前記第2の暗復号化手段に入力させる第2の置換手段と、
    DES−SSのデータ攪拌部の構成を有し、前記第2の置換手段の出力暗号処理させて得られた前記暗号文を出力させ、又は入力された暗号文を復号処理させて復号結果を前記第2の置換手段に入力させる第3の暗復号化手段と
    を有しており、
    前記第1,第2及び第3の暗復号化手段並びに前記第1及び第2の置換手段のそれぞれに個別に与える5つの中間鍵を、外部から入力された鍵情報をもとに生成させる鍵生成手段を備えるとともに、
    前記第1の暗復号化手段と前記第3の暗復号化手段を、前記鍵生成手段からの中間鍵により、それぞれ“DES”又は“DES−SS”のアルゴリズムに従う手段とし、
    前記第1の置換手段と前記第2の置換手段は、前記鍵生成手段からの中間鍵により、それぞれ前記置換表を用いた入力に対応する出力データを出力させ、又は入力と同一の出力データを出力させ、
    前記第1及び第2の置換手段を、前記鍵生成手段が生成させた中間鍵に所定の情報が含まれているときには恒等変換として機能させるプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
JP33710898A 1998-11-27 1998-11-27 暗復号装置及び記憶媒体 Expired - Fee Related JP3679936B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP33710898A JP3679936B2 (ja) 1998-11-27 1998-11-27 暗復号装置及び記憶媒体
US09/388,388 US6985582B1 (en) 1998-11-27 1999-09-01 Encryption/decryption unit and storage medium
EP99306989A EP1005191B1 (en) 1998-11-27 1999-09-02 Encryption/decryption unit and storage medium
US10/790,045 US7039184B2 (en) 1998-11-27 2004-03-02 Encryption/decryption unit and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33710898A JP3679936B2 (ja) 1998-11-27 1998-11-27 暗復号装置及び記憶媒体

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2004368168A Division JP2005092249A (ja) 2004-12-20 2004-12-20 暗復号装置及び記憶媒体

Publications (2)

Publication Number Publication Date
JP2000162965A JP2000162965A (ja) 2000-06-16
JP3679936B2 true JP3679936B2 (ja) 2005-08-03

Family

ID=18305517

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33710898A Expired - Fee Related JP3679936B2 (ja) 1998-11-27 1998-11-27 暗復号装置及び記憶媒体

Country Status (3)

Country Link
US (2) US6985582B1 (ja)
EP (1) EP1005191B1 (ja)
JP (1) JP3679936B2 (ja)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001243441A (ja) * 2000-03-02 2001-09-07 Fujitsu Takamisawa Component Ltd データ変換装置
JP4777501B2 (ja) * 2000-06-22 2011-09-21 株式会社 イソップ 暗号化方式
JP4683442B2 (ja) * 2000-07-13 2011-05-18 富士通フロンテック株式会社 処理装置および集積回路
JP2002082732A (ja) * 2000-09-06 2002-03-22 Nec Corp プログラムコードの不正改竄防止システム及びその方法並びにその制御プログラムを記録した記録媒体
JP2003204323A (ja) 2000-12-21 2003-07-18 Yasumasa Uyama 秘密通信方法
JP3724399B2 (ja) * 2001-01-23 2005-12-07 株式会社日立製作所 疑似乱数生成装置またはそれを用いた暗号復号処理装置
JP2002281009A (ja) * 2001-03-15 2002-09-27 Sony Corp 相互認証システム、相互認証方法、およびメモリ搭載デバイス、メモリアクセス機器、並びにプログラム記憶媒体
US7041105B2 (en) * 2001-06-06 2006-05-09 Sdgi Holdings, Inc. Dynamic, modular, multilock anterior cervical plate system having detachably fastened assembleable and moveable segments
US8077861B2 (en) 2004-08-12 2011-12-13 Cmla, Llc Permutation data transform to enhance security
US7577250B2 (en) 2004-08-12 2009-08-18 Cmla, Llc Key derivation functions to enhance security
US7564970B2 (en) 2004-08-12 2009-07-21 Cmla, Llc Exponential data transform to enhance security
JP4787434B2 (ja) * 2001-08-24 2011-10-05 富士通コンポーネント株式会社 暗号化方法、通信システム、データ入力装置
AU2003207931A1 (en) * 2002-03-07 2003-09-16 Axalto Sa Method for making safe an electronic cryptography assembly with a secret key
US20040034785A1 (en) * 2002-08-15 2004-02-19 Horng-Ming Tai Hardware and firmware encryption mechanism using unique chip die identification
JP2004133087A (ja) * 2002-10-09 2004-04-30 Sony Corp ブロック暗号方法およびブロック暗号回路
JP2004245988A (ja) * 2003-02-13 2004-09-02 Sony Corp データ処理装置、その方法およびそのプログラムと線形変換回路および暗号化回路
US7227946B2 (en) * 2003-04-16 2007-06-05 Oregon Health & Science University Automated permutation method and apparatus
EP2511787B1 (en) 2003-05-23 2017-09-20 IP Reservoir, LLC Data decompression and search using FPGA devices
US10572824B2 (en) 2003-05-23 2020-02-25 Ip Reservoir, Llc System and method for low latency multi-functional pipeline with correlation logic and selectively activated/deactivated pipelined data processing engines
EP1480371A1 (en) * 2003-05-23 2004-11-24 Mediacrypt AG Device and method for encrypting and decrypting a block of data
EP1513285A1 (en) * 2003-09-05 2005-03-09 Mediacrypt AG Method for generating pseudo-random sequence
US7580519B1 (en) 2003-12-08 2009-08-25 Advanced Micro Devices, Inc. Triple DES gigabit/s performance using single DES engine
US7545928B1 (en) * 2003-12-08 2009-06-09 Advanced Micro Devices, Inc. Triple DES critical timing path improvement
US7283839B2 (en) * 2004-04-14 2007-10-16 Curitel Communications, Inc. Wireless communicating terminal for providing integrated messaging service and method thereof
US7885405B1 (en) 2004-06-04 2011-02-08 GlobalFoundries, Inc. Multi-gigabit per second concurrent encryption in block cipher modes
US7526085B1 (en) 2004-07-13 2009-04-28 Advanced Micro Devices, Inc. Throughput and latency of inbound and outbound IPsec processing
US7783037B1 (en) 2004-09-20 2010-08-24 Globalfoundries Inc. Multi-gigabit per second computing of the rijndael inverse cipher
JP2006217369A (ja) * 2005-02-04 2006-08-17 Seiko Epson Corp 暗号化/復号化装置、通信コントローラ及び電子機器
JP2006229863A (ja) * 2005-02-21 2006-08-31 Seiko Epson Corp 暗号化/復号化装置、通信コントローラ及び電子機器
US20060265736A1 (en) * 2005-05-19 2006-11-23 Gilbarco Inc. Encryption system and method for legacy devices in a retail environment
US9218623B2 (en) * 2005-12-28 2015-12-22 Palo Alto Research Center Incorporated System and method for providing private stable matchings
US8379841B2 (en) * 2006-03-23 2013-02-19 Exegy Incorporated Method and system for high throughput blockwise independent encryption/decryption
US8879727B2 (en) * 2007-08-31 2014-11-04 Ip Reservoir, Llc Method and apparatus for hardware-accelerated encryption/decryption
JP5198526B2 (ja) * 2010-09-21 2013-05-15 株式会社東芝 暗号化装置および復号装置
JP5612007B2 (ja) * 2012-03-15 2014-10-22 株式会社東芝 暗号化鍵生成装置
WO2014196964A1 (en) 2013-06-04 2014-12-11 Intel Corporation Application integrity protection via secure interaction and processing
WO2014196963A1 (en) 2013-06-04 2014-12-11 Intel Corporation End-to-end secure communication system
WO2014196966A1 (en) * 2013-06-04 2014-12-11 Intel Corporation Technologies for hardening the security of digital information on client platforms
US9565018B2 (en) * 2014-05-28 2017-02-07 Apple Inc. Protecting cryptographic operations using conjugacy class functions
CN105049203B (zh) * 2015-06-17 2018-06-29 复旦大学 一种支持多工作模式的可配置3des加解密算法电路
FR3056789B1 (fr) 2016-09-27 2018-09-21 Safran Identity & Security Procede de chiffrement ou de dechiffrement symetrique par bloc
EP3560135A4 (en) 2016-12-22 2020-08-05 IP Reservoir, LLC PIPELINES INTENDED FOR AUTOMATIC ACCELERATED LEARNING BY EQUIPMENT
US10505715B2 (en) * 2017-11-17 2019-12-10 Marpex, Inc. Method and system of synchronous encryption to render computer files and messages impervious to pattern recognition and brute force attacks
US11349822B2 (en) * 2017-11-20 2022-05-31 Fortanix, Inc. Runtime encryption plugin for a key management system
US10637837B1 (en) 2019-11-27 2020-04-28 Marpex, Inc. Method and system to secure human and also internet of things communications through automation of symmetric encryption key management

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3962538A (en) 1974-11-21 1976-06-08 Xerox Corporation Flying spot scanning system with virtual scanners
US3962539A (en) 1975-02-24 1976-06-08 International Business Machines Corporation Product block cipher system for data security
DE2658065A1 (de) * 1976-12-22 1978-07-06 Ibm Deutschland Maschinelles chiffrieren und dechiffrieren
US5231662A (en) * 1989-08-01 1993-07-27 Tulip Computers International B.V. Method and device for enciphering data to be transferred and for deciphering the enciphered data, and a computer system comprising such a device
JPH06124587A (ja) * 1992-10-09 1994-05-06 Mitsubishi Electric Corp ダイナミックランダムアクセスメモリ装置
US5454039A (en) * 1993-12-06 1995-09-26 International Business Machines Corporation Software-efficient pseudorandom function and the use thereof for encryption
JP3029381B2 (ja) * 1994-01-10 2000-04-04 富士通株式会社 データ変換装置
US5623549A (en) * 1995-01-30 1997-04-22 Ritter; Terry F. Cipher mechanisms with fencing and balanced block mixing
US5778074A (en) * 1995-06-29 1998-07-07 Teledyne Industries, Inc. Methods for generating variable S-boxes from arbitrary keys of arbitrary length including methods which allow rapid key changes
US5606616A (en) * 1995-07-03 1997-02-25 General Instrument Corporation Of Delaware Cryptographic apparatus with double feedforward hash function
US5768390A (en) * 1995-10-25 1998-06-16 International Business Machines Corporation Cryptographic system with masking
JP3517063B2 (ja) 1996-10-11 2004-04-05 株式会社東芝 暗号化装置及び暗号化方法
US6185304B1 (en) * 1998-02-23 2001-02-06 International Business Machines Corporation Method and apparatus for a symmetric block cipher using multiple stages
US6570989B1 (en) * 1998-04-27 2003-05-27 Matsushita Electric Industrial Co., Ltd. Cryptographic processing apparatus, cryptographic processing method, and storage medium storing cryptographic processing program for realizing high-speed cryptographic processing without impairing security
KR100296958B1 (ko) * 1998-05-06 2001-09-22 이석우 블록 데이터 암호화 장치
JP2000089666A (ja) 1998-09-16 2000-03-31 Nippon Telegr & Teleph Corp <Ntt> 暗号化/復号化装置

Also Published As

Publication number Publication date
US20040165721A1 (en) 2004-08-26
JP2000162965A (ja) 2000-06-16
US6985582B1 (en) 2006-01-10
US7039184B2 (en) 2006-05-02
EP1005191B1 (en) 2006-02-15
EP1005191A1 (en) 2000-05-31

Similar Documents

Publication Publication Date Title
JP3679936B2 (ja) 暗復号装置及び記憶媒体
US6917684B1 (en) Method of encryption and decryption with block number dependant key sets, each set having a different number of keys
US7672455B2 (en) Method and apparatus for data encryption
US7092525B2 (en) Cryptographic system with enhanced encryption function and cipher key for data encryption standard
US7864950B2 (en) Block encryption device using auxiliary conversion
US5745577A (en) Symmetric cryptographic system for data encryption
US6189095B1 (en) Symmetric block cipher using multiple stages with modified type-1 and type-3 feistel networks
JP5050454B2 (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
JP5682527B2 (ja) 暗号処理装置、および暗号処理方法、並びにプログラム
Asaad et al. Advanced Encryption Standard Enhancement with Output Feedback Block Mode Operation
JP3769804B2 (ja) 解読化方法および電子機器
CN111262685B (zh) 一种新型密钥生成的Shield分组密码实现方法、装置及可读存储介质
CN114826558A (zh) 一种海量数据快速加密方法及系统
JP3782210B2 (ja) 暗号装置
JPH1124558A (ja) 暗号装置
JP2005092249A (ja) 暗復号装置及び記憶媒体
JP2002108205A (ja) ブロック暗号方法及び復号方法
JP2009098321A (ja) 情報処理装置
RU2206961C2 (ru) Способ итеративного блочного шифрования двоичных данных
JP2001142395A (ja) 拡大鍵生成装置、暗復号装置、拡大鍵生成方法、及び記憶媒体
JP2002023624A (ja) ブロック暗号通信方法とその装置、及びブロック暗号通信プログラムを記録した記録媒体
JP2001175167A (ja) 暗号化方法、復号化方法及び装置
JP2000089666A (ja) 暗号化/復号化装置
Bhowmika et al. A Symmetric Key-Based Cryptographic Transaction on Cryptocurrency Data
JPH09230788A (ja) 暗号化方法および暗号化装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040406

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041019

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041220

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20041220

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20041221

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

R155 Notification before disposition of declining of application

Free format text: JAPANESE INTERMEDIATE CODE: R155

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050516

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees