随着计算机应用的普及,越来越多的单位认识到OA(办公自动化)方便、高效,但是由于OA在使用电子图章的安全方面的问题,一直得不到很多单位的认可。那么,我们今天就来讲一下电子图章如何加密?

一、电子图章的加密原理

电子图章加密与其他图片加密的不同要求是尽可能不改变原有图形、色彩等,在加密时不能改变原有数据。因此,一些常规的图像加密算法不适用于电子图章加密。

电子图章图片一般都是24位,表达方式为3个字节,用肉眼观察无法区别这个刻度,因此,加密的思路是改变每个点对应的颜色的值。

例如第1行第1列的颜色值为(255,180,254),那么可以随意更改其中的1个或多个数据,用1个数字来记录数字的改动情况,因此整个图形的改动情况可以形成一个随机的矩阵。数 据中的每个数字改动也可以有5种情况:不改动、数值加1、数值加2、数值减1和数值减2。数据的改动也有几种情况:只改动一个有3种可能性;改动2个有3种可能性;都改动是一种可能性。这样就形成了两个特征矩阵来分别记载。

比如:设定数字的改动情况:0代表数字值不改动;1代表数字值加1;2代表数字值加2;3代表数字值减1;4代表数字值减2。

设定数据改动情况:0代表改动第1个数字;1代1表改动第2个数字;2代表改动第3个数字;3代表不改动第1个数字;4代表不改动第2个数字;5代表不改动第3个数字;6代表全改变。

假设形成两个特征矩阵如下:

电子图章如何加密

式(1)代表数据的改动情况,矩阵的第1行第1列的1代表改动的是3个数中第2个数字。

式(2)代表数字改动情况,那么矩阵中的第1行第1列的1代表数字的改动情况是加1。

这样,两个矩阵可以记录图像的改动情况。经过处理后,电子图章与原图章不同,但肉眼看不出来。这样,重复特征矩阵的概率P是:

电子图章如何加密

式中:Mh为图章分辨率行数;Mw为图章分辨率列数。如果是20行×20列的24位图章,由式(3)可以算出重复的概率为2.36e-618,所以特征矩阵的重复可能性几乎没有。对特征矩阵进行处理,形成密匙。形成密匙的方法如下。

式(1)矩阵元素的取值有7种可能性。因此可以使用3个二进制位表示,则整个矩阵则有3×4×4个位,按照行和列依次排列即可形成6个8位字节。

同理,式(2)矩阵元素的取值有5种可能性,也用3个位表示,可以形成6个8位字节。这样总计12个字节即是密匙。如果特征矩阵是20行×20列,则形成 3x20x20/8×2个字节的密匙。

当需要对电子图章进行鉴别时,只需要根据密匙进行解析,获得特征矩阵,根据特征矩阵对数据进行运算后与原图像进行对比,若相同则为真正的电子图章,否则为仿制图章。

二、电子图章加密的实现方法

电子图章的数据文件包含文件头信息、文件尾信息、阅读对象编号范围、原始图像数据部分、生成图像部分和密匙部分。电子图章的文件格式是自定义的格式:*.ese,简单数据文件格式如图所示。

电子图章如何加密

电子图章加密是使用Delphi以ActiveX控件的形式实现。

因为ActiveX控件的形式很容易被其他开发工具使用。它表现为加密控件和验证控件,主要包括格式转化、数据读写、生成特征矩阵、生成密匙和校验等部分。控件中的主要函数或过程有:

Gettile Data(Graph Path:AnsiString)//从原始电子图章中获取图像的数据,存入临时文件

Create Secret//生成特征随机矩阵,并形成密匙

IsSecret:Boolean//根据密匙,获得特征随机矩阵,并根据特征矩阵的值还原数据,与原数据比较,若有一个数据不正确即返回False

GetUserlD:Ansistring//获得有阅读权的用户编码

CreateCRC:AnsiString//形成CRC校验码

IsData://根据CRC校验码校验数据是否正确

CreateEse//创建Ese格式文件加密控件主要用于管理端。加密控件的功能是对原有的电子图章进行加密,生成加密后的电子图章和密匙。其流程如图所示。

电子图章如何加密

解密控件主要用于用户端。解密控件的主要功能是对管理端发送过来的文件进行解密和校验。如果用户端有权阅读且电子图章不是伪造则可以正常显示。其流程如图所示。

电子图章如何加密

电子图章可以广泛应用于学校、政府等机构的oa系统,可以替代纸质文件,能节省大量资金,而且更加环保。同时,我们将电子图章的文件加密,这样可以产生一些随机数据,从而防止从文件数据上进行解密。

小知识之OA:

OA办公系统即OA,是Office Automation的缩写,指办公室自动化或自动化办公。其实OA办公系统是一个动态的概念,随着计算机技术、通信技术和网络技术的突飞猛进,关于OA办公系统的描述也在不断充实,至今还没有人对其下过最权威、最科学、最全面、最准确的定义。当今世界是信息爆炸的知识经济统治的时代,在这种情况下结合技术的各种进步所产生的OA办公系统已与十几年前的OA发生了很大的变化。