2008年9月2日 星期二

Working - Jiayu 11

時間:2008/09/02
進度:windows環境下argv內容測試

內容:

一、第一種argv輸出方式
 ①撰寫輸出argv內容的程式
  
 ②編譯執行以產生.exe的執行檔(本例為TEST1.exe)。
 ③打開命令提示字元(開始>>附屬應用程式>>命令提示字元)。
 ④更改路徑為TEST1.exe所在目錄, 或將TEST1.exe移至預設目錄。
 ⑤輸入指令:TEST1 -k "123" -d message.txt original.jpg stego.jpg
 ⑥顯示argv的輸出:
  TEST1 -k "123" -d message.txt original.jpg stego.jpg
 []顯示各參數時, 程式裡是以" "空格區隔兩參數



二、第二種argv輸出方式
 ①撰寫輸出argv內容的程式
  
 ②編譯執行以產生.exe的執行檔(本例為TEST2.exe)。
 ③打開命令提示字元(開始>>附屬應用程式>>命令提示字元)。
 ④更改路徑為TEST2.exe所在目錄, 或將TEST2.exe移至預設目錄。
 ⑤輸入指令:TEST2 -k "123" -d message.txt original.jpg stego.jpg
 ⑥顯示argv的輸出:
  T - 1 - m o s
 []顯示各參數時, 程式裡是以" "空格區隔兩參數



三、測試結果
 

2008年8月21日 星期四

Defending Against Statistical Steganalysis - 心得與筆記(1)

關於OutGuess的Embedding Process

整段文章中,最常使用的關鍵字為「redundant bits」,關於「redundant bits」,在老師的blog有一段文章如下:『冗餘位元(redundant bits) 就是經過修改也不會在掩護媒體中產生會被偵測出來的品質下降現象(degrading)。』
而OutGuess的理念就是將機密訊息嵌入到Redundant Bits。

寫在隱藏之前,作者提到了他將Embedding Process切割成兩個步驟:
1. Identification of redundant bits. (將redundant bits辨別出來)
2. The selection of bit in which the hidden information should be placed.(挑選適合放置隱藏訊息的地點)

關於切割成這兩個步驟的理由,老師的blog提到:『切割成兩個步驟的好處是容易取代(easy replacement), 如果要將本篇論文提出的方法在別的資料格式中實作出來, 只要將 identification algorithm 換掉, 然後用新的選擇策略(selection strategy)即可。』

也就是說,由於cover medium的並非只有JPEG這種格式,雖然本篇論文是以針對JPEG格式來撰寫的,切割成這兩個步驟的狀況下,只要修改一下演算法,也可在其他不同格式的cover medium實做OutGuess的理念。

3.1 Identification of Redundant Bits

一份資料的redundant bits建立在cover medium的輸出格式上,不同格式的cover medium所能計算出的redundant bits不同。此外,也必須思考「cover medium在轉換成最終格式時的資料壓縮如何做到最低程度的修改。」

引用自老師的blog:
作者闡述了一個觀念, 用來嵌入機密訊息的冗餘位元通常和影像的儲存格式相關。整個嵌入程序自然也和輸出格式有關。通常壓縮程序也包含其中。要最小化對掩護媒體(cover- medium)的修改(modification), 必須具備有關冗餘位元的相關知識才做得到, 作者提到 OutGuess 實作了整個輸出影像的運算。

在3.1的最後一段提到了:
A bit is locked when the bit has already been used to carry hidden information. This can occur when more than one message is hidden in the cover medium.
這段文字剛好是我長久以來的問題,「如果已經有人針對一個cover medium做了information hiding,但是有人並不知道這件事情,而繼續對同一個cover medium做information hiding的事情,那麼原本的訊息是會被修改掉,還是並存?」
這篇論文提到,他會將已經嵌入資料的部分上鎖,因此如果同一個cover medium都使用OutGuess隱藏訊息的狀況下,資料是有可能並存的(?)

3.2 Selection of Bits
這小節主要是介紹如何挑選redundant bits。

該文章提到,在選擇redundant bits之前,OutGuess先將我們要隱藏的機密訊息用RC4來進行加密,此外也使用RC4的演算法來建立一個PRNG。

在隱藏機密訊息之前,OutGuess會先藏入一個32 state bits來做紀錄之用,其中16-bit用於紀錄亂數seed,另外16-bit用於紀錄隱藏訊息的長度。

關於Seed。
在計算出該cover medium的redundant bits後,將Seed丟入上述利用RC4所產生的PRNG之中,來挑選嵌入訊息的redundant bits的random offsets(隨機距離)。

問題:
在老師的blog中提到,經由文章中所提到的公式計算之後,嵌入的機密訊息的長度會被有效的控制在可嵌入空間的50%之內?

未完 - 待續 (?)

2008年8月12日 星期二

Working - Jiayu 10

時間:2008/08/12
進度:outguess.c
   ① line 1-11
   ② line 13-41
   ③ line 766-786

備註:有一些C的語法想了一陣子, 進度有點緩慢, 請見諒。

2008年8月7日 星期四

Meeting - Jiayu 11

時間:2008.08.05 - 06
地點:S棟六樓
備註:本次為小組研究

內容:
1.產生以OutGuess方法嵌入訊息的圖片
 ①開始安裝Cygwin
 ②Cygwin安裝套件加選OutGuess套件。
  Step1.點選View。
  
  Step2.找到OutGuess,修改Skip選項。
  

 ③將掩護媒體與訊息放在Cygwin目錄底下的home資料夾裡。     
 ④開啟Cygwin,輸入執行OutGuess的指令。
  outguess -k "(自訂的secret key)" -d message.txt Original.jpg Stego.jpg
  

2.畫出藏訊息前後的DCT係數histogram
 ①下載Matlab JPEG Toolbox,放至MATLAB Current Directory目
  錄裡。
 ②讀圖。
  Original = jpeg_read
   ('C:\cygwin\home\Administrator\Original.jpg');
  Stego = jpeg_read
   ('C:\cygwin\home\Administrator\Stego.jpg');

 ③畫histogram。
 

2008年7月21日 星期一

目前工作分配狀況

待辦事項
1.找OutGuess產生圖片 -> 使用Cygwin
2.將1的圖片作Histogram分析
3.網站製作(系辦指定作業)
4.海報製作(同3)
5.文件整理(同3)
6.JPEG規格書 -> 為了審查時的(?)

Matlab

關於使用Matlab的指令來作影像處理
學姊給的網頁如下
http://www.philsallee.com/jpegtbx/index.html

2008年5月27日 星期二

