初心者向け暗号技術は、Linux ターミナルで一般的な暗号要素を扱う 10 ラボの入門コースです。OpenSSL と短い Python 標準ライブラリの例を使って、鍵の生成、ファイルの暗号化と復号、ハッシュと HMAC の計算、データ署名、共有秘密の導出、証明書の確認を行います。
ラボでは数学的な証明より、観察できる作業手順を重視します。成果物を作り、その内容を調べ、期待する性質を確認し、データや信頼関係を変更した場合の結果を試します。後半では、小規模な認証局と RSA・AES のハイブリッド暗号化演習を通して個々の要素を結び付けます。
学習内容
このコースを修了すると、次のことができるようになります。
- Ubuntu 環境に OpenSSL、Python、pip、Python
cryptographyパッケージをインストールして確認する - ランダムな鍵素材を生成し、OpenSSL の AES-256-CBC でファイルを暗号化、復号、比較する
- SHA-256 ダイジェストと HMAC-SHA256 を計算し、目的の違いを説明し、Python で基本的なハッシュと HMAC の例を実装する
- RSA 鍵ペアを生成し、公開鍵で暗号化、秘密鍵で復号し、RSA 署名を作成・検証する
- 2 者の Diffie–Hellman パラメータと鍵ペアを生成し、双方が同じ共有秘密を導出することを確認する
- 自己署名 X.509 証明書と CSR を作成し、小規模なラボ CA を運用し、信頼チェーンを検証し、CRL で失効を再現する
- RSA による鍵の転送と AES によるデータ暗号化を組み合わせ、ハイブリッド暗号化の一連の処理と復号を完了する
このコースの対象者
このコースは、サイバーセキュリティ初心者、開発者、システム管理者、IT 学習者が、プロトコルや安全なアプリケーション設計を深く学ぶ前に、暗号関連のファイルとコマンドを具体的に練習するためのものです。
前提知識: 高度な数学は必要ありません。Linux ターミナルとファイル操作の基礎、および hashlib と hmac を使う 2 つの短い Python 例を読める程度の知識を推奨します。
学習環境: 10 のガイド付きラボはすべて Ubuntu 22.04 のターミナルワークスペースで実行します。ツールを導入・確認し、ラボのプロジェクト内で鍵と証明書を作成し、テストメッセージと模擬 CA を使用します。外部システムは対象にしません。
よくある質問
高度な数学知識は必要ですか?
いいえ。ラボでは、共通鍵暗号、公開鍵操作、ハッシュ、認証コード、署名、鍵交換、証明書の目的を実践レベルで説明します。基礎となる数論の導出や、形式的な暗号学カリキュラムは含まれません。
プログラミングはどの程度ありますか?
ほとんどの作業は OpenSSL コマンドで行います。Python は標準の hashlib と hmac を使う短い SHA-256 と HMAC の例に登場します。セットアップで cryptography パッケージをインストールしてインポート確認しますが、それを使った Python 暗号アプリケーションは作りません。
暗号解析や暗号の破り方を学べますか?
いいえ。完全性エラー、署名改ざん、信頼チェーン、証明書失効は試しますが、暗号の解読、鍵への攻撃、パスワード回復、実装のサイドチャネル分析は行いません。
例をそのまま本番システムに使用できますか?
いいえ。ローカル鍵ファイル、自己署名証明書、模擬 CA、簡略化したコマンド手順による短い実演です。特に、パスワードを直接 SHA-256 で処理する例は本番の保存方式ではありません。実システムでは Argon2、scrypt、bcrypt、適切に設定した PBKDF2 などのパスワード専用アルゴリズムに加え、監査済みライブラリ、鍵管理、認証付き暗号、最新の安全指針を使用してください。





