io ho trovato questo link -- ma non capisco 1 cosa

http://www.rsasecurity.com/rsalabs/node.asp?id=2248

Suppose Alice and Bob want to agree on a shared secret key using the Diffie-Hellman key agreement protocol. They proceed as follows: First, Alice generates a random private value a and Bob generates a random private value b. Both a and b are drawn from the set of integers . Then they derive their public values using parameters p and g and their private values. Alice's public value is g^a mod p and Bob's public value is g^b mod p. They then exchange their public values. Finally, Alice computes g^ab = (g^b)^a mod p, and Bob computes g^ba = (g^a)^b mod p. Since g^ab = g^ba = k, Alice and Bob now have a shared secret key k

allora --

alice si genera il suo numerello A
bob il numerello B

hanno i due iteri G e P pubblici

generano la chiave pubblica ( public values )
alice : g^a mod p = n1
bob : g^b mod p = n2

si scambiano n1 e n2

domanda fa alice a calcolare g^ab = (g^b)^a mod p ( se B è la privata
di bob ? ) -.- .. come fa (g^b)^a mod p a fare g^ab

qulcuno potrebbe spiegarmi l'ultimo pezzo pubblicato here ?

tnx