Mã hóa đối xứng hiện đại

27 1.4K 0
Mã hóa đối xứng hiện đại

Đ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

 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.

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ể 2 Nội dung 1. TinyA5/1 2. A5/1 3. TinyRC4 4. RC4  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 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 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 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 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 Mã dòng (Stream Cipher)  Mã dòng có các đặc tính sau: 8 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 Mã dòng (Stream Cipher)  Với mã dòng, các số s i đượ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 [...]... 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 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 A5/1... 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 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 để... 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 - Hoán vị S Ví dụ:  Mã hóa bản rõ: P = 001000110 (từ ‟bag”)  Khóa K gồm 3 số 2, 1, 3 (N=3) Thực hiện đến khi i=7 và lúc đó dãy S là 6 0 7 1 2 3 5 4 21 TinyRC4 b) Giai đoạn sinh số:  Các phần tử của S tiếp... số:  Các phần tử của S tiếp tục được hoán vị  Tại mỗi bước sinh số, hai phần tử của dãy S được chọn để tính ra số k 3 bít là số được dùng để XOR với đơn vị mã hóa của bản rõ 22 - Tiếp tục ví dụ trên, quá trình sinh số mã hóa bản rõ ‟bag” thực hiện: 23 public static int[] cryptRC4(int S[], int T[], int K[], int N) { // Giai đoạn khởi tạo for (int i = 0; i < 8; i++) { S[i] = i; T[i] = K[i % 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 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... // Chú ý: Phương thức (hàm) này có thể tách ra thành nhiều phương thức nhỏ } 25 RC4  Cơ chế hoạt động của RC4 cũng giống như TinyRC4 với các đặc tính sau:  Đơn vị mã hóa của RC4 là một byte 8 bít  Mảng S và T gồm 256 số nguyên 8 bít  Khóa K là một dãy gồm N số nguyên 8 bít với N có thể lấy giá trị từ 1 đến 256  Bộ sinh số mỗi lần sinh ra một byte để sử dụng trong phép XOR 26 RC4  Hai giai đoạn .  Đơ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 Mã hóa đối xứng hiện đại  Mã hóa bằng phép XOR:  Khóa được. 111100000011 5 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. THÔNG TIN BÀI 3: MÃ HÓA ĐỐI XỨNG HIỆN ĐẠI Nguyễn Hữu Thể 2 Nội dung 1. TinyA5/1 2. A5/1 3. TinyRC4 4. RC4  Mã hóa cổ điển  bản tin ngôn ngữ,  một đơn vị mã hóa là chữ cái, 

Ngày đăng: 14/08/2014, 15:07

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan