暗号技術DEV

テキストエンコーディング、暗号学的ハッシュ、対称・非対称暗号化。

暗号技術ツールキットについて

概要

このツールキットは20以上の業界標準暗号化アルゴリズムを統合し、テキストエンコーディング、暗号学的ハッシュ、対称暗号化、非対称暗号化の4つの主要カテゴリーをカバーしています。

100%クライアントサイド処理—
ネットワーク送信ゼロ:

すべての暗号化操作はお使いのデバイス上でローカルに実行されます。すべての機密データ(平文、暗号文、鍵など)はデバイスから外に出ることはなく、完全なプライバシーとセキュリティを保証します。

特定のアルゴリズムを選択すると、アルゴリズムの歴史、セキュリティ分析、推奨パラメータ、専門的なガイダンスを含む詳細な技術ドキュメントが表示されます。

Argon2

Argon2は、2015年Password Hashing Competitionの勝者で、Alex Biryukov、Daniel Dinu、Dmitry Khovratovichによって設計されました。現在最も安全なパスワードハッシュアルゴリズムで、パスワード保存と鍵導出のために特別に設計されています。

アルゴリズムの特徴:Argon2には3つのバリアントがあります:
Argon2d:GPU解読に耐性がありますが、サイドチャネル攻撃に脆弱な可能性があります
Argon2i:サイドチャネル攻撃に耐性があり、パスワードハッシュに適しています
Argon2id(推奨):両方の利点を組み合わせ、最良の選択

Argon2はメモリハード設計を使用し、計算に大量のメモリを必要とするため、GPU、ASIC、FPGAなどの特殊ハードウェアでの解読コストを大幅に増加させます。時間コスト、メモリコスト、並列性の調整もサポートします。

出力形式の説明:Argon2はPHC String Format(Password Hashing Competition String Format)を使用します。これはパスワードハッシュアルゴリズムの標準形式で、通常のハッシュアルゴリズム(MD5、SHA-256など)がハッシュ値のみを出力するのとは異なります。

出力形式:$argon2id$v=19$m=19456,t=2,p=1$salt$hash
$argon2id - アルゴリズムバリアント(argon2d/argon2i/argon2id)
v=19 - バージョン番号(0x13 = 19)
m=19456,t=2,p=1 - パラメータ(メモリコスト/時間コスト/並列性)
salt - Base64エンコードされたランダムソルト
hash - Base64エンコードされたパスワードハッシュ

この自己完結型形式の利点:各ハッシュ生成が異なる(ランダムソルト)、検証に必要なすべての情報を含む、セキュリティを強化するためにパラメータを調整可能、レインボーテーブル攻撃を防止。

強く推奨される理由:Argon2は暗号コミュニティが認めるパスワード保存のベストプラクティスです。bcrypt、scrypt、PBKDF2をセキュリティで大きく上回り、現代の攻撃(GPUクラスタ、クラウドコンピューティング総当たり)に抵抗するために特別に設計された唯一のアルゴリズムです。

セキュリティの利点:
GPU耐性:メモリ集約的設計により、GPUの利点が大幅に減少
ASIC耐性:カスタムハードウェアの費用対効果が従来のアルゴリズムよりはるかに低い
サイドチャネル耐性:Argon2i/idバリアントが保護を提供
調整可能性:ハードウェアアップグレードに基づいてセキュリティパラメータを調整可能

アプリケーションシナリオ:
ユーザーパスワード保存:Webおよびモバイルアプリケーションのパスワードハッシュ
鍵導出:パスワードから暗号化鍵を導出
高セキュリティシナリオ:金融、医療、政府システム

パラメータ推奨事項:OWASP推奨構成(2023):
• メモリ:19 MiB(19456 KiB)
• 反復:2
• 並列性:1

パスワード検証:「デコード」モードでは、入力形式plain_text|phc_result(パスワードとハッシュ結果を縦棒で区切る)でパスワードを検証できます。

すべての新しいプロジェクトのパスワード保存に強く推奨、既存システムはbcrypt/PBKDF2からArgon2にできるだけ早く移行すべきです