Professional Documents
Culture Documents
RC4
RC4
Khái niệm
loại Mã Dòng .
RC4 là Stream Cipher.
Giao thức WEP, TLS .
WEP là giao thức mã hóa được sử dụng để bảo vệ dữ liệu được truyền
qua mạng không dây (Wi-Fi)
WEP sử dụng một khóa mã hóa 40 hoặc 128 bit để mã hóa dữ liệu.
Khóa này được chia sẻ giữa tất cả các thiết bị được kết nối với mạng.
WEP cũng sử dụng một mã xác thực truy cập (Access Control List -
ACL) để xác định các thiết bị được phép truy cập mạng.
TLS (Transport Layer Security) là một giao thức bảo mật được sử
dụng để bảo vệ dữ liệu được truyền giữa hai máy tính trên mạng. TLS
được thiết kế để cung cấp ba lợi ích chính:
Xác thực: TLS cho phép hai máy tính xác thực danh tính của nhau
trước khi bắt đầu truyền dữ liệu. Điều này giúp ngăn chặn các cuộc tấn
công giả mạo.
Mã hóa: TLS mã hóa dữ liệu được truyền để ngăn chặn các bên thứ ba
đọc được.
Tính toàn vẹn: TLS giúp đảm bảo dữ liệu được truyền không bị thay
đổi hoặc sửa đổi.
TLS được sử dụng rộng rãi trong các ứng dụng web, email, truyền tệp
và các ứng dụng khác yêu cầu bảo mật.
Đội dài khoá .
Độ dài khóa của RC4 có thể thay đổi từ 1 đến 256 byte, tương đương
với 8 đến 2048 bit. Độ dài khóa càng lớn thì độ an toàn của RC4 càng cao.
RC4 có cấu trúc đơn giản dễ dàn hiểu và phân tích
1. Khởi tạo
● Khởi tạo trạng thái S
Trạng thái S là một mảng 256 byte, được sử dụng để tạo ra keystream. Trong
bước khởi tạo, thuật toán RC4 sẽ đặt các giá trị của các byte trong trạng thái S
thành các số từ 0 đến 255 theo thứ tự tăng dần.
Mảng tạm T được sử dụng để lưu trữ các giá trị của khóa K. Nếu độ dài của
khóa K bằng 256 byte, thì thuật toán RC4 sẽ sao chép toàn bộ khóa K vào T.
Nếu không, thuật toán RC4 sẽ sao chép các phần tử đầu tiên của khóa K có độ
dài keylen vào T và lặp lại khóa K nhiều lần cần thiết để điền đầy T.
Thuật toán RC4 sử dụng T để tạo ra hoán vị ban đầu của S. Trong bước này,
thuật toán RC4 sẽ lặp qua tất cả các byte trong trạng thái S. Đối với mỗi byte
S[i], thuật toán RC4 sẽ hoán đổi S[i] với một byte khác trong trạng thái S theo
quy tắc sau:
2. lập khoá
Thuật toán RC4 là một mã dòng có kích cỡ khóa thay đổi với hoạt động hướng
byte. Nó được thiết kế bởi Ron Rivest vào năm 1987 và được sử dụng trong
nhiều giao thức và tiêu chuẩn mã hóa, bao gồm WEP, TLS và WPA.
Các bước chi tiết của thuật toán RC4 như sau:
3. Tạo keystream
Sau khi mảng trạng thái S được khởi tạo, khóa đầu vào không còn được sử
dụng. Việc tạo keystream bao gồm việc lặp qua tất cả các phần tử của S[i] và
đối với mỗi S[i], hoán đổi S[i] với một byte khác trong S theo sơ đồ được chỉ
định bởi cấu hình hiện tại của S. Sau khi đạt đến S[255], quá trình tiếp tục, bắt
đầu lại tại S[0]:
i, j = 0;
while (true)
i = (i + 1) % 256;
j = (j + S[i]) % 256;
k = S[t];
Trong đó:
● i và j là các chỉ số của hai byte được hoán đổi
● t là chỉ số của byte được sử dụng để tạo keystream
● k là giá trị của byte keystream
Tiếp theo, thuật toán sẽ thực hiện các bước sau cho đến khi tất cả các byte trong
keystream được tạo ra:
Mã Hóa
Để mã hóa dữ liệu, thuật toán RC4 sẽ XOR dữ liệu với keystream.
Giả sử dữ liệu cần mã hóa là một chuỗi byte, được lưu trữ trong mảng data.
Keystream được lưu trữ trong mảng keystream.
Thuật toán RC4 sẽ thực hiện các bước sau để mã hóa dữ liệu: