Thuật toán mã hóa AES-256-CBC
AES-256-CBC (Cipher Block Chaining), thuật toán được sử dụng để mã hóa dữ liệu người dùng, là một mật mã tiêu chuẩn và được triển khai bởi chính phủ Hoa Kỳ và các cơ quan chính phủ khác trên toàn thế giới để bảo vệ dữ liệu tối mật. Với việc triển khai đúng cách và Khóa mã hóa đủ mạnh (từ Mật khẩu chính của người dùng), thuật toán AES-256-CBC được đánh giá là không thể bị phá vỡ.
AES-256-CBC là hệ thống mã hóa sử dụng thông số AES, khóa dài 256 bit và ở chế độ hoạt động CBC. Dữ liệu đầu vào được mở rộng và chia thành các khối có độ dài cố định , trong đó
- Với khối , thực hiện phép với và vector khởi tạo :
- Mã hóa kết quả từ bước 1 bằng với khóa :
- Từ khối trở đi, sẽ được với kết quả mã hóa của khối trước:
- Các khối mã hóa sẽ ghép lại với nhau thành dữ liệu mã hóa cuối cùng:
Quy trình giải mã sẽ diễn ra theo chiều ngược lại, dữ liệu đã được mã hóa được chia thành các khối .
- Giải mã khối bằng với khóa :
- Thực hiện với và vector khởi tạo để thu hồi khối dữ liệu gốc :
- Từ khối trở đi, sẽ được với dữ liệu đã được giải mã của khối trước:
- Các khối dữ liệu đã giải mã ghép lại với nhau để tái tạo thành dữ liệu gốc: