Download Bài tập vận dụng thương mại điện tử and more Schemes and Mind Maps Economics in PDF only on Docsity! Họ tên: Nguyễn Thị Bích Vân Lớp: EC002 MSSV:31201024080 Ngày sinh: 20/01/2002 Đề: Cho bản tin M=[Họ và tên sinh viên], VD: M="NGUYENVANA", ngày sinh 14/04/2022 Hãy sử dụng giải thuật chữ ký số RSA để ký nên văn bản M trên, biết rằng: 02 số nguyên tố p, q nằm gần [ngày sinh], VD: 14 ---> p=13 ; q=17 Chú ý: Hàm code() trong excel trả về mã số ASCII, VD: =code(N) -> 78 Ta có: N G U Y E N T 78 71 85 89 69 78 84 Bước 1: Sinh khóa: Chọn 2 số nguyên tố (không âm) p và q nằm gần ngày sinh là p= 19 và q= 23 Tính giá trị của n=p*q=19*23=437 Tính giá trị phi (n) = (p-1)*(q-1)=(19-1)*(23-1)= 396 Tìm dA sao ch dA=eA^(-1) mod phi(n) sử dụng giải thuật Euclide mở rộng Ta có dA=19^(-1) mod 396 MOD QUOTIENT i ri qi xi yi Khởi tạo 396 1 0 0 13 0 1 1 6 30 1 -30 2 1 2 -2 61 3 0 6 13 -396 Suy ra Kết quả dA=61 khi phép chia không còn dư nhận giá trị r i=3=0 Vậy khóa công khai dA=61. Bước 2: Ký lên văn bản M Sử dụng khóa bí mật eA=13, Áp dụng công thức Sig(eA)=M[i]^eA mod n Suy ra Sig1(eA)=78^13mod 437 Suy ra Sig (eA)[1]= 288 Suy ra Sig2(eA)=71^13 mod 437 Suy ra Sig (eA)[2]= 211 Suy ra Sig3(eA)=85^13 mod 437 Suy ra Sig (eA)[3]= 348 Suy ra Sig4(eA)=89^13 mod 437 Suy ra Sig (eA)[4]= 129 Suy ra Sig5(eA)=69^13 mod 437 Suy ra Sig (eA)[5]= 69 Suy ra Sig6(eA)=78^13 mod 437 Suy ra Sig (eA)[6]= 288 Suy ra Sig7(eA)=84^13mod 437 Suy ra Sig (eA)[7]= 350 Suy ra Sig8(eA)=72^13 mod 437 Suy ra Sig (eA)[8]= 124 Suy ra Sig9(eA)=73^13 mod 437 Suy ra Sig (eA)[9]= 62 Suy ra Sig10(eA)=66^13 mod 437 Suy ra Sig (eA)[10]= 405 Suy ra Si11(eA)=73^13 mod 437 Suy ra Sig (eA)[11]= 62 Suy ra Sig12(eA)=67^13mod 437 Suy ra Sig (eA)[12]= 203 Tìm eA thỏa mãn điều kiện 1<eA<phi(n) sao cho ước só chung lớn nhất GCD(eA,phi(n)) =1 => chọn eA= 13 thỏa điều kiện GCD (13,396)=1. Ta có: eA=13 chính là khóa bí mật dùng để Ký văn bản. Suy ra Sig13(eA)=72^13 mod 437 Suy ra Sig (eA)[13]= 124 Suy ra Sig14(eA)=86^13 mod 437 Suy ra Sig (eA)[14]= 355 Suy ra Sig15(eA)=65^13 mod 437 Suy ra Sig (eA)[15]= 122 Suy ra Sig16(eA)=78^13 mod 437 Suy ra Sig (eA)[16]= 288 Bước 3: Xác thực chữ ký số trên văn bản M Sử dụng khóa công khai dA=2 để xác thực; áp dụng công thức: Ver(dA)=MeA[i]^dA mod n Suy ra Ver1(dA)=288^61 mod 437 Suy ra Ver(dA)[1]= 78 Suy ra Ver2(dA)=211^61 mod 437 Suy ra Ver(dA)[2]= 71 Suy ra Ver3(dA)=348^61 mod 437 Suy ra Ver(dA)[3]= 85 Suy ra Ver4(dA)=129^61 mod 437 Suy ra Ver(dA)[4]= 89 Suy ra Ver5(dA)=69^61 mod 437 Suy ra Ver(dA)[5]= 69 Suy ra Ver6(dA)=288^61 mod 437 Suy ra Ver(dA)[6]= 78 Suy ra Ver7(dA)=350^61 mod 437 Suy ra Ver(dA)[7]= 84 Suy ra Ver8(dA)=124^61 mod 437 Suy ra Ver(dA)[8]= 72 Suy ra Ver9(dA)=62^61 mod 437 Suy ra Ver(dA)[9]= 73 Suy ra Ver10(dA)=405^61 mod 437 Suy ra Ver(dA)[10]= 66 Suy ra Ver11(dA)=62^61 mod 437 Suy ra Ver(dA)[11]= 73 Suy ra Ver12(dA)=203^61 mod 437 Suy ra Ver(dA)[12]= 67 Suy ra Ver13(dA)=124^61 mod 437 Suy ra Ver(dA)[13]= 72 Suy ra Ver14(dA)=355^61 mod 437 Suy ra Ver(dA)[14]= 86 Suy ra Ver15(dA)=122^61 mod 437 Suy ra Ver(dA)[15]= 65 Suy ra Ver16(dA)=288^61 mod 437 Suy ra Ver(dA)[16]= 78 Vậy xác thực Ver (dA) [78,71,85,89,69,78,84,72,73,66,73,67,72,86,65,78] = M [78,71,85,89,69,78,84,72,73,66,73,67,72,86,65,78], so sánh các phần tử của Ver(dA) vfa M thấy trùng khớp. Suy ra văn bản đã được ký số.