
Cryptonは、攻撃的および防御的な暗号技術を学び、実践するための教育用ライブラリです。基本的に、対称暗号と非対称暗号、デジタル署名、メッセージ認証コード、認証付き暗号システムにおける既存の脆弱性と攻撃の説明と実装のコレクションです。各攻撃には、"Capture The Flag"コンテストからのサンプル問題とその解説も付属しています。この分野に既に精通している(またはCTFに参加している)個人は、Cryptonを特定の既存の脆弱性に基づく問題を解決するためのツールとして使用できます。
ライブラリは、攻撃の説明とCTFの課題で継続的に更新されます! 提案があれば、メールでご連絡ください。
このライブラリの開発のタイムラインに関するブログ記事を書きました:https://masterpessimistaa.wordpress.com/2018/08/12/announcing-crypton-an-educational-library-to-learn-offensive-and-defensive-cryptography/
警告: 著者は、コードが安全であることを一切保証しません。このライブラリは教育目的専用であり、コードを実際の世界で実装するために使用すべきではありません。ライブラリ内のすべてのサンプルスクリプトは簡単な実装です。
このREADMEには異なるセクションがあります:
CTFプレイヤーや暗号技術の分野に興味を持つ個人が、暗号攻撃を学ぶためのプラットフォームを提供し、経験豊富なCTFプレイヤーが暗号のさまざまなサブドメインに関連する攻撃に体系的に分けられた課題を練習できるようにすること。また、プロトコルの適切な実装がどれほど重要であるかを、さまざまな攻撃の説明を通じて示すこと。

| S.No. | トピック | 説明 | 実装/エクスプロイト | チャレンジ# |
|---|---|---|---|---|
| 1 | ブロック暗号の基礎- ブロック暗号の動作、パディングなど |
|
|
|
| 2 | 暗号化モード- ブロック暗号の異なる動作モード:ECB、CBC、CTR |
|
|
|
| 3 | ブロックサイズ検出- リモートサービスでデータを暗号化するブロック暗号のブロックサイズを検出する |
|
|
|
| 4 | モード検出- 暗号化モードの種類(ブロックの独立または依存暗号化)を検出する |
|
|
|
| 5 | ECB 1バイトずつ攻撃- ECBモードでinput+secretを暗号化するリモートサービスで動作するsecret文字列の1バイトずつの復号 |
|
|
|
| 6 | CBC IV検出- CBCモードのブロック暗号で入力を暗号化するリモートサービス上の初期化ベクトルの値を検出する |
|
|
|
| 7 | CBCビットフリッピング攻撃- CBCモードのブロック暗号で生成されたクッキーを利用して管理者としてログインする |
|
|
|
| 8 | CBC 1バイトずつ攻撃- ECBモードでinput+secretを暗号化するリモートサービスで動作するsecret文字列の1バイトずつの復号 |
|
|
|
| 9 | CBCパディングオラクル攻撃- 暗号化/復号を提供する脆弱なサービスによって暗号化されたデータの復号 |
|
|
|
| 10 | CTRビットフリッピング- CBCモードのブロック暗号で生成されたクッキーを利用して管理者としてログインする |
|
|
|