ユーザ用ツール

サイト用ツール


rsa

文書の過去の版を表示しています。


RSA公開鍵暗号

公開鍵暗号の概要

暗号化だけ出来る鍵と、復号だけ出来る鍵が、ペアで存在します。暗号化だけ出来る鍵は公開して、復号だけ出来る鍵を自分だけが持つようにします。暗号化と復号を出来る鍵が共通の場合、やり取りをしたい相手に渡す際に、第三者に盗まれると困ります。一方で暗号化だけ出来る鍵の場合は、第三者に盗まれても困りません。これが公開鍵暗号の利点です。

仕組み

暗号化だけ出来る鍵と、復号だけ出来る鍵のペアは、数学の理論に基づいて実現されています。

異なる2つの素数$p$と$q$を用意します。そして$n=pq$とします。

それから、$\varphi(n)$と互いに素(最大公約数が1であることと同じ)な数値を$e$とします。 なお$\varphi(n)$はトーシェント関数で、n以下の整数で、nと互いに素となるものの個数です。 ここで求めた${e, n}$を公開鍵とします。

そして、$ed \equiv 1 \mod \varphi(n)$となるモジュロ逆数$d$を求めて、この値を秘密鍵とします。 なおモジュロ逆数$d$ですが、$x \mod y$で$x$と$y$が互いに素である場合は、必ずモジュロ逆数が存在することが証明されています。

ここまでで必要な数字が用意できました。これらを用いて暗号化と復号を行ないます。 平文をaとして、暗号化された文をbとします。

$b = a^e \mod n\\
a = b^d \mod n$

上記の式で、暗号化と復号が出来ます。

証明

なぜ上記のようなことが成り立つのか、説明します。

まず $ed \equiv 1 \mod \varphi(n)$なので、$e$

rsa.1752287449.txt.gz · 最終更新: 2025/07/12 02:30 by bokupi

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki