• 検索結果がありません。

8.1 成果

本プロジェクトの最終目標は、暗号を一般の人に理解しやすいように暗号を可視化することであ る。具体的には暗号解読の過程を、iPadにアプリケーションを実装するという形で実現すること である。そのために私たちは暗号・復号についての学習、実装するアプリケーションを製作するた

めObjective-Cの学習、そしてアプリケーションを実際に実装した。暗号解読法の学習については

RSA暗号グループ、楕円曲線暗号グループ、誕生日パラドックスグループが詳しく調査した。そ の中でアプリケーションに利用するにはどの暗号解読法が適しているのかを調査し、実装に利用 できるものを探した。また実装グループは実装するための開発環境整備、アプリケーション実装に 向けたプログラミングの学習などをおこなった。これにより私たちは暗号・復号についての理解、

Objective-Cによりプログラムを実装できる能力、またアプリケーションをiPadに実装する能力

を得た。

今回のアプリケーションでは暗号解読に頻度分析を用い、暗号解読の過程を表示するというもので ある。頻度分析とは平文と暗号文に使用される文字や文字列の出現頻度を手掛りとして利用する暗 号解読法のことである。この暗号解読法は暗号文が平文に変わっていく様子が目に見えてわかり やすいため、この暗号法を用いた。画面には暗号文と頻度分析により解読した文字を1文字、暗号 文の下に表示されており、暗号文内ではその置換された文字に色がついて表示される。これを全て の文字が解読されるまで1文字づつ順々に置換し、それを毎項表示するものとなっている。このア プリケーションを実装できたことにより、本プロジェクトの目標は達成できた。できたアプリケー ションは図8.1のように動作する。

(文責:青塚佳祐)

8.2 課題の解決手順 8.2.1 前期での課題

 前期では実装の準備とObjective-Cの学習をし、後期はアプリケーションの実装を行った。

前期でアプリケーションについての学習とObjective-Cの学習、また実装経験が不十分であった ため後期の本実装するのに遅れが生じた。なので後期では早めにアプリケーション製作に取り組 むことが必要となった。前期で課題となった点について記述する。初めに私たちはMacminiとい うパソコンでObjective-Cを起動することに決めた。Objective-CというのはiPadにアプリケー ションを実装する際に使うのでこれを利用するのに適しているパソコンはアップル社のMACで ある。そのため私たちはMacminiを利用することにした。これは学校側が所有していたためそ れを利用してほしいといわれたからであるが、Macminiをうまく使いこなすことができずにうま くObjective-Cをインストールできなかった。そのためMacbookAirを購入し Objective-Cを インストールすることで解決した。しかしこれらとObjective-Cについての参考文献、荻原剛志 (2010)「詳解Objective-C2.0改訂版」ソフトバンククリエイティブ株式会社.と森巧尚(2011)「よ

8.1 動作中のアプリ

くわかるiPhoneアプリ開発の教科書」毎日コミュニケーションズ.を発注し到着するまでに遅れ

が生じたため、Objective-Cについての学習が遅れてしまった。解決手段としてはインターネット による学習を試みたが、あまりはかど捗らなかった。また発注が遅れたことにより、Objective-C で実際にプログラミングするという経験が不足してしまったことも前期の課題であった。これに関 しては後期に早めに取り組むという解決手段を取った。以上が前期での課題と解決手段である。

(文責:青塚圭祐)

8.2.2 後期での課題

 アプリケーション実装までの流れについて記述する。初めにアプリケーションについていくつ かの具体案を出し合い、その中でアプリケーションとして実装できそうなものを試作した。だが有 力であった案が思うようにできず、違う案を採用した。有力な案とはいくつかの暗号解読法を有名 な昔話を暗号文としてそれをアプリケーション内で解読させ、その過程を表示するというもので

りプログラムが難解になること、また時間が足りないということが問題となった。プログラムにつ いて参考文献やインターネットによる検索で調べたが解決策を見つけることができなかった。次に 第二の案についてより具体的な内容を考えた時にどの暗号解読法を利用するのかという問題があ がった。

第二の案は暗号解読法を一つに絞り、それを実装するというもので、これについては難しい計算が 必要ない頻度分析を用いると一般の人にわかりやすいのではないか、また暗号文を平文に変換して いく様子が暗号解読の中では一般の人に伝わりやすいのではないかと考えたためである。そしてこ のアプリケーションはこれらを元に製作した。

 続いて製作途中での課題について記述する。まず初めに問題となったのはアプリケーションの 画面上の配置についてである。これは暗号文を解読していく様子をどのように見せるかという課 題で、見やすくわかりやすい配置でないといけないため慎重に話し合った。まず画面に表示する必 要あるものが暗号文と解読した文字である。この暗号文の文字数が多いため、画面内の配置が難し かった。平文は英文であるため、暗号文も同じ文く英字で構成されるため文字数が多いのである。

そのため丁度良い文字の大きさで暗号文を表示しそれを画面上部へ、下部に解読した文字を表示す る形にした。これが一番見やすいと判断したのである。暗号文については平分に気をつけ頻度分析 を行いやすいものを選んだ。これにより優しい暗号文を解読するほうがより分かりやすいであろう と考えたためである。

頻度分析により解読した文字を下に表示する一方で、上の暗号文中でその文字がどこにあるのかが わかるよう色をつける操作が必要となったが、これが大きな課題となった。参考文献からは一行単 位で色を変える術は載っていたのだが、一文字だけ変える手段が見つからず、何日も試行錯誤した がついには色を変える手段が見つからず、結局暗号文の文字の色付けは他のソフトを利用し、その 画面を画像にしてアプリケーションの画面に出力する手法をとった。そのため今回のアプリケー ションは画像を表示し、それを時間通りに表示させていくというものになった。また色については 緑色が現在解読し置換した文字で、以前の解読で置換された文字は灰色、その他のまだ置換されて いない文字は黒で表示した。さらに英字が大文字で表記されているものは解読済みで、小文字は置 換されていない文字である。これらはどちらも一般の人に人目で分かるように見易さを追求したも のである。以上が後期でのの課題と解決手順である。

(文責:青塚圭祐)

関連したドキュメント