(57)【要約】  入力データをｋ個（ｋ≧６）に分割して変換処理を行うｋ系列一般化Ｆｅｉｓｔｅｌ型の共通鍵ブロック暗号の実装規模を増加させることなく、データの拡散性を向上させる。ｎ×ｋビット（ｋは６以上の偶数）のブロックデータを分割して得られたｋ個のｎビット系列データについて、第ｉ系列と第ｉ＋１系列（ｉ＝１，２，．．．，ｋ−１）のデータがお互いに作用するような変換処理を行いｋ個のデータＷ１，Ｗ２，．．．，Ｗｋを出力するステップと、前記データＷ１，Ｗ２，．．．，Ｗｋを、予め定めた規則に基づいて転置するステップと、を１ラウンドとするｋ系列データ攪拌処理を所定回数実行する。
2012141189.tif 000002
【特許請求の範囲】
【請求項１】
ｎ×ｋビット（ｋは６以上の偶数）のブロックデータを分割して得られたｋ個のｎビット系列データについて、第ｉ系列と第ｉ＋１系列（ｉ＝１，２，．．．，ｋ−１）のデータがお互いに作用するような変換処理を行いｋ個のデータＷ１，Ｗ２，．．．，Ｗｋを出力するステップと、
前記データＷ１，Ｗ２，．．．，Ｗｋを、予め定めた規則に基づいて転置するステップと、を１ラウンドとするｋ系列データ攪拌処理を所定回数実行する暗号化方法。
【請求項２】
前記データＷ１，Ｗ２，．．．，Ｗｋ（但し、ｋ≦１６）を、データＷｊ［１］，Ｗｊ［２］，．．．，Ｗｊ［ｋ］に置き換える転置を、｛ｊ［１］，ｊ［２］，．．．，ｊ［ｋ］｝と表わした場合に、ｋ＝６のとき｛４，１，２，５，６，３｝で表わされる転置を行う請求項１の暗号化方法。
【請求項３】
前記データＷ１，Ｗ２，．．．，Ｗｋ（但し、ｋ≦１６）を、データＷｊ［１］，Ｗｊ［２］，．．．，Ｗｊ［ｋ］に置き換える転置を、｛ｊ［１］，ｊ［２］，．．．，ｊ［ｋ］｝と表わした場合に、ｋ＝８のとき｛６，１，８，３，４，７，２，５｝または｛４，１，８，５，６，７，２，３｝で表わされる転置を行う請求項１または２の暗号化方法。
【請求項４】
前記データＷ１，Ｗ２，．．．，Ｗｋ（但し、ｋ≦１６）を、データＷｊ［１］，Ｗｊ［２］，．．．，Ｗｊ［ｋ］に置き換える転置を、｛ｊ［１］，ｊ［２］，．．．，ｊ［ｋ］｝と表わした場合に、ｋ＝１０のとき次式（１）のいずれかで表わされる転置を行う請求項１から３いずれか一の暗号化方法。
｛４，１，８，３，１０，５，６，９，２，７｝
｛４，１，６，３，１０，７，２，９，８，５｝
｛４，１，６，３，１０，７，８，９，２，５｝
｛６，１，８，３，４，７，２，９，１０，５｝
｛６，１，８，３，１０，７，２，９，４，５｝
｛６，１，８，３，１０，７，４，９，２，５｝
｛４，１，８，５，２，３，６，９，１０，７｝
｛４，１，８，５，２，７，６，９，１０，３｝
｛４，１，８，５，１０，７，６，９，２，３｝・・・（１）
【請求項５】
前記データＷ１，Ｗ２，．．．，Ｗｋ（但し、ｋ≦１６）を、データＷｊ［１］，Ｗｊ［２］，．．．，Ｗｊ［ｋ］に置き換える転置を、｛ｊ［１］，ｊ［２］，．．．，ｊ［ｋ］｝と表わした場合に、ｋ＝１２のとき次式（２）のいずれかで表わされる転置を行う請求項１から４いずれか一の暗号化方法。
｛８，１，１０，３，１２，５，４，９，６，１１，２，７｝
｛６，１，１０，３，１２，７，２，５，８，１１，４，９｝
｛６，１，１０，３，１２，７，４，５，８，１１，２，９｝
｛６，１，８，３，４，７，１２，９，１０，１１，２，５｝
｛６，１，１０，３，４，７，１２，９，２，１１，８，５｝
｛６，１，１０，３，１２，７，２，９，８，１１，４，５｝
｛６，１，１０，３，１２，７，４，９，８，１１，２，５｝
｛４，１，８，５，２，３，１２，９，６，１１，１０，７｝
｛４，１，８，５，２，３，１２，９，１０，１１，６，７｝
｛４，１，１２，５，１０，７，６，９，８，１１，２，３｝
｛６，３，１０，１，４，７，１２，５，８，１１，２，９｝
｛６，３，１０，１，１２，７，４，５，８，１１，２，９｝
｛６，３，１０，１，１２，７，２，９，８，１１，４，５｝
｛６，３，１０，１，１２，７，４，９，８，１１，２，５｝
｛６，３，２，５，８，１，１２，９，４，１１，１０，７｝・・・（２）
【請求項６】
前記データＷ１，Ｗ２，．．．，Ｗｋ（但し、ｋ≦１６）を、データＷｊ［１］，Ｗｊ［２］，．．．，Ｗｊ［ｋ］に置き換える転置を、｛ｊ［１］，ｊ［２］，．．．，ｊ［ｋ］｝と表わした場合に、ｋ＝１４のとき｛４，１，１０，５，１４，７，６，３，２，１１，１２，１３，８，９｝または｛４，１，１０，５，６，７，２，９，１４，１１，８，１３，１２，３｝のいずれかで表わされる転置を行う請求項１から５いずれか一の暗号化方法。
【請求項７】
前記データＷ１，Ｗ２，．．．，Ｗｋ（但し、ｋ≦１６）を、データＷｊ［１］，Ｗｊ［２］，．．．，Ｗｊ［ｋ］に置き換える転置を、｛ｊ［１］，ｊ［２］，．．．，ｊ［ｋ］｝と表わした場合に、ｋ＝１６のとき次式（３）のいずれかで表わされる転置を行う請求項１から６いずれか一の暗号化方法。
｛１０，１，１４，３，１２，７，１６，５，８，１１，４，１３，６，１５，２，９｝
｛６，１，８，３，１２，７，１６，９，２，５，４，１３，１０，１５，１４，１１｝
｛６，１，１２，３，１６，７，４，９，２，５，１０，１３，８，１５，１４，１１｝
｛６，１，１２，３，１６，７，１４，９，２，５，１０，１３，８，１５，４，１１｝
｛６，１，８，３，１２，７，１６，９，１４，１１，４，１３，１０，１５，２，５｝
｛６，１，１０，３，１４，７，４，９，１６，１１，８，１３，１２，１５，２，５｝
｛６，１，１０，３，１４，７，１２，９，１６，１１，８，１３，４，１５，２，５｝
｛８，１，１０，５，１４，３，６，９，１６，１１，１２，１３，４，１５，２，７｝
｛８，１，１０，５，１６，３，６，９，１４，１１，１２，１３，４，１５，２，７｝
｛８，１，１０，５，１６，３，１４，９，６，１１，１２，１３，４，１５，２，７｝
｛４，１，１０，５，１６，７，６，３，１４，１１，１２，１３，８，１５，２，９｝
｛１０，１，２，５，１２，７，６，３，８，１１，１６，１３，１４，１５，４，９｝
｛４，１，１０，５，１６，７，６，９，１４，１１，１２，１３，８，１５，２，３｝・・・（３）
【請求項８】
前記データＷ１，Ｗ２，．．．，Ｗｋ（但し、ｋ≦１６）を、データＷｊ［１］，Ｗｊ［２］，．．．，Ｗｊ［ｋ］に置き換える転置を、｛ｊ［１］，ｊ［２］，．．．，ｊ［ｋ］｝と表わした場合に、系列数ｋの値に応じて次式（４）で表わされる転置を行う請求項１から７いずれか一の暗号化方法。
ｋ＝６のとき
｛４，１，２，５，６，３｝
ｋ＝８のとき
｛６，１，８，３，４，７，２，５｝
｛４，１，８，５，６，７，２，３｝
ｋ＝１０のとき
｛４，１，８，３，１０，５，６，９，２，７｝
｛４，１，６，３，１０，７，２，９，８，５｝
｛４，１，６，３，１０，７，８，９，２，５｝
｛６，１，８，３，４，７，２，９，１０，５｝
｛６，１，８，３，１０，７，２，９，４，５｝
｛６，１，８，３，１０，７，４，９，２，５｝
｛４，１，８，５，２，３，６，９，１０，７｝
｛４，１，８，５，２，７，６，９，１０，３｝
｛４，１，８，５，１０，７，６，９，２，３｝
ｋ＝１２のとき
｛８，１，１０，３，１２，５，４，９，６，１１，２，７｝
｛６，１，１０，３，１２，７，２，５，８，１１，４，９｝
｛６，１，１０，３，１２，７，４，５，８，１１，２，９｝
｛６，１，８，３，４，７，１２，９，１０，１１，２，５｝
｛６，１，１０，３，４，７，１２，９，２，１１，８，５｝
｛６，１，１０，３，１２，７，２，９，８，１１，４，５｝
｛６，１，１０，３，１２，７，４，９，８，１１，２，５｝
｛４，１，８，５，２，３，１２，９，６，１１，１０，７｝
｛４，１，８，５，２，３，１２，９，１０，１１，６，７｝
｛４，１，１２，５，１０，７，６，９，８，１１，２，３｝
｛６，３，１０，１，４，７，１２，５，８，１１，２，９｝
｛６，３，１０，１，１２，７，４，５，８，１１，２，９｝
｛６，３，１０，１，１２，７，２，９，８，１１，４，５｝
｛６，３，１０，１，１２，７，４，９，８，１１，２，５｝
｛６，３，２，５，８，１，１２，９，４，１１，１０，７｝
ｋ＝１４のとき
｛４，１，１０，５，１４，７，６，３，２，１１，１２，１３，８，９｝
｛４，１，１０，５，６，７，２，９，１４，１１，８，１３，１２，３｝
ｋ＝１６のとき
｛１０，１，１４，３，１２，７，１６，５，８，１１，４，１３，６，１５，２，９｝
｛６，１，８，３，１２，７，１６，９，２，５，４，１３，１０，１５，１４，１１｝
｛６，１，１２，３，１６，７，４，９，２，５，１０，１３，８，１５，１４，１１｝
｛６，１，１２，３，１６，７，１４，９，２，５，１０，１３，８，１５，４，１１｝
｛６，１，８，３，１２，７，１６，９，１４，１１，４，１３，１０，１５，２，５｝
｛６，１，１０，３，１４，７，４，９，１６，１１，８，１３，１２，１５，２，５｝
｛６，１，１０，３，１４，７，１２，９，１６，１１，８，１３，４，１５，２，５｝
｛８，１，１０，５，１４，３，６，９，１６，１１，１２，１３，４，１５，２，７｝
｛８，１，１０，５，１６，３，６，９，１４，１１，１２，１３，４，１５，２，７｝
｛８，１，１０，５，１６，３，１４，９，６，１１，１２，１３，４，１５，２，７｝
｛４，１，１０，５，１６，７，６，３，１４，１１，１２，１３，８，１５，２，９｝
｛１０，１，２，５，１２，７，６，３，８，１１，１６，１３，１４，１５，４，９｝
｛４，１，１０，５，１６，７，６，９，１４，１１，１２，１３，８，１５，２，３｝
・・・（４）
【請求項９】
ｎ×ｋビット（ｋは６以上の偶数）のブロックデータを分割して得られたｋ個のｎビットのデータについて、
第ｉ系列と第ｉ＋１系列（ｉ＝１，２，．．．，ｋ−１）のデータがお互いに作用するような変換処理を行いｋ個のデータＷ１，Ｗ２，．．．，Ｗｋを出力する変換手段と、
前記データＷ１，Ｗ２，．．．，Ｗｋを、予め定めた規則に基づいて転置する転置手段と、を１ラウンドとして構成したｋ系列データ攪拌手段を、所定ラウンド数分有する暗号化装置。
【請求項１０】
ｎ×ｋビット（ｋは６以上の偶数）のブロックデータを分割して得られたｋ個のｎビットのデータが入力されるコンピュータに、
第ｉ系列と第ｉ＋１系列（ｉ＝１，２，．．．，ｋ−１）のデータがお互いに作用するような変換処理を行いｋ個のデータＷ１，Ｗ２，．．．，Ｗｋを出力する処理と、
前記データＷ１，Ｗ２，．．．，Ｗｋを、予め定めた規則に基づいて転置する処理と、を１ラウンドとして構成したｋ系列データ攪拌処理を、所定ラウンド数分実行させる暗号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願についての記載］
本発明は、日本国特許出願：特願２０１１−０８７０８８号（２０１１年  ４月１１日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、暗号化方法、暗号化装置および暗号化プログラムに関し、特に、共通鍵（秘密鍵）を用いてブロック単位の暗号化を行う暗号化方法、暗号化装置および暗号化プログラムに関する。
【背景技術】
【０００２】
通信データや蓄積データを秘匿する技術として共通鍵ブロック暗号（以下、単に“ブロック暗号”と称する。）がある。ブロック暗号の基本構造の一つに“Ｆｅｉｓｔｅｌ構造”がある。図１１は、ブロック長２ｎビットのＦｅｉｓｔｅｌ構造の１ラウンド分の構成を表した図である。入力データをｎビットデータＢ１とＢ２の２つに分割し、Ｂ１と鍵データＫｒとを関数Ｆで攪拌し、その出力データをデータＢ２に排他的論理和したものがＢ’１となる。また、Ｂ１はそのままＢ’２となる。このようにして得られたＢ’１とＢ’２が次のラウンドの入力となる。【０００３】
更にＦｅｉｓｔｅｌ構造の分割数を２以上に拡張した一般化Ｆｅｉｓｔｅｌ構造（非特許文献１の中では“Ｆｅｉｓｔｅｌ  Ｔｙｐｅ  Ｔｒａｎｓｆｏｒｍａｔｉｏｎ”と呼ばれている。）がある（非特許文献１）。【０００４】
非特許文献１では、Ｔｙｐｅ−１からＴｙｐｅ−３までの３種類の構造が提案されているが、ここではＴｙｐｅ−２に限定して説明を行う（以下、特に断りがない限り“一般化Ｆｅｉｓｔｅｌ構造”という表記はＴｙｐｅ−２を指すものとする。）。【０００５】
図１２は、入力データをｋ（２以上の偶数）個に分割（以下、分割した各々を“系列”と呼ぶ。）して処理を行う一般化Ｆｅｉｓｔｅｌ構造（以下、“ｋ系列一般化Ｆｅｉｓｔｅｌ構造”と記述する。）の１ラウンド分の構成を表した図である。【０００６】
一般化Ｆｅｉｓｔｅｌ構造１ラウンド分の処理を非線形変換部２０と転置処理部２１に分けて考える。非線形変換部２０は入力されるｋ系列のデータのうち、データＸｉ（ｉはｋ以下の奇数）をそのまま出力すると共に、関数Ｆで鍵データＫｊ（ｊ＝（ｉ＋１）／２）と攪拌し、データＸｉ＋１に排他的論理和して出力する。転置処理部２１は系列データを１系列分左巡回シフトする転置処理である。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Ｙ．  Ｚｈｅｎｇ，  Ｔ．  Ｍａｔｓｕｍｏｔｏ，  Ｈ．  Ｉｍａｉ，  “Ｏｎ  ｔｈｅ  Ｃｏｎｓｔｒｕｃｔｉｏｎ  ｏｆ  Ｂｌｏｃｋ  Ｃｉｐｈｅｒｓ  Ｐｒｏｖａｂｌｙ  Ｓｅｃｕｒｅ  ａｎｄ  Ｎｏｔ  Ｒｅｌｙｉｎｇ  ｏｎ  Ａｎｙ  Ｕｎｐｒｏｖｅｄ  Ｈｙｐｏｔｈｅｓｅｓ，”  ＣＲＹＰＴＯ  １９８９，ＬＮＣＳ  ｖｏｌ．  ４３５，  ｐｐ．４６１−４８０，  Ｓｐｒｉｎｇｅｒ−Ｖｅｒｌａｇ，  １９９８．
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記の非特許文献の開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明によって与えられたものである。ブロック暗号では、入力データ（平文）の各ビットデータが出力データ（暗号文）の全ビットへ影響していることが必要であり、暗号アルゴリズムはビットデータを効率よく拡散させることが望ましい。【０００９】
しかしながら、図１２に示したように、一般化Ｆｅｉｓｔｅｌ構造は分割された系列データのうち奇数番目の系列データは関数Ｆを介して偶数系列データに波及するが、偶数系列データは拡散することなく奇数系列へ移動するだけである。このように、ある１ラウンドに注目すると奇数系列と偶数系列で拡散に差が生じている。【００１０】
また、一般化Ｆｅｉｓｔｅｌ構造を持つブロック暗号において、分割数ｋを大きくすると、Ｆ関数を小型化できるメリットがある一方で、不能差分攻撃や飽和攻撃の適用可能ラウンド数が大きくなる。このため、対策としてラウンド数を増やさねばならず、結果として処理速度の低下を招くという問題点がある。【００１１】
本発明の目的とするところは、優れた拡散性を持ち、ラウンド数を少なくすることのできる暗号化方法、暗号化装置および暗号化プログラムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明の第１の視点によれば、ｎ×ｋビット（ｋは６以上の偶数）のブロックデータを分割して得られたｋ個のｎビット系列データについて、第ｉ系列と第ｉ＋１系列（ｉ＝１，２，．．．，ｋ−１）のデータがお互いに作用するような変換処理を行いｋ個のデータＷ１，Ｗ２，．．．，Ｗｋを出力するステップと、前記データＷ１，Ｗ２，．．．，Ｗｋを、予め定めた規則に基づいて転置するステップと、を１ラウンドとするｋ系列データ攪拌処理を所定回数実行する暗号化方法が提供される。本方法は、データの通信や蓄積の際にデータを秘匿するための暗号化処理を行う暗号化装置という、特定の機械に結びつけられている。【００１３】
本発明の第２の視点によれば、ｎ×ｋビット（ｋは６以上の偶数）のブロックデータを分割して得られたｋ個のｎビットのデータについて、第ｉ系列と第ｉ＋１系列（ｉ＝１，２，．．．，ｋ−１）のデータがお互いに作用するような変換処理を行いｋ個のデータＷ１，Ｗ２，．．．，Ｗｋを出力する変換手段と、前記データＷ１，Ｗ２，．．．，Ｗｋを、予め定めた規則に基づいて転置する転置手段と、を１ラウンドとして構成したｋ系列データ攪拌手段を、所定ラウンド数分有する暗号化装置が提供される。【００１４】
本発明の第３の視点によれば、ｎ×ｋビット（ｋは６以上の偶数）のブロックデータを分割して得られたｋ個のｎビットのデータが入力されるコンピュータに、第ｉ系列と第ｉ＋１系列（ｉ＝１，２，．．．，ｋ−１）のデータがお互いに作用するような変換処理を行いｋ個のデータＷ１，Ｗ２，．．．，Ｗｋを出力する処理と、前記データＷ１，Ｗ２，．．．，Ｗｋを、予め定めた規則に基づいて転置する処理と、を１ラウンドとして構成したｋ系列データ攪拌処理を、所定ラウンド数分実行させる暗号化プログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な（非トランジエントな）記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１５】
本発明によれば、より少ないラウンド数で、不能差分攻撃や飽和攻撃に対する耐性を確保する構成を得ることが可能となる。
【図面の簡単な説明】
【００１６】
【図１】本発明の概要を説明するための図である。
【図２】図１の非線形変換部の詳細構成を示す図である。
【図３】図１の非線形変換部の別の一例を示す図である。
【図４】図１の非線形変換部の別の一例を示す図である。
【図５】８系列の場合の本発明のデータの拡散の様子を示す図である。
【図６】８系列一般化Ｆｅｉｓｔｅｌ構造のデータの拡散の様子を示す図である。
【図７】本発明の第１の実施形態の通信装置の構成を示す図である。
【図８】本発明の第１の実施形態の通信装置の暗号化手段、復号化手段の詳細構成を示す図である。
【図９】本発明の第１の実施形態の通信装置の暗号化手段のｋ系列データ攪拌手段の詳細構成を示す図である。
【図１０】本発明の第１の実施形態の通信装置の復号化手段のｋ系列データ攪拌手段の詳細構成を示す図である。
【図１１】Ｆｅｉｓｔｅｌ構造の構成を示す図である。
【図１２】一般化Ｆｅｉｓｔｅｌ構造の構成を示す図である。
【発明を実施するための形態】
【００１７】
はじめに、本発明の概要について図面を参照して説明する。以下、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００１８】
本発明は、図１に示すように、ｎ×ｋビット（ｋは６以上の偶数）のブロックデータを分割して得られたｋ個のｎビット系列データＢ１〜Ｂｋについて、第ｉ系列Ｂｉと第ｉ＋１系列Ｂｉ＋１のデータがお互いに作用するような変換処理を行いｋ個のデータＷ１，Ｗ２，．．．，Ｗｋを出力する非線形変換手段１１と、データＷ１，Ｗ２，．．．，Ｗｋを、予め定めた規則に基づいて転置する転置処理手段１２とを１ラウンドとして構成したｋ系列データ攪拌手段１３を備える構成にて実現できる。
【００１９】
具体的には、ｋ個のｎビット系列データＢ１〜Ｂｋについて、第ｉ系列Ｂｉと第ｉ＋１系列Ｂｉ＋１のデータがお互いに作用するような変換処理を行いｋ個のデータＷ１，Ｗ２，．．．，Ｗｋを出力するステップと、データＷ１，Ｗ２，．．．，Ｗｋを、予め定めた規則に基づいて転置するステップとを１ラウンドとするｋ系列データ攪拌処理が所定回数実行される（但し、最終ラウンドの転置処理は省略される。）。
【００２０】
図２は、図１の非線形変換手段１１の詳細構成を示す図である。図２の例では、Ｂｉと第ｉ＋１系列Ｂｉ＋１のデータの一方Ｂｉを、所定の鍵データ（図示省略）と攪拌を行う非線形関数Ｆに入力して得たデータと他方のデータＢｉ＋１との排他的論理和をデータＷｉとし、データＷｉと前記一方のデータＢｉとの排他的論理和をデータＷｉ＋１とする変換処理が行われている。ｋ系列の場合、図２の構造がｋ／２個並列に並んだ構造となる。
【００２１】
なお、図１の非線形変換手段１１は、図３に示すように、非線形関数Ｆからの出力と系列データＢｉ＋１との排他的論理和したデータＷｉをＢｉへ作用させるときにも非線形関数Ｆによる攪拌を行う構成とすることもできる。具体的には、図３の例では、データＷｉと系列データＢｉとの排他的論理和を取る前に、データＷｉを、所定の鍵データ（図示省略）と攪拌を行う非線形関数Ｆに入力し、非線形関数Ｆからの出力と一方のデータＢｉとの排他的論理和をデータＷｉ＋１としている。
【００２２】
さらに、図１の非線形変換手段１１は、図４に示すように、Ｌａｉ−Ｍａｓｓｅｙ構造（Ｌａｉ−Ｍａｓｓｅｙ  Ｓｃｈｅｍｅ）を採用した構成とすることもできる。図４の例では、第ｉ系列と第ｉ＋１系列のデータＢｉ、Ｂｉ＋１の排他的論理和を非線形関数Ｆに入力して得たデータと一方のデータＢｉとの排他的論理和をデータＷｉ＋１とし、第ｉ系列と第ｉ＋１系列のデータの排他的論理和を非線形関数に入力して得たデータと前記他方のデータとの排他的論理和をデータＷｉとしている。
【００２３】
上記のような双方向に作用する非線形変換処理に加えて、巡回シフトでなく、系列数に応じて予め定められた転置処理を組み合わせることで、拡散性をさらに向上させることができる。
【００２４】
図５は、系列数ｋ＝８として、非線形変換処理に上記図４のＬａｉ−Ｍａｓｓｅｙ構造を適用し、データＷ１，Ｗ２，．．．，Ｗ８を、Ｗ６，Ｗ１，Ｗ８，Ｗ３，Ｗ４，Ｗ２，Ｗ７，Ｗ５となる転置処理を行った場合のデータ波及の様子を表した図である。図５の太い破線で表わされたように、系列８のデータは、３ラウンドで全系列に波及していることがわかる。なお、図５の例では、図４のＬａｉ−Ｍａｓｓｅｙ構造を用いているが、図２〜図４を対比すれば明らかなとおり、図２、図３の非線形変換手段１１を用いた場合も同様の結果を得ることができる。
【００２５】
図６は、８系列一般化Ｆｅｉｓｔｅｌ構造の拡散の様子を表した図である。系列１のデータが全系列に波及するまでのラウンド数は７ラウンドである。従って、本発明は、必要ラウンド数を１／２以下に削減できている。
【００２６】
なお、本発明によれば、上記のような転置処理はビットデータの入れ替えだけなのでハードウェア実装／ソフトウェア実装のいずれの方式であっても転置パターンが変わることによる実装コストの増加はないという利点も得られている。
【００２７】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図７は、本発明の第１の実施形態の通信装置の構成を示す図である。図７を参照すると、データの圧縮を行うデータ圧縮手段１００と、圧縮されたデータを暗号化する暗号化手段７１と、符号化処理を行う符号化手段１０２と、符号化手段１０２から出力されたデータを復号する復号化手段７２と、データの伸長処理を行うデータ復元手段１０４とを備えた通信装置１０が示されている。
【００２８】
このような通信装置１０は、データを送信する場合、データ圧縮手段１００にてデータの圧縮を行った後、暗号化手段７１にて暗号化し、符号化手段１０２にてエラー訂正用の符号化を行ってから、暗号化送信データを送信する。
【００２９】
また、データを受信する場合、上記通信装置１０は、符号化手段１０２にてエラー訂正を行った後、復号化手段７２にて復号し、データ復元手段１０４にて圧縮を解き復元データを得る。
【００３０】
上記のような通信装置１０の具体例としては、音声通信端末やデータ通信装置などの通信データを秘匿する必要のある種々の機器を挙げることができる。また、図７の例では、暗号化手段７１と復号化手段７２の双方を備える構成を示しているが、送信、受信のいずれか一方だけを行うのであれば、暗号化手段７１と復号化手段７２とのを少なくとも一方を備えていれば良い。
【００３１】
図８は、上記した暗号化手段および復号化手段の詳細構成を示す図である。拡大鍵生成手段７０は、鍵データＫから複数の拡大鍵Ｋ１、Ｋ２、…、ＫＲを生成し、該拡大鍵Ｋ１、Ｋ２、…、ＫＲを暗号化手段７１と復号化手段７２とに供給する。
【００３２】
暗号化手段７１は、所定ラウンド数Ｒ個分のｋ系列データ攪拌手段７１０（ｋは６以上の偶数）によって構成され、１ブロック分の平文データＰと該拡大鍵Ｋ１、Ｋ２、…、ＫＲの入力に対し、１ブロック分の暗号文データＣを出力する。より具体的には、暗号化手段７１は、まずｋｎビットの平文データＰをｋ個のｎビットデータに分割し、鍵データＫ１と共にｋ系列データ攪拌手段７１０に入力しデータの攪拌を行う。以降、ｒ（２≦ｒ≦Ｒ）ラウンド目は（ｒ−１）ラウンドのｋ系列データ攪拌手段７１０からの出力と鍵データＫｒを入力としてデータと拡大鍵との攪拌が繰り返される。そして、Ｒラウンド目のｋ系列データ攪拌手段７１０からのｋ個の出力を連結したｋｎビットのデータが暗号文データＣとして出力される。
【００３３】
復号化手段７２は、所定ラウンド数分のｋ系列データ攪拌手段７２０によって構成され、１ブロック分の暗号文データＣと該拡大鍵Ｋ１、Ｋ２、…、ＫＲの入力に対し、１ブロック分の平文データＰを出力する。復号化手段７２も同様に、まずｋｎビットの暗号文データＰをｋ個のｎビットデータに分割し、鍵データＫ１と共にｋ系列データ攪拌手段７１０に入力しデータの攪拌を行う。以降、ｒ（２≦ｒ≦Ｒ）ラウンド目は（ｒ−１）ラウンドのｋ系列データ攪拌手段７２０からの出力と鍵データＫｒを入力としてデータと拡大鍵との攪拌が繰り返される。そして、Ｒラウンド目のｋ系列データ攪拌手段７２０からのｋ個の出力を連結したｋｎビットのデータが平文データＰとして出力される。なお、復号化手段７２では、拡大鍵の使用順序は暗号化手段７１の逆順になる（図８の鍵データの添え字参照）。
【００３４】
図９は、暗号化手段７１のｋ系列データ攪拌手段７１０の詳細構成を示す図である。図９を参照すると、ｋ系列データ攪拌手段７１０は、非線形変換手段７１１と転置処理手段７１２とで構成される。但し、第Ｒラウンド目のｋ系列データ攪拌手段７１０は、非線形変換手段７１１のみで構成される。
【００３５】
非線形変換手段７１１は、図２〜図４に示したような双方向へデータが作用する構造をｋ／２個並べた構成となっている。また、図９の例では、拡大鍵データＫｉはｋ／２個に均等に分割され、各々がＦ関数へ入力される構成となっている。但し、図３の構造の場合、Ｆ関数が２つ必要となるため、拡大鍵データＫｉはｋ／４個に均等分割される。
【００３６】
転置処理手段７１２は、系列数ｋに応じて、ｋ個の中間データを決められた転置パターンに従って転置を行う。
【００３７】
ここで、転置パターンについて詳細に説明する。データＷｉをＷｊ［ｉ］に転置するとき、この転置を｛ｊ［１］，ｊ［２］，．．．，ｊ［ｋ］｝と表現する。転置パターンとしては、系列数ｋ毎に、以下のような転置パターンを採用することができる。
【００３８】
６系列のとき（ｋ＝６）
｛４，１，２，５，６，３｝
８系列のとき（ｋ＝８）
｛６，１，８，３，４，７，２，５｝
｛４，１，８，５，６，７，２，３｝
１０系列のとき（ｋ＝１０）
｛４，１，８，３，１０，５，６，９，２，７｝
｛４，１，６，３，１０，７，２，９，８，５｝
｛４，１，６，３，１０，７，８，９，２，５｝
｛６，１，８，３，４，７，２，９，１０，５｝
｛６，１，８，３，１０，７，２，９，４，５｝
｛６，１，８，３，１０，７，４，９，２，５｝
｛４，１，８，５，２，３，６，９，１０，７｝
｛４，１，８，５，２，７，６，９，１０，３｝
｛４，１，８，５，１０，７，６，９，２，３｝
１２系列のとき（ｋ＝１２）
｛８，１，１０，３，１２，５，４，９，６，１１，２，７｝
｛６，１，１０，３，１２，７，２，５，８，１１，４，９｝
｛６，１，１０，３，１２，７，４，５，８，１１，２，９｝
｛６，１，８，３，４，７，１２，９，１０，１１，２，５｝
｛６，１，１０，３，４，７，１２，９，２，１１，８，５｝
｛６，１，１０，３，１２，７，２，９，８，１１，４，５｝
｛６，１，１０，３，１２，７，４，９，８，１１，２，５｝
｛４，１，８，５，２，３，１２，９，６，１１，１０，７｝
｛４，１，８，５，２，３，１２，９，１０，１１，６，７｝
｛４，１，１２，５，１０，７，６，９，８，１１，２，３｝
｛６，３，１０，１，４，７，１２，５，８，１１，２，９｝
｛６，３，１０，１，１２，７，４，５，８，１１，２，９｝
｛６，３，１０，１，１２，７，２，９，８，１１，４，５｝
｛６，３，１０，１，１２，７，４，９，８，１１，２，５｝
｛６，３，２，５，８，１，１２，９，４，１１，１０，７｝
１４系列のとき（ｋ＝１４）
｛４，１，１０，５，１４，７，６，３，２，１１，１２，１３，８，９｝
｛４，１，１０，５，６，７，２，９，１４，１１，８，１３，１２，３｝
１６系列のとき（ｋ＝１６）
｛１０，１，１４，３，１２，７，１６，５，８，１１，４，１３，６，１５，２，９｝
｛６，１，８，３，１２，７，１６，９，２，５，４，１３，１０，１５，１４，１１｝
｛６，１，１２，３，１６，７，４，９，２，５，１０，１３，８，１５，１４，１１｝
｛６，１，１２，３，１６，７，１４，９，２，５，１０，１３，８，１５，４，１１｝
｛６，１，８，３，１２，７，１６，９，１４，１１，４，１３，１０，１５，２，５｝
｛６，１，１０，３，１４，７，４，９，１６，１１，８，１３，１２，１５，２，５｝
｛６，１，１０，３，１４，７，１２，９，１６，１１，８，１３，４，１５，２，５｝
｛８，１，１０，５，１４，３，６，９，１６，１１，１２，１３，４，１５，２，７｝
｛８，１，１０，５，１６，３，６，９，１４，１１，１２，１３，４，１５，２，７｝
｛８，１，１０，５，１６，３，１４，９，６，１１，１２，１３，４，１５，２，７｝
｛４，１，１０，５，１６，７，６，３，１４，１１，１２，１３，８，１５，２，９｝
｛１０，１，２，５，１２，７，６，３，８，１１，１６，１３，１４，１５，４，９｝
｛４，１，１０，５，１６，７，６，９，１４，１１，１２，１３，８，１５，２，３｝
【００３９】
図１０は、復号化手段７２のｋ系列データ攪拌手段７２０の詳細構成を示す図である。図１０を参照すると、ｋ系列データ攪拌手段７２０は、非線形変換手段７１１と逆転置処理手段７１３とで構成される。但し、第Ｒラウンド目のｋ系列データ攪拌手段７１０は、非線形変換手段７１１のみで構成される。
【００４０】
非線形変換手段７１１は、暗号化手段７１と同様に図２〜図４に示したような双方向へデータが作用する構造をｋ／２個並べた構成となっている。
【００４１】
逆転置処理手段７１３は、暗号化手段７１の転置処理手段７１２の逆転置を行う。例えば、暗号化手段７１の転置処理手段７１２が系列ｉのデータを系列ｊに転置するならば、逆転置処理手段７１３は、系列ｊのデータを系列ｉに転置する。
【００４２】
なお、図８〜１０に示した拡大鍵生成手段７０、暗号化手段７１、復号化手段７２、およびその内部の処理手段は、通信装置１０を構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することができる。もちろん、通信装置１０に搭載されたＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）などのハードウェアなどで実現することも可能である。
【００４３】
以上のように、第ｉ系列と第ｉ＋１系列のデータがお互いに作用するような変換処理を行った後、データＷ１，Ｗ２，．．．，Ｗｋを置換することにより、図５に示したように、短ラウンドで優れた拡散性を発揮する暗復号手段を得ることが可能となる。
【００４４】
最後に、本発明の好ましい形態を要約する。
［第１の形態］
（上記第１の視点による暗号化方法参照）
［第２の形態］
第１の形態において、
前記変換処理は、第ｉ系列と第ｉ＋１系列のデータの一方を非線形関数に入力して得たデータと他方のデータとの排他的論理和をデータＷｉとし、前記データＷｉと前記一方のデータとの排他的論理和をデータＷｉ＋１とする変換処理である暗号化方法。
［第３の形態］
第２の形態において、
前記データＷｉと前記一方のデータとの排他的論理和を取る前に、前記データＷｉを非線形関数に入力し、前記非線形関数からの出力と前記一方のデータとの排他的論理和をデータＷｉ＋１とする暗号化方法。
［第４の形態］
第１の形態において、
前記変換処理は、第ｉ系列と第ｉ＋１系列のデータの排他的論理和を非線形関数に入力して得たデータと前記一方のデータとの排他的論理和をデータＷｉ＋１とし、第ｉ系列と第ｉ＋１系列のデータの排他的論理和を非線形関数に入力して得たデータと前記他方のデータとの排他的論理和をデータＷｉとする変換処理である暗号化方法。
［第５の形態］
第１から第４いずれか一の形態において、
前記データＷ１，Ｗ２，．．．，Ｗｋ（但し、ｋ≦１６）を、データＷｊ［１］，Ｗｊ［２］，．．．，Ｗｊ［ｋ］に置き換える転置を、｛ｊ［１］，ｊ［２］，．．．，ｊ［ｋ］｝と表わした場合に、ｋ＝６のとき｛４，１，２，５，６，３｝で表わされる転置を行う暗号化方法。
［第６の形態］
第１から第５いずれか一の形態において、
前記データＷ１，Ｗ２，．．．，Ｗｋ（但し、ｋ≦１６）を、データＷｊ［１］，Ｗｊ［２］，．．．，Ｗｊ［ｋ］に置き換える転置を、｛ｊ［１］，ｊ［２］，．．．，ｊ［ｋ］｝と表わした場合に、ｋ＝８のとき｛６，１，８，３，４，７，２，５｝または｛４，１，８，５，６，７，２，３｝で表わされる転置を行う暗号化方法。
［第７の形態］
第１から第６いずれか一の形態において、
前記データＷ１，Ｗ２，．．．，Ｗｋ（但し、ｋ≦１６）を、データＷｊ［１］，Ｗｊ［２］，．．．，Ｗｊ［ｋ］に置き換える転置を、｛ｊ［１］，ｊ［２］，．．．，ｊ［ｋ］｝と表わした場合に、ｋ＝１０のとき次式（１）のいずれかで表わされる転置を行う暗号化方法。
｛４，１，８，３，１０，５，６，９，２，７｝
｛４，１，６，３，１０，７，２，９，８，５｝
｛４，１，６，３，１０，７，８，９，２，５｝
｛６，１，８，３，４，７，２，９，１０，５｝
｛６，１，８，３，１０，７，２，９，４，５｝
｛６，１，８，３，１０，７，４，９，２，５｝
｛４，１，８，５，２，３，６，９，１０，７｝
｛４，１，８，５，２，７，６，９，１０，３｝
｛４，１，８，５，１０，７，６，９，２，３｝・・・（１）
［第８の形態］
第１から第７いずれか一の形態において、
前記データＷ１，Ｗ２，．．．，Ｗｋ（但し、ｋ≦１６）を、データＷｊ［１］，Ｗｊ［２］，．．．，Ｗｊ［ｋ］に置き換える転置を、｛ｊ［１］，ｊ［２］，．．．，ｊ［ｋ］｝と表わした場合に、ｋ＝１２のとき次式（２）のいずれかで表わされる転置を行う暗号化方法。
｛８，１，１０，３，１２，５，４，９，６，１１，２，７｝
｛６，１，１０，３，１２，７，２，５，８，１１，４，９｝
｛６，１，１０，３，１２，７，４，５，８，１１，２，９｝
｛６，１，８，３，４，７，１２，９，１０，１１，２，５｝
｛６，１，１０，３，４，７，１２，９，２，１１，８，５｝
｛６，１，１０，３，１２，７，２，９，８，１１，４，５｝
｛６，１，１０，３，１２，７，４，９，８，１１，２，５｝
｛４，１，８，５，２，３，１２，９，６，１１，１０，７｝
｛４，１，８，５，２，３，１２，９，１０，１１，６，７｝
｛４，１，１２，５，１０，７，６，９，８，１１，２，３｝
｛６，３，１０，１，４，７，１２，５，８，１１，２，９｝
｛６，３，１０，１，１２，７，４，５，８，１１，２，９｝
｛６，３，１０，１，１２，７，２，９，８，１１，４，５｝
｛６，３，１０，１，１２，７，４，９，８，１１，２，５｝
｛６，３，２，５，８，１，１２，９，４，１１，１０，７｝・・・（２）
［第９の形態］
第１から第８いずれか一の形態において、
前記データＷ１，Ｗ２，．．．，Ｗｋ（但し、ｋ≦１６）を、データＷｊ［１］，Ｗｊ［２］，．．．，Ｗｊ［ｋ］に置き換える転置を、｛ｊ［１］，ｊ［２］，．．．，ｊ［ｋ］｝と表わした場合に、ｋ＝１４のとき｛４，１，１０，５，１４，７，６，３，２，１１，１２，１３，８，９｝または｛４，１，１０，５，６，７，２，９，１４，１１，８，１３，１２，３｝のいずれかで表わされる転置を行う暗号化方法。
［第１０の形態］
第１から第９いずれか一の形態において、
前記データＷ１，Ｗ２，．．．，Ｗｋ（但し、ｋ≦１６）を、データＷｊ［１］，Ｗｊ［２］，．．．，Ｗｊ［ｋ］に置き換える転置を、｛ｊ［１］，ｊ［２］，．．．，ｊ［ｋ］｝と表わした場合に、ｋ＝１６のとき次式（３）のいずれかで表わされる転置を行う暗号化方法。
｛１０，１，１４，３，１２，７，１６，５，８，１１，４，１３，６，１５，２，９｝
｛６，１，８，３，１２，７，１６，９，２，５，４，１３，１０，１５，１４，１１｝
｛６，１，１２，３，１６，７，４，９，２，５，１０，１３，８，１５，１４，１１｝
｛６，１，１２，３，１６，７，１４，９，２，５，１０，１３，８，１５，４，１１｝
｛６，１，８，３，１２，７，１６，９，１４，１１，４，１３，１０，１５，２，５｝
｛６，１，１０，３，１４，７，４，９，１６，１１，８，１３，１２，１５，２，５｝
｛６，１，１０，３，１４，７，１２，９，１６，１１，８，１３，４，１５，２，５｝
｛８，１，１０，５，１４，３，６，９，１６，１１，１２，１３，４，１５，２，７｝
｛８，１，１０，５，１６，３，６，９，１４，１１，１２，１３，４，１５，２，７｝
｛８，１，１０，５，１６，３，１４，９，６，１１，１２，１３，４，１５，２，７｝
｛４，１，１０，５，１６，７，６，３，１４，１１，１２，１３，８，１５，２，９｝
｛１０，１，２，５，１２，７，６，３，８，１１，１６，１３，１４，１５，４，９｝
｛４，１，１０，５，１６，７，６，９，１４，１１，１２，１３，８，１５，２，３｝・・・（３）
［第１１の形態］
第１から第１０いずれか一の形態において、
前記データＷ１，Ｗ２，．．．，Ｗｋ（但し、ｋ≦１６）を、データＷｊ［１］，Ｗｊ［２］，．．．，Ｗｊ［ｋ］に置き換える転置を、｛ｊ［１］，ｊ［２］，．．．，ｊ［ｋ］｝と表わした場合に、系列数ｋの値に応じて次式（４）で表わされる転置を行う暗号化方法。
ｋ＝６のとき
｛４，１，２，５，６，３｝
ｋ＝８のとき
｛６，１，８，３，４，７，２，５｝
｛４，１，８，５，６，７，２，３｝
ｋ＝１０のとき
｛４，１，８，３，１０，５，６，９，２，７｝
｛４，１，６，３，１０，７，２，９，８，５｝
｛４，１，６，３，１０，７，８，９，２，５｝
｛６，１，８，３，４，７，２，９，１０，５｝
｛６，１，８，３，１０，７，２，９，４，５｝
｛６，１，８，３，１０，７，４，９，２，５｝
｛４，１，８，５，２，３，６，９，１０，７｝
｛４，１，８，５，２，７，６，９，１０，３｝
｛４，１，８，５，１０，７，６，９，２，３｝
ｋ＝１２のとき
｛８，１，１０，３，１２，５，４，９，６，１１，２，７｝
｛６，１，１０，３，１２，７，２，５，８，１１，４，９｝
｛６，１，１０，３，１２，７，４，５，８，１１，２，９｝
｛６，１，８，３，４，７，１２，９，１０，１１，２，５｝
｛６，１，１０，３，４，７，１２，９，２，１１，８，５｝
｛６，１，１０，３，１２，７，２，９，８，１１，４，５｝
｛６，１，１０，３，１２，７，４，９，８，１１，２，５｝
｛４，１，８，５，２，３，１２，９，６，１１，１０，７｝
｛４，１，８，５，２，３，１２，９，１０，１１，６，７｝
｛４，１，１２，５，１０，７，６，９，８，１１，２，３｝
｛６，３，１０，１，４，７，１２，５，８，１１，２，９｝
｛６，３，１０，１，１２，７，４，５，８，１１，２，９｝
｛６，３，１０，１，１２，７，２，９，８，１１，４，５｝
｛６，３，１０，１，１２，７，４，９，８，１１，２，５｝
｛６，３，２，５，８，１，１２，９，４，１１，１０，７｝
ｋ＝１４のとき
｛４，１，１０，５，１４，７，６，３，２，１１，１２，１３，８，９｝
｛４，１，１０，５，６，７，２，９，１４，１１，８，１３，１２，３｝
ｋ＝１６のとき
｛１０，１，１４，３，１２，７，１６，５，８，１１，４，１３，６，１５，２，９｝
｛６，１，８，３，１２，７，１６，９，２，５，４，１３，１０，１５，１４，１１｝
｛６，１，１２，３，１６，７，４，９，２，５，１０，１３，８，１５，１４，１１｝
｛６，１，１２，３，１６，７，１４，９，２，５，１０，１３，８，１５，４，１１｝
｛６，１，８，３，１２，７，１６，９，１４，１１，４，１３，１０，１５，２，５｝
｛６，１，１０，３，１４，７，４，９，１６，１１，８，１３，１２，１５，２，５｝
｛６，１，１０，３，１４，７，１２，９，１６，１１，８，１３，４，１５，２，５｝
｛８，１，１０，５，１４，３，６，９，１６，１１，１２，１３，４，１５，２，７｝
｛８，１，１０，５，１６，３，６，９，１４，１１，１２，１３，４，１５，２，７｝
｛８，１，１０，５，１６，３，１４，９，６，１１，１２，１３，４，１５，２，７｝
｛４，１，１０，５，１６，７，６，３，１４，１１，１２，１３，８，１５，２，９｝
｛１０，１，２，５，１２，７，６，３，８，１１，１６，１３，１４，１５，４，９｝
｛４，１，１０，５，１６，７，６，９，１４，１１，１２，１３，８，１５，２，３｝
・・・（４）
［第１２の形態］
（上記第２の視点による暗号化装置参照）
［第１３の形態］
（上記第３の視点によるプログラム参照）
なお、上記した第１２、第１３の形態は、上記した第１の形態と同様に、第２〜第１１の形態に展開することができる。
【００４５】
以上、本発明の好適な実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した実施形態では、図５を示して系列数ｋ＝８である場合のデータ波及の様子を説明したが、上記例示した転置パターンを用いることにより、系列数ｋ＝６〜１６の範囲で最適な拡散性を得ることが可能となっている。
【００４６】
また、実行するラウンド数、データの分割数、関数Ｆ、非線形変換の方式等は、本発明を適用する機器の性能、暗号に求められるセキュリティ強度等の種々の要素に基づいて変更することが可能である。
【００４７】
なお、前述の非特許文献の開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲および図面を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲および図面の枠内において種々の開示要素（各請求項の各要素、各実施例の各要素、各図面の各要素等を含む）の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００４８】
１０  通信装置
１１  非線形変換手段
１２  転置処理手段
１３  ｋ系列データ攪拌手段
２０  非線形変換部
２１  転置処理部
７０  拡大鍵生成手段
７１  暗号化手段
７２  復号化手段
１００  データ圧縮手段
１０２  符号化手段
１０４  データ復元手段
７１０、７２０  ｋ系列データ攪拌手段
７１１  非線形変換手段
７１２  転置処理手段
７１３  逆転置処理手段
【図１】
2012141189.tif 000003
【図２】
2012141189.tif 000004
【図３】
2012141189.tif 000005
【図４】
2012141189.tif 000006
【図５】
2012141189.tif 000007
【図６】
2012141189.tif 000008
【図７】
2012141189.tif 000009
【図８】
2012141189.tif 000010
【図９】
2012141189.tif 000011
【図１０】
2012141189.tif 000012
【図１１】
2012141189.tif 000013
【図１２】
2012141189.tif 000014
【国際調査報告】
2012141189.tif 000015
2012141189.tif 000016
2012141189.tif 000017
2012141189.tif 000018
2012141189.tif 000019
2012141189.tif 000020