HostA要和HostB通信
1、HostA生成一个数p,HostB生成一个数g;
2、HostA将p传给HostB,HostB把g传给HostA,这个过程是可以被别人监听和获取的;
3、HostA生成一个数x,HostB生成一个数y,并且只有自己知道,并不告诉通信双方;
4、HostA进行计算:g^x%p,HostB进行计算:g^y%p;
5、HostA进行计算:(g^y%p)^x=g^yx%p,HostB进行计算:(g^x%p)^y=g^xy%p;
结果可知双方的计算结果是相同的,这个结果可以当作密钥。