1: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 22:51:59.16 ID:eFoRVj/r0.net
みなさん、こんばんは
第23回となる今回は「暗号方式」について勉強していきましょう
2: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 22:52:18.70 ID:qNE86U7G0.net
待ってました!
3: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 22:52:55.61 ID:sTuQb+HO0.net
暗号方式ってなに?
5: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 22:53:43.92 ID:WyuU5XDW0.net
2chでいうトリップが暗号方式だよ
4: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 22:53:30.47 ID:eFoRVj/r0.net
まずは秘密鍵暗号方式です
7: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 22:54:43.96 ID:SHN7FfUO0.net
NSAに解読されないやつにしてね!
9: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 22:56:05.01 ID:eFoRVj/r0.net
秘密鍵暗号方式(共通鍵暗号方式)とは、2者が共通の鍵を用いて暗号化・復号化するものです。
例えば「200」という共通鍵を用意しました。
いま、「3」というデータを送りたいとします。
ここで暗号化アルゴリズムを データ×共通鍵 と定義します。
3 * 200 = 600
を送信します。
受け取った人は受け取ったものを「200」で割ります
600 / 200 = 3
これが秘密鍵暗号方式です。
12: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 22:58:41.25 ID:vYTBlDLq0.net
じょうほうのじゅぎょうでやったよ!
13: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 22:58:53.33 ID:eFoRVj/r0.net
しかし、これにはいくつかのリスクが考えられますね。
リスクの一つに秘密鍵の盗聴・傍受があります。
この秘密鍵を教える段階で盗聴された場合、もはや打つ手はありません。
盗聴者にもろバレの状態で通信を行わなければなりません。
さらにリスクの一つとして「2者間の信頼関係」があります。
秘密鍵を持つ物同士は「お互いが鍵を流出させない」という前提の元でやりとりします。
もし、どちらかに悪意があった場合、流出の危険性が考えられます。
14: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 22:59:25.25 ID:eFoRVj/r0.net
次は「公開鍵暗号方式」です。
15: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 23:01:46.55 ID:eFoRVj/r0.net
公開鍵暗号方式では2種類の鍵を生成して運用します。
2種類の鍵をそれぞれ「秘密鍵」「公開鍵」と呼びます。
17: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 23:03:26.36 ID:eFoRVj/r0.net
暗号通信を行いたい場合、以下の手順で通信を行います。
1. Aさんが鍵を生成
2. AさんがBさんに公開鍵を渡す
3. Bさんは公開鍵を使ってデータを暗号化する
4. 暗号化したデータをAさんに渡す
5. Aさんは秘密鍵を使って復号化する
この手順からわかるように「公開鍵で暗号化したものは秘密鍵でしか復号化できない」です
18: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 23:03:39.47 ID:ZOzbaipL0.net
プログラミング関係ないな
36: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 23:21:28.21 ID:/c6T+G2N0.net
プログラミングって言うか基本情報講座だな
20: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 23:07:34.53 ID:NkExT3O80.net
秘密鍵公開鍵って暗号通貨でよく見る
21: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 23:08:53.84 ID:BUZOIB8Q0.net
「これ、俺の秘密鍵」
「キャー!!」
19: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 23:05:20.10 ID:eFoRVj/r0.net
ではなぜそのような特徴が生じ得るのでしょうか。
それは公開鍵暗号方式で用いられる「RSA」というアルゴリズムによります。
RSAは簡単にいえば「すっごいでかい数を掛け算するのは簡単だけどすっごいでかい数を素因数分解するのは難しい」という原理に基づいています。
29: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 23:15:21.27 ID:DcUXeSoH0.net
ここ基本情報の範囲やで!要チェックや!
22: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 23:11:57.80 ID:1MFmrz4S0.net
ビットコインの仕組みこいこい
23: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 23:13:07.99 ID:eFoRVj/r0.net
もうめんどくさくなった
26: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 23:14:26.79 ID:Ntj6iPlc0.net
情報系中退のゴミが見てるからがんばって!
24: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 23:13:45.38 ID:ZOzbaipL0.net
頑張れ みんな読んでる
28: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 23:14:53.10 ID:eFoRVj/r0.net
>>24
もう続きない
なんか質問して
31: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 23:16:34.31 ID:Z8HdB2EF0.net
素因数分解の原理を使ってるんだな
30: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 23:15:24.54 ID:o93tHqIr0.net
では何故、素因数分解が難しいのか、その原理上の原因を説明してみようか。
続けて
37: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 23:22:48.10 ID:eFoRVj/r0.net
>>30
理論的に計算することが不可能で総当り的に探さないといけないから
35: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 23:19:08.41 ID:ZOzbaipL0.net
>>30
P≠NPだから
32: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 23:16:55.12 ID:qLPX73J50.net
公開鍵でどうやって暗号化するのか知りたい
37: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 23:22:48.10 ID:eFoRVj/r0.net
>>32
n = pq( p と qは素数)
暗号文 = 入力文^e mod n
複合文 = 暗号文^d mod n
ここで パラメータ n、e を公開鍵として渡して、 d を秘密鍵として使う
33: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 23:17:26.32 ID:Ntj6iPlc0.net
そもそも鍵って何? 計算式?
37: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 23:22:48.10 ID:eFoRVj/r0.net
>>33
暗号化・復号化で使うパラメータ(数値)
38: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 23:23:36.43 ID:DcUXeSoH0.net
暗号方式の説明するときにゃ子供の頃のコナンパズルとかでやってるはずの暗号について説明した方がいいと思う
0->り
1->ん
2->ご
012->りんご
みたいな
40: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 23:30:30.56 ID:DcUXeSoH0.net
暗号文の基本は
・1文字それぞれ別な文字に置き換える
・文字の順番のルールを一定のルールにそって変更する abcde->edcbaみたいな逆順とか
これだけで理解しやすくなると思われる
39: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 23:28:15.32 ID:eFoRVj/r0.net
一般的な「暗号」だと3種類ある
・ステガノグラフィ
・コード
・サイファー
ステガノグラフィは見えないように送る方法
封筒に入れて外から見えないように送るのも一種の暗号方法でステガノグラフィの一例。
コードは単語とかを他の単語に置き換える方法
兵器→バナナ、日本→俺の家、配備する→届ける
みたいに置き換えるルールをつけとくとすると
兵器を日本に配備しろ
という文が
バナナを俺の家に届けろ
になる
サイファーは>>38がいってるように文字レベルで適当な別の言葉に置き換える方法
25: 以下、\(^o^)/でVIPがお送りします 2015/02/28(土) 23:14:15.53 ID:kou4wqNB0.net
説明うまかった
乙
関連
プログラミング講座第16回「ユニットテスト」
プログラミング講座第18回「オブジェクト指向プログラミング」
2ちゃん式iOSプログラミング講座第9回「デリゲート」
【第2回】java8講座ラムダ式
初心者でも5分で作れそうなiPhoneアプリ講座