(57)【要約】【課題】ＤＥＳとの互換性を維持しつつ安全性を増大することができる暗号化装置及び暗号化方法を提供する。【解決手段】所定のビット列からなる鍵情報を等分して得られる２つの暗号化鍵から、入力電文を攪拌するのに用いられる中間鍵をそれぞれ生成する同一構成の２つの鍵スケジュール部Ａ，Ｂと、この２つの鍵スケジュール部Ａ，Ｂから出力された２つの中間鍵に対して排他的論理和を求める排他的論理和１４と、この排他的論理和１４が０になることにより２つの中間鍵が互いに同一であることが検出された場合には、いずれか１つの中間鍵を用いて入力電文を攪拌するとともに、比較された２つの中間鍵が互いに同一でないことが検出された場合には、２つの中間鍵に基づいて入力電文を攪拌する攪拌部とを具備する。【選択図】　　　　図２
2004102310.tif 000002
【特許請求の範囲】
【請求項１】
　所定のビット列からなる鍵情報を複数個に分割して得られる複数の暗号化鍵から、入力電文を攪拌するのに用いられる中間鍵をそれぞれ生成する同一構成の複数の鍵生成手段と、
　この複数の鍵生成手段から出力された複数の中間鍵を互いに比較する比較手段と、
　この比較手段によって比較された複数の中間鍵が同一であることが検出された場合には、複数の中間鍵のいずれか１つを用いて入力電文を攪拌するとともに、比較された複数の中間鍵が同一でないことが検出された場合には、複数の中間鍵のすべてに基いて入力電文を攪拌する攪拌手段と、
　を具備することを特徴とする暗号化装置。
【請求項２】
　入力電文を外部から入力された鍵情報に依存して攪拌し、対応する符号化電文を出力するデータ攪拌部と、同一構成の複数の鍵生成手段と、比較手段とを有し、前記鍵情報を前記データ攪拌部に供給するにあたって中間鍵に展開する鍵スケジュール部とを備えた暗号化装置を用いた暗号化方法であって、
　所定のビット列からなる鍵情報を複数個に分割して得られる複数の暗号化鍵から、前記複数の鍵生成手段によって、入力電文を攪拌するのに用いられる中間鍵をそれぞれ生成する中間鍵生成工程と、
　前記中間鍵生成工程において生成された複数の中間鍵を前記比較手段により互いに比較する比較工程と、
　この比較工程において比較された複数の中間鍵が同一であることが検出された場合には、前記データ攪拌部において複数の中間鍵のいずれか１つを用いて入力電文を攪拌するとともに、比較された複数の中間鍵が同一でないことが検出された場合には、前記データ攪拌部において複数の中間鍵のすべてに基いて入力電文を攪拌する攪拌工程と、
　を具備することを特徴とする暗号化方法。
【請求項３】
　所定のビット列からなる鍵情報を複数個に分割して得られる複数の暗号化鍵から、入力電文を攪拌するのに用いられる中間鍵をそれぞれ生成する同一構成の複数の鍵生成手段と、
　この複数の鍵生成手段から出力された複数の中間鍵を互いに排他的論理和する手段と、
　この排他的倫理和された結果が０となった場合には、複数の中間鍵のいずれか１つを用いて入力電文を攪拌し、該排他的論理和された結果が０とならなかった場合には、複数の中間鍵のすべてに基いて入力電文を攪拌する攪拌手段と、
　を具備することを特徴とする暗号化装置。
【請求項４】
　入力電文を外部から入力された鍵情報に依存して攪拌し、対応する符号化電文を出力するデータ攪拌部と、同一構成の複数の鍵生成手段と、排他的論理和演算手段とを有し、前記鍵情報を前記データ攪拌部に供給するにあたって中間鍵に展開する鍵スケジュール部とを備えた暗号化装置を用いた暗号化方法であって、
　所定のビット列からなる鍵情報を複数個に分割して得られる複数の暗号化鍵から、前記複数の鍵生成手段によって入力電文を攪拌するのに用いられる中間鍵をそれぞれ生成する中間鍵生成工程と、
　この中間鍵生成工程において生成された複数の中間鍵について前記排他的論理和演算手段によって排他的論理和を演算する演算工程と、
　この演算工程での演算結果が０となった場合には、前記データ攪拌部において複数の中間鍵のいずれか１つを用いて入力電文を攪拌し、前記演算工程での演算結果が０とならなかった場合には、前記データ攪拌部において複数の中間鍵のすべてに基いて入力電文を攪拌する攪拌工程と、
　を具備することを特徴とする暗号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明は暗号化装置及び暗号化方法に関し、特に、秘密鍵ブロック暗号を用いた暗号化装置及び暗号化方法に関する。
【背景技術】
【０００２】
　ＤＥＳ（Data Encryption Standard）は、現在、最も広範に用いられている秘密鍵ブロック暗号系であり、文献、“Data Encryption Standard，”Federal Information Processing Standards Publication 46,National Bureau of Standards,U.S.Department of Commerce, 1977.に詳細に記載されている。
【０００３】
　ＤＥＳは６４ビット入力、６４ビット出力のブロック暗号であり、そのうち８ビットは鍵パリティ用として使用されるので５６ビットのみが実質的な鍵である。したがって、ＤＥＳが開発された当初からその安全性について議論がなされており、１９７７年に発表されて以来、さまざまな観点からの評価が行われている。その結果、１９９０年ごろに差分解読法や線形解読法といった鍵の全数探索よりも効率的な解読法が次々と提案された。特に、線形解読法を用いることにより、標準である１６段ＤＥＳの解読に成功している。
【０００４】
　なお、差分解読法については、文献、E.Biham and A.Shamir,“Differential Cryptanalysis of DES-like Cryptosystems,”Journal of CRYPTOLOGY,Vol.4,Number 1,1991に、線形解読法については、文献、松井允、“ＤＥＳ暗号の線形解読（Ｉ）”、暗号と情報セキュリティシンポジウム、ＳＣＩＳ９３−３Ｃ、１９９３に記載されている。
【０００５】
　ＤＥＳが開発されてからの技術の発展や上記したような解読法を考慮すると、ＤＥＳには以下のような問題点があると考えられる。
【０００６】
　（１）現在のハードウェア技術の進歩を考えると処理を高速に行なうために１２８ビットのブロック暗号を構成することが可能であるが、いぜんとして６４ビットのブロック暗号を用いている。
【０００７】
　（２）Ｆ関数の構造に問題がある。ＤＥＳが開発された当時では、線形解読法が発案されておらず、線形解読法に対する耐性が考慮されていない。また、ハードウェア技術の発達の制約からＦ関数に含まれるＳ箱のテーブルサイズが小さい。現在のハードウェア技術のレベルを考えるとＳ箱のサイズをより大きくして安全性を高めることが望ましい。
【０００８】
　（３）５６ビットからなる鍵を用いているが、５６ビットの鍵の長さでは安全ではない。ハードウェアの発達により、現在では２56個の鍵の組合せを調べるハードウェアの実現が可能である。また、専用のハードウェアを用いることにより、鍵の全数探索が可能であるとの発表もなされている。また、ＤＥＳの解読方法の１つである線形解読法は、鍵の一部のビットを解読により特定して残りのビットに対して全数検索を行なうものであるから、鍵を増やすことにより残りの鍵ビットの全数検索を行なう手間が増大して安全性が向上すると考えられる。
【０００９】
　上記した問題において、（３）のＤＥＳの鍵の長さに関する問題については、ＤＥＳチップをそのまま使用しながら鍵を長くする方法が考えられている。例えば、論文、B.Schneier,“Applied Cryptography,”2nd edition,Wiley (1996)は、ＤＥＳＸやTriple ＤＥＳなどの暗号化方法を開示している。
【００１０】
　ＤＥＳＸはＤＥＳの入力及び出力の各々と６４ビットの鍵との排他的論理和をとる方法であるが、鍵の全数探索に対しては理論的な安全性が証明されている（J.Kilian and P.Rogaway,“How to protect DES against exhaustive key search,”Proc.CRYPTO’ 96,pp.252-267(1996)を参照）。また、Triple ＤＥＳはＤＥＳを３重に処理するアルゴリズムを用いているので、鍵の全数探索だけでなく、差分解読法や線形解読法に対しても、ＤＥＳ以上の安全性が確保できる。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
　しかしながら、上記したＤＥＳＸは差分解読法や線形解読法に対してはＤＥＳと同等の安全性しか達成されない。また、Triple ＤＥＳは構成が３倍になるので、処理速度はＤＥＳの処理速度の１／３となる。
【００１２】
　一方、上記した（１）、（２）で述べた問題点はＤＥＳの構造自体に関しており、これらを改良することは容易でない。また、これらを改良すれば本体のＤＥＳとは異なった暗号化処理を行なうことになり、ＤＥＳとの互換性の問題が新たに発生してしまう。
【００１３】
　本発明の暗号化装置及び暗号化方法はこのような課題に着目してなされたものであり、その目的とするところは、ＤＥＳとの互換性を維持しつつ安全性を増大することができる暗号化装置及び暗号化方法を提供することにある。
【課題を解決するための手段】
【００１４】
　上記の目的を達成するために、第１の発明に係る暗号化装置は、所定のビット列からなる鍵情報を複数個に分割して得られる複数の暗号化鍵から、入力電文を攪拌するのに用いられる中間鍵をそれぞれ生成する同一構成の複数の鍵生成手段と、この複数の鍵生成手段から出力された複数の中間鍵を互いに比較する比較手段と、この比較手段によって比較された複数の中間鍵が同一であることが検出された場合には、複数の中間鍵のいずれか１つを用いて入力電文を攪拌するとともに、比較された複数の中間鍵が同一でないことが検出された場合には、複数の中間鍵のすべてに基いて入力電文を攪拌する攪拌手段と、を具備する。
【００１５】
　また、第２の発明に係る暗号化方法は、入力電文を外部から入力された鍵情報に依存して攪拌し、対応する符号化電文を出力するデータ攪拌部と、同一構成の複数の鍵生成手段と、比較手段とを有し、前記鍵情報を前記データ攪拌部に供給するにあたって中間鍵に展開する鍵スケジュール部とを備えた暗号化装置を用いた暗号化方法であって、所定のビット列からなる鍵情報を複数個に分割して得られる複数の暗号化鍵から、前記複数の鍵生成手段によって、入力電文を攪拌するのに用いられる中間鍵をそれぞれ生成する中間鍵生成工程と、前記中間鍵生成工程において生成された複数の中間鍵を前記比較手段により互いに比較する比較工程と、この比較工程において比較された複数の中間鍵が同一であることが検出された場合には、前記データ攪拌部において複数の中間鍵のいずれか１つを用いて入力電文を攪拌するとともに、比較された複数の中間鍵が同一でないことが検出された場合には、前記データ攪拌部において複数の中間鍵のすべてに基いて入力電文を攪拌する攪拌工程と、を具備する。
【００１６】
　また、第３の発明に係る暗号化装置は、所定のビット列からなる鍵情報を複数個に分割して得られる複数の暗号化鍵から、入力電文を攪拌するのに用いられる中間鍵をそれぞれ生成する同一構成の複数の鍵生成手段と、この複数の鍵生成手段から出力された複数の中間鍵を互いに排他的論理和する手段と、この排他的倫理和された結果が０となった場合には、複数の中間鍵のいずれか１つを用いて入力電文を攪拌し、該排他的論理和された結果が０とならなかった場合には、複数の中間鍵のすべてに基いて入力電文を攪拌する攪拌手段と、を具備する。
【００１７】
　また、第４の発明に係る暗号化方法は、入力電文を外部から入力された鍵情報に依存して攪拌し、対応する符号化電文を出力するデータ攪拌部と、同一構成の複数の鍵生成手段と、排他的論理和演算手段とを有し、前記鍵情報を前記データ攪拌部に供給するにあたって中間鍵に展開する鍵スケジュール部とを備えた暗号化装置を用いた暗号化方法であって、
　所定のビット列からなる鍵情報を複数個に分割して得られる複数の暗号化鍵から、前記複数の鍵生成手段によって入力電文を攪拌するのに用いられる中間鍵をそれぞれ生成する中間鍵生成工程と、この中間鍵生成工程において生成された複数の中間鍵について前記排他的論理和演算手段によって排他的論理和を演算する演算工程と、この演算工程での演算結果が０となった場合には、前記データ攪拌部において複数の中間鍵のいずれか１つを用いて入力電文を攪拌し、前記演算工程での演算結果が０とならなかった場合には、前記データ攪拌部において複数の中間鍵のすべてに基いて入力電文を攪拌する攪拌工程と、を具備する。
【発明の効果】
【００１８】
　本発明によれば、ＤＥＳとの互換性を維持しつつ安全性を増大することができる暗号化装置及び暗号化方法を提供できる。
【発明を実施するための最良の形態】
【００１９】
　以下、図面を参照して本発明の一実施形態を詳細に説明する。
【００２０】
　図１は本実施形態に係る暗号化装置の構成を示す図であり、入力電文としての平文（６４ビット）を外部から入力された鍵情報ｋに依存して攪拌し、対応する符号化電文を出力する第１段〜第１６段から構成されるデータ攪拌部と、鍵情報ｋを前記データ攪拌部に供給される中間鍵に展開する鍵スケジュール部４とからなる。
【００２１】
　図１において、平文（６４ビット）は初期転置ＩＰが施された後、２つに等分されて左側３２ビットＬ0 と右側３２ビットＲ0 が生成される。
【００２２】
　一方、鍵スケジュール４には１２８ビットの鍵情報ｋが入力される。鍵スケジュール部４は以下に述べる方法によってＦ関数拡大鍵とＦ２鍵及びＦ２シフト鍵を生成して、データ攪拌部のＦ関数２とＦ２関数３にそれぞれ入力する。ここでＦ関数２は通常のＤＥＳと同様の攪拌処理を行なうものであり、Ｆ２関数３は以下に述べるような攪拌処理を行なう。
【００２３】
　Ｆ関数２はＦ関数拡大鍵とＦ２関数３の出力とを受けて所定の攪拌処理を行ってその結果を排他的論理和１に入力する。排他的論理和１はＬ0 （３２ビット）とＦ関数２の出力との間の排他的論理和を出力するが、これによって次段の右側３２ビットＲ1 が得られる。また、Ｆ２関数３の出力は次段の左側３２ビットＬ1 となる。
【００２４】
　以上の攪拌処理が第１段で行われ、Ｌ1 （３２ビット）とＲ1 （３２ビット）とが第２段に送られて第１段と同様の処理が施される。このようにして第１６段までの攪拌処理が行われた後、最終転置ＩＰ-1が施されて暗号文（６４ビット）が得られる。
【００２５】
　このように本実施形態では、ＤＥＳの各段で使用される鍵のビット数を増加させるために、通常のＤＥＳの構成に加えて、各段の入力側（図１に示す位置）にＦ２関数を組み込んでいる。
【００２６】
　図２は図１に示す鍵スケジュール部４の１段分の構成を示しており、ＤＥＳと同一の構成の鍵スケジュール部Ａと鍵スケジュール部Ｂとからなる。したがって鍵スケジュール部４はこのような構成の鍵スケジュール部を１６段設けた構成を有する。鍵スケジュール部Ａ，Ｂとも同一の処理を行なうのでここでは鍵スケジュール部Ａについてのみ説明する。
【００２７】
　１２８ビットの鍵情報は半分ずつに分割され、縮約型転置ＰＣ−１を施された後、５６ビットの鍵として各々の鍵スケジュール部に入力される。
【００２８】
　鍵（５６ビット）を２つに等分して生成した２８ビットからなる２つの鍵の各々Ｃ0 （２８ビット）、Ｄ0 （２８ビット）について左シフト部１０Ａで左シフト処理を施した後、ビット選択部１１Ａに入力する。ビット選択部１１Ａは所定のビット選択処理により４８ビットからなる第１の中間鍵と、５ビットからなる鍵とを出力する。この５ビットの鍵としては、５６ビット鍵の例えば、左から９，１８，２２，２５，３５番目の５ビットが用いられる。同様にしてビット選択部１０Ｂからは４８ビットからなる第２の中間鍵と、５ビットからなる鍵とが出力される。
【００２９】
　そして、ビット選択部１１Ａからの４８ビットの鍵とビット選択部１１Ｂからの４８ビットの鍵との間で排他的論理和１４をとり、その結果としての４８ビットの第３の中間鍵を３等分して１６ビットの鍵Ｇ１，Ｇ２，Ｇ３を得る。この鍵Ｇ１，Ｇ２，Ｇ３をＦ２鍵としてＦ２関数３に入力する。
【００３０】
　同様に、鍵スケジュール部Ａのビット選択部１１Ａからの５ビットの鍵と、鍵スケジュール部Ｂのビット選択部１１Ｂからの５ビットの鍵との間で排他的論理和１２を求め、その結果と０Ｘ１０（０Ｘは１６進を表す）との間で排他的論理和１３をとったものをＦ２シフト鍵としてＦ２関数３に入力する。
【００３１】
　さらに、本実施形態では、鍵スケジュール部Ａのビット選択部１１Ａからの４８ビットの鍵をＦ関数拡大鍵としてＦ関数２に入力する。また、各々の２８ビットの鍵Ｃ0 （２８ビット）、Ｄ0 （２８ビット）を左シフトすることによって得られたＣ1 （２８ビット）、Ｄ1 （２８ビット）は次の段の鍵スケジュール部の入力となる。
【００３２】
　このように本実施形態では、ＤＥＳとの互換性を維持するために、１２８ビットの鍵を６４ビットずつに分割し、それぞれに対してＤＥＳの鍵スケジュール部Ａ，Ｂを適用している。また、Ｆ関数に入力される拡大鍵としては鍵スケジュール部Ａからの４８ビットの鍵をそのまま用いている。また、Ｆ２関数に用いる鍵としては鍵スケジュール部Ａからの４８ビット鍵と鍵スケジュール部Ｂからの４８ビット鍵とのビットごとの排他的論理和を１６ビットごとのブロックに分割して、それぞれＧ１，Ｇ２，Ｇ３としている。また、５６ビット鍵の左から特定番目の５ビットを選択してＦ２関数のシフト鍵として用いている。
【００３３】
　図３はＦ２関数３の構成を示す図である。ここでは図１に示すＲ0 （３２ビット）を２つに等分して２つの１６ビットのブロックを生成する。左側の１６ビットブロックは排他的論理和２０に入力される。また、右側の１６ビットブロックは論理積２１と排他的論理和２２に入力される。
【００３４】
　論理積２１は１６ビット鍵Ｇ１と右側の１６ビット鍵との論理積をとって排他的論理和２０に入力する。排他的論理和２０は左側の１６ビットブロックと論理積２１からの鍵との間で排他的論理をとり、その結果を左巡回シフト部２３に入力する。
【００３５】
　一方、排他的論理和２２は１６ビット鍵Ｇ２と右側の１６ビットブロックとの間で排他的論理和をとり、その結果を左巡回シフト部２３に入力する。左巡回シフト部２３は、排他的論理和２０の出力と排他的論理和２２の出力からなる３２ビットの鍵に対して、入力された５ビットのＦ２シフト鍵を２進表記とみなして、そのビット数分の左巡回シフトを行なう。
【００３６】
　左巡回シフトを行った後の３２ビットの中間データの左半分の１６ビットはＦ２関数３の右半分の出力となる。また、左巡回シフトを行った後の３２ビットの中間データの右半分の１６ビットは排他的論理和２４に入力される。
【００３７】
　論理積２５は１６ビットの鍵Ｇ３と左巡回シフトを行った後の３２ビットの中間データの左半分の１６ビットとの論理積をとってその結果を排他的論理和２４に入力する。排他的論理和２４はこの論理積と左巡回シフトを行った後の３２ビットの中間データの右半分の１６ビットとの間の排他的論理和をとり、その結果をＦ２関数３の左半分として出力する。
【００３８】
　上記したように、本実施形態のＦ２関数では、３２ビットの入力を１６ビットずつに分割して、分割された鍵とのビットごとの論理和や論理積をとっている。また、巡回シフト部ではＦ２シフト鍵のビット数だけ３２ビットの鍵に対して巡回シフトを行っている。
【００３９】
　以上の説明からわかるように、本実施形態の暗号化装置の利点はＤＥＳと同一の鍵スケジュール構成を用いていることにある。６４ビットの鍵を複製して１２８ビットの鍵を生成することにより、ＤＥＳとの完全な互換性を維持することができる。なぜなら、２つの鍵スケジュール部Ａ，Ｂの６４ビットの入力が同じであるならば、各スケジュール部で生成される中間鍵も同一のものとなる。各スケジュール部で生成される中間鍵が同一ならば両者のビットごとの排他的論理和１４は０となるため、Ｆ２関数３で用いられるＧ１，Ｇ２，Ｇ３も０となる。また同様に、排他的論理和１２の出力も０となり、Ｆ２シフト鍵は０Ｘ１０となる。
【００４０】
　このとき、図３に示すＦ２関数３の排他的論理和２０，２２の一方の入力が０となるので、Ｆ２関数３に入力された２つの１６ビットの鍵はそのまま左巡回シフト部２３に入力される。さらに、左巡回シフト部２３では鍵スケジュール部Ａ，Ｂからの２つの５ビット鍵の間の排他的論理和１２と０Ｘ１０との排他的論理和１３をＦ２シフト鍵とし、このようなＦ２シフト鍵に基づいて左巡回を行っているので、Ｇ３＝０、すなわち、排他的論理和２４の一方の入力が０のときは、Ｆ２関数３に入力されたビット列（３２ビット）と同じビット列が出力されることになる。
【００４１】
　このようにして、２つの鍵スケジュール部Ａ，Ｂの６４ビットの入力が同じであるならば、Ｆ２関数３の構造は無視されることになるので、１２８ビット鍵の半分の６４ビットを鍵として用いたＤＥＳと全く同じ処理となり、互換性が満足される。
【００４２】
　さらに、本実施形態ではＦ２関数を加えたことによりＤＥＳと比較して各段でのデータ処理が増加することになるが、Ｆ２関数で用いられる演算は左巡回シフト命令、論理和、論理積、排他的論理和であり、これらの演算は通常多くのハードウェアに実装されているので高速処理が可能である。このことより、処理効率はＤＥＳと比較してあまり低下することはない。
【００４３】
　また、本実施形態ではＦ２関数での鍵の加え方に工夫を行っている。鍵を加える場合、入力データと鍵との排他的論理和をとる方法があるが、この方法では線形解読法を適用したときに排他的論理和で加えられた鍵は解読の過程で比較的容易に導出されてしまい、鍵のビット数を増やしても安全性を高める効果が少ない。これに対して、本実施形態では、論理和や論理積を用いて鍵を加えているので、線形解読法による鍵の直接の導出は行われず、鍵のビット数の増加により強度の安全性の向上が計れる。
【００４４】
　以下に、ＯＳとしてSolaris2.5、コンパイラとしてgcc-2.7.2を用い、最適化オプションなしのシステム環境下で、本実施形態の暗号化用サンプルソースプログラムを実行した場合のスループットを本実施形態とＤＥＳについて計測した。ここでは、上記サンプルソースプログラムからＦ２関数に関する部分を取り除いたものをＤＥＳの構成としている。
【００４５】
　計測の結果、図４（ａ）に示すような結果が得られた。スループットの速度比では本実施形態はＤＥＳの９０．６％であり、ＤＥＳを３重に構成したTriple ＤＥＳがＤＥＳの１／３（すなわち、３３．３％）の速度であることと比較して十分高速であることがわかる。
【００４６】
　次に、ＯＳとしてLinux 、ＣＰＵとしてPentium（登録商標）１２０ＭＨｚ、コンパイラとしてgcc-2.7.2.1、最適化オプションとして−０２を用いたシステム環境下で同様のサンプルソースプログラムを実行した場合のスループットを本実施形態とＤＥＳについて計測した。この場合も上記サンプルソースプログラムからＦ２関数に関する部分を取り除いたものをＤＥＳの構成としている。
【００４７】
　計測の結果、図４（ｂ）に示すような結果が得られた。図４（ｂ）によれば、スループットの速度比では本実施形態はＤＥＳの６５％であり、ＤＥＳを３重に構成したTriple ＤＥＳがＤＥＳの１／３の速度であることと比較してまだ十分高速であることがわかる。
【図面の簡単な説明】
【００４８】
【図１】本発明の一実施形態における暗号化装置の構成を示す図である。
【図２】図１に示す鍵スケジュール部４の一段分の構成を示す図である。
【図３】図１に示すＦ２関数の構成を示す図である。
【図４】本実施形態の暗号化方法に係るサンプルソースプログラムを実行した場合のスループットを本実施形態とＤＥＳについて計測した結果を示す図である。
【符号の説明】
【００４９】
１…排他的論理和、２…Ｆ関数、３…Ｆ２関数、４…鍵スケジュール部、１０Ａ，１０Ｂ…左シフト部、１１Ａ，１１Ｂ…ビット選択部、１２，１３，１４…排他的論理和
【図１】
2004102310.tif 000003
【図２】
2004102310.tif 000004
【図３】
2004102310.tif 000005
【図４】
2004102310.tif 000006