RSA
2022-07-24 (日) 11:18:50
RSA とは †
名称 †
- Rivest Shamir Adleman
概要 †
- 実用的な公開鍵暗号方式として最初に公開された方式。
- 比較的少ないデータ量のデータの暗号化に使われる。
- 鍵の長さ:1024bitまたは2048bit(2048bitが推奨)
- 2048bitのRSAより、256bitのECCの方が安全と言われている
RSAの方式 †
- PKCS #1
- RFC8017
- RSA-OAEP
RSAの仕組み †
鍵ペア(暗号鍵と復号鍵)の作成手順 †
- Nを求める
- 大きな2つの素数を生成して掛け合わせる
- Lを求める
- 生成した2つの素数を-1した値の最小公倍数
- Eを求める ※暗号鍵が作成できる状態になる
- EとLの関係(1<E<L、EとLの最大公約数が1)を条件にEを生成する
- Dを求める ※復号鍵が作成できる状態になる
- DとEとLの関係(1<D<L、E * D mod 1=1)を条件にDを生成する
鍵ペアを使った暗号化と復号 †
- 暗号化
- 暗号文 = 平文 ^ E mod N
- E: Encryption
- N: Number
- 暗号鍵: (E,N)
- 暗号文 = 平文 ^ E mod N
- 復号
- 平文 = 暗号文 ^ D mod N
- D: Decryption
- N: Number
- 復号鍵: (D,N)
- 平文 = 暗号文 ^ D mod N
RSAの用途 †
鍵の生成・使用(カッコ内は順番) †
暗号鍵 | 復号鍵 | |
鍵ペア生成 | 生成(1) | 生成(2) |
鍵の使用 | 暗号化(1) | 復号(2) |
用途 †
関連サイト †
- PKCS #1: RSA Cryptography Specifications Version 2.2 - IETF
https://datatracker.ietf.org/doc/html/rfc8017
- RSA暗号を破壊するとの論文が発表されるも「ほぼ誤報」とみられる - スラド (2021/3/5)
https://idle.srad.jp/story/21/03/04/210213/
- RSAに対するフェルマー攻撃 (2022.3.16) - Qiita
https://qiita.com/tnakagawa/items/d87fd8459ec9e1ce6844