3年生秋学期科目「情報工学ゼミナール」の実績(2017年度秋学期実施)
2017年度の秋学期科目「情報工学ゼミナール」では、情報処理技術者試験が実施された2017年10月15日までは、
基本情報技術者試験および応用情報技術者試験の受験対策ため、それらの過去問に取り組みました。
その後は、“3パーティ秘匿演算プロトコル”に基づいて、様々な暗号プロトコルをC言語を用いて作成しました。
3パーティ秘匿演算プロトコルを用いることで、様々なタイプの“プロイバシ保護データマイニング”を実現することが出来ます。
昨年度の「情報工学ゼミナール」では、以下のプロトコルの実装を行いました。
以下のように、様々な魔法のようなことを実現することが出来ます。
- 2者秘匿加算プロトコル
2人の財産額を暗号化してデータベースに登録します。暗号化したままの状態で、それら財産額の和を計算することができます。
- N者秘匿加算プロトコル
一般のNについて、N人の財産額を暗号化してデータベースに登録します。
暗号化したままの状態で、それら財産額の総和を計算することができます。
- 秘匿乗算プロトコル
2人の個人情報を暗号化してデータベースに登録します。暗号化したままの状態で、それら個人情報の積を計算することができます。
- 金持ち比べプロトコル
2人の金持ちが、互いに自分の財産の額を相手に隠しながら、どちらが金持ちかを決定できます。
- N者金持ち比べプロトコル
一般のNについて、N人の金持ちが、互いに自分の財産の額を隠しながら、誰が金持ちかを決定できます。
- 3者最大値計算プロトコル
3人の金持ちが、互いに自分の財産の額を隠しながら、財産額の最大値を決定できます。
その際、誰が最も金持ちなのかは、その本人以外にはわかりません。
- N者最大値計算プロトコル
一般のNについて、N人の金持ちが、互いに自分の財産の額を隠しながら、財産額の最大値を決定できます。
その際、誰が最も金持ちなのかは、その本人以外にはわかりません。
- プライベート情報検索
検索エンジンに対し、検索ワードを秘匿したまま検索を行い、検索結果を得ることができます。
例えば、新薬開発では、化合物データベースに対して検索を行う化合物も企業秘密であり、これが保護されます。
- 秘匿割り算プロトコル
割る数と割られる数を暗号化したままの状態で割り算を実行し、商と余りを求めることができます。
最後に、総仕上げとして、次のプロトコルの実装を行いました。
このプロトコルは、暗号化したままの状態での足し算・掛け算・割り算・条件分岐など、様々な技術を駆使し、完成させました。
- 秘匿分散値計算プロトコル
成績など複数人の個人情報を暗号化してデータベースに登録します。
そして、暗号化したままの状態で、それら個人情報の分散値を計算することができます。
4年生科目「卒業研究」の実績
2018年度の科目「卒業研究」では、次の2つを教科書として採用し、ゼミを進めました。
[1] Javaで作って学ぶ暗号技術(神永正博, 山田聖, 渡邊高志 著)
( 森北出版 書籍情報 )
[2] 量子コンピュータと情報セキュリティ(只木孝太郎 著)
( 補足発表資料 )
只木研4年生(卒研生)を対象とするこのゼミでは、まずこれらの教科書を読み、現代暗号技術の中心的テーマや、
最新の量子コンピュータについて理解を深めました。
その後、卒研生の皆さんはそれぞれの研究に分かれ、Javaを用いて、
以下に示す様々な暗号方式や暗号プロトコルの実装を行い、卒業論文として完成させました。
- RSA暗号
- RSA署名
- Diffie-Hellman鍵共有
- ElGamal暗号
- Paillier暗号
- Schnorr認証
- 金持ち比べプロトコル
- 紛失通信
- ブラインド署名
- ゼロ知識証明
- 電子現金
- 電子投票
一方、量子コンピュータや量子暗号をテーマとして選んだ卒研生みなさんは、それらのシミュレータを作成し、
卒業論文としました。
<参考> 2017年度 只木研3年生対象: 2018年度から始まる卒業研究のための事前準備方法