:::

[圖資]942網概期中考重點

布丁布丁吃布丁

[圖資]942網概期中考重點

CHAPTER 6

DATA INTEGRITY 資料完整性

6.2 簡易偵錯技術 Parity Checks(同位元偵錯)

  1. even parity 偶同位元
  2. odd parity 奇同位元

分析同位元的偵錯能力

  • burst error 集叢錯誤:多個位元錯誤
  • 偵測出burst error的機率為50%,不足以使用在網路環境
  • Parity Checking是偵錯技術的基礎

總和檢查法

  1. 將資料以32-bits切成部分
  2. 當成10位數
  3. 求其餘數

6.3 CRC偵錯

Cyclic redundancy check(CRC) 循環冗餘檢查法

CRC在送方的處理方法

  1. 在原字串加入除式最高次方個0
    B(X)
  2. B(X) 被除式 / G(X) 除式 → R(X) 餘式
  3. T(X) = B(X) - R(X)
  4. 送出T(X)

CRC在收方的處理方法

  1. 收方收到的是T'(X),有可能不是原本的T(X)
  2. T'(X) / G(X)
    • 整除→正確
    • 不整除→錯誤

多項式的除法:XoR (exclusive OR, 互斥閘)

   11010
/) 11001
---------
   00011
  • 兩數相同→0
  • 兩數相異→1
  • XoR特色:
    T(X) / G(X) = A(X)
    A(X) / G(X) = T(X)

CRC偵錯能力的分析

  • 只要G(X)有兩項以上,即為X+1,便能偵測到所有的錯誤
  • 錯誤發生機率:1 / 2 ^ (r-1),r為G(X)的最高次方
    → G(X)越長,越不容易無法偵錯

6.4 Hamming Codes (漢明碼) 錯誤偵測

位元位置 1 2 3 4 5 6 7 8 9 10 11 12
要傳送的資料 m1 m2 m3 m4 m5 m6 m7 m8        
Hamming code p1 p2 m1 p3 m2 m3 m4 p4 m5 m6 m7 m8
  ↑第一個位元 第12個位元↑
p1偶同位元(6個) 1   3   5   7   9   11  
p2偶同位元(6個)   2 3     6 7     10 11  
p3偶同位元(5個)       4 5 6 7         12
p4偶同位元(5個)               8 9 10 11 12

幫助p記憶的方法:

  • 開頭的位置,都是自己的號碼
  • p1: 1到11的奇數
    p2: 兩兩相合,中間皆間隔兩個位置
    p3: 連續四個,外加12
    p4: 連續四個,外加12,p3 跟p4是一對的

漢明碼中多位元錯誤的更正

  • d:漢明最小距離
  • 錯誤的位元數目小於d/2,即可被偵錯
    → d越大,越容易偵錯
  • 重置影響最小漢明距離,也就是同位元的插入位置

CHAPTER 7

DATA SECURITY 資料隱密性

7.2 加密演算法 Encryption Algorithms

  • encryption: 加密,即重新編碼資料,只有能夠解密的人才能得知資料的內容
  • decryption: 解密
  • plaintext: 原文,未加密的文字
  • ciphertext: 加密文,加密過的文字
  • encryption key: 加密鍵,代碼為k,加密與解密所使用的關鍵資料

各種資料加密的方法

Caesar Cipher 凱薩密碼

  • 用亂碼字母取代特定字元,使人無法直接解讀
  • 缺點:保留了字母的頻率與組合,多看幾次就可以找出其規律

Polyalphabetic Cipher 多字元加密

用多個因素來取代字元:

  1. 字母
  2. 所在位置

Transposition Cipher

  • 橫排直送
  • 破解
    1. 欄位
    2. 送出順序

Bit-Level Ciphering

加密與解密:步驟相同,原理請看XoR的特性
  1. 設定encryption key:即為一串位元
  2. 將資料依照key的長度切割成數個部份字串(substrings)
  3. 每個部份字串都與key做XoR
  4. 組合得到的結果,再進行傳送

→ encryption key長度越長,則越不容易重複,越不容易被破解

資料加密的標準

DES, Data Encryption Standard 資料加密標準

  • 1970年IBM開發,1977年NIST國家安全局採用,1981年ANSI採用
  • 方法: (詳細過程不重要,大概看一下就好)
    1. block cipher: 區塊分割
    2. 64-bit為單位分割
    3. 56-bit key來做bit-level ciphering
  • DES Cracker,可破解DES
  • 實際上IBM開發時是使用128-bit key
  • Triple DES:DES做三次

