ứng dụng giấu tin trong mã hóa & xác thực
Trang 1Sinh viên thực hiện: NHỮ BẢO VŨ
Chuyên ngành: Toán – Tin ứng dụng Lớp: Toán Tin 1 – K52
Giáo viên hướng dẫn: PGS.TS PHAN TRUNG HUY
Nhận xét của giáo viên hướng dẫn:
Giáo viên hướng dẫn
(Ký, ghi rõ họ tên)
Trang 2MỤC LỤC
Trang 3DANH MỤC VIẾT TẮT
3 Advanced Encryption Standard AES
6
Trang 4Trên môi trường mở, nhanh chóng và tiện nghi như vậy, việc tìm kiếm, sao chép thông tin trở nên dễ dàng hơn bao giờ hết Những phiên bản sao chép hoàn hảo, các kỹ thuật thay thế, sửa đổi tinh vi, cộng với sự lưu thông phân phối trên mạng của các dữ liệu đa phương tiện đã phát sinh ra nhiều vấn
đề nhức nhối về nạn ăn cắp bản quyền, phân phối bất hợp pháp, giả mạo, xuyên tạc, …
Tình trạng vi phạm bản quyền số đang xảy ra hàng ngày, hàng giờ một cách liên tục Nhằm bảo vệ các sản phẩm số không bị sử dụng trái phép, song song với việc kêu gọi ý thức tự giác thực thi luật bản quyền, các công ty công nghệ lớn trên thế giới đã và đang thực hiện các giải pháp kỹ thuật kiểm soát bản quyền số Một trong những vấn đề được đặt ra là làm sao bảo vệ quyền sở hữu đối với các sản phẩm đa phương tiện này
Đứng trước tình hình đó vấn đề về bảo mật thông tin hiện nay luôn nhận được sự quan tâm đặc biệt trong nhiều lĩnh vực Đã có nhiều phương pháp để bảo mật thông tin, một trong những phương pháp được sử dụng phổ biến để bảo vệ quyền sở hữu đối với nội dung của các sản phẩm đa phương tiện là mã hoá Nội dung của sản phẩm đó được mã hoá và gửi cho người sử
Trang 5mã đi kèm Phương pháp mã hoá trên chỉ hiệu quả trong việc truyền thông tin nhưng không hiệu quả trong việc bảo vệ quyền sở hữu Sau khi sản phẩm được giải mã, người dùng ngoài việc lưu trữ còn có thể nhân bản và phân phối lại
Giấu tin là phương pháp đã và đang tiếp tục được nghiên cứu và ứng dụng rất mạnh mẽ Đây là phương pháp mới và phức tạp nó đang được xem như một công nghệ cốt lõi cho vấn đề bảo vệ bản quyền, chống nhân bản bất hợp pháp, chống lại truy cập trái phép, chống xuyên tạc, chống giả mạo thông tin, xác thực thông tin và điều khiển truy cập ứng dụng trong an toàn và bảo mật thông tin
Sự khác biệt chủ yếu giữa mã hoá thông tin và giấu tin là phương pháp
mã hoá làm cho các thông tin hiện rõ là nó có được mã hoá hay không còn đối với phương pháp giấu tin thì người ta sẽ khó biết được là có thông tin giấu bên trong do tính chất ẩn hình (invisible) của thông tin được giấu Các phương pháp mã hóa thường thu hút sự chú ý, một khi những thông tin mã hoá bị phát hiện thì những tên tin tặc sẽ tìm mọi cách để triệt phá Và cuộc chạy đua giữa những người bảo vệ thông tin và bọn tin tặc vẫn chưa kết thúc tuyệt đối về bên nào Trong hoàn cảnh đó thì giấu tin trở thành một phương pháp hữu hiệu để che giấu tin làm cho tin tặc không thể phát hiện
Trên cơ sở ứng dụng đa dạng, đặc tính nổi bật của giấu tin cùng với
xuất phát từ các yêu cầu dự án thực tế “Xây dựng giao thức bảo vệ đề thi trắc
nghiệm trên môi trường Wireless” mà tác giả đã được tiếp cận và đã lựa chọn
đề tài “Ứng dụng giấu tin trong mã hóa và xác thực” làm đồ án tốt nghiệp
của mình
Đồ án trình bày tổng quan về giấu tin, một số phương pháp giấu tin, giới thiệu một phương pháp giấu tin mới vào trong ảnh xám dựa trên tiếp cận
Trang 6của lý thuyết module Xây dựng ứng dụng giấu tin kết hợp mã hóa, thiết kế và cài đặt giao thức xác thực người dùng trên môi trường mạng sử dụng phương pháp giấu tin để làm tăng độ an toàn cho người dùng tham gia vào một hệ thống cần có sự xác minh người sử dụng, hoặc có các giao dịch yêu cầu độ an toàn cao có khả năng phát hiện và chống lại được sự giả mạo.
Đồ án bao gồm các nội dung sau:
Phần 1 Mở đầu
Sơ lược về bối cảnh mạng máy tính hiện nay, mức độ an toàn dữ liệu Phương hướng, phạm vi nghiên cứu và giải pháp tiếp cận, từ đó đặt ra nhiệm
vụ của đồ án
Phần 2 Nội dung chính, bao gồm có 4 chương
Chương 1: Tổng quan giấu tin và cơ sở toán học
Giới thiệu tổng quan về giấu tin, một số khái niệm cơ bản Phân loại và trình bày một số kỹ thuật giấu tin cơ bản, các yêu cầu đối với bài toán giấu tin
và một số ứng dụng của giấu tin Đồng thời trình bày các khái niệm cơ bản lý thuyết đồng dư modulo và lý thuyết module làm cơ sở để trình bày các thuật toán giấu tin
Chương 2: Giấu tin trong ảnh nhị phân
Trình bày một số phương pháp, kĩ thuật giấu tin trên ảnh nhị phân định dạng ảnh Bitmap
Chương 3: Giấu tin trong ảnh màu, ảnh xám
Trình bày một số phương pháp, kĩ thuật giấu tin trên ảnh màu, ảnh xám định dạng ảnh Bitmap
Trang 7Chương 4: Xây dựng chương trình ứng dụng
Đề cập đến một số vấn đề bảo mật an toàn thông tin, thiết kế và xây dựng giải pháp ứng dụng giấu tin vào trong ứng dụng mã hóa và xác thực người sử dụng
Phần 3 Kết luận
Phần 4 Tài liệu tham khảo
Trang 8LỜI CẢM ƠN
Em xin chân thành gửi lời cảm ơn tới thầy Phan Trung Huy, thầy đã tận tình hướng dẫn, chỉ bảo, giúp đỡ em có thể hoàn thành được đồ án tốt nghiệp của mình Em cũng xin được gửi lời cảm ơn tới các thầy cô trong Viện toán ứng dụng và tin học đã giảng dạy, cung cấp cho em những kiến thức và các kỹ năng để có thể vận dụng trong quá trình nghiên cứu Và cuối cùng em xin gửi lời cảm ơn tới gia đình và bạn bè, những người đã luôn ở bên cạnh, chia sẻ và động viên em trong suốt thời gian thực hiện và hoàn thành đồ án
Hà Nội, ngày 28 tháng 05 năm 2012
Sinh viên thực hiện
Nhữ Bảo Vũ
Trang 9CHƯƠNG 1 TỔNG QUAN GIẤU TIN VÀ CƠ SỞ TOÁN HỌC
1.1 Bài toán giấu tin và vai trò
1.1.1 Bài toán giấu tin
Giấu tin là một kỹ thuật nhúng thông tin vào trong một nguồn đa phương tiện gọi là đối tượng chứa như: tập tin ảnh, tập tin âm thanh, tập tin văn bản… mà không gây ra sự nhận biết về sự tồn tại của thông tin đã được giấu
Phương pháp giấu tin được tiến hành theo nhiều cách khác nhau tùy theo từng phương pháp và mục đích Bài toán giấu tin thông thường gồm hai quá trình:
Nhúng tin (mã hóa)
Trích rút tin (giải mã)
Ví dụ 1: Thông điệp cần gửi được mã hóa và nhúng các bit thông tin của vào trong ảnh
Trang 10Hình Ảnh đã được nhúng thông tin mật
Ví dụ 2: Thông điệp cần gửi được chứa trong một đoạn văn bản, ở đây đối tượng chứa là một đoạn văn bản có nội dung sau:
“Apparently neutral’s protect is thoroughly discounted and ignored Isman hard hit Blockade issue affects for pretext embargo on by-products, ejecting suets and vegetable oils”
Có thể thấy được nội dung truyền tải là bức điện mật được sử dụng
trong chiến tranh thế giới lần thứ 2: “Pershing sails for YN June 1”
Bài toán giấu tin gồm 4 đối tượng chính là:
- Thông tin mật: Là thông tin nhúng vào đối tượng chứa và là thông tin cần được bảo vệ
- Đối tượng chứa: Đối tượng được sử dụng chứa thông điệp mật
- Đối tượng đã nhúng: Là đối tượng chứa sau khi nhúng thông tin mật Ví dụ nếu đối tượng chứa là ảnh thì đối tượng đã nhúng là Stego-Image
Trang 11- Khóa mật: Là khóa tham gia vào quá trình nhúng, tùy theo từng phương pháp mà khóa này có tham gia hay không.
Các yêu cầu trong bài toán giấu tin:
- Tính bền vững: Thể hiện khả năng ít bị thay đổi trước những tấn công từ bên ngoài như thay đổi định dạng, nội dung Hiện nay chưa
có phương pháp nào đảm bảo biện pháp này một cách tuyệt đối Với từng ứng dụng cụ thể thì yêu cầu này cũng thể hiện khác nhau
- Khả năng không bị phát hiện: thể hiện ở việc khó xác định được đối tượng có chứa thông tin mật hay không Hầu hết các phương pháp giấu tin dựa trên đặc điểm của hai hệ tri giác người: thị giác và thính giác Khả năng này còn gọi là khả năng giả dạng
- Khả năng lưu trữ: Khả năng này thể hiện ở lượng thông tin của thông điệp mật có thể nhúng trong đối tượng chứa Do tính bảo mật nên khả năng lưu trữ luôn bị hạn chế Do đó trong trường hợp muốn
ẩn một thông tin có kích thước tương đối lớn ta thường chia nhỏ ra nhiều thành phần và thực hiện nhúng từng phần
Trang 121.1.2 Phân loại các kỹ thuật giấu tin
Kỹ thuật giấu tin nhằm mục đích đảm bảo an toàn và bảo mật thông tin
ở hai khía cạnh Một là bảo mật cho giữ liệu được đem giấu (embedded data), chẳng hạn như giấu tin mật: thông tin mật được giấu kỹ trong một đối tượng khác sao cho người khác không phát hiện được (steganography), hai là bảo mật cho chính đối tượng được dùng để giấu tin (host data), chẳng hạn như ứng dụng bảo vệ bản quyền, phát hiện xuyên tạc thông tin (watermarking)
Hai khía cạnh khác nhau này dẫn đến hai khuynh hướng kỹ thuật chủ yếu của giấu tin Khuynh hướng thứ nhất là giấu tin mật (Steganography) Khuynh hướng này tập trung vào các kỹ thuật giấu tin sao cho thông tin giấu được càng nhiều càng tốt và quan trọng là người khác khó phát hiện được một đối tượng có bị giấu tin bên trong hay không Khuynh hướng thứ hai là thuỷ vân số (watermarking) Khuynh hướng thuỷ vân số đánh giấu vào đối tượng nhằm khẳng định bản quyền sở hữu hay phát hiện xuyên tạc thông tin Thuỷ
Trang 13cần giấu đối với các biến đổi thông thường của các tệp dữ liệu môi trường nên được quan tâm nghiên cứu nhiều hơn và thực tế đã có nhiều những kỹ thuật dành cho khuynh hướng này.
Hình Phân loại các kỹ thuật giấu tin
Phạm vi ứng dụng của thủy vân đa dạng hơn, tùy theo mục đích của hệ thủy vân mà người ta lại chia thành các hướng nhỏ như thủy vân dễ vỡ và thủy vân bền vững
1.1.3 Mô hình giấu tin cơ bản
Phương tiện đã chứa tin
Bộ nhúng thông tin Phân phối
Khóa Thông tin cần giấu Phương tiện chứa tin (ảnh, audio, video, )
Hình Lược đồ quá trình giấu tin mật
Trang 14Hình 4 biểu diễn mô hình giấu tin cơ bản Trong đó, phương tiện chứa tin có thể bao gồm: văn bản, ảnh, audio, video… Thông tin cần giấu tùy theo mục đích của người sử dụng Thông tin được giấu vào trong phương tiện chứa tin nhờ một bộ nhúng Bộ nhúng là những chương trình thực hiện theo những thuật toán để giấu tin và được thực hiện với một khóa bí mật giống như trong một số hệ mật mã Đầu ra của quá trình nhúng tin là phương tiện chứa đã được giấu tin Các phương tiện chứa này có thể được phân phối trên mạng.
Phương tiện đã chứa tin
Bộ giải mã tin Phân phối
Khóa Thông tin giấu Phương tiện đã chứa tin (ảnh, audio, video, )
Kiểm định
Hình Lược đồ quá trình giải mã tin mật
Hình 5 mô tả quá trình giải mã thông tin đã được giấu trước đó Đầu vào là phương tin có chứa tin giấu, qua một bộ giải mã tin (tương ứng với bộ nhúng tin) cùng với khóa sẽ được thực hiện việc giải mã thông tin Đầu ra của quá trình là phương tiện chứa tin và thông tin mật đã giấu trước đó Trong trường hợp cần thiết, thông tin lấy ra có thể được xử lý, kiểm định và so sánh với thông tin đã giấu ban đầu
1.1.4 Các ứng dụng của kỹ thuật giấu tin
Bảo vệ bản quyền tác giả: Đây là ứng dụng cơ bản nhất của kỹ thuật
thủy vân số Một thông tin nào đó mang ý nghĩa quyền sở hữu tác giả gọi là thủy vân sẽ được nhúng vào trong các sản phẩm, thủy vân đó chỉ một mình
Trang 15bản quyền sản phẩm Giả sử có một sản phẩm dữ liệu dạng đa phương tiện như ảnh, âm thanh, video và cần được lưu thông trên mạng Để bảo vệ các sản phẩm chống lại các hành vi lấy cắp hoặc làm nhái cần phải có một kỹ thuật để
“dán tem bản quyền” vào sản phẩm này Việc dán tem hay chính là việc nhúng thủy vân cần phải đảm bảo không để lại một ảnh hưởng đáng kể nào đến việc cảm nhận sản phẩm Yêu cầu kỹ thuật đối với ứng dụng này là thủy vân phải tồn tại bền vững cùng với sản phẩm, muốn bỏ thủy vân này mà không được phép của người chủ sở hữu thì chỉ có cách là phá hủy sản phẩm[5]
Xác thực thông tin hay phát hiện giả mạo: Một tập các thông tin sẽ
được giấu trong phương tiện chứa sau đó được sử dụng để nhận biết xem dữ liệu trên phương tiện gốc đó có bị thay đổi không Các thủy vân nên được ẩn
để tránh sự tò mò của kẻ thù, hơn nữa việc làm giả các thủy vân hợp lệ hay xuyên tạc thông tin nguồn cũng cần được xem xét Trong các ứng dụng thực
tế người ta mong muốn tìm được vị trí bị xuyên tạc cũng như phân biệt được các thay đổi Yêu cầu chung đối với ứng dụng này là khả năng giấu tin cao và thủy vân không cần bền vững[5]
Giấu vân tay hay dán nhãn: Thủy vân trong những ứng dụng này được
sử dụng để nhận diện người gửi hay người nhận của một thông tin nào đó Ví
dụ các vân khác nhau sẽ được nhúng vào các bản sao khác nhau của thông tin gốc trước khi chuyển cho nhiều người[11] Với ứng dụng này thì yêu cầu là đảm bảo độ an toàn cao cho các thủy vân tránh sự xóa dấu vết trong khi phân phối
Kiểm soát sao chép: Các thủy vân trong trường hợp này được sử dụng
để kiểm soát sao chép đối với các thông tin Các thiết bị phát ra thủy vân thường được gắn sẵn vào trong các hệ thống đọc/ghi Ví dụ như hệ thống
Trang 16quản lý sao chép DVD đã được ứng dụng ở Nhật Các ứng dụng loại này cũng yêu cầu thủy vân phải được đảm bảo an toàn và cũng sử dụng phương pháp phát hiện thủy vân đã giấu mà không cần thông tin gốc.
Giấu tin mật: Các thông tin giấu được trong trường hợp này càng nhiều
càng tốt, việc giải mã để nhận được thông tin cũng không cần phương tiện chứa ban đầu Các yêu cầu mạnh về chống tấn công của kẻ thù không cần thiết lắm thay vào đó là thông tin giấu phải đảm bảo tính không thể phát hiện
1.2 Giấu tin trong ảnh và các đặc trưng
1.2.1 Giấu tin trong ảnh
Giấu tin trong ảnh, hiện nay, là một bộ phận chiếm tỷ lệ lớn nhất trong các chương trình ứng dụng, các phần mềm, hệ thống giấu tin trong dữ liệu đa phương tiện bởi lượng thông tin được trao đổi bằng ảnh là rất lớn Hơn nữa, giấu tin trong ảnh cũng đóng vai trò hết sức quan trọng trong hầu hết các ứng dụng bảo vệ an toàn thông tin như: xác thực thông tin, xác định xuyên tạc thông tin, bảo vệ bản quyền tác giả, điều khiển truy nhập, giấu tin mật … Vì thế mà vấn đề này đã nhận được sự quan tâm rất lớn của các cá nhân, tổ chức, trường đại học, và viện nghiên cứu trên thế giới
Thông tin sẽ được giấu cùng với dữ liệu ảnh nhưng chất lượng ảnh ít thay đổi và ít ai biết được bên trong bức ảnh đó mang những thông tin có ý nghĩa khác Và ngày nay, khi ảnh số đã được sử dụng phổ biến, thì giấu tin đã đem lại rất nhiều những ứng dụng quan trọng trong trên nhiều lĩnh vực trong đời sống xã hội Ví dụ như đối với các nước phát triển, chữ ký tay đã được số hóa và lưu trữ sử dụng như là hồ sơ cá nhân của các dịch vụ ngân hàng và tài chính, nó được dùng để xác nhận các thẻ tín dụng của người tiêu dùng Thêm
Trang 17dễ bị lấy cắp và bị thay đổi bởi các phần mềm chuyên dụng Phát hiện thông tin xuyên tạc đã trở nên vô cùng quan trọng và cấp thiết Một đặc điểm của giấu tin trong ảnh đó là thông tin được giấu trong ảnh một cách vô hình, nó như là một cách truyền thông tin mật cho nhau mà người khác không thể biết được bởi sau khi giấu tin thì chất lượng ảnh gần như không thay đổi, đặc biệt đối với ảnh màu hay ảnh đa mức xám.
1.2.2 Các đặc trưng cơ bản
Giấu tin trong ảnh chiếm vị trí chủ yếu trong các kỹ thuật giấu tin, vì vậy mà các kỹ thuật giấu tin phần lớn cũng tập trung vào các kỹ thuật giấu tin trong ảnh Các phương tiện chứa khác nhau thì cũng sẽ có các kỹ thuật giấu khác nhau Đối tượng ảnh là một đối tượng dữ liệu tĩnh có nghĩa là dữ liệu tri giác không biến đổi theo thời gian 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ú ý tới các đặc trưng cơ bản sau đây:
- Phương tiện có chứa dữ liệu tri giác tĩnh
Dữ liệu gốc ở đây là dữ liệu tĩnh, dù đã giấu tin vào trong ảnh hay chưa thì khi ta xem ảnh bằng thị giác, dữ liệu ảnh không thay đổi theo thời gian, điều này khác với dữ liệu âm thanh và dữ liệu băng hình vì khi ta nghe hay xem thì dữ liệu gốc sẽ thay đổi liên tục với tri giác của con người theo các đoạn, các bài hay các ả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 ảnh khác nhau Chẳng hạn đối với ảnh đen trắng, ảnh xám hay ảnh màu ta cũng có những kỹ thuật riêng cho từng loại ảnh có những đặc trưng khác nhau
- Kỹ thuật giấu tin lợi dụng tính chất hệ thống thị giác của con người
Trang 18Giấu tin trong ảnh ít nhiều cũng gây ra những thay đổi trên dữ liệu ảnh gốc Dữ liệu ảnh được quan sát bằng hệ thống thị giác của con người nên các
kỹ thuật giấu tin phải đảm bảo một yêu cầu cơ bản là những thay đổi trên ảnh phải rất nhỏ sao cho bằng mắt thường khó nhận ra được sự thay đổi đó vì có như thế thì mới đảm bảo được độ an toàn cho thông tin giấu Rất nhiều các kỹ thuật đã lợi dụng các tính chất của hệ thống thị giác để giấu tin chẳng hạn như mắt người cảm nhận về sự biến đổi về độ chói kém hơn sự biến đổi về màu hay cảm nhận của mắt về màu xanh da trời kém nhất trong ba màu cơ bản
- Giấu tin trong ảnh tác động lên dữ liệu ảnh nhưng không thay đổi
kích thước ả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 và sau khi giấu tin là như nhau
- Đảm bảo chất lượng sau khi giấu tin
Đây là một yêu cầu quan trọng đối với giấu tin trong ảnh 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 so với ảnh gốc Yêu cầu này dường như khá đơn giản đối với ảnh màu hoặc ảnh xám bởi mỗi điểm ảnh được biểu diễn bởi nhiều bit, nhiều giá trị và khi ta thay đổi một giá trị nhỏ nào đó thì chất lượng ảnh thay đổi không đáng kể, thông tin giấu khó bị phát hiện, nhưng đối với ảnh đen trắng mỗi điểm ảnh chỉ là đen hoặc trắng, và nếu ta biến đổi một bit từ trắng thành đen và ngược lại mà không khéo thì sẽ rất dễ bị phát hiện Do đó, yêu cầu đối với các thuật toán giấu tin trong ảnh màu hay ảnh xám và giấu tin trong ảnh đen trắng là khác nhau Trong khi đối với ảnh màu thì các thuật toán chú trọng vào việc làm sao giấu được càng nhiều thông tin càng tốt thì
Trang 19các thuật toán áp dụng cho ảnh đen trắng lại tập trung vào việc làm thế nào để thông tin giấu khó bị phát hiện nhất [7], [8], [9].
- 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 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 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 tin trong ảnh có tác dụng nhận thực và phát hiện xuyên tạc thông tin[5]
- Vai trò của ảnh gốc khi giải tin
Các kỹ thuật giấu tin phải xác định rõ ràng quá trình lọc ảnh để lấy thông tin giấu cần đến ảnh gốc hay không cần Đa số các kỹ thuật giấu tin mật thì thường không cần ảnh gốc để giải mã Thông tin được giấu trong ảnh sẽ được mang cùng với dữ liệu ảnh, khi giải mã chỉ cần ảnh đã mang thông tin giấu mà không cần dùng đến ảnh gốc để so sánh đối chiếu
Trang 201.3 Cơ sở toán học
1.3.1 Lý thuyết đồng dư modulo
1.3.1.1 Các định nghĩa
Xét vành số nguyên Z
Định nghĩa Hai số nguyên a, b được gọi là đồng dư với nhau theo modulo m
với m nguyên dương nếu a b− chia hết cho m Ký hiệu a b≡ (mod )m .
- Tính phản xạ: Với mọi số nguyên a, ta có: a a= (mod )m
- Tính đối xứng: Nếu a b≡ (mod )m thì b a≡ (mod )m
- Tính bắc cầu: Nếu a b≡ (mod )m và b c≡ (mod )m thì a c≡ (mod )m
- Các tính chất mở rộng:
a)
(mod )
(mod )(mod )
Trang 21(mod )
(mod )(mod )
1 2
(mod )(mod ) (mod )[ ; ]
(mod )( )
Ý nghĩa: Để tìm số dư trong phép chia a cho b (b∈N , thông thường a là *)
một lũy thừa với số mũ vô cùng lớn hay a chứa các lũy thừa như thế Ta có
thể làm theo các cách như sau:
• Xem xét: a hoặc thành phần của a đồng dư với s theo modulo b.
Trang 22• Nếu 0 s b≤ < thì s là số dư trong phép chia a cho b Ngược lại, xét tiếp
tính đồng dư của s theo modulo b, rồi lặp lại theo bước vừa rồi.
Trang 231.3.2 Lý thuyết module
1.3.2.1 Các định nghĩa
Định nghĩa 1 Cho R là một vành [1] M là một nhóm cộng Abel Trang bị
cho M phép nhân ngoài với các phần tử của
:( , )
(1) Mỗi ideal của vành R là một R−module.
(2) Mỗi vành cũng là một module trên chính nó
(3) K là một trường, các K −module chính là các không gian vectơ trên
chính nó
(4) Mỗi nhóm Abel cộng M được coi là một Z−module với phép nhân
ngoài được xác định như sau: Với mỗi x M∈ và n∈Z thì
nx x x= + + + x (tổng gồm n phần tử x ) với n∈Z +; 0x =0 ;M( )( )
Các ví dụ trên chứng tỏ rằng khái niệm module là một khái niệm tổng quá của các khái niệm: Vành, ideal, không gian vectơ và nhóm Abel
Định nghĩa 2 Mỗi tập con không rỗng N của một R−module M được gọi
là một R−module con của M nếu bản thân N cũng là một R−module với
Trang 24hai phép cộng và nhân trong M thu hẹp vào N Khi đó M được gọi là
module mở rộng của N
Ví dụ:
(1) Với M là R−module {0} và M là hai R−module con tầm thường
của M
(2) Mọi nhóm con của một nhóm Abel M là Z module con của M −
(3) M là R−module Khi đó với x M∈ ; Tập hợp Rx={ |rx r R∈ } là một
R−module con của M (module con xyclic sinh bởi x ).
(4) R là vành Vành đa thức [ , ]R x y là một R−module Khi đó R x[ ] là một R−module con của [ , ]R x y
Định nghĩa 3 Cho M là R−module và N là một module con của M
Khi đó N là một nhóm con của nhóm Abel( , ) M + nên ta có nhóm thương:
Với r R x x x M∈ ; , ,1 2 ∈ Khi đó M N cũng là một R/ −module và gọi là
module thương của module M theo module N
Trang 25Định nghĩa 4 Cho M là một R−module Cái triệt của M được kí hiệu là
Định nghĩa 5 Cho M N là các , R−module Một ánh xạ :f M →N được
gọi là một đồng cấu R−module hay ánh xạ tuyến tính nếu nó thỏa mãn hai
(i) f là đơn ánh, toàn ánh, song ánh thì tương ứng đồng cấu là: Đơn
cấu, toàn cấu, đẳng cấu
(ii) Nếu f M( ) {0 }= N thì f được gọi là đồng cấu không kí hiệu là 0.
(iii) Kerf = ∈{x M f x| ( ) 0}= = f−1(0) : Hạt nhân hay hạch của f
Im f = f M( ) {= ∈y N|∃ ∈x M y: = f x( )} được gọi là ảnh của f
Nếu M = N thì f là tự đồng cấu của M Nếu f là đẳng cấu, khi
đó M và N là R−module đẳng cấu viết là M ≅ N.
Trang 26Tập Hom M N R( , ) với các phép toán xác định như trên trở thành một R−
module và gọi là module các đồng cấu từ M đến N
Định lí 1 (Định lí đồng cấu module) Cho : f M →N là một đồng cấu các
R−module và : p M →M Kerf/ là một toàn cấu chính tắc Khi đó tồn tại
duy nhất một đơn cấu
Trang 27Tức là f p= f .
Hệ quả 1: Cho : f M →N là một đồng cấu các R−module Khi đó ta có
M Kerf ≅ f Và nếu f là toàn cấu thì M Kerf/ ≅ N .
Hệ quả 2: Cho P là module con của ; N N là module con của M Khi đó ta có:
/ ( / ) / ( / )
Hệ quả 3: Cho M và N là hai module con của cùng một module thì ta có:
(M +N) / N ≅M / (M IN)
1.3.2.3 Tích trực tiếp, tổng trực tiếp các module
Định nghĩa 7 Cho I là một tập khác rỗng Giả sử (Mα α∈) I là một họ các
R−module chỉ số hóa bởi I Khi đó ta xây dựng hai khái niệm:
là tích Descartes của (Mα α∈) I Ta xây dựng
phép cộng trong M và phép nhân ngoài các phần tử của R với phần
Trang 28R−module M xây dựng như trên được gọi là tích trực tiếp của họ
α∈⊕
bởi N (1)
Trang 29Định nghĩa 8 (Tổng trực tiếp trong) Cho {Nα α∈} I là một họ tùy ý các
module con của R−module M Khi đó nếu [ I ]={0}
} Một module con N của M được gọi là hạng tử trực tiếp của M nếu tồn
tại một module con của F của M để M = ⊕N F.
R x y
Nhận xét:
N là tổng trực tiếp trong của họ {Nα α∈} I khi và chỉ khi mỗi phần tử x của nó
có thể biểu diễn một cách duy nhất dưới dạng sau:
x x= α +xα + + xα xα ∈Nα α ∈I ≤ ≤i n
Trang 31CHƯƠNG 2 GIẤU TIN TRÊN ẢNH NHỊ PHÂN
2.1 Giới thiệu về giấu tin trong ảnh nhị phân
Đối tượng làm môi trường chứa tin của các thuật toán này là ảnh nhị phân đen trắng dạng bitmap Ảnh nhị phân đen trắng bao gồm các điểm ảnh chỉ có màu trắng hoặc đen (tương ứng với bit 0 hoặc bit 1) Để giấu dữ liệu, ta
sẽ tách ma trận điểm ảnh thành các ma trận bit F kích thước m n× rời nhau,
và giấu tin trên mỗi ma trận đó Bởi vậy các thuật toán chỉ cần quan tâm tới
phương pháp giấu dữ liệu trên các ma trận F.
Một số thuật toán giấu tin trên ảnh nhị phân nổi tiếng hiện nay như: Wu-Lee[7], CPT[8], CPTE[10] Các thuật toán này đều dựa trên thao tác biến đổi ma trận bit
2.2 Giấu tin theo khối bit đơn giản
Ý tưởng cơ bản của kỹ thuật này là chia ảnh gốc thành các khối nhỏ và trong mỗi khối nhỏ sẽ giấu một bit thông tin
Quá trình giấu tin: Với mỗi ma trận bit F kích thước m n× và bit mật b
đang cần giấu, tiến hành biến đổi F thành F’ để giấu bit b sao cho:
SUM(F’) mod 2 = b Như vậy, mỗi lần giấu một bit, có thể xảy ra hai trường hợp: SUM(F) mod 2 = b, khi đó ta giữ nguyên khối ảnh F Trường hợp ngược lại chọn ngẫu nhiên một bit trong khối F và tiến hành đảo giá trị của bit này để được khối ảnh mới F’.
Trang 32Quá trình tách tin: Khi nhận được ảnh giấu tin, việc giải mã tin sẽ được thực hiện theo các bước sau:
- Chia ảnh thành các khối có kích thước giống với kích thước khối đã
sử dụng khi thực hiện giấu, đây là khóa để giải mã
- Với mỗi khối ảnh đã giấu tin F’ được chọn theo thứ tự như quá
trình giấu tin, thực hiện tách lấy bit thông tin đã giấu theo công thức:
2.3 Thuật toán giấu tin Wu-Lee
Kỹ thuật giấu tin theo khối bit đơn giản thể hiện độ an toàn không cao với việc sử dụng duy nhất kích thước khối là khóa cho quá trình giấu tin, ảnh chứa thông tin giấu cũng bị dễ phát hiện do kỹ thuật có thể sẽ đảo bit trong các khối ảnh toàn màu đen hoặc toàn màu trắng dẫn tới sự bất thường ở vị trí bit đảo so với các điểm lân cận trong khối
Kỹ thuật giấu tin trên ảnh nhị phân do M.Y.Wu và J.H.Lee vẫn trên tư tưởng giấu một bit thông tin vào một khối ảnh gốc nhưng khắc phục được phần nào những tồn tại nêu trên bằng cách được thêm khóa K cho việc giấu tin và đưa thêm các điều kiện để đảo bit trong mỗi khối, theo điều kiện đó các khối ảnh gốc toàn màu đen hoặc toàn màu trắng sẽ không được sử dụng để
Trang 33Thuật toán giấu tin biến đổi khối ảnh F thành F’ để giấu 1 bit b được
thực hiện sao cho:
Công thức (2) cũng được sử dụng cho quá trình tách lấy tin đã giấu
Thuật toán giấu tin Wu-Lee giấu được 1 bit thông tin vào một khối m n× bit
và chỉ phải thay đổi tối đa 1 bit trong F, tham khảo[7].
2.4 Thuật toán giấu tin Chen-Pan-Tseng
Trên cơ sở thuật toán của Wu-Lee như đã trình bày trong mục 3.3, các tác giả Yu Yan Chen, Hsiang Kuang Pan và Yu Chee Tseng đã phát triển một
kỹ thuật giấu tin mới, thuật toán giấu tin CPT[8] Kỹ thuật này sử dụng một
ma trận khóa K và một ma trận trọng số W trong quá trình giấu tin và tách thông tin
Quá trình biến đổi khối ảnh F thành F’ kích thước m n× để giấu r bit
thông tin b b b b= 1 2 r được thực hiện sao cho:
Trang 34+) W là ma trận trọng số tự nhiên cấp m n× : W (W )= ij m n× .
+) b là dãy r bit cần giấu vào ma trận F m n× : b b b b= 1 2 r
Ở đây, ta sử dụng b theo hai nghĩa: dãy bit và số tự nhiên dạng nhị phân
+) Đặt r =log (2 N +1) , m n N× =
Sao cho: {W ,1ij ≤ ≤i m,1≤ ≤j n} ={1,2, ,2r −1}
Hay nói các khác, ma trận trọng số W cần thỏa mãn: mỗi giá trị của tập
{1,2, ,2r −1} phải xuất hiện trong W ít nhất 1 lần.
Các ma trận khóa K và ma trận trọng số W kích thước m n× được sử
dụng như các thành phần khóa bí mật: người sử dụng K, W trong quá trình giấu và người nhận cần phải có K, W để khôi phục lại tin đã giấu.
Trang 35Hay S SUM T= [ ⊗W]. Suy ra: 0≤ ≤S 2r −1.
Bước 3:
Ta xem b b b b= 1 2 r là giá trị dữ liệu cần giấu dưới dạng cơ số 2 Suy ra
0≤ ≤b 2r −1. Mục đích của thuật toán này là thay đổi nhiều nhất hai vị trí
trong F để dược ma trận F’ mà S’ tương ứng tính được theo công thức (4)
Ta cần tìm các ô Fij sao cho S tăng đúng một lượng α khi ta đảo giá trị
bit ở ô Fij Khi đó ta được:
Ta gọi Sα là tập các ô Fij cần đảo sao cho 'S =b. Sα thỏa mãn điều
kiện đó khi và chỉ khi:
{ ij| ( ij 0, Wij mod 2 ) orr ij 1, Wij 2r mod 2r }
(6)Tính Sα theo công thức (6)
Bước 5:
Xảy ra một trong ba trường hợp sau:
Nếu S b= (hay α =0) thì dĩ nhiên ta không cần thay đổi ma trận F.
Trang 36Nếu α ≠0 và Sα ≠ ∅ ta chỉ cần đảo một ô bất kì Fij thuộc Sα Thuật toán dừng Nếu α ≠0 và Sα = ∅ ta chuyển bước 6.
Bước 6:
Ta tìm số nguyên h>1 và nhỏ nhất sao cho S hα ≠ ∅ và Sα α−h ≠ ∅ Sự
tồn tại của h được chứng minh trong [10] Khi đó ta đảo một ô bất kì thuộc
ij
F thuộc S hα và một ô bất kì Fij thuộc Sα α−h .
2.5 Thuật toán giấu tin CPTE
Ý tưởng: CPTE là một phương pháp được cải biên từ phương pháp CPT do nhóm nghiên cứu của PGS.TS Phan Trung Huy đề xuất Tư tưởng của
phương pháp CPTE là giấu các bít thông tin trên một ma trận nhị phân F cỡ
N =m x n Phương pháp giấu được r' = log 2( )N + 1 bit thông tin.
Trang 37Đặt điều kiện với W :{W ,1ij ≤ ≤i m,1≤ ≤j n} {1, 2, , 2 }= r nói cách khác, các
giá trị của tập {1, 2, , 2 }r phải xuất hiện trong W ít nhất 1 lần
- Dữ liệu ra:
+) Ma trận nhị phân F' ( = Fij ')mxn chứa dãy bít mật b, mà từ đó ta có thể
tính lại giá trị b
Nội dung thuật toán:
Thuật toán sẽ thực hiện việc giấu tin bằng cách biến đổi mỗi khối bít Fi thành F’i sao cho luôn thoả mãn điều kiện sau :
Vì b là số r+ 1 bit Suy ra: 0 ≤ ≤b 2r+1 − 1 (giống như S) Ta cần
đảo nhiều nhất 2 ô trên F ịj trên ma trận F sao cho:
1
S=SUM(T⊗ W) =bmod 2r+
Tính α = −b Smod 2r+1 Giá trị α là độ lệch giữa giá trị dữ liệu cần
giấu và dữ liệu tương ứng tính từ F qua T và W
Trang 38Nếu S b S= − mod 2r+1 (hay α = 0 mod 2r+ 1), đây là trường hợp ta không cần phải đảo bit nào trên F và thuật toán dừng Nếu α ≠ 0 ta
chuyển qua bước 4
Bước 4:
Mục đích của bước này là tìm tập các vị trí F ij để sao cho sau khi
đảo bit một trong các vị trí này, ta được S’ = b.
Gọi Sα là tập các ô Fij, để thay đổi giá trị một ô thuộc Sα thì giá
trị S tăng lên đúng một lượng là α mod 2r+ 1
Như vậy ta có thể tìm Sα theo công thức sau:
Nếu α ≠0 và Sα ≠ ∅: Ta chỉ cần đảo bit của một ô F ij∈Sα khi đó
S sẽ tăng một lượng α và F mới sẽ mang thông tin b, thuật toán kết
thúc
Nếu α ≠ 0 và Sα = ∅: ta chuyển sang bước 6.
Bước 6:
Ta tìm số tự nhiên nhỏ nhất h>1 sao cho S hα ≠ ∅ và Sα α−h ≠ ∅
Khi đó ta đảo một ô thuộc S hα và một ô thuộc Sα α−h , giá trị của S sẽ
tăng lên một lượng là hα và α −hα, do đó S tăng lên một lượng
đúng bằng α và bằng b.
1
S = +S hα + α −hα =b +
Trang 39Tính đúng đắn của thuật toán được chứng minh trong [10].
Ví dụ minh họa phương pháp CPTE
Trang 40Do đó ta cần đảo F tại hai vị trí (2,1) và (3,1) , ta được
Phần này sẽ đề cập tới một số phương pháp giấu tin trên ảnh màu và ảnh xám định dạng bitmap (BMP) Cấu trúc ảnh BMP được mô tả tóm tắt trong mục 4.1 của chương 4 Đây là một định dạng rất phổ biến, điểm nổi bật nhất của ảnh BMP là ảnh không được nén bằng bất cứ thuật toán nào Khi lưu ảnh các điểm ảnh được lưu trực tiếp vào tập tin Một điểm ảnh sẽ được bằng
1, 4, 8, 16, 24, hoặc 32 bits (thường được viết tắt là bpp – bits per pixel) Ảnh
8bpp hay ít hơn là ảnh đơn sắc hoặc ảnh chỉ số Các ảnh lớn hơn là ảnh màu thực Trong khuôn khổ báo cáo đồ án chỉ đề cập đến ảnh bitmap màu thực 24bpp và ảnh chỉ số 8bpp
3.1 Phương pháp LSB
Ý tưởng: Phương pháp LSB (Least Bit Significant) sẽ thay thế bit ít
quan trọng nhất, thường là bit cuối của mỗi mẫu dữ liệu bằng bít thông tin
mật Như vậy trên mỗi pixel của một ảnh BMP 24bpp có thể giấu được từ 1