更新履歴
- Pythonで文字列を除去する方法を完全解説!strip・replace・正規表現
- スタック領域とヒープ領域の違いとは?メモリ管理から使い分けまで徹底解説
- Python Docstringの書き方完全ガイド|主要スタイルの比較と保守性を高める記述
- シングルトン(Singleton)デザインパターンを徹底解説!Java実装例・メリット・デメリット
- サインインとログインの違いとは?意味・使い分けをわかりやすく解説
- 静的サイトと動的サイトの違いを徹底比較!メリット・デメリットと選び方を解説
- モノリスとマイクロサービスの違いを徹底比較|メリット・デメリットと失敗しない選定基準
- RESTとSOAPの違いを徹底比較!特徴・メリット・使い分けを解説
- 同期・非同期とブロッキング・ノンブロッキングの違い|概念と使い分けを徹底比較
- マルチプロセスとマルチスレッドの違いを解説!メリット・デメリット・使い分け
- hostsファイルとDNSの違いとは?優先順位・仕組み・使い分けを解説
- Excelで複数行を1行にまとめる方法まとめ【関数・PQ対応】
- レスポンスタイムとターンアラウンドタイムの違い【基本情報対策】
- ステートレスとステートフルの違いを徹底解説!エンジニアが知るべき仕組みと具体例
- shとbashの違いを徹底解説!シェルスクリプトの使い分け
- 【徹底比較】イーサネットとWi-Fi違いと選び方を解説
- 【徹底解説】UTF-8 BOMあり・なしの違いと選び方
- npmとYarn、開発者が知るべき違いとは?
- 【Linux】nanoコマンドの使い方 | 基本操作からショートカット、便利設定
- 「Git pull 強制」は危険?ローカル変更を破棄してリモートに合わせる安全な方法
基本情報の勉強にお勧めの本
RSA暗号とAES暗号について、どちらが公開鍵暗号方式・共通鍵暗号方式であるか迷ってしまうことはないでしょうか。
本記事では、それぞれを語呂合わせで覚える方法を紹介します。
公開鍵暗号方式とは
暗号化するための鍵と復号するための鍵が異なる暗号方式。
暗号化するための鍵を公開鍵と呼び、復号する鍵を秘密鍵と呼ぶ。
公開鍵暗号方式では公開鍵を広く公開し、秘密鍵を厳重に秘密にすることで成立。
- メリット:鍵の管理が容易
- デメリット:処理が複雑なため、暗号化や復号に時間を要する
公開鍵暗号方式の種類
公開鍵暗号方式には以下のような種類があります。
| 種類 | 概要 |
|---|---|
| RSA | 桁数の大きな素数を掛け合わせた数字の素因数分解が、難しいことを応用した暗号化アルゴリズム |
| DSA | デジタル署名専用の暗号化アルゴリズム |
| ECDSA | DSAよりも短い鍵長で、DSAと同等の安全性を担保することができる暗号化アルゴリズム |
RSAとは
公開鍵暗号方式の一つで、代表的な暗号アルゴリズム。
桁数の大きな素数を掛け合わせた数字の素因数分解が難しいことを応用している。
1977年に発明され、以下の発明者の頭文字からRSAと名付けられた。
- ロナルド・リベスト(Ronald
Rivest) - アディ・シャミア(Adi
Shamir) - レオナルド・エーデルマン(Leonard
Adleman)
DSAとは
デジタル署名専用の暗号化アルゴリズムで、Digital Signature Algorithmの略称。
RSAが素数の組み合わせを用いたアルゴリズムであるのに対して、
DSAは離散対数問題の困難性に基づく暗号。
ECDSAとは
楕円曲線暗号を利用しDSAよりも短い鍵長で、
DSAと同等の安全性を担保することができる暗号化アルゴリズム。
Elliptic Curve Digital Signature Algorithmの略称。
鍵長が短いため、低性能なデバイスでも高速に処理できて、セキュリティも高い。
本人確認する場面でよく利用されており、入退室に用いるICカードに利用されている。
公開鍵暗号方式(RSA)の覚え方
RSA=公開鍵暗号方式であることは、以下のように語呂合わせで覚えるのがおすすめです。
後悔あるさ
- 公開→後悔
- RSA→アール(R)さ(SA)
共通鍵暗号方式とは
暗号化と復号に使う鍵が同一である暗号方式。
- メリット:暗号化の手順がシンプル
- デメリット:通信する相手の数だけ鍵を準備する必要がある
AES(DES)とは
AESおよびDES暗号は共通鍵暗号方式の一つ。
AESは「Advanced Encryption Standard」で、
DESは「Data Encryption Standard」の略称。
AESは、DESに代わる共通鍵暗号のアルゴリズムとして、米国の国立標準技術研究所(NIST)が主導して標準化し、無線LANの暗号化通信などで実装されている。
DESは脆弱性があるため、現在は利用が推奨されていない。
共通鍵暗号方式(AES)の覚え方
現在DESに代わって標準規格となっているのがAESです。
DESが進化(Advanced)したのがAESと覚えておきましょう。
AES=共通鍵暗号方式であることは、以下のように語呂合わせで覚えるのがおすすめです。
胸痛です
- 共通→胸痛
- DES→です
※DESの進化版(Advanced)であるAESも共通鍵暗号方式。
公開鍵暗号方式と、共通鍵暗号方式の違い・覚え方
公開鍵暗号方式と、共通鍵暗号方式の違いは以下の通りです。
| 方式 | 処理時間 | 鍵管理(n人が相互に暗号化通信を行う場合) |
|---|---|---|
| 公開鍵暗号方式(RSA) | 複雑で時間が掛かる | 「2n」個 ※10人で20個 |
| 共通鍵暗号方式(AES) | 手順がシンプルで公開鍵よりも時間が掛からない | 「n×(n-1)÷2」個 ※10人で45個 |
RSA、AESがどちらの暗号方式であるかは、以下の通り語呂合わせで覚えるのがお勧めです。
- 後悔あるさ→RSA暗号=公開鍵暗号方式
- 胸痛です(DESの進化版→AES)→AES暗号=共通鍵暗号方式
基本情報・応用情報の過去問
基本情報・応用情報の過去問を解いて、理解度を深めましょう。
基本情報・応用情報技術者試験ドットコムのリンクを載せておきます。
基本情報技術者平成13年春期 午前問70
基本情報技術者平成19年秋期 午前問64
応用情報技術者平成25年秋期 午前問38
基本情報の勉強にお勧めの本
以上で本記事の解説を終わります。
よいITライフを!