Meeting - Jiayu 10

次序:21或22
時間:2008.05.27
地點:S402

內容:
   ①學術論文的研究動機:寫出該研究的重要性。
   ②測試程式產生obj檔。
   ③正確宣告extern以使用其他副程式的函數
   ④使用obj檔(承②)
   ⑤variable scope。
    Global variable與Local variable的差異在於生命週期。
    時間分三種:1.Compile Time 2.Link Time 3.Run Time
    (名稱可能有誤)

    Global variable是在Compile Time就產生(這裡的產生就是系
    統給一塊記憶體),然後包進obj檔裡。
    Local variable:執行到該函數時才產生,即Run Time時產
    生,該函數執行完即消失。

工作:①世昭至圖書館找五篇論文的研究動機,再找五篇學長姐專研文
    件的研究動機。
   ②查閱相關書籍extern的用法。

Working - Jiayu 0902

時間:2008/05/27
進度:3.使用obj檔(承2)

內容:

①將File1.c移除,改新增剛才執行完Project1所產生的File1.obj。


②Run Project1可正常執行。

Working - Jiayu 09

時間:2008/05/27
進度:2.正確宣告extern以使用其他副程式的函數
內容:

①開啟BCB。
(預設的Project1已有一個Unit1.cpp。)

②建立一個.c檔作為我們的副程式。
開啟BCB,最上排選單點選File >> New >> C File。
(目前這個我們新增的File1.c已經加入Project1。)

③在File1.c裡宣告一個變數ˋ一個函數,並定義之。例:
_________________________
int aaa=5;
void Selection_Sort(int *Num)
{
  int min,temp,i,j;
  for(i=0; i<=8; i++)
  {
    min=i;
    for(j=i; j<=9; j++)
    {
      if(Num[j]<Num[min])
        min=j;
    }

    temp=Num[i];
    Num[i]=Num[min];
    Num[min]=temp;
  }
}


④以預設的Unit1.cpp作為我們的主程式,並呼叫副程式File1.c的變數ˋ函數來使用。
在Unit1.cpp裡宣告我們所用到的陣列ˋ副程式的變數ˋ副程式的函數。如下所示:
_________________________
int Num[10];
extern "C" void Selection_Sort(int*);
extern int aaa;  


⑤在Unit1上新增兩個Label原件。Label1顯示副程式裡的函數正確執行後被修改的陣列值(如果該值還是原來的值,我們可知該副程式裡函數未成功執行。)。Label2顯示副程式裡的aaa變數值。

⑥在主程式裡定義陣列初值 >> 呼叫副程式的函數做排序 >> 顯示結果。
_________________________
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
  for(int i=0; i<10; i++)
    Num[i]=10-i;

  Selection_Sort(Num);

  Label1->Caption=IntToStr(Num[0]);
  Label2->Caption=AnsiString(aaa);
}
 

2008年5月26日 星期一

Meeting - 05/20 紀錄

※關於上週的Meeting,在討論程式以及文件前,老師提及了一些Outguess的方法以及新想法。由於我在奔跑借傳輸線時錯過了一些內容,因此以下僅就「我聽到的部分」以及「我理解的部分」作紀錄。


※時間:2008.05.20 14:30~16:40(大約)
※地點:s402

理論:Outguess上,假設藏資料時,(例如:將2改3,3改2),那麼分析histogram會發現2跟3趨近於一樣高,因此在chi-square的分析下,很容易會被發現破綻。

新想法→如果在2改3的時候,另外挑選一無辜數字3,將之改成2,那麼整張圖在被chi-square分析下,histogram並沒有改變,因此也就無法破解。

破解→
假設在藏的時候,將圖分成A,B,C,D四部份,如果在A區要把2改成3,但因為Outguess是隨機取一無辜3改2,倘若修改的部分不在A區,只要chi-square分析時也將圖片分成A,B,C,D來掃,最終還是可以發現histogram的詭異之處。

因此,新方法就是將圖片切成 N 個區域,為使histogram維持不變,盡量修改同一個區域的數值,如此一來,在chi-square的attack之下,histogram可以盡量維持不變。

因應的辦法就是,chi-square也將圖片切成 M 個部分來掃描。

--
本週練習主題:
Program
Prac將簡單function製作成obj,呼叫使用之。

摘要 v.2

  在本文件中,我們將會介紹「本專題所使用的論文」、「什麼是資訊隱藏」、「論文中提到的幾種隱藏方法以及該如何破解」、「為什麼要使用JPEG」、「JPEG格式」。
  我們將會在:
  第一章介紹「什麼是資訊隱藏」以及「為什麼要使用JPEG」。
  第二章介紹「本專題所使用的論文」以及「論文中提到的幾種隱藏方法以及該如何破解」。
  第三張介紹「JPEG格式」。

--
只是單純想嘗試不同風格的寫法,這次完全嘗試言簡意賅的提到內文會提起的部分。

Working - Jiayu 08

時間:2008/05/26
進度:初審文件摘要撰寫(Version.2)

內容:
  在這份初審文件,我們先針對將機密訊息嵌入至JPEG圖片的隱藏技術做探討。探討方式是以我們所研讀過的兩篇論文為依據,對其中所提到的四種隱藏技術做介紹,分別是JSteg、OutGuess、JPHide、F5這四種隱藏技術。介紹完隱藏技術之後,我們再進一步介紹兩種破解隱藏技術的方法,分別是針對JSteg的卡方攻擊法(chi-square test),以及針對OutGuess的進階卡方攻擊法(extended chi-square test)。最後再說明JPEG的邊碼流程,藉著對JPEG邊碼流程的了解,以期能實作上述的隱藏與破解技術,並進一步做發想。


備註:
  本次修改地方有兩處。一是將第一句的「這份文件」改成「這份初審文件」,以求清晰。二是對最後引入JPEG邊碼流程的敘述做修改,以期能連貫上文不唐突。
 

2008年5月19日 星期一

摘要試寫

資訊隱藏的方法有很多,而為什麼需要隱藏資訊,是因為當我們不想讓第三者知道我們所要傳遞的訊息,而這些訊息可能是些機密的訊息,所以我們透過一些方法來隱藏這些訊息,例如隱寫術(Steganography)及密碼學,而本章我們所要探討在JPEG圖片上做隱藏以及破解方法。

JPEGJoint Photographic Experts Group〉之所以被我們拿來當作實作題材,是因為他在網路上被廣泛應用,基於這個理由,所以我們就JPEG圖片用某些技術來做嵌入資訊或是找出隱藏的訊息。

摘要試寫(小強)

  隱寫術(Steganography)試屬於資訊隱藏中的一門,與密碼學都應用於秘密通訊,不同的是隱寫術不僅保護訊息內容也保護通訊雙方,而密碼學著重於後者。隱寫術是利用掩護媒體(cover-media)來嵌入所要傳遞的訊息內容,而嵌入完的掩護媒體又稱為偽裝媒體(stego-media)。
  
  由於JPEG是一種被廣泛使用的方法,所以在此論文中我門著重在JPEG的隱藏與破解作探討。根據所閱讀的兩篇論文,我們探討了JSteg、OutGuess、JPHide、F5這四種隱藏方法和兩種破解JSteg和OutGuess的方法。

摘要試寫

  資訊隱藏可分為隱寫術(Steganography)、密碼學以及一些其他的技術,(在此我們以較有名的兩個舉例)。而我們專題所要做的,就是隱寫術。所謂的資訊隱藏是指不讓傳送者與接收者以外的人知道有訊息傳遞,如此一來不僅可以保護訊息的內容亦可以保護通訊雙方的安全。通常密碼學比較強調前者,而隱寫術強調後者。
  在此簡單的介紹隱寫術。隱寫術通常用於秘密通訊,選擇一個媒體(可以是圖片、聲音、影像)作為掩護媒體(cover-media)來嵌入想要保護[or傳遞?]的訊息,至於如何嵌入將會在後面說明。而已經嵌入訊息的媒體我們稱之為偽裝媒體(stego-media)。任何人皆可藉由傳送偽裝媒體達到秘密通訊的目的。因此有人懷疑許多犯罪組織利用隱寫術來互相溝通,以及策動犯罪。為防止這樣的情形發生,便開始有人研究破解的方法。卡方攻擊法(Chi-square)即是一個很有名的,用以偵測媒體是否為偽裝媒體的攻擊方法。

--
有種...在寫簡介的感覺 O_Oa
應該 不是錯覺吧|||b

Working - Jiayu 07

時間:2008/05/19
進度:初審文件摘要撰寫(Version.1)

內容:
  在這份文件,我們先對將機密訊息嵌入至JPEG圖片的隱藏技術做探討。探討方式是以我們所研讀過的兩篇論文為依據,對其中所提到的四種隱藏技術做介紹,分別是JSteg、OutGuess、JPHide、F5這四種隱藏技術。介紹完隱藏技術後,我們再進一步介紹兩種破解隱藏技術的方法,分別是針對JSteg的卡方攻擊法(chi-square test),以及針對OutGuess的進階卡方攻擊法(extended chi-square test)。在隱藏與破解技術探討之餘,由於我們一開始選定研究的掩護媒體是JPEG圖片,所以我們也對JPEG圖片邊碼流程做了一定程度的了解,並在此文件的後半部做介紹。


