Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

NAME: HAMNA AMIR ROLL NO: 2020F-BCE-090 SEC:B

LAB NO: 10
Digital Signature Algorithm (DSA)

OBJECTIVE
The purpose of this lab is to implement the DSS (DSA) algorithm in MATLAB for
providing a digital signature to a message.

Lab Task:
Task:

p=47
q=23
h=2
k=2;
g = 2
disp('private_key')
x = 10
y = mod(power(g,x),p)
publickey_y = mod(g^x,p)
publickey = [p q g y]
privatekey = [p q g x]
disp('generate digital signature')
r = mod(mod(power(g,k),p),q)
[a,i] = gcd(k,q)
i = mod(i,q)
s = mod((i*(h+r*x)),q)
signature = [r,s]
disp('verify digital signature')
[e,w] = gcd(s,q);
w = mod(w,q)
u1 = mod(h*w,q)
u2 = mod(r*w,q)
g_u1 = fastAlgorithm(g, u1, p);
y_u2 = fastAlgorithm(y, u2, p);
v = mod(mod((g_u1 * y_u2), p), q)

Output:
For values (p = 47, q = 23, g = 2, x = 10, k = 2, h = 2):
NAME: HAMNA AMIR ROLL NO: 2020F-BCE-090 SEC:B

For values (p = 47, q = 23, g = 2, x = 12, k = 2, h = 2):


NAME: HAMNA AMIR ROLL NO: 2020F-BCE-090 SEC:B

For values (p = 47, q = 23, g = 2, x = 10, k = 2, h = 16):


NAME: HAMNA AMIR ROLL NO: 2020F-BCE-090 SEC:B

For values (p = 47, q = 23, g = 18, x = 10, k = 2, h = 2):


NAME: HAMNA AMIR ROLL NO: 2020F-BCE-090 SEC:B

You might also like