1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận môn an ninh hệ thống thông tin : MÃ HÓA KHỐI

19 1,1K 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 19
Dung lượng 568,88 KB

Nội dung

Mục lục 1 Mã hóa khối 2 1.1 Mã hóa khối là gì 2 1.2 Thiết kế 2 1.2.1 Lặp mã khối (Iterated block ciphers) 2 1.2.2 Mạng thay thếhoán vị (Substitutionpermutation networks) 3 1.2.3 Mã hóa Feistel 3 1.2.4 LaiMassey Scheme 3 2 Các loại mã hóa khối 3 2.1 Lucifer DES 3 2.2 IDEA 3 2.3 RC5 3 2.4 AES 3 2.5 Blowfish (cipher) 3 3 Độ an toàn của mã hóa khối 3 3.1 Các kiểu tấn công 3 3.2 An toàn vô điều kiện và tính toán 3 4 Ứng dụng mã hóa khối 3 5 Ví dụ về mã hóa khối 3 6 Tài liệu tham khảo 3 MÃ HÓA KHỐI GVHD : PSG.TS.Trịnh Nhật Tiến Người thực hiện: Nguyễn Thị Ngọc Thu 1 Mã hóa khối 1.1 Mã hóa khối là gì Trong mật mã học, mã hóa khối là những thuật toán mã hóa đối xứng hoạt động trên những khối thông tin có độ dài xác định (block) thông qua 1 số phép chuyển đổi xác định. Quá trình mã hóa khối bao gồm hai thuật toán ghép nối, một cho mã hóa, E, và một cho giải mã, D. Cả hai thuật toán chấp nhận hai tham số đầu vào: một khối đầu vào kích thước n bit và một khóa kích thước k bit, và cả hai đều sinh ra một khối đầu ra nbit. Các thuật toán giải mã D được định nghĩa là hàm nghịch đảo của mã hóa, tức là D = E1. Chính thức hơn, một thuật toán mã hóa khối được xác định bởi một hàm mã hóa EK (M) = E ( K , M ): {0 , 1}k x {0 , 1}n → {0 , 1}n Trong đó, đầu vào là một khóa K có chiều dài k bit, được gọi là kích thước khóa, và một chuỗi M bit có độ dài n, được gọi là kích thước khối, và trả về một chuỗi C có n bit. M được gọi là chữ thô, và C được gọi là bản mã. Đối với mỗi K, các hàm EK (M) cần thiết để có một bản đồ nghịch trên {0,1} n. Nghịch đảo với E được định nghĩa là một hàm EK1(C) := DK(C) = D(K,C):{0,1}k x {0,1}k →{0,1}n

