1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ẩn mã an toàn đối với ảnh số

22 149 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 22
Dung lượng 2,62 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Cụ thể, nộidung sẽ đi sâu về các phương pháp, kĩ thuật giấu tin trong ảnh.. Định nghĩa giấu tin trong ảnh Giấu tin trong ảnh là một kỹ thuật giấu nhúng một lượng thông tin sốnào đó vào t

Trang 1

BAN CƠ YẾU CHÍNH PHỦ

HỌC VIỆN KỸ THUẬT MẬT MÃ

¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

BÀI TẬP LỚN

ĐỀ TÀI: ẨN MÃ AN TOÀN ĐỐI VỚI ẢNH SỐ

Sinh viên thực hiện:

Trang 2

MỤC LỤC

DANH MỤC HÌNH VẼ 3

LỜI MỞ ĐẦU 4

CHƯƠNG 1: TỔNG QUAN KỸ THUẬT GIẤU TIN TRONG ẢNH 5

1.1 Định nghĩa giấu tin trong ảnh 5

1.2 Mục đích của giấu tin 5

1.3 Các yêu cầu của giấu tin trong ảnh 6

1.4 Các đặc trưng của giấu tin trong ảnh 6

1.5 Các phương pháp giấu tin trong ảnh 7

1.6 Mô hình kỹ thuật giấu tin trong ảnh 7

CHƯƠNG 2: KỸ THUẬT GIẤU TIN TRÊN BIT LSB CỦA ẢNH 10

2.1 Ý tưởng 10

2.2 Phương pháp giấu tin cổ điển 10

a Mô tả 10

b Ví dụ 11

2.3 Phương pháp giấu tin nâng cao 12

a Mô tả 12

b Ví dụ 13

CHƯƠNG 3: DEMO ẨN MÃ AN TOÀN ĐỐI VỚI ẢNH SỐ 15

3.1 Chuẩn bị 15

3.2 Các bước thực hiện 15

TÀI LIỆU THAM KHẢO 21

Trang 4

DANH MỤC HÌNH VẼ

Hình 1.2: Hai lĩnh vực chính của giấu thông tin

Hình 1.6.1: Giấu tin vào ảnh

Hình 1.6.2: Tách tin từ ảnh giấu tin

Hình 3.1: Giấu chữ A vào vị trí các bit LSB

Hình 3.2.1: Đọc file Cover, sử dụng định dạng phù hợp

Hình 3.2.2: Tạo file sao chép từ Cover để chèn thông điệp

Hình 3.2.3: Chuyển đổi thông điệp ra binary

Hình 3.2.4: Sử dụng thuật toán LSB

Hình 3.2.5: Ghi kết quả vào đối tượng mới

Hình 3.2.6: Lưu kết quả

Hình 3.2.7: Lấy thông tin ảnh

Hình 3.2.8: Xét các byte để tìm thông điệp ẩn chứa

Hình 3.2.9: Chuyển đổi thông điệp thu được từ binary sang string và lưu thôngđiệp thu được

Hình 3.2.10: Chọn vật ẩn mã

Hình 3.2.11: Chèn thông tin ẩn vào ảnh

Hình 3.2.12: Ảnh trước và sau khi chèn thông điệp ẩn hoàn toàn không khácnhau

Hình 3.2.13: Trích xuất thông điệp từ ảnh ẩn mã

Hình 3.2.14: Trích xuất thành công thông điệp ẩn

Trang 5

LỜI MỞ ĐẦU

Ngày nay, khi công nghệ thông tin ngày càng phát triển, giúp thế giới thayđổi theo hướng số hóa và hiện đại hóa hơn Hầu hết tất cả các ngành nghề hiệnnay đều có sự góp mặt của công nghệ thông tin Tuy nhiên, kéo theo sự pháttriển đó là sự tồn tại song song của hai mặt tốt và xấu Mặt xấu chính là sự antoàn bảo mật thông tin

Có thể coi giấu tin mật hiện nay là một nghệ thuật và khoa học về truyềnthông vô hình Nó ẩn thông tin mật trong các thông tin khác, do đó ẩn đi sự tồntại của các thông tin truyền thông Đây là kỹ thuật khó và rất phức tạp, nó đượccoi là chìa khóa đi đến thắng lợi trong an toàn và bảo mật thông tin

Bài báo cáo sẽ nói chi tiết về “Ẩn mã an toàn đối với ảnh số” Cụ thể, nộidung sẽ đi sâu về các phương pháp, kĩ thuật giấu tin trong ảnh Bài báo cáo gồm

Trang 6

CHƯƠNG 1: TỔNG QUAN KỸ THUẬT GIẤU TIN TRONG ẢNH

1.1 Định nghĩa giấu tin trong ảnh

Giấu tin trong ảnh là một kỹ thuật giấu (nhúng) một lượng thông tin sốnào đó vào trong một ảnh số

1.2 Mục đích của giấu tin

Có 2 mục đích chính của giấu thông tin:

 Bảo mật cho những thông tin được giấu

 Bảo mật cho chính các đối tượng giấu tin

Có thể nhận thấy rằng sự khác biệt giữa hai mục đích Trong thực tế haimục đích này đã phát triển thành hai lĩnh vực với những yêu cầu và tính chấtkhác nhau

Hình 1.2: Hai lĩnh vực chính của giấu thông tin

 Kỹ thuật giấu tin mật (Steganography): Mục đích là để đảm bảo an toàn

và bảo mật thông tin được giấu Các kỹ thuật giấu tin mật tập trung saocho thông tin giấu được nhiều và người khác khó phát hiện ra thông tin cóđược giấu trong ảnh

 Kỹ thuật thủy vân số (Watermarking): Mục đích để bảo mật cho chính cácđối tượng giấu tin đánh dấu, đảm bảo một số các yêu cầu như đảm bảotính bền vững, khẳng định bản quyền sở hữu hay phát hiện xuyên tạcthông tin

Trang 7

1.3 Các yêu cầu của giấu tin trong ảnh

Những yêu cầu cơ bản đối với giấu tin trong ảnh:

 Tính ẩn của giấu tin được chèn vào ảnh: Sự hiện diện của giấu tin trongảnh không làm ảnh hưởng tới chất lượng của ảnh đã chèn tin

 Tính bền của giấu tin: Cho phép các tin có thể tồn tại được qua các phépbiến đổi ảnh, biến dạng hình học hay các hình thức tấn công cố ý khác

 Tính an toàn: không thể xoá được tin ra khỏi ảnh trừ khi ảnh được biếnđổi tới mức không còn mang thông tin

1.4 Các đặc trưng của giấu tin trong ảnh

Giấu tin trong ảnh chiếm vị trí chủ yếu trong các kỹ thuật giấu tin Cácphương tiện chứa khác nhau thì cũng sẽ có các kỹ thuật giấu khác nhau Dữ liệuảnh có nhiều định dạng, mỗi định dạng có những tính chất khác nhau nên các kỹthuật giấu tin trong ảnh thường chú ý những đặc trưng như:

 Kỹ thuật giấu phụ thuộc ảnh: Kỹ thuật giấu tin phụ thuộc vào các loại ảnhkhác nhau Chẳng hạn đối với ảnh đen trắng, ảnh xám hay ảnh màu tacũng có những kỹ thuật riêng cho từng loại ảnh

 Giấu thông tin trong ảnh tác động lên dữ liệu ảnh nhưng không thay đổikích thước của hình ảnh: Các thuật toán thực hiện công việc giấu tin sẽđược thực hiện trên dữ liệu của ảnh Dữ liệu ảnh bao gồm phần header,bảng màu (có thể có) và dữ liệu ảnh Do vậy mà kích thước ảnh trước haysau khi giấu tin là như nhau

 Đảm bảo chất lượng sau khi giấu tin: Sau khi giấu tin bên trong, ảnh phảiđảm bảo được yêu cầu không bị biến đổi để có thể bị phát hiện dễ dàng sovới ảnh gốc

 Thông tin trong ảnh sẽ bị biến đổi nếu có bất cứ biến đổi nào trên ảnh: Vìphương pháp giấu thông tin trong ảnh dựa trên việc điều chỉnh các giá trịcủa các bit theo một quy tắc nào đó và khi giải mã sẽ theo các giá trị đó đểtìm được thông tin giấu Theo đó, nếu một phép biến đổi nào đó trên ảnh

Trang 8

làm thay đổi giá trị của các bit thì sẽ làm cho thông tin giấu bị sai lệch.Nhờ đặc điểm này mà giấu thông tin trong ảnh có tác dụng nhận thực vàphát hiện xuyên tạc thông tin.

1.5 Các phương pháp giấu tin trong ảnh

Có 3 phương pháp giấu tin trong ảnh cơ bản:

 Giấu tin trong miền không gian: Phương pháp này thường nhúng thông tinvào các bit có trọng số thấp của ảnh hay được áp dụng trên các ảnhbitmap không nén, các ảnh dùng bảng màu Ý tưởng chính của phươngpháp này là lấy từng bit của tin mật rải nó lên ảnh gốc và thay đổi bit cótrọng số thấp của ảnh bằng các bit của tin mật Vì khi thay đổi các bit cótrọng số thấp không ảnh hưởng đến chất lượng ảnh, và mắt người khôngcảm nhận được sự thay đổi của ảnh đã giấu tin

 Các phương pháp dựa vào kỹ thuật biến đổi ảnh: Biến đổi từ miền khônggian sang miền tần số

 Các phương pháp sử dụng mặt nạ giác quan: Dựa trên nguyên lý đánh lừa

hệ thống giác quan của con người "Mặt nạ" ở đây ám chỉ hiện tượng mắtngười không cảm nhận được một tín hiệu nếu nó ở bên cạnh một tín hiệunhất định nào đó

1.6 Mô hình kỹ thuật giấu tin trong ảnh

Kỹ thuật giấu tin trong ảnh bao gồm hai quá trình:

 Quá trình 1: Giấu (nhúng) tin vào ảnh

Trang 9

Hình 1.6.1: Giấu tin vào ảnhĐầu vào:

 Thông tin giấu (Tùy theo mục đích của người sử dụng mà thông tin giấu ởđây có thể là thông điệp, hình ảnh, video, âm thanh )

 Ảnh gốc: Là ảnh được chọn làm môi trường để giấu tin

Đầu ra: Ảnh giấu đã được giấu tin

 Quá trình 2: Tách tin từ ảnh giấu tin

Hình 1.6.2: Tách tin từ ảnh giấu tin

Trang 11

CHƯƠNG 2: KỸ THUẬT GIẤU TIN TRÊN BIT LSB CỦA ẢNH

2.1 Ý tưởng

Bit LSB (Least Signification Bit) là bit có trọng số thấp nhất và ít quantrọng nhất, nằm ở sau cùng của mỗi byte Ý tưởng cơ bản của kỹ thuật này làtiến hành giấu tin vào vị trí các bit LSB đối với mỗi phần tử trong bảng màu.Đây là phương pháp giấu tin đơn giản nhất, thông điệp dưới dạng nhị phân sẽđược giấu (nhúng) vào các bit LSB nên sẽ ít ảnh hưởng tới việc quyết định tớimàu sắc của mỗi điểm ảnh Vì vậy màu sắc của mỗi điểm ảnh mới sẽ tương đốigần với điểm ảnh cũ, bằng mắt thường sẽ khó có thể nhận ra được sự thay đổinày

Ví dụ, đem giấu chữ A có mã ASCII là 65 hay 01000001 vào trong 8 bytecủa file gốc:

Hình 3.1: Giấu chữ A vào vị trí các bit LSB

2.2 Phương pháp giấu tin cổ điển

a Mô tả

 Giấu tin

o Đầu vào: Ảnh gốc, thông điệp bí mật, số bit LSB cần mã hóa

Trang 12

Các bước thực hiện:

1 Biểu diễn ma trận điểm ảnh về dạng số thập phân với m x n phần tử,chuyển ma trận ảnh về mảng 1 chiều, chuyển các điểm ảnh về dạng nhịphân

2 Biểu diễn thông điệp dưới dạng số nhị phân

3 Cứ 8 bit ảnh tách bỏ số bit LSB và ghép phần còn lại với 2 bit nhị phânđầu của thông điệp

4 Thực hiện lại bước 3 cho đến khi lấy hết các bit của chuỗi nhị phân thôngđiệp ghép với các bit ảnh Chuyển đổi ảnh từ mảng một chiều về mảng 2chiều m x n phần tử, lúc này sẽ thu được ảnh mới đã giấu tin

 Tách tin

o Đầu vào: Ảnh mang tin

o Đầu ra: Ảnh đã tách tin, thông điệp mật

3 Kết quả thu được sử dụng hàm chuyển đổi từ chuỗi số nhị phân về chuỗi

kí tự Sau khi lặp lại quá trình trên số lần bằng số lần duyệt, thu được nộidung thông điệp

b Ví dụ

 Giấu tin

Giả sử ta có 4 điểm ảnh đầu tiên như sau:

123 197 213 255Chuyển các điểm ảnh về dạng nhị phân:

01111011 11000101 11010101 11111111

Trang 13

Thông điệp bí mật: chữ “a” có mã ASCII là 97, biểu diễn dưới dạng nhị

phân như sau: 01100001.

Cứ 8 bit ảnh, ta lấy 6 bit đầu của điểm ảnh ghép với 2 bit thông điệp sẽđược:

2 Biểu diễn thông điệp dưới dạng số nhị phân

3 Sử dụng một khóa 8 bit bất kỳ (nếu khóa là kí tự, chuyển khóa về dạngmảng như với thông điệp) đem mã hóa với chuỗi thông điệp bí mật bằngphép XOR: cứ 8 bit khóa đem XOR với 8 bit đầu vào của thông điệp.Thực hiện lại bước này cho đến khi nội dung thông điệp được mã hóa hết

Trang 14

4 Thông điệp đã mã hóa đem giấu vào ảnh, tách lấy 6 bit đầu của bit ảnhđem ghép với 2 bit đầu trong thông điệp rồi chuyển về dạng thập phân vàgán ngược lại vào ảnh.

5 Thực hiện bước 4 cho đến khi lấy hết các bit của chuỗi nhị phân thôngđiệp để ghép với các bit ảnh Chuyển đổi ảnh từ mảng một chiều về mảng

2 chiều m x n phần tử, được ảnh mới đã giấu tin

3 Kết quả thu được sử dụng hàm chuyển đổi từ chuỗi số nhị phân về chuỗi

kí tự Sau khi lặp lại quá trình trên số lần bằng số lần duyệt, thu được nộidung thông điệp đã mã hóa

4 Sử dụng hàm giải mã thực hiện giải mã thông điệp bằng khóa 8 bit, thuđược kết quả là nội dung gốc của thông điệp

b Ví dụ

 Giấu tin

Giả sử ta có 4 điểm ảnh đầu tiên như sau:

123 197 213 255Chuyển các điểm ảnh về dạng nhị phân:

01111011 11000101 11010101 11111111Thông điệp bí mật: chữ “a” có mã ASCII là 97, biểu diễn dưới dạng nhị

phân: 01100001

Trang 15

Nhập khóa, cũng là 1 kí tự 8 bit, giả sử là chữ “b”, có dạng nhị phân như

sau: 01100010

Mã hóa thông điệp chính là dùng phép XOR(a, b) sẽ được: 00000011

Cứ 8 bit ảnh, ta lấy 6 bit đầu của điểm ảnh ghép với 2 bit thông điệp đã

Lúc này xử dụng phép XOR giữa thông điệp mã hóa vừa tìm được và

khóa sẽ được nội dung thông điệp giấu là chữ “a”: 01100001

Trang 16

CHƯƠNG 3: DEMO ẨN MÃ AN TOÀN ĐỐI VỚI ẢNH SỐ

3.1 Chuẩn bị

Yêu cầu: python 2.7, python-pil (cài đặt trên linux)

Các file:

 main.py: Xử lý thông tin các tùy chọn của người dùng

 libStegoEncode.py: Các hàm ẩn thông điệp vào trong vật chứa

 libStegoDecode.py: Các hàm trích xuất thông tin từ vật chứa

Trang 17

Chuyển đổi thông điệp ra binary kèm theo độ dài thông điệp Chèn 1 ký tựNULL vào cuối thông điệp.

Hình 3.2.3: Chuyển đổi thông điệp ra binaryĐọc từng pixel trong ảnh và thay đổi giá trị theo thuật toán LSB

Hình 3.2.4: Sử dụng thuật toán LSBGhi kết qủa vào đối tượng mới theo định dạng ảnh

Hình 3.2.5: Ghi kết quả vào đối tượng mớiLưu kết quả ra ảnh mới và thoát

Hình 3.2.6: Lưu kết quả

Trang 18

 File libStegoDecode.py

Đầu tiên, mở file Stego, lấy thông tin kích thước ảnh

Hình 3.2.7: Lấy thông tin ảnh

Duyệt từng pixel trong ảnh, theo byte Nếu như byte thỏa mãn bất biến thìchứa thông điệp Lấy đội dài chuỗi

Hình 3.2.8: Xét các byte để tìm thông điệp ẩn chứa

Trang 19

Duyệt tiếp các byte theo độ dài chuỗi, sau đó đổi thông điệp từ binary rastring Ghi lưu thông điệp vào 1 file người dùng cho sẵn tên.

Hình 3.2.9: Chuyển đổi thông điệp thu được từ binary sang string và lưu thông

điệp thu được

 Quá trình thực hiện

Chọn một ảnh làm vật giấu tin

Hình 3.2.10: Chọn vật ẩn mãChèn text “Hello Everyone” vào file gốc Carrier.png, hành động ẩn

message, xuất file mới Stego.png

Trang 20

Hình 3.2.11: Chèn thông tin ẩn vào ảnh

Sau khi chèn dữ liệu, lúc này sẽ có ảnh ẩn mã (Stego.png) Nếu nhìn bằngmắt thường, hai ảnh không có bất cứ sự khác biệt nào

Hình 3.2.12: Ảnh trước và sau khi chèn thông điệp ẩn hoàn toàn không khác

nhauSau khi chèn dữ liệu ẩn vào ảnh thành công, thực hiện trích xuất thông điệp

Trang 21

Hình 3.2.13: Trích xuất thông điệp từ ảnh ẩn mã

Sau một thời gian, thông điệp sẽ được trích xuất thành công và hiển thị ra màn hình

Hình 3.2.14: Trích xuất thành công thông điệp ẩn

Trang 22

TÀI LIỆU THAM KHẢO

[1] Nguyễn Diễm Hương, Kỹ thuật giấu tin trên k bit LSB của ảnh, Khoa CNTT

– Đại học Hải Phòng, 2012

[2] Ngô Thái Hà, Nghiên cứu kỹ thuật bảo vệ bản quyền các sản phầm đồ họa

vectơ, Khoa Công nghệ thông tin trường Đại Học Thái Nguyên, 2008.

[3] Ingemar Cox, Jeffrey Bloom, Matthew Miller, Ton Kalker, Lessica Fridrich,

DigitalWatermarking anh Steganography, 2008.

[4] URL: Secure_Steganography_for_Digital_Images.pdf

Ngày đăng: 10/04/2019, 14:39

TỪ KHÓA LIÊN QUAN

w