Symmetric Cipher Adventure!!!!
Trong bài viết này mình xin chỉ viết ngắn gọn và tóm tắt nhất có thể để có thể có góc nhìn tổng quát về các thuật toán mã khoá đối xứng, vì thế có thể có những thiếu sót và những thắc mắc, các bạn có thể liên lạc với mình để mình chỉnh sửa và bổ sung nhé :D
(mình có đính kèm thêm những link tham khảo, trích dẫn để tiện tra cứu)
1. Khái quát về symmetric cipher:
Những thuật toán mã khoá đối xứng (symmetric cipher algorithm) là các thuật toán có dùng chung một khoá. Có thể nói thuật toán mã khoá đối xứng có mặt ở khắp mọi nơi hiện nay vì sự tiện lợi, nhanh và an toàn, đặc biệt có thể kể đến AES (advanced encryption standard), trong bài viết này thì mình sẽ thường đề cập đến AES.
Cốt lõi dẫn đến sự khó nhằn trong việc "bẻ khoá" thuật toán này nằm ở độ lớn của key (key space) và khả năng thống kê và xác xuất dự đoán dựa trên bản mã (ciphertext) thấp hoặc gần như không thể. Về độ lớn của key thì AES-128 sử dụng 128 bit key và tương tự AES-256 thì sử dụng 256 bit key, vì độ lớn của key khá lớn (2^128 và 2^256) nên hiện nay AES-128 hiện vẫn đang an toàn, nhưng khi đến kỷ nguyên máy tính lượng tử, AES-128 sẽ có thể bị bẻ khoá bởi thuật toán của ông Grover (Grover's algorithm) [1], và AES-256 sẽ là sự thay thế an toàn [2]. Về khả năng có thể thống kê và xác xuất để có thể "bẻ khoá" được các symmetric cipher thì ta có 2 loại hình tấn công tiêu biểu là Linear Cryptanalysis và Differential Cryptanalysis [3].