Xem mẫu
- Thông báo Khoa học và Công nghệ * Số 1-2015 108
MỘT SỐ PHƢƠNG PHÁP MÃ HOÁ ĐỐI XỨNG
ThS. Nguyễn Lê Tín
Trung Tâm Ngoại ngữ - Tin học, Trường Đại học Xây dựng Miền Trung
Tóm tắt: Bảo mật thông tin là một trong những lĩnh vực nghiên đang được phát
triển rất mạnh trong thời đại bùng nổ thông tin ngày nay. Thông tin khi được
lưu trữ hoặc truyền tải cần được mã hóa bằng những phương pháp mã hóa tốt
và tối ưu. Trong bài viết này, sẽ trình bày các phương pháp mã hóa đối xứng
cơ bản.
Từ khóa: Bảo mật thông tin, mã hóa đối xứng, phân bố tần suất, giả mã.
Trong bài „TỪ BẢO MẬT 1. Mã hóa thay thế đa bảng
THÔNG TIN ĐẾN CHỮ KÝ ĐIỆN Với sự phát hiện ra quy luật phân
TỬ” số 2 năm 2014 Thông báo và Công bố tần suất, các nhà giải mã đang tạm
nghệ đã trình bày một số phương pháp
thời chiếm ưu thế trong cuộc chiến mã
mã hóa và giải mã thông dụng trong đó
phương pháp mã hóa đa ký tự Hill. Tuy hóa - giải mã. Cho đến thế kỷ thứ 15,
nhiên, nhược điểm của phương pháp này một nhà ngoại giao người Pháp tên là
là có thể giải mã bằng quy luật phân bố Vigenere đã tìm ra phương án mã hóa
tần suất. Trong bài viết này sẽ trình bày thay thế đa bảng. Phương pháp
một số phương pháp khắc phục được Vigenere dựa trên bảng sau đây:
nhược điểm này.
Bảng 1: Bảng mã Vigenere
Key a b c d e f g h i j k l m n o p q r s t u v w x y z
A A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
B B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
C C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
D D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
E E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
F F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
G G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
H H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
I I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
J J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
K K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
L L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
M M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
N N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
O O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
P P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
Q Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
R R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
S S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
T T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
U U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
V V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
- Thông báo Khoa học và Công nghệ * Số 1-2015 109
W W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
X X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
Y Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
Z Z A B C D E F G H I J K L M N O P Q R S T U V W X Y
Dòng thứ K của bảng mã Vigenere có một khóa có chiều dài bằng chiều
là một mã hóa Ceasar k-1 vị trí. Ví dụ, dài của thông điệp. Thường thì khóa là
dòng thứ 4, ứng với từ khóa D là mã hóa một cụm từ nào đó và được viết lặp lại
Ceasar 3 vị trí. (Trong trường hợp tổng cho đến khi có chiều dài bằng chiều dài
quát, mỗi dòng của bảng Vigenere thông điệp. Ví dụ với thông điệp là,
không phải là một mã hóa Ceasar mà là “Mien Trung University of Civil
một mã hóa đơn bảng, do đó có tên gọi Engineering”và khóa là từ
là mã hóa đa bảng). informatics, chúng ta mã hóa thông
Để mã hóa một thông điệp thì cần điệp như sau:
Bảng 2: Mã hóa thông điệp
mi e n t r u n g u n i v e r s i t y o f c i v i l e n g i n e e r i n g
I N F O R MA T I C S I N F O R MA T I C S I N F O R A T I C S I N F O
U V J D K D U G O P F Q I J F J U T R WH U Q I N Z V Z G B V G WZ V S U
m i e n t r u n g u n i v e r s i t y
I N F O R M A T I C S I N F O R M A T
U V J D K D U G O P F Q I J F J U T R
o f c i v i l e n g i n e e r i n g
I C S I N F O R M A T I C S I N F O
W H U Q I N Z V Z G B V G W Z V S U
Trong ví dụ trên, ứng với với ký tự Các nhà mã hóa lại chiếm ưu thế trở lại
m trong thông điệp là chữ I trong khóa, so với người giải mã.
nên dòng mã hóa thứ 9 ứng với khóa I Đến thế kỷ 19, nhà khoa học người
trong bảng Vigenere được chọn, do đó Anh Charles Barbage, đã tìm ra cách
ký tự m được mã hóa thành ký tự U. giải mã Vigenere. Việc giải mã bằng
Tiếp tục, với ký tự i trong thông điệp và cách thống kê sự lặp lại của các cụm từ
khóa là ký tự N nên dòng mã hóa thứ 14 để phỏng đoán chiều dài của khóa, trong
với khóa N trong bảng mã Vigenere ví dụ trên cụm từ QI được lặp lại cách
được chọn. Dó đó ký tự i được mã hóa nhau 11 vị trí nên có thể đoán chiều dài
thành ký tự V. Tương tự như vậy cho của khóa là 11. Và từ đó có thể tách bản
các chữ còn lại. mã thành 11 phần, phần thứ nhất gồm
Trong ví dụ trên, các chữ e trong các chữ 1, 12, 23, 34, …, phần thứ hai
thông điệp được mã hóa tương ứng gồm các chữ 2, 13, 24, 35, …, cho đến
thành J, V, G, W, trong bảng mã. Do đó phần thứ chín. Mỗi phần được xem như
phương pháp giải mã dựa trên thống kê được mã hóa bằng phương pháp mã hóa
tần suất chữ cái là không thực hiện được. đơn bảng (phương pháp Ceasar). Từ đó
Trong 3 thế kỷ sau đó mã hóa Vigenere áp dụng phương pháp giải mã dựa trên
được xem là mã hóa không thể giải mã. tần suất chữ cái cho từng phần một. Cuối
- Thông báo Khoa học và Công nghệ * Số 1-2015 110
cùng ráp lại sẽ tìm ra được thông điệp BLWPOODEMJFBTZNVJNJQOJ
ban đầu. ORGGU
2. One-Time Pad Khóa K2:
Có thể thấy rằng điểm yếu của mã IESRLKBWJFCIFZUCJLZXAXA
hóa đa bảng là do sự lặp lại các từ trong APSY
khóa, ví dụ từ INFORMATICS được lặp Bản giải mã:
đi lặp lại nhiều lần. Điều này làm cho theydecidedtoattacktomorrow (they
vẫn tồn tại một mối liên quan giữa thông decided to attack tomorrow)
điệp và bản mã hóa, ví dụ cụm từ „iv‟ Trƣờng hợp 2:
trong thông điệp được lặp lại thì cụm từ Bản mã C:
QI cũng được lặp lại trong bản mã. BLWPOODEMJFBTZNVJNJQOJ
Người giải mã tận dụng mối liên quan ORGGU
này để thực hiện giải mã. Do đó, vấn đề Khóa K3:
ở đây là làm sao để giữa thông điệp gốc FHAHDDRAIQFIASJGJWQSVV
ban đầu và bản mã hóa thật sự ngẫu BJAZB
nhiên, không tồn tại mối quan hệ nào. Bản giải mã:
Để giải quyết vấn đề này, vào cuối cuộc wewillmeetatthepartytonight (we
chiến tranh thế giới lần thứ nhất, Joseph will meet at the party tonight)
Mauborgne, giám đốc viện nghiên cứu Trong cả hai trường hợp trên thì
mật mã của quân đội Mỹ đã đề xuất bản giải mã đều có ý nghĩa. Điều này có
phương án là dùng khóa ngẫu nhiên. nghĩa là nếu người giải mã thực hiện giải
Khóa ngẫu nhiên có chiều dài bằng mã vét cạn thì sẽ tìm được nhiều khóa
chiều dài của thông điệp gốc ban đầu, ứng với nhiều bản tin có ý nghĩa, do đó
mỗi khóa chỉ sử dụng một lần. sẽ không biết được bản tin nào là thông
Ví dụ mã hóa thông điệp điệp gốc. Điều này chứng minh phương
“wearediscoveredsaveyourself” pháp One-Time Pad là phương pháp mã
Thông điệp: hóa an toàn tuyệt đối.
wearediscoveredsaveyourself Một điều cần chú ý là để phương
Khóa K1: pháp One-Time Pad là an toàn tuyệt đối
FHWYKLVMKVKXCVKDJSFS thì mỗi khóa chỉ được sử dụng một lần.
APXZCVP Nếu một khóa được sử dụng nhiều lần
Bản mã C: thì cũng không khác gì việc lặp lại một
BLWPOODEMJFBTZNVJNJQOJ từ trong khóa (ví dụ khóa có từ
ORGGU INFORMATICS được lặp lại). Ngoài ra
Nếu ta dùng khóa K1 để giải mã thì các khóa phải thật sự ngẫu nhiên với
sẽ có được lại thông điệp gốc ban đầu nhau. Nếu các điều này bị vi phạm thì sẽ
“wearediscoveredsaveyourself”. Tuy có một mối liên hệ giữa thông điệp và
nhiên xét hai trường hợp giải mã bản mã bản mã, mà người giải mã sẽ tận dụng
trên với 2 khóa khác như sau: mối quan hệ này.
Trƣờng hợp 1: Tuy nhiên, phương pháp One-Time
Bản mã C: Pad không có ý nghĩa sử dụng thực tế.
- Thông báo Khoa học và Công nghệ * Số 1-2015 111
Vì chiều dài khóa bằng chiều dài bản tin, điệp gốc. Do thứ tự của các chữ cái bị
mỗi khóa chỉ sử dụng một lần, nên thay mất đi nên người đọc không thể hiểu
vì truyền khóa trên kênh an toàn thì có được ý nghĩa của bản tin dù các chữ đó
thể truyền trực tiếp thông điệp mà không không thay đổi.
cần quan tâm đến vấn đề mã hóa. Một cách thực hiện đơn giản là ghi
3. Mã hoán vị (Permutation Cipher) thông điệp theo từng hàng, sau đó kết
Các phương pháp mã hóa đã trình xuất bản mã dựa trên các cột. Ví dụ
bày cho đến thời điểm này, đều sử dụng thông điệp
phương thức thay một chữ cái trong “attackpostponeduntilthisnoon” được
thông điệp bằng một chữ cái khác trong viết lại thành bảng 4x7 như sau:
bản mã (phương pháp thay thế).
Một cách thực hiện khác là xáo
trộn thứ tự của các chữ cái trong thông
Bảng 3: Thông điệp được mã hóa theo cột và dòng
Khi kết xuất theo từng cột thì có được bản mã:
“AODHTSUITTNSAPTNCOIOKNLOPETN”
Một cơ chế phức tạp hơn là chúng ta có thể hoán vị các cột trước khi kết xuất bản
mã. Ví dụ chọn một khóa là MONARCH, ta có thể hoán vị các cột:
Bảng 4: Thông điệp được mã hóa theo cột và dòng nhưng được hóa vị cột
Hoán vị cột thứ 1 với cột thứ 4 trước khi kết xuất bản mã và có được bản mã:
“APTNKNL OPETNAO DHTTNST SUICOIO”việc giải mã được tiến hành theo thứ
tự ngược lại.
Để an toàn hơn nữa, có thể áp dụng phương pháp hoán vị 2 lần (double
transposition), tức sau khi hoán vị lần 1, ta lại lấy kết quả đó hoán vị thêm một lần
nữa:
- Thông báo Khoa học và Công nghệ * Số 1-2015 112
Bảng 5: Thông điệp được mã hóa theo cột và dòng nhưng được hóa vị cột 2 lần
Hoán vị cột thứ 2 và cột thứ 7 (luật Kerchoff). Việc giải mã sẽ có 3
trước khi kết xuất bản mã và có được tình huống sau:
bản mã: Chỉ biết bản mã (ciphertext–only):
“APTNPETNTTNSAODHCOIOKNLO Đây là trường hợp gây khó khăn nhất
TSUI”. Người ta đã đánh giá rằng giải cho người giải mã. Các trường hợp giải
mã phương pháp hoán vị 2 lần không mã được trình bày trong chương này
phải là chuyện dễ vì rất khó đoán ra thuộc dạng ciphertext only.
được quy luật hoán vị. Ngoài ra không Biết một số cặp thông điệp – bản
thể áp dụng được phương pháp phân tích mã (known–plaintext): Trong trường
tần suất chữ cái giống như phương pháp hợp này, người giải mã có được một vài
thay thế vì tần suất chữ cái của thông cặp thông điệp và bản mã tương ứng.
điệp và bản mã là giống nhau. Việc biết được một vài cặp thông điệp –
4. Tổng kết bản mã làm cho người giải mã dễ dàng
Các phương pháp mã hóa cổ điển hơn trong việc tìm khóa. Ví dụ, đối với
thường dựa trên hai phương thức. Cách mã hóa Vigenere, nếu người giải mã chỉ
thứ nhất là dùng phương thức thay thế cần biết một cặp thông điệp – bản mã thì
một chữ cái trong bản thông điệp gốc sẽ dễ dàng suy ra được khóa, từ đó giải
ban đầu thành một chữ cái khác trong các bản mã khác mà cũng được mã hóa
bản mã (substitution). Các mã hóa dùng bằng khóa này. Ví dụ: nếu biết bản mã:
phương thức này như: mã hóa Ceasar, UVJDKDUGOPFQIJFJUTRWHUQIN
mã hóa thay thế đơn bảng, đa bảng, ZVZGBVGWZVSU tương ứng thông
One-time pad. Cách thứ hai là dùng điệp gốc là ‘mien trung university of
phương thức hoán vị để thay đổi thứ tự civil engineering’, người giải mã có thể
ban đầu của các chữ cái trong bản thông tra ngược bản Vigenere và tìm được
điệp gốc. Hai phương thức này cũng khóa INFORMATICS để giải các bản
đóng vai trò quan trọng trong mã hóa đối mã khác.
xứng hiện đại được trình bày trong phần Một số cặp thông điệp – bản được lựa
sau. Trong chương này, chúng ta đã xem chọn (choosen–plaintext): Trong trường
xét một số phương thức giải mã. Mục hợp này, người giải mã có khả năng tự
tiêu của việc giải mã là từ bản mã đi tìm lựa một số thông điệp gốc và quan sát
thông điệp gốc, hoặc khóa, hoặc cả hai. được bản mã tương ứng. Ví dụ khi bạn
Chúng ta giả định rằng người giải mã đi ăn trưa và quên khóa máy, người giải
biết rõ thuật toán mã hóa và giải mã mã có thể dùng chương trình mã hóa của
bạn để thực hiện mã hóa một số bản tin
- Thông báo Khoa học và Công nghệ * Số 1-2015 113
chọn trước và có được bản mã tương bị giải mã không chỉ trong trường hợp 1
ứng (dù không biết khóa). Như vậy đối mà còn ngay cả trong trường hợp 2 và
với trường hợp 2 và 3 thì người giải mã 3. Đó là một số thuật toán mà chúng ta
sẽ dễ dàng hơn trong việc giải mã so với sẽ tìm hiểu trong phần tiếp theo của
trường hợp 1. Điều này đặt ra thách thức Thông báo Khoa học và Công nghệ của
cho các nhà nghiên cứu là phải tìm ra số kế tiếp “Mã hóa đối xứng hiện đại”.
các thuật toán mã hóa sao cho không thể
TÀI LIỆU THAM KHẢO
[1] Mark Stamp. 2006. Information Security Principles and Practices - John
Wiley&Son.
[2]. William Stallings. 2011. Cryptographyand Network Security Principlesand
Practice Fifth Edition - Prentice Hall.
[3]. Lee Barken. 2003. How Secure Is Your Wireless Network - Prentice Hall.
nguon tai.lieu . vn