Argon2 - 暗号化全般

暗号化全般 | IT用語集

Argon2とは

Argon2は、2015年のPassword Hashing Competition(PHC)で優勝した、現在推奨されるパスワードハッシュアルゴリズムです。ルクセンブルク大学のAlex Biryukovらによって設計され、メモリハード関数としてGPUやASICによる攻撃に対して強い耐性を持ちます。

Argon2には3つのバリアントがあります:

  • Argon2d:サイドチャネル攻撃に弱いが、GPU攻撃に最も強い
  • Argon2i:サイドチャネル攻撃に強い
  • Argon2id:✅ 推奨。両者のハイブリッド

Argon2idのパラメータ

  • メモリサイズ:使用するメモリ量(KiB)
  • 反復回数:時間コスト
  • 並列度:同時に使用するスレッド数
  • ソルト:16バイト以上のランダム値
  • ハッシュ長:出力長(32バイト推奨)

AIエンジニアとしての実体験

新規のAIサービスでユーザー認証を実装する際、Argon2idを採用しています:

from argon2 import PasswordHasher, Type

# Argon2idハッシャーの初期化
ph = PasswordHasher(
    time_cost=3,        # 反復回数
    memory_cost=65536,  # 64MB
    parallelism=4,      # 4スレッド
    hash_len=32,        # 32バイト出力
    type=Type.ID        # Argon2id
)

# パスワードのハッシュ化
hash = ph.hash("my_secure_password")

# パスワードの検証
try:
    ph.verify(hash, "my_secure_password")
    print("認証成功")
except:
    print("認証失敗")

OWASPの推奨パラメータ

用途メモリ反復並列度
最小構成19MiB21
推奨構成46MiB11
高セキュリティ64MiB34

最新動向(2026年)

RFC 9106の標準化

2021年にArgon2はRFC 9106として標準化されました。多くのプログラミング言語でライブラリが提供されています。

bcryptからの移行

既存のbcryptハッシュは、ユーザーのログイン時にArgon2idで再ハッシュすることで段階的に移行できます。

トラブル事例と対策

⚠️ メモリ不足エラー

症状:コンテナ環境でメモリ不足

対策:コンテナのメモリ制限を確認し、Argon2のメモリパラメータを調整。

権威あるリソース

関連用語

📝 関連ブログ記事

【2026年最新】OpenSSLの深刻な問題とは?

セキュリティ実装のご相談