1. Khởi nguồn eSTREAM
Dự án mã dòng - eSTREAM được bắt đầu từ Hội nghị RSA Data Security năm 2004. Vấn đề nghiên cứu và phát triển mã dòng đã thu hút được sự quan tâm của nhiều chuyên gia mật mã trên thế giới. Adi Shamir, chuyên gia của Cryptographer’s Panel (Ban Hội thẩm của người làm mật mã) đã có một số bài bình luận sâu sắc về tình trạng của các mã dòng. Shamir băn khoăn rằng, với việc triển khai rộng rãi Tiêu chuẩn mã hóa tiên tiến - AES [8], liệu nhu cầu về một thiết kế chuyên dụng của mã dòng có còn hay không? Nhiều ý kiến cho rằng với phần lớn các ứng dụng, việc sử dụng AES trong một chế độ mã dòng thích hợp [9] đã cung cấp một lời giải hoàn toàn đủ và chưa xác định được cách tốt nhất để thiết kế một mã dòng chuyên dụng. Vì hầu như các mã dòng không lọt qua được dự án NESSIE [1]. Tuy nhiên, trong lập luận phản bác lại, Shamir đã đưa ra nhận định rằng có hai lĩnh vực mà ở đó mã dòng chuyên dụng có thể là đề xuất với ưu thế mạnh hơn so với các mã khối, đó là trường hợp yêu cầu phần mềm với thông lượng cao khác thường và trường hợp yêu cầu phần cứng với mức tiêu thụ tài nguyên thấp khác thường.
Với mục đích đẩy mạnh sự hợp tác của những nhà nghiên cứu châu Âu trong an toàn thông tin, đặc biệt là trong mật mã (cryptology) và ẩn mã số (digital watermaking) dự án ECRYPT (European Network of Excellence for Cryptology) đã được thiết lập. Đây là một kế hoạch được cấp kinh phí trong 4 năm, trong Chương trình Công nghệ xã hội thông tin (Information Societies Technology Programme) thuộc Chương trình Khung số 6 của Cộng đồng Châu Âu (European Commission’s Sixth Framework Programme (FP6)). Nó thuộc Phương hướng hành động tiến tới khung an toàn và tin cậy tổng thể (Towards a global dependability and security framework) đã được khởi động vào ngày 1/2/2004.
Các bình luận của Shamir đã được công bố rộng rãi và để tìm hiểu hiện trạng của các mã dòng, ECRYPT đã khởi động dự án eSTREAM [2] trong năm 2004. Mục tiêu của Dự án là khuyến khích những người nghiên cứu và ngành công nghiệp mật mã xem xét hiện trạng “mã dòng đang tắt dần” và thiết lập các yêu cầu cho một thiết kế chuyên dụng.
2. eSTREAM 2004 - Bước chuẩn bị
eSTREAM nhằm giúp cộng đồng những người nghiên cứu mật mã tăng thêm hiểu biết về thiết kế và phân tích mã dòng. Dự án bắt đầu bằng một loạt các hội thảo với nhan đề “Hiện trạng của mã dòng”. Trong giai đoạn nghiên cứu khởi đầu, eSTREAM kêu gọi các đề xuất mới nên bắt đầu từ lĩnh vực công nghiệp, rõ ràng đây là một trong những cách tốt nhất để xúc tiến nghiên cứu về mã dòng. Những mã dòng này có thể là đồng bộ hay tự đồng bộ và chúng sẽ là đối tượng để phân tích trong một số năm tiếp theo, trong hoạch định của ECRYPT. Kết quả cuối cùng của eSTREAM sẽ là một danh mục nhỏ các thiết kế mã dòng triển vọng. Hai mục tiêu cụ thể hoặc Thể loại đã được định ra là:
Thể loại 1: các mã dòng cho các ứng dụng phần mềm với thông lượng cao.
Thể loại 2: các mã dòng cho các ứng dụng phần cứng với các tài nguyên rất hạn chế.
Một số chuyên gia cũng đã nhấn mạnh tầm quan trọng của việc cung cấp phương pháp xác thực cùng với việc mã hoá, vì vậy có thêm hai thể loại nữa đã được đề xuất:
Thể loại 1A: các mã dòng thoả mãn Thể loại 1 với phương pháp xác thực kết hợp.
Thể loại 2A: các mã dòng thoả mãn Thể loại 2 với phương pháp xác thực kết hợp.
Như là một điểm chung cho các mã dòng, các thiết kế được yêu cầu sử dụng một vectơ khởi tạo cũng như một khoá bí mật. Đối với các Thể loại 1A và 2A, phương pháp xác thực cần được cung cấp một thẻ xác thực (authentication tag) chú ý đến dữ liệu liên kết (associated data). Đó là dữ liệu bổ trợ mà cần phải được xác thực, nhưng không nhất thiết phải được mã hóa.
Trong suốt quá trình diễn biến của eSTREAM, các tiêu chí quan trọng nhất đánh giá các đề xuất là:
- Độ an toàn.
- Hiệu suất khi so sánh với AES trong chế độ thích hợp.
- Hiệu suất khi so sánh với các đệ trình khác.
- Lập luận chứng minh và phân tích hỗ trợ.
- Tính đơn giản và tính mềm dẻo.
- Tính đầy đủ và rõ ràng của đệ trình.
Như vậy, độ an toàn chiếm vị trí hàng đầu. Để đánh giá hiệu suất phần mềm, một loạt các môi trường đã được xem xét trong tiến trình của eSTREAM, ví dụ như Mô hình đánh giá phần mềm của Christophe Dec Cannière là một thành công đặc biệt và nó đã được những nhà nghiên cứu khác bên ngoài eSTREAM sử dụng. Đối với hiệu suất phần cứng, các kết quả cài đặt cho cả FPGA và ASIC đều đã được quan tâm. Đối với cả hai thể loại, mã pháp dự tuyển đã được so sánh với các đệ trình đồng hành của nó và các thuật toán đang tồn tại. Đặc biệt, đệ trình cần phải ưu việt hơn một cách thuyết phục so với AES ở ít nhất một khía cạnh quan trọng, với giả thiết rằng AES được sử dụng trong chế độ bộ đếm.
Tháng 4/2005, 34 mã pháp đã được đệ trình và phần nhiều trong số này đã được trình bày tại Hội nghị SKEW [3] năm đó. Các đệ trình được liệt kê ở Bảng 1, được phân chia thành các thể loại khác nhau. Các mã pháp đề nghị cơ chế xác thực được đánh dấu cùng với chữ A.
Bảng 1. Các dự tuyển cho vòng đầu của eSTREAM
3. eSTREAM 2005: Giai đoạn 1
Thiết kế mã dòng là một công việc khó khăn, bởi vậy sau một năm, hơn một nửa các đề xuất ban đầu đã bộc lộ điểm yếu. Tuy nhiên, tại điểm xuất phát của eSTREAM, những người quản trị đã quyết định vòng 1 là “mềm dẻo” và tất cả những người thiết kế được phép điều chỉnh lại các thiết kế của họ tại thời gian cuối của giai đoạn 1 này. Điều này được cho phép thậm chí cả khi các lỗ hổng về mật mã đáng kể đã được phát hiện. Tính mềm dẻo này trong quá trình tuyển chọn được áp dụng vì e ngại rằng cộng đồng mật mã có thể đánh mất một ý tưởng thiết kế tốt nếu mã pháp bị từ chối bởi những sơ xuất không đáng có. Tính mềm dẻo này gây nhiều phức tạp về mặt điều hành, nhưng kết quả mang lại những dự tuyển mạnh hơn nhiều trong dự án sau này.
Bằng việc xem xét các bàn luận công khai tại SASC 2005 [5] đã được đưa lên trên diễn đàn bình luận [2] và tất cả phân tích có thể. Hội đồng thẩm định đã quyết định các thuật toán được tiếp tục vào vòng 2. Các thuật toán Frogbit, MAG, Mir-1, SFINKS, SSS, TRBDK3 YAEA và Yamb đã bị loại. Đó là những mã pháp không có sự điều chỉnh lại, mặc dù có những thiếu sót đáng kể trong độ an toàn hoặc hiệu suất, hoặc không có mã lệnh, tài liệu cập nhật.
4. eSTREAM 2007: Giai đoạn 2
Các thuật toán được đi tiếp vào giai đoạn 2 của eSTREAM được liệt kê ở Bảng 2. Các mã pháp đề xuất cơ chế xác thực được quy ước với chữ cái (A). Đối với các mã pháp đã được điều chỉnh lại, số của phiên bản được cung cấp bởi các tác giả, hoặc dấu (P2) được sử dụng để chỉ ra phiên bản được xem xét trong giai đoạn 2. Một điều dễ nhận thấy rằng, một số mã pháp đã thay bằng các khoá có độ dài khác.
Bảng 2 cho thấy rằng, chỉ có một rút gọn không đáng kể về số lượng các dự tuyển được xem xét.
Bảng 2. Các thuật toán được tiến cử vào giai đoạn 2 của eSTREAM
Đó là kết quả của việc cho phép các điều chỉnh lại đáng kể các đề xuất và số lượng các thuật toán trong giai đoạn 2 phụ thuộc vào giới hạn thời gian phân tích mã. Vấn đề an toàn của các đệ trình đã được xác định rõ, chẳng hạn như các tấn công khôi phục khoá (từng phần) hoặc tấn công trạng thái sẽ không được tiến cử tiếp nữa. Trong quá trình xem xét giai đoạn cuối của eSTREAM, các nhân tố được khuyến khích là biểu diễn mã pháp rõ ràng và việc phân tích độc lập. Quyết định cuối cùng ở giai đoạn 2 là hoàn toàn độc lập với tình trạng về sở hữu trí tuệ của mã pháp và phụ thuộc vào tiêu chuẩn eSTREAM được dùng. Ý kiến của cộng đồng cũng được thu thập qua việc phân phát các biểu mẫu biểu quyết cho số những người dự SAC 2007. Nhìn chung, các đề xuất tương đối phù hợp với tiêu chí do Ban tổ chức đưa ra.
5. eSTREAM 2008: Giai đoạn 3
Các mã pháp được tiến cử vào giai đoạn 3 được liệt kê trong Bảng 3. Một số các mã pháp có các phương án cho phép các khoá có các độ dài khác nhau; tuy nhiên ở đây liệt kê các phiên bản có khoá 128 bit cho Thể loại 1 và khoá 80 bit cho Thể loại 2.
Bảng 3. Các thuật toán được đưa vào giai đoạn cuối của eSTREAM.
Đối với Thể loại 1 người ta đã tập trung vào các mã dòng mà có thông lượng cao cho các ứng dụng phần mềm và tất cả các thuật toán vào chung kết đã chứng tỏ tiềm năng đủ thay thế cho AES ở chế độ bộ đếm. Trong khi trọng tâm vẫn là các phiên bản sử dụng các khoá 128 bit thì các phiên bản đồng hành hỗ trợ các khoá 256 bit cũng được xem xét. Thuật toán NLS v2 đã được xem xét tiếp chỉ với vai trò của phép mã hóa vì thành phần xác thực hoạt động kém.
Đối với Thể loại 2, trọng tâm là ở các ứng dụng phần cứng với các tài nguyên hạn chế. Tiêu chuẩn chính tại giai đoạn này của eSTREAM (sau độ an toàn) là dung lượng mà việc cài đặt yêu cầu. Một yêu cầu đưa ra là thuật toán có thể cài đặt được trong ít nhất một cấu hình mà chiếm ít không gian hơn so với AES. Tuy nhiên, chắc chắn rằng các đề xuất vào chung kết đều cho phép một dải các phương án cài đặt, đó là một yêu cầu sẽ được khảo sát tiếp trong giai đoạn 3. Trong khi trọng tâm vẫn ở các mã pháp có khoá 80 bit cho Thể loại 2 thì các phiên bản đồng hành mà hỗ trợ các khoá 128 bit cũng được tiến cử.
Các mã pháp trong giai đoạn chung kết của eSTREAM đã được đề cập tới trong cuốn sách “Thiết kế các mã dòng mới” (New Stream cipher Design - Springer-Verlag, 2008), trong đó các mã pháp được lần lượt mô tả một cách đầy đủ. Cuốn sách cũng cung cấp 2 tổng quan về vấn đề cài đặt, mỗi tổng quan cho một Thể loại. Để vào được vòng thứ 3 của sSTREAM, tất cả các thuật toán đã phải thể hiện những tiến bộ đáng kể trong việc phát triển các mã dòng.
6. Danh mục eSTREAM
Dự án eSTREAM đã kết thúc với việc công bố danh mục eSTREAM. Tất nhiên, các quyết định được phản ánh trong danh mục là dựa trên đánh giá về một lĩnh vực sẽ tiếp tục được phát triển sau khi eSTREAM kết thúc. Danh mục được công bố trên trang web của eSTREAM [2] và những trang web này sẽ được duy trì trong một thời gian. Theo cách này, danh mục eSTREAM có thể được cập nhật nếu tình thế bắt buộc và nó sẽ tiếp tục phản ánh hiểu biết của cộng đồng mật mã về các thiết kế mã dòng mới rất hứa hẹn.
Tháng 4/2008, danh mục eSTREAM đã được công bố bao gồm các thuật toán:
Đến tháng 9/2008, danh mục trên đã được xem xét lại lần 1 và bao gồm các thuật toán:
Dự án eSTREAM đã thành công với sự đóng góp tích cực của những nhà thiết kế đã đệ trình các thuật toán. Đặc biệt còn có đóng góp tích cực của những người tham gia Hội đồng đánh giá, của những nhà mật mã học đã tham gia các hội nghị, hội thảo, những người tham gia cài đặt phần cứng hay phần mềm cũng như những người quản lý dự án.