Professional Documents
Culture Documents
Chuong 5 Final
Chuong 5 Final
hóa và giải mã
Mục lục
Giới thiệu hệ thống mật mã
Mã cổ điển
Tính bảo mật của hệ thống
Mã hóa chuỗi dữ liệu
Hệ thống mã hóa sử dụng khóa công cộng
Giới thiệu hệ thống mật mã
Mật mã học: nghiên cứu cách biến đổi thông điệp để tránh
những sự can thiệp trái phép.
Hệ thống thông tin sử dụng mã hóa vì:
Tính riêng tư (privacy): không cho người khác lấy được
thông tin từ hệ thống.
Authentication: không cho người khác thêm thông tin vào
hệ thống.
Mã hóa và giải mã
Thông tin M qua phép biến đổi EK cho ta bản mã C
C=EK(M)
Bản mã C được đưa qua kênh truyền công cộng, không bảo
mật đến phía thu.
Bên thu nhận bản mã C tiến hành phép biến đổi ngược E K-1
để khôi phục lại thông tin M ban đầu
Mã hóa và giải mã (tt.)
Mã hóa và giải mã (tt.)
Có 2 phương thức mã hóa:
Mã hóa theo từng khối: thông điệp M sẽ được chia đều
thành nhiều khối nhỏ và mỗi khối này được mã hóa độc lập
với nhau.
Mã hóa theo dòng dữ liệu: toàn bộ thông điệp M được mã
hóa đồng thời. (Các từ mã đều có mối liên hệ với nhau)
Yêu cầu của hệ thống bảo mật
Hệ thống phải đơn giản và không quá mắc để mã hóa và
giải mã khi biết từ khóa.
Nếu không có từ khóa thì việc giải mã phải phức tạp và đắt
đỏ.
Mã cổ điển
Thường được nhắc đến là mã Caesar, dùng bởi Julius
Caesar trong chiến tranh.
Mã này dùng để mã hóa các kí tự trong bảng chữ cái.
Các chữ cái được dịch vòng qua trái với một khoảng cách
cố định
Mã Caesar: các kí tự được dịch một khoảng bằng 3
Kí tự A B C D E F G H I
Từ mã D E F G H I J K L
Kí tự J K L M N O P Q R
Từ mã M N O P Q R S T U
Kí tự S T U V W X Y Z
Từ mã V W X Y Z A B C
Ví dụ: Từ khóa: C O D E C O D E
Thông tin: V I G E N E R E
Sau khi mã hóa: X W J I P S U I
Mã Vigenere tự động
Có sử dụng từ khóa là 1 kí tự
Kí tự đầu tiên được mã hóa dựa theo từ khóa, kí tự thứ 2
được mã hóa dựa theo kí tự đầu tiên hoặc từ mã đầu tiên và
tiếp tục…
Mã Vigenere tự động
Ví dụ: Từ khóa: D V I G E N E R
Thông tin: V I G E N E R E
Sau khi mã hóa: Y D O K R R V V
Mã Vigenere tự động
Ví dụ: Từ khóa: D Y G M Q D H Y
Thông tin: V I G E N E R E
Sau khi mã hóa: Y G M Q D H Y C
Tính bảo mật của hệ thống
Giả sử ta có hệ thống mật mã với không gian thông tin hữu hạn
và không gian từ mã hữu hạn
Với mỗi , xác suất truyền đi là
Phía thu nhận thì xác suất được truyền đi là
Hệ thống mã hóa là hoàn hảo nếu:
với mọi và
Entropy và tính khả nghi
Entropy: là số lượng thông tin trung bình trong một thông
điệp (message):
Nếu sử dụng log2 như công thức trên thì entropy có nghĩa
là số bit tối ưu để mã hóa X
Entropy và tính khả nghi (tt.)
Tính khả nghi là entropy có điều kiện của X khi nhận được bản mã Y
Ta thấy có tất cả (2n)! cách kết nối và việc tìm ra cách kết nối
đúng sẽ trở nên khó khăn khi n lớn
Phương pháp hoán vị (Permutation)
Các kí tự trong thông tin chỉ hoán đổi vị trí với nhau tạo
thành từ mã
Ví dụ: T H I N K
K I H TN
Kĩ thuật này khi dùng một mình dễ bị phá bởi trick
message
Ví dụ: hệ thống như hình vẽ
N bit đầu vào được hoán vị tạo ra n bit đầu ra
Để phá giải, ta chỉ cần truyền một thông điệp
với một bit 1 và các bit còn lại là 0
Từ đó ta tìm được cách kết nối của hệ thống
Mã hóa chuỗi dữ liệu
Shannon đề nghị kết hợp cả 2 phương pháp thay thế và hoán vị
để tạo thành hệ thống bảo mật hơn so với dùng riêng lẻ.
Phương pháp này được IBM sử dụng trong hệ thống LUCIFER
và trở thành chuẩn mã hóa dữ liệu DES (Data Encryption
Standard)
Hệ thống kết hợp 2
phương pháp lặp và
hoán vị.
Các khối S là khác nhau.
Hệ thống không thực tế
Hệ thống LUCIFER sử
dụng 2 loại hộp S như
hình vẽ.
Hộp S0 và S1 được công
khai.
Một khóa được sử dụng
để lựa chọn dùng S0 hay
S1
L R
Bảng E
48 bit của 8 khối B sẽ được
biến đổi thông qua khối S tạo
thành 32 bit.
Khối S sử dụng bảng S như
hình vẽ:
Bảng P
Key gồm 56 bit và 8 bit kiểm tra sẽ được loại bỏ 8 bit
kiểm tra và xáo trộn lần 1 dựa vào bảng PC-1 (Permuted
Choice 1)
Bảng PC-1
Bảng PC-2
Chọn
Thông điệp:
Mỗi chữ cái biểu diễn bằng 1 số từ 01-26, khoảng cách là 00.
Mỗi thông điệp là số từ 0-2772 nên ta gộp thành các số có 4 chữ số.
Mã hóa 1819:
Tương tự ta có thông điệp truyền đi:
Cách tìm
Ví dụ: mã RSA với và và
i
0 1
1 0 16
2 1 -16 1
3 -1
{
𝑥 𝑖 +1=𝑥𝑖 − 1 𝑚𝑜𝑑 𝑥 𝑖
𝑦𝑖=
[ ]𝑥𝑖 −1
𝑥𝑖
{
𝑎𝑖 +1=𝑎 𝑖 −1 − 𝑦 𝑖 𝑎𝑖
𝑏𝑖 +1 =𝑏𝑖 − 1 − 𝑦 𝑖 𝑏𝑖
❑ 𝑒= 𝑏3 =17
⇒
Triple DSA
Thuật toán DES được sử
dụng 3 lần với 3 khóa 56 bit
khác nhau.