MỞ ĐẦU Để đảm bảo tính toàn vẹn của thông tin, cần phải phải sử dụng khóa hợp lý. Khi tăng độ dài khóa, sự tính toán tăng lên nhiều lần theo sự tăng lên của độ dài khoá [4]. Một khoá 32 bit đòi hỏi 232 bước thử. Điều này có thể được thực hiện tại một máy tính cá nhân.
Một khoá 40 bit đòi hỏi một máy tính cá nhân thử trong vòng khoảng một tuần lễ. Một hệ thống mã hoá 56 bit đòi hỏi nhiều máy tính cá nhân hợp tác trong vòng vài tháng nhưng có thể dễ dàng phá bởi một thiết bị phần cứng đặc biệt. Giá của phần cứng này có thể chấp nhận được đối với một tổ chức tội phạm, một công ty hàng đầu hay một chính phủ. Khoá 64 bit hiện nay có thể được phá bởi một chính phủ, khoá 128 bit được coi là an toàn trong những năm gần đây.
Nhiều mã có thể bị phá không bằng cách thử mọi khả năng. Nói chung, rất khó để thiết kế một thuật toán mã hoá mà không thể bị bẻ khóa. Rất khó để giữ bí mật cho một thuật toán mã hoá bởi một người nào đó quan tâm có thể thuê một chuyên gia bẻ khoá để dịch lại và khám phá ra phương pháp mã hoá của chúng ta. Thuật toán mã hoá và chính sách sử dụng là những điểm quan tâm nhất trong việc phá vỡ một hệ thống [4, 5].
Việc bảo mật, xác thực, đảm bảo tính toàn vẹn của dữ liệu hiện nay sử dụng hàm băm kết hợp với mã hoá khoá công khai đang được đánh giá là hết sức hiệu quả. Ví dụ, việc ứng dụng trong chữ ký số: Người gửi sẽ tạo một đoạn mã bǎm, mã hoá đoạn mã bǎm bằng khoá riêng của mình và người nhận sẽ dùng khoá công khai của người gửi để giải đoạn mã bǎm của người gửi, sau đó so sánh với đoạn mã bǎm của thông điệp nhận được (được tạo bằng cùng một thuật toán). Nếu trùng nhau thì người nhận có thể tin rằng thông điệp nhận được không bị thay đổi trong quá trình truyền tải trên mạng và xuất phát từ người gửi xác định. Các hàm băm hiện nay cũng đang được ứng dụng nhiều vào thực tế, nhất là trong việc xác thực bản tin và lĩnh vực chữ ký số.
Việc nghiên cứu xây dựng các hàm 2 băm mở rộng mới và đưa ra ý tưởng về khả năng ứng dụng sẽ góp phần tăng được tính bảo mật, tính xác thực, đảm bảo tính toàn vẹn, an toàn cho thông tin dữ liệu. TÌNH HÌNH NGHIÊN CỨU Sau chiến tranh thế giới lần thứ hai, về lĩnh vực điện tử có ba lý thuyết lớn ra đời và đã cùng ảnh hưởng rất mạnh mẽ đến sự phát triển khoa học và công nghệ. Đó là lý thuyết hệ thống (System Theory), lý thuyết điều khiển (Control Theory), lý thuyết thông tin và mã hóa (mà sau được phát triển mạnh hướng mật mã). Ba lý thuyết này cùng với lý thuyết dây và giải tích hàm được coi là năm trong số những lý thuyết lớn của thế kỷ XX.
Lúc đầu lý thuyết thông tin và mã hóa được phát triển chủ yếu để phục vụ cho kỹ thuật truyền tin nhưng sau đó với sự phát triển của các kỹ thuật tính toán và kỹ thuật thám mã mà lý thuyết này phát triển thêm về mật mã học cho mọi lĩnh vực. Năm 1949, Claude Shannon đã công bố một bài báo có nhan đề "Lý thuyết thông tin trong các hệ mật" trên tạp chí "The Bell System Technical Journal". Bài báo đã có ảnh hưởng lớn đến việc nghiên cứu khoa học mật mã Mật mã học được phát triển không ngừng để bảo vệ tính xác thực (authentication), tính tin cậy (confidentability), tính toàn vẹn (integrity), cho phép (authorization), công nhận (nonrepudiation), quản trị (administration) và theo dõi kiểm toán (accounting). Các hàm băm cũng đang được phát triển để tăng tính toàn vẹn cho dữ liệu.
Các hàm băm mật mã sản sinh ra các mã băm thông điệp. Nó có thể dễ dàng tính toán nhưng nó lại rất khó để đảo ngược (dạng hàm một chiều), cho dù các thuộc tính khác thông thường cũng là cần thiết. Trên thế giới hiện nay, hàm băm có nhiều loại, có những hàm băm đơn giản, có những hàm băm phức tạp, có hàm băm độ dài đơn, có hàm băm dộ dài kép, có những hàm băm chuyên dụng, thương mại. Một cách tổng quan, có những sơ đồ hàm băm phổ biến sau đây: * Hàm băm có độ dài đơn: [3, 4, 6] 3 + Sơ đồ Matyas - Mayer - Oseas (M-M-O).
* Hàm băm có độ dài kép: [3, 4, 5, 7] + MDC-2 + MDC-4 Các sơ đồ hàm băm trên được xây dựng từ nhiều hệ mật khác nhau, trong đó hệ mật mã khóa bí mật được sử dụng nhiều, tiêu biểu là các hệ mật sau: DES, IDEA, RD.5, TDEA, AES, CAST,… Những nghiên cứu về các hệ mật này và phương pháp sử dụng chúng cho lược đồ hàm băm đã xuất hiện trong nhiều công trình từ rất nhiều năm qua [4, 6, 17]. Các hàm băm thông dụng trên thế giới hiện nay là hàm băm họ MD và họ SHS. Trong họ MD, hàm băm thường dùng hiện nay là MD5 - là một thuật toán băm mật mã sử dụng phổ biến được thiết kế bởi giáo sư Ronald L. Rivest tại trường MIT vào năm 1991 để thay thế cho hàm băm trước đó là MD4 (1990).
Là một chuẩn Internet (RFC 1321), MD5 đã được dùng trong nhiều ứng dụng bảo mật và cũng được dùng phổ biến để kiểm tra tính toàn vẹn của tập tin. Cũng như các hàm khác như MD4 và SHS (Secure Hash Standard), MD5 là phương pháp có ưu điểm tốc độ xử lý nhanh, thích hợp với các thông báo dài và cho giá trị băm 128 bit. SHS là chuẩn gồm các thuật toán băm mật mã an toàn như SHA-1, SHA-224, SHA-256, SHA-512 do NIST và NSA xây dựng [4, 5, 12]. Trước năm 2005, SHA-1 được coi là bất khả xâm phạm đối với bất kỳ tấn công nào.
Nhưng vào tháng 2/2005, tại hội nghị của CRYPTO, nhóm chuyên gia Trung Quốc đã trình bày một tấn công lên SHA-1 với đầy đủ số vòng lặp 80 [12]. Họ đã công bố một cặp xung đột của SHA-1 với thời gian tìm là 1 giờ 5 phút. Quan trọng hơn là các chuyên gia Trung Quốc đã chọn được chiến lược và phương pháp để vượt qua những chướng ngại lớn nhất trong việc tìm các xung đột trong SHA-1. Vào tháng 4 8/2005, tại một hội nghị khác của CRYPTO họ đã trình bày phương án tấn công cải tiến vào SHA-1 chỉ với 263 phép toán.
Kết quả nghiên cứu của các chuyên gia người Trung Quốc đã được các nhà mật mã trên thế giới đặc biệt quan tâm và coi đây là sự kiện có ý nghĩa bước ngoặt trong nghiên cứu hàm băm. Một số trung tâm mật mã đã kiểm tra lại và xác nhận kết luận của các nhà mật mã Trung Quốc. Một số khác trực tiếp tham gia tìm kiếm các phương án cải tiến. Tại ASIACRYPT 2006, người ta đã tìm ra phương án tấn công SHA-1 64 vòng chỉ với 235 phép toán [12] Sau sự kiện trên, mặc dù chưa phát hiện một tấn công thực tế nào lên SHA-1 nhưng NIST vẫn khuyến cáo chuyển sang sử dụng họ hàm băm an toàn hơn là SHA- 2 (bao gồm SHA-224, SHA-256, SHA-384, SHA-512) và đã dự kiến không sử dụng SHA-1 trong chữ ký số [12].
Tuy nhiên, nhiều chuyên gia cho rằng do SHA-2 có nhiều nét giống SHA -1 nên cũng không thể có triển vọng lâu dài, đã đến lúc cần xem xét lại họ hàm băm này một cách toàn diện. Bởi vậy trong hai năm 2005 - 2006, Viện NIST đã tổ chức nhiều cuộc hội thảo về hàm băm [12]. Kết quả các cuộc hội thảo cho thấy sự cần thiết phải tổ chức các cuộc thi chọn hàm băm mới tương tự như đã làm với tiêu chuẩn mã dữ liệu mới thay thế thuật toán DES những năm trước. Tuy nhiên, nếu như trong cuộc thi chọn tiêu chuẩn mã dữ liệu mới (với kết quả là thuật toán AES), các nhà tổ chức đã có được hệ thống tiêu chí để lựa chọn các ứng cử viên cho thuật toán mới thì đối với hàm băm lại không như vậy.
Có thể nói, trong số các cơ sở nguyên thủy của mật mã thì hàm băm còn được hiểu ít nhất, do đó cần phải có nhiều hàm băm được xây dựng để lựa chọn và ứng dụng vào thực tế đáp ứng yêu cầu công việc đặt ra. Việc phá mã bảo mật như SHA thường đòi hỏi một sức mạnh tính toán rất lớn. Các nhà nghiên cứu Trung Quốc khi crack SHA-1 đã không có nhiều siêu máy tính trong tay, và thay vào đó, họ sử dụng một chương trình điện toán phân tán giống như dự án SETI@Home (setiathome.edu) để khai thác sức mạnh nhàn rỗi của hàng nghìn máy tính trên thế giới và hoàn tất công việc. “Trường hợp đột nhập đáng chú ý nhất từ trước đến nay vào các hệ thống mã hóa là vụ xuyên thủng chuẩn MD5- RC64 nhờ sức mạnh của 300.000 máy tính và phải mất 5 năm”, Callas cho biết.
“Phá 5 SHA-1, khó hơn gấp 16 lần, cũng cần 300.000 máy tính nhưng phải mất xấp xỉ 74 năm”. Tuy nhiên, với việc tận dụng được sức mạnh liên kết của nhiều máy tính gia đình như các nhà khoa học Trung Quốc đã làm nói trên, thời gian thực hiện điều này đã được rút ngắn rất nhiều. Một công trình nghiên cứu tiêu biểu gần đây về hàm băm có giá trị là bài báo “A new Design Criteria for Hash-Function” của nhóm tác giả Jean-Sesbastien, Yevgenity Dodis, Cescile Malinaud và Prashant ở các trường Đại học New-York (Mỹ) và Luxembourg [12]. Bài báo này đánh giá các tính chất của các hàm băm thương mại gần đây và chỉ ra rằng các hàm băm thông dụng như SHA-1 và MD5 không còn đáp ứng được các yêu cầu hiện nay về tính bảo mật, tính va chạm và độ khuếch tán cần thiết.
Bài báo nêu ra hướng nghiên cứu cần phải có nhiều các hàm băm có độ dài mã băm lớn như SHA-512 thì mới có thể sử dụng được cho nhiều mục đích ứng dụng trong tình hình hiện nay, nhất là khi cấu hình của hệ thống máy tính hiện tại ngày một cao hơn và tốc độ xử lý của chúng ngày một nhanh hơn. Một công trình nghiên cứu khác “Properties of Cryptographic Hash Functions” của tác giả Michal RjaˇSko cũng đã có nêu các thuộc tính cơ bản của hàm băm và ứng dụng, nhưng mới chỉ tập trung vào tính một chiều, tính khó tìm nghịch ảnh, tính kháng va chạm của hàm băm chứ chưa đề cập đến tính khuếch tán của các hàm băm [37].