1. Định nghĩa.
Mã hóa là gì? Mã hóa là quá trình chuyển đổi các
thông tin từ dạng này sang dạng khác, làm cho thông tin khó đọc hơn.
Giải mã là quá trình ngược lại của
mã hóa, giúp đọc được thông tin.
Mã hóa yêu cầu:
- Confidentiality: Bí mật. Chỉ chia
sẻ thông tin cho những người được phép.
- Integrity: Toàn vẹn. Thông tin
không bị thay đổi.
- Authentication: Xác thực. Bên nhận
(bên gửi) cần phải xác định được thông tin nhận (gửi ) đúng người.
- Non – Repudiation: Không chối bỏ.
Bên gửi không chối bỏ được thông tin đã gửi.
- Non – Repeat: Không lặp lại. Thông
tin không được sao chép từ bên thứ 3.
2. Các thuật toán.
Quá trình chuyển đổi thông tin từ dạng
này sang dạng khác chính là quá trình sử dụng các thuật toán để mã hóa thông
tin.
a. Khóa đối xứng.
Khi dữ liệu được mã hóa
thì khóa dùng để mã hóa hoặc khóa giải mã cần phải được chia sẻ bí mật cho bên
nhận, để bên nhận có thể giải mã lấy được thông tin. Khóa đối xứng là thuật
toán mà trong đó khóa dùng để mã hóa và giải mã có quan hệ rõ ràng với nhau.(
hoặc là giống nhau, hoặc là có thể dễ dàng tìm được 1 khóa nếu biết khóa kia.)
Một số thuật toán tiêu
biểu:
- DES (Data Encryption Standard): Là thuật toán mã hóa có chiều dài
khối là 64bit, chiều dài khóa là 56bit.
- 3-DES (Triple-DES): Là thuật toán mã hóa DES được thực hiện 3 lần,
chiều dài khóa sẽ gấp 3 lần trong mã hóa DES.
- AES (Advanced Encryption Standard): Là thuật toán mã hóa có chiều
dài khối là 128bit, chiều dài khóa là 128, 192, 256 bit.
b. Khóa công khai. (Khóa bất đối xứng.)
Thay vì sử dụng khóa để
mã hóa, giải mã như khóa đối xứng, khóa công khai sử dụng một cặp: khóa public
và khóa private. Khóa public dùng để mã hóa, còn khóa private dùng để giải mã.
VD: Khi Bob gửi thông tin tới Alice.
Bước 1: Cả Bob và Alice đều phải tạo ra cặp khóa của
riêng mình:
- Khóa công khai .( key
public)
- Khóa bí mật. (key
private)
Tạo cặp khóa trong mã hóa công khai |
Bước 2: Chia sẻ khóa công khai của mỗi người.
Chia sẻ khóa công khai |
Bước 3: Quá trình mã hóa bên phía gửi là Bob.
Quá trình mã hóa trong mã hóa công khai |
Bước 4: Quá trình giải mã bên phía nhận là Alice.
Quá trình giải mã trong mã hóa công khai |
Thuật toán phổ biến:
- RSA: Thuật toán lấy 3 chữ cái đầu của tên của 3 tác giả: Ron
Rivest, Adi Shamir và Len Adleman
c. Hàm băm.
Là giải thuật nhằm
sinh ra các giá trị băm tương ứng với mỗi khối dữ liệu đầu vào.
Một số hàm băm thông dụng:
- MD5 (Message Digest Algorithm 5): là hàm băm được sử dụng với giá
trị hash là 128bit.
- SHA (Secure Hash Algorithm): Có SHA1 trả về kết quả 160bit, SHA224
– kết quả 224bit, SHA256 – kết quả 256bit, SHA384 – kết quả 384bit, SHA512 – kết
quả 512bit
0 nhận xét:
Post a Comment