Webであなたの夢が叶う! -36ページ目

Webであなたの夢が叶う!

Webを活用して一歩ずつ「夢」に近づきませんか?
みなさんのサポートブログです。    

こんにちは。
Webであなたの夢が叶う!のHirokoです。

Webで数学、
関数って?についてです。

関数という言葉は、
わたしたちの日常によく使われていますね。

中学・高校の数学では、
 ・一次関数
 ・二次間数
 ・有理関数
 ・指数関数
 ・三角関数
などを習うでしょう。

社会人になると、
Excelなどの表計算ソフトを使ったり、
プログラミングをする人は、
 ・sum()関数
 
・if()関数
 
・round()関数
 
・ave()関数
 
・max()関数
などの関数を使ったことがあるかもしれません。

では、
関数とは?
その定義は何なのかというと
 「値を変換する一定の処理群」
になると思います。

例えば、
 A  
  B 
 2 
→   8 
 5
 → 125
 8 → 512
が成り立つ計算式を考えてみましょう。
「→」の部分ですね。

パッとひらめいた方もいらっしゃると思いますが、
この場合、
 
 A =  B
  23 =   8
  53 = 125
  83 = 512
となります。
「Aを3乗するとBになる」
これも答えの一つですが、
他にもあてはまる関数があるかもしれません。

明日からは、
Excel関数についてお話ししようと思います。
お楽しみに!


今日も最後まで読んでいただいてありがとうございました。

こんにちは。
Webであなたの夢が叶う!のHirokoです。

Webで数学、
最短で到着するルートとは?です。

いよいよ今週末からゴールデンウィークですね。

みなさんは、
どこかへお出かけされますか?

今年のカレンダーをみると、
5月2日(月)と
5月6日(金)の2日を休むと
4月29日(金)から5月8日(日)までの9連休となり、
ゆっくり日程を取ってのんびりした旅行を楽しまれる方、
限られた休日を有意義に過ごす方、
さまざまなプランがあると思います。

出発地から目的地までの行程にも多様性があって、
観光を楽しみながら、
その土地ならではの美味しいものを食べたり、
ときにはルートからは外れるけれど、
足を延ばして別の観光地を訪れる場合や、
とにかく、
最短で目的地に着いて、
思う存分
目的地を堪能する場合がありますね。

今回のWebで数学では、
最短で目的地に着く最短経路」について
考えてみましょう。

いま、
下図のような道路があるとします。
A地点からB地点に行く最短経路は
何通りあるでしょうか?



まず、
矢印を数えてみましょう!
 → :4
 ↑   :3
ありますね。

同じものがあるときの順列の総数を求めればよいので、
式は、
     7!      
    4!3!
となり、
   7!= 5040
   4!=   24
   3!=    6
ですから

   答え:35通り

になります。


いかがでしたか?

同じ出発地から同じ目的地までの行程に、
35通りもあるんですね

これは
行ってみない手はありませんね。


今日も最後まで読んでいただいてありがとうございました。

こんにちは。
Webであなたの夢が叶う!のHirokoです。

Webで数学、
RSA暗号を使ってみよう!です。

昨日に引きついて
RSA暗号(
アール・エス・エー暗号)についてです。

今日は実際に暗号化・復号化を行ってみましょう!

昨日は、
素数から任意の2数を選んでかけあわせ、
その数を上限とするn進数を利用して
「べき乗」にした数表を作りました。

親愛なるNさんの誕生日3月11日から
素数:3と11を選び、

 3 × 11 = 33

で33
進数の利用を決めました。

33進数で使う数字は0から32までですね。
0から32までを利用した「べき乗」数表を使います。

この表を使って暗号化・復号化してみましょう。

いま、
平文の数値列を「7 13 17 24」とします。
実際に文字を暗号化する場合も文字は数値に変換して
使います。

 ① 受信者は
   公開している鍵である
   「べき乗」数表の任意の数「3」で暗号化して
   メッセージを送るように送信者に伝えます。 

 ② 送信者は
   受信者が指定した公開鍵
「3」
   
メッセージ「7 13 17 24暗号化、
   ここで
「べき乗」数表を使います。
     7は3乗すると13
    13は3乗すると19
    17は3乗すると29
    24は3乗すると30
   「13 19 29 30」と暗号化して送ります。

 ③ 受信者は
   
公開鍵「3」に対応する秘密鍵を求め、
   この鍵で暗号文を復号化します。

   秘密鍵を求める計算式はちょっと複雑なのですが、

   S = n × 2
 × 10 + 1 
             公開鍵「3」 

   nを1とおいて求めると秘密鍵は「7」になります。
   
   では、
   
秘密鍵「7」で復号化してみましょう。
   ここでも「べき乗」数表を使います。
    13は7乗すると 7
    19は7乗すると13
    29は7乗すると17
    30は7乗すると24
   「7 13 17 24」となり、
   平文に戻りました。

いかがでしたか?
暗号化ってこんな仕組みなのか・・・
とわかっていただけたかと思います。

自分でも独自の暗号手法を編み出してみると
世界中が驚くような暗号を考案することが
できるかもしれませんよ。


今日も最後まで読んでいただいてありがとうございました。

こんにちは。
Webであなたの夢が叶う!のHirokoです。

Webで数学、
RSA暗号とは?についてです。

RSA暗号(アール・エス・エー暗号
マサチューセッツ工科大学(MIT)の研究者だった
 ・リベスト(Rivest
 ・
シャミール(Shamir
 ・
アドルマン(Adleman
の三人によって開発された公開鍵暗号の変換方法です。
この三人の頭文字から
RSA暗号と名付けられました。

では具体的にどんな暗号技術なのかというと・・・

昨日ご紹介した公開鍵暗号の手順をご覧ください。

  ↓ 
↓ ↓ 

 ① 
受信者は
   公開している鍵「XXXX」で暗号化して
   メッセージを送るように送信者に伝えます。 

 ② 送信者は
   受信者が指定した公開鍵
「XXXX」
   
メッセージ「5678」暗号化、
   メッセージ「5678」+鍵「XXXX」
   =「YYYY」と暗号化して送ります。

 ③ 受信者は自分しか知らない秘密鍵「ZZZZ」で
   復号化して
メッセージ「5678」を受け取ります。

でした

RSA暗号では、
平文を暗号化するとき、
暗号文を
復号化するときに「素数」を使います。

素数は、
このブログに何度も登場してきていますが、
ちょっとおさらいしておきましょう!

◆素数とは・・・
  1と自分自身以外には約数を持たない数のこと。

    2,3,5,7,11,13,17,19,
   23,29,31,37,41,43,47,
   53,59,61,67,71,73,79,
   83,89,97・・・


いま、
素数から任意の2数を選んで、その数をかけあわせます。
そのかけ合わせた数を上限とするn進数を利用して
暗号化・復号化に応用していきます。

例えば・・・
親愛なるNさんの誕生日3月11日から
素数:3と11を選びます。

 3 × 11 = 33

になり、
33
進数を利用します。

33進数で使う数字は0から32までですね。
33までいったら桁上がりして0に戻りますので・・・
これは10進数と同じ要領です。

では先に進めましょう!

33進数の数:0から32までを利用して、
「べき乗」にした数表を作ってみましょう!

となります。
ご覧のように11乗と2
1乗の数字は
もとの数に戻っていて、
その数までの間の数は繰り返されています。

この表を使って
暗号化・復号化していきますね。

つづきはまた明日!


今日も最後まで読んでいただいてありがとうございました。

こんにちは。
Webであなたの夢が叶う!のHirokoです。

Webで数学、
公開鍵暗号と秘密鍵暗号です。

現代暗号における「鍵」は
暗号化、複号化に必要なものです。

 暗号化 ⇒ 鍵をかける

 複号化 ⇒ 鍵をあける

この作業のときに
 ・公開鍵
 ・秘密鍵

というアルゴリズムを使います。

歴史的にみると、
はじめに「
秘密鍵」という暗号方式が考案され、
広く使われていたのですが、
1976年に
より安全性の高い「公開鍵」方式が考案されると、
この2方式は併行して
使われるようになったのです。

その理由は、
公開鍵暗号」は「秘密鍵暗号」よりも処理が複雑で、
通信時間やコストもかかるためです。

では、
2つの暗号方式について詳しくみていきましょう!

◆ 秘密鍵暗号

  秘密鍵暗号とは、
  暗号化と複号化に同じ鍵を用いる暗号方式です。

  では実際に、
  メッセージ「5678」を送る場合をみてみましょう。

 ① 送信者と受信者は
   まず「鍵」について取り決め(共有)をします。

   この場合、
    ・鍵「1234」を使うこと
    ・鍵をメッセージに加算すること
   を決めます。

 
 ② 送信者は
   
メッセージ「5678」+鍵「1234」
   =「6912」と暗号化して送ります。

 ③ 受信者は
   
暗号文「6912」を
   鍵「1234」で復号化して
   
メッセージ「5678」を受け取ります。

悪意のある第三者が暗号文「6912」をみても
鍵がないとメッセージはわかりませんね。

しかし、
①の
あらかじめ送信者と受信者で「鍵」を
共有しておく必要があり、
このときに
悪意のある第三者に鍵がわかってしまうと
本も子もありません。


◆ 公開鍵暗号

  公開鍵暗号は、
  暗号化と複号化に異なる鍵を用いる暗号方式です。

 ① 受信者は
   公開している鍵「XXXX」で暗号化して
   メッセージを送るように
送信者に伝えます。
 
 ② 送信者は

   受信者が指定した公開鍵
「XXXX」
   
メッセージ「5678」暗号化、
   メッセージ「5678」+鍵「XXXX」
   =「YYYY」と暗号化して送ります。

 ③ 受信者は自分しか知らない秘密鍵「ZZZZ」で
   復号化して
メッセージ「5678」を受け取ります。

この場合は、
悪意のある第三者に鍵がわかってしまっても
公開鍵「XXXX」では復号化できないため
もとのメッセージ「5678」はわかりませんね

いかがでしたか?

この
公開鍵暗号のアルゴリズムである
RSA暗号の仕組みに
「フェルマーの小定理」が応用されています。

次回は、
その
RSA暗号の仕組みについて
簡単にご紹介します。


今日も最後まで読んでいただいてありがとうございました。