Protokół A-GDH.2 jest protokołem GKA, który zapewnia doskonałe przekazywanie tajemnicy, pod warunkiem, że klucze krótkoterminowe zostaną wyraźnie usunięte. Jednak przy założeniu silnej korupcji, penetrator ma dostęp do krótkoterminowych tajemnic. Niech M = {M1. . . Mn} będzie zbiorem n użytkowników, którzy chcą współdzielić klucz Sn. Grupa użytkowników zgadza się na cykliczną grupę G i generator α. Każdy użytkownik Mi, i = 1. . . (n – 1) współdzieli klucz, Kin z użytkownikiem Mn. Niech p będzie liczbą pierwszą, a q będzie dzielnikiem liczby p – 1. Niech G będzie unikalną cykliczną podgrupą Zp* rzędu q i niech α będzie generatorem G, gdzie G i α są publiczne. Zakłada się, że każdy członek grupy Mi wybiera nową tajną wartość losową r(i) Є Zq* podczas każdej sesji protokołu.
Runda i (1 ≤ i <n):
- Mi wybiera r(i) Є Zq*
- Mi → Mi + 1: {α[r(1). . . r(i)]/r (j) | j ∈ [1, i]}, αr(1). . . r(i)
Runda n
- Mn → All Mi: {α [r(1). . . r(n)]/r(i)Kin | i ∈ n [1, n)}
- Po otrzymaniu powyższego każde Mi oblicza Sn = α[r(1). . . r (n)/r (i)]KinKin − 1r(i) = α [r (1). . . r (n)]
Penetrator może obliczyć klucz sesji, jeśli klucz krótkoterminowy Mn jest zagrożony. Niech prawdopodobieństwo kompromisu krótkoterminowego klucza Mn będzie pn. Wtedy prawdopodobieństwo utraty klucza sesyjnego byłoby pn. Inną możliwością jest ujawnienie krótkoterminowego klucza jednego użytkownika i odpowiadającego mu klucza długoterminowego innego użytkownika. W takim przypadku prawdopodobieństwo kompromitacji klucza sesji wynosi 1− (1 – p2)n−1. DPFS to min [pn, 1− (1 – p2)n − 1].