Tải bản đầy đủ (.pdf) (69 trang)

Nghiên cứu các kỹ thuật ẩn tin, giấu tin kết hợp mã hóa trong môi trường đa phương tiện để đảm bảo an toàn thông tin và xây dựng ứng dụng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.36 MB, 69 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
------------------------

VŨ HOÀNG DƢƠNG

NGHIÊN CỨU CÁC KỸ THUẬT ẨN TIN, GIẤU TIN KẾT HỢP MÃ
HÓA TRONG MÔI TRƢỜNG ĐA PHƢƠNG TIỆN ĐỂ
ĐẢM BẢO AN TOÀN THÔNG TIN VÀ XÂY DỰNG ỨNG DỤNG
Ngành: Công nghệ thông tin
Chuyên ngành: Kỹ thuật phần mềm
Mã số: 60480103

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

NGƢỜI HƢỚNG DẪN KHOA HỌC: TS. Hồ Văn Hƣơng

HÀ NỘI - 2015


1

LỜI CAM ĐOAN
Tôi xin cam đoan kết quả trong luận văn là sản phẩm của riêng cá nhân tôi.
Trong toàn bộ nội dung của luận văn, những điều đƣợc trình bày hoặc là của cá nhân
hoặc là đƣợc tổng hợp từ nhiều nguồn tài liệu. Tất cả các tài liệu tham khảo đều có
xuất xứ rõ ràng và đƣợc trích dẫn hợp pháp.
Tôi xin hoàn toàn chịu trách nhiệm theo quy định cho lời cam đoan của mình.
Hà Nội, ngày 29/5/2015
Ngƣời cam đoan


Vũ Hoàng Dƣơng


2

LỜI CẢM ƠN
Tôi xin bày tỏ lòng biết ơn sâu sắc đến thầy giáo TS. Hồ Văn Hƣơng - Ban Cơ
yếu Chính phủ là ngƣời đã trực tiếp hƣớng dẫn, chỉ bảo tận tình và hết lòng giúp đỡ tôi
trong suốt thời gian làm luận văn này.
Tôi xin chân thành cảm ơn các thầy cô giáo trƣờng Đại học Công nghệ - ĐHQG
Hà Nội đã giảng dạy và cung cấp cho chúng tôi những kiến thức rất bổ ích trong thời
gian học cao học, giúp tôi có nền tảng tri thức để phục vụ nghiên cứu khoa học sau
này.
Tôi xin cảm ơn Lãnh đạo và đồng nghiệp tại đơn vị đã tạo điều kiện và giúp đỡ
tôi trong suốt quá trình nghiên cứu và hoàn thành luận văn.
Tôi cũng xin bày tỏ lòng cảm ơn đến gia đình và bạn bè, những ngƣời luôn quan
tâm, động viên và khuyến khích tôi.
Cuối cùng tôi xin gửi lời chúc sức khỏe và thành công tới tất cả quý thầy cô và
gia đình cùng toàn thể các bạn.
Hà Nội, ngày 29 tháng 5 năm 2015
Học viên

Vũ Hoàng Dƣơng


3

MỤC LỤC
LỜI CAM ĐOAN ............................................................................................................1
LỜI CẢM ƠN ..................................................................................................................2

MỤC LỤC .......................................................................................................................3
DANH MỤC CÁC KÝ HIỆU VIẾT TẮT ......................................................................6
DANH MỤC CÁC BẢNG ..............................................................................................7
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ .........................................................................8
LỜI MỞ ĐẦU .................................................................................................................9
Chƣơng 1: CƠ SỞ LÝ THUYẾT ..................................................................................11
1.1. Tổng quan về giấu tin .........................................................................................11
1.1.1. Khái niệm giấu tin ........................................................................................11
1.1.2. Các thành phần của hệ giấu tin .....................................................................11
1.1.3. Giấu tin và mật mã ........................................................................................12
1.1.4. Phân loại giấu tin ..........................................................................................12
1.1.5. Môi trƣờng giấu tin .......................................................................................13
1.1.6. Các tiêu chí đánh giá kỹ thuật giấu tin trong ảnh .........................................14
1.1.7. Đánh giá chất lƣợng ảnh sau khi giấu tin PSNR ..........................................15
1.1.8. Ứng dụng của giấu tin...................................................................................16
1.1.9. Kỹ thuật tấn công hệ giấu tin ........................................................................17
1.1.10. Một số chƣơng trình giấu tin ......................................................................18
1.2. Tổng quan mã hoá thông tin ...............................................................................19
1.2.1. Sơ lƣợc về lịch sử mật mã học ......................................................................19
1.2.2. Các khái niệm cơ bản....................................................................................19
1.2.3. Phân loại hệ mật mã ......................................................................................21
1.3. Mã Hamming ......................................................................................................24


4

1.3.1. Định nghĩa.....................................................................................................24
1.3.2. Vấn đề phát hiện sai và sửa sai .....................................................................24
1.3.3. Cách phát hiện sai .........................................................................................24
1.3.4. Cách sửa sai ..................................................................................................25

1.4. Kết chƣơng ..........................................................................................................28
Chƣơng 2: MỘT SỐ PHƢƠNG PHÁP GIẤU TIN TRÊN ẢNH .................................29
2.1. Ảnh số .................................................................................................................29
2.1.1. Khái niệm chung ...........................................................................................29
2.1.2. Phân loại ảnh .................................................................................................29
2.1.3. Các định dạng ảnh ........................................................................................30
2.1.4. Histogram......................................................................................................32
2.2. Một số phƣơng pháp giấu tin trong ảnh ..............................................................32
2.2.1. Giấu tin mật vào các “bít có trọng số thấp” (Least Significant Bit - LSB) .32
2.2.2. Giấu tin dựa trên kỹ thuật “biến đổi ảnh” .....................................................34
2.2.3. Giấu tin sử dụng “mặt nạ” giác quan ............................................................34
2.3. Một số thuật toán giấu tin trong ảnh ...................................................................34
2.3.1. Thuật toán giấu tin trong khối bit sử dụng tính chẵn lẻ của tổng số bit 1 ....34
2.3.2. Thuật toán giấu tin WU-LEE ........................................................................38
2.3.3. Thuật toán giấu tin CHEN-PAN-TSENG (CPT) .........................................40
2.3.4. Thuật toán giấu tin dựa trên mã Hamming ...................................................42
2.4. Kết chƣơng ..........................................................................................................49
Chƣơng 3: XÂY DỰNG CHƢƠNG TRÌNH GIẤU TIN .............................................50
3.1. Mục đích yêu cầu ................................................................................................ 50
3.2. Giải pháp .............................................................................................................50
3.3. Xây dựng và cài đặt.............................................................................................52


5

3.3.1. Lựa chọn phƣơng pháp mã hóa ....................................................................52
3.3.2. Lựa chọn giải thuật giấu tin ..........................................................................55
3.3.3. Môi trƣờng cài đặt ........................................................................................55
3.3.4. Thiết kế và cài đặt .........................................................................................56
3.3.5. Kết quả thực nghiệm .....................................................................................59

3.4. Kết chƣơng ..........................................................................................................62
KẾT LUẬN ...................................................................................................................63
TÀI LIỆU THAM KHẢO .............................................................................................64
PHỤ LỤC ......................................................................................................................66


6

DANH MỤC CÁC KÝ HIỆU VIẾT TẮT
VIẾT TẮT

TỪ GỐC

NGHĨA TIẾNG VIỆT

3-DES

Triple Data Encrytion Standard

Áp dụng giải thuật DES 3
lần cho mỗi khối dữ liệu

ADC

Analog to Digital Converter

Chuyển đổi từ tín hiệu
tƣơng tự sang tín hiệu số

AES


Advanced Encryption Standard

Chuẩn mã hóa tiên tiến

BMP

Bitmap

Định dạng ảnh số

CPT

Chen-Pan-Tseng

Thuật toán giấu tin do 3 tác
giả Chen, Pan, Tseng đề
xuất

DCT

Discrete Cosine Transform

Biến đổi Côsi rời rạc

DES

Data Encryption Standard

Chuẩn mã hóa dữ liệu


HAS

Human Auditory System

Hệ thông thính giác con
ngƣời

HVS

Human Vision System

Hệ thống thị giác của con
ngƣời

JPEG

Joint Photographic Experts
Group

Ảnh nén có mất mát thông
tin

LSB

Least Significant Bit

Bit có trọng số thấp hay Bit
ít quan trọng


PSNR

Peak Signal to Noise Ratio

Tỉ số tín hiệu cực đại trên
nhiễu

RSA

Ron Rivest, Adi Shamir, Len
Adleman

Thuật toán mã hóa khóa
công khai do 3 tác giả Ron
Rivest, Adi Shamir,
Adleman đề xuất

Len


7

DANH MỤC CÁC BẢNG
Bảng 1.1: Danh sách các đa thức nguyên thủy có bậc m từ 2 đến 8 .............................26
Bảng 2.1: Ví dụ số hóa thông tin và ảnh gốc ................................................................ 33
Bảng 2.2: Tỉ lệ giấu tin và tỉ lệ thay đổi ảnh gốc phụ thuộc vào r số bít giấu trong một
đoạn ...............................................................................................................................48
Bảng 3.1: Bảng so sánh giữa ảnh gốc và ảnh đã giấu tin ..............................................60
Bảng 3.2: So sánh biểu đồ Histogram ảnh gốc và ảnh giấu tin .....................................61
Bảng 3.3: Bảng kết quả đo PSNR trên tập ảnh thử nghiệm ..........................................61



8

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 1.1: Sơ đồ chung của hệ giấu tin mật ...................................................................11
Hình 1.2: Các nhánh của giấu tin ..................................................................................12
Hình 1.3: Cân nhắc giữa chất lƣợng, dung lƣợng và tính bền vững .............................15
Hình 1.4: Quá trình mã hóa và giải mã .........................................................................20
Hình 1.5: Mô hình hệ thống mã hoá khoá bí mật ..........................................................21
Hình 1.6: Mô hình hệ thống mã hoá với khoá công khai ..............................................23
Hình 2.1: Ảnh số ............................................................................................................29
Hình 2.2: Cấu trúc tệp ảnh bitmap.................................................................................30
Hình 2. 3: Biểu đồ Historgram của ảnh đa cấp xám Lena.............................................32
Hình 2.4: Ma trận ảnh số ...............................................................................................35
Hình 2.5: Bit thay đổi từ 0 sang 1 .................................................................................36
Hình 3.1: Lƣợc đồ giấu tin phía ngƣời gửi ....................................................................52
Hình 3.2: Lƣợc đồ giấu tin phía ngƣời nhận .................................................................52
Hình 3.3: Mô tả hoạt động của RSA .............................................................................53
Hình 3.4: Thuật toán mã hóa RSA ................................................................................54
Hình 3.5: Sơ đồ giấu tin mật..........................................................................................56
Hình 3.6: Sơ đồ tách tin mật ..........................................................................................57
Hình 3.7: Giao diện giấu tin mật ...................................................................................58
Hình 3.8: Giao diện tách tin mật ...................................................................................58
Hình 3.9: Thông điệp bí mật dùng để giấu tin (272 bit) ................................................59
Hình 3.10: Tập ảnh thử nghiệm .....................................................................................59


9


LỜI MỞ ĐẦU
Trao đổi thông tin liên lạc là nhu cầu quan trọng của con ngƣời. Với sự hỗ trợ
của các thiết bị khoa học kỹ thuật hiện đại, việc trao đổi thông tin liên lạc của con
ngƣời càng trở nên thuận tiện và dễ dàng hơn. Bên cạnh các thiết bị di động, điện
thoại…thì việc trao đổi thông tin liên lạc trên Internet ngày càng trở lên phổ biến.
Internet không đơn thuần là một mạng cộng đồng mà đã trở thành một xã hội ảo, kết
nối con ngƣời trên toàn thế giới lại gần nhau hơn. Do có hạ tầng tốt, tính tiện lợi và
phổ dụng, Internet đã đƣợc các tổ chức, các cá nhân tích cực sử dụng trong việc trao
việc liên lạc, trao đổi thông tin. Nhƣng có một vấn đề thực tế đặt ra là nguy cơ mất mát
thông tin, bị đánh cắp thông tin ngày càng gia tăng, đòi hỏi phải có cơ chế bảo mật,
bảo đảm an ninh, an toàn cho thông tin trao đổi trên mạng.
Bảo mật thông tin, trong đó có mật mã học và giấu tin mật đang là những lĩnh
vực đƣợc quan tâm nghiên cứu. Nhiều giải thuật mã hoá, nhiều thuật toán giấu tin mật
đã đƣợc đề xuất nhằm tăng cƣờng an ninh thông tin. Tuy nhiên, khi có một giải thuật
mã hoá đƣợc nghiên cứu, đề xuất thì sẽ có nhiều ngƣời nghiên cứu cách thức thám mã
để phá vỡ nó; khi có một giải thuật giấu tin mật đƣợc nghiên cứu đề xuất thì cũng sẽ
có nhiều ngƣời nghiên cứu cách thức thám tin để phát hiện tin mật giấu. Mặc dù để
thám tin, thám mã là rất khó, nhƣng thực tế đã chứng minh nhiều kỹ thuật thám tin,
thám mã đã thành công, đặc biệt là khi sức mạnh tính toán của máy tính ngày càng gia
tăng thì nguy cơ các thông tin đã mã hoá, đã giấu bị phát hiện là hoàn toàn có thể. Do
vậy, các chính sách bảo mật thông tin thƣờng đƣợc thi hành với nhiều lớp, kết hợp
nhiều phƣơng pháp, kỹ thuật khác nhau.
Đối với các cơ quan an ninh, tổ chức ANQP, nhu cầu liên lạc trên mạng công
khai, mạng Internet ngày càng gia tăng. Việc liên lạc không chỉ dừng ở mức độ trao
đổi thông tin đơn thuần mà còn phải đảm bảo an toàn về mặt nội dung, bí mật về mặt
hình thức hoạt động. Do vậy, đã có nhiều nghiên cứu đƣợc tiến hành để xây dựng các
giải pháp, các ứng dụng cho việc liên lạc bí mật với xu hƣớng chung là kết hợp các kỹ
thuật mã hoá thông tin và giấu tin mật trong các đối tƣợng dữ liệu đa phƣơng tiện.
Trên cơ sở nghiên cứu các kỹ thuật mã hoá thông tin và giấu tin mật, luận văn đã
tìm hiểu và nghiên cứu giải pháp cho ứng dụng liên lạc bí mật. Giải pháp này dựa trên

việc kết hợp các kỹ thuật mã hoá thông tin, giấu tin mật.
Nội dung luận văn đƣợc tổ chức 3 chƣơng nhƣ sau:
Chƣơng 1: Cơ sở lý thuyết
Trình bày tổng quan về giấu tin, mã hóa thông tin và mã Hamming
Chƣơng 2: Một số phƣơng pháp giấu tin trong ảnh số


10

Trình bày về định nghĩa, phân loại ảnh số, một số phƣơng pháp giấu tin trong
ảnh, các thuật toán giấu tin trong ảnh và thuật toán giấu tin dựa trên mã Hamming.
Chƣơng 3: Xây dựng một ứng dụng kết hợp mã hóa và giấu tin để đảm bảo
an toàn thông tin.
Trình bày xây dựng chƣơng trình demo để thử nghiệm giải pháp đã đề xuất: kết
hợp kĩ thuật mã hóa và kĩ thuật giấu tin.


11

Chƣơng 1: CƠ SỞ LÝ THUYẾT
1.1. Tổng quan về giấu tin
1.1.1. Khái niệm giấu tin
Giấu tin là kỹ thuật nhúng (giấu) một lƣợng thông tin số nào đó vào một vật
mang tin khác. Giấu tin trong ảnh số là giấu tin các mẩu tin cũng dạng số trong máy
tính vào các tệp ảnh nhị phân sao cho không bị ngƣời ngoài phát hiện [2].
Kỹ thuật giấu tin nhằm hai mục đích: một là bảo mật cho dữ liệu đƣợc đem giấu,
hai là bảo vệ cho chính đối tƣợng mang tin giấu. Hai mục đích khác nhau này dẫn đến
hai kỹ thuật chủ yếu của giấu tin. Đó là giấu tin mật (Steganography) và thủy vân số
hay thủy ấn (Watermaking).
1.1.2. Các thành phần của hệ giấu tin

Các thành phần chính của một hệ giấu tin gồm có:
- Mẩu tin: có thể là văn bản, hình ảnh hay tệp tin tuỳ ý (âm thanh số, video số),
vì trong quá trình giấu tin, chúng đều đƣợc chuyển thành các chuỗi bit..
- Môi trƣờng sẽ chứa tin: thƣờng là ảnh, nên gọi là ảnh phủ hay ảnh gốc. Ngoài
ra còn có thể là âm thanh số, video số, văn bản…
- Khoá K: khoá mật, tham gia vào quá trình giấu tin để tăng tính bảo mật
- Môi trƣờng đã chứa tin: là môi trƣờng chứa tin mật sau khi đã đƣợc nhúng tin
mật vào. Trong trƣờng hợp môi trƣờng ảnh thì gọi là ảnh mang.

Hình 1.1: Sơ đồ chung của hệ giấu tin mật
Xét theo góc độ toán học, có thể định nghĩa một lƣợc đồ giấu tin nhƣ sau.
Gọi Ks là một khoá viết mật (stego key) đƣợc xác định từ một tập K của tất cả
các khoá viết mật; M là tập tất cả các thông điệp có thể đƣợc nhúng và C là tập tất cả
các vật mang có thể. Khi đó, một lƣợc đồ giấu tin đƣợc thiết lập bởi 2 ánh xạ, ánh xạ
nhúng Emb và ánh xạ trích xuất Ext:


12

sao cho Ext(Emb(c,Ks,m))=m với tất cả c thuộc C và Ks thuộc K và m thuộc M.
Vật mang s=Emb(c,Ks,m) đƣợc gọi là stego Data.
1.1.3. Giấu tin và mật mã
Giấu tin và mật mã tuy cùng có một mục đích là không để đối phƣơng phát hiện
ra tin cần giấu nhƣng chúng có một số đặc điểm khác biệt sau:
- Mật mã là giấu đi ý nghĩa của thông tin
- Giấu tin là giấu đi sự hiện diện của thông tin. Về bản chất, giấu tin gần với nén
dữ liệu hơn.
1.1.4. Phân loại giấu tin
Trong lĩnh vực bảo mật, giấu tin đƣợc phân nhánh nhƣ sau:


Hình 1.2: Các nhánh của giấu tin

Thủy ấn (Water marking) - Thủy vân là lĩnh vực nghiên cứu việc nhúng thông
tin phục vụ xác thực, ví dụ nhƣ xác nhận bản quyền… Nếu thông tin giấu là một định
danh duy nhất, ví dụ nhƣ định danh ngƣời dùng, thì ngƣời ta gọi đó là Fingerprinting
(nhận dạng vân tay, điểm chỉ).
Giấu tin mật (Steganography) là lĩnh vực nghiên cứu việc nhúng các tin mật vào
một môi trƣờng phủ. Trong quá trình giấu tin, để tăng tính bảo mật, ngƣời ta có thể
dùng một khoá viết mật, khi đó ngƣời ta nói về Intrinsic Steganography (giấu tin có
xử lý). Để giải mã ngƣời dùng cũng phải có khoá viết mật đó. Khoá này có thể không
phải là khoá dùng để lập mật mã mẩu tin, ví dụ nó có thể là khoá để sinh ra hàm băm
phục vụ rải tin vào môi trƣờng phủ. Ngƣợc lại nếu không dùng khoá viết mật thì ngƣời
ta chỉ giấu tin đơn thuần vào môi trƣờng phủ thì khi đó ngƣời ta nói về Pure
Steganography (giấu tin đơn thuần).
So sánh Thủy ấn (Watermaking) và Giấu tin mật (Steganography):
Xét về tính chất thuỷ ấn giống giấu tin mật ở chỗ tìm cách nhúng thông tin mật
vào một môi trƣờng. Tuy nhiên xét về bản chất thì thuỷ ấn có những nét khác ở một số


13

điểm:
- Mục tiêu của thuỷ ấn là nhúng thông tin không lớn thƣờng là biểu tƣợng, chữ
ký hay các đánh dấu khác vào môi trƣờng phủ nhằm phục vụ việc xác nhận bản quyền.
- Khác với giấu tin mật ở chỗ giấu tin mật sau đó cần tách lại tin còn thuỷ ấn tìm
cách biến tin giấu thành một thuộc tính của vật mang.
- Chỉ tiêu quan trọng nhất của một thuỷ ấn là tính bền vững, của giấu tin mật là
dung lƣợng giấu.
- Điểm khác nữa giữa thuỷ ấn và giấu tin mật là thuỷ ấn có thể vô hình hoặc hữu
hình trên vật mang.

