Bài 3 - Mã hoá đối xứng hiện đại

THThiNganHang
20 次下载
27
0

资料内容

第 3 页

 Mã hóa cổ điển  bản tin ngôn ngữ,  một đơn vị mã hóa là chữ cái,  phương thức thay thế hay phương thức hoán vị.  Thông tin ngày ngày nay  HTML, hình ảnh, video, âm thanh… => Biểu diễn trên máy vi tính dưới dạng một dãy các số nhị phân.  Trong máy tính: chữ cái được biểu diễn bằng mã ASCII. ThiNganHang.com 3

第 4 页

Ví dụ:  Bản tin: attack  Mã ASCII: 97 116 116 97 99 107  Biểu diễn nhị phân: 01100001 01110100 01110100 01100001 01100011 01101011 ThiNganHang.com 4

第 5 页

Mã hóa đối xứng hiện đại Ví dụ mã hóa đối xứng hiện đại  Bản rõ là các chữ cái của một ngôn ngữ gồm có 8 chữ cái A, B, C, D, E, F, G, H trong đó mỗi chữ cái được biểu diễn bằng 3 bít.  Nếu có bản rõ là “head” => nhị phân là: 111100000011 ThiNganHang.com 5

第 6 页

Mã hóa đối xứng hiện đại  Giả sử dùng một khóa K gồm 4 bít 0101 để mã hóa bản rõ trên bằng phép XOR :  bản rõ: 1111 0000 0011 (head)  khóa: 0101 0101 0101  bản mã: 1010 0101 0110 (FBCG)  Đơn vị mã hóa không phải là một khối 4 bít.  Để giải mã, lấy bản mã XOR một lần nữa với khóa thì có lại bản rõ ban đầu. ThiNganHang.com 6

第 7 页

Mã hóa đối xứng hiện đại  Mã hóa bằng phép XOR:  Khóa được lặp lại: • => điểm yếu giống như mã hóa Vigenere. • Khắc phục: dùng một bộ sinh số ngẫu nhiên để tạo khóa dài, giả lập mã hóa One-Time pad.  Một khối được mã hóa bằng phép XOR với khóa: • => Không an toàn vì chỉ cần biết một cặp khối bản rõ - bản mã (vd: 1111 và 1010) => dễ dàng tính được khóa. • Khắc phục: tìm các phép mã hóa phức tạp hơn phép XOR ThiNganHang.com 7

第 9 页

Mã dòng (Stream Cipher)  Giải mã => thực hiện ngược lại  Bản mã C được XOR với dãy số ngẫu nhiên S để cho ra lại bản rõ ban đầu:  Ví dụ này không phải là mã dòng vì s0, s1, s2 lặp lại khóa K.  Về phương diện khóa, ví dụ này giống mã Vigenere.ThiNganHang.com 9

第 10 页

Mã dòng (Stream Cipher)  Với mã dòng, các số s được sinh ra phải đảm bảo một độ i ngẫu nhiên nào đó (chu kỳ tuần hoàn dài)  Khóa có chiều dài ngắn: Vigenere => không bảo đảm an toàn  Khóa có chiều dài bằng chiều dài bản tin: One-Time Pad => không thực tế.  Mã dòng cân bằng giữa hai điểm này => khóa ngắn nhưng dãy số sinh ra bảo đảm một độ ngẫu nhiên cần thiết như khóa của One-time Pad, dùng rằng không hoàn toàn thực sự ngẫu nhiên.ThiNganHang.com 10

第 11 页

A5/1  A5/1 được dùng trong mạng điện thoại GSM, để bảo mật dữ liệu trong quá trình liên lạc giữa máy điện thoại và trạm thu phát sóng vô tuyến.  Đơn vị mã hóa của A5/1 là một bít.  Bộ sinh số mỗi lần sẽ sinh ra hoặc bít 0 hoặc bít 1 để sử dụng trong phép XOR. ThiNganHang.com 11

第 12 页

TinyA5/1  Mô hình thu nhỏ của A5/1 gọi là TinyA5/1.  Cơ chế thực hiện của bộ sinh số TinyA5/1 là như sau:  Bộ sinh số gồm 3 thanh ghi X, Y, Z.  Thanh ghi X gồm 6 bit, ký hiệu là (x0, x1, …, x5).  Thanh ghi Y gồm 8 bit (y0, y1, …, y7).  Thanh ghi Z lưu 9 bit (z0, z1, …, z8).  Khóa K ban đầu có chiều dài 23 bít và lần lượt được phân bố vào các thanh ghi: K -> XYZ ThiNganHang.com 12

第 14 页

TinyA5/1  Hàm maj(x, y, z) nếu trong 3 bít x, y, z có từ hai bít 0 trở lên thì hàm trả về giá trị 0, nếu không hàm trả về giá trị 1.  Tại bước sinh số thứ i, các phép tính sau được thực hiện:  m = maj(x1, y3, z3)  If x1 = m then thực hiện quay X  If y3 = m then thực hiện quay Y  If z3 = m then thực hiện quay Z  Và bít được sinh ra là:  Bít s được XOR với bít thứ i trong bản rõ để có được bít thứ i i trong bản mã theo quy tắc của mã dòng. ThiNganHang.com 14

第 15 页

Ví dụ: mã hóa bản rõ P=111 (chữ h) với khóa K là 100101. 01001110.100110000 Mã dòng (Stream Cipher) ThiNganHang.com 15

第 16 页

A5/1  A5/1 hoạt động giống như TinyA5/1.  Kích thước thanh ghi X, Y, Z lần lượt là 19, 22 và 23 bít ThiNganHang.com 16

第 17 页

A5/1  Hàm maj được tính trên 3 bít x , y , z . Sau khi quay xong bít 8 10 10 sinh ra là:  Toàn bộ quá trình sinh dãy số của A5/1 được minh họa qua hình bên dưới: ThiNganHang.com 17

第 18 页

RC4  RC4 được dùng trong giao thức SSL để bảo mật dữ liệu trong quá trình truyền dữ liệu giữa Web Server và trình duyệt Web.  RC4 còn được sử dụng trong mã hóa WEP của mạng Wireless LAN. ThiNganHang.com 18

第 19 页

TinyRC4  Là mô hình thu nhỏ của RC4  Đơn vị mã hóa của TinyRC4 là 3 bít.  TinyRC4 dùng 2 mảng S và T mỗi mảng gồm 8 số nguyên 3 bít (từ 0 đến 7).  Khóa là một dãy gồm N số nguyên 3 bít với N có thể lấy giá trị từ 1 đến 8. Bộ sinh số mỗi lần sinh ra 3 bít để sử dụng trong phép XOR.  Quá trình sinh số của TinyRC4 gồm hai giai đoạn: ThiNganHang.com 19

第 20 页

TinyRC4 a) Giai đoạn khởi tạo  Dãy S gồm các số nguyên 3 bít từ 0 đến 7 được sắp thứ tự tăng dần. Sau đó dựa trên các phần tử của khóa K, các phần tử của S được hoán vị lẫn nhau đến một mức độ ngẫu nhiên nào đó.ThiNganHang.com 20

显示前 20 页。下载资料查看完整内容。

评论 (0)

登录 以加入讨论

暂无评论。快来抢沙发吧!