1
情報セキュリティ 第03回
大久保誠也 静岡県立大学経営情報学部
2/36
はじめに
情報セキュリティの技術
暗号
古典的な暗号
演習:シーザー暗号
演習の解説
3/36
情報セキュリティの技術
4/36
情報理論と暗号
情報理論の応用
情報圧縮
画像や音楽のデジタルデータを圧縮
00000...000000000011111111111111….11111 0が1個,1が200個
誤り訂正
通信路上で誤りが起きたとき、検出・訂正
Alice ----→Bob000 通信 010
↑間違いを検出・訂正
暗号
今回の話
5/36
この授業で出てくる内容
基礎的な部分
2進数と計算(他の科目でやっているはず)
16進数
一方向関数とハッシュ値
疑似乱数
応用的な部分
暗号技術
認証技術
実際の通信で何が行われているか 6/36
10 進数とは
"ブロック"10個で、(違う大きさの)"ブロック"となる。
14510
の意味することは、
1 4 5
10「10個のブロックが
10個集まったもの」が
1つ
「
10個のブロックが 集まったもの」が4つ
「1個のブロック」
が
5つ
1 × 10
2104 × 10
1105 × 10
0107/36
2 進数とは
"
ブロック
"2個で、(違う大きさの)
"ブロック
"となる。
11112
の意味することは、
1 1 1 1
2「1個のブロック」
が
1つ
1 × 2
010「1個のブロックが
2個集まった ブロック」
が1つ
1 × 2
110「
2個のブロック が2個集まった ブロック」が1つ
1 × 2
210「2個のブロックが
2個集まったブロックが
2個集まったブロック」が
1つ
1 × 2
3108/36
16 進数とは
"
ブロック
"16個で、(違う大きさの)
"ブロック
"となる。
0
~
9と
A~
Fまでの
16個の記号で表現する。
3 3
4 4
1 1
0 0
2 2
10進数 16進数
8 8
9 9
7 7
5 5
6 6
10
進数
16進数
D 13
E 14
F 15
B 11
A 10
C 12
10進数 16進数
9/36
16 進数への変換
16進数から10進数:
2進数から10進数と同様
10進数から16進数:
2進数から10進数と同様
16進数から2進数:
右の表のようになる
2進数から16進数:
4桁毎に区切って、
右の表。
1010 A
1011 B
0101 5
0110 6
0111 7
1000 8
1001 9
0000 0
0001 1
0010 2
0011 3
0100 4
1100 C
2進数 16進数
2
進数
16進数
1111 F
1110 E
1101 D
10/36
排他的論理和
2つの値のうち、
片方のみが1のときに1、
両方が0もしくは1のときには0
となる計算。
XOR、EORともいう。
記号は 。
1 1
0
0 0
0
0 1
1
1 0
1
y x x y
11/36 Hello
World
Hello World
盗聴
Hello World
Bob 送信
Alice
Hello World
Hello World
Eve 盗聴
A:>
Hello World 覗き見して
やろう
Aliceから メールが来た。
送信
外部に漏れてな いかなぁ?
12/36
改ざん
9時 集合
12時
送信
集合12時 集合
このメールは 正しいのかな?
Mallory
通信内容を 書き換えてやれ
AliceBob
13/36 hogehoge
Mallory
Bob
送信
hogehoge
hogehoge
hogehoge
なりすまし
Alice
からメールが 来たけど、
本当にAliceなのかな?
Alice
を語って
送信だ!
14/36暗号技術
15/36
Bobに
メールを……
HelloWorld
Hello World
電子メールは 非常に便利
Hello
World Bob
送信
Alice
Hello World
早い。
安い。
簡単。
情報化社会に 欠かせないツールに
Aliceから
メールが来た。
16/36 Hello
World
Hello World
電子メールは
危険な場合も ……(1)
Hello
World Bob
送信
Alice
Hello World
盗聴
Hello World
Eve
盗聴
A:>
Hello World
覗き見 してやろう
文章がそのまま 流れるので、
悪い人に情報が 漏れる!
Alice
から メールが来た。
送信
17/36
電子メールは
危険な場合も ……(2)
Bob
なりすまし
Hello World
Eve
A:>
Alice
Hello World
Alice
の名 を語って メールを 送信だ!
他人を語って メールを投げら れる!。
本当に本人から 来たのか?。
Hello World
送信
Hello World
Aliceから
メールが来た。
18/36
電子メールの
危険な部分 - まとめ
盗聴の危険性
文章内容がそのままネット上を流れる!。
間に悪意のある人がいると、情報が覗かれる!。
なりすましの危険性
他人になりすますことが容易!。
本当に、その人からメールが来たのか、確認でき ない!。
暗号の技術で、すべて解決!
19/36
暗号の目的
平文(送りたい文)を暗号化し、暗号文にする。
この際、鍵を使用する。
This is a pen.
(
16進数表記)
5468697320697320612070656E2E0A
平文
test
鍵
(16進数表記)
883BC0A17AA746D3DCADCE425C6A10AC
;zB¥j
暗号文
暗号化されていると、
元の文章がわからない。
20/36
暗号の歴史 (1)
シーザー暗号
文字ずらすことで暗号化・復号
ex 暗号化:DOG →GRJ(各文字を、3文字分後にずらす)
復号 :GRJ →
DOG(各文字を、3文字分前にずらす)
単純換字暗号
文字を置き換える表に従って暗号化・復号
ex 表:a→v, b→d, c→a暗号化:abc →
vda(テーブルの対応に従って各文字を置き換え)
復号 :vda →
abc(テーブルの対応に従って各文字を置き換え)
21/36
暗号の歴史 (2)
多表式換字暗号
文字を置き換える表を複数使用する
転置式暗号
文字の並ぶ順番を入れ替える
ex:1文字目を3文字目に、2文字目を1文字目に、
3文字目を4文字目に、4文字目を2文字目に置く。
暗号化:cats →
asct復号 :asct →
cats
スーパー暗号
これらの方式を組み合わせた物。
現代暗号へ
22/36演習:シーザー暗号
23/36
演習:シーザー暗号 (1)
文字を入力
3
を入力
a
を入力
=CODE(B3) を入力
=MOD(B4-97+$B$2,26)+97
を入力
=CHAR(B5)を入力 24/36
演習:シーザー暗号 (2)
セルの内容を右のセルにもコピー
25/36
演習:シーザー暗号 (3)
文字を1文字ずつ入力してみよう
3文字ずれた暗号文が生成されたか確認しよう
26/36
演習:シーザー暗号 (4)
値を変えてみましょう
さっきとは異なった暗号文が生成されたか確認しよう
27/36
演習の解説
28/36
シーザー暗号
文字ずらすことで暗号化・復号
ex暗号化:
DOG→
GRJ(各文字を、3文字分後にずらす)
復号 :
GRJ→
DOG(各文字を、
3文字分前にずらす)
文字を
3文字ずらす処理を,
MS-Excel
で行えれば良い
シーザー暗号で行いたいこと
29/36
文字と文字コード
各文字は文字コードというコードにより、計算機内部で は扱われている。
さまざまなコードの割り当て方が存在している
SHIFT_JIS
:94 4c
ISO-2022-JP(JIS) :47 2d
EUC-JP
:c7 ad
UTF-8
:e7 8c ab
”猫”という文字は、
このように表現。
30/36
出てきた Excel の関数
CODE(x)
(文字列
xの先頭文字の)文字コードを返す。
CHAR(x)
コード番号x に対応した文字を返す。
MOD(x, y)
x
を
y で除算した余りを返す。31/36
文字を入力
3を入力
aを入力
=CODE(B3)
を入力
=MOD(B4-97+$B$2,26)+97
を入力
=CHAR(B5)を入力
何文字分 ずらすか
平文
(暗号化した い文字)
演習:シーザー暗号 (1)
32/36
文字を入力
3を入力
aを入力
=CODE(B3)
を入力
=MOD(B4-97+$B$2,26)+97
を入力
=CHAR(B5)を入力 B3
にある文字の文
字コードを求める
a
は
97、
eは
101、
bは98、 …
cは99、
d
は
100、
zは
122演習:シーザー暗号 (1)
33/36
文字を入力
3を入力
aを入力
=CODE(B3) を入力
=MOD(B4-97+$B$2,26)+97
を入力
=CHAR(B5)
を入力
演習:シーザー暗号 (1)
B2
の文字数ずらした文字を求める。
B4-97 :
B4の文字がaから何文字あと
かを計算
B4-97+3:
3文字ずらす MOD(
略
, 26):
zの次はaにする必要がある
ので、26のあまりを求める
MOD(略)+97:“a”の文字コード(97)
を足す。
34/36
文字を入力
3を入力
aを入力
=CODE(B3) を入力
=MOD(B4-97+$B$2,26)+97
を入力
=CHAR(B5)
を入力 文字コードを 文字にする
演習:シーザー暗号 (1)
35/36
課題の提出
今日のMS-Excelのファイルを経情グループウェアから 提出する。
ファイル名は 学籍番号c.xls とすること。
(学籍番号は自分の学籍番号を入力すること)
グループ名は『H25_情報セキュリティ』です。
ユーザーIDとパスワードは、ユニバーサルパスポート 等と同じです。
36/36
本日の資料
今日の資料は
http://flute.u-shizuoka-ken.ac.jp/~s-okubo/