Enchan1207 / RSAimpl

RSA Enc/Dec implementation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

myrsa

Overview

PythonによるRSA暗号の基本的な実装

2023年度 情報セキュリティ論 課題1

Implement

暗号鍵の生成

  1. 2つの素数p, qを生成する.(今回は,13と19)
  2. n = p × q を計算する.
  3. Euler(n) = (p - 1) × (q - 1) を計算する.
  4. Euler(n) と互いに素となる数を求め,e とする.但し,1 < e < Euler(n)
  5. (e × d) mod Euler(n) = 1 となるd を計算する.
  6. n, e が公開鍵、n, d が秘密鍵に相当する。

暗号化/復号

$n, e, d$ を用いて平文 $M$ を暗号文 $C$ に暗号化するには、以下のような演算を行う:

$$ C = M^e \mod n $$

暗号文 $C$ を平文に復号するには以下のような演算を行う:

$$ M = C^d \mod n $$

About

RSA Enc/Dec implementation


Languages

Language:Python 100.0%