summaryrefslogtreecommitdiff
path: root/3446/CH13/EX13.2/Ex13_2.sce
blob: 8c7b2c07af34069b723745bca5cbaa16414b340e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Exa 13.2
// To determine secret encrypting key K using DH key exchange algorithm.

clc;
clear all;

p=23; //prime number that both parties agreed upon
g=5;// g is primitive mod p
a=6;  //party A choosen number
b=15;  //party B choosen number

//solution
printf('Party A sends to party B as (g^a mod p) = %d \n',modulo(g^a,23));
printf(' Party B sends to party A as (g^b mod p) = %d \n',modulo(g^b,23));
printf(' Party A computes secret key as ((g^b modp)^a mod p) = %d \n',modulo(modulo(g^b,23)^a,p));
printf(' Party B computes secret key as ((g^a modp)^b mod p) = %d \n',modulo(modulo(g^a,23)^b,p));
disp("Thus both parties uses k=2 as secret key for encryption");