7.3 加密鍵的傳送與保護

Shamir's Method 夏米爾的方法

  • 將key拆成數個部份各別儲存
  • 要將key的所有部份找齊才能進行加密/解密,十分麻煩

Diffie-Hellman Key Exchange 蒂菲-地獄人(XD)加密鍵交換法

  • 作法
    1. A選擇一個Key,稱為x;B選擇一個Key,稱為y
    2. 雙方協議兩個整數:g與n,並將之公開
    3. A傳送gx給B,B傳送gy給A
    4. A: K = (gy)x mod n,B: K = (gx)y mod n,便可獲得一樣的結果
  • man-in-the-middle attack 居中攻擊法:
    1. 偽裝為A傳送給B,收到gy
    2. 反之,收到gx
    3. 即可得到結果

7.4 Public Key Encryption 公開加密鍵

原理:k != k'

RSA Algorithm

數論:因數分解,模數

加密過程

  1. 字母→數字(如ASCII)
  2. p, q為兩個很大的質數,n = p×q
  3. k公開加密鍵:無法整除(p - 1) × (q - 1)
    → ((p - 1) × (q - 1)) ÷ k ,餘數不等於0
  4. 將原文切割成段落
  5. 以段落為單位,將所有位元串合併,再轉成數值
  6. 將數值的k次方,再模數n,即得加密文

解密過程

  1. 找一個k' (私解密鍵)
    k × (k'-1) mod (p-1)(q-1) = 0
  2. 將加密文(轉為數值)的k'次方,再模數n,即得原文(數字)

加密時需要用到:k (公加密鍵)
解密時需要用到:k (公加密鍵)、k' (私解密鍵)

Digital Signatures 數位簽名

用來驗證網路身份的方法

    公開鍵   私有鍵  
送方 ( k , k' )
收方 ( j , j' )

雙重驗證:送方跟收方都要確認身分

  1. 送方將原文P加密為M
    M = Ej(Dk'(P))
  2. 送方傳送M給收方
  3. 收方解密M為P
    Ek(Dj'(M)) = P

Authentication and Message Digests 確定文件完整性

使用hash 雜湊法H()
y 雜湊值 = H(M) M為文件本身

  • 計算文件的雜湊值H(M)
  • 送出 M + Dk'(H(M))
    H:文件
    k':送方私有鍵
    H(M):雜湊值 y
  • 則收方 Ek(Dk'(H(M))) = H(M)
    如果收方解出來H(M) != H(M'),則知道有誤

單向雜湊函數

  1. 產生固定長度值
    H(M) = V
  2. H(M)要容易計算
  3. 從V不能反計算回M
    即H(M') != V
  4. H(M1) != H(M2)

MD5 現成的hash

  1. 128-bit
  2. 512-bit 分段
  3. 每一步驟經四道加密
  4. 前一段輸出的內容,可當後一段的輸入加密鍵

PGP, Pretty Good Privacy 電子郵件用的加密法

7.5 傳輸層隱密性以及網站的確認

如何確保網站正確安全?

  1. SSL:網址會從http改成https
  2. TLS
  3. X.509 軟體認證機構

7.6 Firewalls 防火牆

只要電腦連上網路,便可能遭受攻擊。防火牆便能防禦這種問題。

Packet Filtering 封包過濾

最簡單的方法:檢查封包頭

兩種限制

  1. 限制IP:管制機器(伺服器、網站)
  2. 限制PORT:管制服務(程式)

限制策略(注意其比較)

  1. Allow:允許
    default Allow, other Block→要注意新的攻擊
  2. Block:阻擋
    default Block, other Allow→要注意需求

IP address spoofing IP位置欺騙

改變IP封包頭的資訊

應用層門閘 Application-level Gateway

檢查所有封包的要求,具彈性,但工作量也大

  1. packet filtering: 只能限制不能使用FTP的port 21
  2. application-level gateway:限制FTP只能上傳,不能下載

狀態檢查 Stateful Inspection

根據封包之前的狀態,檢查現在的封包是否能夠通過。

  1. 如果之前沒有要求的封包,那麼就不該有回應的封包。
  2. 要求封包的來源位置,與回應封包的目的位置不同,那就是錯誤的。

7.7 Viruses 病毒

檔案感染 Infecting Files

  1. 修改執行檔的開頭與結尾
  2. 在執行程式的時候,會先執行到branch (分枝)
  3. 由branch指引到結尾的病毒碼
  4. 病毒碼結束後會再執行到另一個branch
  5. 由branch指引到真正的程式本身

記憶體常駐病毒 Memory-resident Viruses

常駐在記憶體當中,能感染每一個執行的程式。方法是修改中斷向量表:



┌─




└→

 
中斷向量表
 
服務常式
 
記憶體常駐病毒
分枝
 



←┐



─┘

發生中斷→查詢中斷向量表→病毒→服務常式

病毒與防毒程式的演化

偵測病毒的方法:比對特徵

  1. 病毒碼不長
  2. 會在執行檔的開頭與結尾

病毒隱藏特徵:加密 (附帶解密程式)

偵測解密病毒:檢查解密的演算法

  • x-raying 檢查:先嘗試各種演算法看能不能還原出病毒碼

突變病毒 Polymorphic virus:每次加密的方法都不一樣

模擬環境 generic decryption, GD

  • 用電腦模擬作業執行環境→欺騙病毒現形

病毒的來源與散佈

  • 一開始是個人創作
  • 現在靠網路散佈得更快
  • 病毒可以竊取資料,因此變得有商業利益

7.8 威脅與攻擊

  • 蠕蟲 Worm:透過作業系統漏洞進行攻擊
    UNIX中,因C語言的溢位漏洞,透過fingerd來取得管理者權限
  • 字典攻擊法:猜測帳號密碼,高達50%成功率
  • 電腦駭客 Computer Hackers
  • DoS, Denial of Service:拒絕服務攻擊→傳送大量要求以癱瘓系統服務
  • packet sniffer:攔截網路封包,取得封包內的隱密資料
  • spyware:自動且隱密地安裝在電腦上,並傳送使用者的資料到網路上

CHAPTER 8

FLOW CONTROL 流量管制

8.2 號誌 Signaling

  1. 收方與送方
  2. 收方傳送號誌,告訴送方可以傳送資料了
  3. 收方傳送號誌,告訴送方停止傳送資料
    (因有傳送時間,所以要在Buffer填滿出來的之前送出,此界限稱之為臨界值 threshold )

DTE-DCE 流量控制,硬體控制

用特別的兩條線路來傳送訊號

X-ON/X-OFF,軟體控制

將控制訊號夾雜在資料裡面

ASCII為此訊號作定義

  • DC3:X-OFF
  • DC1:X-ON

可使用X-ON/X-OFF做螢幕鎖定

(more...)

[日記]談Timemark Editor

布丁布丁吃布丁

[日記]談Timemark Editor

我做OPED的字幕,用來抓時間軸的方式,便是使用這種Timemark。

原本的程式是出自於Winamp上的一個外掛:Gucchi's Lyrics Plug-In Version1.12。裝上這個外掛,播放Winamp時便可以開啟一個Karaoke Viewer,將自己加上時間標籤之後的歌詞載入之後,便能從那個視窗當中看到有如卡拉ok般的字幕。這種字幕與影片分開的作法,還是沒辦法解決製作字幕的需求,不過他優秀的時間標籤編輯能力,被卡拉小站拿來當作是製作SSA的時間軸編輯工具,而我透過卡拉小站的教學,這個方法也就這樣傳承下來了。

我另一個將Timemark轉換成SSA檔案的程式,目前已經開發到第三版(版本完全沒意義啊XD)。如果將TM editor加入的話,一定可以成為更完善的字幕編輯程式。現在是缺少構思版面的靈感啊......

話說回來,這個程式得歸功於siroma,靈感就是從她那邊來的。這個程式從週五晚上開始撰寫,首先完成影片部分的控制(主要是開啟影片的功能),再來嘗試在textarea標籤裏面直接加入tm,不過這部份我失敗了,不管是IE專用的createTextRange()或是WYSIWYG的作法我都無法模倣。週六晚上與siroma討論之後,決定使用input的text標籤來模擬textarea的效果。雖然這種方法做為編輯器不盡完善,但是資料卻相當地好控制。另外也以innerHTML的方式靈活調整TM Editor的編輯行數欄位,而不至於像TTS那樣受到行數的限制。撰寫時也降低了「格式與內容分開」的原則,這次將各段功能拆開,而顯示的格式直接寫入功能當中,這樣將造成許多多餘的程式碼,但在維護上絕對是比較有利的,尤其是受限於「只寫一個HTML程式」的條件之下。

這個TM Editor只能在Internet Explorer裡面發揮功用。這是因為Firefox等Mozilla系的瀏覽器引擎對event.keyCode按鍵偵測的功能缺少支援,所以暫時無法提供Firefox使用。聽說W3C也在擬定keyCode更高等級的標準化,期待那天的到來。

題外話,Timemark實際上應該是Time Tag(タイムタグ),不過當初在用的時候不知道哪裡少根筋,就變成這種奇怪的專有名詞了。這個錯誤就在整個完整版完成之後再來修改吧XD。


就在不久以前的對話:

P: TM editor寫完了,我們是不是還決定做哪些功能啊?

S: 你是說字幕檔的預覽功能嗎?

P: 對對,不過要怎麼做呢?

S: javascript的setTimeout()或許是個不錯的方法喔。

P: ......我開始覺得我期中考完全不會想唸書了orz

(more...)

[作品]Timemark Editor (BETA)

布丁布丁吃布丁

[作品]Timemark Editor (BETA)

歌詞編輯模式 時間標籤編輯模式
  • ctrl-m: 切換歌詞編輯模式與時間標籤編輯模式

相關說明,請看[日記]談Timemark Editor

(more...)

[圖資]資料庫檢索 小組作業:中央社剪報資料庫簡介

布丁布丁吃布丁

[圖資]資料庫檢索 小組作業:中央社剪報資料庫簡介

中央社剪報資料庫的內容包羅萬象且檢索功能強大並具有人性化與專業的特點,不論是 一般人或是專業人士皆可使用,服務的人群層面相當廣泛,而對於我們圖資系的學生來說, 中央社剪報資料庫更是我們在課業以及相關研究領域中所不可或缺的一個重要的中文電子資 料庫,因此我們覺得實在有必要為此資料庫做一個完整的報告與介紹,以讓我們在不論是在使 用此資料庫上或是提供他人教學時能更加熟棯此資料庫的內容、檢索功能及特性。

這個作業是為資料庫檢索課程而製作,於2006年4月11日完成(九十四學年度第二學期)。

報告封面下載

報告內容下載

(more...)

[日記]自畫像

布丁布丁吃布丁

[日記]自畫像

右邊導覽列的布丁自畫像(?),有人有發現到嗎?這個自畫像好像是從高中時候開始,跟siroma討論出來的結果,很能符合我平常腦袋裏面的狀況。「悠閒」嘛,就一附悠閒的臉吧。

悠閒的布丁色

話說回來,這個自畫像是用幾個符號完成的:兩個○(臉的輪廓)、兩組ˊˋ(眼睛與嘴巴),一個一(嘴巴),再用PhotoImpact拉來拉去完成的。沒有繪圖板,光靠滑鼠很難做出手繪的感覺,所以只好用文字來替代那單純的線條囉。

另外,這個圖像也是參考ねこねこソフト中流行已久的フリー素材的格式,就如右邊這個可愛的雪希(出自みずいろ)這樣。我不知道這種格式是從何流行起的,但在以前有段時間的確有不少人製作出相同格式的人物繪。因為十分可愛,形狀又剛好,很多人拿來作為MSN Messenger的圖像。不過,我早已經習慣不使用圖像的MSN,所以也就沒放了。


  • ねこねこソフト:專門製作戀愛遊戲的日本公司,在最後一款遊戲スカーレット(深紅)推出之後即將解散。
  • MSN Messenger:在台灣十分熱門的即時通訊程式,是微軟的主打產品,所以在微軟的Smart Phone(智慧型手機)也常常可以看到這個程式。
(more...)

[評論]Free Host, Share Webspace

布丁布丁吃布丁

[評論]Free Host, Share Webspace

網路空間難求?這是什麼時代的抱怨啦?現在的網路空間可是好找的很:如果你要擺文字,免費的Blog(就像我現在在用的Blogger);要擺圖片,免費的相簿;影片呢,有Google Video;總之,現在有什麼要擺的,哪裡找不到空間啊。不過,你還是會有那種超大檔案要找個空間擺,這種大檔案又可能會因為不合法,所以不能擺在學校空間裡面,而且你可能只想要短時間發佈,過段時間後就自爆。光是超大檔案這點,上述幾個地方就都擺不了了。相簿、Google Video的還會修改你原本的檔案,增加不少供人下載麻煩。

這邊來介紹這種網路空間,spread-it.com。免會員、單一檔案最高500MB、14天後自動刪除。進入網頁之後,他會要求你選擇上傳的檔案、輸入密碼、檔案敘述、你的電子信箱位置,然後就可以進行上傳動作了。上傳完成之後,他會給你一個下載網址,你的信箱也會收到下載網址及刪除檔案的網址。接著你可以把這個下載網址給別人,讓人輕鬆下載。他的伺服器空間是屬於可執行的權限,所以你也可以把網頁、音樂檔等等檔案直接連結,十分好用。

上傳介面

上傳完成之後會顯示下載網址

下載網址顯示的廣告網頁,按下Download便可下載

電子信箱中也會收到一份下載網址與刪除網址的備份

當然,你可能會疑惑,他提供讓人使用免費的網路空間,他到底怎麼獲利?不過你也可能從上圖中看到端倪了,在下載的網頁裡,有著許多他們的廣告:這意味著,只要有人要下載這個檔案,就一定會看到他們的廣告。就這點來說,這家公司不太及格(笑)。有其他類似許多網站,他們下載介面廣告一堆,讓使用者很難直覺地去找到下載的位置。還有的會強迫你看他們的廣告30秒,然後才會給你真正的下載網址。也有那種轉了好幾個網頁,等了好久的讀取時間,才找到真正的下載位置。甚至有的會修改你上傳的檔案內容,直接把他們的廣告附在裡面。我挑了好幾個網站,終於找到這個雖然不合格,但是下載畫面十分乾淨,也非常好用的網站。

大空間搭配學校網路快速的傳輸速度,要傳什麼違法檔案就全都不怕了,貼圖區全部這樣玩就好了。順帶一提,如果你是合法的檔案,最好是自己做的東西,你還有Creative Common這個好地方喔。


  • spread-it.com
  • 0rz.net:縮短網址
  • Creative Common:供人免費使用的授權條款,你可以擺在你自己的作品上讓你看起來專業得像個創作者
  • Internet Archive:什麼都可以擺,空間、流量、天數都沒有限制,但是要留下你的聯絡方式。基本上是擺合法的東西啦。
(more...)

[日記]筆記型電腦的桌布

布丁布丁吃布丁

[日記]筆記型電腦的桌布

因為自己的筆記型電腦是寬螢幕16:10,解析度為1280*768,所以在找桌布這點是比較麻煩的。又,自己常常在筆記型電腦螢幕(16:10)與普通螢幕(4:3)之間切換觀看,所以又得找一個在哪一種狀態下都可以接受的圖畫,最好是桌布重點接近中心這樣。但是找了幾個常去的貼圖區,還是找不到寬螢幕適用的桌布,看來只好自己動手做了。


作法大致上有兩種:

一、自製加寬圖片

東方系列當中的兩位兔耳角色:東方永夜抄初等場的鈴仙・優曇華院・イナバ與東方花映塚豋場的幸運兔因幡 てゐ。本來這張是個800*600的標準4:3桌布,挑選這張的理由是想要找一個治癒系的柔和色調,白色應該也很搭配這個白色外殼的筆電,而且以單純色系為背景也較容易做出加寬型的桌布。

其實看到圖片應該就知道了吧,左邊那塊空白是我之後加入的。做法是先將桌布拉大至1024*768(跟我的螢幕等高),然後左方加入約300寬度的白色方塊,方塊右方與桌布接合的地方再淡化模糊,看起來比較自然。

因為本來的桌布是以筆作畫,稍微拉大所造成的馬賽克現象便不會很明顯。不過後來覺得深色系說不定會比較合適,所以就換了個桌布了。


二、上下剪裁

這張圖原本是1024*768的桌布,我將他拉大到1280*1024的大小之後,再取出1280*768的圖片為現在這張圖。這張圖是很細緻的,仔細觀察的話,會發現邊緣的地方會有因為拉大而模糊的現象,雖然在10.6吋小螢幕當中比較不會去這樣看就是了。

總之,這張便是我現在的桌布,顯示桌面就可以看到夜櫻,有種悠閒的感覺。上次社團教學的時候還被學弟質疑是不是我刻意去換桌布,難道我真的像是桌面一定會擺著人形美少女的那種人嗎?

(more...)