這一套authentication方式是處理灰階、大小為512x512的影像圖片。
作法是先將512x512的圖,以8x8為一block的大小,分割成64x64個blocks,再將每一塊8x8的block再細分成2x2的小block(如下圖所示),8x8區塊中每個2x2
block相同對應位置的區塊,取其中的值,依序放入一16x1的矩陣中,最後所得的四個16x1矩陣再乘上其轉置矩陣,相加後取平均,便可得一個16x16的矩陣
計算每個16x16矩陣的最大特徵值,可作為每個8x8
block的代表值,故總共有64x64個代表特徵值。
從64x64個特徵值中取其最大與最小值的差,再除以32,作為每個區間的大小。記下原始圖片每一個block落在哪一個區間內(key)。
將每個區間的大小乘以0.001作為最小容忍區間範圍(neutral
zone),擴大區間範圍(如下圖所示),作為兩圖片比對的依據,若是受測的圖片該block算出的特徵值無法符合原始圖片該block的key容忍範圍內,則該區塊認定為遭受到不當修改。
在完成程式後,經過討論發現將單位block的8x8縮小為4x4,使得原來的64x64的特徵值數目增加到128x128個,block縮小直覺的優點是,處理的block變多,authentication原本沒修改的少很多,這成了意外的收穫,經研判16x16的陣列與4x4陣列求特徵值,前者的複雜度會比後者多非常多,與判別的時間相比就顯得小巫見大巫,所以修改後反而花了較少時間。但無法避免的缺點還是原始圖片的key變多,要傳輸或儲存的資料量變大,雖是這樣,優點的價值仍是遠遠蓋過缺點所帶來的問題。
|