重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

BからAに公開鍵暗号方法で暗号文を送るとします。

最初にAからBに公開鍵を送ります。ある本によると公開鍵とは暗号法の一つだそうです。例えば

公開鍵は:
ABC...をBCD...に一文字ずらす方法

すると平文を"IBM"とすると暗号文は"HAL"になります。
BはAに"HAL"を送ります。
これを受け取ったAは"HAL"を"IBM"に解読します。

悪意のあるCが"HAL"を受信したとしても暗号法を知らないので"IBM"には戻すことが出来ない(もちろん、この例とした単純な暗号法では何時かは解読されますが)です。

この公開鍵暗号法を考えた人は賢いとは思いますが、公開するときにCが公開鍵を見てしまったら意味がないのではないでしょうか。その本にはこの点が触れられていなかったのですが、素数が関係あると書かれていました。

どう関係あるのでしょうか。
難しい解説はご遠慮ください。

質問者からの補足コメント

  • 数123

    を、Aが見つけた二つの素数

    7と11

    を公開鍵と秘密鍵として

    1/2
    AがBに教えた公開鍵を使ってBが123を暗号化

    2/2
    その暗号化された数字をAが秘密鍵で、元の123に戻す

    する様子を教えて下さい。
    上で使っている数値が不適ならば変えてもらって結構です。


    抽象的な話は、それから考えます。

      補足日時:2016/08/05 02:28

A 回答 (12件中11~12件)

古代エジプト時代ではこういった暗号手法でした。



 スライス法だったかな。

 アルファベットの場合では26通りしか組み合わせがないので、すぐにばれてしまいます。

 そのあと、文章を書いた紙テープを木の棒に巻き付けて読む方法が考案されていきました。

 「棒の太さ」が暗号文を解読する鍵として用いる。
 指定したのと違う太さの棒に暗号文を書いた紙テープを巻き付けても、文章として読むことができない・・・など。


 素数は計算に時間がかかることを逆手に取った解読手法です。
    • good
    • 0

そんなめんどくさいことはしませんよ。


大きな素数を二つ掛け合わせてその数を送ればいいのです。AB
味方のスパイにはその二つの素数を(AとB)教えておけばいいです。
英文を数字に書き換えて、そのABを掛けておきます。
初めにAで割ってそのあまりをBでわると元の数字が出てきます。
 パソコンの暗号化だと1万桁*1万桁ぐらいの数だそうですので、どんなパソコンを使っても解読するのに何年かかることになります。
    • good
    • 0
この回答へのお礼

返答ありがとうございます

例えば

'a'を1000
素数Aを7
素数Bを11

とすると、

'a'を暗号化する場合、
1000 x 7 x 11 = 77000

この77000をAで割って、その余りは0ですよね。

0をBで割ると余りは0。

元に戻らないようです。


具体的な例を教えて下さい

お礼日時:2016/08/02 23:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

今、見られている記事はコレ!