Giới thiệu về Hệ mã hóa chuẩn DES

MỤC LỤC

HỆ MÃ HểA CHUẨN DES I. Giới thiệu về hệ mã chuẩn

  • CÁC ĐIỂM YẾU CỦA DES I. Tính bù

    Bước sang kỷ nguyên máy tính, việc sử dJng máy tính nhanh chóng được phổ cập trong mọi hoạt động của con người, và tất nhiên việc dùng máy tính trong truyền tin bảo mật đã được hết súc chú ý. Các hệ mật mã với các thuật toán lập mật mã và giải mã thMc hiện bằng máy tính được phát triển nhanh chóng, đồng thời các lĩnh vMc truyền tin cần sử dJng mật mã cũng được mở rộng sang nhiều địa hạt kinh tế và xã hội ngoài các địa hạt truyền thống. - Thuật toán phải có độ an toàn cao, độ an toàn đó không phJ thuộc vào sM giữ bí mật của bản thân thuật toán, mà chỉ nằm ở sM giữ bí mật của khóa.

    Khóa mã hóa có độ dài 56 bit, thMc ra chính xác hơn phải là 64 bit với các bit ở vị trí chia hết cho 8 có thể sử dJng là các bit kiểm tra tính chẵn lẻ. Môt H hoán vi Hbit khởi đầu (IP) được sử dJng cho vòng đầu tiên ; sau vòng cuối cùng nửa trái và phải sẽ được đổi cho nhau và cuối cùng xâu kết quả sẽ được hoán vi Hbit lần cuối bởi hoán vi Hngược của IP (IP-1 ). Có thể hình dung đơn giản là phần bên phải trong mỗi vòng (sau khi mở rộng input 32 bit thành 8 ký tM 6 bit – xâu 48 bit) sẽ thMc hiê Hn mô Ht tính toán thay thế phJ thuộc khóa trên mỗi một ký tM trong xâu 48 bit, và sau đó sử dJng mô Ht phép chuyển bit cố định để phân bố lại các bit của các ký tM kết quả hình thành nên output 32 bit.

    Mỗi bit được sử dJng khoảng 14 lần trong tổng số 16 tổ hợp khoá, dù không phải tất cả các bít được sử dJng mô Ht cách chính xác cùng mô Ht lúc trong mỗi lần sử dJng. Đối với sơ đồ mã hoá DES, mọi tính toán đều là tuyến tính, tức là viê Hc tính phép tuyển loại trừ XOR của hai đầu ra cũng giống với phép tuyển loại trừ XOR của hai đầu vào rồi tính toán đầu ra. - Khi mô Ht bit vào được giữ cố định và 5 bit còn lại cho thay đổi thì hô Hp S thể hiê Hn mô Ht tính chất được gọi là “phân bố đồng nhất”: so sánh số lượng bit số 0 và 1 ở các đầu ra luôn ở mức cân bằng.

    Viê Hc hoán vị này mang tính đơn ánh, nghĩa là mô Ht bit đầu vào sẽ cho mô Ht bit ở đầu ra, không bit nào được sử dJng hai lần hay bị bỏ qua. Kết quả cuối cùng của hô Hp P-Box lại đ ợc XOR với nửa trái của khối 64 bit của chính nó ƣ (tức L để tạo ra R ) và sau đó nửa trái và nửa phải đảo cho nhau và bắt đầu môi-1 i t vòng khác.H. Tớnh chất này chớnh là mụ Ht yếu điểm của DES bởi vì qua đó đối phương có thể loại bỏ đi mô Ht số khoá phải thử khi tiến hành thử giải mã theo kiểu vét cạn.

    Vào năm 1993, Michael Wiener đã thiết kế mô Ht máy tính chuyên dJng với giá 1 triê Hu đô la sử dJng phương pháp vét cạn để giải mã DES trung bình trong vòng 3,5 giờ (và châ Hm nhất là 7 giờ). Đến năm 1990, hai nhà toán học người Do Thái - Biham và Shamir - đã phát minh ra phương pháp phá mã vi sai (diferential cryptanalyis), đây là mô Ht kỹ thuâ Ht sử dJng những phỏng đoỏn khỏc nhau trong bản rừ để đưa ra những thụng tin trong bản mó. Như đã trình bày ở các phần trên, hê H mã DES (hay chuẩn mã hóa dữ liêJ ) với không gian khóa vẻn vẹn có 2 khóa nên thMc tế hiện nay có thể bị thám mã trong 54.

    Tuy nhiên các chứng minh về mặt lý thuyết (không nằm trong phạm vi của tài liệu này) đã cho thấy rằng hê H mã này không hề an toàn hơn DES (thuật toán thám mã theo kiểu vét cạn brute -force yêu cầu số phép tính gấp đôi để thám mã 2DES so với DES). Cách thức thứ hai và hiê Hn nay đang được sử dJng rô Hng rãi là mã hóa DES ba lần , cách này goị là Triple DES (TDES) hay 3DES, hoăc H một cách chuẩn mMc hơn là TDEA (Triple Data Encryption Algorithm). Khóa của Triple DES là 168 bit, môt H số biến thể của Triple DES sử dJng khóa có đô H dài 112 bit (K1=K3) nhưng khác với double DES, khi đó phương pháp này có tên gọi là Two key Triple DES.

    Các chứng minh về mă Ht lý thuyết và các tấn công đối với Triple DES cho thấy hê H mã này vẫn sẽ còn được sử dJng trong một tương lai dài nữa măc H dù trên trên thMc tế nó chậm hơn so với AES 6 lần.

    Hình 2.2: Sơ đồ mã hóa DES
    Hình 2.2: Sơ đồ mã hóa DES

    THIẾT KẾ ỨNG DỤNG GIẢI MÃ VÀ MÃ HểA DES I. Giao diện chính