• Tidak ada hasil yang ditemukan

電子計算機及び実習 第 11回 (12/22) 11 暗号

N/A
N/A
Protected

Academic year: 2024

Membagikan "電子計算機及び実習 第 11回 (12/22) 11 暗号"

Copied!
3
0
0

Teks penuh

(1)

11 暗号 2008年度 電子計算機及び実習 69

電子計算機及び実習 第 11(12/22)

11 暗号

11.1 今日のテーマ

* Mathematicaを用いた暗号化と復号化

* PGP

**今日の課題

以下の2点を行うこと.

PGPの公開鍵をホームページに公開する(課題11.3).

PGPで暗号化したファイルを添付したメールを,s-suzuki宛に送ること (課題11.5).

11.2 Mathematica を用いた暗号化と復号化

次の暗号(「改」シーザー式暗号)を思い出そう.まず,次のようにアルファベットに数を対応させる.

a = 0, b = 1, c = 2, ..., x = 23, y = 24, z = 25

そして,例えば3を掛けて5を足すという変換(ただし,26以上になったときは,26未満になるまで繰り返し 26を引くことにする)を考える.この暗号でアルファベットは次のように変換された.

a b c d e f g h i j k l m n o p q r s t u v w x y z

F I L O R U X A D G J M P S V Y B E H K N Q T W Z C

Mathematicaを用いて,この暗号を使ってみよう.Mathematicaを起動するにはデスクトップ上のMathematica アイコンをダブルクリックすればよかった.また,Mathematicaでは評価のために Shift + Enter ( Shift

キーを押しながら Enter キーを押す)というキー操作を行うのであった.以下,Mathematicaのプロンプトは

In[%]=で表す.授業のページからMathematicaプログラムのファイルcaesar.mをダウンロードし,中身を見

てみなさい.Mathematica が起動している状態で次のようにすれば,caesar.mを読み込むことができる.

In[%]= << caesar.m

これで,caesar.mで定義されている関数が使えるようになる.例えば,次のようにすれば,meet at sixという

文字列を,鍵3,5 (3を掛けて5を足す)で暗号化できる.

In[%]= encipher["meet at six",3,5]

復号化するには次のようにする(%は直前の出力を表す). In[%]= decipher[%,3,5]

課題11.1 近くの人とメールを用いて暗号文をやり取りしてみなさい.

11.3 PGP

PGP は Pretty Good Privacyの略で,前述の通りジマーマンが開発した暗号用プログラムである.秘密鍵と 公開鍵の生成,暗号化,復号化,電子署名が簡単に行える.実は,快適に動くように,RSA暗号と従来の暗号を 併用しているのだが,そのような難しい原理を知らなくても使うことができる.

ジマーマンは,元は商業用に開発していたのだが,当局の圧力により,無償で配布してでもこのシステムを世 界に広めなければならないと考えた.その後,世界中の人々が改良を加えている.このような経緯により,少し 前まではアメリカ版のPGPをダウンロードすると,アメリカの法律に抵触する恐れがあった.

(2)

11 暗号 2008年度 電子計算機及び実習 70

11.3.1 鍵の生成と基本的な使用法

PGPを使うために,まず鍵を生成しよう.まず,ホームディレクトリのすぐ下に.pgpディレクトリを作成す る.以下,基本的にこのディレクトリ下で作業をするものとする.他人に見られないように,パーミッションを rwx---(700)に変更する.それから,コマンドpgpで鍵を生成する.

% cd

% mkdir .pgp

% chmod 700 .pgp

% pgp -kg

まず,いくつか質問をされる.全て英語であるが,簡単な英語なので,なるべく自分で読んで欲しい.最初の3

つの質問 (暗号の種類をどうするか,署名鍵を作るのか,鍵のサイズをどうするか)は全てdefault を選んで構わ

ない(1 Enter と入力する).

次に,ユーザIDを聞かれるので,例えば,次のように入力する(もちろん,各自自分のデータを入れること).

Taro UNGA <[email protected]>

それから,鍵の有効期間を設定するように言われる.これも defaultの0 (期限なし)を選んでよい.

次に,パスフレーズを入力するように指示される.これは,復号や電子署名のときに必要である.ログインパ スワードとは別個に作ること.少し長め(15から20文字くらい)で大文字,記号,スペースなどを含めるとよい.

もちろん,メモを取ったり,忘れたりしてはならない.

次に,暗号鍵を作るか聞かれるので,Yと答える.鍵のサイズは最大の3 にしておこう.また,有効期間は0

(期限なし)でよい.

最後に,鍵をランダムに生成するために,でたらめにキーボードの文字を入力するように言われる.これで

~/.pgpに公開鍵(pubring.pkr)と秘密鍵(secring.skr)が生成される.秘密鍵はパーミッションをrw---

(600)に設定して,他人に見られないように厳重に保管すること.また,繰り返しになるが,パスフレーズを忘れ

ないようにすること.

課題 11.2 以上の操作(鍵の生成)を行いなさい.

次に,公開鍵を公開するために,テキストファイルに変換する.

% pgp -kxa

すると,ユーザIDを問われるので,j6xxxxxxなどと答える.次に,ファイル名を問われるので,j6xxxxxx.asc などと答える.このファイルの中身をlessで見てみよう.訳の分からない文字列が並んでいるが,文字化けでは ない.これがあなたの公開鍵である.この公開鍵をウェブページで公開しよう.まず,jwww ディレクトリにファ イルをコピーし,パーミッションを公開用 rw-r--r--(644)に変更する.

% cp j6xxxxxx.asc ~/jwww/

% cd ~/jwww/

