專利名稱:一種生成基于數(shù)字水印的安全字庫的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息安全技術(shù)領(lǐng)域,具體涉及一種生成基于數(shù)字水印的安全字庫的方 法及系統(tǒng)。
背景技術(shù):
字庫是計算機(jī)操作系統(tǒng)的一個重要組成部分,字庫中存儲了每個文字字形的集 合,其定義了文字輸出的形狀、最大分辨率等等。在進(jìn)行計算機(jī)文字輸出時,先根據(jù)文字的 機(jī)內(nèi)編碼,經(jīng)計算索引后從字庫中找到字形,然后通過輸出設(shè)備進(jìn)行輸出尺寸、分辨率的定 義,最終把字體輸出顯示到媒體上。目前,常用的字庫從字形描述技術(shù)上可以分為點陣字庫和矢 量字庫兩種。點陣字 庫的原理是對每一個字建立一定的矩形區(qū)域,將這個區(qū)域劃分成mXn個等距離小方格,每 個小方格只存儲一種信息(非黑即白),通過這些小方格來近似地描述文字的軌跡,點陣字 庫文字最大的缺點是不能放大,一旦放大后就會發(fā)現(xiàn)文字邊緣的鋸齒。矢量字庫不是用點 陣信息來描述文字的筆劃,而是將文字的筆劃邊緣用直線段描述成封閉的曲線,并將各端 點的坐標(biāo)經(jīng)壓縮存儲,是以圖形信息建庫的。由于每個文字的筆劃不一樣,所以每個文字在 庫中所占長度是不相同的。這樣,矢量字庫不能像點陣字庫那樣定位,只能采用索引的方 法,矢量字的好處是字體可以無級縮放而不會產(chǎn)生變形。根據(jù)文檔顯示的需要,在計算機(jī)操作系統(tǒng)中往往包含著許多種字庫,除了可以從 大的方面劃分為點陣字庫和矢量字庫外,根據(jù)字體的風(fēng)格形狀特點,還可以具體劃分為宋 體、仿宋體、楷體、Times New Roman等多種字庫。對于任一種具體的字庫,其對所有用戶都 是通用的,字庫的內(nèi)容都只包含純粹為字體顯示所需要的內(nèi)容,沒有任何附加的內(nèi)容,也就 不存在隱藏信息的內(nèi)容,這就使得文檔的安全不能得到保障。
發(fā)明內(nèi)容
本發(fā)明的一個目的是針對目前計算機(jī)字庫中不存在隱藏信息的情況,出于特殊情 況下對于文檔安全保護(hù)的需要,提出一種生成基于數(shù)字水印的安全字庫的方法。一種生成基于數(shù)字水印的安全字庫的方法,所述安全字庫用于創(chuàng)建專屬于用戶的 用戶文檔,包括以下步驟步驟Sl 根據(jù)創(chuàng)建文檔的需求,從原始字庫集合中確定需要嵌入數(shù)字水印的子字 庫;步驟S2 基于認(rèn)證信息形成水印信息;步驟S3 基于所述子字庫、水印信息以及密鑰,利用水印生成算法生成數(shù)字水?。徊襟ES4 利用水印嵌入算法將所述數(shù)字水印嵌入到所述子字庫中,生成包含有數(shù) 字水印的安全字庫。優(yōu)選地,所述原始字庫集合包括點陣字庫和/或者矢量字庫;每類字庫包括至少 一種英文字體字庫和/或者至少一種中文字體字庫。
優(yōu)選地,所述認(rèn)證信息包括表征用戶身份的信息,所述表征用戶身份的信息包括 用戶姓名、用戶ID號、電子郵箱中的至少一種信息。優(yōu)選地,在步驟S4生成所述安全字庫后,還包括如下步驟步驟S5 利用水印檢測算法判斷所述安全字庫中是否含有數(shù)字水??;如果存在, 則轉(zhuǎn)步驟S6 ;如果不存在,則轉(zhuǎn)步驟S8 ;步驟S6 利用水印提取算法從所述安全字庫中提取數(shù)字水印,判斷數(shù)字水印是否 正確,如果正確,則轉(zhuǎn)步驟S7 ;如果不正確,則轉(zhuǎn)步驟S8 ;步驟S7 確認(rèn)安全字庫已經(jīng)成功生成,存儲所述安全字庫;步驟S8 確認(rèn)安全字庫生成失敗。優(yōu)選地,所述步驟S8中,在確認(rèn)安全字庫生成失敗后由用戶選擇是否轉(zhuǎn)入步驟Sl 重新生成安全字庫。本發(fā)明的另一個目的是提供一種能夠?qū)崿F(xiàn)上述方法的系統(tǒng)。本發(fā)明所采用的技術(shù)方案為一種生成基于數(shù)字水印的安全字庫的系統(tǒng),包括原 始字庫選擇模塊、數(shù)字水印生成模塊、安全字庫生成模塊和安全字庫存儲模塊;所述原始字庫選擇模塊,用于展示可以用來生成安全字庫的原始字庫集合,并從 所述原始字庫集合中選出作為生成安全字庫基礎(chǔ)的子字庫;所述數(shù)字水印生成模塊,接收所述原始字庫選擇模塊輸出的子字庫,以及密鑰和 基于認(rèn)證信息形成的水印信息;所述數(shù)字水印生成模塊基于所述子字庫、水印信息以及密 鑰,利用水印生成算法生成數(shù)字水印;所述安全字庫生成模塊,接收原始字庫選擇模塊輸出的子字庫,以及數(shù)字水印生 成模塊輸出的數(shù)字水印;所述安全字庫生成模塊利用水印嵌入算法將數(shù)字水印嵌入到子字 庫中,生成含有數(shù)字水印的安全字庫;所述安全字庫存儲模塊,用于存儲所述安全字庫。本發(fā)明的有益效果為本發(fā)明所述生成方法將表征認(rèn)證信息的水印信息生成數(shù)字 水印,并將數(shù)字水印嵌入到操作系統(tǒng)的子字庫中生成安全字庫,這樣,可以讓用戶使用自己 獨特的字庫進(jìn)行文字的輸入,從而生成自己獨特的文檔。這些文檔從表面上看與利用原始 字庫形成的文檔并無差異,但實際上這些文檔中嵌入了包含用戶特定信息的數(shù)字水印,并 可以被提取出來,從而保護(hù)了文檔被非法的復(fù)制。
圖1為本發(fā)明所述生成基于數(shù)字水印的安全字庫的系統(tǒng)的結(jié)構(gòu)示意圖;圖2為通過圖1所示系統(tǒng)實現(xiàn)本發(fā)明所述生成基于數(shù)字水印的安全字庫的方法的 流程圖。
具體實施例方式本發(fā)明所述生成基于數(shù)字水印的安全字庫的框架可以描述為一個七元組(I0, K, Inf, W,G,E,D),其中,I0為從原始字庫集合中選擇的要被嵌入數(shù)字水印的一個或者多個子 字庫;K為密鑰的集合;Inf為待嵌入的代表認(rèn)證信息的水印信息;W為實際嵌入的數(shù)字水 ??;G為用密鑰和待嵌入的水印信息以及子字庫共同生成數(shù)字水印W的水印生成算法W =G(I0, Inf,K) ;E為將數(shù)字水印W嵌入子字庫Itl中的水印嵌入算法,即Iw = E(I0, W),其中,Iw為嵌入數(shù)字水印后得到的安全字庫;D為水印檢測算法和水印提取算法,其中提取是指從 安全字庫Iw中提取和恢復(fù)數(shù)字水印或者水印信息的過程,檢測是指判斷所給的安全字庫中 是否包含特定數(shù)字水印的過程。本發(fā)明所述的生成基于數(shù)字水印的安全字庫的方法主要包括如下步驟(a)根據(jù)應(yīng)用需求,確定待嵌入水印的子字庫Ici ;(b)基于認(rèn)證信息形成水印信息Inf ;(c)基于子字庫Itl,水印信息Inf,以及密鑰K,利用水印生成算法G生成數(shù)字水印 W ;(d)利用水印嵌入算法E將數(shù)字水印W嵌入到子字庫Itl中,生成包含有數(shù)字水印 W的安全字庫1 。所述原始字庫集合可以包括點陣字庫和矢量字庫,對于每一類字庫,應(yīng)當(dāng)包括 TimsNew Roman、Arial, Garamond等英文字體字庫,以及宋體、楷體、黑體等中文字體字庫。 所述子字庫Itl即為從上述原始字庫集合中選擇出的需要生成安全字庫的一個或者多個字 庫,如選擇宋體中文字體字庫和Tims New Roman英文字體字庫作為生成基礎(chǔ),據(jù)此,所述安 全字庫相應(yīng)為嵌有數(shù)字水印的宋體中文字體字庫和Tims New Roman英文字體字庫。所述的用于形成水印信息Inf的認(rèn)證信息可以為任何能夠標(biāo)識文檔屬性的信息, 如可以為與用戶身份相關(guān)的信息或者與具體應(yīng)用密切相關(guān)的信息,其中,與用戶身份相關(guān) 的信息可以為用戶姓名、用戶ID號、電子郵箱等能表征用戶身份的文本信息,與具體應(yīng)用 密切相關(guān)的信息可以為版權(quán)信息、保密信息等。數(shù)字水印W的生成過程就是在密鑰K的控 制下由水印信息Inf生成適合于嵌入到子字庫Itl中的數(shù)字水印W的過程。本發(fā)明所述的水印生成算法G應(yīng)保證水印的唯一性、有效性和安全性,所述水印 生成算法G可以包括任何現(xiàn)有的生成技術(shù),如偽隨機(jī)水印生成、擴(kuò)頻水印生成、混沌水印生 成、糾錯編碼水印生成、基于變換的水印生成、基于分解的水印生成、自適應(yīng)水印生成等多 種生成算法。本發(fā)明所述的水印嵌入算法E可以包括任何現(xiàn)有的嵌入算法,如水印嵌入算法E 包括時/空間域數(shù)字水印嵌入算法、變換域數(shù)字水印嵌入算法和壓縮域數(shù)字水印嵌入算法等。本發(fā)明還包括一種生成基于數(shù)字水印的安全字庫的系統(tǒng),包括如圖1所示的四個 組成部分,分別為原始字庫選擇模塊11,數(shù)字水印生成模塊12,安全字庫生成模塊13和安 全字庫存儲模塊14,其中,每一個模塊都可以是在計算機(jī)系統(tǒng)上設(shè)置的一個軟件模塊。所述原始字庫選擇模塊11能夠展示出所有的原始字庫集合,如以列表或者平鋪 形式進(jìn)行顯示,并從原始字庫集合中選擇待生成安全字庫的子字庫所述數(shù)字水印生成模塊12接收原始字庫選擇模塊11輸出的子字庫Itl,以及與認(rèn) 證信息和密鑰,利用水印生成算法G生成數(shù)字水印W。所述安全字庫生成模塊13接收原始字庫選擇模塊η輸出的子字庫Ici,以及數(shù)字 水印生成模塊12輸出的數(shù)字水印W,利用水印嵌入算法E將數(shù)字水印W嵌入到子字庫Itl, 生成含有數(shù)字水印W的安全字庫Iw。所述安全字庫存儲模塊14用于存儲安全字庫生成模塊13輸出的安全字庫Iw,并可以提供后續(xù)的安全字庫瀏覽顯示,以及安全字庫的加載與卸載等功能。圖2結(jié)合上述生成系統(tǒng)的配置結(jié)構(gòu)說明本發(fā)明所述生成基于數(shù)字水印的安全字 庫的方法,該方法包括以下步驟步驟Sl 原始字庫選擇模塊11瀏覽系統(tǒng)中可以用來生成安全字庫的原始字庫集 合,并從中選擇待生成安裝字庫的子字庫;步驟S2 用戶通過數(shù)字水印生成模塊12輸入認(rèn)證信息,并形成水印信息;步驟S3 數(shù)字水印生成模塊12基于水印信息、子字庫以及密鑰,利用水印生成算 法生成數(shù)字水??;步驟S4 安全字庫生成模塊13利用水印嵌入算法將數(shù)字水印嵌入到子字庫中,生 成安全字庫;步驟S5 安全字庫存儲模塊14接收到安全字庫生成模塊13 輸出的安全字庫后, 利用水印檢測算法檢測字庫中是否存在數(shù)字水印,如果存在,則轉(zhuǎn)步驟S6 ;如果不存在,則 轉(zhuǎn)步驟S8 ;步驟S6 安全字庫存儲模塊14利用水印提取算法從安全字庫中提取數(shù)字水印,判 斷數(shù)字水印是否正確,如果正確,則轉(zhuǎn)步驟S7 ;如果不正確,則轉(zhuǎn)步驟S8 ;步驟S7 安全字庫存儲模塊14確認(rèn)安全字庫已經(jīng)成功生成后存儲所述安全字庫。步驟S8 安全字庫存儲模塊14確認(rèn)安全字庫生成失敗,則給出失敗報告,由用戶 決定是否繼續(xù)生成安全字庫,如果是,則轉(zhuǎn)入步驟Si ;如果否,則生成程序結(jié)束。使用所述安全字庫生成自己獨特的文檔的主要步驟如下(a)用戶選擇某一種身份驗證方法,確認(rèn)與其身份所對應(yīng)的安全字庫,其中,所述 身份驗證方法可以包括用戶口令、USB Key等身份驗證方式;(b)用戶選擇某一種輸入方法進(jìn)行文字輸入,解釋程序?qū)⒔忉層脩舻妮斎?,并找?各文字在安全字庫中所對應(yīng)的位置,提取該字的字形等內(nèi)容輸出到顯示設(shè)備上,其中,所述 輸入方法包括英文、數(shù)字、中文拼音等常用中英文輸入方法。用戶通過安全字庫生成的文檔信息可以進(jìn)行打印,由于該文檔所用的安全字庫是 與用戶相關(guān)聯(lián)的,所以打印出的文檔也是與用戶相關(guān)聯(lián)的文檔。驗證所建立的安全字庫是否為專屬于用戶的字庫的主要步驟如下(a)基于密鑰、子字庫和安全字庫,利用水印檢測算法判斷出待檢測安全字庫中是 否含有數(shù)字水??;(b)利用水印提取算法提取數(shù)字水印,并根據(jù)數(shù)字水印所包含的水印信息進(jìn)一步 確認(rèn)該安全字庫是否為專屬于該用戶的字庫。以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護(hù)范圍并不局限于此, 任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換, 都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍 為準(zhǔn)。
權(quán)利要求
一種生成基于數(shù)字水印的安全字庫的方法,所述安全字庫用于創(chuàng)建專屬于用戶的用戶文檔,其特征在于,包括以下步驟步驟S1根據(jù)創(chuàng)建文檔的需求,從原始字庫集合中確定需要嵌入數(shù)字水印的子字庫;步驟S2基于認(rèn)證信息形成水印信息;步驟S3基于所述子字庫、水印信息以及密鑰,利用水印生成算法生成數(shù)字水??;步驟S4利用水印嵌入算法將所述數(shù)字水印嵌入到所述子字庫中,生成包含有數(shù)字水印的安全字庫。
2.根據(jù)權(quán)利要求1所述的生成基于數(shù)字水印的安全字庫的方法,其特征在于,所述原 始字庫集合包括點陣字庫和/或者矢量字庫;每類字庫包括至少一種英文字體字庫和/或 者至少一種中文字體字庫。
3.根據(jù)權(quán)利要求1所述的生成基于數(shù)字水印的安全字庫的方法,其特征在于,所述認(rèn) 證信息包括表征用戶身份的信息,所述表征用戶身份的信息包括用戶姓名、用戶ID號、電 子郵箱中的至少一種信息。
4.根據(jù)權(quán)利要求1、2或3所述的生成基于數(shù)字水印的安全字庫的方法,其特征在于,在 步驟S4生成所述安全字庫后,還包括如下步驟步驟S5 利用水印檢測算法判斷所述安全字庫中是否含有數(shù)字水??;如果存在,則轉(zhuǎn) 步驟S6 ;如果不存在,則轉(zhuǎn)步驟S8 ;步驟S6:利用水印提取算法從所述安全字庫中提取數(shù)字水印,判斷數(shù)字水印是否正 確,如果正確,則轉(zhuǎn)步驟S7 ;如果不正確,則轉(zhuǎn)步驟S8 ;步驟S7 確認(rèn)安全字庫已經(jīng)成功生成,存儲所述安全字庫; 步驟S8 確認(rèn)安全字庫生成失敗。
5.根據(jù)權(quán)利要求4所述的生成基于數(shù)字水印的安全字庫的方法,其特征在于,所述步 驟S8中,在確認(rèn)安全字庫生成失敗后由用戶選擇是否轉(zhuǎn)入步驟S1重新生成安全字庫。
6.一種生成基于數(shù)字水印的安全字庫的系統(tǒng),其特征在于,包括原始字庫選擇模塊、數(shù) 字水印生成模塊、安全字庫生成模塊和安全字庫存儲模塊;所述原始字庫選擇模塊,用于展示可以用來生成安全字庫的原始字庫集合,并從所述 原始字庫集合中選出作為生成安全字庫基礎(chǔ)的子字庫;所述數(shù)字水印生成模塊,接收所述原始字庫選擇模塊輸出的子字庫,以及密鑰和基于 認(rèn)證信息形成的水印信息;所述數(shù)字水印生成模塊基于子字庫、水印信息以及密鑰,利用水 印生成算法生成數(shù)字水??;所述安全字庫生成模塊,接收原始字庫選擇模塊輸出的子字庫,以及數(shù)字水印生成模 塊輸出的數(shù)字水??;所述安全字庫生成模塊利用水印嵌入算法將數(shù)字水印嵌入到子字庫 中,生成含有數(shù)字水印的安全字庫;所述安全字庫存儲模塊,用于存儲所述安全字庫。
全文摘要
本發(fā)明公開了一種生成基于數(shù)字水印的安全字庫的方法及系統(tǒng),所述安全字庫用于創(chuàng)建專屬于用戶的用戶文檔,其特征在于,包括以下步驟步驟S1根據(jù)創(chuàng)建文檔的需求,從原始字庫集合中確定需要嵌入數(shù)字水印的子字庫;步驟S2基于認(rèn)證信息形成水印信息;步驟S3基于所述子字庫、水印信息以及密鑰,利用水印生成算法生成數(shù)字水??;步驟S4利用水印嵌入算法將所述數(shù)字水印嵌入到所述子字庫中,生成包含有數(shù)字水印的安全字庫。用戶可以使用獨特的安全字庫進(jìn)行文字的輸入,從而生成自己獨特的文檔。這些文檔中嵌入了包含用戶特定信息的水印信號,并可以被提取出來,從而保護(hù)了文檔被非法的復(fù)制。
文檔編號G06T1/00GK101833747SQ201010167160
公開日2010年9月15日 申請日期2010年5月10日 優(yōu)先權(quán)日2010年5月10日
發(fā)明者劉喜雨, 劉智, 戚建淮, 曾廣良, 李佳, 王明文 申請人:深圳市永達(dá)電子股份有限公司