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
Trang 1TRƯỜ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
Trang 2LỜ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
Trang 3LỜ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
Trang 4MỤ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
Trang 51.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
Trang 63.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
Trang 7DANH MỤC CÁC KÝ HIỆU VIẾT TẮ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
tương tự sang tín hiệu số AES Advanced Encryption Standard Chuẩn mã hóa tiên tiến
Thuật toán giấu tin do 3 tác giả Chen, Pan, Tseng đề xuất
Trang 8DANH 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
Trang 9DANH 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
Trang 10LỜ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ố
Trang 11Trì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
Trang 12Chươ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:
Trang 13sao cho Ext(Emb(c,K s ,m))=m với tất cả c thuộc C và K s thuộc K và m thuộc M Vật mang s=Emb(c,K s ,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ố
Trang 14đ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
Trang 15Giấ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:
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)
Trang 16Hì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:
Trang 17𝑃𝑆𝑁𝑅 = 10 ∗ log10(255
2𝑀𝑆𝐸) 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 đó
- Đ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
Trang 181.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
Trang 19Thô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
Trang 201.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]
Trang 21Phâ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ư
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
Trang 22Trong 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à
Trang 23dễ 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õ
Trang 24Hì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
Trang 251.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
Trang 26Và ngược lại nếu v × HT= 0 thì v phải là một tổ hợp tuyến tính của các vectơ hàng của G do đó v là một từ mã
Syndrome – vectơ sửa sai (corrector)
v × HT thường được gọi là syndrome hay vectơ sửa sai của v và kí hiệu là s(v) Vậy chúng ta có v là từ mã khi và chỉ khi s(v) = 0
Với tính chất này chúng ta thấy H có thể được sử dụng để kiểm tra một tổ hợp có phải là từ mã không hay nói cách khác H có thể được dùng để phát hiện sai Vì lý do này mà ma trận H còn được gọi là ma trận kiểm tra
Ví dụ: nếu từ mã w = 1011011, vectơ lỗi là e = 0010100 có nghĩa là sai ở vị trí số
3 và 5 (tính từ trái, bắt đầu bằng 1) thì vectơ nhận sẽ là v = w + e =1001111
Ngược lại nếu từ mã w = 0110010 còn vec tơ nhận là v = 0010011 thì vectơ lỗi là
e = w + v = 0100001 có nghĩa là đã có sai xảy ra ở các vị trí số 2 và số 7
Chúng ta thấy trọng số của vectơ lỗi biểu diễn khoảng cách Hamming giữa từ mã phát và tổ hợp nhận
Khái niệm trên gợi ý cho chúng ta một điều như sau: Nếu vectơ nhận là v thì chúng ta có thể tính được vectơ lỗi tương ứng với mỗi từ mã bằng cách cộng v với lần lượt các từ mã và rồi dựa vào nguyên lý khoảng cách Hamming tối thiểu chúng ta thấy rằng vectơ lỗi nào có trọng số nhỏ nhất thì từ mã tương ứng chính là từ mã đã được phát đi
1.3.5 Ma trận kiểm tra
1.3.5.1 Đa thức nguyên thủy
Trang 27Mã Hamming là mã vòng có đa thức sinh là đa thức nguyên thủy bậc m, mã này
có các tham số nhƣ sau:
(n,k,d0)=(2m-1,2m-1-m,3) Bảng sau là danh sách các đa thức nguyên thủy có bậc m từ 2 đến 8
Bảng 1.1: Danh sách các đa thức nguyên thủy có bậc m từ 2 đến 8
Chú ý: ở bảng trên ta thấy ký hiệu viết các đa thức theo số mũ của các bậc khác không Ví dụ: (02567) ↔ g(X) = X7+X6+X5+X2+1
1.3.5.2 Ma trận kiểm tra
Mã Hamming có đa thức sinh là đa thức nguyên thủy Bởi vậy một phần tử nguyên thủy bất kỳ đều đƣợc xem là nghiệm của mã nếu ta lấy phần tử α làm nghiệm thì:
Trang 28Khi đó, một ma trận T đƣợc gọi là ma trận đặc trƣng của đa thức g(x) có dạng:
Ma trận kiểm traH=(𝛼0,𝛼1,𝛼2, …,𝛼2𝑚−1) Trong đó :
𝛼0 : là giá trị khởi tạo 𝛼0 =
𝑥0
𝑥1:
001
010
101
011
111
110
100 = 𝛼0
Trang 29Vậy ma trận kiểm tra H =
Trang 30Chương 2: MỘT SỐ PHƯƠNG PHÁP GIẤU TIN TRÊN ẢNH
2.1 Ảnh số
2.1.1 Khái niệm chung
Ảnh số là tập hợp bao gồm hữu hạn các phần tử được gọi là điểm ảnh (pixel), mỗi điểm ảnh được biểu diễn bởi một số hữu hạn các bit Điểm ảnh (pixel, picture element) là một phần tử ảnh, đơn vị thông tin nhỏ nhất trong một ảnh dạng raster [4]
Hình 2.1: Ảnh số
Trên phương diện toán học, ảnh số được xem như là một ma trận nguyên dương gồm m hàng và n cột, mỗi phần tử của ma trận đại diện cho một điểm ảnh Dựa theo màu sắc ta có thể chia ảnh số thành 3 loại cơ bản: Ảnh nhị phân, ảnh đa cấp xám và ảnh màu (true color)
2.1.2 Phân loại ảnh
Ảnh nhị phân
Ảnh nhị phân là ảnh chỉ có hai màu, một màu đại diện cho màu nền và màu còn lại cho đối tượng của ảnh Nếu hai màu là đen và trắng thì gọi là ảnh đen trắng Như vậy, ảnh nhị phân được xem như một ma trận nhị phân
Ảnh đa mức xám
Ảnh đa cấp xám là ảnh có thể nhận tối đa 256 mức sáng khác nhau trong khoảng màu đen - màu trắng Như vậy, ảnh đa mức xám xem như là ma trận không âm có giá
Trang 31trị tối đa là 255 Mỗi điểm ảnh trong ảnh đa cấp xám biểu diễn cường độ sáng của ảnh tại điểm đó
Ảnh màu
Ảnh màu hay còn gọi là ảnh true color, mỗi điểm ảnh được biểu diễn bởi một số byte (thường là 3 byte) đại diện cho 3 thành phần màu và như vậy, ảnh màu có thể xem như 3 ma trận nguyên ứng với 3 thành phần màu của các điểm ảnh Hệ màu RGB
sẽ bao gồm 3 ma trận màu tương ứng với các giá trị Red, Green và Blue Đây là hệ màu được sử dụng phổ biến nhất
Ngoài ra, ảnh cũng cũng có thể được phân thành hai loại: Ảnh có tần số cao và ảnh có tần số thấp
2.1.3 Các định dạng ảnh
2.1.3.1 Ảnh BITMAP
Trong đồ họa máy vi tính, BMP, còn được biết đến với tên tiếng Anh khác là Windows bitmap, là một định dạng tập tin hình ảnh dạng raster khá phổ biến Các tập tin đồ họa lưu dưới dạng BMP thường có đuôi là BMP hoặc DIB (Device Independent Bitmap)
Hình 2.2: Cấu trúc tệp ảnh bitmap
Các thuộc tính tiêu biểu của một tập tin ảnh BMP là:
- Số bit trên mỗi điểm ảnh (bit per pixel), thường được ký hiệu bởi n Một ảnh BMP n-bit có 2n màu Giá trị n càng lớn thì ảnh càng có nhiều màu, và càng rõ nét hơn Giá trị tiêu biểu của n là 1 (ảnh đen trắng), 4 (ảnh 16 màu), 8 (ảnh 256 màu), 16 (ảnh 65536 màu) và 24 (ảnh 16 triệu màu) Ảnh BMP 24-bit có chất lượng hình ảnh trung thực nhất
Trang 32- Chiều cao của ảnh (height), cho bởi điểm ảnh (pixel)
- Chiều rộng của ảnh (width), cho bởi điểm ảnh
Cấu trúc tập tin ảnh BMP bao gồm 4 phần:
Bitmap Header (14 bytes): giúp nhận dạng tập tin bitmap
Bitmap Information (40 bytes): lưu một số thông tin chi tiết giúp hiển thị ảnh Color Palette (4*x bytes), x là số màu của ảnh: định nghĩa các màu sẽ được sử
dụng trong ảnh
Bitmap Data: lưu dữ liệu ảnh
Đặc điểm nổi bật nhất của định dạng BMP là tập tin hình ảnh thường không được nén bằng bất kỳ thuật toán nào Khi lưu ảnh, các điểm ảnh được ghi trực tiếp vào tập tin một điểm ảnh sẽ được mô tả bởi một hay nhiều byte tùy thuộc vào giá trị n của ảnh
Do đó, một hình ảnh lưu dưới dạng BMP thường có kích cỡ rất lớn, gấp nhiều lần so với các ảnh được nén (chẳng hạn GIF, JPEG hay PNG)
2.1.3.2 Ảnh JPEG
Ảnh JPEG là một định dạng ảnh đã qua xử lý nén ảnh, thuật toán nén là thuật toán JPEG(Joint Photographic Experts Group) - một trong những phương pháp nén ảnh hiệu quả, có tỷ lệ nén ảnh tới vài chục lần Tuy nhiên ảnh sau khi giải nén sẽ khác với ảnh ban đầu Chất lượng ảnh sẽ bị suy giảm sau khi giải nén Sự suy giảm này tăng dần theo hệ số nén Tuy nhiên sự mất mát thông tin này là có thể chấp nhận được và việc loại bỏ những thông tin không cần thiết được dựa trên những nghiên cứu về hệ nhãn thị của mắt người
Một số đặc điểm của ảnh JPEG là:
- Ảnh có dung lượng nhỏ, dùng phổ biến trên các thiết bị di động, các trang web
- Ảnh JPEG có thể hiển thị các hình ảnh với các màu chính xác (true-colour), có thể lên đến 16 triệu màu
- Ảnh sử dụng thuật toán nén JPEG sẽ bị mất thông tin so với ảnh gốc Do đó một số đường bao giữa các khối màu sẽ xuất hiện điểm mờ, và các vùng sẽ mất đi sự
rõ nét
2.1.3.3 Các định dạng ảnh khác
Ngoài hai định dạng ảnh kể trên còn có rất nhiều định dạng ảnh khác phổ biến được kể đến như:
- Ảnh raster: PNG, ICO, GIFF, TIFF,…
- Ảnh vector: AI, CorelDRAW, CGM, DXF, EVA, EMF, Gerber, HVIF, IGES, PGML,…
Trang 33- Ảnh RAW: CIFF, DNG, ORF
2.1.4 Histogram
Histogram là khái niệm cơ bản trong xử lý ảnh Histogram là bảng thống kê tần suất giá trị cường độ sáng của các điểm ảnh Đối với ảnh màu, cường độ sáng của một điểm ảnh được xác định theo công thức:
𝑌= 0.299𝑅 + 0.587𝐺 + 0.114𝐵 trong đó 𝑅,𝐺,𝐵 là giá trị các thành phần màu và 𝑌 là cường độ sáng của ảnh
Hình 2 3: Biểu đồ Historgram của ảnh đa cấp xám Lena
2.2 Một số phương pháp giấu tin trong ảnh
Phân nhóm phương pháp giấu tin theo “kỹ thuật” thì các phương pháp giấu tin trong ảnh thuộc một trong ba nhóm sau:
2.2.1 Giấu tin mật vào các “bít có trọng số thấp” (Least Significant Bit - LSB)
Nhóm phương pháp nhúng thông tin vào các bít có trọng số thấp của ảnh hay được áp dụng trên các ảnh bitmap không nén và các ảnh dùng bảng mầu (như GIF, TIF) Ý tưởng chính của phương pháp này là lấy từng bít của mẩu tin mật rồi rải nó lên ảnh mang, gài vào các bít có trọng số thấp của điểm bị rải trúng
LSB là bit có ảnh hưởng ít nhất tới việc quyết định màu sắc của mỗi điểm ảnh, vì vậy khi ta thay đổi bít này thì màu sắc của điểm ảnh mới sẽ gần như không khác biệt
so với điểm ảnh cũ
LSB của một điểm ảnh có vị trí tương tự như chữ số hàng đơn vị của một số tự nhiên, khi bị thay đổi, giá trị chênh lệch giữa số cũ và số mới sẽ ít nhất, so với khi ta thay đổi giá trị của chữ số hàng chục hoặc hàng trăm Việc xác định LSB của mỗi
Trang 34điểm ảnh trong một bức ảnh phụ thuộc vào định dạng ảnh và số bit màu dảnh cho điểm ảnh của ảnh đó
Mục đích của phương pháp này là chọn ra các bit it quan trọng (ít làm thay đổi chất lượng của ảnh nền) và thay thế chúng bằng các bit thông tin cần giấu Để khó phát hiện, thông tin giấu thường được nhúng vào những vùng mắt người kém nhạy cảm với màu sắc Với ảnh 24 bit, mỗi màu được chứa trong 3 byte, theo thức tự từ trái sang phải, byte đầu tiên chứa giá trị cường độ màu lam (B), byte thứ hai chứa giá trị cường
độ màu lục (G), byte thứ ba chứa giá trị cường độ màu đỏ (R) Như vậy mỗi màu được xác định bởi một số nguyên có giá trị trong khoảng 0-255
Ví dụ:
Giả sử cần giấu tin là chữ A vào một vùng ảnhvới mỗi điểm ảnh có các màu kề nhau gồm lam, lục và đỏ:
Số hóa thông tin và ảnh gốc, kết quả thu được ở bảng sau:
Ký hiệu Giá trị thập phân Giá trị nhị phân
Bảng 2 1: Ví dụ số hóa thông tin và ảnh gốc
Thực hiện giấu tin theo phương pháp LSB: