summaryrefslogtreecommitdiff
path: root/3544/CH2/EX2.54/Ex2_54.sce
blob: fc780337154cb972ff1c76845d72d436413cbe25 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Diffie-Hellman key exchange

n = 11                  // Two prime numbers
g = 7					//need not be kept secret 
printf("n: %d\ng: %d\n",n,g)

x = 3                   // Alice's secret random number
A = modulo((g^x),n)     // Alice's message to Bob
                        //A  =  2
 
y = 6                   // Bob's secret random number
B = modulo((g^y),n)     // Bob's message to Alice
                        //B  =  4  

printf("x: %d\ny: %d\nA: %d\nB: %d\n",x,y,A,B)
 
K1 = modulo((B^x),n)    // Alice's key
						//K1  =  9  
 
K2 = modulo((A^y),n)    // Bob's key
                        //K2  =  9  
printf('Alice''s Key %d\n',K1)
printf('Bob''s Key %d',K2)
 // K1 = K2, thus both Alice and Bob have the same key