心得:
  這樣讀下來覺得自己寫得有點像章節前的引文(汗,原因是有些東西很難拿捏該不該在摘要寫,以及即使選擇要寫,也有很大機會是寫不完整的。

2008年5月13日 星期二

Note - 摘要

摘要
1.介紹什麼是資訊隱藏
2.為什麼要挑選JPEG
3.如何實做專題、使用什麼工具

隱寫術(steganography)是資訊隱藏的一個分支,應用於秘密通訊(可分為密碼學與隱寫術)。
Hint: 應用與目的

不僅可以保護訊息的內容亦可以保護通訊雙方的安全
密碼學強調保護前者,隱寫術強調保護後者

藏前→藏後
掩護媒體→偽裝媒體
(cover-media→stego-media) 可替換

小強專研問題

接下來我再看程式碼時有找到djpeg.c 這個檔案,我發現它是Linux版本的解壓縮JPEG主程式.

因為我想試著把它改成C語言的版本,於是我就先試著對他做Compiler,出現了兩個錯誤.

如圖一


一個是說重複 #define FAR這個變數,於是我把它刪了一個之後這個錯誤就沒出現.

但是真正有問是第二個錯誤

它是說沒有定義command 這個Function.

也就是說他少定義了這個函數,我繼續的在找尋這個函式是在哪需要用到的在哪些H或C檔有用到.

2008年5月12日 星期一

小強專研發現

根據初審之前程式的進度,小強我繼續的Compiler有了一些小小的發現如下:

1.首先是Compiler jccolor.c這個程式:

(1)首先看到的錯誤是在jmorecfg.h typedef long INT32 出現了如圖一的錯誤


它出現了重複定義 typedef long INT32 的錯誤.



2.於是我就去看了第二個錯誤找到他所說重複定義的變數在 basetsd.h 檔中如圖二:



我發現了同樣是INT32但是宣告的型態卻是不同:



typedef signed int INT32、*PINT32;



typedef long INT32;



3.接下來是 jmorecfg.h 檔裡所宣告的變數typedef int boolean也出現同樣的錯誤如圖三:



也發現到在rpcndr.h中所宣告的相同變數但不同型態如圖四:



typedef int boolean;

typedef unsigned char boolean;

於是我將她們的型態改成一至發現Compiler就可以過了,但是我不知道未什麼他的型態會這樣宣告,是因為變數型態宣告錯誤還是另有問題.我也只是初步猜測他是型態宣告不一至所造成的錯誤.至於是不是我所想的這樣我依然在查證.

2008年5月8日 星期四

初審文件 - Final !!

下載

這是暫時整理出的東西,雖然文件內容還需要修改
但是這個還算完整

---
結論與參考文獻編號尚待改善

2008年5月1日 星期四

初審檔案撰寫-小強 01

2-2論文簡介
這篇文章討論Jsteg和OutGuess 0.1這兩個現有的隱藏技術系統並且透過隱藏技術統計提出在檢測它們過程中的新的研究F5,其他調查集中於藏和在浮印水印圖案上的訊息的一般的用法要不然提供察覺算法的概述。

2-3隱藏方法
2-3-1 JSteg
它將資料連續用訊息替資料替換DCT係數的最低位元(least-significant bit),此隱藏技術 系統不需要一個分享的秘密的金鑰。因此,知道隱藏技術系統的人能復原JSteg所隱藏的消息。


2-3-2 OutGuess 0.1
OutGuess 0.1是改進編碼步驟的一個隱藏技術系統從使用一個假的隨機數產生器隨便選擇DCT(discrete cosine transform)係數,被選擇的DCT係數的最低位元被替換加密的訊息資料。JSteg的卡方攻擊無法發現被隨機被嵌入的訊息資料,它不能發現被OutGuess 0.1隱藏技術所隱藏的內容。


2-3-3 F5
F5減量它在一個過程的絕對值叫矩陣編碼(matrix encoding),而不是用訊息資料去替換一個DCT係數的最低位元。因此,卡方攻擊不能發現F5隱藏技術不可能連合任何固定的DCT係數。

2-4破解方法
2-4-1 JSteg破解
Andreas Westfeld和Andreas Pfitzmann 注意到改變連續的最低位元的隱藏技術系統,能以隱藏技術分析發現所引起變形。他們觀察一幅規定的圖像,可預測模式的顏色頻率的直方圖嵌入觀察高熵的資料改變。

2-4-1 OutGuess 0.1破解
使用Extend卡方攻擊我門可以發現假的隨機數所隱藏的資料,固定一個樣本數而不是增加樣本數的量和在鄰近位置試驗,使用固定樣本數的量但是以移動樣本的量的位置接管整個圖像範圍。

2-5問題與討論
未完

初審文件 -- 結論

四、結論
  從開始專研到現在,在老師的指導之下,陸續的學會了一些隱藏與破解的方法以及大致上的觀念。目前為止成功的實做過RGB轉YCbCr、Discrete cosine transform、Quantization Discrete cosine transform…等小程式,但因為後面的編碼步驟較為複雜,因此Quantization Discrete cosine transform之後到編碼完成的這個步驟,根據老師的建議開始研讀IJG[N]所撰寫的Encoder與Decoder程式,並且學習如何使用正式規格的程式以及引用別人已經撰寫好的大型副程式。
  預期在順利使用IJG的副程式後,能夠用最快的速度完成隱藏與破解的程式,也就是本專題的重頭戲。

2008年4月30日 星期三

初審文件 -- 簡介

一、簡介
  本專題主要是以研究論文中所提到的方法來實行如何在JPEG圖片中隱藏訊息,因此在一開始的時候研讀了Hide and Seek[1]來學習前人所提出的方法,而該論文[1]所提到的方法,我們將會在第二章的時候提出介紹。此外,後續有人發表了破解Hide and Seek中所提出的方法,甚至是有更好的隱藏方法,因此我們繼續研讀了第二篇論文[2]來學習更有效率的隱藏方法,同樣也是在第二章的時候提出介紹。
  在研究隱藏與破解的方法的同時,發現如果我們對於JPEG沒有一定程度的理解,本專題將難以繼續下去;因此我們開始閱讀JPEG規格書[3]來詳細研究JPEG的格式與內容以及編碼和解碼的方法。我們將在第三章的時候詳細介紹我們所學到的JPEG格式以及該如何去編碼與解碼。

2008年4月29日 星期二

初審文件撰寫-01

ㄧ.JPEG介紹

JPEG縮寫:Joint Photographic Experts Group(結合式照像專業群組),是JPEG組織所制定的一種圖檔格式,為一會破壞圖檔品質的儲存格式。能儲存24位元全彩影像,並且圖檔比原始未經壓縮的BMP檔小數倍。與GIF檔同屬網路最常見之圖檔。要儲存此種格式的影像,最好用專業的影像處理軟體 如PhotoShop儲存,因為可以調整影像儲存的壓縮/品質比,壓縮愈大,品質愈差。

JPEG是由CCITT&ISO的一群專業人員,於1987年正式推出的一種工業壓縮標準,適用於儲存24位元全彩影像及縮小檔案大小,但不支援透明或動畫。JPEG格式運用壓縮運算法則可以將影像資料壓縮成數十分之一的大小,但壓縮比愈高時影像的資料耗損程度會愈大,影像也會愈失真(為達到高度壓縮,部份資料會被忽略)。多數的影像編輯軟體可以調整JPEG的壓縮比值,一般壓縮比10左右比較無法分辨出與原先的差別。雖然JPEG檔好用,但因是破壞性壓縮,所以不宜使用已耗損的JPEG影像一再修改壓縮,以免影像的品質會愈來愈差。   

JPEG格式又可分為標準JPEG、漸進式JPEG及JPEG2000三種格式。
1. 標準JPEG格式:此類型圖檔在網頁下載時只能由上而下依序顯示圖片,直到圖片資料全部下載完畢,才能看到全貌。
2. 漸進式JPEG格式:漸進式JPG為標準JPG的改良格式,可以在網頁下載時,先呈現出圖片的粗略外觀後,再慢慢地呈現出完整的內容(就像GIF格式的交錯顯示),而且存成漸進式JPG格式的檔案比存成標準JPG格式的檔案要來得小,所以如果要在網頁上使用圖片,可以多用這種格式。

二.JPEG壓縮的方式

圖片來源: http://zh.wikipedia.org/w/index.php?title=JPEG&variant=zh-tw
Introduction to JPEG and JPEG2000(PDF)

















初審文件撰寫 - Jiayu 01

日期:2008.04.30 Wed.
版本:1
備註:1.尚有一些文句不是很通順,尚有一些圖片未附加,尚有一些細
    節未寫詳細,請先視為草稿做閱讀,之後盡快修改。
   2.2-5的問題與討論暫時先將問題無修飾全盤貼出,討論尚未撰
    寫。
標題:2-1 研究動機ˋ背景及目的
   2-2 論文簡介
     (Detecting Steganographic Content on the Internet)
   2-3 隱藏方法
    2-3-1 JSteg
    2-3-2 JPHide
    2-3-3 OutGuess
   2-4 破解方法
    2-4-1 JSteg Detection
    2-4-2 JPHide Detection
    2-4-3 OutGuess Detection
   2-5 問題與討論

內容:
2-1 研究動機ˋ背景及目的
自古以來秘密通訊在許多事證當中顯示,人們在軍事等方面有它的使用需求在。過去古希臘時代在頭皮上刻機密訊息,藉以毛髮遮避而讓人無從察覺。現今網路資訊發達,網路上頻繁流通的圖片、聲音等媒體也成了新一代秘密通訊的媒介。其中從秘密通訊研究中細分出的一門學問即是隱藏學(steganography)。最初接觸到隱藏學是在二年級的資訊隱藏選修課程中,課程是以圖片做為研究的素材,先針對格式較易為人能理解的GIF圖片格式,以分析bit plane為起始,循序漸進慢慢將秘密訊息嵌入。就在聽過一些有趣的例子與相關課程的學習這樣的背景下,進而激發出我們研究的興趣。而此研究的共通目的不外乎是找出更為人所無法偵測的隱藏方法,亦或是找出隱藏方法的缺失,我們的研究也期望針對目前流通率廣泛的JPEG圖片格式,做過去發表過的方法的研究與自身的發想。

2-2 論文簡介
這篇論文[1]是針對JSteg、JPHide、OutGuess這三個隱藏系統提出一個自動偵測架構,這個自動偵測架構包含從網際網路獲得圖片與偵測有無隱藏訊息兩部分。分析來源是ebay拍賣網站上的兩百萬張圖片與USENET網站上的一百萬張。在提出偵測架構前先簡介這三個隱藏系統的隱藏方法與偵測方式。

2-3 隱藏方法
2-3-1 JSteg
此系統是將欲隱藏的資料嵌入[2]至DCT係數[3],至於挑選哪幾個DCT係數來藏資料,這裡是從圖片的開頭開始連續藏,即將隱藏資料依序嵌入至第一個DCT係數、第二個DCT係數、第三個DCT係數……。

2-3-2 JPHide
此系統會先將欲隱藏的資料加密(在此先以隱藏概念為重,暫不討論如何加密。),再將欲隱藏的資料嵌入至DCT係數。有別於前面所敘述的JSteg,這裡不是從圖片開頭循序挑選DCT係數。挑選方法如下所述:
1. 將幾個DCT係數組成一個class,如此整張圖會有很多class。
2.一個固定的table定義各個class之間的順序。
3.依table裡定義的順序,順序在前的class裡的DCT係數優先被嵌入資料。
4.class裡的DCT未必全部挑選,是依PRNG[4]決定挑選或跳過。

特別注意的是這裡是對所有的DCT係數做處理,不因欲隱藏的資料量少而只針對少部分的DCT係數。

2-3-3 OutGuess
此系統是將欲隱藏的資料嵌入至DCT係數,使用PRNG挑選DCT係數來嵌入欲隱藏的資料。

2-4 破解方法
2-4-1 JSteg Detection
使用x^2-test。

2-4-2 JPHide Detection
使用x^2-test,但在計算x^2-test的機率前需先將DCT係數重置成所定義的順序。x^2-test對於JPHide有兩種例外,一是因為JPHide對DCT係數值為-1、0、1的有特殊處理,所以這三種係數無法被x^2-test所偵測。二是JPHide未必是將欲隱藏的資料嵌入LSB,也有可能是second-LSB[5],此種情況x^2-test也無法偵測。

2-4-3 OutGuess Detection
由於OutGuess是使用PRNG挑選DCT係數,所以使用x^2-test偵測也無法像JSteg一樣機率過高的會集中在圖片開端。進而使用extended x^2-test。而extended x^2-test的方法敘述如下:
1.定義一個固定的樣本數。
2.該樣本數裡的數值偵測完後,移動1%的位置,再重新針對在該樣本數裡的數值做偵測。
3.不是找數值相鄰的一對DCT係數算平均,取而代之的是毫無關係的兩DCT係數算平均。

2-5 問題與討論
以下是本篇論文的相關問題與討論。
1.JSteg在藏東西時沒有使用亂數選擇embed的位置(has no random bit selection?)
2.其中提到了"The Hunting of the Snark"has been bzip2似乎不會被X-test偵測到而JSteg會?
3.JSteg-Shell is a Windows user interface to JSteg意思是有不同於Jsteg的介面來發展?之後又提到了RC4(stream cipher),我的見解是Jsteg-Shell是套裝軟體,而RC4則是讓使用者設定的Key,傳訊者與收訊者擁有Key之類的。
4.論文中它說JSteg所選擇用來隱藏的Bit不是隨機的,而是藏在圖片的一開始,是不是就藏資料的時候都是從圖片的一開始開始藏直到所要藏的資料藏完?
5.有點搞不清楚JSteg 和 Jsteg-Shell 因為它在論文中說它是有關JSteg 在Windows的使用者介面,但它具有加密 還有壓縮,那是不是 JSteg and Jsteg-Shell 是兩個不同的方法?
6.A pseudo random number generator determines if coefficients are skipped. 這句話說隨機的數字產生器決定被忽略的係數?這句話是什麼意思?為什麼係數要被忽略?
7."跳過的機率取決於隱藏資訊的大小與已隱藏的bit數。"不知道為什麼?
8."also switch to a mode where the second-least significant bits are modified."想知道這句話是在說什麼樣的情境。


[1] Detecting Steganographic Content on the Internet, published by Niels Provos and Peter Honeyman.
[2] 舉一個嵌入的例子是:若欲隱藏的資料是1,則將要被嵌入機密訊息的數值的LSB(least-significant-bit)則修改為1。
[3] JPEG邊碼流程中的離散餘弦轉換所產生的係數,這裡所提到的DCT係數是特指已量化過的。
[4] PRNG(pseudo-random-number-generator),隨機亂數產生器。
[5]

2008年4月28日 星期一

初審老師時間表

關於初審的審查老師:

李遠坤
黃世育
趙和昌
徐熊健




必須在5/5~5/9之間送初審文件以及審查表(系辦拿)給上面四位老師

時間はない!
頑張ります!

初審 - 參考文獻部份

稍微列了一些,有遺漏歡迎補齊

參考文獻

專題研究相關文件:

[1] Hide and Seek: An Introduction to Steganography(附件一)

[2] Detecting Steganographic Content on the Internet(附件二)

[3] JPEG規格書(CCITT T.81 - THE INTERATIONAL TELEGRAPH AND TELEPHONE CONSULATATIVE COMMITTEE / TERMINAL EQUIPMENT AND PROTOCOLS FOR TELEMATIC SERVICES / INFORMATION TECHNOLOGY – DEGITAL COMPRESSION AND CODING OF CONTINUOUS – TONE STILL IMAGES – REQUIREMENTS AND GUIDELINES)

[4] IJG(Independent JPEG Group)所提供的Encoder與Decoder


參考網站:

[1] 李遠坤老師的Stego Note:http://leestego.blogspot.com/

[2] 中文維基百科-JPEG條目:http://zh.wikipedia.org/wiki/JPEG

[3] 英文維基百科-JPEG條目:http://en.wikipedia.org/wiki/JPEG

[4] 英文維基百科-隱寫術(Steganography)條目http://en.wikipedia.org/wiki/Steganography

[5] 查詢Header File:http://www.koders.com/

2008年4月27日 星期日

專研初審文件

參考 初審文件範例

我們的文件

不定時更新

1.簡介 - -

2.論文與系統的介紹 - -
2-1研究動機、背景及目的 - -
2-2 論文介紹 - -
2-3隱藏與破解的方法 - -
2-4遭遇的問題及實做心得 - -
2-4-1 遭遇問題 - -
* - -
* - -
* - -
* - -
* - -
2-4-2 實做心得(初審暫時保留) - -
2-4-3 還沒想到(保留) - -

3.JPEG格式介紹 - -
3-1 - -
3-2 - -
3-3 - -
3-4 - -
3-5 - -
3-6 - -
3-7 - -

4.結論 - -

5.參考文獻 - -



關於遭遇問題與心得那邊
打算採用各自寫各自的(這部分需要討論)
找個機會討論一下?

2008年4月12日 星期六

初審文件 - 老師的建議( Meeting 17 )

Chapter 1 簡介
Chapter 2 論文 (閱讀心得與實作(?)問題與討論(?))
Chapter 3 JPEG格式介紹 (比wiki更為詳細的介紹,目標是改編wiki XD!)

----------以上是初審需要具備的內容(建議)----------

Chapter 4 實作
Chapter 5 結論

關於文件

[系辦方面公佈的東西]
1.初審類別內容
2.各組審查老師
3.初審文件範本

關於公佈事項
助教有開一個專用的blog
但因為內容涉及每個人的資料

所以,需要網址跟密碼的人可以跟我問

----
第07週(04/09~04/13)公佈審查老師名單
第12週(05/14~05/18)繳交初審文件給審查老師
第13、14週(05/21~06/01)為初審審查
第16週(06/11~06/15)公佈審查結果

2008年4月11日 星期五

Working - Jiayu 06

時間:2008/02/26-04/08
進度:Independent JPEG Group's JPEG Library
作業:
   ① IJG's library - install.doc page1~3。
   ② 使用BCB執行library裡附的程式碼。

心得:
   本學期截至目前的進度個人覺得有點微不足道,上學期早該實作
   出的卡方攻擊法也因設計問題N度停擺,目前朝讓自己更努力一
   點的方向努力。

2008年4月1日 星期二

Meeting - Jiayu 09

次序:16
時間:2008.04.01
地點:教師休息室

內容: 
   ①小冬研究報告
   ②小強進度報告
    -Linux相關指令研究中。
   ③C/C++語言裡extern的意義與使用方法。 
    extern參考資料
    (由於我還是覺得這個人述說的很清楚,所以再次推薦閱讀。)

   ④BCB的基本檔案:
    1. Project1.bpr
    2. Project1.cpp
    3. Project1.res
    4. Unit1.dfm
      -定義Form的外觀。
    5. Unit1.h
    6. Unit1.cpp

   ⑤程式從編寫至執行過程中的各步驟意義:
    1.前處理器(preprocessor):
     ⒜刪除機器不須觀看的註解。因註解是程式撰寫者撰寫時給
      自己看的註記。
     ⒝引進標頭檔。將標頭檔裡的內容複製到主程式。
    2.編譯器(compiler):
     將原始程式翻譯成機器能識別的機器碼。
    3.連結器(linker):
     程式中使用到的參數會放在記憶體的一塊位置,連結器就是
     告訴程式該參數是在記憶體的哪個位置。
     (這裡只以參數為例,還有其他需連結的東西。)

   ⑥測試讓BCB的Unit1使用其他.c程式裡的函數。
    (待我返校後附上程式。)


工作:①參考今日的測試,再嘗試以BCB引進IJG library裡的jccolor.c
    使用。

2008年3月29日 星期六

最近Compile程式的過程中,常見的問題群

1.Header File -- 關於標頭檔的建立
 赫然發現,當初大一時楊學務長給我們的講義中,有稍微提到...
 也就是CH05的講義,如果目前手邊沒有,到 webhd 95vc,可以找找看

※以下資料來源:C++風格與藝術 /O'REILLY
標頭檔可包含全部的公用資訊,像是:
.註解區段清楚說明各個模組的功能及可提供給使用者的能力。
.公用類別定義
.共用的常數
.公用的結構
.全部公用函式的原形
.對公用變數的extern的宣告

2.前置處理器
 #if
 #else
 #endif
 #ifdef
 #ifndef
 #undef
 #line 
 #pragma

在Debug的過程中,上述文字在諸多header file出現不少次

3.Extern 修飾子 (承1)
 extern  變數/函式是定義在別的檔案中
 <空白> 變數/函式是定義在這個檔案中,並且可用在別的檔案內。
 static  變數/函式在該檔案中是區域變數值(專用)

4.STL--Standard Template Library
 我們在compile的過程中,曾經卡在header file裡面某段程式碼,有著
 template <xxxx>
 {
   code;
 }
 這一系列都是標準模板庫,詳見維基百科 (自行點往中文介面...XD)
 之前學過的Queue跟Stack,其實都是STL的東西,
 而我們所寫的程式大部分都只是模擬,而很少實際用到STL內建的

2008年3月22日 星期六

About JPEG v6b

我在某個地方的討論區看到
「JPEG v6b」也就是我們正在研究的程式...

是在Linux上面執行的程式,
也有人嘗試在windows上跑...

但是討論區的Title就是詢問大家 v6b要怎麼 windows的作業系統上跑 =__=

Orz

這算是閒聊嗎...XD
工作之餘聽點小故事(被毆)

繼續努力吧 ( ̄y▽ ̄)╭

2008年3月21日 星期五

About Problem Solve

關於Include Header File仍然錯誤不斷....的問題
有人提出建議 O_O/

應該是說我有跑去問到人說....

可能是Header File 版本不同的問題

關於這個說詞的來由是 黑皮~
他說他們那組也曾經寫程式include header file後,程式內碼出問題
debug半天都de不了,後來換個版本的header file後(檔名相同),問題就解決了

所以debug如果是code裡面的問題...
我們可能要換個版本的header file來試試看

2008年3月18日 星期二

Meeting 15

※時間:08.03.18
※地點:s207多媒體互動實驗室(Lab)
※人員:全組到齊

報告者:陳佳玉
內容:介紹IJG的環境設定
   1.在UNIX系統下
   2.市面上常用編譯器
   3.其他編譯器
   該如何安裝(實際上沒有提到內容) //這不是為了吐槽 囧

老師建議及問題討論
1.每個人的程式都嘗試使用Borland C++ Builder開啟
2.使用Binary方式讀檔,詳見UltraEdit (或上webhd,輸入分享名稱JPEG)
3.嘗試使用副程式(jccolor.c)撰寫RGB→YCbCr
4.開始閱讀JPEG規格書,建議起始點為Page.34(以UltraEdit作為輔助工具)

Meeting - Jiayu 08

次序:15
時間:2008.03.18
地點:S207

內容:
   ①簡介IJG library的install.doc安裝說明文件page1~3。
   ②報告各自解決程式執行問題的進度。
   ③在BCB上使用IJG library裡的jccolor.c檔實作RGB轉YCbCr功
    能。

工作:①分別釐清.h檔與.c檔在BCB上的使用情況與使用方法。
   ②參閱C++ Builder 6完全攻略一書的第29章,了解如何在BCB
    開發使用DLL/LIB函式庫。
   ③以JPEG規格書第34頁Figure B.2與第32頁Table B.1為起始延
    伸閱讀,搭配使用 UltraEdit 軟體。

2008年3月11日 星期二

Meeting - Jiayu 07

次序:14
時間:2008.03.11
地點:S207

內容: 
   ①研究如何執行各自找到的JPEG en/decoder程式
    1.報告者:小冬
    2.進度:未成功執行,目前是標頭檔引進問題。
    3.相關資訊:
     ⒜程式來源
     ⒝Open Source Code Search Engine - Koders
     ⒞typedef
    4.討論:
     ⒜程式碼來源網頁上的第一點說明「1.Shift the block」,
      是指將YCbCr值做shift。
     
   ②研究如何執行各自找到的JPEG en/decoder程式
    1.報告者:世昭
    2.進度:未成功執行,目前是標頭檔引進問題。
    3.相關資訊:(Searching...)

   ③研究如何執行各自找到的JPEG en/decoder程式
    1.報告者:小強
    2.進度:未成功執行,目前是Batch檔執行問題。

   ④研究如何執行各自找到的JPEG en/decoder程式
    1.報告者:佳玉
    2.進度:未成功執行,目前是Make檔執行問題。


工作:①確認各自找到的程式的編譯器。
   ②繼續解決問題以正常執行程式。
   ③佳玉將install.doc閱讀完。

2008年3月5日 星期三

Meeting - Jiayu 06

次序:13
時間:2008.03.05
地點:研討室

內容:
   ①A Library for JPEG Compression
    1.報告者:佳玉
    2.報告內容:
     ⒜Introduction for IJG
     ⒝Install-Before you start
    3.討論:
     ⒜Library
      -意義:函式庫,針對某一目的撰寫各種需要的程式集結起
       來。
      -目的:有需要者用他們發展研究的Library即可,方便且
       較完善,省去自己重頭寫起的麻煩。
     ⒝Independent
      -不屬於國際標準組織ISO的JPEG標準委員會,所以是獨
       立的。
     ⒞Open Source
      -精神:使用人家的開放原始碼所撰寫出來的程式也必須是
       開放的。
     ⒟text file format
      -不同系統的結尾記號可能有所不同,有的是CR
       (Carriage return),有的是CR/LF(Line feed),為了在
       各系統能正常閱讀,需要做轉換。(ASCII碼參照)
     
   ②
    1.報告者:小強
    2.報告內容:講解程式碼。
    3.討論:
     例:C>type autoexec.bat
       argv[0]="type";
       argv[1]="autoexec.bat";
       argc=2;
     (參94年程式設計課本Ch11-page13)
     ⒜argv:參數陣列。
     ⒝argc:代表有多少個參數。

   ③
    1.報告者:小冬
    2.報告內容:講解程式碼。
    3.討論:
     JPEG Code Assignment
     ⒜SOI*(Start of image):X'FFD8'
     ⒝EOI*(End of image):X'FFD9'
     (參規格書page32)

   ④
    1.報告者:世昭
    2.報告內容:講解程式碼。


工作:①繼續研究如何執行各自找到的程式。
   ②讀規格書的...(請容許我再確認是哪裡b)。

心得:我真的讀得有點太少。

2008年2月26日 星期二

Meeting - Jiayu 05

次序:12
時間:2008.02.26
地點:教師休息室
備註:完整度與分類不盡理想,僅供參考

內容:
   ①評估目前找到的N隻JPEG encoder/decoder的可行性ˋ實用
    性...等。
    -四包程式暫時存放處:網路硬碟分享名JPEG或jpeg。
    -討論將做不同事的程式分開撰寫並以引進標頭檔的方式使用
     的好壞。
    -最後由IJG撰寫的library勝出!!作為往後研究的主要參考。

   ②JPEG header。
    -以檔案總管的檢視縮圖為例。小巧的縮圖檔就是存放在
     header裡。
    -(「8*8block => YCbCr => ░░░░」那段解說,記憶模糊
     Orz)

   ③小冬的憂鬱
    -延伸閱讀EXIF
    -小常識:經過影像軟體編修過儲存的圖片,header裡原本記
         錄的部分資訊不復存在。
     (這裡我尚未確認是哪些資訊不會被影像軟體儲存。)

   ④意義的思考
    ⒜開放原始碼:以別人的開放原始碼為基礎所撰寫出的程式也
     必須是開放的。
    ⒝縮圖:快速預覽用的原始圖片縮小版。
    ⒞component:
     例:灰階圖片有一個component;彩色圖片有三個
       component:RˋGˋB。


工作:研究各自找到的程式,3/04(二)報告。
心得:
   只在日本CM看過的TOSHIBA筆電(是紅色的XD),今日親眼目
   睹,白色看起來也很不錯呢。
   近兩次meeting忘得一乾二淨的地方應該就是我有疑問的地方,
   往後會確實想好問題是什麼並提問。

2008年2月23日 星期六

關於JPEG的一些問題與思維

將Bitmap圖檔使用JPEG個壓縮步驟如下:
RGB -> YCbCr -> DCT -> QDCT -> Zig-Zag -> Huffman -> JPEG

Question:
根據老師的講解以及網路上的資料,目前已知JPEG壓縮技術是
一張未經壓縮(尚未失真)的影像,經過DCT,QDCT,ZigZag,Huffman後
所編成的資料流(stream),就是JPEG影像的資料(已經失真)。
那麼,我們眼睛所見的影像,到底是如何從資料流轉變成影像的?

或許這個問題問起來有點不知所云,但這的確是我苦思不解,
畢竟有些圖檔即使副檔名是.jpg的圖片,看起來就跟.bmp沒啥兩樣。

ANSWER 1 :
關於這件事情,我試圖在網路上尋找資料,還有找人詢問
目前有得到的一個說法是
副檔名是.jpg的意義在於程式在解碼時,需要找到對應的decoder,
 也就是知名的影像軟體,其實是充滿了圖片壓縮的解碼器(?);
 而我們所看到的影像,則是被機器或是軟體decode後的成像,
 也就是解回bitmap那樣,等處理結束才又再度編碼成jpeg儲存。

我覺得這算是我能理解的說辭之一,但不知正確性如何...

2008年2月21日 星期四

Meeting

※時間:2008.02.19 (14:20~15:00)
※地點:教師研究室
※缺席:王世昭

《討論重點與內容》
1.QDCT→JPEG, JPEG→QDCT的編碼與解碼
2.Paper
3.待補上(??)

下次Meeting時間預估2008.02.26 (?)

2008年2月19日 星期二

Meeting - Jiayu 04

次序:11
時間:2008.02.19
地點:教師休息室
備註:此記錄未完整

內容:
   ①嵌入資料的時機。
    - 在整個JPEG邊碼過程中,選擇在量化這個步驟做完後才做
      嵌入資料的動作,而不是量化前。(註:這裡只討論以量化
      為分界,不特別指哪個步驟。)
    - 假設我們整個JPEG邊碼過程中挑選量化前的其中一個步
      驟:DCT,將其DCT係數做嵌入資料的動作:將DCT係數2修
      改為3,接著繼續進行整個JPEG編碼,DCT的下一步驟是
      量化,於是拿這個3做量化:3/2=2(四捨五入。假設的量化
      做法),量化後得到的值是2,但當我們解碼回去時
      2*2=4,卻不是原本的3了,由於量化這個步驟會造成這
      樣的失真效果,所以我們選擇在量化後才嵌入資料。

   ②(一個禮拜過去,我的記憶還是組織不起來的其他事。)

工作:尋找C語言撰寫而成的JPEG encoder/decoder。

2008年1月28日 星期一

Team Discussion

※Date:2008.01.25
※Place:S building @ MCU
※Member:All

※也許還會修改....
※有錯誤或是不明之處~請提出討論~

※主旨:
討論於Facebook介面上實作JPEG Information Hiding的可行性。

[Note:本次討論,Base on 對於"Facebook可提供資源"仍不熟悉的狀況來模擬]
※可行的實際方案有二:
1.使用PHP(facebook所支援的語言)架構一個介面,
 該介面可連線到一台主Server,主Server使用BCB程式處理,
 關於圖片的處理,全部交由Server處理;
 PHP僅處理資料(圖片、Message)傳遞。

2.不使用Server,參照Google ToolBar
 讓使用者下載一應用程式,將資訊處理過後
 透過PHP所架構的介面傳送。

※相關問題與討論,以下針對方案一做討論:
1.圖片→管理者設定 (可以一開始就知道 容量大小,但圖片選擇性低)
    使用者設定 (必須另外判定圖片可藏的資料量)

2.Server→電源(機器該放哪邊?)
     網路(網路的流量可以達到快速不delay嗎?)

 目前facebook提供的空間不明,資源不明。

 且機器設置位置為一大考量,首先必須要找到一位置提供全天候電源服務;
 由於在Information Hiding的過程中,圖片與訊息的傳遞,為一大考量
 倘若要做到即時的服務,恐怕不像(fluff)friend那樣簡單....
 1.國內網路v.s.國外網路
 2.自己所在網域的下載/上傳的速度

想法與心得:
如果要做到方案一 (使用Server的評估)
1.PHP是否能夠做到藉由圖片大小來判斷容量大小

2.承上,倘若PHP辦不到
 a.丟給server判斷(較費時,費工,費資源)
 b.思索一套演算法,藉由圖片大小來計算 "可能" 的容量 (不一定準確)

3.網路的問題,因為facebook目前的使用者以國外為大宗
 但國內連國外網路的速度會很慢..(必須想出改進方案)
 經由圖片的Information Hiding deliver....可能無法達到即時效果

4.機器是有(學校發的那台),但是全天候的網路與電源供應...
 可能較難以達成。

2008年1月26日 星期六

Meeting - Jiayu 03

次序:10
時間:2008.01.22
地點:S棟六樓開放討論場所

內容:
   ①資訊隱藏程式要以什麼樣的方式呈現在Facebook上
    ⒜程式以PHP語言撰寫,放在Facebook上作處理。
      使用者在Facebook上提出要求
      →放在Facebook上的主程式應要求作處理
      →處理完結果顯示在Facebook上。

    ⒝架設一個Server,程式放在Server上處理,而使用者的資訊
     隱藏前的要求與資訊隱藏後的結果放至Facebook顯示。
      使用者在Facebook上提出要求
      →將要求傳至Server→Server上的主程式應要求作處理
      →處理完結果再傳至Facebook上顯示。

心得:
   覺得要以PHP寫影像處理的程式有很多未知數,所以我希望是在
   Server處理。

2008年1月16日 星期三

機器~

是不是應該要討論一下 裡面要灌些什麼啊 (?)
還有使用的法則,稍微互相規定&限制一下~~

雖然說 這一年內讓我們怎樣惡搞的行XD
但是 基於尊重每個人的使用權,
一起來想一個,最低限度(不妨礙他人使用) 的使用規則吧 :)

就像是法律所規定的人身自由(?)
「在不妨礙他人的前提下,每個人擁有一定的自由權限」

2008年1月8日 星期二

Meeting 9

※時間:2008/01/08 15:50~ (?)
※地點:教師休息室
※備註:原本是想問文件的事情,不自覺變成Meeting (?)

※完成進度與評估 (?)
1.文件的討論(Meeting紀錄確認)
2.確定寒假中Meeting的時間
 (老師有空的時間如下:01/23, 01/25 上午)

※問題與討論
1. facebook
2.請前去上述網站申請一帳號,並研究使用,於下次Meeting時做心得報告。
3.思索並研究在該如何在facebook上撰寫應用程式(使用PHP)
 並且將之與BCB做個比較(評估自己在這兩個介面上寫程式的...(?))
4.上述三點請在考試結束後,寒假Meeting前完成(?)

※其他
1.有不清楚說錯的,請洽小冬...\囧/
2.申請好帳號,請在本篇意見中回覆申請時所使用的E-mail

2008年1月5日 星期六

關於Meeting的資料

在這Blog上,跟Meeting有關的blog 一共有八篇
我也整理了一些相關資料

資料

還請大家一起整理,忘記的可以參考我放的資料以及這篇blog上的資料

雖然很想採用認領制度,但我覺得那樣會變的複雜而且麻煩

所以我就先指定了,請估算自己的 「學號順序」
順序 1的整理 1, 2 (小冬)
順序 2的整理 3, 4 (佳玉)
順序 3的整理 5, 6 (世昭)
順序 4的整理 7, 8 (小強)

整理好的資料,請盡量提早傳給我