Quản lý xử lý thuật toán mã hóa c (kèm code c)

34 131 0
Quản lý xử lý thuật toán mã hóa c (kèm code c)

Đ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

Tài liệu và file code này kết giúp các bạn làm tốt án tốt nghiệp, bài tập lớn về lập trình C thiết kế giao diện cho các yêu cầu khác nhau trong cuộc sống đáp ứng đầy đủ các yêu cầu đa dạng của các bạn, Tài liệu này có kết hợp với Code C

Download source code Sharecode.vn LỜI NÓI ĐẦU Như bạn biết từ xa xưa người biết truyền thông Trong thời đại điện thoại chẳng có thư điện tử , muốn truyền thơng tin riêng đến người khác nơi xa có cách viết lên mặt giấy giao phó cho người mang thư Nếu chẳng may người mang thư ngờ thư có thơng tin q giá ,anh ta bán đứng cho kẻ thù để kiếm nhiều tiền đưa đến địa Nhiều óc lịch sử phát minh phương pháp sử dụng mật mã để giải thách thức việc bảo vệ liệu Jujius Caesar phát minh cách viết mật mã gọi hộp Caesar ; Mary , Nữ hoàng Scotland tạo mật mã thay gởi thơng báo bí mật từ nhà tù ; nhà khoa học xuất sắc người Arập Abu Yusuf Ismail al-Kindi bảo vệ bí mật mật mã thay tài tình sử dụng nhiều chữ khác … Ngày , khoa học phát triển , mật mã sử dụng hệ thống cần độ bảo mật cao : Ngân hàng , bưu ,… Những thuật tốn mã hóa phát triển ngày nhiều có độ bảo mật cao Giới thiệu Mã hóa với mục đích làm cho liệu đọc ai, ngoại trừ cho chép đọc Mã hóa sử dụng thuật tốn khóa để biến đổi liệu từ hình thức đơn giản rõ ràng (plain hay cleartext), làm biến liệu sang hình tức mật mã vơ nghĩa (code hay ciphertext) Chỉ có có thơng tin giải mã giải mã đọc liệu Download source code Sharecode.vn I Một số khái niệm : 1) Khái niệm mã hóa 1.1.Khái niệm: Cryptography , dịch "mật mã học", ngành có nhiều thuật ngữ làm cho nhiều người "ngơ ngác": "hash function", "one-time pad" hay Rijndael Cryptography (hay crypto) - mật mã học – ngành khoa học nghiên cứu việc giấu thông tin Cụ thể hơn, mật mã học ngành học nghiên cứu cách chuyển đổi thông tin từ dạng "có thể hiểu được" thành dạng "khơng thể hiểu được" ngược lại 1.2.Đặc điểm: Cryptography giúp đảm bảo tính chất sau cho thơng tin:     Tính bí mật (confidentiality): thơng tin tiết lộ cho phép Tính tồn vẹn (integrity): thông tin bị thay đổi mà không bị phát Tính xác thực (authentication): người gửi (hoặc người nhận) chứng minh họ Tính không chối bỏ (non-repudiation): người gửi nhận sau chối bỏ việc gửi nhận thông tin Mật mã có nhiều ứng dụng thực tế bảo vệ giao dịch tài (rút tiền ngân hàng, mua bán qua mạng), bảo vệ bí mật cá nhân Nếu kẻ công vượt qua tường lửa hệ thống bảo vệ khác mật mã hàng phịng thủ cuối cho liệu bạn Cần phân biệt khái niệm cryptography với khái niệm steganography (tạm dịch giấu thông tin) Điểm khác hai khái niệm là: cryptography việc giấu nội dung thông tin, steganography việc giấu tồn thơng tin Download source code Sharecode.vn 1.3.Các thuật ngữ cần biết nghiên cứu mã hóa thông tin:  Cryptosystem (viết tắt cryptographic system): hệ thống mã hóa thơng tin, phần mềm PGP, Ax-Crypt, Truecrypt giao thức SSL, IPsec hay đơn giản thuật toán DES  Encrypt (encipher): mã hóa – q trình biến đổi thơng tin từ dạng ban đầu - hiểu thành dạng khơng thể hiểu được, với mục đích giữ bí mật thơng tin  Decrypt (decipher): giải mã – q trình ngược lại với mã hóa, khơi phục lại thông tin ban đầu từ thông tin mã hóa  Plaintext (cleartext): liệu gốc (chưa mã hóa)  Ciphertext: liệu mã hóa Lưu ý: Từ text (hay message) dùng theo quy ước, hiểu tất liệu mã hóa (hay giải mã) khơng văn chữ nghĩa thông thường Khi dịch tiếng Việt, từ "văn bản" từ "thông điệp" tuân theo quy ước tương tự  Cipher (hay cypher): thuật tốn dùng để thực q trình mã hóa hay giải mã Trong gọi tắt thuật tốn  Key: chìa khóa – thơng tin dùng cho qui trình mã hóa giải mã  Code: cần phân biệt code mật mã học với code lập trình hay code Zip code Trong cryptography, code (mã) có ý nghĩa gần cipher (thuật toán) Chúng khác chỗ: code biến đổi thông tin tầng nghĩa (từ, cụm từ) cịn cipher biến đổi thơng tin tầng thấp hơn, ví dụ chữ (hoặc cụm chữ cái) thuật tốn cổ điển hay bit (hoặc nhóm bit) thuật toán đại  Cryptanalysis: coi mật mã học việc cất liệu bạn vào hộp sau dùng chìa khóa khóa lại, cryptanalysis ngành nghiên cứu phương pháp mở hộp để xem liệu chìa khóa Download source code Sharecode.vn 2) Khái niệm chìa khóa : 2.1 Password: mật khẩu, hay nhiều từ mà người dùng phải biết để cấp quyền truy cập Trong thực tế, mật người dùng tạo thường không đủ độ an tồn để dùng trực tiếp thuật tốn Vì vậy, hệ thống mã hóa liệu nghiêm túc phải có bước chuyển đổi mật ban đầu thành chìa khóa có độ an tồn thích hợp Bước tạo chìa khóa thường gọi key derivation, key stretching hay key initialization 2.2 Key Derivation Function: hàm hash thiết kế cho chìa an tồn công kiểu brute-force hay cổ điển Hàm thực lại nhiều lần mật ban đầu với số ngẫu nhiên để tạo chìa khóa có độ an tồn cao Số ngẫu nhiên gọi salt, số lần lặp lại iteration Ví dụ : Một mật "pandoras B0x", với salt "230391827", qua hàm hash SHA-1 1000 lần cho kết chìa khóa có độ dài 160 bit sau: 3BD454A72E0E7CD6959DE0580E3C19F51601C359 (thể dạng số thập lục phân) 2.3 Keylength (Keysize): Độ dài (hay độ lớn) chìa khóa Nói chìa khóa có độ dài 128 bit có nghĩa chìa số nhị phân có độ dài 128 chữ số Một thuật tốn có chìa khóa dài có nhiều khả chống lại cơng kiểu brute-force Download source code Sharecode.vn II THUẬT TOÁN MÃ HÓA Ở ta dùng hai đối tượng Alice Bod để mô tả cho đối tượng gởi nhận 1) Cổ điển : 1.1 Substitution: thay – phương pháp mã hóa kí tự (hoặc nhóm kí tự) văn ban đầu thay (hay nhóm) kí tự khác Tuy khơng cịn sử dụng ý tưởng phương pháp tiếp tục thuật toán đại 1.2 Transposition: hoán vị – phương pháp mã hóa kí tự văn ban đầu thay đổi vị trí cho cịn thân kí tự khơng bị biến đổi 2) Hiện đại : 2.1 Symmetric cryptography: Mã hóa đối xứng ,tức hai q trình mã hóa giải mã dùng chìa khóa Để đảm bảo tính an tồn, chìa khóa phải giữ bí mật Vì thuật tốn loại cịn có tên gọi khác secret key cryptography (hay private key cryptography), tức thuật tốn mã hóa dùng chìa khóa riêng (hay bí mật) Các thuật tốn loại lý tưởng cho mục đích mã hóa liệu cá nhân hay tổ chức đơn lẻ bộc lộ hạn chế thơng tin phải chia sẻ với bên thứ hai Ví dụ: Giả sử Alice gửi thơng điệp mã hóa cho Bob mà khơng báo trước thuật tốn sử dụng, Bob chẳng hiểu Alice muốn nói Vì bắt buộc Alice phải thơng báo cho Bob chìa khóa thuật toán sử dụng thời điểm trước Alice làm điều cách trực tiếp (mặt đối mặt) hay gián tiếp (gửi qua email, tin nhắn ) Điều dẫn tới khả bị người thứ ba xem trộm chìa khóa giải mã thơng điệp Alice mã hóa gửi cho Bob Mã hóa đối xứng phân thành hai nhóm phụ: - Block ciphers: thuật tốn khối – khối liệu văn ban đầu thay khối liệu khác có độ dài Độ dài khối gọi Download source code Sharecode.vn block size, thường tính đơn vị bit Ví dụ thuật tốn 3-Way có kích thước khối 96 bit Ví dụ: 3DES, RC5, RC6, 3-Way, CAST, Camelia, Blowfish, MARS, Serpent, Twofish, GOST - Stream ciphers: thuật tốn dịng – liệu đầu vào mã hóa bit Các thuật tốn dịng có tốc độ nhanh thuật toán khối, dùng khối lượng liệu cần mã hóa chưa biết trước ( ví dụ kết nối khơng dây) Có thể coi thuật tốn dịng thuật tốn khối với kích thước khối bit Ví dụ: RC4, A5/1, A5/2, Chameleon 2.2 Asymmetric cryptography: Mã hóa bất đối xứng, sử dụng cặp chìa khóa có liên quan với mặt tốn học, chìa cơng khai dùng để mã hố (public key) chìa bí mật dùng để giải mã (private key) Một thông điệp sau mã hóa chìa cơng khai giải mã với chìa bí mật tương ứng Do thuật tốn loại sử dụng chìa khóa cơng khai (khơng bí mật) nên cịn có tên gọi khác public-key cryptography (thuật tốn mã hóa dùng chìa khóa cơng khai) Quay lại với Alice Bob, Alice muốn gửi thơng điệp bí mật tới Bob, ta tìm chìa cơng khai Bob Sau kiểm tra chắn chìa khóa Bob không khác (thông qua chứng điện tử – digital certificate), Alice dùng để mã hóa thơng điệp gửi tới Bob Khi Bob nhận thơng điệp mã hóa dùng chìa bí mật để giải mã Nếu giải mã thành cơng thơng điệp dành cho Bob Alice Bob trường hợp hai người chưa quen biết Một hệ thống cho phép hai người thực giao dịch khơng chia sẻ trước thơng tin bí mật Một hạn chế thuật toán mã hóa bất đối xứng tốc độ chậm, thực tế người ta thường sử dụng hệ thống lai tạp liệu mã hóa thuật tốn đối xứng, có chìa dùng để thực việc mã hóa mã hóa thuật tốn bất đối xứng 3) So sánh đối xứng bất đối xứng: Mã hóa đối xứng Khóa: Mã hóa bất đối xứng Giải mã mã hóa với chìa có quan hệ rõ ràng với (có thể suy chìa biết chìa cịn lại) Download source code Sharecode.vn Mã hóa chìa cơng khai (Public key), giải mã chìa bí mật (Private key) Tốc độ: Các thuật tốn đối xứng nói chung địi hỏi cơng suất tính tốn thuật tốn khóa bất đối xứng (asymmetric key algorithms) Một thuật tốn khóa bất đối xứng có khối lượng tính tốn nhiều gấp trăm, ngàn lần thuật tốn khóa đối xứng có độ an tồn tương đương An tồn: Cả hai thuật tốn đảm bảo an tồn liệu Tuy nhiên cần truyền liệu diện rộng ( qua mạng internet) thuật tốn mã hóa bất đối xứng khó bị lộ chìa khóa Tuy nhiên mã hóa thơng tin người ta thường sử dụng phương pháp lai tạp, nghĩa kết hợp đối xứng bất đối xứng ( dùng đối xứng để mã hóa liệu dùng bất đối xứng để mã hóa key phép đối xứng gởi kèm theo liệu) 4) Hàm hash : Hashing phương thức mật mã khơng phải thuật toán mã hoá Đúng vậy, hashing sử dụng chứng số biết đến với tên “hash value – giá trị hash”, “hash – băm”, Message Authentication Code (MAC), fingerprint – vân tay, hay đoạn message Hàm hash (hash function) hàm chiều mà đưa lượng liệu qua hàm cho chuỗi có độ dài cố định đầu Ví dụ: từ "Illuminatus" qua hàm SHA-1 cho kết E783A3AE2ACDD7DBA5E1FA0269CBC58D Ta cần đổi "Illuminatus" thành "Illuminati" (chuyển "us" thành "i") kết trở nên hồn tồn khác (nhưng có độ dài cố định 160 bit) A766F44DDEA5CACC3323CE3E7D73AE82 Download source code Sharecode.vn Dữ liệu đầu vào bạn file, ổ đĩa trình truyền thơng tin mạng, hay thư điện tử Thông số hash value sử dụng để phát có thay đổi liệu đầu vào Nói cách khác, hashing sử dụng để phát liệu có tồn vẹn q trình lưu trữ hay truyền hay khơng Khơng phương thức mật mã khác (chúng làm thay đổi liệu thành dạng mật mã), trình hashing tính tốn đưa thơng số hash value liệu không thay đổi liệu ban đầu Hai tính chất quan trọng hàm là: o Tính chiều: khơng thể suy liệu ban đầu từ kết quả, điều tương tự việc bạn dựa vào dấu vân tay lạ mà suy chủ o Tính nhất: xác suất để có vụ va chạm (hash collision), tức hai thơng điệp khác có kết hash, nhỏ Một số ứng dụng hàm hash: • Chống phát xâm nhập: chương trình chống xâm nhập so sánh giá trị hash file với giá trị trước để kiểm tra xem file có bị thay đổi hay khơng • Bảo vệ tính tồn vẹn thơng điệp gửi qua mạng cách kiểm tra giá trị hash thông điệp trước sau gửi nhằm phát thay đổi cho dù nhỏ Ví dụ: thơng số hash value tính tốn để so sánh với thông số hash value tạo trước tuần Nếu hai thơng số giống liệu chưa có thay đổi Nếu hai thơng số có khác nhau, liệu bị thay đổi Trong hình thể hash hay thông số MAC Thông số MAC value tính tốn người gửi (sender) người nhận (receive) với thuật toán Download source code Sharecode.vn • Tạo chìa khóa từ mật • Tạo chữ kí điện tử Thuật tốn hashing thường sử dụng:     Secure Hash Algorithm (SHA-1) với – 160-bit hash value Message Digest (MD5) với —128-bit hash value Message Digest (MD4) với —128-bit hash value Message Digest (MD2) với —128-bit hash value SHA-1 MD5 hai hàm hash thông dụng sử dụng nhiều hệ thống bảo mật Vào tháng năm 2004, hội nghị Crypto 2004, người ta tìm thấy va chạm MD5 SHA-0, phiên yếu hàm hash SHA-1 Khơng sau đó, vào khoảng tháng năm 2005, nhóm ba nhà mật mã học người Trung Quốc phát phương pháp tìm thấy va chạm SHA-1 vịng 269 bước tính tốn (tức nhanh brute-force vài nghìn lần) Người dùng bình thường không cần phải hoảng sợ trước phát phải vài năm người ta có khả mang kết vào thực tế Tuy vậy, chuyên gia khuyên nên bắt đầu chuyển sang hàm hash an toàn SHA-256, SHA-384 hay SHA512 Download source code Sharecode.vn III MỘT SỐ PHƯƠNG PHÁP TẤN CƠNG HỆ THỐNG THƠNG TIN MÃ HĨA Bất tạo hệ thống thơng tin mã hóa cho riêng Nhưng để có hệ thống an tồn hiệu địi hỏi người thiết kế phải có kiến thức tốn học sâu sắc, có kinh nghiệm bảo mật am hiểu phương pháp công 1) Brute-force attack (exhaustive key search): phương pháp cơng cách thử tất chìa khóa có Đây phương pháp cơng thơ sơ khó khăn Theo lý thuyết, tất thuật tốn đại bị đánh bại brute-force thực tiễn việc thực thời gian hàng triệu, chí hàng tỉ năm Vì coi thuật tốn an tồn khơng cịn cách khác để cơng dễ brute-force Ví dụ: Thuật tốn DES có độ dài chìa khóa 56 bit Nếu muốn "bẻ khố” DES cách thử hàng loạt chìa (brute-force attack) phải thử khoảng 70 triệu tỉ lần 2) Frequency analysis: thống kê tần suất, áp dụng thuật tốn cổ điển dùng phương pháp thay thế, ví dụ phương pháp Caesar Để thực phương pháp ta cần lượng văn mã hóa đủ lớn để phép thống kê xác Ngồi cịn phải biết ngơn ngữ sử dụng văn ban đầu, văn ban đầu tiếng Anh nhiều khả kí tự xuất nhiều văn mã hóa chữ e mã hóa thành, kí tự nhiều thứ nhì bắt nguồn từ chữ a 3) Differential cryptanalysis: Eli Biham Adi Shamir tìm phương pháp vào khoảng cuối năm 1980; thường sử dụng để cơng thuật tốn khối (block cipher - nói rõ phần sau) Phương pháp dựa việc phân tích biến đổi hai văn gốc có liên quan mã hóa chìa Cịn nhiều phương pháp khác Mod-n cryptanalysis, Linear cryptanalysis, Birthday attack, Algebraic attack mà thiết kế hệ thống mã hóa phải ý tới Download source code Sharecode.vn từ ba phương pháp phá mã khác xác định với mức độ phức tạp nhỏ công duyệt tồn Tuy nhiên phương pháp địi hỏi số lượng rõ lớn (để công lựa chọn rõ) nên thực thực tế  Tấn công kiểu duyệt toàn : Đối với phương pháp mã hóa nào, kiểu cơng đơn giản cơng kiểu duyệt tồn bộ: thử tất khóa tìm khóa Độ dài khóa xác định số lượng phép thử tối đa cần thực thể tính khả thi phương pháp Trong trường hợp DES, nghi ngờ độ an tồn đặt từ chưa trở thành tiêu chuẩn Người ta cho NSA ủng hộ (nếu khơng muốn nói thuyết phục) IBM giảm độ dài khóa từ 128 bit xuống 64 bit tiếp tục xuống 56 bit Điều dẫn đến suy đốn NSA có hệ thống tính tốn đủ mạnh để phá vỡ khóa 56 bit từ năm 1970 Hệ thống phá mã DES Hiệp hội EFF xây dựng với ngân sách 250000 đô la Mỹ Hệ thống bao gồm 1536 vi xử lý thiết kế riêng có khả cơng kiểu duyệt tồn khóa DES vịng vài ngày Hình ảnh thể phần bảng mạch hệ thống chứa vài vi xử lý Trong giới nghiên cứu, nhiều đề xuất hệ thống phá mã DES đề Năm 1977, Diffie Hellman dự thảo hệ thống có giá khoảng 20 triệu la Mỹ có khả phá khóa DES ngày Năm 1993, Wiener dự thảo hệ thống khác có khả phá mã vịng với giá triệu la Mỹ Những điểm yếu DES thực chứng minh vào cuối năm 1990 Download source code Sharecode.vn Vào năm 1997, công ty bảo mật RSA tài trợ chuỗi thi với giải thưởng 10.000 đô la Mỹ cho đội phá mã tin mã hóa DES Đội chiến thắng thi dự án DESCHALL với người dẫn đầu bao gồm Rocke Verser, Matt Curtin Justin Dolske Họ sử dụng hàng nghìn máy tính nối mạng để phá mã Khả phá mã DES chứng minh thêm lần vào năm 1998 tổ chức Electronic Frontier Foundation (EFF), tổ chức hoạt động cho quyền công dân Internet, xây dựng hệ thống chuyên biệt để phá mã với giá thành 250000 đô la Mỹ Động thúc đẩy EFF hành động nhằm chứng minh DES bị phá vỡ lý thuyết thực tế: "Nhiều người không tin vào chân lý họ nhìn thấy việc mắt Xây dựng máy phá khóa DES vịng vài ngày cách chứng tỏ với người họ đảm bảo an ninh thông tin dựa vào DES." Hệ thống tìm khóa DES phương pháp duyệt toàn thời gian ngày; vào khoảng thời gian đó, chưởng lý Bộ Tư pháp Hoa Kỳ (DOJ) tuyên bố DES bị phá vỡ  Các kiểu cơng khác hiệu duyệt tồn : Hiện có kiểu cơng có khả phá vỡ DES (với đủ 16 chu trình) với độ phức tạp thấp duyệt toàn bộ: phá mã vi sai (differential cryptanalysis DC), phá mã tuyến tính (linear cryptanalysis - LC) phá mã Davies (Davies' attack) Tuy nhiên dạng công chưa thực thực tế Phá mã vi sai : Eli Biham Adi Shamir tìm vào cuối năm 1980 IBM NSA biết đến trước Để phá mã DES với đủ 16 chu trình, phá mã vi sai cần đến 47 văn rõ DES thiết kế để chống lại cơng dạng Phá mã tuyến tính : tìm Mitsuru Matsui địi hỏi 43 văn rõ (Matsui, 1993) Phương pháp Matsui thực thực nghiệm phá mã cơng bố Khơng có chứng chứng tỏ DES có khả chống lại cơng dạng Một phương pháp tổng quát hơn, phá mã tuyến tính đa chiều (multiple linear cryptanalysis), Kaliski Robshaw nêu vào năm 1994, Biryukov cộng tiếp tục cải tiến vào năm 2004 Nghiên cứu họ cho thấy mơ tuyến tính đa chiều sử dụng để giảm độ phức tạp trình phá mã tới lần (chỉ 241 văn rõ) Kết tương tự đạt với kiểu cơng tuyến tính kết hợp với lựa chọn rõ (Knudsen and Mathiassen, 2000) Junod (2001) thực số thực nghiệm để tìm độ phức tạp thực tế phá mã tuyến tính thấy q trình thực tế nhanh dự đốn: 239×241 Download source code Sharecode.vn Phá mã Davies: phá mã vi sai phá mã tuyến tính kỹ thuật phá mã tổng qt, áp dụng cho thuật toán khác nhau, phá mã Davies kỹ thuật dành riêng cho DES Dạng công đề xuất lần đầu Davies vào cuối năm 1980 cải tiến Biham Biryukov (1997) Dạng cơng mạnh địi hỏi 250 văn rõ, độ phức tạp 250 có tỷ lệ thành cơng 51% Ngồi cịn có kiểu cơng dựa thu gọn DES - DES với 16 chu trình Những nghiên cứu cho biết số lượng chu trình cần có ranh giới an tồn hệ thống Năm 1994, Langford Hellman đề xuất phá mã vi sai - tuyến tính (differential-linear cryptanalysis) kết hợp phá mã vi sai tuyến tính Một dạng cải tiến phương pháp phá vỡ DES chu trình với 215.8 văn rõ có độ phức tạp 229.2 (Biham et al, 2002)  Một vài đặc điểm cách giải mã : DES có tính chất bù: phần bù x theo bít (1 thay ngược lại) EK mã hóa E với khóa K P C văn rõ (trước mã hóa) văn mã (sau mã hóa) Do tính bù, ta giảm độ phức tạp cơng duyệt tồn xuống lần (tương ứng với bít) với điều kiện ta lựa chọn rõ Ngồi DES cịn có khóa yếu (weak keys) Khi sử dụng khóa yếu mã hóa (E) giải mã (D) cho kết quả: EK(EK(P)) = P or equivalently , EK = DK Bên cạnh đó, cịn có cặp khóa nửa yếu (semi-weak keys) Mã hóa với khóa cặp, K1, tương đương với giải mã với khóa cịn lại, K2: or equivalently, Tuy nhiên dễ dàng tránh khóa thực thuật tốn, cách thử chọn khóa cách ngẫu nhiên Khi khả chọn phải khóa yếu nhỏ DES chứng minh khơng tạo thành nhóm Nói cách khác, tập hợp {EK} (cho tất khóa có thể) theo phép hợp thành khơng tạo thành nhóm hay gần với nhóm (Campbell and Wiener, 1992) Vấn đề cịn để mở khơng có tính chất DES bị phá vỡ dễ dàng Download source code Sharecode.vn việc áp dụng DES nhiều lần (ví dụ Triple DES) khơng làm tăng thêm độ an tồn DES 3) AES: viết tắt Advance Encryption Standard Tháng 12 năm 1997, viện tiêu chuẩn công nghệ Mỹ (NIST – National Institute of Standard and Technology) kêu gọi phát triển thuật toán thay cho 3DES (một biến thể an tồn DES với chìa khóa dài 112 bit) Thuật tốn chọn phải thuật tốn khối có kích thước khối 128 bit, hỗ trợ chìa khóa có kích thước 128 bit, 192 bit 256 bit 15 thuật toán gửi đến từ nhiều nơi giới, thuật toán lọt vào vòng hai: Rijndael, Twofish, Serpent, RC6 MARS Tháng 11 năm 2001, Rijndael đuợc chọn làm AES (một phần nhờ có tốc độ nhanh so với đối thủ), thức thay DES vai trị chuẩn mã hóa liệu 4) RSA: Trong mật mã học , RSA thuật tốn mã hóa khóa cơng khai Đây thuật toán phù hợp với việc tạo chữ ký điện tử đồng thời với việc mã hóa Nó đánh dấu tiến vượt bậc lĩnh vực mật mã học việc sử dụng khóa cơng cộng RSA sử dụng phổ biến thương mại điện tử cho đảm bảo an toàn với diiều kiện độ dài khóa đủ lớn a) Lịch sử phát triển : Thuật toán Ron Rivest , Adi Shamir Len Adleman mô tả lần vào năm 1977 học viện Công nghệ Massachusetts ( MIT) Tên thuật toán lấy từ chữ tác giả Trước , vào năm 1973 ,Clifford Cocks , nhà toán học người Anh làm việc GCHQ mơ tả thuật tốn tương tự Với khả tính tốn thời điểm thuật tốn khơng khả thi chưa thực nghiệm Tuy nhiên , phát minh cơng bố vào năm 1997 xếp vào loại tuyệt mật Thuật toán RSA MIT đăng ký sáng chế Hoa Kỳ vào năm 1983 Tuy nhiên , thuật toán cơng bố trước có đăng ký bảo hộ nên bảo hộ khơng có giá trị bên ngồi Hoa Kỳ Ngồi , cơng trình Clifford Cocks cơng bố trước sáng chế RSA đăng ký b) Nguyên tắc hoạt động :  Mô tả sơ lược : Download source code Sharecode.vn Thuật toán RSA có hai khóa :khóa cơng khai ( hau khóa cơng cộng ) khóa bí mật ( hay khóa cá nhân ) Mỗi khóa khố cố định sử dụng q trình mã hóa giải mã Khóa cơng khai cơng bố rộng rãi cho người dùng để mã hóa Những thơng tin mã hóa khóa cơng khai giải mã khóa bí mật tương ứng Nói cách khác, người mã hóa có người biết khóa cá nhân (bí mật) giải mã Ta mơ trực quan hệ mật mã khố cơng khai sau : Bob muốn gửi cho Alice thông tin mật mà Bob muốn Alice đọc Để làm điều này, Alice gửi cho Bob hộp có khóa mở sẵn giữ lại chìa khóa Bob nhận hộp, cho vào tờ giấy viết thư bình thường khóa lại (như loại khố thơng thường cần sập chốt lại, sau sập chốt khóa Bob mở lại được-không đọc lại hay sửa thông tin thư nữa) Sau Bob gửi hộp lại cho Alice Alice mở hộp với chìa khóa đọc thơng tin thư Trong ví dụ này, hộp với khóa mở đóng vai trị khóa cơng khai, chìa khóa khóa bí mật  Tạo khóa : Giả sử Alice Bob cần trao đổi thơng tin bí mật thơng qua kênh khơng an tồn (ví dụ Internet ) Với thuật toán RSA, Alice cần tạo cho cặp khóa gồm khóa cơng khai khóa bí mật theo bước sau: Chọn số nguyên tố lớn với , lựa chọn ngẫu nhiên độc lập Tính: Tính: giá trị hàm số Ơle Chọn số tự nhiên e cho với Tính: d cho • Một số lưu ý: số nguyên tố - Các số nguyên tố thường chọn phương pháp thử xác suất - Các bước thực giải thuật Euclid mở rộng - Bước viết cách khác: Tìm số tự nhiên cho số tự nhiên Khi sử dụng giá trị - Từ bước 3, PKCS#1 v2.1 sử dụng thay cho Download source code Sharecode.vn • Khóa cơng khai bao gồm: n, môđun, e, số mũ công khai (cũng gọi số mũ mã hóa) • Khóa bí mật bao gồm: n, mơđun, xuất khóa cơng khai khóa bí mật, d, số mũ bí mật (cũng gọi số mũ giải mã) Một dạng khác khóa bí mật bao gồm: p and q, hai số nguyên tố chọn ban đầu, d mod (p-1) d mod (q-1) (thường gọi dmp1 dmq1), (1/q) mod p (thường gọi iqmp) Dạng cho phép thực giải mã ký nhanh với việc sử dụng định lý số dư Trung Quốc (tiếng Anh: Chinese Remainder Theorem - CRT) Ở dạng này, tất thành phần khóa bí mật phải giữ bí mật Alice gửi khóa cơng khai cho Bob, giữ bí mật khóa cá nhân Ở đây, p q giữ vai trò quan trọng Chúng phân tố n cho phép tính d biết e Nếu khơng sử dụng dạng sau khóa bí mật (dạng CRT) p q xóa sau thực xong q trình tạo khóa  Mã hóa : Giả sử Bob muốn gửi đoạn thông tin M cho Alice Đầu tiên Bob chuyển M thành số m < n theo hàm đảo ngược (từ m xác định lại M) thỏa thuận trước Lúc Bob có m biết n e Alice gửi Bob tính c mã hóa m theo cơng thức: Hàm tính dễ dàng sử dụng phương pháp tính hàm mũ ( theo mơđun) ( thuật tốn bình phương nhân ) Cuối Bob gửi c cho Alice  Giải mã : Alice nhận c từ Bob biết khóa bí mật d Alice tìm m từ c theo công thức sau: Biết m, Alice tìm lại M theo phương pháp thỏa thuận trước Q trình giải mã hoạt động ta có Download source code Sharecode.vn Do ed ≡ (mod p-1) ed ≡ (mod q-1), ( theo Định lý Fermat nhỏ ) nên: Do p q hai số nguyên tố nhau, áp dụng định lý số dư Trung Quốc, ta có: hay:  Ví dụ : Sau ví dụ với số cụ thể Ở sử dụng số nhỏ để tiện tính tốn cịn thực tế phải dùng số có giá trị đủ lớn Lấy : p = 61 — số nguyên tố thứ (giữ bí mật hủy sau tạo khóa) q = 53 — số nguyên tố thứ hai (giữ bí mật hủy sau tạo khóa) n = pq = — môđun (công bố công khai) 3233 e = 17 — số mũ công khai d = 2753 — số mũ bí mật Khóa cơng khai cặp (e, n) Khóa bí mật d Hàm mã hóa là: encrypt(m) = me mod n = m17 mod 3233 với m văn rõ Hàm giải mã là: decrypt(c) = cd mod n = c2753 mod 3233 với c văn mã Để mã hóa văn có giá trị 123, ta thực phép tính: encrypt(123) = 12317 mod 3233 = 855 Để giải mã văn có giá trị 855, ta thực phép tính: decrypt(855) = 8552753 mod 3233 = 123 Cả hai phép tính thực hiệu nhờ giải thuật bình phương nhân  Chuyển đổi văn rõ : Download source code Sharecode.vn Trước thực mã hóa, ta phải thực việc chuyển đổi văn rõ (chuyển đổi từ M sang m) cho khơng có giá trị M tạo văn mã khơng an tồn Nếu khơng có q trình này, RSA gặp phải số vấn đề sau: Nếu m = m = tạo mã có giá trị tương ứng Khi mã hóa với số mũ nhỏ (chẳng hạn e = 3) m có giá trị nhỏ, giá trị e m nhận giá trị nhỏ (so với n) Như phép mơđun khơng có tác dụng dễ dàng tìm m cách khai bậc e c (bỏ qua môđun) RSA phương pháp mã hóa xác định ( khơng có thành phần ngẫu nhiên) nên kẻ cơng thực công lựa chọn rõ cách tạo bảng tra rõ mã Khi gặp mã, kẻ công sử dụng bảng tra để tìm rõ tương ứng Trên thực tế, ta thường gặp vấn đề đầu gửi tin ASCII ngắn với m nhóm vài ký tự ASCII Một đoạn tin có ký tự NUL gán giá trị m = cho mã giá trị e N Tương tự, ký tự ASCII khác, SOH, có giá trị ln cho mã Với hệ thống dùng giá trị e nhỏ tất ký tự ASCII cho kết mã hóa khơng an tồn giá trị lớn m 255 2553 nhỏ giá trị n chấp nhận Những mã dễ dàng bị phá mã Để tránh gặp phải vấn đề trên, RSA thực tế thường bao gồm hình thức chuyển đổi ngẫu nhiên hóa m trước mã hóa Q trình chuyển đổi phải đảm bảo m không rơi vào giá trị khơng an tồn Sau chuyển đổi, rõ mã hóa cho số khả tập hợp mã Điều làm giảm tính khả thi phương pháp cơng lựa chọn rõ (một rõ tương ứng với nhiều mã tuỳ thuộc vào cách chuyển đổi) Một số tiêu chuẩn, chẳng hạn PKCS , thiết kế để chuyển đổi rõ trước mã hóa RSA Các phương pháp chuyển đổi bổ sung thêm bít vào M Các phương pháp chuyển đổi cần thiết kế cẩn thận để tránh dạng công phức tạp tận dụng khả biết trước cấu trúc rõ Phiên ban đầu PKCS dùng phương pháp đặc ứng (ad-hoc) mà sau biết không an tồn trước cơng lựa chọn rõ thích ứng (adaptive chosen ciphertext attack) Các phương pháp chuyển đổi đại sử dụng kỹ thuật chuyển đổi mã hóa bất đối xứng tối ưu (Optimal Asymmetric Encryption Padding - OAEP) để chống lại công dạng Tiêu chuẩn PKCS cịn bổ sung tính khác để đảm bảo an toàn cho chữ ký RSA (Probabilistic Signature Scheme for RSA - RSA-PSS)  Tạo chữ ký số cho văn : Thuật tốn RSA cịn dùng để tạo chữ ký số cho văn Giả sử Alice muốn gửi cho Bob văn có chữ ký Để làm việc này, Alice tạo giá trị băm (hash value) văn cần ký tính giá trị mũ d mod n (giống Alice thực giải mã) Giá trị cuối chữ ký điện tử Download source code Sharecode.vn văn xét Khi Bob nhận văn với chữ ký điện tử, tính giá trị mũ e mod n chữ ký đồng thời với việc tính giá trị băm văn Nếu giá trị Bob biết người tạo chữ ký biết khóa bí mật Alice văn không bị thay đổi sau ký Cần ý phương pháp chuyển đổi rõ (như RSA-PSS ) giữ vai trò quan trọng trình mã hóa chữ ký điện tử khơng dùng khóa chung cho đồng thời cho hai mục đích  An ninh : Độ an toàn hệ thống RSA dựa vấn đề tốn học: tốn phân tích thừa số nguyên tố số nguyên lớn toán RSA Nếu tốn khó (khơng tìm thuật tốn hiệu để giải chúng) khơng thể thực việc phá mã toàn RSA Phá mã phần phải ngăn chặn phương pháp chuyển đổi rõ an toàn Bài tốn RSA tốn tính bậc e mơđun n (với n hợp số): tìm số m cho me=c mod n, (e, n) khóa cơng khai c mã Hiện phương pháp triển vọng giải toán phân tích n thừa số nguyên tố Khi thực điều này, kẻ cơng tìm số mũ bí mật d từ khóa cơng khai giải mã theo quy trình thuật tốn Nếu kẻ cơng tìm số nguyên tố p q cho: n = pq dễ dàng tìm giá trị (p-1)(q-1) qua xác định d từ e Chưa có phương pháp tìm máy tính để giải toán thời gian đa thức (polynomial-time) Tuy nhiên người ta chưa chứng minh điều ngược lại (sự khơng tồn thuật tốn) Xem thêm phân tích thừa số nguyên tố vấn đề Tại thời điểm năm 2005, số lớn phân tích thừa số ngun tố có độ dài 663 bít với phương pháp phân tán khóa RSA có độ dài từ 1024 tới 2048 bít Một số chuyên gia cho khóa 1024 bít sớm bị phá vỡ (cũng có nhiều người phản đối việc này) Với khóa 4096 bít khơng có khả bị phá vỡ tương lai gần Do đó, người ta thường cho RSA đảm bảo an toàn với điều kiện n chọn đủ lớn Nếu n có độ dài 256 bít ngắn hơn, bị phân tích vài với máy tính cá nhân dùng phần mềm có sẵn Nếu n có độ dài 512 bít, bị phân tích vài trăm máy tính thời điểm năm 1999 Một thiết bị lý thuyết có tên TWIRL Shamir Tromer mô tả năm 2003 đặt câu hỏi độ an tồn khóa 1024 bít Vì người ta khuyến cáo sử dụng khóa có độ dài tối thiểu 2048 bít Năm 1993, Peter Shor cơng bố thuật tốn Shor rằng: máy tính lượng tử (trên lý thuyết) giải tốn phân tích thừa số thời gian đa thức Tuy nhiên, máy tính lượng tử chưa thể phát triển tới mức độ nhiều năm c) Các vấn đề đặt thực tế : Download source code Sharecode.vn  Q trình tạo khóa : Việc tìm số nguyên tố đủ lớn p q thường thực cách thử xác suất số ngẫu nhiên có độ lớn phù hợp (dùng phép kiểm tra nguyên tố cho phép loại bỏ hầu hết hợp số) p q cần chọn khơng q gần để phịng trường hợp phân tích n phương pháp phân tích Fermat Ngồi ra, p-1 q-1 có thừa số ngun tố nhỏ n dễ dàng bị phân tích p q cần thử để tránh khả Bên cạnh đó, cần tránh sử dụng phương pháp tìm số ngẫu nhiên mà kẻ cơng lợi dụng để biết thêm thông tin việc lựa chọn (cần dùng tạo số ngẫu nhiên tốt) Yêu cầu số lựa chọn cần đồng thời ngẫu nhiên khơng dự đốn Đây yêu cầu khác nhau: số lựa chọn ngẫu nhiên (khơng có kiểu mẫu kết quả) dự đốn dù phần an ninh thuật tốn khơng đảm bảo Một ví dụ bảng số ngẫu nhiên tập đoàn Rand xuất vào năm 1950 thực ngẫu nhiên kẻ cơng có bảng Nếu kẻ cơng đốn nửa chữ số p hay q chúng dễ dàng tìm nửa lại (theo nghiên cứu Donald Coppersmith vào năm 1997 ) Một điểm cần nhấn mạnh khóa bí mật d phải đủ lớn Năm 1990 , Wiener giá trị p nằm khoảng q 2q (khá phổ biến) d < n1/4/3 tìm d từ n e Mặc dù e có giá trị số mũ nhỏ không cịn sử dụng tạo nên lỗ hổng (đã đề cập phần chuyển đổi văn rõ) Giá trị thường dùng 65537 xem đủ lớn khơng q lớn ảnh hưởng tới việc thực hàm mũ  Tốc độ : RSA có tốc độ thực chậm đáng kể so với DES thuật toán mã hóa đối xứng khác Trên thực tế, Bob sử dụng thuật tốn mã hóa đối xứng để mã hóa văn cần gửi sử dụng RSA để mã hóa khóa để giải mã (thơng thường khóa ngắn nhiều so với văn bản) Phương thức tạo vấn đề an ninh Một ví dụ cần phải tạo khóa đối xứng thật ngẫu nhiên Nếu không, kẻ công (thường ký hiệu Eve) bỏ qua RSA tập trung vào việc đốn khóa đối xứng Phân phối hóa : Cũng giống thuật tốn mã hóa khác, cách thức phân phối khóa cơng khai yếu tố định độ an tồn RSA Q trình phân phối khóa cần chống lại công đứng (man-in-the-middle attack) Giả sử Eve gửi cho Bob khóa khiến Bob tin Download source code Sharecode.vn khóa (cơng khai) Alice Đồng thời Eve có khả đọc thơng tin trao đổi Bob Alice Khi đó, Eve gửi cho Bob khóa cơng khai (mà Bob nghĩ khóa Alice) Sau đó, Eve đọc tất văn mã hóa Bob gửi, giải mã với khóa bí mật mình, giữ copy đồng thời mã hóa khóa cơng khai Alice gửi cho Alice Về nguyên tắc, Bob Alice không phát can thiệp người thứ ba Các phương pháp chống lại dạng cơng thường dựa chứng thực khóa công khai (digital certificate) thành phần hạ tầng khóa cơng khai (public key infrastructure - PKI)  Tấn công dựa thời gian : Vào năm 1995, Paul Kocher mô tả dạng công lên RSA: kẻ công nắm đủ thông tin phần cứng thực mã hóa xác định thời gian giải mã số mã lựa chọn nhanh chóng tìm khóa d Dạng cơng áp dụng hệ thống chữ ký điện tử sử dụng RSA Năm 2003, Dan Boneh David Brumley chứng minh dạng cơng thực tế hơn: phân tích thừa số RSA dùng mạng máy tính (Máy chủ web dùng SSL) Tấn cơng khai thác thơng tin rị rỉ việc tối ưu hóa định lý số dư Trung quốc mà nhiều ứng dụng thực Để chống lại công dựa thời gian đảm bảo trình giải mã ln diễn thời gian khơng đổi văn mã Tuy nhiên, cách làm giảm hiệu suất tính tốn Thay vào đó, hầu hết ứng dụng RSA sử dụng kỹ thuật gọi che mắt Kỹ thuật dựa tính nhân RSA: thay tính cd mod n, Alice chọn số ngẫu nhiên r tính (rec)d mod n Kết phép tính rm mod n tác động r loại bỏ cách nhân kết với nghịch đảo r Đỗi với văn mã, người ta chọn giá trị r Vì vậy, thời gian giải mã khơng cịn phụ thuộc vào giá trị văn mã  Tấn cơng lựa chọn thích nghi mã : Năm 1981, Daniel Bleichenbacher mơ tả dạng cơng lựa chọn thích nghi mã (adaptive chosen ciphertext attack) thực thực tế văn mã hóa RSA Văn mã hóa dựa tiêu chuẩn PKCS #1 v1, tiêu chuẩn chuyển đổi rõ có khả kiểm tra tính hợp lệ văn sau giải mã Do khiếm khuyết PKCS #1, Bleichenbacher thực công lên RSA dùng cho giao thức SSL (tìm khóa phiên) Do phát này, mơ hình chuyển đổi an tồn chuyển đổi mã hóa bất đối xứng tối ưu (Optimal Asymmetric Encryption Padding) khuyến cáo sử dụng Đồng thời phòng nghiên cứu RSA đưa phiên PKCS #1 có khả chống lại dạng cơng nói Download source code Sharecode.vn 3) MD5 : MD5 (Message-Digest algorithm 5) hàm băm để mã hóa với giá trị băm 128bit Từng xem chuẩn Internet, MD5 sữ dụng rơng rải chương trình an ninh mạng, thường dùng để kiểm tra tính nguyên vẹn tập tin a) Lịch sử phát triển : MD5 thiết kế Ronald Rivest vào năm 1991 để thay cho hàm băm trước đó, MD4 (cũng ơng thiết kế, trước MD2) b) Nguyên tắc hoạt động :  Thuật giải : MD5 biến đổi thơng điệp có chiều dài thành khối có kích thước cố định 128 bits Thông điệp đưa vào sẻ cắt thành khối 512 bits Thông điệp đưa vào đệm để chiều dài sẻ chia hết cho 512 Bộ đệm hoạt động sau: - Trước tiên sẻ chèn bit vào cuối thơng điệp - Tiếp hàng loạt bit Zero chiều dài nhỏ bội số 512 khoảng 64 bit - Phần lại sẻ lấp đầy số nguyên 64 bit biểu diển chiều dài ban đầu thơng điệp Thuật tốn MD5 hoạt động 128 bit Chia nhỏ thành từ 32 bit, kí hiệu A,B,C D Các giá trị số cố định Sau thuật tốn sẻ luân phiên hoạt động khối 512 bit Mỗi khối sẻ phối hợp với Quá trình xữ lý khối thông điệp bao gồm bước tương tự nhau, gọi vòng (“round”) Mỗi vòng lại gồm 16 trình tương tự dựa hàm chiều F, phép cộng module phép xoay trái… Hình bên mơ tả q trình vịng Có hàm chiều F sử dụng Mỗi vòng sử dụng hàm khác Download source code Sharecode.vn Hàm băm MD5 (còn gọi hàm tóm tắt thơng điệp - message degests) sẻ trả chuỗi số thập lục phân gồm 32 số liên tiếp Dưới ví dụ mô tả kết thu sau băm : MD5 (“ The quick brown for jumps over the lazy dog ”) = 9e107d372bb6826bd81d3542a419d6 Thậm chỉ cần tahy đổi nhỏ làm thay đổi hoàn toàn kết trả về: MD5 (“ The quick brown fox jumps over the lazy cog ”) = 1055d3e698d289f2af8663725127bd4b Ngay chuỗi rỗng cho kết phức tạp: MD5("") = d41d8cd98f00b204e9800998ecf8427e c) Ứng dụng : MD5 có ứng dụng quan trọng: 1/ MD5 sử dụng rộng rải giới phần mềm để đảm bảo tập tin tải không bị hỏng Người sử dụng so sánh thơng số kiểm tra phần mềm MD5 công bố với thông số kiểm tra phần mềm tải MD5 Hệ điều hành Unix sử dụng MD5 để kiểm tra gói mà phân phối, hệ điều hành Windows sử dụng phần mềm hãng thứ ba 2/ MD5 dùng để mã hóa mật Mục đích việc mã hóa biến đổi chuổi mật thành đoạn mã khác, cho từ đoạn mã Download source code Sharecode.vn khơng thể lần trở lại mật Có nghĩa việc giải mã khơng thể phải khỗng thời gian vơ tận (đủ để làm nản lịng hacker) d) Những Lỗ Hổng : Bất thuật tốn mã hóa bị giải mã Với MD5, từ năm 1996, người ta tìm thấy lỗ hổng Mặc dù lúc cịn chưa rõ ràng chuyên gia mã hóa nghĩ đến việc phải đưa thuật giải khác, SHA-1… Và gần đây, giới mã hố xơn xao với thơng tin thuật tốn bên nhiều ứng dụng bảo mật thông dụng, chữ ký điện tử, có lỗ hổng (trong có MD5) Mọi chuyện năm, nhà khoa học máy tính người Pháp Antoine Joux phát lỗ hổng thuật toán phổ biến MD5, thường dùng cơng nghệ chữ ký điện tử Ngay sau đó, bốn nhà nghiên cứu người Trung Quốc lại phát hành công trình nghiên cứu cách xun phá thuật tốn thứ hai có tên SHA-0 Tuy giai đoạn nghiên cứu sơ song phát tạo điều kiện để kẻ xấu cài chương trình cửa sau (backdoor) bí mật vào mã máy tính, giả mạo chữ ký điện tử Trừ phi thuật toán mới, bảo mật xây dựng đưa vào sử dụng! Một phát thứ ba, đón đợi đánh giá cao công bố hội thảo Crypto Hai nhà nghiên cứu Eli Biham Rafi Chen Viện Công nghệ Israel diễn thuyết cách nhận dạng hình thức cơng vào chức bảo mật thuật tốn SHA-0, thuật tốn có sơ hở Những lỗ hổng bảo mật cho "nghiêm trọng" bên thuật toán SHA-0 SHA-1, tuỳ thuộc vào mức độ chi tiết phần trình bày, làm chấn động ngành bảo mật Từ trước tới nay, SHA-1 coi chuẩn mực "vàng" thuật tốn Nó tích hợp bên nhiều chương trình thơng dụng PGP SSL, chứng thực Viện Chuẩn Cơng nghệ Quốc gia thuật tốn chữ ký điện tử Cơ quan Chuẩn Chữ ký Số phủ Mỹ phê chuẩn Cả ba thuật toán MD5, SHA-0 SHA-1 giới khoa học máy tính coi "đa chức năng" Chúng nhận dạng liệu đầu vào, từ tin nhắn email hạt nhân (kernel) hệ điều hành, tạo dấu vân tay số Chỉ thay đổi ký tự bên file đầu vào tạo dấu vân tay hoàn toàn khác Các ứng dụng bảo mật dựa vào tính "dấu vân tay nhất" làm Tuy nhiên, kẻ công tạo mộtdấu vân tay "Dolly" với dòng liệu đầu vào khác, dấu vân tay "sinh sản vơ tính" khiến phần mềm bị gài backdoor nhận dạng nhầm Kết Download source code Sharecode.vn chúng tạo chữ ký giả để vét tài khoản ngân hàng người sử dụng không may Tất nhiên, từ lâu, giới nghiên cứu hiểu khơng có thuật tốn mã hố thực tiễn tuyệt đối an toàn bảo mật Tuy vậy, họ nỗ lực thiết kế thuật toán mà thời gian cần để tạo dấu vân tay "Dolly" vô tận, với hy vọng kẻ cơng nản lịng Thế sơ hở tương tự SHA-0 tìm thấy SHA-1, điều đồng nghĩa với việc tốc độ giả mạo dấu vân tay đẩy nhanh lên 500 triệu lần, hoàn toàn tầm tay mạng máy tính tốc độ cao Tuy mức độ tác hại trầm trọng song sơ hở bảo mật thuật tốn MD5 có lẽ lại gây hậu tức Sản phẩm máy chủ Apache Web nguồn mở sử dụng MD5 để kiểm duyệt website có mã nguồn chưa bị chỉnh sửa, từ an tồn chạy máy Tương tự, sở liệu Solaris Sun Microsystems, với khả mà theo hãng tự nhận "xác minh file đích thực khơng phải phiên bị điều chỉnh để hạ gục hệ thông bảo mật'' Lỗ hổng phát MD5 cho phép kẻ công tạo file giả mạo vài với máy tính đạt chuẩn "Giờ đây, người ta chứng minh thuật tốn có lỗ hổng Trước kẻ cơng lợi dụng khai thác được, đến lúc phải dần việc sử dụng MD5.'' - nhà phân tích Hughes Viện Chuẩn Công nghệ Quốc gia nhận định ... giải mã Trong gọi tắt thuật toán  Key: chìa khóa – thơng tin dùng cho qui trình mã hóa giải mã  Code: cần phân biệt code mật mã học với code lập trình hay code Zip code Trong cryptography, code. .. Download source code Sharecode.vn Thuật toán RSA có hai khóa :khóa cơng khai ( hau khóa cơng cộng ) khóa bí mật ( hay khóa cá nhân ) Mỗi khóa khố cố định sử dụng q trình mã hóa giải mã Khóa cơng khai... đáng kể so với DES thuật toán mã hóa đối xứng khác Trên thực tế, Bob sử dụng thuật tốn mã hóa đối xứng để mã hóa văn cần gửi sử dụng RSA để mã hóa khóa để giải mã (thơng thường khóa ngắn nhiều so

Ngày đăng: 12/10/2020, 13:05

Hình ảnh liên quan

Hình 1– Cấu trúc thuật toán Feistel dùng trong DES - Quản lý xử lý thuật toán mã hóa c (kèm code c)

Hình 1.

– Cấu trúc thuật toán Feistel dùng trong DES Xem tại trang 16 của tài liệu.
Hình 2– Hàm F (F-function) dùng trong DES - Quản lý xử lý thuật toán mã hóa c (kèm code c)

Hình 2.

– Hàm F (F-function) dùng trong DES Xem tại trang 18 của tài liệu.
Hình 3– Quá trình tạo khóa con trong DES - Quản lý xử lý thuật toán mã hóa c (kèm code c)

Hình 3.

– Quá trình tạo khóa con trong DES Xem tại trang 19 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan