Double Ratchet algoritması, iki tarafın paylaşılan bir gizli anahtara dayalı olarak şifrelenmiş mesajlar alışverişi yapması için kullanılır. Tipik olarak taraflar, paylaşılan gizli anahtar üzerinde anlaşmak için bir anahtar anlaşma protokolü (PQXDH [1] gibi) kullanır. Bunun ardından taraflar, şifrelenmiş mesajları göndermek ve almak için Double Ratchet'ı kullanır.
Taraflar, her Double Ratchet mesajı için yeni anahtarlar türetir; böylece önceki anahtarlar sonraki anahtarlardan hesaplanamaz. Taraflar ayrıca mesajlarına eklenmiş Diffie-Hellman açık değerlerini de gönderir. Diffie-Hellman hesaplamalarının sonuçları türetilen anahtarlara karıştırılır; böylece sonraki anahtarlar önceki anahtarlardan hesaplanamaz. Bu özellikler, bir tarafın anahtarlarının ele geçirilmesi durumunda önceki veya sonraki şifrelenmiş mesajlara belirli bir koruma sağlar.
Double Ratchet ve başlık şifrelemeli varyantı aşağıda sunulmakta olup güvenlik özellikleri tartışılmaktadır.