Double Ratchetアルゴリズム
Double Ratchetアルゴリズム(英語: Double Ratchet Algorithm)は、Trevor Perrinとモクシー・マーリンスパイク(英語版)が2013年に考案した鍵管理アルゴリズムである。初回の鍵共有(英語版)後の短期セッション鍵の更新と管理の手順を規定する。インスタントメッセージングでエンドツーエンド暗号化を実現する暗号プロトコル(英語版)の一部として使用できる。ディフィー・ヘルマン鍵共有および、ハッシュ関数などの鍵導出関数をもとにした「ラチェット」(英語: ratchet)と呼ばれる機構から構成されるため、二重ラチェット(Double Ratchet)という名称が付いている。以前はAxolotl Ratchetと呼ばれていた。
Double Ratchetアルゴリズムは、一定の条件下で通信当事者の鍵が危殆化した場合に未来の通信が攻撃者に解読されるのを防ぐため、自己修復的(self-healing)である。セッション鍵は数回の通信のたびに更新され、一度傍受されていない鍵共有が起きると攻撃者はそれ以降の通信へのアクセスを失うことになるため、攻撃者はすべての通信を傍受する必要がある。この暗号プロトコルの機能はのちに後方秘匿性(英語: future secrecy)またはpost-compromise securityと呼ばれるようになった。