Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 12 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
12
Dung lượng
267,66 KB
Nội dung
Chuẩn mã liệu (DES) Chuẩn mã liệu (DES) Bởi: TS Trần Văn Dũng Lịch sử DES Cuối năm 1960, IBM phát triển mã Lucifer, lãnh đạo Fiestel Ban đầu Lucifer sử dụng khối liệu 64 bít khoá 128 bít Sau tiếp tục phát triển mã thương mại Năm 1973 NBS yêu cầu đề xuất chuẩn mã Quốc gia IBM đề nghị sửa đổi Lucifer, sau gọi DES Đã có tranh luận thiết kế DES Vì chuẩn DES công khai, người đóng góp ý kiến tốc độ, độ dài khoá mức độ an toàn, khả thám mã Người ta đề xuất chọn khoá 56 bít thay 128 để tăng tốc độ xử lý đưa tiêu chuẩn thiết kế chuẩn mã liệu Các suy luận phân tích chứng tỏ thiết kế phù hợp Do DES sử dụng rộng rãi, đặc biệt lĩnh vực tài Sơ đồ mã DES • Hoán vị ban đầu IP: bước tính toán liệu, hoán vị IP đảo thứ tự bít đầu vào: bít chẵn sang nửa trái bít lẻ sang nửa phải Hoán vị dễ dàng thực phần cứng Mỗi số hệ 16 biểu diễn 1/12 Chuẩn mã liệu (DES) bit, 16 số thể 64 bit Mỗi bit có vị trí xác định qua hoán vị ban đầu (xem bảng phụ lục cuối tài liệu) IP(675a6967 5e5a6b5a) = (ffb2194d 004df6fb) • Cấu tạo vòng DES Sử dụng hai nửa 32 bít trái 32 bít phải Như mã Fiestel, nửa phải vòng trước chuyển qua nửa trái bước sau lấy đầu hàm vòng nửa phải khoá cộng số với nửa trái Có thể biểu diễn công thức sau: Ở F lấy 32 bít nửa phải R, mở rộng thành 48 bít nhờ hoán vị E, cộng vào với khoá 48 bít Sau chia thành cụm bít cho qua S-box để nhận kết 32 bít Đảo lần cuối sử dụng hoán vị 32 bít P nhận 32 bít đầu ra, cộng với nửa trái để chuyển thành nửa phải bước sau • Các hộp S (xem phụ lục cuối tài liệu) Có hộp S khác ánh xạ bít vào bít Các hộp S box thực phép thế, chúng cấu tạo qui luật cố định Mỗi S box hộp x 16 bít, hàng hoán vị 16 phần tử Giả sử ta có bít đầu vào Ta lấy hai bít 1-6 ghép lại số nhị phân xác định chọn hàng từ đến S box Bốn bít từ đến số nhị phân xác định cột từ đến 15 S box Lấy phần tử tương ứng hàng cột xác định, số từ đến 15, chuyển sang số nhị phân ta bít đầu Như 48 bít chia thành có cụm bít, qua S box chuyển thành cụm bít, tổng cộng 32 bít Việc chọn hàng S box phụ thuộc liệu khoá - đặc trưng gọi khoá tự xác định 2/12 Chuẩn mã liệu (DES) S(18 09 12 3d 11 17 38 39) = 5fd25e03 • Sinh khoá DES - Tạo 16 khoá sử dụng cho 16 vòng DES 56 bit khoá đầu vào sử dụng bảng x 8, cột thứ không sử dụng - Hoán vị ban đầu khoá PC1 tách 56 bít thành hai nửa 28 bít - 16 giai đoạn bao gồm • Ở vòng nửa trái nửa phải dịch trái vòng quanh tương ứng bit Hai nửa dùng tiếp cho vòng sau • Đồng thời hai nửa cho qua hoán vị PC2 chọn nửa 24 bít gộp lại thành 48 bít để sinh khoá - Ứng dụng thực tế phần cứng phần mềm hiệu Các thông số cụ thể hoán vị ban đầu, hộp Box thuật toán sinh khoá DES cho cuối tài liệu phần phụ lục • Giải mã DES Giải mã làm ngược lại trình mã hoá Với thiết kế Fiestel thực mã hoá tiếp với khoá từ SK16 ngược lại SK1 Nhận thấy hoán vị ban đầu IP trả lại tác dụng hoán vị cuối FP Vòng đầu với SK16 trả lại tác dụng vòng mã thứ 16 Vòng thứ 16 với SK1 trả lại tác dụng vòng mã Hoán vị cuối FP trả lại tác dụng hoán vị ban đầu IP Như khôi phục lại liệu ban đầu 3/12 Chuẩn mã liệu (DES) Tính chất DES Tác dụng đồng loạt Khi ta thay đổi bit khoá gây tác động đồng loạt làm thay đổi nhiều bit mã Đây tính chất mong muốn khoá thuật toán mã hoá Nếu thay đổi bít đầu vào khoá kéo theo thay đổi nửa số bít đầu Do đoán khoá Co thể nói DES thể tác động đồng loạt mạnh • Sức mạnh DES – kích thước khoá Độ dài khoá DES 56 bít có 256 = 7.2 x 1016 giá trị khác Đây số lớn nên tìm kiếm duyệt khó khăn Các thành tựu gần thời gian cần thiết để giải trang mã DES mà khoá là: sau vài tháng Internet năm 1997; vài ngày thiết bị phần cứng tăng cường năm 1998; sau 22 kết hợp biện pháp năm 1999 Như đoán rõ sau khoảng thời định, có nguồn lực máy tính mạnh Chính người ta xét vài biến thể DES nhằm nâng cao sức mạnh cho DES • Sức mạnh DES – công thời gian Đây dạng công vào cài đặt thực tế mã Ở sử dụng hiểu biết trình cài đặt thuật toán mà suy thông tin sô khoá khoá Đặc biệt sử dụng kết luận tính toán chiếm khoảng thời gian khác phụ thuộc vào giá trị đầu vào Do kẻ thám mã theo dõi thời gian thực mà phán đoán khoá Có thể kẻ thám mã sáng tạo loại card thông minh phán đoán khoá, mà phải bàn bạc thêm chúng • Sức mạnh DES – công thám mã Có số phân tích thám mã DES, từ đề xuất xây dựng số cấu trúc sâu mã DES Rồi cách thu thập thông tin mã, đoán biết tất số khoá dùng Nếu cần thiết tìm duyệt khoá lại Nói chung, công dựa phương pháp thống kê bao gồm: thám mã sai phân, thám mã tuyến tính công khoá liên kết • Thám mã sai phân Một thành tựu công khai gần thám mã phương pháp thám mã sai phân Nó biết đến NSA năm 70, chẳng hạn thiết kế DES Murphy, Birham Shamir công bố phương pháp sai phân năm 1990 Đây phương pháp mạnh để phân tích mã khối Nó sử dụng phân tích hầu hết mã khối với mức độ thành công khác Nhưng DES kháng cự lại công Thám mã sai phân công thống kê chống lại mã Fiestel Mã Fiestel dùng cấu trúc 4/12 Chuẩn mã liệu (DES) mã chưa sử dụng trước thiết kế S-P mạng có đầu từ hàm f chịu tác động đầu vào khoá Do tìm lại giá trị rõ mà khoá Thám mã sai phân so sánh hai cặp mã có liên quan với o Với khác biệt biết đầu vào o Khảo sát khác biệt đầu o Khi với khoá dùng o Trong công thức sau với hai đầu vào khác nhau, vế trái khác biệt mã vòng thứ i biểu diễn qua khác biệt mã vòng trước i-1 khác biệt hàm f ngoặc vuông Sự khác biệt đầu vào cho khác biệt đầu với xác suất cho trước - Nếu tìm thể đầu vào - đầu với xác suất cao Thì luận khoá sử dụng vòng - Sau lặp lại cho nhiều vòng (với xác suất giảm dần) • Cặp cho bít khoá • Cặp sai cho giá trị ngẫu nhiên - Đối với số vòng lớn, xác suất để có nhiều cặp đầu vào 64 bít thoả mãn yêu cầu nhỏ -Birham Shamir làm để đặc trưng lặp 13 vòng bẻ DES 16 vòng đầy đủ 5/12 Chuẩn mã liệu (DES) - Qui trình thám mã sau: thực mã hoá lặp lại với cặp rõ có XOR đầu vào biết trước nhận XOR đầu mong muốn - Khi tìm • vòng trung gian thỏa mãn XOR yêu cầu có cặp • không có cặp sai, tỷ lệ sai tương đối cho công biết trước dựa vào thống kê - Sau tạo khoá cho vòng theo suy luận sau • Thám mã tuyến tính Đây phát khác Nó dùng phương pháp thống kê Ở cần lặp qua vòng với xác suất giảm, phát triển Matsui số người khác vào đầu năm 90 Cơ sở phương pháp dựa tìm xấp xỉ tuyến tính Và có nhận định công DES với 247 rõ biết Như thám mã tuyến tính không khả thi thực tế - Tìm xấp xỉ tuyến tính với xác suất p != ½ P[i1,i2, ,ia] (+) C[j1,j2, ,jb] = K[k1,k2, ,kc] ia, jb, kc vị trí bit rõ, mã, khoá 6/12 Chuẩn mã liệu (DES) - Điều kiện cho phương trình tuyến tính bít khoá Để nhận bít khoá sử dụng thuật toán lân cận tuyến tính - Sử dụng số lớn phương trình thử nghiệm Hiệu cho |p– 1/2| Trong trình tìm hiểu DES người ta hệ thống lại tiêu chuẩn thiết kế DES Như báo cáo Copperscmith [COPP94]: o Có tiêu chuẩn S box cung cấp để đảm bảo • tính phi tuyến tính • chống tham mã sai phân • Rối loạn tốt o Có tiêu chuẩn cho hoán vị P để tăng độ khuếch tán • Các nguyên lý mã khối Các nguyên lý mã khối giống Fiestel đề xuất năm 70: o Có số vòng: nhiều tốt; công tốt phải tìm tổng thể o Trong vòng có hàm cung cấp độ rối loạn phi tuyến, tác động đồng loạt o Qui trình sinh khoá phức tạp, khoá tác động đồng loạt đến mã Các kiểu thao tác DES Mã khối mã block có kích thước cố định Chẳng hạn DES mã block 64 bít với khoá 56 bít Cần phải có cách áp dụng vào thực tế thông tin cần mã có kích thước tùy ý Trwosc có kiểu thao tác định nghĩa cho DES theo chuẩn ANSI: ANSI X3.106-1983 Modes of Use Bây mở rộng them có cách cho DES chuẩn mã nâng cao (AES – Advanced Encryption Standards) Trong có kiểu áp dụng cho khối có kiểu áp dụng cho mã dòng Sách mật mã điện tử (Electronic Codebook Book - ECB) o Mẫu tin chia thành khối độc lập, sau mã khối o Mỗi khối giá trị cần thay dùng sách mã, có tên o Mỗi khối mã độc lập với mã khác Ci = DESK1 (Pi) o Khi dùng: truyền an toàn giá trị riêng lẻ 7/12 Chuẩn mã liệu (DES) o Ưu nhược ECB - Lặp mã rõ lặp tin + Nếu dóng khối + Đặc biệt với hình ảnh - Hoặc với tin mà thay đổi trở thành đối tượng để thám mã + Nhược điểm khối mã độc lập + Được sử dụng chủ yếu gửi liệu Dây chuyền mã khối (Cipher Block Chaining - CBC) o Các mẫu tin chia thành khối o Nhưng chúng liên kết với trình mã hoá o Các block thành dãy, có tên o Sử dụng véctơ ban đầu IV để bắt đầu trình Ci = DESK1(Pi XOR Ci-1) C − = IV o Dùng khi: mã liệu lớn, xác thực 8/12 Chuẩn mã liệu (DES) o Ưu nhược CBC - Mỗi khối mã phụ thuộc vào tất khối rõ - Sự thay đổi tin kéo theo thay đổi khối mã - Cần giá trị véc tơ ban đầu IV biết trước người gửi người nhận + Tuy nhiên IV gửi công khai, kẻ công thay đổi bít thay đổi IV để bù trừ + Vậy IV cần phải có giá trị cố định trước mã hoá chế độ ECB gửi trước phần lại mẩu tin - Ở cuối tin, để kiểm soát block ngắn lại + Có thể bổ sung giá trị liệu NULL + Hoặc dùng đệm cuối với số byte đếm kích thước [ b1 b2 b3 0 0 5] [...].. .Chuẩn mã dữ liệu (DES) o Phản hồi ngược là độc lập đối với bản tin o Có thể được tính trước Ci = Pi XOR Oi Oi = DESK1(Oi-1) O-1 = IV o Được dùng cho mã dòng trên các kênh âm thanh Ưu điểm và nhược điểm của OFB o Được dùng khi lỗi phản hồi ngược lại hoặc ở nơi cần mã trước khi mẩu tin sẵn sàng o Rất giống CFB o Nhưng phản hồi là từ đầu ra của mã và độc lập với mẩu tin o Là biến thể của mã Vernam,... phản hồi ngược theo các chuẩn o Các nghiên cứu tiếp theo chỉ ra rằng chỉ có OFB64 là dùng được 5 Bộ đếm CTR (Counter) 11/12 Chuẩn mã dữ liệu (DES) o Là chế độ mới, tuy đã được đề xuất từ lâu o Giống như OFB, nhưng mã giá trị đếm thay vì giá trị phản hồi tuỳ ý o Cần phải có khoá khác và giá trị đếm cho mỗi khối bản rõ (không bao giờ dùng lại) Ci = Pi XOR Oi Oi = DESK1(i) o Được dùng mã trên mạng với tốc... (không bao giờ dùng lại) Ci = Pi XOR Oi Oi = DESK1(i) o Được dùng mã trên mạng với tốc độ cao o Ưu và nhược điểm của CTR • Hiệu quả - Do có thể mã song song - Chuẩn bị trước nếu cần - Tốt cho các kết nối với tốc độ rất cao • Truy cập ngẫu nhiên đến các khối dữ liệu mã • Tính an toàn có thể chứng minh được • Nhưng phải tin tưởng không bao giờ dùng lại khoá/đếm, nếu không có thể bẻ 12/12