1. Trang chủ
  2. » Giáo án - Bài giảng

Bạch quốc huy 16sct11 bài tập thám mã

12 279 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 12
Dung lượng 109,18 KB

Nội dung

Bài tập mật mã thám mã cao học thầy Trần Đức Khánh;Bài tập mật mã thám mã cao học thầy Trần Đức Khánh;Bài tập mật mã thám mã cao học thầy Trần Đức Khánh;Bài tập mật mã thám mã cao học thầy Trần Đức Khánh;Bài tập mật mã thám mã cao học thầy Trần Đức Khánh;Bài tập mật mã thám mã cao học thầy Trần Đức Khánh;Bài tập mật mã thám mã cao học thầy Trần Đức Khánh

Bài tập mật thám Bài Vòng lặp DES • Khóa dạng thập lục phân • • Tin dạng thập lục phân • • 133457799BBCDFF1 0123456789ABCDEF Tính • L0,R0 • C0,D0 • C1,D1 • K1 • L1,R1 Giải Chuyển Tin dạng thập lục phân sang dạng nhị phân Dạng thập lục phân : 0123456789ABCDEF • Dạng nhị phân: 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Biểu diễn dạng ma trận Ma trận IP 0 0 1 1 0 1 0 1 1 1 0 0 0 0 0 0 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 0 0 0 1 0 1 0 0 Phần a: L0=1100 1100 0000 0000 1100 1001 1111 1111 (32 bit bên trái ma trận IP) R0=1111 0000 1010 1010 1111 0000 1010 1010 (32 bit bên phải ma trận IP) Phần b : Tính C0 D0 ; • Khóa gốc K=133457799BBCDFF1 Đổi sang dạng nhị phân: 0001 0011 0011 0100 0101 0111 0111 1001 1001 1011 1011 1100 1101 1111 1111 0001 Hoán vị K theo KS1 C0.D0 Ma trận ks1 ma trận tạo thành từ khóa K cách bỏ bit 1 0 0 1 1 1 0 1 0 0 0 1 1 0 1 0 1 1 1 1 1 1 C0=1111000 0110011 0010101 0101111 (28 bit bên trái ks1) D0=0101010 1011001 1001111 0001111 ( 28 bit bên phải ks1) Phần c Tính C1, D1 C1=LS1(C0)=1110000 1100110 0101010 1011111 ( dịch chuyển sang trái bit với i=1,2,9,16) D1=LS1(D0)=1010101 0110011 0011110 0011110 (dịch sang trái bit với i=1,2,9,16) Phần D Tính K1 Hoán vị C1,D1 theo KS2 ta K1 Vậy từ phần C ta tính K1 sau K1(48 bit)=000110 110000 001011 101111 111111 000111 000001 110010 Phần E Tính L1 R1 Từ phần a ta có L1=R0= Li=Ri-1 L1= R0=1111 0000 1010 1010 1111 0000 1010 1010 Ta tính Trước hết tính hàm f(R0,K1) Mở rộng R0 32 bit thành xâu 48 bít theo hàm mở rộng E E(R0)=011110 100001 010101 010101 010101 011110 100001 010101 010101 (48 bit) Khóa K1=000110 110000 001011 101111 111111 000111 000001 110010 (48 bit) E(R0) xor K1= B1 B2 B3 B4 B5 B6 B7 B8 011000 010001 011110 111010 100001 100110 010100 100111 Chuyển khối 48 bit thành 32 bit C1=S1(B1) dùng bảng S1 Ta tìm cách thay B1 bit thành C1 bit tương tự với B2 -> B8 C2-> C8 B1=b1b2b3b4b5b6=011000 +b1b6= đổi sang hệ thập phân 00 dòng S1 +b2b3b4b5= 1100 đổi sang thập phân 12 cột 12 S1 C1 biểu diễn nhị phân phần tử s1(0,12)=5; C1=0101 Tính C2 B2=b1b2b3b4b5b6=010001 +b1b6=01 đổi sang hệ thập phân S2 +b2b3b4b5=1000 đổi sang hệ thập phân S2 C2 biểu diễn nhị phân phần tử S2(1,8)=12 C2=1100 Tính C3 B3=b1b2b3b4b5b6=011110 +b1b6=00 đổi sang hệ thập phân S3 +b2b3b4b5=1111 đổi sang hệ thập phân 15 S3 C3 biểu diễn nhị phân phần tử S2(0,15)=8 C3=1000 Tính C4 B4=b1b2b3b4b5b6=111010 +b1b6=10 đổi sang hệ thập phân S4 +b2b3b4b5=1101 đổi sang hệ thập phân 13 S4 C4 biểu diễn nhị phân phần tử S4(2,13)=2 C4=0010 Tính C5 B5=b1b2b3b4b5b6=100001 +b1b6=11 đổi sang hệ thập phân S5 +b2b3b4b5=0000 đổi sang hệ thập phân S5 C5 biểu diễn nhị phân phần tử S5(3,0)=11 C5=1011 Tính C6 B6=b1b2b3b4b5b6=100110 +b1b6=10 đổi sang hệ thập phân S6 +b2b3b4b5=0011 đổi sang hệ thập phân S6 C6 biểu diễn nhị phân phần tử S6(2,3)=5 C6=0101 Tính C7 B7=b1b2b3b4b5b6=010100 +b1b6=00 đổi sang hệ thập phân S7 +b2b3b4b5=1010 đổi sang hệ thập phân 10 S7 C7 biểu diễn nhị phân phần tử S7(0,10)=9 C7=1001 Tính C8 B8=b1b2b3b4b5b6=100111 +b1b6=11 đổi sang hệ thập phân S8 +b2b3b4b5=0011 đổi sang hệ thập phân S8 C8 biểu diễn nhị phân phần tử S8(3,3)=7 C8=0111 Ta có C=c1c2c3c4c5c6c7c8=0101 1100 1000 0010 1011 0101 1001 0111 Hoán vị với P ta P(C ) kết hàm F(R0,K1) P(C )= 0010 0011 0100 1010 1010 1001 1011 1011 Ta có R1=L0 xor F( R0,K1) L0=1100 1100 0000 0000 1100 1001 1111 1111 (32 bit bên trái ma trận IP) Nên R1=1110 1111 0100 1010 0110 0000 0100 0100 Bài : Tính bù DES DES có tính chất bù: IP FP không ảnh hưởng đến kết E(|R) = | E(R) Gọi KSi(k) khóa vòng lặp i sinh từ khóa ban đầu k Ta có o KSi(|k) = |KSi(k) Đầu vào S-boxes o |E(R) xor |K Ta có tính chất o A xor B = |A xor |B o | (A xor B) = |A xor B = A xor |B Từ suy đầu vào S-boxes o E(R) xor K Giải thuật • Input: Tin x, DES(K,x), DES(K,|x) • Output: Khóa tương ứng với K for all non-tested key k c = DES(k,x) if c == DES(K,x)then return k end if if |c == DES(K,|x)then return |k end if end for Bài : Khóa yếu DES • Cho biết K1 = K2 = … = K16 • Tìm tất khóa thỏa mãn tính chất Theo tính chất có tất khóa yếu sau : 1) [00000001 00000001 00000001] 2) [11111110 11111110 11111110] 3) [11100000 11100000 11100000 11100000 11110001 11110001 11110001 11110001] 4) [00011111 00011111 00011111 00011111 00001110 00001110 00001110 00001110] Bài hoá/Giải RSA Cho p = 7, q = 11 Giả sử Alice dùng khóa công khai (n,e) = (77,17) Tìm khóa riêng Biết ký tự từ A đến Z biểu diễn số nguyên từ 00 đến 25 Dấu cách biểu diễn số 26 Bob muốn gửi cho Alice Tin “HELLO WORLD” sử dụng hệ mật RSA Tính tương ứng Giải Bài làm Ta có p,q,n,e 7,11,77,17 (p-1)(q-1)=6*10=60 Áp Dụng thuật toán Eclide mở rộng ta có a 17 60 43 17 b 60 43 17 q 1 1 - r 43 17 - x -7 y -1 1 -1 d 1 1 1 Ta tính d=53 Bob gửi cho alice tin “HELLO WORLD” tương đương “07 04 11 11 14 26 22 14 17 11 03” Ta có: công thức c=m^e mod n • 07 ^17 mod 77 = 28 • 04^ 17 mod 77 = 16 • 11 ^17 mod 77 = 44 • 11^ 17 mod 77 = 44 • 14^ 17 mod 77 = 42 •26^17 mod 77 =38 • 22^ 17 mod 77 = 22 • 14^ 17 mod 77 = 42 • 17^ 17 mod 77 = 19 • 11^ 17 mod 77 = 44 • 03^ 17 mod 77 = 75 tương ứng:28 16 44 44 42 38 22 42 19 44 75 Ta tiến hành giải • 28 ^53 mod 77 = 07 • 16^ 53 mod 77 = 04 • 44 ^53 mod 77 = 11 • 44^ 53 mod 77 = 11 • 42^ 53 mod 77 = 14 •38^53 mod 77 =26 • 22^ 53 mod 77 = 22 • 42^ 53 mod 77 = 14 • 19^ 53 mod 77 = 17 • 44^ 53 mod 77 = 11 • 75^ 53 mod 77 = 03 Bài 5: Chứng minh Định lý Euler & Fermat a Chứng minh định lý Euler Gọi a1,a2,…, ak(n) số nguyên dương nhỏ n nguyên tố với n Với số phân biệt i,j € { 1,2…,k(n) } ta có (ai,m)=(a,m)=1 =>(aai,m)=(aaj,m)=1; aai#aaj (mod n) Do aa1,aa2, …aak(n) hoán vị theo mô đun n a1,a2,…,ak(n) Suy a1a2…ak(n)≡(aa1).(aa2)…(ak(n)≡a^k(n) a1a2 n) ak(n) (mod Giảm ước đồng dư thức ta a^k(n)≡1 (Mod n) Bài 6: Chứng minh định lý RSA Theo định lý Euler- Fermat Theorem Giả sử gcd(m,n)=1 ta có ed ≡ (mod φ(n)) dẫn đến ed = + kφ(n) Nếu c ≡ me (mod n) cd ≡ med ≡ m1+kφ(n) ≡ m.(mφ(n))k ≡ m.1k Lại có mφ(n) ≡ (mod n) gcd(m,n)=1 => cd ≡ m (mod n) Bài 7: Tấn công RSA Ta có c1 = m^e1 % N c2 = m^e2 % N ea, eb số nguyên tố (e1 * a) + (e2 * b) = M (plantext) =(c1 ^ a) + (c2 ^ b) So sánh đoạn c1 c2 ta tính m^(e1 * a + e2 * b) = m^1 = m plantext m=(c1^a) * (c2^b) %N Bài 8: Tấn công Common Moduli Áp dụng công thức Bài 9: Chữ ký số ElGamal P=2237; g=2; Chọn private key x=8; y = gx(mod p)=2^8(mod 2237)= 1981 public key y = 1981, g=2, p=2237 k=2323 Bài 10: Tấn công Needham-Schroeder Theo cách ký hiệu giao thức mật mã, giao thức Needham-Schroeder với khóa bí mật mô tả sau, đó, Alice (A) sử dụng máy chủ (S) chứng minh nhận dạng với Bob (B), đồng thời tạo khóa chung ( KAB); (1) Trước giao dịch diễn ra, người sử dụng hệ thống có khóa bí mật chia sẻ với máy chủ Ở ( KXS) khóa chung X máy chủ S (2) Khi muốn trao đổi thông tin với Bob, đầu tiên, Alice gửi gói tin tới máy chủ có định danh Alice Bob với số tạo ngẫu nhiên NA (3) Máy chủ tạo khóa phiên KAB để Alice Bob sử dụng giao dịch Sau đó, máy chủ gửi khóa cho Alice dạng mật hóa khóa chung máy chủ Alice; đồng thời máy chủ mật hóa khóa phiên khóa chung với Bob gửi cho Alice Số ngẫu nhiên NA gửi kèm gói tin để đảm bảo gói tin (tránh trường hợp kẻ công dùng lại gói tin cũ) định danh Bob để Alice biết người để dùng khóa (trong trường hợp Alice đồng thời giao dịch với nhiều người) (4) Alice giải gửi phần hóa khóa Bob tới cho Bob Alice giải phần có Bob giải (5) Bob giải gói tin nhận thu khóa phiên Bob tạo số ngẫu nhiên khác gửi cho Alice sau mật hóa với khóa phiên để chứng tỏ nhận khóa (6) Alice giải mã, thực phép toán đơn giản giá trị nhận gửi lại cho Bob để khẳng định giao dịch tiếp tục Alice người thực có khóa Tấn công Giao thức không đảm bảo an toàn Vấn đề gói tin số 3: Bob xác định có phải gói tin tạo gói tin phát lại Nếu người thứ có khóa cũ thực công cách phát lại gói tin làm cho Bob tin trao đổi thông tin với Alice Ngăn chặn Dùng thêm nhãn thời gian ... (4) Alice giải mã gửi phần mã hóa khóa Bob tới cho Bob Alice giải mã phần có Bob giải mã (5) Bob giải mã gói tin nhận thu khóa phiên Bob tạo số ngẫu nhiên khác gửi cho Alice sau mật mã hóa với khóa... Dấu cách biểu diễn số 26 Bob muốn gửi cho Alice Tin “HELLO WORLD” sử dụng hệ mật mã RSA Tính Mã tương ứng Giải Mã Bài làm Ta có p,q,n,e 7,11,77,17 (p-1)(q-1)=6*10=60 Áp Dụng thuật toán Eclide mở... Tin x, Mã DES(K,x), Mã DES(K,|x) • Output: Khóa tương ứng với K for all non-tested key k c = DES(k,x) if c == DES(K,x)then return k end if if |c == DES(K,|x)then return |k end if end for Bài :

Ngày đăng: 01/04/2017, 20:55

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w