電子圖章如何加密
隨著計(jì)算機(jī)應(yīng)用的普及,越來越多的單位認(rèn)識到OA(辦公自動化)方便、高效,但是由于OA在使用電子圖章的安全方面的問題,一直得不到很多單位的認(rèn)可。那么,我們今天就來講一下電子圖章如何加密?
一、電子圖章的加密原理
電子圖章加密與其他圖片加密的不同要求是盡可能不改變原有圖形、色彩等,在加密時(shí)不能改變原有數(shù)據(jù)。因此,一些常規(guī)的圖像加密算法不適用于電子圖章加密。
電子圖章圖片一般都是24位,表達(dá)方式為3個(gè)字節(jié),用肉眼觀察無法區(qū)別這個(gè)刻度,因此,加密的思路是改變每個(gè)點(diǎn)對應(yīng)的顏色的值。
例如第1行第1列的顏色值為(255,180,254),那么可以隨意更改其中的1個(gè)或多個(gè)數(shù)據(jù),用1個(gè)數(shù)字來記錄數(shù)字的改動情況,因此整個(gè)圖形的改動情況可以形成一個(gè)隨機(jī)的矩陣。數(shù) 據(jù)中的每個(gè)數(shù)字改動也可以有5種情況:不改動、數(shù)值加1、數(shù)值加2、數(shù)值減1和數(shù)值減2。數(shù)據(jù)的改動也有幾種情況:只改動一個(gè)有3種可能性;改動2個(gè)有3種可能性;都改動是一種可能性。這樣就形成了兩個(gè)特征矩陣來分別記載。
比如:設(shè)定數(shù)字的改動情況:0代表數(shù)字值不改動;1代表數(shù)字值加1;2代表數(shù)字值加2;3代表數(shù)字值減1;4代表數(shù)字值減2。
設(shè)定數(shù)據(jù)改動情況:0代表改動第1個(gè)數(shù)字;1代1表改動第2個(gè)數(shù)字;2代表改動第3個(gè)數(shù)字;3代表不改動第1個(gè)數(shù)字;4代表不改動第2個(gè)數(shù)字;5代表不改動第3個(gè)數(shù)字;6代表全改變。
假設(shè)形成兩個(gè)特征矩陣如下:

式(1)代表數(shù)據(jù)的改動情況,矩陣的第1行第1列的1代表改動的是3個(gè)數(shù)中第2個(gè)數(shù)字。
式(2)代表數(shù)字改動情況,那么矩陣中的第1行第1列的1代表數(shù)字的改動情況是加1。
這樣,兩個(gè)矩陣可以記錄圖像的改動情況。經(jīng)過處理后,電子圖章與原圖章不同,但肉眼看不出來。這樣,重復(fù)特征矩陣的概率P是:

式中:Mh為圖章分辨率行數(shù);Mw為圖章分辨率列數(shù)。如果是20行×20列的24位圖章,由式(3)可以算出重復(fù)的概率為2.36e-618,所以特征矩陣的重復(fù)可能性幾乎沒有。對特征矩陣進(jìn)行處理,形成密匙。形成密匙的方法如下。
式(1)矩陣元素的取值有7種可能性。因此可以使用3個(gè)二進(jìn)制位表示,則整個(gè)矩陣則有3×4×4個(gè)位,按照行和列依次排列即可形成6個(gè)8位字節(jié)。
同理,式(2)矩陣元素的取值有5種可能性,也用3個(gè)位表示,可以形成6個(gè)8位字節(jié)。這樣總計(jì)12個(gè)字節(jié)即是密匙。如果特征矩陣是20行×20列,則形成 3x20x20/8×2個(gè)字節(jié)的密匙。
當(dāng)需要對電子圖章進(jìn)行鑒別時(shí),只需要根據(jù)密匙進(jìn)行解析,獲得特征矩陣,根據(jù)特征矩陣對數(shù)據(jù)進(jìn)行運(yùn)算后與原圖像進(jìn)行對比,若相同則為真正的電子圖章,否則為仿制圖章。
二、電子圖章加密的實(shí)現(xiàn)方法
電子圖章的數(shù)據(jù)文件包含文件頭信息、文件尾信息、閱讀對象編號范圍、原始圖像數(shù)據(jù)部分、生成圖像部分和密匙部分。電子圖章的文件格式是自定義的格式:*.ese,簡單數(shù)據(jù)文件格式如圖所示。
![]()
電子圖章加密是使用Delphi以ActiveX控件的形式實(shí)現(xiàn)。
因?yàn)锳ctiveX控件的形式很容易被其他開發(fā)工具使用。它表現(xiàn)為加密控件和驗(yàn)證控件,主要包括格式轉(zhuǎn)化、數(shù)據(jù)讀寫、生成特征矩陣、生成密匙和校驗(yàn)等部分??丶械闹饕瘮?shù)或過程有:
Gettile Data(Graph Path:AnsiString)//從原始電子圖章中獲取圖像的數(shù)據(jù),存入臨時(shí)文件
Create Secret//生成特征隨機(jī)矩陣,并形成密匙
IsSecret:Boolean//根據(jù)密匙,獲得特征隨機(jī)矩陣,并根據(jù)特征矩陣的值還原數(shù)據(jù),與原數(shù)據(jù)比較,若有一個(gè)數(shù)據(jù)不正確即返回False
GetUserlD:Ansistring//獲得有閱讀權(quán)的用戶編碼
CreateCRC:AnsiString//形成CRC校驗(yàn)碼
IsData://根據(jù)CRC校驗(yàn)碼校驗(yàn)數(shù)據(jù)是否正確
CreateEse//創(chuàng)建Ese格式文件加密控件主要用于管理端。加密控件的功能是對原有的電子圖章進(jìn)行加密,生成加密后的電子圖章和密匙。其流程如圖所示。

解密控件主要用于用戶端。解密控件的主要功能是對管理端發(fā)送過來的文件進(jìn)行解密和校驗(yàn)。如果用戶端有權(quán)閱讀且電子圖章不是偽造則可以正常顯示。其流程如圖所示。

電子圖章可以廣泛應(yīng)用于學(xué)校、政府等機(jī)構(gòu)的oa系統(tǒng),可以替代紙質(zhì)文件,能節(jié)省大量資金,而且更加環(huán)保。同時(shí),我們將電子圖章的文件加密,這樣可以產(chǎn)生一些隨機(jī)數(shù)據(jù),從而防止從文件數(shù)據(jù)上進(jìn)行解密。
小知識之OA:
OA辦公系統(tǒng)即OA,是Office Automation的縮寫,指辦公室自動化或自動化辦公。其實(shí)OA辦公系統(tǒng)是一個(gè)動態(tài)的概念,隨著計(jì)算機(jī)技術(shù)、通信技術(shù)和網(wǎng)絡(luò)技術(shù)的突飛猛進(jìn),關(guān)于OA辦公系統(tǒng)的描述也在不斷充實(shí),至今還沒有人對其下過最權(quán)威、最科學(xué)、最全面、最準(zhǔn)確的定義。當(dāng)今世界是信息爆炸的知識經(jīng)濟(jì)統(tǒng)治的時(shí)代,在這種情況下結(jié)合技術(shù)的各種進(jìn)步所產(chǎn)生的OA辦公系統(tǒng)已與十幾年前的OA發(fā)生了很大的變化。