1.1.5. Môi trƣờng giấu tin
Giấu tin trong ảnh
Hiện nay, giấu tin trong ảnh chiếm tỉ lệ lớn nhất hệ thống giấu tin trong đa
phƣơng tiện. Bởi lẽ lƣợng thông tin đƣợc trao đổi bằng hình ảnh là rất lớn, hơn nữa
chúng còn đóng vai trò quan trọng trong các ứng dụng an toàn thông tin nhƣ: xác thực
thông tin, bảo vệ quyền tác giả, điều khiển truy cập, phát hiện xuyên tạc thông tin. Từ
việc nghiên cứu kỹ thuật giấu tin trong ảnh số chuyển sang kỹ thuật giấu tin trong các
phƣơng tiện khác nhƣ audio, video, văn bản, … không có gì khó khăn về nguyên tắc.
Chính vì lẽ đó, giấu tin trong ảnh đã và đang đƣợc nhiều tổ chức, các trƣờng đại học,
các viện nghiên cứu, các cá nhân quan tâm và đầu tƣ nghiên cứu.
Giấu tin trong audio
Giấu tin trong audio khác với giấu tin trong ảnh. Kỹ thuật giấu tin trong ảnh phụ
thuộc vào hệ thống thị giác của con ngƣời (HVS – Human Vision System) còn kỹ
thuật giấu tin trong audio phụ thuộc vào hệ thống thính giác của con ngƣời (HAS –
Human Auditory System). HAS cảm nhận đƣợc các tín hiệu ở dải tần rộng và công
suất thay đổi lớn, nhƣng lại kém trong việc phát hiện sự khác biệt nhỏ giữa các dải tần
và công suất. Điều này có nghĩa là, các âm thanh to, cao tần có thể che giấu đƣợc các
âm thanh nhỏ thấp một cách dễ dàng. Kênh truyền tin cũng là một vấn đề. Kênh truyền
hay băng thông chậm sẽ ảnh hƣởng đến chất lƣợng thông tin sau khi giấu. Giấu thông
tin trong audio yêu cầu rất cao về tính đồng bộ và tính an toàn của thông tin.
Giấu tin trong video
Giấu tin trong video đƣợc quan tâm và phát triển mạnh mẽ cho nhiều ứng dụng
nhƣ điều khiển truy cập thông tin, nhận thực thông tin và bảo vệ bản quyền tác giả. Ta
có thể lấy một ví dụ các hệ thống chƣơng trình trả tiền xem theo video clip (pay per
view application). Các thuật toán trƣớc đây thƣờng cho phép giấu ảnh vào trong video,
nhƣng kỹ thuật gần đây cho phép giấu cả hình ảnh và âm thanh vào video.
Giấu tin trong văn bản dạng text


14


Giấu thông tin vào các văn bản dạng text khó thực hiện hơn do có ít các thông tin
dƣ thừa, để làm đƣợc điều này ngƣời ta phải khéo léo khai thác các dƣ thừa tự nhiên
của ngôn ngữ. Một cách khác là tận dụng các định dạng văn bản (mã hóa thông tin và
khoảng cách giữa các từ khóa hay các dòng văn bản). Từ nội dung của thông điệp cần
truyền đi, ngƣời ta cũng có thể sử dụng văn phạm phi ngữ cảnh để tạo nên các văn bản
“phƣơng tiện chứa” rồi truyền đi.
1.1.6. Các tiêu chí đánh giá kỹ thuật giấu tin trong ảnh
Giấu tin mật là một lĩnh vực mới, đã và đang đƣợc nghiên cứu, thực nghiệm theo
nhiều phƣơng pháp khác nhau. Để đánh giá chất lƣợng của một phƣơng pháp giấu tin
mật, ngƣời ta thƣờng dựa vào các tiêu chí sau:
Đảm bảo tính vô hình
Giấu tin mật sẽ làm biến đổi vật mang tin. Tính vô hình thể hiện mức độ bị biến
đổi của vật mang. Phƣơng pháp giấu tin mật tốt sẽ làm cho thông tin cần giấu trở lên
vô hình trên vật mang, tức là làm ngƣời dùng khó có thể nhận ra trong vật mang có ẩn
chứa thông tin mật. Tuy nhiên, thực tế không phải lúc nào ngƣời ta cũng cố gắng để
đạt đƣợc tính vô hình cao nhất. Ví dụ trong truyền hình, ngƣời ta gắn hình ảnh mờ gọi
là thuỷ ấn để bảo vệ bản quyền bản tin.
Khả năng chống giả mạo
Mục đích của giấu tin mật là để truyền đi thông tin mật. Nếu không thể do thám
tin mật thì kẻ địch cũng cố tìm cách làm sai lạc tin mật, làm giả tạo tin mật đ gây bất
lợi cho đối phƣơng. Một phƣơng pháp giấu tin tốt phải đảm bảo tin mật không bị tấn
công một cách chủ động trên cơ sở những hiểu biết về thuật toán nhúng tin (nhƣng
không biết khoá giấu tin) và có vật mang.
Đối với lĩnh vực thủy ấn số thì khả năng chống giả mạo là yêu cầu vô cùng quan
trọng vì có nhƣ vậy mới bảo vệ đƣợc bản quyền, minh chứng tính pháp lý của sản
phẩm.
Dung lƣợng nhúng
Dung lƣợng giấu đƣợc tính bằng tỷ lệ của lƣợng tin cần giấu so với kích thƣớc
của vật mang tin. Các phƣơng pháp này đều cố gắng giấu đƣợc càng nhiều tin càng tốt

nhƣng vẫn giữ đƣợc bí mật. Tuy nhiên trong thực tế ngƣời ta luôn phải cân nhắc giữa
dung lƣợng và các chỉ tiêu khác nhƣ tính vô hình, tính bền vững (ổn định).


15

Hình 1.3: Cân nhắc giữa chất lượng, dung lượng và tính bền vững
Tính bền vững
Sau khi giấu tin vào vật mang, bản thân vật mang có thể phải trải qua các biến
đổi khác nhau, ví dụ nhƣ nếu vật mang là ảnh số thì có thể sẽ phải qua các biến đổi
nhƣ lọc (tuyến tính, lọc phi tuyến) thêm nhiễu, làm sắc nét, mờ nhạt, quay, nén mất dữ
liệ. Tính bền vững là thƣớc đo sự nguyên vẹn của tin mật sau những biến đổi nhƣ vậy.
Độ phức tạp tính toán
Chỉ tiêu độ phức tạp trong giấu tin và tách tin cũng là một yếu tố quan trọng
trong đánh giá các phƣơng pháp giấu tin mật. Yêu cầu về độ phức tạp tính toán phụ
thuộc vào từng ứng dụng.
Với chủ nhân giấu tin thì thời gian thực hiện phải “nhanh”, nhƣng với kẻ thám tin
thì “Tách tin” phải là bài toán “khó”. Ví dụ một ứng dụng tạo thuỷ ấn để đánh dấu bản
quyền cần phải có độ phức tạp tính toán cao thì mới đảm bảo chịu đƣợc sự tấn công
của nhiều tin tặc nhằm phá huỷ thuỷ ấn.
1.1.7. Đánh giá chất lƣợng ảnh sau khi giấu tin PSNR
Để đánh giá chất lƣợng của bức ảnh ở đầu ra của bộ mã hóa hay giấu tin, ngƣời
ta thƣờng sử dụng hai tham số: Sai số bình phƣơng trung bình - MSE (mean square
error) và phƣơng pháp đề xuất với hệ số tỷ lệ tín hiệu tạp PSNR (Peak Signal to Noise
Ratio).
MSE giữa ảnh gốc và ảnh đã giấu tin nhƣ sau:
1
𝑀𝑆𝐸 =
𝑚𝑛


𝑚

𝑛

(𝑥𝑖𝑗 − 𝑦𝑖𝑗 )2
𝑖=1 𝑗 =1

Ở đây: xij biểu thị giá trị điểm ảnh gốc, và yij biểu thị giá trị điểm ảnh đã đƣợc
biến đổi, m và n lần lƣợt là chiều rộng và chiều cao của ảnh.
PSNR, đơn vị: deciben (dB), thƣờng đƣợc sử dụng trong nghiên cứu xử lý hình
ảnh:


16

2552
𝑃𝑆𝑁𝑅 = 10 ∗ log10 (
)
𝑀𝑆𝐸
Thông thƣờng, nếu PSNR >37 dB thì hệ thống mắt thƣờng gần nhƣ không phân
biệt đƣợc giữa ảnh gốc và ảnh giấu tin. PSNR càng cao thì chất lƣợng ảnh đã giấu tin
càng tốt. Khi hai hình ảnh giống hệt nhau, MSE sẽ bằng 0 và PSNR sẽ đi đến vô hạn.
1.1.8. Ứng dụng của giấu tin
Liên lạc bí mật
Trong mã hoá, bản mã của tin mật có thể gây ra sự chú ý của tin tặc nhƣng tin
mật đƣợc giấu vào trong môi trƣờng nào đó rồi gửi đi trên mạng máy tính thì ít gây ra
sự chú ý của tin tặc. Đó là một ứng dụng của giấu tin.
Hiện nay ngƣời ta phối hợp đồng thời nhiều giải pháp để truyền tin mật trên
mạng công khai. Đầu tiên tin mật đƣợc nén lại, sau đó đƣợc mã hoá, cuối cùng giấu
bản mã vào môi trƣờng nào đó.

Bảo vệ bản quyền
- Thuỷ ấn:
+ Một biểu tƣợng bí mật gọi là thuỷ ấn đƣợc nhúng vào trong một tài liệu (hình
ảnh, âm thanh…) để xác nhận quyền sở hữu tài liệu.
+ Thuỷ ấn đƣợc đính lên tranh ảnh khi bán hoặc phân phối, thêm vào đó có thể
gán một nhãn thời gian để chống giả tạo.
+ Thuỷ ấn cũng đƣợc dùng để phát hiện xem các sản phẩm có bị sửa đổi hay
không. Việc phát hiện thuỷ ấn đƣợc thực hiện bằng thống kê, so sánh độ tƣơng quan
hoặc bằng cách đo đạc xác định chất lƣợng của thuỷ ấn trong vật mang.
- Điểm chỉ số: tƣơng tự nhƣ số seri của phần mềm. Điểm chỉ số dùng để truyền
thông tin về ngƣời nhận sản phẩm số (không phải chủ sở hữu) nhằm chứng thực bản
sao duy nhất của sản phẩm.
- Gán nhãn: Tiêu đề, chú giải, nhãn thời gian…có thể đƣợc nhúng vào sản phẩm
số. Gắn tên ngƣời lên ảnh của họ, gắn tên địa phƣơng lên bản đồ. Khi đó nếu sao chép
sản phẩm thì cũng sẽ sao chép cả thông tin đã nhúng vào nó. Chủ sở hữu của sản
phẩm, ngƣời có khoá viết mật có thể tách ra và xem các chú giải.
Trong một cơ sở dữ liệu ảnh, ngƣời ta có thể nhúng các từ khoá để các động cơ
tìm kiếm có thể tìm nhanh một bức ảnh nào đó. Nếu là một khung ảnh cho cả một
đoạn phim, ngƣời ta có thể gán cả thời điểm diễn ra sự kiện để đồng bộ hình ảnh với
âm thanh. Ngƣời ta cũng có thể gán số lần mà hình ảnh đƣợc xem để tính tiền thanh
toán.


17

1.1.9. Kỹ thuật tấn công hệ giấu tin
Tấn công một hệ giấu tin mật đƣợc gọi là steganalysis. Đó là các phƣơng pháp
để phát hiện, phá huỷ, trích rút hay sửa đổi thông tin mật. Việc nghiên cứu các biện
pháp của kẻ tấn công sẽ hữu ích cho việc thiết kế một hệ giấu thông tin tốt.
Việc tấn công đƣợc coi là thành công hay không tuỳ theo ứng dụng. Đối với liên

lạc bí mật, việc phát hiện và chứng minh đƣợc một vật có chứa tin mật đƣợc coi là
thành công. Đối với bảo vệ bản quyền hay chống giả mạo thì việc tấn công đƣợc coi là
thành công nếu không chỉ phát hiện ra thuỷ ấn mà còn phá huỷ hay sửa đổi nó nhƣng
không làm giảm chất lƣợng của vật mang.
Có điểm giống nhau giữa mã hoá và giấu tin mật là ngƣời ta giả thiết thám tin
biết trƣớc phƣơng pháp mã hoá hay giấu tin mật. Nhƣ vậy, việc thám tin theo một
phƣơng pháp cụ thể (mã hoá hay giấu tin) phụ thuộc vào “khoá” chứ không phải là
phụ thuộc vào độ phức tạp của phƣơng pháp này (nguyên lý Kerkhoff).
Tƣơng tự nhƣ thám mã trong mã hoá, các kỹ thuật thám tin trong giấu tin mật
cũng đƣợc chia thành 5 nhóm:
- Biết vật mang tin (stego-object)
- Biết vật gốc (original object) và vật mang tin
- Biết có tin giấu trong vật mang tin
- Biết thuật toán giấu tin
- Biết thuật toán trích (tách) tin mật
Có nhiều phƣơng pháp để thám tin. Thám tin có thể phát hiện thủy ấn hay tin
mật bằng cách phân tích các trạng thái, ví dụ với ảnh có thể thám tin bằng cách phân
tích vùng nhiễu quá mức trên ảnh. Tin tặc kinh nghiệm có thể nhận thấy các vùng
nhiễu này bằng mắt thƣờng. Nếu biết đƣợc vật mang gốc thì việc thám tin còn đơn
giản hơn nữa, vì khi đó có thể so sánh ảnh mang tin với ảnh gốc để tách nhiễu. Nếu
thám tin biết đƣợc có tin giấu, ngƣời ta có thể tạo ra các cặp ảnh gốc và ảnh mang để
phân tích và xem xét liệu ảnh đang tìm hiểu có mang dấu ấn của chữ ký hay tin mật
hay không.
Việc phá tin mật có thể đơn giản hay phức tạp tuỳ thuộc vào phƣơng pháp giấu
tin mật. Ví dụ, đối với phƣơng pháp nhúng tin vào bit có trọng số thấp khi giấu tin
trong ảnh thì việc phá tin mật chỉ đơn thuần là thay đổi lại các bit này, nhƣ vậy ảnh
mang tin trở về trạng thái ban đầu.
Phá tin mật đối với các phƣơng pháp giấu tin mật mà vẫn giữ nguyên vật mang là
một việc khó. Vì mục tiêu của thuỷ ấn là phải đạt đƣợc độ bền vững sao cho nếu có ai
phá thuỷ ấn thì cũng làm hỏng ngay cả vật gốc.



18

Thông thƣờng ngƣời ta tìm cách áp dụng nhiều phép biến đổi vật mang với hy
vọng rằng: tuy từng phép biến đổi không có tác dụng nhƣng tổ hợp của chúng có thể
giúp cho việc phá huỷ thủy ấn mà vẫn giữ đƣợc nội dung vật mang.
Nếu biết tin mật và vật mang tin thì cơ hội phá tin mật sẽ cao hơn.
Nếu biết thuật toán giấu tin thì kẻ thám tin có thể dùng nó thử giấu tin lên nhiều
vật mang khác nhau, qua đó dùng phƣơng pháp thống kê để tìm ra các quy luật gây
nhiễu cũng nhƣ dùng nó để kiểm thử xem một vật có mang tin mật hay không.
Việc thám tin khó nhất đó là sửa đổi tin trong ảnh mang và suy ra đƣợc “khóa
mật” dùng để nhúng tin. Nếu biết khóa mật, kẻ thám tin có thể làm giả các tin khác
giống nhƣ nó đƣợc gửi đi từ chính chủ.
Phƣơng pháp thám tin để biết thuật toán giấu tin và thuật toán “tách tin” hay
đƣợc dùng trong các hệ thám tin. Nhiều kỹ thuật thám tin trong giấu tin đƣợc chuyển
sang từ kỹ thuật thám mã (trong mã hóa).
1.1.10. Một số chƣơng trình giấu tin
Chƣơng trình Hide and Seek v4.1
Chƣơng trình này của Colin Maroney, chạy dƣới hệ điều hành DOS, để giấu tin
vào anh GIF. Nó thực hiện giấu tin vào ảnh mang một cách ngẫu nhiên, do đó nếu
lƣợng tin cần giấu nhỏ thì tin sẽ đƣợc rải đều khắp ảnh mang. Nếu lƣợng tin nhiều, thì
các vùng thay đổi dầy hơn, vì vậy dễ bị phát hiện.
Chƣơng trình StegoDos
Chƣơng trình chạy dƣới hệ điều hành DOS, sử dụng ảnh mang 320 x 200 điểm
ảnh và 256 mầu.
Chƣơng trình White Noise Storm
Chƣơng trình này của Ray (Arsen) Arachelian, dễ dùng hơn và nhúng đƣợc nhiều
tin hơn các chƣơng trình trƣớc. Ảnh mang không cần có kích thƣớc cố định, tính vô
hình cao.

Chƣơng trình S-Tools for Windows
Một chƣơng trình giấu ảnh tốt. Có thể giấu tin trong ảnh BMP, GIF, tệp âm thanh
WAV, các vùng chƣa dùng đến của đĩa mềm. Giao diện đồ họa kéo thả. Để giấu tin chỉ
cần kéo biểu tƣợng tệp tin cần giấu và thả lên ảnh.
Một yếu tố khác mà các hệ giấu tin nhắm tới và khai thác, đó là những điểm yếu
trong hệ thống thị giác con ngƣời. Một trong những phƣơng pháp giấu tin là tạo ra các
mặt nạ giác quan để đánh lừa mắt ngƣời. Vậy nên các nghiên cứu về phƣơng pháp giấu
tin trong ảnh có liên quan mật thiết với lĩnh vực xử lý ảnh, lý thuyết mật mã và các
kiến thức về hệ thống thị giác.


19

1.2. Tổng quan mã hoá thông tin
1.2.1. Sơ lƣợc về lịch sử mật mã học
Mật mã học nghiên cứu các kỹ thuật toán học nhằm cung cấp các dịch vụ bảo vệ
thông tin. Đây là ngành khoa học quan trọng, có nhiều ứng dụng trong đời sống xã hội.
Khoa học mật mã đã ra đời từ hàng nghìn năm. Tuy nhiên, trong suốt nhiều thế
kỷ, các kết quả của lĩnh vực này hầu nhƣ không đƣợc ứng dụng trong các lĩnh vực dân
sự thông thƣờng của đời sống xã hội mà chủ yếu đƣợc sử dụng trong lĩnh vực quân sự,
chính trị, ngoại giao...
Với sự phát triển ngày càng nhanh chóng của Internet và các ứng dụng giao dịch
điện tử trên mạng, nhu cầu bảo vệ thông tin trong các hệ thống và ứng dụng tin học
ngày càng đƣợc quan tâm và có ý nghĩa hết sức quan trọng. Các kết quả của khoa học
mật mã ngày càng đƣợc triển khai trong nhiều lĩnh vực khác nhau của đời sống xã hội,
trong đó phải kể đến rất nhiều những ứng dụng trong lĩnh vực dân sự, thƣơng
mại...Các ứng dụng mã hóa thông tin cá nhân, trao đổi thông tin kinh doanh, thực hiện
các giao dịch điện tử qua mạng... đã trở nên gần gũi và quen thuộc với mọi ngƣời.
Cùng với đó, các nghiên cứu và ứng dụng của mật mã học ngày càng trở nên đa
dạng hơn, mở ra nhiều hƣớng nghiên cứu chuyên sâu vào từng lĩnh vực ứng dụng cụ

thể với những đặc trƣng riêng. Ứng dụng của khoa học mật mã không chỉ đơn thuần là
mã hóa và giải mã thông tin mà còn bao gồm nhiều vấn đề khác nhau cần đƣợc nghiên
cứu và giải quyết, ví dụ nhƣ chứng thực nguồn gốc nội dung thông tin (kỹ thuật chữ ký
điện tử), chứng nhận tính xác thực về ngƣời sở hữu mã khóa (chứng nhận khóa công
khai), các quy trình giúp trao đổi thông tin và thực hiện giao dịch điện tử an toàn trên
mạng...
Các ứng dụng của mật mã học và khoa học bảo vệ thông tin rất đa dạng và phong
phú; tùy vào tính đặc thù của mỗi hệ thống bảo vệ thông tin mà ứng dụng sẽ có các
tính năng với đặc trƣng riêng.
Những kết quả nghiên cứu về mật mã cũng đã đƣợc đƣa vào trong các hệ thống
phức tạp hơn, kết hợp với những kỹ thuật khác để đáp ứng yêu cầu đa dạng của các hệ
thống ứng dụng khác nhau trong thực tế, ví dụ nhƣ hệ thống bỏ phiếu bầu cử qua
mạng, hệ thống đào tạo từ xa, hệ thống quản lý an ninh của các đơn vị với hƣớng tiếp
cận sinh trắc học, hệ thống cung cấp dịch vụ đa phƣơng tiện trên mạng với yêu cầu
cung cấp dịch vụ và bảo vệ bản quyền sở hữu trí tuệ đối với thông tin số...
1.2.2. Các khái niệm cơ bản
Khái niệm mật mã
Theo nghĩa hẹp, “mật mã” chủ yếu dùng để bảo mật dữ liệu, ngƣời ta quan
niệm: Mật mã học là khoa học nghiên cứu mật mã, bao gồm: Tạo mã và Phân tích
mã [1].


20

Phân tích mã là kỹ thuật, nghệ thuật phân tích mật mã, kiểm tra tính bảo mật
của nó hoặc phá vỡ sự bí mật của nó. Phân tích mã còn gọi là Thám mã.
Theo nghĩa rộng, “mật mã” là một trong những công cụ hiệu quả bảo đảm an
toàn thông tin nói chung: bảo mật, bảo toàn, xác thực, chống chối cãi,…
Khái niệm mã hoá thông tin
- Mã hóa là quá trình chuyển thông tin có thể đọc đƣợc (gọi là Bản rõ) thành

thông tin “khó” thể đọc đƣợc theo cách thông thƣờng (gọi là Bản mã)
Đây là một trong những kỹ thuật để bảo mật thông tin.
- Giải mã là quá trình chuyển thông tin ngƣợc lại, từ Bản mã thành Bản rõ
- Thuật toán mã hóa hay giải mã là thủ tục tính toán để mã hóa hay giải mã
- Khóa mã hóa là một giá trị làm cho thuật toán mã hóa thực hiện theo cách riêng
biệt sinh ra bản rõ. Thông thƣờng khóa càng lớn (độ dài và tính ngẫu nhiên của khoá
càng lớn)thì bản mã càng an toàn. Phạm vi giá trị có thể có của khóa đƣợc gọi là
Không gian khóa
- Hệ mã hóa là tập các thuật toán, các khóa nhằm che giấu thông tin, cũng nhƣ
làm cho rõ nó.
Hệ mã hoá đƣợc định nghĩa là bộ năm (P, C, K, E, D), trong đó:
- P: là tập hữu hạn các bản rõ có thể.
- C: tập hữu hạn các bản mã có thể.
- K: tập hữu hạn các khoá có thể.
- E: tập các hàm lập mã.
- D: tập các hàm giải mã.
Với khoá lập mã ke  K, có hàm lập mã eke  E, eke: P →C.
Với khoá giải mã kd  K, có hàm giải mã dkd  D, dkd: C→P, sao cho
dkd(eke(x))=x, Với mọi x  P. Ở đây x đƣợc gọi là bản rõ, eke(x) đƣợc gọi là bản mã.
Quá trình mã hoá và giải mã:

Hình 1.4: Quá trình mã hóa và giải mã
Ngƣời gửi tin G muốn gửi bản tin T cho ngƣời nhận N. Để đảm báo bí mật, G
mã hoá bản tin bằng khoá lập mã ke, nhận đƣợc bản mã eke(T), sau đó gửi cho N. Tin
tặc có thể trộm bản mã eke(T) nhƣng cũng “khó” để hiểu đƣợc bản tin gốc T nếu không


21

có khoá giải mã kd.

Ngƣời nhận N nhận đƣợc bản mã, họ dùng khoá giải mã kd để giải mã eke(T) và
nhận đƣợc bản tin gốc T=dkd(eke(T)).
1.2.3. Phân loại hệ mật mã
Hiện có 2 loại hệ mật mã chính: mã hoá khoá bí mật và mã hoá khoá công khai.
Hệ mã hoá khoá bí mật
Trong hệ thống mã hóa khoá bí mật, quá trình mã hóa và giải mã một thông điệp
sử dụng cùng một mã khóa gọi là khóa bí mật (secret key) hay khóa đối xứng
(symmetric key). Do đó, vấn đề bảo mật thông tin đã mã hóa hoàn toàn phụ thuộc vào
việc giữ bí mật nội dung của mã khóa đã đƣợc sử dụng.
Trƣớc đây, phƣơng pháp mã hóa chuẩn DES đƣợc coi là tiêu chuẩn của hệ mã
hóa khóa bí mật. Tuy nhiên, với tốc độ và khả năng xử lý ngày càng đƣợc nâng cao
của các bộ vi xử lý hiện nay, phƣơng pháp mã hóa DES đã trở nên không an toàn trong
bảo mật thông tin. Do đó, Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ đã quyết
định chọn một chuẩn mã hóa mới với độ an toàn cao nhằm phục vụ nhu cầu bảo mật
thông tin liên lạc của chính phủ Hoa Kỳ cũng nhƣ trong các ứng dụng dân sự. Thuật
toán Rijndael do Vincent Rijmen và Joan Daeman đã đƣợc chính thức chọn trở thành
chuẩn mã hóa nâng cao AES từ 02 tháng 10 năm 2000.

Hình 1.5: Mô hình hệ thống mã hoá khoá bí mật
Hệ mã hoá khoá bí mật có đặc điểm sau:
- Ƣu điểm: Hệ mã hoá khoá bí mật mã hoá và giải mã nhanh hơn Hệ mã hoá
khoá công khai.
- Hạn chế:
+ Mã hoá khóa bí mật chƣa thật an toàn với lý do sau: ngƣời giải mã và ngƣời mã
hoá phải có chung một khoá. Khoá phải đƣợc giữ bí mật tuyệt đối, vì biết khoá này dễ
xác định đƣợc khoá kia và ngƣợc lại.
+ Vấn đề thỏa thuận và quản lý khoá chung là khó khăn và phức tạp. Ngƣời gửi
và ngƣời nhận phải luôn thống nhất với nhau về khoá. Việc thay đổi khoá là rất khó và



22

dễ bị lộ. Khóa chung phải đƣợc gửi cho nhau trên kênh an toàn.
Mặt khác, khi ngƣời lập mã và ngƣời giải mã cùng biết chung một bí mật thì càng
khó giữ bí mật.
Hệ mã hoá khoá bí mật thƣờng đƣợc sử dụng trong môi trƣờng mà khoá chung có
thể dễ dàng trao chuyển bí mật, chẳng hạn trong cùng một mạng nội bộ và để mã hoá
những bản tin lớn vì tốc độ mã hoá và giải mã nhanh hơn hệ mã hoá khoá công khai.
Hệ mã hoá khoá công khai
Nếu nhƣ vấn đề khó khăn đặt ra đối với các phƣơng pháp mã hóa khoá bí mật
chính là bài toán trao đổi mã khóa thì ngƣợc lại, các phƣơng pháp mã hóa khóa công
khai giúp cho việc trao đổi mã khóa trở nên dễ dàng hơn. Nội dung của khóa công khai
(public key) không cần phải giữ bí mật nhƣ đối với khóa bí mật trong các phƣơng pháp
mã hóa bí mật. Sử dụng khóa công khai, chúng ta có thể thiết lập một quy trình an toàn
để truy đổi khóa bí mật đƣợc sử dụng trong hệ thống mã hóa khoá bí mật.
Trong những năm gần đây, các phƣơng pháp mã hóa khóa công khai, đặc biệt là
phƣơng pháp RSA, đƣợc sử dụng ngày càng nhiều trong các ứng dụng mã hóa trên thế
giới và có thể xem nhƣ đây là phƣơng pháp chuẩn đƣợc sử dụng phổ biến nhất trên
Internet, ứng dụng trong việc bảo mật thông tin liên lạc cũng nhƣ trong lĩnh vực
thƣơng mại điện tử.
Có thể định nghĩa hệ mã hoá công khai nhƣ sau:
Hệ mã hoá công khai (Hệ mã hoá khoá phi đối xứng): là hệ mã hoá có khoá lập
mã và khoá giải mã khác nhau (ke khác kd). Hệ mã hoá này đƣợc gọi là Hệ mã hoá
khoá công khai vì:
- Khoá lập mã cho công khai, gọi là khoá công khai
- Khoá giải mã: giữ bí mật, còn gọi là khoá riêng hay khoá bí mật.
Một ngƣời bất kỳ có thể dùng khoá công khai để mã hoá bản tin nhƣng chỉ có
ngƣời nào có đúng khoá giải mã thì mới có khả năng đọc đƣợc bản rõ.



23

Hình 1.6: Mô hình hệ thống mã hoá với khoá công khai
Hệ mã hoá khoá công khai có đặc điểm sau:
- Về ƣu điểm:
+ Hệ mã hoá công khai có thuật toán đƣợc viết một lần, công khai cho nhiều lần
dùng, cho nhiều ngƣời dùng mà họ chỉ cần giữ bí mật khoá riêng của mình.
+ Khi biết các tham số ban đầu của hệ mã hoá, việc tính ra cặp khoá công khai và
bí mật phải là “dễ” tức là trong thời gian đa thức.
Ngƣời gửi có bản rõ P và khoá công khai thì “dễ” tạo ra bản mã C.
Ngƣời nhận có bản mã C và khoá bí mật thì “dễ” giải đƣợc thành bản rõ P.
+ Ngƣời mã hoá dùng khoá công khai, ngƣời giải mã giữ khoá bí mật. Khả năng
lộ khoá bí mật khó hơn vì chỉ một ngƣời giữ gìn. Nếu thám mã chỉ biết khóa công khai
thì chúng phải đƣơng đầu với bài toán “rất khó” (thƣờng là lớp bài toán strong hard).
+ Nếu thám mã biết khoá công khai và bản mã C thì việc tìm ra bản rõ P cũng là
bài toán “khó”, số phép thử là vô cùng lớn, không khả thi.
- Về hạn chế: hệ mã hoá công khai có quá trình mã hoá và giải mã chậm hơn hệ
mã hoá khoá đối xứng.
Hệ mã hoá khoá công khai thƣờng đƣợc sử dụng chủ yếu trên các mạng công
khai nhƣ Internet, khi mà việc trao chuyển khoá bí mật tƣơng đối khó khăn.
Đặc trƣng nổi bật của hệ mã hoá khoá công khai là khoá công khai và bản mã đều
có thể gửi đi trên một kênh truyền tin không an toàn. Có biết cả khoá công khai và
bản mã thì thám mã cũng không dễ khám phá bản rõ. Nhƣng vì có tốc độ mã hoá và
giải mã chậm nên hệ mã hoá khoá công khai chỉ dùng để mã hoá những bản tin ngắn,
ví dụ nhƣ mã hoá khoá bí mật gửi đi.


24

1.3. Mã Hamming

1.3.1. Định nghĩa
Trong viễn thông, mã Hamming đƣợc biết đến là một mã sửa lỗi tuyến tính, đƣợc
đặt tên theo tên của ngƣời phát minh ra nó, Richard Hamming. Mã Hamming có thể
phát hiện một bit hoặc hai bit bị lỗi và sửa các lỗi do một bit bị sai gây ra. Một mã có
khả năng tái dựng lại thông điệp gốc trong một môi trƣờng nhiễu lỗi đƣợc gọi là mã
"sửa lỗi" [3].
1.3.2. Vấn đề phát hiện sai và sửa sai
Nguyên lý phát hiện sai rất đơn giản nhƣ sau: kiểm tra xem tổ hợp nhận có phải
là từ mã hay không, nếu không thì tổ hợp nhận là sai. Việc kiểm tra này có thể đƣợc
thực hiện bằng cách so trùng tổ hợp nhận đƣợc với các từ mã.
Nhƣ vậy việc kiểm tra này sẽ tốn một số bƣớc bằng với số lƣợng các từ mã.
Tƣơng tự đối với việc sửa sai chúng ta có nguyên lý sau: Kiểm tra xem tổ hợp
nhận có khoảng cách Hamming gần với từ mã nào nhất, nếu gần với từ mã nào nhất thì
từ mã đó chính là từ mã đúng đã đƣợc phát đi. Nguyên lý này đƣợc gọi là nguyên lý
khoảng cách Hamming tối thiểu. Việc kiểm tra này tốn một số bƣớc bằng với số lƣợng
các từ mã.
Tuy nhiên đối với mã tuyến tính, dựa vào các tính chất của mã chúng ta sẽ có
cách phát hiện sai và sửa sai hiệu quả hơn. Các phần tiếp theo sẽ trình bày lần lƣợt về
vấn đề này, nhƣng trƣớc hết chúng ta sẽ trình bày một số kiến thức toán học cần thiết
cho việc chứng minh một số kết quả trong loại mã này.
Không gian bù trực giao.
Cho S là một không gian con k chiều của không gian n chiều V, Sd là tập tất cả
các vectơ trong V sao cho∀𝑢 ∈ 𝑆, 𝑣 ∈ 𝑆𝑑, thì u × v = 0 (phép nhân ở đây là phép nhân
vô hƣớng của hai vectơ) thì Sd là một không gian con của V và có số chiều là n – k. Sd
đƣợc gọi là không gian bù trực giao của S và ngƣợc lại.
Dựa trên kết quả này chúng ta suy ra rằng với ma trận G bất kỳ kích thƣớc k × n
với k hàng độc lập tuyến tính luôn tồn tại ma trận H kích thƣớc (n– k) × n với (n – k)
hàng độc lập tuyến tính sao cho G × HT = 0, trong đó HT là ma trận chuyển vị của ma
trận H. Hay nói cách khác các vectơ hàng của H đều trực giao với các vectơ hàng của
G.

1.3.3. Cách phát hiện sai
Ứng dụng kết quả trên vào vấn đề phát hiện sai, chúng ta thấy rằng nếu v là một
từ mã đƣợc sinh ra từ ma trận sinh G có ma trận trực giao tƣơng ứng là H thì do v là
một tổ hợp tuyến tính của các vectơ hàng của G nên v × HT =0


×