diff options
Diffstat (limited to '3446/CH13')
-rw-r--r-- | 3446/CH13/EX13.1/Ex13_1.sce | 24 | ||||
-rw-r--r-- | 3446/CH13/EX13.2/Ex13_2.sce | 17 |
2 files changed, 41 insertions, 0 deletions
diff --git a/3446/CH13/EX13.1/Ex13_1.sce b/3446/CH13/EX13.1/Ex13_1.sce new file mode 100644 index 000000000..10295c679 --- /dev/null +++ b/3446/CH13/EX13.1/Ex13_1.sce @@ -0,0 +1,24 @@ +// Exa 13.1
+// To generate public and private keys for RSA algorithm.
+
+clc;
+clear all;
+
+//Two prime numbers
+p=5;
+q=7;
+
+//solution
+n=p*q;
+z=(p-1)*(q-1);
+e=input("Choose _e_such that 1<e<z and e and n are coprime= ");
+d=input("Choose _d_ such that e*d-1 should be exactly divisible by z= ");
+printf('Public keys is (%d, %d)\n',n,e);
+printf('Private key is (%d, %d)\n',n,d);
+
+//Results
+//Choose _e_such that 1<e<z and e and n are coprime= 5
+//Choose _d_ such that e*d-1 should be exactly divisible by z= 29
+//Public keys is (35, 5)
+//Private key is (35, 29)
+
diff --git a/3446/CH13/EX13.2/Ex13_2.sce b/3446/CH13/EX13.2/Ex13_2.sce new file mode 100644 index 000000000..8c7b2c07a --- /dev/null +++ b/3446/CH13/EX13.2/Ex13_2.sce @@ -0,0 +1,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");
|