% chmod 644 j6xxxxxx.asc

それから,index.htmlの本文の先頭に次のように書き加えて保存する.

<a href="j6xxxxxx.asc">PGPの公開鍵</a>

これで,皆はここをクリックすることにより,公開鍵をダウンロードすることができる.

課題 11.3 実際に,自分のホームページにPGPの公開鍵を公開しなさい.

では,近くの人のページを訪れ,その人の公開鍵をダウンロードせよ.このファイルを~/.pgp/に移動し,次 のようにして公開鍵を登録する.ここに,ファイル名はその人の公開鍵の名前である(自分のではない).

% pgp -ka ~/.pgp/j6yyyyyy.asc

(3)

11 暗号 2008年度 電子計算機及び実習 71

どの程度その鍵を信用するか問われるので,そこは自分で判断しよう.それから,その公開鍵で何かのファイル を暗号化する.ここに,ユーザIDはその人のを入力すること(くどいようだが自分のではない).

% pgp -eat hfilenamei j6yyyyyy

成功すると,ファイル名に .asc と拡張子が付いたファイルができているだろう.これが暗号化されたファイル である.lessで中身を見ても読めないだろう.一度暗号化すると,暗号化した本人にも読むことはできない.読 めるのは秘密鍵を持っている者のみである.

では,その暗号化したファイルをメールで添付して送ろう.受け取ったら,単に

% pgp hfilenamei

で復号化できる.このとき,パスフレーズを聞かれる.

また,電子署名を付けるには,

% pgp -s hfilenamei

とする.登録した鍵一覧を表示するには

% pgp -kv

とする.これらを含めた,pgpのコマンドの使い方を調べるには

% pgp -h

とする.

課題 11.4 実際に,近くの人とメールを用いて暗号化したファイルをやりとりしてみなさい.

11.3.2 参考: Mew 上でメールを暗号化

Mew上でPGPを用い,暗号化,復号化,電子署名を行うことができる.暗号化や電子署名はメールを送る直 前に次のコマンドで行う.

暗号化: C-c C-e, 電子署名: C-c C-s, 電子署名+暗号化: C-c C-b

11.4 本日の課題

課題 11.5 次のウェブページからs-suzukiの公開鍵をダウンロードし,登録せよ.

http://jwww.ed.noda.tus.ac.jp/s-suzuki/sample.html

何か秘密のメッセージを作成し,s-suzukiの鍵で暗号化し,暗号化したファイルにs-suzuki.pgpと名前を付け よ.s-suzukiに s-suzuki.pgpを送ること.Subjectは「学籍番号+Dec22」とすること.

確認であるが,本日の課題は全部で以下の2点である.

PGPの公開鍵をホームページに公開する(課題11.3).

以下の内容のメールをs-suzuki宛に送ること.課題11.5において,PGPで暗号化したファイルを添付する.

11.5 次回のテーマ

Cを用いた簡単なプログラム.

Referensi

Dokumen terkait

gutamicum由来のグルタミン酸 脱水素酵素CgGDHは高いグルタミン酸合成活性を有するため、グルタミン酸生産の 鍵酵素の一つであると考えられています。また、微生物、動物、植物のほとんどの生物 はGDHを有していますが、CgGDHを始めとした高いグルタミン酸合成能を有するGDH の分子機構は未解明のままです。特にアンモニアを効率的にケト酸へ取り入れる仕組

学年 2 教科 理科 科目 生物 単位 3 週時数 【実験・実習】・身の回りの特定外来生物の活動を動画で知る ・よこやまの道周辺をトレッキングしながら周辺環境を実感しつつ、野生生物調査を行う 【年間の目標】 ①自然環境や生物に関連する基本的な概念や原理・法則の理解を深め、科学的に探究するために必要な観察、実験などに関する 基本的な技能を身に付けるようにする。

と入力する。再び「ls」をすると、「harmonic_oscillator」というディレクトリが出来 ている。 cd harmonic_oscillator でこのディレクトリに移り、「ls」をすると、いくつかのファイルがあることが分かるだ ろう。 3.2.2 コードのコンパイルと実行

と入力する。再び「ls」をすると、「harmonic_oscillator」というディレクトリが出来 ている。 cd harmonic_oscillator でこのディレクトリに移り、「ls」をすると、いくつかのファイルがあることが分かるだ ろう。 3.2.2 コードのコンパイルと実行

R の部分集合 M に最大値 maxM が存在すれば、それは上限 supM でも ある。最小値・下限についても同様。 問8-5A... 数列a= an∞n=0 について、上極限・下極限がともに存在して一致すれば、 a はその値に収束することを示せ。

統計学実習用紙 10(両面1枚) 認識記号番号= 一見データとして取り扱いにくい視聴覚情報について、どうデータ処理をすべきかを考えながら、データを獲る 体験をします。クラウドの Excel「10日目」シートに、以下のデータを記入して下さい。本名や学籍番号は絶対 に記さない様にして下さい。緑字で、入力すべき欄の列を示します。

ディレクトリ構成 必要最低限ファイル群 compile.conf --- コンパイル用設定ファイル compile.csh --- コンパイル用スクリプト Doc --- ドキュメント群 Src --- ソースファイル群... compile.conf の設定・ solver.exe の作成

学習評価の改善・充実 1 学習評価の改善の基本的な考え方 学習評価は、 「生徒にどういった力が身に付いたか」という学習の成果を的確に捉え、 教師が指導の改善を図るとともに、生徒自身が自らの学習を振り返って次の学習に向か うことができるようにするために、教育課程や学習・指導方法の改善と一貫性のある取 組を進めることが求められる。