--- title: Lab Meeting Minutes 2023/10/20 tags: lab_meeting --- > Outline > [TOC] --- # PERAL Lab Meeting - 時間:112 年 10 月 20 日 20:00 - 地點:線上 - 線上會議連結 : [Online](https://meet.google.com/zfi-zmnc-qfw) - 出席者:吳坤熹老師、謝萬霖、劉怡君、田蕙瑜、沈家正、梁宇騰、紀見如、劉冠伶、林大智(請假)、繆亭霄、蘇翊荃、陳嘉璐、陳品妤、陳姿綾、陳姿澖 - 會議主題:[Digital Image Steganography With Error Correction on Extracted Data (1)](https://docs.google.com/presentation/d/1BLKtmbW4zCN9wDGCB3Cyg-cqTSxphvin0s3TnJi8-b0/edit?usp=sharing) - 主講者: 劉怡君 - 主記: 沈家正 ## 會議內容 Citation: S. N. V. J. D. Kosuru, A. Pradhan, K. A. Basith, R. Sonar and G. Swain, "Digital Image Steganography With Error Correction on Extracted Data," in IEEE Access, vol. 11, pp. 80945-80957, 2023, doi: 10.1109/ACCESS.2023.3300918. Link: https://ieeexplore.ieee.org/document/10198401 ### Quality Measurements for Steganography 怎麼衡量這隱寫術好不好 - Hiding Capacity(HC) - 可以藏多少 bits / bytes 東西在裡面 - Impreceptibility - 難以察覺,能不能被偵測到 - Security - 別人有沒有辦法輕易的藏 - 作者結合 error corection ### Traditional Approaches for Image Steganography #### LSB(Least Significant Bit) Substitution - 比較沒改變那麼多,不容易被發現 - 藏太多在音訊裡還會造成 distortion #### PVD(Pixel Value Differencing) - 計算 pixel 的差異 - 在平滑的地方藏的話太明顯 - 在粗糙的地方藏,看起來就比較不會那麼明顯,可以多藏些 - RS Analysis 偵測不到,但可以用 PDH 的方式偵測到 ### (12, 8) Hamming Code - 原本的資料只有 8 個 bit,多了 4 個 redundant bit 變成 12 bits 的 data - (n - k) 個 parity-check data 可以想成是 redundant(冗餘) 的 bits - redundant bits 放在第 1 = $2^0$, 2 = $2^1$, 4 = $2^2$, 8 = $2^3$ 個位置 - redundant bits 算法就是一直 XOR - R1 = N1 = N3 ⊕ N5 ⊕ N7 ⊕ N9 ⊕ N11 - R2 = N2 = N3 ⊕ N6 ⊕ N7 ⊕ N10 ⊕ N11 - R3 = N4 = N5 ⊕ N6 ⊕ N7 ⊕ N12 - R4 = N8 = N9 ⊕ N10 ⊕ N11 ⊕ N12 - [name=Solomon] : 讓沒修過錯誤更正碼的人說說看有沒有聽懂吧 - 舉例子 - For example, 'A' = 65, what will be the 12 bits? - 65 = 0100 0001 - 0100 x000 x1xx - 2109 8765 4321 (算位置用, 1=N1) - ![](https://hackmd.io/_uploads/HkDINxgGa.png) - R1 = 0 - R2 = 0 - R3 = 0 - R4 = 1 - 0100 1000 0100 - 可以容許幾個 bit 錯誤呢? Ans: 1-bit - 假設 N12 出錯了 - 1100 0100 0100 - N(3, 8, 11, 12) 是 1 - 把這 4 個術用二進位表示 ``` 3 = 0011 8 = 1000 11 = 1011 12 = 1100 ``` - 最低位 bit 都 XOR 起來 = R1;R2;R3;R4 以此類推 - 1⊕0⊕1⊕0 = 0 - 1⊕0⊕1⊕0 = 0 - 0⊕0⊕0⊕1 = 1 - 0⊕1⊕1⊕1 = 1 - 1100 = 12 是第 12 bit 有錯,能夠修正 1 個 bit 的資料 :::info (12,8)-Hamming-Code, is able to correct 1-bit errors for each byte of payload. (https://onlinedocs.microchip.com/oxy/GUID-7694A4AE-178D-4734-AF56-CA4FB2E35712-en-US-1/GUID-F7FBFB8E-52B0-4AA5-9832-FC24944FDDDD.html) ::: #### MHC(Modified Hamming Code) - 這篇 paper 修改了 hammer code 的某些細節 - R1 = D1 ⊕ D2 ⊕ D4 ⊕ D5 ⊕ D7 - R2 = D1 ⊕ D3 ⊕ D4 ⊕ D6 ⊕ D7 - R3 = D2 ⊕ D3 ⊕ D4 ⊕ D8 - R4 = D5 ⊕ D6 ⊕ D7 ⊕ D8 ### Data Embedding Procedure(QVD + MHC) #### Step 1 - 從 Pixel Block 得出 Quotient Block 和 LSB Block - Pixel Block ::: info Solomon: 它這個 pixel 是256色的,不是黑白的。 黑白的就只有1bit, 256色就是 8 bits. ::: - Quotient Block - 除以 2 的商 - LSB Block - 除以 2 餘數 - Q: 為啥用 x? - 只是想顯現出之後會有差異,在這一步和其他 3 個 pixel 做的事是一樣的 #### Step 2 - 8 bits data 拿去做 MHC Encoding - MHC 出來的東西,3 個一組轉成 decimal - (D8, D7, D6)=b1 - (D5, D4, D3)=b2 - (D2, D1, R4)=b3 #### Step 3a - QVD = Quotient Value Difference - 拿到 d1, d2, d3 之後拿去查表看在哪個區間,看 Lower Bound,得 LB1, LB2. LB3 - 例如說 d1 絕對值算出來是 11 的話拿到 LB 是 8 #### Step 3b #### Step 3c - floor 無條件捨去小數點;celling 無條件進位 #### Step 3d - Q′m, Q′x1, Q′x2, Q′x3 當中是哪個當成最終要藏東西的地方 Q'x ,會有個競選的方法 - MSE - P.32 示意圖 - 物理意義:距離平均最近的,比較不容易被發現 - 藍色線能想成是原本的 quotient pair (Qx, Q1), (Qx, Q2), (Qx, Q3),旁邊紫色點是我們藏完東西的 quotient pair (Q'x, Q'1), ... - [name=Solomon] 好像這篇的目的跟 MSE 的也不太一樣,說看看你這邊想 minimized 的是什麼東西? - 取其中一個會是一種 case,選 4 種 case 當中 MSE 最低的 #### Step 3e - FOBP 發生, indicattor = 0 讓 reciever 知道說沒有用到 QVD,fallback 成 LSB Substitution 方案 #### Step 4 #### Step 5 - 組回 pixel block ### Data Extraction & Error Correction Procedure 因時間不足,下回分解 ### Result 因時間不足,下回分解 --- ### 建議&問題 1. [name=Louise] 4 個 pixel 為什麼有 8 bits? Ans: [name=] 2. [name=August] P.9 index x 是不是代表這個 pixel 會拿來藏資料? A: No. In P.13 you will see how Qx is used differently. 3. [name=Ashley] P.12 Why 3個bit一組? A: 它這個方法的設計,一個byte藏3bits. 4. [name=Louise] P.18 0 是被歸類在偶數嗎? A: 對。 5. [name=Ryan] P.3 作者加了 error detection & correction 有沒有增加到他前面列的這些quality 指標 A: 有,在 Result。 7. [name=Ryan] 作者的和其他隱寫術比起來是有優勢的嗎? A: 他的主要貢獻就是比別人多加錯誤更正,其他好像沒啥改變,會變比較好也有點奇怪。 [name=Edgar] 2014 PVD論文已有 ceiling/floor. (https://www.researchgate.net/publication/263764539_Three-Directional_Data_Hiding_Method_for_Digital_Images) 8. [name=Yukino] P.9 只能用 1 byte 的 pixel,能不能用 3 或 4 bytes 的 pixel 來隱藏 A: RGB 圖片就會有 3 bytes,只是前面示範是用 1 byte 而已。3 bytes 就能放 9 bits 隱藏資料了。 9. [name=Selena] 我的收穫:學到資訊隱藏的方法 10. [name=Louise] (12,8)-hamming code 容許幾個 bit 的錯 A: 1 bit. (https://onlinedocs.microchip.com/oxy/GUID-7694A4AE-178D-4734-AF56-CA4FB2E35712-en-US-1/GUID-F7FBFB8E-52B0-4AA5-9832-FC24944FDDDD.html) Phoebe: 下次找到 hamming distance 公式再來跟大家說。 Angela: 這二篇皆有講解如何計算 num of detected error 1. https://www.techtarget.com/whatis/definition/Hamming-code#:~:text=Hamming%20code%20can%20correct%20single,the%20number%20of%20data%20bits. 2. https://www.callibrity.com/blog/coding-theory-2-of-3 11. [name=Ellie] P.20 MSE 選小的意思?好處? A: Imperceptible 12. [name=Jennifer] 一次可以藏進去的 bit 有多少 A: 13. [name=Jennifer] P.32 A: 先省略,弄更清楚再來講 14. [name=Jennifer] P.18 小括弧 15. [name=August] P.5 差異比較小能藏比較少 bit,差異大藏更多bit這樣嗎 A: 這篇在每個區間都固定藏 3 bit. 16. [name=August] (12,8)-hamming code loss 1 bit 時能 recover 回來,這篇的能 loss 幾個 bit 還能還原回來 17. [name=August] P.3 這三個 steganography 普遍的評估指標。有些是天生相衝突的。有做 error correction 的必要嗎? A: good question to think. 18. [name=Ryan] 回應上一個問題。假想一個情境,social media 做 image compression 有機會用 error correction 拿回隱寫的資料 A: 的確社群網站他們壓縮有個目的是要避免讓人傳秘密資料 19. [name=Ashley] 上傳照片到社群軟體真的容易有資訊遺失嗎 A: 回歸到前面的兩個問題「ECC 到底是為了還原出甚麼資料」。 20. [name=Ashley] 塞了這些秘密資訊會不會讓圖片開不起來(動到他的格式) A: 不會,這邊討論的地方都是塞在 pixel 裡面的 data 的部分。 21. [name=Miller] 到底藏在哪 A: 肉眼看不太出來,P.22 這 12 bits 都會是要藏的東西,之後會拿去藏在 pixel block 22. [name=Jiazheng] 怎樣的情況下真的會有人拿圖片去做 RS Analysis [name=Solomon] Stuart Fox, "FBI: Russian Spies Hide Codes in Online Photos", MSNBC.com , 08 Sept. 2011. 23. [name=Angela] P.9 Quotient Block;用 block 為單位做的用意在哪? [name=Phoebe] 用更大 block 直接提升 hiding capacity [name=Solomon] 我覺得目的是讓它和neighbor不要差太多。改善的應是 imperceptibility. 至於 Hiding Capacity 是每個 pixel 藏3bits, 應該差不多。 24. [name=Angela] 幫補充 P.32 25. [name=Edgar] P.9 真的是 least significant bit 嗎。這樣置換會對色彩表現有很大影響吧 A: 對BMP圖片格式還沒更了解 26. [name=Edgar] P.9 X, 1, 2, 3 一定要順時針嗎 A: 覺得應該沒影響,只要其他 3 個位置有跟 x 做計算就好 27. [name=Edgar] P.15 m 計算的意義在哪 A: I don't know 28. [name=Edgar] P.17 一堆條件,floor/celling 他怎麼決定要用哪個的 A: 論文用的複雜且沒解釋 [name=Edgar] 2014 PVD論文已有 ceiling/floor. (https://www.researchgate.net/publication/263764539_Three-Directional_Data_Hiding_Method_for_Digital_Images) 跟這有沒有關 29. [name=Edgar] P.21 其他 case 怎麼就不試了;哪天有 sender 用非最小 MSE 來發送對 reciever 有何影響;P.20 這例子 Case 2, 3 兩個 MSE 都一樣小那怎麼選 Case 2 30. [name=Edgar] 建議:有個圖片範例,肉眼真的沒辦法看出有藏資料 31. [name=Solomon] P.20 2 cases 可用,fallback 也能有兩種方法,reciever 怎麼解 A: QVD/LSB 有 indicator 區分;2 cases 不知 32. [name=Solomon] P.17 幾數偶數做區分有道理嗎? ## 待追蹤事項 1. [name=] ## 臨時動議 1. 沒講完的下週繼續報。以後的人都往後順延,要修改報告次序 2. 交接 ms15 也要發文,也可以對兩份 SOP 合併之後 FB 發文說你改進什麼地方 3. 右邊冷氣遙控器,請廠商再處理。不該跟系辦講已經沒問題了 --- 散會結束時間: 23:10