ĐẠI H Ọ C Q l i ó c GIA HÀ NỘI
K HO A C Ô N G N G H Ệ
« p t-j
ĐINH NGỌC TRIỀU
B Ả O
M Ặ T
M Ầ
B Ằ N G
H Ó A
V À
C Á C
K Ỹ
G IÁ U
T H U Ậ T
T IN
Chuyên ngành: CỔNG
NGHỆ T H Ô N G TIN
Mã sổ: 1.01.10
LUẬN VÀN THẠC s ĩ K H O A HỌC
CÔNG NGHE T H Ô N G TIN
Thầv hưởùng dẫn:
PGS-TSKH N G U Y Ễ N XUÂN H U Y
Dakỉak, nãm 2004
Luân vủn Thạc sỹ: Bào mật bẳng các kv thuật mã lioá và giấu tin
LỜI NÓI D Ấ U .................................................................................................................................... 2
CHƯƠNG 1: GIÓI THIỆU VẮN Đ Ề ..........................................................................................3
1.1 .Đặt vấn đ ề ..................................................................................................................................... 3
1.2.Lịch sử bảo mật thông t i n ..................................... ................................................................... 5
1.3.Các khái niệm cơ bản ................................................................................................................7
1.4.Phân loại các hộ mật mã ....................................................................................................... 10
1.5.Phần mềm máy tính cung cấp siài pháp Steaanography.................................................I i
CHƯƠNG 2: MỘT SỐ PHƯƠNG PHÁP MĂ HOÁ ............................................................ỉ 4
2 .1 .Đại cưcm2 về mã h o á ............................................................................................................... 14
2 .2.Các kv thuật cơ bản trons bảo mật thôns tin .................................................................... 14
2.3 Ứ n 2 đụng mã hóa thông tin.....................................................................................................21
CHƯƠNG 3: GIÁU THÔNG TIN TRONG Ả N H ................................................................. 27
3.1.Tổna quát về aiấu thông tin (Steganooraphv) .................................................................. 27
3 .2.Các khải niệm Cữ b ủ n ..............................................................................................................29
3 .3 .Một sổ thuật toán giấu thông tin trons ânh.........................................................................35
CHƯƠNG 4: CÀI ĐẶT CHƯƠNG TRÌNH..............................................................................61
4 . 1 Mã hóa:.........................................................................................................................................62
4.2 Cài đặt .........................................................................................................................................67
CHƯƠNG 5: KẾT LUẬN VÀ HƯỞNG PHÁT TRIẾN.......................................................72
5.1 K ết luận:............................................................ ........................................................ 72
5.2 Hưóng phát triển .......................................................................................................72
TÀ I LIÊU THAM K H Ả O ............................................................................................................72
Tiếng V iê t..................................................................................................................................... 72
Ticng A n h ..................................................................................................................................... 72
V.-VP PÒS-TSKI! X^KVCH Xuán Hiiv
1
XTrỉ: Dinh Xgọc Triều
Luận VIĨIỈ Thạc .vỹ: Bão mật bằng các kv thuật mã hoá và giâu tin
L Ờ i NÓI ĐÀU
N sàv nav với sự ra đời và tiến bộ vượt bậc của công nghệ thông tín là bước ngoặt
tronc lịch sừ phát triên của xà hội, đưa thể giới chuyên từ kỷ nguyên công nghiệp sang
kv neuvên thôna tin và phát triển nền kinh tế tri íhức. Cuộc cách mạng thông tin kỹ
thuật sổ đã phát minh ra các thiết bị mới như: máy ảnh kỹ thuật số, máy quét, mảy in,
máv
2 hi
âm kv thuật sổ v .v ... Mạng Internet toàn cầu - nơi diễn ra các quá trình trao
đổi thônơ tin trons mọi lĩnh vực chính trị, quàn sự, quốc phòng, kinh tế, thương m ại...
lả môi trườna mở và tiện nchì, tạo thuận ìại cho giao lưu và hội nhập. Bên cạnh những
mặt tích cực của truyền thòng mạng đồng thời cũng này sinh những mặt tiêu cực như
nạn ăn cấp bản quyền, xuvên tạc thông tin, truy nhập thôns: tin trái phép v.v... Chính
cô n s nshệ thôna tin đã và đan« đón» sóp một cách tích cực, hữu hiệu vảo việc đảm
bảo an toàn cho thông tin.
Mã hoá (Cryptosraphv) thồns tin là biến đổi thông tin thành dạng khác không
hiểu được.chỉ nsười có khoá mới eiảì mã về dạn« ban dầu,Theo phươns pháp này dữ
liệu vẫn còn tồn tại trên máy tinh hav trên đườna, truyền, chinh các tập tin mã hoá này
gày sự chú ý cho người có ý đồ truy cập thông tin tỉm cách giải mã.
Giấu tin (dât hiđing) ỉà quá trình ẩn dừ íiệu vào trong môi trườna. khác có thể là
tập hình ảnh, âm thanh... Dữ liệu trước khi ẩn có thể mã hoá và nén .
Vi vậy Giấu dừ liệu chính lả phương pháp bảo mật thông tin rất hữu hiệu tránh
-
được sự chú ý cùa người khác. Đây chính là nôi dung của ìuận văn gồm các phần:
Chương I : GIỚI THIỆU VÀ NÊU VẨN ĐÈ
Chương 2: MỘT s ố PHƯƠNG PHÁP M Ã HOẢ
Chương 3: GIÁU THÔNG TIN TRONG ẢNH
Chương 4: CÀI ĐẶT CHƯƠNG TRÌNH
Chương 5: KÉT LUẬN VÀ HƯỞNG PHÁT TRIỂN
TÀI LIỆU THAM KHẢO
PHỤ LỰC
PƠS- TSKHSẹuycn Xuàn Huy
-y
STH.
Đinh ,\\'W Triều
Luận văn Thục aỹ: Bào m ật búng các kỹ thuật mã haá vù giấu tin
CHƯ Ơ NG I
G IỚ I T H IỆ♦ U VÀ NÊU VẤN ĐỀ
1.1.Đặt vấn đề
Hiện nav nhu cầu về mật mã học đâ tăng lên nhanh chóng đo những đòi hỏi
khác nhau về tính an toàn dữ liệu.
Đẻ bảo đảm an toàn cho nội dune của thông tin, người ta thường sử dụng phưcmg
pháp mã hoả thôna tin, nhằm aiấu đi ý nghĩa của nó. Đe giữ bí mật cho thông tin,
nairừi ta tìm cách che giấu đi sự hiện diện của nó. Xu hướng hiện nay là kết hợp hai kỹ
thuật: mã hóa thôns. tin sau đỏ che giấu thông tin. Mã hoá và che giấu thông tin cỏ
quan hệ chạt chẽ với nhau. Nhiều ý tưởng của kỹ thuật mật mã (Cryptography) rất hữu
ích trona những công việc che giấu sự hiện hữu của thons tin. Nghiên cứu việc kết hợp
hai kỹ thuật mật mã và che giấu dữ ỉíệu là yêu cầu rất cần thiết tron» việc bảo mật và
an toàn dừ liệu khí trao đổi các thông tin mật.
Sơ dồ phân cấp:
•
Î’ÜS- TSKIỈ Xỵitvưn Ai tán Huy
S!TH; Dinh ,Vgoc Triều
Luận văn Thạc .Si': Bảo một bằng các kỹ thuật mã hoá và giấu tin
1.1.1.M ã hoá (C ryptography)
Là một phươns phốp biến đổi thôn» tin thành một dạng thông tin khác, sẽ không
hiểu được nội dun° nếu không giải mã; chỉ nhữns naười có khoá mới cỏ thể giải mã
dạn« thông tin nàv để được thông tin ban đầu.
1.1.2.C he giấu thông tin (Síeganography)
Steganography là che giấu thòng tin bane cách ngăn cản việc xác định thông
điệp ẩn (hidden m essages). Từ Steganosraphy được lấy từ tiếng Hy Lạp nghĩa ỉả chồna
lên từ viết (corvered writins). N ó bao aồm một màn« lớn các phươns pháp thông tin bí
mật để aiấu thôns tin điệp, các phương pháp này gồm mực vô hình, các chấm nhỏ
(mierodots), hoán chuvển ký tự, ... C ôns nshệ số hoá cho phép chúna ta ứng dụng kỳ
thuật steeanoaraphy để che giấu thôna, tin trong các tín hiệu số khác nhau, một trong
nhíma phương pháp có nhiều triển vọne nhất là che giấu thông tin trong ảnh số.
Thuật naừ "che siấu thôna tin" liên quan đến cả hình mờ (watermarking;) lẳn
steaanoaraphv trên ba khía cạnh khác nhau cùa một hệ thốna che siấu theme tin: bào
toàn, an toàn và bền vừns.
Bảo toàn: Sự tham chiếu đầy đủ đến số lượng của thông tin đã được che
siấu.
-
An toàn: kẻ trộm không có khả năng phát hiện ra thông tin che giấu bên
trong dạn 2 thông tin khác (môi trường vò).
-
Bền vữns: nếu có sự biến đồi về môi trường vò thì kỹ thuật steganography
có thể khôi phục được trước sự phá huỳ cùa thôns tin đă che giẩu.
Các kỹ thuật steganography luôn hướns đến hai mục tiêu là nâng cao độ bảo
nật và lượn« dừ liệu siấu. Tuv nhiên thuờns hai mục tiêu này mâu thuần với nhau khi
un» dụns, ta phải biết duns; hoà hai mục tiêu chí nàv một cách hợp lý.
Ngoài ra, kv thuật stesanosraphv lảm cho naười xem thông thườn 2 khôna biết
sự cỏ mặt của thôna tin aiấu trons. mòi trườns vỏ.
'•!!!>' P PGS-TSKÍI Sỵuyễn Xtnin Huy
6
STH: Đình \’iịoc Triều
Luận vãn Thục sỹ: Bão
Bản mã
mặc bằng các
kỹ thuật mã hoá và giấu tin
c thu đợc từ bản tin w, sao cho: c = eK(W ) và w= dK(C)
Rõ ràng dK là hàm ngược của eK.
Một cách cụ thê hơn, một hộ mật mã bao gồm
không gian bàn tin goc, một
không gian bản mã và một không gian khoá.
Mô hình kỹ thuật giấu tin đơn giản gồm:
•
Thuật toán siấu thông tin
•
Bộ giải mã thông tin
W
K
( Sơ đồ chung cho quá trình giấu tin)
Trong đó
a) Secret M essage (M): thông tin cần giấu.
b) Cover Data (I): dữ liệu phủ, môi trường giấu tin.
c) Embedding Algorithm (E): bộ mã hóa / giải mã ỉà những chương trình, những
thuật toán nhúng tin.
d) Key (K): khóa bí mật, sử dụng trong kỹ thuật »iâu tin.
e) Steeo Data (S): dừ ỉìệu mans tin mật.
0
Control (C): Kiểm tra thông tin sau khi giải mã
\H D f’Ị )>'■ĨSKH Xạuyẽn Xíhi» Huy
I
STH Dinh Svạc Triừìi
Luận vủ>! Thạc .vỹ: Bão m ật bằng các kỹ thuậl mã hoá và giâu tin
Thôna tin được aiấu vào phương tiện mans, theo một thuật toán, sử đụng khỏa bí
mật dùns chung eiừa naười sửi vả naười nhận tin.
(Sơ đồ ehune cho quá trình siài mã)
Thôna, tin mật được truyền côns, khai trên mans, quá trinh eừỉ và nhận có thể xem như
xảy ra dồns thời, bỏ qua trễ đường truyền. Thôna tin mật được trích ra từ đối Urợng
m ans tin và được sử dụne theo mục đích định trước.
1.3.2.Thám mã
Là công việc khôi phục bản tin
wtừ bản mà c khi không biết hàm giải mã dK.
Một hệ mật mã tổt là một hệ mã việc thám mã phải khó, hoặc tốt hơn là không khả thi.
Khó khản của việc thám mâ phụ thuộc vào các điểu kiện cho trước. Sau đây ỉà các tình
huống có thể có của người thám mã:
bàn tin
Chì biết bản mã: V iệc thám mã chi dựa trên mẫu của bản mẫ. Điều đó có nghĩa
wchi chu được từ bản mã c. với cách tiếp cận nàv, thông thườna ta giả thiết
rang naười thám mã biết được hệ mật mã đã dùng. Giả thiết này cũng hợp lý ờ chỗ,
chãng hạn: khi sử dụna lưu trữ dữ liệu ở dạng mã hoủ trong một hệ thong thông tin, thì
hệ mật mã xác định phải được dùna đển.
. v o p<ÌS-TSKH \<ịuyẽ>ì Xmin Huy
8
:V'/’//• Dinil ,\gọc Triều
ỈAiận văn Thục SỲ: Bào m ật băng các kỹ thuật mã hoá và giẩu tin
- Biểt bản tin: trons trường hợp này nsười thám mã biết trước một sổ cặp (W,
eK(W )). Việc biết trước một số cặp như vậy nó hỗ trợ rất đắc ỉực cho việc thám mã của
một hãn mà
c cho trước.
- Biết bản tin được lựa chọn: trong trường hợp này ri2,ười thám mã chọn lựa
trước một số cặp (W, eK(W )). ơ ũ tinh huống này người thám mã đã giả định được
khoá. Khi đó người thám mã có thể cải trang thành người sử dụng có thẩm quyền của
hệ thôn» tin đang xem.
- Biết bàn mã được lựa chọn: trone. trườns hợp này naười thám mã biết trước
một số cặp (C, dK(C)). Với cách chọn này đễ dẫn đến bàn tin dK(C) vô nghĩa.
- Chi biết khoá lập mã (trong hệ khoá công khai): trong trường hợp này người
thám mã'biết khoá lập mã eK và cố 2ắns tìm dK trước khi nhận bản mã c . người thám
mã có nhiều thời gian để làm việc đó, bởi vì trong hệ mật mã khoá công khai, eK đirợc
côn 2 bổ trước và có thể là rất tâu trước khi nó được dùna để mã hoá bản tin
w. như
vậv nsười thám mà bàns cách xử lv trước họ có thể làm ỉộ ra khoá giải mã dK., trước
khi neười thám mã nhận bàn mã
c mà họ thật sự quan tâm đến.
Trong tấí cả các tình huốn« trên, ta luôn luôn siả định rằng naườỉ thám mã biết
trước hệ mã được dùng, vì nó liên quan đến việc mã hoá dữ liệu. Mặt khác khi cần thử
một số cổ định các hệ mã, thì độ phức tạp của việc thmá mã tăng lên một thừa số
ktìôna, đôi.
1 .3 .3 .H ệ m ã tổt
Việc khôi phục bản tin
w từ bản mã c khi không biết hàm giải mã dK ià rất
knó, hoặc tốt hơn nữa là không khả thi.
1 4.Phân loại các hệ m ật mã
Hiện nay cỏ hai phương pháp cơ bản đề mã hoá và giải mã nội dung thông tin:
Một là hệ mật mã dùns hàm đối xứng làm khoá mã hoá và giải mã gọi là hệ cổ điên;
hii là hệ mật mã dùng các hàm không đối xứng ỉàm khoá mã hoả và giải mã còn được
2 )i là hệ mã còn« khai.
Dưới đâv sẽ tìm hiểu rỗ hơn về hai hệ mã này.
;V70 f ếtìS-TSKH ;V%ỉtvi!n Xtttỉn Huv
9
STH Đinh Aỵọc' Triều
Luận văn Thạc sv: Bú« mật bằng các kỹ thuật mã hoá VÌI giấu tin
1.4.1.Hệ mã đổi xứng (hệ cổ điển)
Quá trinh mã hoá và giải mã sử clụns các thuật toán đối xứng lảm khoá. V iệc để
]ộ bàn tin mã hoá và thuật toán hoặc khoá sẽ cỉễ dàng dẫn đến !ộ bản tin, hệ này còn
được sọ i lả hệ mã cổ điển. Trons trườn« hợp nàv phải đảm bào sao cho nội dung bàn
mã và khoá chì có người gởi và người nhận biết. Với phương pháp nàỵ còn có nhược
điểm là khi cần phải thav đổi khoá thì người gời và nsưởi nhận rất khó đảm bảo được
việc khôna bị đánh cấp khoá trên đường đi, hơn thế nữa ỉà nó không cho phép tạo ra
chữ kỹ tự điện tử.
1.4.2.Hệ mật mã không đối xứng (hệ mã công khai)
Quá trình mã hoá và giải mã sử dụng các thuật toán khône đổi xứng làm khoá,
trona quá trình mã hoá và aiải mã đùna phần mềm chuvên dụn« tạo ra bộ mã gồm hai
khoá khác nhau, một khoá thử nhẩt eK dùng để mẫ hoá bản tin (khoá này của người
nhận phô biến công khai cho nsười sởi) còn gọt là khoá côna khai (Public kev), và
khoá thứ hai dK cỉùne để eiảí mã bản tin mật (khoá nảy của nsười nhận phải bảo mật
cần thận) còn aọí là khoá bí mật (Private key). Naười sởi sử dụng khoá công khai của
người nhộn để mã hoá bản tin, sau khi nhận được bản tin đã mã hoá nc;ười nhận đùng
khoú bi mật cùa minh để giải mã bản tin đã mã hoá. Như vậy việc để lộ bàn tin để mã
hoá và khoủ công khai eK vẫn không thê giải mã được bản tin đă mã hoá. Lý do tính
n» JỢC khoá bí mật từ khoá côn» khai là rất khó khăn; Một hệ mã hoá dùna; khoá công
khai để mà hoá thông tin, và khoá bí mật để giải mã, còn được gọi là hệ mã hoá công
khai. Với kỹ thuật này cho phép tạo ra chữ ký điện từ.
\ -//.’) PGS- !$KH .Xựuyưn Xuán Huy
10
AT//. Đinh .Vơọt 7'riJit
ỉ.nận van Thạc sv: Bào mật bằng các kv thuật mã hoá và giấu tin
1.4.3.So sánh hai hệ mã đối xứng và hệ mã không đối xứng
Ht mã đôi xứng
Hệ mã không đôi xứng
1. Yêu câu:
1. Yêu câu:
- Mã hoá và giải mã đùns sià thuật
tương tự nhau.
một giải thuật.
- Naười gởi và ngưòĩ nhận phải có
cùn» giải thuật và cùna khoá.
2. Tính bảo mật:
- Khoá phải được
- Mã hoá và giải mã dùnç chune
- Người gởi và người nhận, mỗi
naười phải có cặp khoá riêng.
2. Tính bảo mật:
2 ÍỮ bí mật
- Một trong hai khoá phải dược siừ
bí mật, khoá còn lại ỉà công khai.
- Không thể hay ít nhất không có
- Khôna thể hay ít nhất khôns có
tính thực tế để siải mã đoạn tin
tính thực te để giải mã đoạn tin nếu
nếu thônơ tin khác khôns có sẵn.
Ihôns tin khác khôníĩ có sẵn.
- Biết giải thuật và một khoá công
- Biết siài thuật cộnc với các mầu
khai thì khône đủ để xác định
'về mật mã không đủ để xác định
khoá bi mật.
khoá.
----------- 7---- -------------- ---T ---r.--------------- ------_—
Bảng tóm tăt so sánh hệ mã cô điên và hệ mã công khai
1.5.Phần mềm máy tính cung cấp giải pháp Steganography
Các phần mềm Steganography hiện nay rất mơi và rất hiệu quả. Những phần
mềm như vậv cho phép eiấu thòns tin trong ảnh, âm thanh, v .v ...
Trono máy tỉnh, một bức ảnh là một dãy các số thể hiện độ
sáng tạicác điểm
Ịciác nhau trone bức ảnh.
Khi nhúns dữ liệu vào trons một ảnh có hai vấn đề cần phải quan tâm: một là
Container chứa ảnh và thông tin được che giấu. M essage là thông tin được che giấu.
Thons tin có thể lả chuỗi thuần văn bàn. vãn bàn được mã hoá, bức ảnh
kháchoặc là
bit cứ thử ai có thể nhủns vào được trona một bức ảnh.
\ iD PGS-TSKH \-uvJn Xitâ» Huy
V77/; Đinii
\ Jỉ(>f Tnểu
Luận vãn Thạc sỳ: Bào mật bàng các kỹ thuật mã ho á VÜ giấu tin
Ví dụ;
Giả sừ ta có một bức ảnh 24bit mâu kich thước 1024 X 768 (đây ỉà độ phân giải
ch u n s cho các ảnh vệ tinh, ảnh chụp các thiên thể, ...). Kích thước của nó hơn 2MB
( 1024 X 768 X 24 / 8 = 2.359.296 bytes). Các màu CÙÍI mỗi điểm ảnh (pixel) được biểu
diễn bời ba thành phần: đỏ (red), xanh lá (green) và xanh đương (blue). Mồi thành
phần được thể hiện bang I byte (8 bits). Ảnh 24bit dùng 3 byte cho mỗi điểm ảnh.
Nếu thông tin được lưa vào bit cuối (LSB: least significant bỉt) của mỗi byte,
vậ y thi 3 bit sẽ được lựa trong mỗi pixel. Với “mắt người”, bức ảnh sẽ không thấy có
sự khác biệt, naay cả khi 50 sánh chủng với bản gổc.
Từ khi kv thuật siấu thons tin irons ảnh xuất hiện, đã có nhiều nghiên cửu và
phát triển nhữne chươns trinh che gỉấu thông tin khác nhau. Do tính chất nghiên cứu
nên nhiêu chương trình chỉ tập trung vào tùng loại ảnh khác nhau đê chứng minh tính
khả thi trong vấn đề giấu thôns îin trona ảnh. Dưới đây ta sẽ khảo sát nhữna chươna
trinh hiện có trên thế giới:
1.5.1.Hide and Seek V4.1
HiđeSeek dùng để che giấu và trích thôna; tin trons ảnh dạng GIF.
Giới hạn cùa nó là dữ liệu được giấu phải nhỏ, không vượt quá 19KB. Đồng
thời nó không cài đặt phần mã hoá bên trong, do đó nếu muốn bảo mật thông tin bằng
mã hoá, thì phải chạy chirơns trinh mã hoá ngoài trước khi che giấu thông tin.
Kết quả kiểm nahiệm với tập tin dừ liệu kích thước 8685 bytes:
Nhận xét: ảnh kểt quả xuất hiện có biến đối so với ảnh Rốc, tuy những biến đổỉ
này nhỏ nhưn 2 đủ để người có kinh nghiệm nhận thấy, vả nghi ngờ ảnh có chứa thông
tin.
V/;'£• / ’(
TSKl/ yguvĩ» -Yírti» Huy
12
STH: Ọinh y%ọc Triều
Lỉtận văn Thạc sỵ: Biio m ật bằn« các kỹ thuật mã hoá vã giấu tin
/
I.5.2.StegoD os
SteaoD os lả một chương trình công cộng chì làm việc với ảnh 320 X 200, vả
256 màu.
StegoD os dùng LSB để che giấu thôn? điệp, và nó ít thành công hơn các
chươns trinh khác. N ó có đặt EOF ở cuối tập tin, nhưng thôns điệp khôi phục lại vẫn
còn nhiều rác ở cuối tập tin.
1.5.3.W hite N oise Storm
White N oise Storm là chương trình giấu ảnh rất hiệu quả trong môi trường
DOS. Chúna ta dễ đàns nhúng chuỗi thông điệp vào ảnh và nhận thấy rẳng chúng ít bị
biến đổi. Chương trình dùng cách thức LSB và áp dụng chỉ với tập tin ảnh PCX. Thông
điệp được mã hoá và dùng các bit của nó để tạo tập LSB mới. Nhược điểm của phương
thức mã hoá White N oise Storm là nó dùng quá nhiều bit để lưu írữ thông tin.
NHD: PC!.''-TSKH Xgìtyưn Xiiiin Huy
13
STH ■Đìn/i S ịịọc Triều
Luận ván Thạc sỹ: Bão mật b a n g
các kỹ tliuật mà hoá và g i ấ u tin
Ị
CHƯƠNG 2
M Ộ♦ T
SỐ
PH Ư Ơ NG PH Á P M Ẫ H O Á
2 .1 .Đại cương về mã hoá
Mã hoá (Encryption) là sự biến đổi dừ liệu san» một dạng thức có thể đọc được
hoặc không đọc được nếu không có kiến thức thích họp. M ục đích của nỏ là đảm bảo
sự "riềna tư" bàng cách che đậy nó đổi với những nsười không m ong muổn, ngay cả
khi họ có thể truy xuất đến dữ liệu đã được mã hoá.
Giải mã (Decryption) là quá trình ngược lại với mã hoá. N ó biến đổi đừ liệu
được mã hoá trờ lại đạna nguyên thuỷ cùa nó.
Mã hoá và giải mã cẩn sử dụng những thông tin bâo mật, thườne gọi ỉà khoá
(key). Với một sổ cách thức mã hoá, một key có thể dùng cho cả mã hoá ỉẫn giải mã
tron» hệ mật mã đổi xứng. Với cách khác thì dim s khoá khác nhau cho mã hoá và aiải
mã trong hệ mật mã không đối xứns.
Vấn đề bảo mật hiện nay còn được ứns dụn° trên nhiều lĩnh vực hơn, khôn« chỉ
lả mã hoá và siảì mã. Authentication ỉà hình thức họp thức hoá bản quyền, hay tính
riêna tư của naười sử duns. Hình thức này được sử dụng rộng rãi trons mọi mặt của
cuộc sốns - Ví dụ như ta ký tên trên các biên bản, tài liệu, . . . v à trên phương diện liên
lạc điện tử như hiện nay, chúng ta cần kỷ thuật điện tử để cuna; cap Authentication.
N soài ra. bảo mật còn được íma clụns trên nhiều lãnh vự c khác như: Digital
signature (kỳ sổ hoá) liên kết tài liệu với một khoá nhẩt định, trong khi đó digital
timestamp liên kết tài iệu với việc tạo nó ở thòi sian nhất định. Nhưng phương tiện này
còn có thể sử dụng để kiểm soát ỉên ổ đĩa được chia sẽ, một cài đặt cần bảo mật cao ,
hav một kênh truvển hình phải trà tiên.
2.2.Các kỹ thuật
CO'
bản trong bảo mật íhông tỉn
Có thể phân chia thành hai kiểu hệ thốn« bảo mật: khoá bí mật (secret-key)và
khoá côna khai (public-key).
M L ’ PCS-'ÍSKì/ S^uyJ/i Xuàtì Huy
14
STH: Qinh
T>'iẻìi
Luận văn Thạc ỵỹ: Báo m ật hằng các kỹ thuật mã h»á và giấu tin
Trong bảo mật đùng một khoá bí mật còn gọi !à hệ bảo mật đổi xứng
(symmetric cryptography), khoá bí mật đỏ được sử dụng cho cả hai tiến trinh mã hoả
và giải mã. Hệ thống dùng khoá bi mật thông dụns nhất là D ES (Data Encryption
Standard).
Trong hệ thống khoá công khai, thi mỗi người sử dụng hai khoá có một khoá
côns khai (public kev) và một khoá riêng tư (private key). Khoá công khai được cung
cấp khôn? cần che giấu, trona khi đó khoá bí mật phải được bảo vệ. Tiến trinh mã hoá
sẽ dùn« public key, trong khi tiến trình giải mã sẽ dùng Private key. Hệ thống bào mật
RSA được sừ dụng rộn° rãi irons bào mật khoá công khai. RSA là viết tất của Rivest,
Shamir và Adỉeman, tên của nhừns neười phát minh ra RSA.
2.2.1.Hệ mã khoá đối xửng (hệ mã cổ điền)
Khái quát: hệ mã cổ điển là hệ mã có đặc tính dơn giản, dùng các thuật toán đối
xứna để tạo khoá mã hoá và khoá âiải mã. dễ thám mã. Việc mã hoá và giải mã dùns
chuñe một khoá hoặc dễ dàna suy ra được khoá eiải mã từ khoá mã hoá và ngược lại.
Giả sừ trons hệ thống có n nsarời muốn trao đổi thông tin mật với nhau, mồi cặp
trao đồi thôn® tin với nhau mà các neười còn lại khôn« thâm nhập được, thì mỗi cặp
phải có khoá bí mật khác nhau.
Như vậv trong hệ thống có n nsười cần trao đổi thông tin với, thì cần phải có
đến tổ hợp khoá bí mật là:
C2
n!
_ ( f f - l) * n
™2!(n-2 ) !
2!
Khi số người trong hệ thống trao đổi thông tin càng lớn thi số ỉượng khoá bí mật tăng
theo tồ hợp ỉớn rất nhanh, làm cho hệ thống càng kém an toàn và không hiệu quả.
V í dụ: Trons hệ thổns có 4 naười cần trao đổi thông tin A, B ,
c và D thì cần có
3*4/2 = 6 khoá: KAB . KAC . KAD , KBC , KBD . KCD . Nếu tăn« thêm một người E
vào hệ thống thì cần phủi có 4*5/2 - 10 khoá.
XHD. PtJS-TSKH Vsji/I t'í?Xiuhĩ Huv
15
.V777 Dinh Siỉọc Triều
Luân văn Thạc s v: Bào mật bằng các kỹ thuật mũ huá và giấu tin
/
Như vậy trong trườn« hợp này hệ thống tăng thêm 4 khoá bí mật.
Phần sau sẽ tìm hiểu một số hệ mã cổ điển từ đơn giản đến hức tạp.
¿.2.1.1.Hệ m ãC E A S A R
Trong hệ mã này, siả sử cả bản tin và bản mã đều gồm tat cả ký tự trên bảng
ỵ-
chừ cái tiếng Anh
{A .B,
và đảnh sổ thứ tự tương ứ ns trong bảng chừ cái lần
lượt 0,1, ...,2 5 . Khõne gian khoá là {0,1,2, ... ,2 5 }. Neu K lả khoá, thì eK. Ịà song ánh
từ Z—> I , biển mồi ký tự trono
ĩ.
thành kv tự đứng sau nó K kv tự trong I . (Thứ tự
irons 1 là thứ tự của ký tụ tự nhiên, và cuối bảna ký tự lại được nổi tiếp vào đầu cùa
bàng
tự.
ký
Như vậv ứng với khoá K e {0,1.2, ... ,25} ta có:
Hàm mã hoá eK (x) = (x + K) mod 26
Hàm aiải mã được xác định như sau: dK = C26-K
A 1B c
» Ị, 2
D E~j F
i
ì5
G| h I
6 Ị5 8
J
K L M N 0 p Q R s T u V w X Y z
■
»1
2-í 25
10 10 12 i:> 14 15 16 r iằ 19 20
Nhận xét: Lực lượns của khôn? gian khoá trong hệ mã C E A SA R là rất nhò chì
-
có 26 khoá, việc thám mã có thể tiến hành đơn giàn bằng cách thử tuần tự các khoá có
thể có. Điều này dễ dàng khi bàn tin thuộc một ngồn ngữ tự nhiên nào đó, nói chung
chi có một khoả aiải mã sinh ra bản mã cỏ nahĩa. Vì vậy hệ mã C E A SA R độ an toàn ỉà
rất thấp.
Ví dụ: Trona hệ mã CEASAR dùng khoá K = 7 để mã hoá chuỗi văn bàn sau:
CHO VI DU MINH HOA.
Khi đó chuỗi văn bản CHO VI DU MINH HOA tương ứng vớ i dãy số:
2 7 14
21 8
3 20
12 8 13 7
7 14 0
Dùna hàm mã hoá e7(x) = (x + 7) mod 26 ta được:
9 14 21
2 15
\ í ỉ L )' PCS-ĨSKH .VgMivH
10 1
Huy
19 15 20 14
16
14 21 7
STH: Đinh
Vẹợc Tnjii
lu ậ n vãn Thạc sỹ: Háo mật băng các kv thuật mã hoá và giấu tin
/
Vậy văn bàn CHO VI DU MINH HOA có bản mã là:
JOV CP KB TPƯO OVH
Đê siả mã dim s hàm d? = e(26-?) đế thu được bản tin.
2.2.1.2-H ệ mã K E Y W O R D - C E A SA R
Là một cải tiến của hệ mã CEASAR- Trong hệ này dùng bảng các khoá theo
một từ cho trước, từ này có các ký tự tương ứng với các số nguyên trong bảng chữ cái
là K| , K-2 , ...,K n (với n lả số ký tự trong từ được chọn). Khi đó bản tin được mã hoá
bans cách dùns. tuần hoàn các hàm mã hoá eKi , eK-2 > ...»eKn, Các hàm giải mã tương
ứns dKt , dK? , ...,dK n (Trone đó d K = e(26-k))- lực lượng khôno gian các khoá cùa hệ
mã KEYW ORD - CEASAR sẽ táng theo tuyến tính cùa CEASAR với số ký tự trong
bans khoá.
Ví dụ: Trong hệ mã KEYWORD - CEASAR dùng từ M AHOA làm bảng khóa
để mã hoá chuỗi vãn bàn sau: CHO VI DU MINH HOA.
Ta có:
Từ MAHOA tương úm? với dãy số 12
0
7
14
0. Như vậy dùng bảng các
hùm mã hoá e 12, e0 , e7 , e 14, e0
Khi đó chuồi văn bàn CHO VI DU MINH HOA tương ửng với dãy số:
2 7 14
218
3 20
12 8 13 7
7 14 0
D ùne bảng các hàm mã hoá ei 2 , e0 , e7 , e ¡4 , eo ta được:
14 7 21
9 8
15 20
19 22 13 19
7 21 14
Vậy văn bàn CHO VI DU MINH HOA cỏ bản mã là:
OHV
JI PU TW NT
HVO
2.2.1.3.Hệ mã thay thế
Trong hệ mã nảy. giả sừ cà bản tin và bản mã đều gồm tất cả các ký tự trên bảng
chừ cái tiếns Anh I = í A.B. ...
z\
và đánh số thứ tự tương ủn« trong bảng chữ cái lần
lưọr. {0 .1 ,2 ....... 25}, mỗi khoá là một hoán vị của { 0 ,1 ,2 ,... ,25}.
Như vậy hàm mã hoá eK là phép thế
n
-
! V.
,
<0 1 2 3 ..... 251 .! •
\H 0 /5 H
x.j r." PGS’TSKH\ỵuvJnXiuUt Huy
17\TH: DinhXgọcTriều
Luận văn Thục .vỹ: Bác m ật bằng các kỹ thuật mã hoá và giấu tin
I
Và hàm giải mã dK = n
trong đó n 1 ià nghịch thế của n •
V í dụ: Trong hệ mã thay thế để mă hoá chuỗi văn bản CH O VI D ư MINH
HOA, có khoá lã một hoán vị với phép thể n như sau:
°
9
3 À
2
:4 15 ] •>
; !:
5
5
6
]]
?
3
% 10
9
.0 11 12 o u 15 16
IS 19 20 21 77 23 24 25
13 25 20 6 16
19 23 ĩ 14
7 4 IS
12
0 17
» j.
X
o
Ta có chừ cái được đánh thứ tự tương ứng:
A ỊB Ịc D E F
> ỈK L M N 0 ? Q R s T u V w X Y z
3
A
5
\2 E3 1A 15 J6 17 18 19 20 21
6
1
7
1
s
9
23 :4 25
° 11 1"
I 10 1!
Khi đó chuỗi vãn bản CHO VI DU MINH HOA tương ứng với dẫy số:
2 7 14
21 8
3 20
12 8 13 7
7 14 0
Dùng khoá là một hoán vị với phép thế n ta được dãy sổ:
15 8 6
0 10
21 14
25 10 20 8
8 6 9
Vậy văn bản CHO VI DU MINH HOA cỏ bản mã là
PIG
AK
VO
ZKUi
IGJ
2-2.2.Hệ mã khoá không đối xứng (hệ mã công khai)
2.2.2„l:Đ ịnh nghĩa hệ m ật mã:
Một hệ mật mã là một bộ 5 (P,
c, K. e, đ) trong đó:
P: tập hữu hạn các bản rõ
C: tập hừu hạn các bản mã
K: tập hừu hạn các khoá
e: hàm lập mã
d: hàm giải mã
Đặc tnrrm nổi bật của hệ mã hoá CÔC12 khai ỉà cả khoá côna khai (public key) và
bin mã (ciphertext) đều có thể sù i đi trên một kênh thông tin khôna an toàn. M ột số hệ
ưật mã khoá công khai: RSA, ELGAMAL. DES„ ...
iL) PÒS-TSKH \\ỉi,ye» Xiuin Huy
18
STH Dinh Xgợc Triều
Luận vãn Thạc .vỹ: Hào niật băng các kv thuật m ã hoá và giầu tin
ị
2.2.2.2
Hệ m ã hoá RSA (năm 1977), ba đồn 2 tác giả Rivest, Shamìr và
Adleman
Sơ đồ
*
Chọn 2 số nguyên tổ lớn p, q (bí mật)
Tính n = p * q
n công khai
Tính ộ(n) = (p - l ) ( q - l )
Đặt P - C = Zn
Chọn b sao cho UCLN(b, ệ(n)) = 1.
Tính a = b'! sao cho a*b = 1 mod ộ(n)
•
Khoá lập mã ỉà (n, b) công khai
Hàm lập mã e(x)= xb mod n = y
*
Khoá aiải mã a (bí mật)
Hàm °iái mã d(y) = ya mod n = X
•
Độ an toàn;
Hệ mật mà RSA chi được an toàn khi giữ bi mật khoá giải mã a và các thừa số
nguyên tổ p, q. trường hợp biết p, q, dễ dàng tính được ệ(n). Biết ệ(n) sẽ tính được a
theo thuật toán Euclicđean mờ rộng. Biết a thì toàn bộ bí mật của hệ thống bị phá vỡ vi
khoá k - (n, a. b) được biết nên có thể đọc ngay được bản rõ
Thời gian thực hiện là n. Lý thuyết đã chứng minh, nểu chọn n = 10ì5°, tính toán
tròn máv tính có tốc độ 10 tỉ phép tính / aiâv thì phá được khoá phải mất 10132 năm.
Nhược điểm : mã RSA chạy chậm (dịch mã chậm). Khó khăn trong v iệc tìm các
sế nguvên tố lớn p và q.
ứ n a dụns: mã hoá khoả, chữ ký điện tử.
M'L: PCS-TSKH \Ịiiiyỉn\itũn Huy
\TH : Đinh Vịv;í/ Triều
- Xem thêm -