Just zaproponował uwierzytelniony protokół uzgadniania kluczy (JV) oparty na założeniu decyzyjnego DH . Niech G będzie cykliczną podgrupą Zp* z rzędu q i α będzie generatorem G. Członkowie grupy, u1. . . un, zakłada się, że są ułożone w logiczny pierścień. Każdy interfejs użytkownika ma długoterminowy klucz prywatny r (i), taki jak r (i) Є G i publiczny klucz αr(i). Protokół składa się z dwóch etapów. W pierwszym etapie dwóch sąsiednich członków angażuje się w protokół wymiany kluczy i ustanawia wspólny klucz w następujący sposób: Użytkownik A wybiera losowo x (A) Є Zq i wysyła [αx (A), I (A)] do B , gdzie I(A) jest tożsamością A. B wybiera x (B) Є Zq i oblicza klucz, Ki jako [αx(A)] [x(B) + r (B)] ∙ [αr (A) ] x (B) = αx (A) x (B) + x (B) r (A) + x (A) r (B). B wysyła do A, (αx(B), I(B), h[αx(B), αx(A), I (A), I (B)]), gdzie h jest publiczną jednokierunkową funkcją skrótu . A oblicza klucz Ki = [αx(B)] x (A) + r (A) ∙ [αr(B)] x (A) = αx (B) x (A) + x (B) r (A) + r (B) x (A). W drugim etapie każdy członek nadaje Wi = Ki / Ki − 1, gdzie Ki jest kluczem współdzielonym między i-tym a i + 1-tym użytkownikiem. Każdy użytkownik oblicza klucz grupy jako Ki – 1 n Wi n − 1 Wi + 1 n − 2. . .Wi − 2 = K1K2. . . Kn. W tym protokole penetrator może obliczyć klucz wymieniany między parą użytkowników, jeśli zna zarówno długoterminowe, jak i krótkoterminowe klucze co najmniej jednego z n użytkowników. Intruz może obliczyć klucz sesji, jeśli przynajmniej jeden klucz między parą użytkowników jest znany. Jeżeli klucz krótkoterminowy i-tego użytkownika oraz klucze krótkoterminowe i – 1 lub i + 1 użytkownika są znane z prawdopodobieństwem p, wówczas intruz może poznać klucz wymieniany między parą użytkowników z prawdopodobieństwem 1− (1 – 2p2) n. Stąd prawdopodobieństwo poznania klucza sesji wynosi 1− (1 – 2p2) n, a więc DPFS wynosi 1− (1 – 2p2) n. W związku z tym można zauważyć, że sekrety należące do co najmniej dwóch podmiotów głównych muszą zostać ujawnione, aby klucz sesji został złamany. Jeden skompromitowany użytkownik nie może zepsuć programu.