You are on page 1of 5

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

Các bước hoạt động của RC4

RC 4 Sửu dụng hai vector 256 bytes

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.

● Tạo mảng tạm T

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.

● Tạo hoán vị ban đầu của S

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 của thuật toán RC4 như sau:


1. Khởi tạo trạng thái: Trạng thái là một mảng 256 byte, được khởi tạo với
các giá trị từ 0 đến 255.
2. Tạo keystream: Keystream là một chuỗi byte được sử dụng để mã hóa và
giải mã dữ liệu. Keystream được tạo bằng cách sử dụng vòng lặp, trong
đó mỗi vòng lặp sẽ tạo ra một byte mới.
3. Mã hóa: Để mã hóa dữ liệu, thuật toán RC4 sẽ XOR dữ liệu với
keystream.
4. Giải mã: Để giải mã dữ liệu, thuật toán RC4 sẽ thực hiện lại các bước 2
và 3, nhưng sử dụng keystream ngược lại.

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;

Swap (S[i], S[j]);

t = (S[i] + S[j]) % 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:

1. Tăng giá trị của biến i lên 1.


2. Nếu i vượt quá 255, thì i được đặt lại thành 0.
3. Tìm giá trị của byte tại vị trí i trong trạng thái.
4. Tìm giá trị của byte tại vị trí j trong trạng thái.
5. XOR hai giá trị byte này với nhau.
6. Chuyển đổi kết quả XOR thành một số nguyên không âm từ 0 đến 255.
7. Thay thế giá trị của byte tại vị trí j trong trạng thái bằng số nguyên vừa
tạo ra.
8. Thay đổi giá trị của biến j thành số nguyên vừa tạo ra.
9.

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:

1. Lặp qua tất cả các byte trong dữ liệu.


2. XOR byte hiện tại trong dữ liệu với byte hiện tại trong keystream.
3. Lưu kết quả XOR vào byte hiện tại trong dữ liệu.

You might also like