HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA VIỄN THÔNG I ------ BÀI TIỂU LUẬN MÔN: AN NINH MẠNG VIỄN THÔNG Đề tài: Mô hình mật mã hóa khóa đối xứng và phân tích mức tiêu thụ năng
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA VIỄN THÔNG I - -
BÀI TIỂU LUẬN
MÔN: AN NINH MẠNG VIỄN THÔNG
Đề tài: Mô hình mật mã hóa khóa đối xứng và phân tích mức tiêu thụ năng lượng của hai thuật toán mã hóa khóa đối xứng
RC4, AES trong mạng WLAN
Trang 2
BẢNG PHÂN CÔNG CÔNG VIỆC CỦA NHÓM
Chương 2: Phân tích mức tiêu thụ năng lượng của thuật toán RC4 và AES trong mạng WLAN
Phần 2.4 Kết quả
Lựa chọn ý kiến, ý tưởng, chọn đề tài Phân công công việc cho các thành viên Tìm tài liệu, thực hiện tổng hợp, hoàn thiện bản word Làm danh mục hình vẽ
2
Chương 2: Phân tích mức tiêu thụ năng lượng của thuật toán RC4 và AES trong mạng WLAN
Phần 2.1 Giới thiệu chung Phần 2.2 Nền tảng và các nghiên cứu liên quan Phần 2.3 Thiết kế và thử nghiệm
Kết luận và hướng phát triển
Tìm tài liệu liên quan đến nội dung bài tiểu luận Kiểm tra chính
tả word Làm danh mục thuật ngữ viết tắt
3
Chương 1: Mô hình mật mã hóa khóa đối xứng Phần 1.1 Giới thiệu chung về mật mã Phần 1.3
Mã hóa đối xứng hiện tại: 1.3.1 Các nguyên lý cơ bản; 1.3.2 Mật
mã luồng; 1.3.3 Mật mã khối
Kết luận và hướng phát triển
Tìm tài liệu liên quan đến nội dung bài tiểu luận Thực hiện tổng hợp, hoàn thiện bản word Viết lời mở đầu, tài liệu tham khảo
Trang 3LỜI MỞ ĐẦU
Ngày nay, việc sử dụng các thuật toán mã hóa nhằm bảo vệ dữ liệu là một phần tất yếu trong các hệ thống truyền tin hiện đại Các thuật toán mã hóa dữ liệu sử dụng mã hóa đối xứng cũng đã trở nên vô cùng quen thuộc Vì vậy, việc tìm hiểu về lý thuyết của các thuật toán sử dụng mã hóa đối xứng là hết sức cần thiết trong việc nghiên cứu các
hệ thống truyền thông Bên cạnh đó, trên thực tế, việc sử dụng các thuật toán mã hóa này cũng sẽ gây ra tiêu tốn tài nguyên của máy tính Và với các thuật toán khác nhau, mức tiêu thụ tài nguyên này cũng là khác nhau Vì vậy, nhóm chúng em quyết định chọn lựa đề tài “Mô hình mật mã hóa khóa đối xứng và phân tích mức tiêu thụ năng lượng của hai thuật toán mã hóa khóa đối xứng RC4, AES trong mạng WLAN” làm nội dung bài tiểu luận
Để thực hiện bài tiểu luận này, bọn em dựa trên các tài liệu và nghiên cứu có sẵn, các kết quả đã thu được từ các thử nghiệm mô phỏng trước đó Và từ các kết quả thu được, bọn em sẽ đúc kết và đưa ra những kết luận về mô hình mật mã hóa khóa đối xứng nói chung và hai thuật toán RC4 và AES nói riêng Bài tiểu luận bao gồm:
Chương 1: Mô hình mật mã hóa khóa đối xứng Chương này sẽ nêu lên những khái niệm cơ bản nhất của mật mã hóa khóa đối xứng, cùng với đó là giúp chúng ta tìm hiểu về hai thuật toán RC4 và AES
Chương 2: Phân tích mức tiêu thụ tài nguyên của hai thuật toán mã hóa khóa đối xứng RC4 và AES trong mạng WLAN Chương này sẽ chú trọng nghiên cứu về sự tiêu tốn các tài nguyên như thời gian hoạt động của CPU, mức năng lượng sử dụng của hai thuật toán RC4 và AES Đồng thời, chương 2 cũng cho ta thấy hiệu năng của hai thuật toán này qua việc phân tích thông lượng mã hóa của cả hai, để từ đó có thể đánh giá một cách đầy đủ, chính xác hai thuật toán này
Trang 4MỤC LỤC
BẢNG PHÂN CÔNG CÔNG VIỆC CỦA NHÓM 2
LỜI MỞ ĐẦU 3
DANH MỤC THUẬT NGỮ VIẾT TẮT 6
DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU 7
CHƯƠNG 1: MÔ HÌNH MẬT MÃ HÓA KHÓA ĐỐI XỨNG 8
1.1 Giới thiệu chung về mật mã 8
1.2 Mô hình và thành phần lược đồ mã hóa của mật mã hóa khóa đối xứng 8
1.2.1 Các thành phần 8
1.2.2 Phân tích mã và tấn công 9
1.3 Mật mã đối xứng hiện đại 11
1.3.1 Các nguyên lý cơ bản 11
1.3.2 Mật mã luồng 11
1.3.2.a Tạo số giả ngẫu nhiên 12
1.3.2.b Thanh ghi dịch chuyển phản hồi tuyến tính 13
1.3.2.c Mật mã RC4 14
1.3.3 Mật mã khối 15
1.3.3.a Các phương thức hoạt động của mật mã khối 15
1.3.3.b Mật mã AES 16
CHƯƠNG 2: PHÂN TÍCH MỨC TIÊU THỤ NĂNG LƯỢNG CỦA THUẬT TOÁN RC4 VÀ AES TRONG MẠNG WLAN 19
2.1 Giới thiệu chung 19
2.2 Nền tảng và các nghiên cứu liên quan 20
2.2.1 Mã hóa trong các thiết bị vô tuyến 20
2.2.2 Tiêu thụ năng lượng của việc mã hóa trên các thiết bị vô tuyến 21
2.2.3 Các giao thức truyền thông tiết kiệm năng lượng 21
2.3 Thiết kế và thử nghiệm 22
2.3.1 Công cụ thực hiện 22
2.3.2 Khái niệm 22
2.3.3 Tính toán chi phí năng lượng 22
2.3.4 Thực hiện 23
2.4 Kết quả 23
Trang 52.4.1 Thông lượng mã hóa 23
2.4.2 Tải hoạt động của CPU 24
2.4.1 Chi phí năng lượng 25
2.4.2 Biến thể kích thước khóa mã hóa 25
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 27
TÀI LIỆU THAM KHẢO 28
Trang 6DANH MỤC THUẬT NGỮ VIẾT TẮT
AES Advanced Encryption Standard Chuẩn mã hóa cấp cao CAST Carlisle Adams and Stafford
Tavares Carlisle Adams và Stafford Tavares
CDPD Cellular Digital Packet Data Dữ liệu gói kỹ thuật số di động CPU Central Processing Unit Bộ phận xử lý trung tâm
DSA Digital Subtraction Angiography Chụp X quang kỹ thuật số ECM Cipher-Block Chaining Mode Chế độ chuỗi khối mật mã IDEA International Data Encryption
Algorithm Thuật toán mã hóa dữ liệu quốc tế IEEE Institute of Electrical and
Electronics Engineers Viện Kỹ sư Điện và Điện tử LFSR Linear Feedback Shift Register Đăng ký dịch chuyển phản hồi
tuyến tính MAC Media Access Control Điều khiển truy nhập môi trường PRNG Pseudorandom Number Generator Bộ tạo chuỗi giả ngẫu nhiên
RAM Random Access Memory Bộ nhớ truy cập tạm thời
RSA Rivest, Shamir, Adleman Rivest, Shamir, Adleman
TCP Transmission Control Protocol Giao thức điều khiển truyền dẫn TRNG True Random Number Generator Bộ tạo số ngẫu nhiên đúng WEP Wired Equivalent Privacy Quyền riêng tư tương đương có dây WLAN Wireless Local Area Network Mạng lưới không dây khu vực địa
phương
Trang 7DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU
Danh mục hình vẽ:
Hình 1.1: Mô hình mật mã khóa đối xứng đơn giản 8
Hình 1.2: Mô hình truyền thông an toàn cho khóa đối xứng 9
Hình 1.3: Sơ đồ mật mã luồng 11
Hình 1.4: Nguyên lý tạo số ngẫu nhiên và giả ngẫu nhiên 13
Hình 1.5: Thanh ghi dịch phản hồi tuyến tính LFSR 14
Hình 1.6: Cấu trúc mật mã khối 15
Hình 1.7: Cấu trúc AES 17
Hình 1.8: Vòng mật mã AES 18
Hình 2.1: Sự tiêu hao pin với mã hóa khóa đối xứng 21
Hình 2.2: Thông lượng mã hóa của thuật toán AES với các kích thước khóa khác nhau 24
Hình 2.3: Thời gian xử lý CPU của RC4 và AES với kích thước phím khác nhau 24
Hình 2.4: Chi phí năng lượng của RC4 và AES với các kích thước khóa khác nhau 25
Hình 2.5: Chi phí năng lượng của mã hóa với kích thước khóa khác nhau 25
Danh mục bảng biểu: Bảng 1.1: Các cuộc tấn công 11
Trang 8CHƯƠNG 1: MÔ HÌNH MẬT MÃ HÓA KHÓA ĐỐI XỨNG
1.1 Giới thiệu chung về mật mã
Mật mã (cryptography) là một ngành khoa học giữ bí mật Mục đích của mật mã hóa để cung cấp các phương pháp ngăn chặn vi phạm tới thông tin cần giữ bí mật (cung cấp tính bảo mật confidentiality) Mật mã được sử dụng để cung cấp giải pháp cho các vấn đề như: đảm bảo tính toàn vẹn dữ liệu, nhận thực, và chống chối bỏ
Chương 1 của bài tiểu luận này chúng em sẽ tìm hiểu sơ lược về mô hình mật mã hóa khóa đối xứng Mô hình và thành phần lược đồ mã hóa của mật mã hóa đối xứng được mô tả trong phần 1.2 Phần 1.3 mật mã đối xứng hiện đại sẽ làm rõ về các nguyên
lý cơ bản, mật mã luồng và mật mã khối Đặc biệt trong mật mã luồng sẽ đi phân tích
về mật mã RC4 và trong mật mã khối ta sẽ đi phân tích về mật mã AES
1.2 Mô hình và thành phần lược đồ mã hóa của mật mã hóa khóa đối xứng 1.2.1 Các thành phần
Hình 1.1: Mô hình mật mã khóa đối xứng đơn giản Lược đồ mã hóa khóa đối xứng gồm năm thành phần: Bản rõ, thuật toán mã hóa, khóa bí mật, bản mã và thuật toán giải mật mã
Bản rõ: đây là dữ liệu hoặc bản tin ban đầu, được xem như là đầu vào của khối thuật toán mật mã
Thuật toán mật mã hóa: thuật toán mật mã hóa thực hiện rất nhiều phép biến đổi
Thuật toán giải mật mã: là thuật toán thực hiện ngược lại với thuật toán mật mã hóa Khối này nhận bản mã và khóa bí mật để tạo ra bản rõ ban đầu
Trang 9Có hai yêu cầu cho việc sử dụng an toàn mật mã hóa truyền thống:
Một thuật toán mật mã hóa đủ mạnh được yêu cầu: tối thiểu là thuật toán mật mã hóa đó phải đảm bảo rằng kẻ tấn công (opponent) mặc dù biết được thuật toán và lấy được một hoặc nhiều bản mã nhưng không thể giải mật mã bản mã đó hoặc tìm
ra khóa Yêu cầu này thường được phát biểu như sau: kẻ tấn công không có khả năng giải mật mã bản mã hoặc khôi phục khóa thậm chí anh ta sở hữu một số các bản mã cùng với bản rõ được tạo ra từ mỗi bản mã đó
Bên gửi và bên nhận phải có bản sao của khóa bí mật, và khóa phải được giữ bí mật giữa người gửi và người nhận, hay nói cách khác khóa phải được chuyển một cách an toàn từ người gửi đến người nhận
1.2.2 Phân tích mã và tấn công
Một đặc tính quan trọng của mã hóa đối xứng là khóa phải được giữ bí mật giữa người gửi và người nhận, hay nói cách khác khóa phải được chuyển một cách an toàn
từ người gửi đến người nhận Đặc tính quan trọng thứ hai của một hệ mã hóa đối xứng
là tính an toàn của hệ mã Một bản mã có thể dễ dàng suy ra được bản rõ ban đầu mà không cần biết khóa bí mật Do đó một hệ mã hóa đối xứng được gọi là an toàn khi và chỉ khi nó không thể bị phá mã - không cần khóa (điều kiện lý tưởng) hoặc thời gian phá
mã là bất khả thi
Hình 1.2: Mô hình truyền thông an toàn cho khóa đối xứng
Mật mã (Cryptography): Các hệ thống mật mã được mô tả bởi ba khía cạch độc lập dưới đây:
Kiểu các cách thức được sử dụng để biến đổi từ bản rõ thành bản mã Tất cả các thuật toán mật mã hóa được dựa trên hai nguyên lý chung: thay thế: mỗi phần
tử trong bản rõ (bit, chữ cái, nhóm bít hoặc nhóm chữ cái) được ánh xạ thành một phần tử khác; và hoán đổi vị trí, trong đó các phần tử trong bản rõ được sắp xếp lại Yêu cầu cơ bản là không có thông tin nào bị mất (nghĩa là tất cả các hoạt động
Trang 10đó có thể được khôi phục) Hầu hết các hệ thống, còn được gọi là các hệ thống sản phẩm, bao gồm nhiều giai đoạn thay thế và biến đổi
Số khóa được sử dụng Nếu cả bên gửi và bên nhận sử dụng chung khóa, hệ thống
đó được gọi là hệ thống mật mã hóa đối xứng, một khóa, khóa bí mật, hay truyền thống Nếu bên gửi và nhận sử dụng các khóa khác nhau, hệ thống đó được gọi là
hệ thống mật mã hóa bất đối xứng, hai khóa, hay khóa công khai
Cách mà bản rõ được xử lý Mật mã khối xử lý đầu vào là một khối các phần tử tại một thời điểm, tạo ra khối đầu ra cho mỗi khối đầu vào Mật mã luồng (stream cypher) xử lý các phần tử đầu vào một cách liên tục, tạo ra phần tử một đầu ra tại một thời điểm
Giải mã các mật mã (Cryptanalysis): các tấn công này dựa trên bản chất của thuật toán cộng với sự hiểu biết về các đặc tính chung của bản rõ hoặc thậm chí một vài cặp bản
rõ –bản mã mẫu Kiểu tấn công này lợi dụng các đặc tính của thuật toán để cố gắng suy luận ra bản rõ cụ thể hoặc để suy ra khóa được sử dụng
Bảng 1.1 tóm tắt tất cả các kiểu tấn công giải mật mã các mật mã dựa trên khối lượng thông tin được biết bởi kẻ tấn công Trong hầu hết các trường hợp, thậm chí thuật toán mật mã hóa không được biết, nhưng nhìn chung, có thể giả thiết rằng kẻ tấn công biết thuật toán được sử dụng cho việc mật mã hóa
Kiểu tấn công Thông tin được kẻ tấn công biết
Chỉ biết bản mã Thuật toán mật mã hóa
Bản mã được lựa chọn bởi kẻ tấn công, cùng với bản
mã tương ứng được giải mật mã với khóa bí mật
Văn bản được lựa
Trang 11 Bản mã được lựa chọn bởi kẻ tấn công, cùng với bản
mã tương ứng được giải mật mã với khóa bí mật
Bảng 1.1: Các cuộc tấn công 1.3 Mật mã đối xứng hiện đại
1.3.1 Các nguyên lý cơ bản
Nguyên lý 1 - Các định nghĩa chính thức Các định nghĩa chi tiết về thiết kế, nghiên cứu, đánh giá và sử dụng các nguyên bản mật mã cũng như cho phép so sánh có ý nghĩa các lược đồ Các giả định về tấn công có thể đưa ra chi tiết hơn: Tấn công chỉ bằng bản
mã, tấn công bản rõ đã biết, tấn công bản rõ lựa chọn, tấn công bản rõ được chọn theo cách thích ứng, các cuộc tấn công bản mã được lựa chọn và thích ứng
Nguyên lý 2 - Các giả thiết chính xác Hầu hết các cấu trúc mật mã hiện đại không thể được chứng minh là an toàn vô điều kiện Những chứng minh như vậy hiện chưa có câu trả lời do lý thuyết về độ phức tạp tính toán chưa giải quyết được Bằng chứng bảo mật thường dựa trên các giả định và đặt ra yêu cầu phải được thực hiện rõ ràng và chính xác về mặt toán học Các vấn đề quan trọng của giả thiết mà chúng ta cần quan tâm là xác thực các giả định, so sánh các giả định và hiểu rõ các giả định căn bản
Nguyên lý 3 - Bằng chứng bảo mật Hai nguyên tắc đầu cho phép đạt được các mục tiêu là cung cấp bằng chứng chặt chẽ cho một lược đồ mật mã thỏa mãn một định nghĩa nhất định theo các giả định nhất định Giả định này hợp lý trong bối cảnh kẻ tấn công đang nỗ lực tấn công mà thành công Tuy nhiên, cũng không có bằng chứng cho thấy kẻ tấn công có tài nguyên chỉ định giống trực giác của ta Vì vậy, nỗ lực bổ sung thêm nằng chứng bảo mật lý thuyết và thực tiễn là nâng cao độ tin cậy của lược đồ Việc phụ thuộc vào các định nghĩa, giả định và bằng chứng tạo thành một cách tiếp cận chặt chẽ đối với mật mã hiện đại khác biệt với cách tiếp cận không chính thức của mật mã
cổ điển
1.3.2 Mật mã luồng
Mật mã luồng thực hiện mật mã bản rõ theo từng byte tại một thời điểm, mặc dù mật mã luồng có thể được thiết kế để hoạt động trên từng bit tại một thời điểm hoặc trên đơn vị lớn hơn 1 byte tại một thời điểm Hình 2.32 đưa ra sơ đồ cấu trúc của mật mã luồng
Hình 1.3: Sơ đồ mật mã luồng
Trang 12Như vậy, có thể thấy mật mã luồng tương tự như mật mã hóa One-Time Pad Điểm quan trọng nhất của các mật mã luồng là bộ tạo số ngẫu nhiên Nếu chọn khóa có chiều dài ngắn thì không bảo đảm an toàn, còn nếu chọn khóa có chiều dài bằng chiều dài bản tin như One-Time Pad thì lại không thực tế Bộ tạo số của mật mã luồng cân bằng giữa hai điểm này, cho phép dùng một khóa ngắn nhưng dãy số tạo ra bảo đảm một độ ngẫu nhiên cần thiết như khóa của One-time Pad, dù rằng không hoàn toàn thực sự ngẫu nhiên Phần tiếp theo trình bày phương pháp mật mã hóa dòng tiêu biểu là RC4
1.3.2.a Tạo số giả ngẫu nhiên
Nguyên lý tạo số giả ngẫu nhiên:
Số ngẫu nhiên đóng vai trò quan trọng trong việc sử dụng mật mã hóa cho các ứng dụng, các giao thức, và các thuật toán an toàn mạng khác nhau như trong các sơ đồ phân phối khóa và nhận thực lẫn nhau, tạo khóa phiên, tạo các khóa cho thuật toán mật mã khóa công khai RSA, hay tạo luồng bit cho mật mã luồng đối xứng
Có hai tiêu chí được sử dụng để đánh giá tính ngẫu nhiên của chuỗi ngẫu nhiên,
Các ứng dụng mật mã hóa thường tận dụng các kỹ thuật thuật toán cho việc tạo số ngẫu nhiên Các thuật toán này là xác định và vì vậy tạo ra các chuỗi số không phải là ngẫu nhiên thống kê Tuy nhiên, nếu thuật toán tốt chuỗi số kết quả sẽ qua được nhiều bài kiểm tra về tính ngẫu nhiên Các số như vậy được gọi là các số giả ngẫu nhiên
Bộ tạo số giả ngẫu nhiên:
Một chuỗi giả ngẫu nhiên cần đảm bảo đặc trưng ngẫu nhiên gồm: hàm phân bố đồng dạng: phân phối các bit trong chuỗi là đồng nhất và độc lập ngẫu nhiên: không có chuỗi con nào trong chuỗi ngẫu nhiên đó có thể được suy ra từ các chuỗi khác Một chuỗi bit ngẫu nhiên thực là kết quả của một ánh xạ từ nguồn ngẫu nhiên (high-entropy) tới chuỗi bít Một chuỗi giả ngẫu nhiên là kết quả của một nguồn ngẫu nhiên đóng vai trò hạt giống và kết hợp với thuật toán tất định còn gọi là trình tạo chuỗi số giả ngẫu nhiên Bộ/trình tạo chuỗi số giả ngẫu nhiên G là một thuật toán tất định, hiệu quả để
Trang 13biến đổi một chuỗi ngắn và đồng nhất (được gọi là hạt giống) thành chuỗi đầu ra dài hơn
Hình 1.4 mô tả bộ tạo số ngẫu nhiên đúng (TRNG) với hai bộ tạo số giả ngẫu nhiên TRNG có đầu vào là một nguồn thực sự ngẫu nhiên; nguồn này thường được đề cập đến là nguồn entropy (entropy source) Nguồn entropy được lấy ra từ môi trường vật lý của máy tính và có thể tính đến cả các mẫu định thời bấm phím, hoạt động của ổ đĩa, sự di chuyển chuột, và các giá trị tức thời của đồng hồ hệ thống Một nguồn, hoặc
sự kết hợp của các nguồn, được coi là đầu vào của thuật toán để tạo ra đầu ra là chuỗi nhị phân ngẫu nhiên TRNG có thể chỉ đơn giản là phép biến đổi các nguồn tương tự thành đầu ra nhị phân
Ngược lại, PRNG có đầu vào là một giá trị cố định, được gọi là hạt giống (seed),
và tạo ra chuỗi bit đầu ra sử dụng một thuật toán xác định Thường thì seed được tạo ra bởi một bộ TRNG Như chỉ ra trong Hình 1.4, một số kết quả của thuật toán được phản hồi lại như là đầu vào của thuật toán bằng một đường hồi tiếp Chú ý rằng, dòng bit đầu
ra được xác định chỉ bởi một hoặc nhiều giá trị đầu vào, do đó kẻ tấn công mà biết thuật toán và seed thì có thể tạo lại toàn bộ dòng bit
Hình 1.4 đưa ra hai bộ tạo chuỗi giả ngẫu nhiên khác nhau:
Bộ tạo số giả ngẫu nhiên: thuật toán được sử dụng để tạo ra chuỗi bit kết thúc mở được gọi là PRNG Ứng dụng phổ biến cho chuỗi bit này là đầu vào của mật mã luồng đối xứng
Hàm giả ngẫu nhiên (PRF): PRF được sử dụng để tạo ra chuỗi bit giả ngẫu nhiên
có độ dài cố định PRF cũng có đầu vào là seed và một thông tin khác như là ID người sử dụng hay ID ứng dụng
Hình 1.4: Nguyên lý tạo số ngẫu nhiên và giả ngẫu nhiên 1.3.2.b Thanh ghi dịch chuyển phản hồi tuyến tính
Các thanh ghi dịch chuyển phản hồi tuyến tính LFSR (Linear-Feedback Shift Registers) được sử dụng để tạo số giả ngẫu nhiên do tính hiệu quả khi triển khai trong phần cứng và có thuộc tính thống kê ngẫu nhiên tốt LFSR không hàm chứa trình tạo giả ngẫu nhiên Mỗi thanh ghi lưu trữ một bit duy nhất, trạng thái của LFSR tại thời
Trang 14điểm bất kỳ là toàn bộ các bit có trong các thanh ghi Trạng thái này được cập nhật trong mỗi khoảng thời gian bằng cách dịch chuyển tất cả các giá trị của các thanh ghi sang bên phải, và đặt giá trị mới của thanh ghi ngoài cùng bên trái bằng cách XOR của một
số tập con thanh ghi hiện thời (qua hệ số phản hồi)
Hình 1.5: Thanh ghi dịch phản hồi tuyến tính LFSR 1.3.2.c Mật mã RC4
RC4 là một phương pháp mật mã luồng được thiết kế vào năm 1987 bởi Ron Rivest cho RSA Nó là một mật mã luồng có kích thước khóa thay đổi với các hoạt động hướng byte Thuật toán được dựa trên việc sử dụng phép hoán vị ngẫu nhiên RC4 được dùng trong giao thức SSL để bảo mật dữ liệu trong quá trình truyền dữ liệu giữa Web Server
và trình duyệt Web Ngoài ra RC4 còn được sử dụng trong giao thức mã hóa WEP và giao thức WPA (Wifi Protected Access) của mạng Wireless LAN
Khóa có độ dài thay đổi từ 1-128 byte được sử dụng để khởi tạo vecto S gồm 256 byte, các phần tử của S là các giá trị nhị phân từ 0 đến 255, tương đương với vị trí của chúng trong vecto Đối với quá trình mã hóa và giải mã, byte k được tạo ra từ S bằng cách lựa chọn một trong 255 phần tử một cách có hệ thống Khi mỗi giá trị của k được tạo ra, các phần tử trong S được hoán vị một lần nữa
Init algorithm for RC4
Input: 16-byte key k
Output: Initial state (S, i, j)
(Note: All addition is modulo 256)
return initial state (S, i, j)
Next algorithm for RC4 Input: Current state (S, i, j) Output: Output byte y; updated state (S,
i, j) (Note: All addition is modulo 256) i:=i+1