Mục lục MÃ HÓA KHỐI GVHD : PSG.TS.Trịnh Nhật Tiến Người thực hiện: Nguyễn Thị Ngọc Thu Mã hóa khối 1.1 Mã hóa khối Trong mật mã học, mã hóa khối thuật tốn mã hóa đối xứng hoạt động khối thơng tin có độ dài xác định (block) thơng qua số phép chuyển đổi xác định Q trình mã hóa khối bao gồm hai thuật toán ghép nối, cho mã hóa, E, cho giải mã, D Cả hai thuật toán chấp nhận hai tham số đầu vào: khối đầu vào kích thước n bit khóa kích thước k bit, hai sinh khối đầu nbit Các thuật toán giải mã D định nghĩa hàm nghịch đảo mã hóa, tức D = E-1 Chính thức hơn, thuật tốn mã hóa khối xác định hàm mã hóa EK (M) = E ( K , M ): {0 , 1}k x {0 , 1}n → {0 , 1}n Trong đó, đầu vào khóa K có chiều dài k bit, gọi kích thước khóa, chuỗi M bit có độ dài n, gọi kích thước khối, trả chuỗi C có n bit M gọi chữ thô, C gọi mã Đối với K, hàm EK (M) cần thiết để có đồ nghịch {0,1} n Nghịch đảo với E định nghĩa hàm EK-1(C) := DK(C) = D(K,C):{0,1}k x {0,1}k →{0,1}n Có đầu vào khóa K, đoạn mã C trả đầu đoạn văn M cho Ví dụ, khối mật mã thuật tốn mã hóa lấy khối 128-bit văn làm đầu vào, đầu khối mã với 128-bit Việc chuyển đổi xác kiểm sốt cách sử dụng đầu vào thứ hai - khóa bí mật Giải mã tương tự: ví dụ , thuật tốn giải mã lấy khối 128-bit đoạn mã với khóa bí mật, đầu khối ban đầu 128-bit văn gốc Đối với khóa K, EK hoán vị (ánh xạ song ánh) tập hợp khối đầu vào Mỗi khóa chọn hốn vị từ tập (2n) 1.2 Thiết kế 1.2.1 Lặp mã khối (Iterated block ciphers) Hầu hết thuật tốn mã hóa khối phân loại vào nhóm mã hóa khối lặp có nghĩa q trình chuyển đổi khối kích thước cố định văn thành khối mã có kích thước giống hệt nhau, thông qua ứng dụng lặp chuyển đổi nghịch đảo gọi hàm round, với lần lặp gọi vịng (round) Thơng thường, hàm vịng R có đầu vào thứ hai khóa trịn khác Ki, bắt nguồn từ gốc: Mi = RKi (Mi-1) Trong M0 văn mã Mr, với r số vịng Ngồi ra, khóa Whitening thường sử dụng Vào lúc bắt đầu kết thúc, liệu sửa đổi khóa (thường với XOR, phép tính số học đơn giản cộng trừ sử dụng): M = M ⊕ K0 Mi = RKi (Mi-1); i = 1…r C = Mr ⊕ Kr+1 1.2.2 Mạng thay thế-hoán vị (Substitution-permutation networks) Một loại quan trọng thuật toán mã hóa khối lặp gọi mạng lưới thay thế-hốn vị (SPN) nhận khối văn khóa làm đầu vào, áp dụng nhiều vòng xoay dịch chuyển bao gồm đoạn thay đoạn hoán vị để sinh khối mã đầu Khâu thay phi tuyến tính hỗn hợp bit khóa với bit văn bản, tạo nhập nhằng Shannon Khâu hốn vị tuyến tính sau dư thừa, tạo khuếch tán Một hộp thay ( S -box) thay khối nhỏ bit đầu vào với khối bit đầu Sự thay phải một-một , để đảm bảo tính nghịch đảo ( giải mã) Một S-box an tồn có thuộc tính mà thay đổi bit đầu vào thay đổi khoảng nửa số bit đầu trung bình, đặc điểm gọi hiệu ứng tuyết lở tức có tính chất bit đầu phụ thuộc vào tất bit đầu vào Hộp hoán vị (P -box) hoán bit: nhận kết đầu tất S -box vịng, hốn vị bit, đưa chúng vào S -box vòng Một hộp-P tốt có tính chất mà bit đầu S-box phân phối cho nhiều đầu vào S-box tốt Tại vòng, khóa vịng ( thu từ khóa sau số phép toán đơn giản, chẳng hạn, sử dụng S - hộp P- hộp ) kết hợp cách sử dụng số phép tốn nhóm , điển hình XOR Giải mã thực cách đơn giản đảo ngược trình ( cách sử dụng ngược S- hộp P- hộp áp dụng khóa vịng theo thứ tự ngược lại) 1.2.3 Mã hóa Feistel Trong thuật tốn mã hóa Feistel, khối văn mã hóa chia thành hai phần có kích thước Hàm vịng áp dụng cho nửa, sử dụng khóa con, sau đầu thực XOR với nửa Hai nửa sau đổi chỗ Cho F hàm vòng cho K0, K1,…, Kn khóa cho vịng 0,1,…, n tương ứng Sau đó, thao tác sau: Chia khối rõ thành hai phần nhau, (L0, R0) Với vịng i = 0,1,…,n, tính tốn Li+1 = Ri Ri+1 = Li ⊕ F(Ri, Ki) Kết đoạn mã (Rn+1, Ln+1) Giải mã đoạn mã (Rn+1, Ln+1) thực cách tính tốn i=n,n-1,…,0 Ri = Li+1 Li = Ri+1 ⊕ F(Ri, Ki) Kết (L0, R0) văn gốc Hình 1.1 : Sơ đồ mã hóa Feistel Một lợi mơ hình Feistel so với mạng lưới thay thế-hoán vị hàm vịng F khơng cần phải có tính nghịch đảo 1.2.4 Lai-Massey Scheme Lai-Massey Scheme có đặc điểm an tồn tương tự cấu trúc Feistel Nó có lợi hàm vịng F khơng cần phải có tính nghịch đảo Một điểm tương tự khác là chia tách khối đầu vào thành hai phần Tuy nhiên, hàm vòng áp dụng cho khác biệt hai phần, kết sau thêm vào hai nửa Cho F hàm vòng K0, K1, …, Kn khóa cho vịng 0,1,…, n tương ứng Sau đó, thao tác sau: Chia khối thành hai phần nhau, (L0, R0) Với vòng i = 0,1,…, n, tính tốn Li+1 = б(Li) + Ti Ri+1 = Ri + Ti Trong б orthomorphism (có nghĩa là, hai б x→ б (x)-x hoán vị) Ti = F (б (б(Li) – Ri, Ki) Kết quả, mã (Rn+1, Ln+1) Giải mã mã (Rn+1, Ln+1) thực cách tính tốn i = n, n-1, …, Ri = б-1(Li+1 – Ti) Li = Ri+1 - Ti Trong Ti = F(Li+1 – Ri+1, Ki) Kết quả, (L0, R0) văn gốc Hình 1.2: Sơ đồ Lai-Massey Các loại mã hóa khối 2.1 Lucifer / DES Nói chung, Lucifer coi thuật tốn mã hóa khối dân đầu tiên, phát triển IBM vào năm 1970 dựa nghiên cứu thực Horst Feistel DES thuật tốn mã hóa khối ngun mẫu – nhận chuỗi văn dài 64 bit biến đổi thơng qua loạt thao tác phức tạp thành chuỗi bit mã có chiều dài DES sử dụng khóa điều chỉnh chuyển đổi, giải mã cho thực người có khóa sử dụng để mã hóa Về mặt hình thức, khóa có chiều dài 64 bit Tuy nhiên, có 56 bit số thực sử dụng thuật toán Tám bit sử dụng để kiểm tra tính chẵn lẻ, sau bỏ Do độ dài khố hiệu 56 bit Cấu trúc tổng thể Cấu trúc tổng thể thuật tốn thể hình: thuật toán bao gồm 16 bước giống hệt nhau, gọi vịng lặp Ngồi cịn có hốn vị ban đầu hoán vị cuối cùng, gọi IP FP, nghịch đảo (IP đảo ngước hành động FP, ngược lại) IP FP khơng có ý nghĩa mật mã, đưa vào để tạo điều kiện nạp khối vào năm 1970 8-bit dựa phần cứng Trước vịng chính, khối chia thành hai nửa 32-bit xử lý luân phiên, kỹ thuật đan chéo gọi chương trình Feistel Cấu trúc Feistel đảm bảo giải mã mã hóa q trình giống - khác biệt khóa áp dụng theo thứ tự ngược lại giải mã Phần cịn lại thuật tốn giống hệt Điều giúp đơn giản hoá việc triển khai thực hiện, đặc biệt phần cứng, khơng có nhu cầu cho thuật tốn mã hóa giải mã riêng biệt Biểu tượng ⊕ biểu thị phép toán OR loại trừ (XOR) Hàm-F thao tác nửa khối với vài khóa Đầu hàm-F sau kết hợp với nửa lại khối, nửa tráo đổi trước bắt đầu vòng Sau vòng cuối kết thúc, nửa đổi chỗ, tính cấu trúc Feistel làm cho q trình mã hóa giải mã tương tự Hình 2.1: Cấu trúc tổng thể DES Các hàm Feistel (F) Hình 2.2: Hàm Feistel DES Hàm-F, mơ tả hình 2, thao tác nửa khối (32 bit) thời điểm bao gồm bốn bước nhỏ: Mở rộng- Các nửa khối 32-bit mở rộng thành 48 bit cách sử dụng hoán vị mở rộng, ký hiệu E sơ đồ, cách chép nửa số bit Kết bao gồm tám chuỗi 6-bit (8 * = 48 bit) miếng, chuỗi chứa bit đầu vào tương ứng, cộng với bit liền kề từ chuỗi đầu vào cho hai phía Trộn khóa - kết kết hợp với khóa cách sử dụng phép toán XOR 16 khóa 48-bit - khóa cho vịng – điều chế từ khóa cách sử dụng key schedule (được mô tả đây) Thay - sau trộn khóa, khối chia thành tám mảnh 6-bit trước điều chế hộp-S, hộp thay Mỗi hộp số tám S-hộp thay sáu bit đầu vào với bốn bit đầu theo chuyển đổi phi tuyến tính, cung cấp dạng bảng tra cứu S-hộp cung cấp cốt lõi an toàn DES - mà khơng có họ, thuật tốn mã hóa tuyến tính, tầm thường dễ vỡ Hốn vị - cuối cùng, 32 kết đầu từ hộp-S xếp lại theo hoán vị xác định, hộp P Kỹ thuật thiết kế để, sau hoán vị, bit đầu S-box đưa vào hộp S khác vòng Các biến đổi luân phiên thay từ hộp S, hoán vị bit từ hộp P hàm mở rộng E tạo "nhầm lẫn khuếch tán" tương ứng, khái niệm xác định Claude Shannon năm 1940 điều kiện cần thiết cho thuật toán mã hóa thực tế an tồn Hàm tạo khóa Hình 2.3: Hàm tạo khóa DES Hình minh họa hàm tạo khóa cho q trình mã hóa - tạo khóa Ban đầu, 56 bit khóa lựa chọn từ chuỗi 64 bit ban đầu hoán vị lựa chọn (PC -1 ) - tám bit lại loại bỏ sử dụng làm bit kiểm tra chẵn lẻ 56 bit chia thành hai nửa 28 -bit, sau nửa xử lý riêng Trong vòng , hai nửa quay vòng hai bit ( xác định cho vịng ) , sau 48 bit khóa lựa chọn hốn vị lựa chọn (PC -2 ) - 24 bit từ nửa bên trái , 24 từ nửa phải Các phép quay ( ký hiệu "

Ngày đăng: 21/08/2014, 15:38

TỪ KHÓA LIÊN QUAN

w