Help us understand the problem. What is going on with this article?

RSA暗号の全体像

More than 5 years have passed since last update.

RSA暗号とは

公開鍵暗号と電子署名の基礎知識で解説したように、RSAというのは公開鍵暗号の具体的な仕様です。

RSAという名前は発明者の3人の名前の頭文字からつけられています。歴史的なところはRSA暗号に関するWikipediaのエントリを参照してください。

RSA暗号の仕様

RSA暗号の仕様を管理している人は誰?

RSA暗号は1983年にアメリカで特許が取られていて、RSAセキュリティという会社(現在はEMCコーポレーションに買収されている)がその権利を持っていましたが2000年に特許が切れています。

RSAセキュリティ社がRSAの普及を進めていく中で、PKCSという規格群を制定しました。PKCSとは、Public Key Cryptography Standards の略で、公開鍵暗号のやり方やファイルフォーマットなどを規定しています。

なので、基本的にはPKCSを読めばRSA暗号に関する仕様は網羅されているはずなのですが、PKCSの一部はRFCとしても登録されていたり、また、関連技術仕様が ITU-Tや ISOの仕様としても登録されていたりと、どこを読めば良いのか、何が最新なのかよくわかりません。

PKCSの全体像

全体像が掴みにくいRSA暗号ですが、やはりRSAセキュリティ社(現、EMCコーポレーション)が策定した PKCSを起点に追いかけていくのが良さそうです。

PKCSは以下のように PKCS #1〜#15の規格からなっています。うち2つは廃案で、一部は他の仕様に引き継がれています。また、一部の規格はRFCにも登録されています。

番号 説明 対応RFC
PKCS #1 RSA暗号に関する標準 RFC 3447
PKCS #2 (廃案)
PKCS #3 Diffie-Hellman鍵共有に関する標準
PKCS #4 (廃案)
PKCS #5 パスワードに基づく暗号化の標準 RFC 2898
PKCS #6 証明書のフォーマットの拡張(X.509 v3に引き継がれている?)
PKCS #7 暗号文や署名のフォーマットに関する標準 RFC 2315
PKCS #8 秘密鍵のフォーマットに関する標準 RFC 5208
PKCS #9 属性タイプの拡張
PKCS #10 CSR (証明書署名要求)のフォーマットに関する標準 RFC 2986
PKCS #11 暗号トークンインターフェースの仕様
PKCS #12 個人情報交換のためのフォーマットに関する標準。
秘密鍵と証明書などをセットで保存するためのもので、.p12 という拡張子はこれを表している。
PKCS #13 楕円曲線暗号の標準 (策定中?)
PKCS #14 擬似乱数の標準 (策定中?)
PKCS #15 暗号トークン情報フォーマットの標準

公開鍵暗号と電子署名に関わる仕様はどのあたり?

PKCSだけ見てもその仕様の範囲は非常に広いので、全部を読むのは大変です。公開鍵暗号や電子署名に関する知識としてはどのあたりを見ればよいのでしょうか。いくつかピックアップしてみました。

PKCS #1

公開鍵暗号と電子署名の範囲で一番重要なのは、PKCS #1 です。

PKCS #1は RFC 3447 としても公開されています。

X.509

X.509も公開鍵暗号に関する規格で、カバーする範囲も広いのですが、一般的には「X.509証明書」というコンテキストでのみ使われます。 X.509 と聞いたら「デジタル証明書のこと」と思ってほぼ間違い無いです。

証明書のフォーマットにつていは、PKCS #6でも触れられているようですが、現在は X.509に引き継がれているようです。

デジタル証明書とは?

https://webpo.jp のように暗号化されたWebサイトを開くと、ブラウザのアドレスバー付近に鍵のアイコンが表示され、クリックすると証明書の中身を見ることができます。
スクリーンショット 2014-12-22 18.58.20.png

このようなデジタル証明書のフォーマットやその署名方法などを規定したのが X.509という規格です。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした