暗号技術を学ぶ
暗号技術を学ぶ — スマートフォンで学ぶ暗号、ハッシュ、TLS
暗号技術を学ぶは、暗号を学べる無料のiOSおよびAndroidアプリです。シーザー暗号からAES、RSA、TLSまで、A1からC2までのレベルに分かれた67のコースで学習できます。すべてのレッスンでは、数学的な説明とスマートフォン上のコードエディターを組み合わせているため、仕組みを読むだけでなく、自分で暗号化、ハッシュ化、署名まで実行できます。初回で理解しきれない部分は、AI Mentorがサポートします。
- 価格
- 無料、Proは任意
- 対応プラットフォーム
- iOSおよびAndroid
- 言語
- 22
- 年齢レーティング
- 4+
- 必要環境
- iOS 15.1以降
- App Store
- 5.0 ★ (1)


自分で入力した暗号なら、本当に理解できます。
AESが鍵を使ってデータをかき混ぜると読むだけなのと、XORを実行して、間違った鍵を入力し、出力がノイズに変わる様子を見るのとでは大きな違いがあります。後者の体験こそが、概念を定着させます。このカリキュラムは、前者を省くのではなく、その直後に後者へ進む構成になっています。
概要
暗号技術を学ぶは、67のコースで暗号を学べる無料のiOSおよびAndroidアプリです。A1ではシーザー暗号や2進数・16進数の基礎から始まり、B1–B2ではAES、RSA、TLS、デジタル署名へ、C1–C2では耐量子暗号、ゼロ知識証明、準同型暗号まで扱います。各レッスンは5~10分で完了し、スマートフォン上で暗号やハッシュ関数を書いて実行できるコードエディターを備えています。質問にはAI Mentorがその場で回答します。
アプリの内容
画面イメージ




コース
暗号学コースで学べること
アプリ独自のカリキュラムから構成された67コースです。カエサル暗号からポスト量子暗号、ゼロ知識証明まで扱います。
古典暗号と数の基礎
暗号学入門、分野の歴史と現代における重要性、カエサル暗号、置換暗号と転置暗号、そして後続のすべてのコースで前提となる2進数、16進数、エンコーディングの基礎を学びます。
日常のセキュリティと攻撃の基礎
一般ユーザー向けの HTTPS、XOR 暗号、メールとメッセージングのセキュリティ、ステガノグラフィ、ネットワークトラフィックの暗号化、そして脆弱な暗号に対する総当たり攻撃と辞書攻撃を扱います。
主要アルゴリズム:対称鍵暗号と非対称鍵暗号
PKI と証明書、DES と Triple DES、ハッシュ関数(MD5、SHA-1、SHA-256)、AES、RSA、デジタル署名、bcrypt・Argon2・PBKDF2 によるパスワードハッシュ、ブロック暗号とストリーム暗号を学びます。
実践的なセキュリティエンジニアリング
パスワード認証プロトコル、OpenSSL と証明書管理、安全なファイル暗号化、暗号ライブラリと API、実際の公開鍵暗号、JWT の構造と署名を扱います。
インターネットを支えるプロトコル
Diffie-Hellman と ECDH の鍵交換、Kerberos、RSA のパディング方式の詳細、楕円曲線暗号、OAuth 2.0 と OpenID Connect、HMAC、SSH、TLS/HTTPS、VPN の暗号技術、そしてブロックチェーンにおけるハッシュとコンセンサスの利用を学びます。
応用分野と研究トピック
ポスト量子暗号と NIST FIPS 203/204/205 標準、暗号解析とサイドチャネル攻撃、ゼロ知識証明、格子ベース暗号と同種写像ベース暗号、準同型暗号、安全なマルチパーティ計算を扱います。
使い方
暗号のレッスンの進み方
手計算できる古典暗号から、実際にインターネットで使われるアルゴリズムまで、短いレッスンを1つずつ進めていきます。
暗号やプロトコルを1つずつ読む
レッスンは1つのテーマから始まります。シーザー暗号、SHA-256とAESの違い、TLSのハンドシェイクに2種類の鍵が必要な理由などを、講義ではなくバスの移動中に学べる分量で、平易な言葉で説明します。
端末上のエディターで実装する
内蔵コードエディターはスマートフォン上で直接動作します。XOR暗号を書き、SHA-256で文字列をハッシュ化し、RSAの鍵ペアを生成してから実行し、暗号文、指紋、署名が出力される様子を確認できます。
壊してから、身についたか確認する
各テーマの最後にはクイズとコーディングチャレンジがあります。序盤のいくつかの課題では、弱い暗号を自分で総当たり攻撃します。25通りのずらし方しかないシーザー暗号が安全ではない理由を、実際に学べる仕組みです。証明やエラーの意味が分からないときは、AI Mentorが数秒で説明します。
内容
アプリで実際に扱う内容
67
A1からC2までのコース
古典暗号や数体系から、AES、RSA、ハッシュ化、TLS、さらに耐量子暗号、ゼロ知識証明、セキュアマルチパーティ計算までを扱います。1つの平坦なリストではなく、6つのレベルで構成されています。
</>
自分で実行する暗号・ハッシュコード
スマートフォン上で使える本格的なコードエディターです。XOR、AES、RSAの鍵生成、HMAC、JWT署名を実装してその場で実行できるため、スライドの疑似コードを読むだけで終わりません。
AI
AI Mentor
パディング方式が重要な理由や、本来は起きないはずのハッシュの衝突が自分の実装で起きた理由を質問すると、レッスンのチャット画面から数秒で回答を得られます。
PQC
耐量子暗号と研究レベルのトピック
C1–C2のコースでは、基礎を超えて、NISTの耐量子暗号標準、格子暗号、準同型暗号、形式的プロトコル検証まで学びます。多くの初心者向けコースでは扱わない内容です。
1/wk
週間コードチャレンジ
毎週、暗号に関するチャレンジに取り組みます。自分の連続記録だけでなく、世界中の学習者と比較して成果を測定できます。
Cert
修了証明書
最終試験に合格すると修了証明書を取得でき、履歴書やLinkedInプロフィールに追加できます。
背景
暗号とは何か、初心者はどこから始めればよいのでしょうか?
暗号とは、情報を守るための数学です。意図した相手だけが利用できるように情報を変換し、改ざんがあれば分かるように指紋を付け、会ったことのない2人が秘密を共有したり、互いの身元を確認したりできるようにします。すべてのHTTPSページ、すべてのパスワードデータベース、署名付きのアプリ更新は、こうした基本要素の小さな集合の上に成り立っています。初心者が最初からRSAを安全にする数学を学ぶ必要はありません。まずは、各文字を一定量ずつずらすシーザー暗号から始めます。このように単純な暗号の弱点(25通りのずらし方をすべて試せば誰でも突破できること)こそが、実際のアルゴリズムに必要な性質を理解するための思考につながるからです。
暗号化双方向、鍵が必要
鍵を使って読み取り可能なデータを暗号文に変換し、一致する鍵を持つ人だけが元に戻せるようにします。AESとRSAでは鍵の仕組みが異なりますが、どちらも正しい相手なら逆変換でき、それ以外の人にはノイズのように見えるよう設計されています。
ハッシュ化一方向、鍵は不要
SHA-256のように、サイズを問わずあらゆるデータを固定長の指紋へ変換する関数です。鍵は不要で、元のデータに戻す方法もありません。そのため、パスワードの保存や整合性の確認など、入力内容を復元するのではなく一致だけを確認したい場面で使われます。
対称鍵暗号と公開鍵暗号AESとRSA
AESは双方向で同じ共有秘密鍵を使い、高速に処理できます。そのため、実際の通信の大部分を担っています。RSAでは、各人が他の人から暗号化してもらうための公開鍵と、自分だけが持つ秘密鍵を持つため、そもそも秘密を共有するという問題を解決できます。実際のTLSでは、RSAまたはECDHで鍵を合意し、その後AESでデータを転送します。
TLSとデジタル署名ブラウザの南京錠アイコンが意味すること
TLSはHTTPSの背後で動作するプロトコルです。ハンドシェイクで鍵を交換し、その後のセッションでは対称鍵暗号を使います。デジタル署名では、同じ非対称暗号の数学を逆向きに利用します。秘密鍵で署名し、公開鍵を持つ誰もが、メッセージが本物で改ざんされていないことを確認できます。
適しています
向いている方・向いていない方
次のような方におすすめです
- 暗号学をゼロから始め、RSA の背後にある数学を学ぶ前にカエサル暗号から始めたい方
- 仕組みを図で読むだけでなく、AES、ハッシュ、デジタル署名を自分で実装したい方
- セキュリティまたは CS を学ぶ学生で、学業と並行して A1-to-C2 の体系的な学習ルートを進みたい方
- セキュリティまたはバックエンド職へのキャリアチェンジを目指し、具体的に示せる成果が欲しい方
- いずれは基礎を越えて、ポスト量子暗号やゼロ知識証明まで学びたい方
次のような方には適していません
- 実際の暗号を破ったり稼働中のシステムを監査したりするツールを求めている方 — このアプリは数学と正しい利用方法を教えるものであり、攻撃用ツールではありません
- 完全オフラインのアプリが必要な方:レッスンは不安定な接続でも使えるよう設計されていますが、AI Mentor には接続が必要です
- すべて無料だと思っている方:最初のコースは無料ですが、残りの66コースは Pro で利用できます
- 認定資格が必要な方 — 証明書は修了を証明するものであり、学位ではありません
ご質問
よくある質問
スマートフォンで暗号学を学ぶのに最適なアプリは何ですか?
考えるべきなのは、アルゴリズムを実装するところまで進めるのか、それとも読むだけなのかという点です。暗号技術を学ぶ では、カエサル暗号から AES、RSA、TLS、そしてポスト量子暗号まで、67コースを学べます。スマートフォン上のコードエディタで暗号やハッシュ関数を自分で書けるほか、理解しにくい証明をサポートする AI Mentor も利用できます。iOS と Android で、22言語に対応し、無料で始められます。
数学の学位がなくても暗号学を学べますか?
はい。ほとんどの開発者や学生が実務で必要とするレベルであれば学べます。AES と RSA の仕組み、鍵を秘密にしておく必要性、ハッシュと暗号化の違いを理解するために、高度な数学は必要ありません。RSA の内部構造を扱うコースでは、途中で剰余算術や素数が登場します。暗号技術を学ぶ では、役立つ内容に入る前の前提章としてではなく、そのコースの文脈の中で導入します。
暗号化とハッシュの違いは何ですか?
暗号化は可逆的です。AES や RSA は鍵を使ってデータを変換し、対応する鍵で元のメッセージに戻せます。ハッシュは一方向です。SHA-256 は鍵を使わずに固定長の指紋を生成し、入力に戻る方法はありません。後で誰かに読んでもらう必要があるメッセージは暗号化し、2つの値が一致するかだけを確認すればよいパスワードやファイルはハッシュ化します。
対称鍵暗号と公開鍵暗号の違いは何ですか?
AES は対称鍵暗号です。1つの共有秘密鍵でデータを暗号化・復号化します。双方がすでに鍵を持っていれば、実際のネットワーク通信を処理できるほど高速です。RSA は公開鍵暗号です。誰もが、他の人が暗号化に使う公開鍵を取得でき、本人だけが保持する秘密鍵もあります。これにより、最初に秘密鍵をどう共有するかという問題を解決します。実際の TLS では両方を組み合わせ、公開鍵暗号の数学でセッション鍵を合意し、その後の実データを AES で運びます。
TLS は実際にはどのように HTTPS 接続を安全にしているのですか?
TLS ハンドシェイクでは、非対称暗号(RSA、または現在ではより一般的な ECDH)を使って、秘密を平文のまま通信回線上に送信せずに共有秘密を合意します。その後、高速な対称鍵暗号、通常は AES に切り替えて、セッションの実データを運びます。同じハンドシェイク内のデジタル署名と証明書によって、なりすましではなく本物のサーバーと通信していることも確認します。暗号技術を学ぶ では、南京錠アイコンをブラックボックスとして扱うのではなく、TLS、PKI、証明書に特化したコースを通じて、ここまで段階的に学びます。
このアプリでは暗号の破り方を学べますか?
暗号、ハッシュ、署名、プロトコルの仕組みを学べます。暗号解析とサイドチャネル攻撃のコースに加え、意図的に弱くしたカエサル暗号を総当たりで破る初期の演習も含まれています。これは、現代のアルゴリズムに必要な性質を理解するために、どの暗号学の授業にもある標準的な内容です。実際のシステムを攻撃したり、他人のデータを復元したりするためのツールではありません。その違いはカリキュラム全体で明確に示されています。
ポスト量子暗号も扱っていますか、それとも古典的なアルゴリズムだけですか?
両方です。最初のいくつかのレベルでは、カエサル暗号から AES、RSA、ハッシュ、TLS まで、ほとんどの学習者が日常的に必要とする古典的および現行標準の内容を扱います。その後、C1–C2 のコースではさらに進み、NIST のポスト量子標準(FIPS 203、204、205)、格子ベース暗号と同種写像ベース暗号、ゼロ知識証明、準同型暗号を学べます。暗号学のこれからを知りたい方に向けた内容です。
暗号技術を学ぶ は無料ですか?
アプリは App Store と Google Play から無料でダウンロードできます。古典暗号と2進数・エンコーディングの基礎を扱う最初のコースは、AI Mentor の質問の1日あたりの利用枠とともに無料です。何かを決める前に、実際のレッスンを進められます。Pro では残りの66コースが解放され、AI Mentor が無制限になります。
地下鉄や飛行機の中など、オフラインでも使えますか?
まったく接続できない環境ではなく、不安定な接続を想定して設計されています。レッスンとコードエディタはすばやく読み込まれ、通勤中に通常発生する圏外エリアでも動作し続けます。AI Mentor はリアルタイムで回答するため、確実に接続が必要な唯一の部分です。完全オフラインのアプリが必要な場合は、飛行中に頼る前にその点を考慮してください。
対応しているプラットフォームと言語は何ですか?
暗号技術を学ぶ は、App Store 経由の iOS と Google Play 経由の Android で利用でき、22言語に対応しています。対象年齢は4歳以上です。CoddyKit のコーディングアプリの1つであり、分野が異なっても同じレッスン形式、コードエディタ、AI Mentor を共有しています。
CoddyKitのその他のアプリ
iOS および Androidで利用できます。