Mã hóa thông tin

Với sự phát triển của xã hội, việc sử dụng công nghệ thông tin áp dụng trong đời sống không còn xa lạ gì. Từ mọi lĩnh vực trong cuộc sống hằng ngày. Vậy làm thế nào để bảo đảm thông tin được bảo vệ dù có bị đánh mất. Và vì thế, mã hóa thông tin ngày càng được chú trọng.

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)

tao khoa trong ma hoa cong khai
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 se khoa cong khai
Chia sẻ khóa công khai


Bước 3: Quá trình mã hóa bên phía gửi là Bob.

qua trinh ma hoa trong ma hoa cong khai
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
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