【LSB】图片隐写文档大纲
第一章 緒論
1.1研究背景
1.2研究意義
1.3主要工作
第二章 圖片隱寫和LSB算法
2.1關于圖片隱寫術
2.2LSB算法
第三章 系統設計與實現
3.1圖像的加載
3.2文本的預編碼
3.3文字編碼
3.4圖片編碼
第四章 功能測試及線上部署
4.1功能測試
4.2線上部署
第五章 總結及展望
5.1總結
5.2展望
第一章 緒論
1.1研究背景
隨著信息技術和個性化網絡服務的飛速發展, 人們越來越依賴于同步個人數據到網絡服務平臺, 如Dropbox、百度云、有道云筆記等, 以便在社交網絡中動態更新和共享。然而, 在體驗網絡服務帶來的資源共享、便捷交流的同時, 用戶的個人數據也面臨著被竊取的風險。這給人們的個人信息、財產安全造成極大的影響。因此信息隱藏技術顯得尤為重要計算機技術發展和Internet廣泛應用,越來越多的信息在網絡上傳輸,在給 人們方便的同時,也帶來極大安全隱患。作為信息的主要載體圖像,其安全性也倍受關注。 圖像加密作為保障圖像信息安全的核心思路,已成為目前的研宄熱點。
信息時代的發展,信息安全扮演著越來越重要的角色,在某些時候,其甚至威脅到國家的安全。密寫技術屬于信息安全的范疇,是一種將待傳輸信息嵌入到某種載體內,借助載體來掩蓋秘密信息傳輸的技術,與更為常用的加密技術相比,它在信息傳輸時更為隱僻。JPEG標準是當今應用最為普遍的圖片格式,據統計,互聯網中80%的圖片采用JPEG壓縮標準,因此研究圖片的密寫對于保障信息的安全具有重要意義
1.2研究意義
依據目前信息傳遞的主要方式,選取圖片作為研究對象有重要意義。上到公安、銀行系統的身份證照片、銀行卡照片、個人肖像照片等涉及到個人隱私信息圖像的存檔和管理,下到個人生活隱私照片的保護,都存在圖片的存儲安全問題。
隨著網絡帶寬的提升,個人移動設備的不斷普及,人們對于多媒體的消費需求隨著生活水平的提高也不斷增強,特別是近年來,隨著高清數字圖像逐漸普及,圖像也越來越頻繁地通過網絡傳輸和存儲,相應需要的存儲空間和占用的網絡開銷隨之增大,這帶來了兩方面的需求。一方面,由于計算機和網絡以及各類黑客工具的普及,傳輸多媒體數據時容易被惡意監聽甚至篡改,許多媒體內容有一定的保密性要求,因而圖像的安全傳輸變得越來越重要。此外,隨著用戶的增多,高清圖像將占據更多的網絡開銷,如何在保護圖像隱私的前提下,同時加強圖像的壓縮以盡可能減少網絡帶寬需要,對于用戶而言也變得更加急切。
1.3主要工作
網頁技術介紹
HTML 5:HTML5是公認的下一代Web語言,極大地提升了Web在富媒體、富內容和富應用等方面的能力,被喻為終將改變移動互聯網的重要推手
CSS 能夠對網頁中元素位置的排版進行像素級精確控制,支持幾乎所有的字體字號樣式,擁有對網頁對象和模型樣式編輯的能力。CSS簡化了網頁的格式代碼,外部的樣式表還會被瀏覽器保存在緩存里,加快了下載顯示的速度,也減少了需要上傳的代碼數量(因為重復設置的格式將被只保存一次)。只要修改保存著網站格式的CSs樣式表文件就町以改變整個站點的風格特色,在修改頁面數量龐大的站點時,顯得格外有用。這就避免了一個個網頁的修改,大大減少了工作量。
JavaScript是一種屬于網絡的腳本語言,已經被廣泛用于Web應用開發,常用來為網頁添加各式各樣的動態功能,為用戶提供更流暢美觀的瀏覽效果。通常JavaScript腳本是通過嵌入在HTML中來實現自身的功能的。
Javascript腳本語言同其他語言一樣,有它自身的基本數據類型,表達式和算術運算符及程序的基本程序框架。Javascript提供了四種基本的數據類型和兩種特殊數據類型用來處理數據和文字。而變量提供存放信息的地方,表達式則可以完成較復雜的信息處理。
第二章
2.1關于圖片隱寫術
隱寫術是一門關于信息隱藏的技巧與科學,所謂信息隱藏指的是不讓除預期的接收者之外的任何人知曉信息的傳遞事件或者信息的內容。隱寫術的英文叫做Steganography,來源于特里特米烏斯的一本講述密碼學與隱寫術的著作Steganographia,該書書名源于希臘語,意為“隱秘書寫”。
2.2LSB算法
維基百科LSB:
最低有效位(英語:Least Significant Bit,lsb)是指一個二進制數字中的第0位(即最低位),權值為2^0,可以用它來檢測數的奇偶性。
利用js的hideText函數提取各個像素,例如(255,255,255),轉換成二進制例如(1111111,1111111,1111111),修改后一位至兩位的話肉眼幾乎無法辨別。
把所想隱含的信息轉換成二進制ascall碼分別填入每個像素的最后一位(可以是最后兩位,或者一個像素每一種顏色都填入,在不影響的情況下隨意修改)
LSB加密是信息隱藏中最基本的方法。由于人們識別聲音或圖片的能力有限,因此我們稍微改動信息的某一位是不會影響我們識別聲音或圖片的。
采用圖片的最低有效位(LSB)進行隱寫。其原理就是圖片的像素點都是由三原色(RGB)構成(如下圖),由這三原色可以組成各種顏色,如CSS里的顏色定義#FFFFFF,即是三原色的16進制值寫法,每個顏色各占用8bit。而LSB隱寫就是修改像素中每個顏色值的最低位值,最后通過這種方式達到隱寫的效果
譬如我們想把’A’隱藏進來的話,如下圖,就可以把A轉成16進制的0x61再轉成二進制的01100001,再修改為紅色通道的最低位為這些二進制串。
解密的話通過讀取最后一位的位值,每八位讀取一個acall碼或每16位讀取一個unicode編碼
,只要圖片足夠的大,解密的文字就越多
第三章 系統設計與實現
3.1 圖片的加載
傳統的圖片加載需要將圖片上傳到服務器,再由服務器加載出來,而現在可以使用FileReader對象將圖像加載到DOM中而無需往返服務器,這樣就大大提高了隱私性。
再將我們讀取到的數據加載在一個 Image對象中,然后我們將其輸入到我們的 canvas畫布中以進行像素操作。
canvas包含了我們圖像的所有信心
再使用FileReader對象的readAsDataURL方法可以將讀取到的文件編碼成Data URL。Data URL是一項特殊的技術,可以將資料(例如圖片)內嵌在網頁之中,不用放到外部文件。使用Data URL的好處是,您不需要額外再發出一個HTTP 請求到服務器端取得額外的資料。
這樣我們就獲取了該圖片的url,方便后面的下載
3.2獲取圖片所有信息
通過Context(‘2d’)可以獲取圖片的所有信息
再將其加載再imgData中傳入ImageColorMask的color數組中
3.21信息導入
可以看到這里有個對象的函數,里面傳入的參數是圖像和文本信息
可知我們最核心的加密方式就是在這個函數里
讓我們看一下imagemask.js里的hideText函數
這里有用到新的對象
來看ImageColorMask里的函數
3.3文字編碼
3.4圖片編碼
第四章 系統設計與實現
4.1功能測試
加密文字
首先這是一張很普通的名為me.jpg的
進入index首頁
選中圖片
在加密文字上框輸入文字
我們輸入
阜陽師范大學信息工程學院010101
下面就會顯示一張圖片:
下載下來即可
這樣我們就獲取了一張download.png圖片
這張圖片里就含有我們加密的文字了,如果解析的話,只需傳入圖片解密即可
刷新網頁
上傳上次下載的圖片
解密
解密成功,這就是一個完整的圖片加密解密的過程
加密圖片
還是選擇這張圖片
選擇另一個網頁
上傳
之后加密選擇一張二維碼
點擊加密圖片后,下方就會有一張圖片
還是下載下來
一張download.png圖片
下面進行圖片的解密
上傳剛下載的圖片
選擇解密圖片即可
下面會有一個下載地址,這個地址背后就是我們那張二維碼圖片
這樣一張頭像里面就夾藏著另一張圖片了
##4.2線上部署
因為碼云相比較于github,網絡延遲相對好很多,所以選擇在碼云上進行代碼的部署。
選擇到相應路徑
當然你也可以選擇部署在自己的網站上,因為這樣部署比較方便而且免費
在碼云上新建一個代碼倉庫
這里就叫test web吧
然后將它的ssh復制下來
使用git remote add origin將它推薦到遠端
git push -f origin master,可直接推送
推送成功,在服務上開啟git pages即可
這樣我們就有了一個靜態的網站可以直接加密我們的圖片了
http://discipline_exhausted.gitee.io/test-web
第五章 總結及展望
5.1總結
5.2展望
總結
以上是生活随笔為你收集整理的【LSB】图片隐写文档大纲的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在Mac电脑中设置一位数密码电脑如何
- 下一篇: 电脑的显卡如何挑选电脑显卡如何选择