intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài 3- Mã hóa đối xứng hiện đại

Chia sẻ: Mvnc Bgfhf | Ngày: | Loại File: PDF | Số trang:27

394
lượt xem
44
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

Nội dung Text: Bài 3- Mã hóa đối xứng hiện đại

  1. BẢO MẬT THÔNG TIN BÀI 3: MÃ HÓA ĐỐI XỨNG HIỆN ĐẠI Nguyễn Hữu Thể 1
  2. Nội dung 1. TinyA5/1 2. A5/1 3. TinyRC4 4. RC4 2
  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. 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 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 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. 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 7
  8. Mã dòng (Stream Cipher)  Mã dòng có các đặc tính sau: 8
  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. 9
  10. Mã dòng (Stream Cipher)  Với mã dòng, các số si được sinh ra phải đảm bảo một độ 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. 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. 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 12
  13. TinyA5/1  Các thanh ghi X, Y, Z được biến đổi theo 3 quy tắc: 13
  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 si được XOR với bít thứ i trong bản rõ để có được bít thứ i trong bản mã theo quy tắc của mã dòng. 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) 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 16
  17. A5/1  Hàm maj được tính trên 3 bít x8, y10, z10. Sau khi quay xong bít 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: 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. 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: 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 đó. 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
8=>2