2007年8月5日 星期日

關於JSteg的研究

※前情提要
 針對JSteg嵌入有所疑惑的部分=>是否會牽扯到商編碼
 由於老師講解程式時商編碼跟JSteg都有提到,於是我腦中的記憶開始模糊

※以老師的程式碼為根據
// 模擬 Jsteg 嵌入資料...
RN = random(2);
if (( iRQDCTcoeY[i][j] != 1 ) && ( iRQDCTcoeY[i][j] != 0 ))
{
  LSB = iRQDCTcoeY[i][j] & 1; // & : bitwise AND operator
  if ( RN != LSB )
  {
    if ( RN == 1 )
      iRQDCTcoeY[i][j] = iRQDCTcoeY[i][j] 1;
    else
    {
      iRQDCTcoeY[i][j] = iRQDCTcoeY[i][j] >> 1;
      iRQDCTcoeY[i][j] = iRQDCTcoeY[i][j] <<1;
    }
  }


根據上述的程式碼 (與關鍵字搜索)
JSteg嵌入的動作
似乎是「QDCT矩陣內的值非0或1的值皆可執行 LSB判讀與嵌入資料的動作」

我原本以為需要先將二維陣列換成一維陣列(使用商編碼)
但是詳加閱讀程式後的結過,似乎並非我所想像

※註一
原本因為會有[短時間內無法觸碰電腦的私人理由]
請佳玉代替我向老師詢問
但在獲得情報前又思索了一次JSteg的事情
進而產生了這篇文章(因為有不同想法--這是我第二種想法)

※這篇Blog將在所有問題都釐清後視情況刪除

1 則留言:

匿名 提到...

P.S.
老師的JPEG Steganalysis程式(參1095行),是兩層for迴圈(8x8 Block)包住JSteg,迴圈內我尚未發現entropy coding的程式。我想sequential選取又更有機會與entropy coding無關。

目前留言時間尚未收到老師的解答。