专利名称:数据加密、解密方法及装置的制作方法
技术领域:
本发明涉及数据加密和解密方法及装置,其中,数据的加密和解密用数据属性匹配来集成,并在数据加密中经过动态选择机制交替使用不同加密算法模块组合,以达到对数据提供足够的安全性保护并兼顾处理速度。
背景技术:
随着互联网的盛行,现在的企业都使用互联网来连接各地的分公司。为了保护企业在网路上传递的机密数据不被骇客窃取和篡改,都是以加密算法配合密钥(key)把数据进行加密的处理,使骇客无法知道数据的内容,以保护数据在网路上能安全的传递。并且利用杂凑函数(Hash function)进行数据的验证,确保数据不会遭到篡改。到现在已经有多家厂商的产品如思科(CISCO)公司的路由器,利用RFC2401的″互联网通讯安全协定″的技术来保护数据能在网路上安全传递。
加密算法是把数据转换成人类看不懂的形式,收到数据的人必须把数据解密的后才能知道数据本身的意义。经过加密的数据就算是在传输过程中被拦截,如果不知道如何解密,收到的数据如同垃圾一样。常见的加密算法有DES、RSA、3DES、FEAL、IDEA等等。
验证算法是把数据转换成固定长度的数值,而且无法从这个数值经由逆运算求得原来的数据。验证算法主要是用来确认通讯双方的身份及检验数据本身的完整性。例如把数据本身传给杂凑算法处理,可以得到一组校验和,然後连同数据一起传送出去,接收方可以利用校验和检查数据本身是否遭到窜改。常见的验证算法有N-HASH、MD5、SHA1等等。
数据分组是一种数据形式。在网路上传送或接收的数据都会被转换成数据分组的形式,传送数据的前先把数据切割成数据分组的格式,接收数据时再重新组合成原来的数据。数据分组在传送过程中发生错误时,接收端只需要求错误的数据分组重新传送即可,可以有效节省传送时间。如果数据分组遭到窃取,只要没有得到全部的数据分组,亦无法得到完整的原始数据。
思科公司的路由器利用″互联网通讯安全协议″的技术作为保护数据在互联网上传递的安全。图5和图6示出了在此采用的数据加密及接密处理装置。在第5图中,50是可输入明文数据的数据输入部。51是根据使用者所决定的加密算法进行数据分组加密处理的加密部。52是根据使用者所决定的验证算法进行数据分组验证处理的验证部。53是将加密数据输出至存储器或其他储存装置的数据输出部。在第6图中,60是可输入加密数据的数据输入部。61是根据使用者所决定的验证算法进行数据分组验证处理的验证部。62是根据使用者所决定的解密算法进行数据分组解密处理的解密部。63是将明文数据输出至存储器或其他储存装置的数据输出部。
在数据加密装置端,从数据输入部50输入明文数据;的后在加密部51根据先前决定的加密算法和密钥,进行数据加密的处理;接着在验证部52根据先前决定的验证算法,进行验证数据的处理;最後将密文送到数据输出部53输出供利用。
在数据解密装置端,从数据输入部60输入加密数据;的后在验证部61根据先前决定的验证算法,进行验证数据的处理;接着解密部62根据先前决定的解密算法和密钥,进行解密数据的处理;最後明文数据由输出部63输出供利用。
上述用于互联网数据通讯安全传送及接收数据的处理装置,是利用加密算法和验证算法保证数据的安全性和正确性。如果考虑到数据的安全性和正确性而选用3DES算法来进行加密处理,SHA1算法来进行验证处理,则会造成处理速度的降低;但是,为加快速度而仅选用DES算法来进行加密处理,MD5算法来进行验证处理,则又会使数据的安全性和正确性大大的降低。所以,如何在安全性与加快处理速度取得一平衡点则将是一个重要的课题。
发明内容
为解决上述问题,本发明数据加密方法包含下列步骤步骤A.建立储存多个记录数据项,每个记录项含有数据属性描述字段及其对应的加密定义字段的安全等级数据库,该加密定义字段包含有多个加密算法模块指示符;步骤B.输入待加密的数字数据;步骤C.从上述安全等级数据库寻找数据属性描述与上述数字数据属性相符者、将其对应的加密定义数据取出;步骤D.从取出的加密定义数据中,随机选取出加密算法模块指示符;步骤E.由上述所选取的加密算法模块指示符做指引,控制对输入数字数据做加密的加密处理;及步骤F.对经加密处理后的数字数据附加解密信息后予以输出。
本发明的另一种数据加密的方法,该方法包含下列步骤步骤A.建立储存多个记录数据项,每个记录项含有加密算法模块指示符及验证算法模块指示符的加密模块数据库;步骤B.建立储存多个记录数据项,每个记录项含有数据属性描述字段及其对应的加密定义字段的安全等级数据库,该加密定义字段包含有多个加密模块数据库索引;步骤C.输入待加密的数字数据;步骤D.由上述安全等级数据库寻找数据属性描述与上述数字数据属性相符者、将其对应的加密定义数据取出;步骤E.自取出的加密定义数据中,随机选取出一加密模块数据库索引;步骤F.依取出的加密模块数据库索引,自上述加密模块数据库中选取记录项;步骤G.由上述所选取的记录项做指引,控制对输入数字数据做何种加密及何种验证等加密处理;及步骤H.对经加密处理後的数字数据附加解密信息後予以输出。
本发明的另一种数据加密的方法,该方法包含下列步骤步骤A.建立一包含有多个加密算法模块指示符的加密定义数据;步骤B.输入待加密的数字数据;步骤C.从上述的加密定义数据,随机选取出一加密算法模块指示符;
步骤D.由上述所选取的加密算法模块指示符作指引,控制对输入数字数据做加密的加密处理;及步骤E.对经加密处理後的数字数据附加解密信息後予以输出。
本发明的另一种数据加密的方法,该方法包含下列步骤步骤A.建立储存多个记录数据项,每个记录项含有加密算法模块指示符及验证算法模块指示符的加密模块数据库;步骤B.建立包含有多个加密模块数据库索引的加密定义数据;步骤C.输入待加密的数字数据;步骤D.从上述的加密定义数据,随机选取出加密模块数据库索引;步骤E.依取出的加密模块数据库索引,自上述加密模块数据库中选取记录项;步骤F.由上述所选取的记录项做指引,控制对输入数字数据做何种加密及何种验证等加密处理;及步骤G.对经加密处理後的数字数据附加解密信息後予以输出。
本发明的另一种数据加密的方法,该方法包含下列步骤步骤A.建立储存多个记录数据项,每个记录项含有数据属性描述字段及其对应加密定义字段的安全等级数据库,该加密定义数据字段是加密算法模块指示符;步骤B.输入待加密的数字数据;步骤C.由上述安全等级数据库寻找数据属性描述与上述数字数据属性相符者、将其对应的加密定义字段的加密算法模块指示符取出;步骤D.由上述所选取的加密算法模块指示符做指引,控制对输入数字数据做加密的加密处理;步骤E.对经加密处理後的数字数据附加解密信息後予以输出。
本发明的另一种数据加密的方法,该方法包含下列步骤步骤A.建立储存多个记录数据项,每个记录项含有加密算法模块指示符及验证算法模块指示符的加密模块数据库;步骤B.建立储存多个记录数据项,每个记录项含有数据属性描述字段及其对应加密定义字段的安全等级数据库,该加密定义数据字段是加密模块数据库索引;
步骤C.输入待加密的数字数据;步骤D.由上述安全等级数据库寻找数据属性描述与上述数字数据属性相符者、将其对应的加密定义字段的加密模块数据库索引取出;步骤E.依取出的加密模块数据库索引,自上述加密模块数据库中选取记录项;步骤F.由上述所选取的记录项做指引,控制对输入数字数据做何种加密及何种验证等加密处理;步骤G.对经加密处理後的数字数据附加解密信息後予以输出。
本发明的一种数据加密装置,该装置是备有输入数据的输入部及将加密处理後数据予以输出的输出部,装置还包括储存多个记录数据项,每个记录项含有数据属性描述字段及其对应的加密定义字段的安全等级数据库,该加密定义字段包含有多个加密算法模块指示符;检查并分离上述输入部输入的数据是为参数数据或数字数据的检查部;由上述检查部所送来的参数数据对上述安全等级数据库作更新的参数处理部;由上述安全等级数据库寻找数据属性描述与上述检查部所送来的数字数据属性相符者、将其对应的加密定义数据传给下述加密选择部的属性检查部;从取出的加密定义数据中,随机选取出一加密算法模块指示符的加密选择部;及根据上述加密选择部所选取的一加密算法模块指示符做指引,控制对输入数字数据做加密的加密处理的加密处理部者。
本发明的另一种数据加密装置,该装置是备有输入数据的输入部及将加密处理後数据予以输出的输出部,装置还包括储存多个记录数据项,每个记录项含有加密算法模块指示符的加密模块数据库;检查并分离上述输入部输入的数据是为参数数据或数字数据的检查部;由上述检查部所送来的参数数据对上述加密模块数据库作更新的参数处理部;
从上述加密模块数据库中,随机选取出记录项的加密选择部;及根据上述加密选择部所选取的记录项做指引,控制对输入数字数据做加密的加密处理的加密处理部者。
本发明的另一种数据加密装置,该装置是备有输入数据的输入部及将加密处理後数据予以输出的输出部,装置还包括储存多个记录数据项,每个记录项含有数据属性描述字段及其对应的加密定义字段的安全等级数据库,该加密定义字段是加密算法模块指示符;检查并分离上述输入部输入的数据是为参数数据或数字数据的检查部;由上述检查部所送来的参数数据对上述安全等级数据库作更新的参数处理部;由上述安全等级数据库寻找数据属性描述与上述检查部所送来的数字数据属性相符者、将其对应的加密定义数据传给下述加密处理部的属性检查部;及根据上述属性检查部所取出的一加密算法模块指示符做指引,控制对输入数字数据做加密的加密处理的加密处理部者。
本发明的一种数据解密方法,该方法包含下列步骤步骤A.输入待解密的数字数据;步骤B.检查上述的数字数据是否含有解密算法模块指示符,如果有、则取出该解密算法模块指示符,如果否、则设定解密数据等於输入数据後至步骤D作处理;步骤C.依据取出解密算法模块指示符作指引,控制对上述输入数字数据做解密的解密处理;及步骤D.输出经解密後的数字数据。
本发明的另一种数据解密方法,该方法包含下列步骤步骤A.建立储存多个记录数据项,每个记录项是解密算法模块指示符的解密模块数据库;步骤B.输入待解密的数字数据;步骤C.检查上述的数字数据是否含有解密模块数据库索引,如果有、则取出解密模块数据库索引,如果否、设定解密数据等於输入数据至步骤F作处理;
步骤D.依取出的解密模块数据库索引,自上述加密模块数据库中选取记录项;步骤E.由上述所选取的记录项做指引,控制对输入数字数据做解密的解密处理;及步骤F.输出经解密後的数字数据。
本发明的一种数据解密装置,该装置是备有输入数据的输入部及将解密处理後数据予以输出的输出部,装置还包括检查上述输入部输入的数据是否含有解密算法模块指示符,如果有、则取出该解密算法模块指示符,如果否、则直接将输入的数据传给输出部的检查部;及根据上述检查部所取出的一解密算法模块指示符做指引,控制对输入数字数据做解密的解密处理的解密处理部者。
根据本发明的数据加密装置上述的构成,使用者由输入部输入数据,由检查部检查并分离所输入的数据为参数数据或待加密数据,如是参数数据、则交由参数处理部更新安全等级数据库或加密模块数据库;如为待加密数据、则交由属性检查部处理。属性检查部从安全等级数据库寻找数据属性描述与输入数据属性相符者,将其加密定义数据取出传给加密选择部。加密选择部由加密定义数据中动态选出一加密模块数据库索引,并以此由加密模块数据库取得一笔加密模块组合记录,并将其传给加密处理部。加密处理部依传来的加密模块组合控制对输入的待加密数据做何种加密及何种验证等加密处理。最後由输出部附加解密信息後输出。
本发明也提供使用者一种数据解密装置根据本发明的数据解密装置上述的构成,使用者由输入部输入数据,由检查部检查分离所输入的数据为参数数据或待解密的数字数据,如是参数数据、则交由参数处理部更新解密模块数据库;如为待解密数据则检查其是否含有解密信息,如果有、则由解密信息中取出解密模块数据料库索引,并以此从解密模块数据库取初一笔解密模块组合记录,并将其传给解密处理部处理;如果否、则将输入的数字数据传给输出部作输出。解密处理部依传来的解密模块组合控制对输入的待解密数据做何种解密及何种验证等解密处理。最後由输出部作输出。
第1图是本发明的数据加密装置的最佳实施例的方块图。
第2图是本发明的数据解密装置的最佳实施例的方块图。
第3图是本发明的数据加密装置的实施例中的数据加密动作流程图。
第4图是本发明的数据解密装置的实施例中的数据解密动作流程图。
第5图是习知例的数据加密装置的是统方块图。
第6图是习知例的数据解密装置的是统方块图。
第7图是本发明的数据加密装置的实施例中的安全等级数据库的结构示意图。
第8图是本发明的数据加密装置的实施例中的安全等级数据库中数据属性描述数据可使用的数据属性描述指令说明表。
第9图是本发明的数据加密装置的实施例中的安全等级数据库中加密定义数据的结构示意图。
第10图是本发明的数据加密装置的实施例中的加密模块数据库的结构示意图。
第11图是本发明的数据加密装置的实施例中的解密模块数据库的结构示意图。
第12图是本发明的数据加密装置的实施例中的输入数据的结构示意图。
第13图是本发明的数据加密装置的实施例中的输出数据的结构示意图。
第14图是本发明的数据加密装置的实施例中的处理范例。
第15图是本发明的数据解密装置的实施例中的处理范例。
第16图是本发明的另一种数据加密装置的实施例的方块图。
第17图是本发明的另一种数据加密装置的实施例的方块图。
具体实施例方式
第1图是本发明的数据加密装置的最佳实施例的方块图。在第1图中109是安全等级数据库,储存着多个记录的数据项,每个记录项包含有数据属性描述及其对应的加密定义数据,其中数据属性描述占24个字节,加密定义数据占8个字节,其构造示意图如第7图所示。数据属性描述用於对输入数据分组数据作属性比对的用,乃是由逻辑运算子及条件运算式所构成,且其总长度不得超过24个字节,如不足24字节,则必须於属性描述数据结尾加上结束值FF作结束,有关数据属性描述指令其说明如第8图所示。加密定义数据用於动态选取加密算法模块之用,是由4组数据所构成,每组数据含的加密算法模块索引占1字节及其采用比例值占1字节所构成。加密定义数据如不足4组则必须於其结尾填上FF,其结构示意图如图第9图所示。
111是加密模块数据库,储存着对输入数据进行加密时的加密算法、验证算法及整体验证算法的各种组合的相关数据。加密模块数据库的构造示意图如第10图所示,一种组合由一个记录来表示,每个记录项包含有数据加密算法指示符、数据验证算法指示符及整体验证算法指示符,每个指示符亦即该算法程式的所在位址由4个字节组成。数据加密算法指示符,其内容可为DES加密算法指示符,或3DES加密算法指示符,或RSA加密算法指示符,或RC4加密算法指示符,或FEAL加密算法指示符,或IDEA加密算法指示符,或TWOFISH加密算法指示符。
数据验证算法指示符及整体验证算法指示符,其内容可为MD5验证算法指示符,或SHA1验证算法指示符,或N-HASH验证算法指示符。
本实施例以7种加密算法及3种验证算法而言,并考虑不加密及不验证的场合,加密模块数据库最多可有(7+1)*(3+1)*(3+1)=128个记录项。
110是数据缓存区,为暂时储存加密选择部所产生的序列数据、参数检查部存入的加密模块验算法相关数据及数据属性检查部、加密控制部处理过程中所需的缓存数据。
100是输入部,由键盘或其他任何可输入一般待加密数据或参数数据的输入器所构成。
101是检查部,检查输入数据,若其为参数数据则交由参数处理部处理;否则传给属性检查部处理。
102是属性检查部,由安全等级数据库109寻找数据属性描述字段所储存的数据属性与输入数据属性相符者,并将其对应的加密定义数据传给下述加密选择部取得加密模块数据库的索引,并将此索引连同输入数据传给加密控制部处理。
103是加密选择部,依加密定义数据中各组加密模块数据库的索引及其采用比例值在数据缓存区110产生以各组采用比例值循序存放相对应数索引的序列,由乱数产生器产生一数值再以各组采用比例总和为分母作MOD运算得余数,以此余数为索引从的前产生序列取得加密模块数据库索引,并将结果及欲加密数据传加密处理部。
104是加密控制部,依加密模块数据库索引取得数据加密算法指示符、数据验证算法指示符及整体验证算法指示符并依各指示符所指向的算法模块对输入数据作加密处理。
105是加密部,根据加密算法指示符及其所需相关数据对输入数据作加密处理,并将结果传回加密控制部。
106是验证部,根据验证算法指示符及其所需相关数据对输入数据作验证处理,并将结果传回加密控制部。
107是输出部,将加密数据附加解密信息後输出至存储器或其他输出装置。
108是参数处理部,核对检查部输入的参数数据,如果参数为加密算法模块参数、则更新至加密算法模块数据库;如为安全等级数据参数、则更新至安全等级数据库;如皆不是,则传回错误码。
第3图是本发明的数据加密装置的实施例中的数据加密动作流程图。於第1图的方块图中,当检查部101判断输入数据为欲加密数据时,即由属性检查部102开始动作。第3图中,步骤S301储存输入的数据,然後进入属性检查部102,找出该数据其属性所对应的加密定义数据,首先步骤S302读入一笔安全定义数据,接着步骤S303判断其数据属性描述字段是否为空白,如果是、则表示其为预设安全等级数据直接至步骤S306;如果不是、则依数据属性描述字段数据一一检查输入数据内容,步骤S304判断数据属性是否相符,如果是至步骤S306;如果不是、则重回步骤S302。步骤S306即进入加密选择部103开始动态选取加密算法模块组合。首先,步骤S306判断加密定义数据是否只有一笔加密算法模块组合,如果是、则表示不须执行动态选取动作,至步骤S307设定使用此一模块组合,然後至步骤S309;如果否至步骤S308依各模块采用比例,产生一序列,配合乱数产生器产生一数值再以各组采用比例总和为分母作MOD运算得余数,以此余数为索引依的前序列数据取得加密算法模块组合後接S309。步骤S309即进入加密处理部104开始数据加密处理。首先,步骤S309依加密算法模块合数据取得各个模块指示符後,接下来步骤S310判断数据加密算法指示符是否为0,如果为0、则表示不执行加密处理,接步骤S312;如果不为0、则接步骤S311将此加密指示符及该指示符所需参数连同输入数据由加密部105处理加密後得到加密结果後接步骤S312。步骤S312判断数据验证算法指示符是否为0,如果为0、则表示不执行数据验证处理,接步骤S314;如果不为0、则接步骤S313将此验证指示符及该指示符所需参数连同目前处理处理结果数据由验证部106处理验证後得到验证结果後接步骤S314。步骤S314判断整体验证算法指示符是否为0,如果为0、则表示不执行整体验证处理,接步骤S316;如果不为0、则接步骤S315将此验证指示符及该指示符所需参数连同目前处理处理结果数据及首标数据由验证部106处理验证後得到验证结果後接步骤S316。步骤S316将加密数据附加解密信息後输出至存储器或其他装置。
第12图是本发明数据加密装置的实施例中的输入数据分组数据结构图。在第12图中,输入数据是为互联网通讯的IP数据分组由IP首标及传送数据所构成,其首标数据中,VERS是表示IP数据分组使用版本,大小为4bits;HLEN是表示IP数据分组首标组成以32位元为单位的长度,大小为4bits;SVERICE TYPE是表示IP数据分组服务形态为何,大小为8bits;TOTAL LENGTH是表示IP数据分组总长度大小,大小为16bits;IDENTIFICATION是表示IP数据分组辨识数据,大小为16bits;FLAGS是表示IP数据分组旗标数据,大小为4bits;FRAGMENT OFFSET是表示IP数据分组的数据的位移位址,大小为12bits;TIME TO LIVE是表示IP数据分组於互联网传递最长时间,单位为秒,大小为8bits;PROTOCOL是表示IP数据分组数据字段的通讯协定值,大小为8bits;HEADERCHECKSUM是表示IP数据分组首标的check sum数据,大小16bits;SOURCEIP ADDRESS是表示IP数据分组来源IP位址大小为32bits;DESTINATIONIP ADDRESS是表示IP数据分组目的IP位址大小为32bits;IP OPTIONS是IP数据分组首标额外数据,大小最多为40bits;PADDING是作为IP数据分组首标长度补至4字节倍数用。
第13图是本发明数据加密装置的实施例中的输出数据结构图。输出数据是为IP首标、解密信息数据及加密数据所构成。
接着说明本发明数据加密装置的实施例的处理范例。第14图是本发明数据加密装置的实施例的处理范例的数据。在第14图中14b是本处理范例於加密动作流程刚开始的安全等级数据库的数据。14c是本处理范例於加密动作流程刚开始的加密模块数据库的数据。14a是本处理范例於加密动作流程刚开始的输入数据。在第3图中,步骤S301接受输入数据(如图14a)後,步骤S302从安全等级数据库数据中(如图14b)读入第一笔数据,其数据属性描述数据前14字节为″01 04 18 C0A80000 05 18AC100000 FF″,後10字节皆为″FF″,加密定义数据为″01 03 02 03 03 0104 01″,步骤S303判断数据属性描述数据不是空白,直接至步骤S304。步骤S304首先依第8图数据属性描述指令说明表,将数据属性描述数据编译为当输入数据分组数据中的来源IP位址与C0A80000两者前24bit值为相同且目的IP位址与AC100000两者前24bit值为相同者时,则为真;否则为假。接着从输入数据(如图14a)内容可知来源IP位址C0AS0001与C0A80000两者前24bit值为相同;且目的IP位址AC100001与AC100000两者前24bit值为相同故设定数据属性为相符。步骤S305依步骤S304所得结果为数据属性相符直接至步骤S306。步骤S306检查加密定义数据是否只有一笔数据,由於其为01 03 02 03 03 01 04 01,是不只一笔加密算法模块组合故至步骤S308。步骤S308依目前加密定义数据中加密模块数据库索引及其采用比例产生3个01、3个02、1个03及1个04的连续序列01 01 01 02 02 02 03 04,其总长度为各采用比例总和8,以乱数器产生一数值为5318659,将此数作MOD 8运算得3,其对应至序列值为02,故所选择的加密模块数据库索引为02,接着至步骤S309。步骤S309依加密模块数据库索引值02从加密模块数据库数据(如图14c)中取得其加密算法模块分别为数据加密算法指示符为DES加密算法指示符、数据验证算法指示符为SHA1验证算法指示符及整体验证算法指示符为MD5验证算法指示符,接着至步骤S310。步骤S310依数据加密算法指示符为DES加密算法指示符不为0,接着至步骤S311。步骤S311将DES加密算法指示符及输入数据(如图14a)的数据字段数据传给加密部作加密处理,接着至步骤S312。步骤S312依数据验证算法指示符为SHA1验证算法指示符不为0,接着至步骤S313。步骤S313将SHA1验证算法指示符及步骤S311加密处理的结果传给验证部作数据验证处理,接着至步骤S314。步骤S314依整体验证算法指示符为MD5验证算法指示符不为0,接着至步骤S315。步骤S315将MD5验证算法指示符、输入数据(如图14a)的首标字段数据及步骤S313数据验证处理的结果传给验证部作整体验证处理,接着至步骤S316。步骤S316将步骤S315处理所得结果加上解密信息标签及解密模块数据库索引值02後完成输出数据(如图14a)後输出至其他装置。第14图中,14d是本处理范例於加密动作流程结束的输出数据,其中解密信息数据为解密信息标签及解密模块数据库索引值为2。
第16图是本发明的另一种数据加密装置的实施例的方块图。第16图中,并不须第1图中的安全等级数据库109及属性检查部102。且108是参数处理部,检查检查部输入的参数数据,如果参数旗标字段是加密算法模块参数旗标、则依其数据字段中的加密算法模块辨识码,将加密算法模块参数存至数据缓存区110该加密算法模块对应的参数数据存放位址;且加密选择部102则直接使用存於数据缓存区的加密定义数据来动态选取加密算法模块组合。
又第17图是本发明的另一种数据加密装置的实施例的方块图。第17图中,并不须如第1图中的加密选择部103;安全等级数据库109的加密定义数据只存一加密算法模块组合数据;且属性检查部102直接将符合输入数据属性描述数据所对应的加密定义数据所存加密算法模块组合数据及连同输入传给加密处理部104处理。
第2图是本发明的数据解密装置的最佳实施例的方块图。在第2图中208是解密模块数据库,储存着对输入数据进行解密时的解密算法、验证算法及整体验证算法的各种组合的相关数据。解密模块数据库,其构造示意图如第11图所示,一种组合由一个记录来表示,每个记录项包含有数据解密算法指示符、数据验证算法指示符及整体验证算法指示符,每个指示符亦即该算法程式的所在位址由4个字节组成。数据解密算法指示符,其内容可为DES解密算法指示符,或3DES解密算法指示符,或RSA解密算法指示符,或RC4解密算法指示符,或FEAL解密算法指示符,或IDEA解密算法指示符,或TWOFISH解密算法指示符。
数据验证算法指示符及整体验证算法指示符,其内容可为MD5验证算法指示符,或SHA1验证算法指示符,或N-HASH验证算法指示符。
本实施例以7种解密算法及3种验证算法而言,并考虑不解密及不验证的场合,解密模块数据库至多可有(7+1)*(3+1)*(3+1)=128笔记录。207是数据缓存区,为暂时储存参数处理部存入的解密验证相关数据及数据检查部、解密验证控制部处理过程中所需的缓存数据。
200是输入部,由键盘或其他任何可输入数据数据分组的装置所构成。
201是检查部,检查输入数据为参数数据则交由参数处理部处理;否则检查是否有解密信息标签,如果否、则传回错误码;如果有、则将输入数据分解出解密模块数据库索引及加密数据,并将其传给解密处理部处理。
202是解密控制部,依解密模块数据库索引取得数据解密算法指示符、数据验证算法指示符及整体验证算法指示符并依各指示符所指向的算法模块对输入数据作解密处理。
203是验证部根据验证算法指示符及其所需相关数据对输入数据作验证处理,并将结果传回解密控制部。
204是解密部根据解密算法指示符及其所需相关数据对输入数据作解密处理,并将结果传回解密控制部。
205是输出部将解密数据输出至存储器或其他输出装置。
206是参数处理部,检查由检查部输入的参数数据,如果为加密算法模块数据、则更新至加密算法模块数据库;如果否、则传回错误码。
第4图是本发明数据解密装置的实施例中的数据解密动作流程图。於第2图的方块图中,当检查部201判断输入数据为欲解密数据时于步骤S401接收数据输入,步骤S402判断其是否含有解密信息标签,如果没有、则表示输入数据有误,接步骤S404传回错误码後结束;如果有、则接步骤S403将输入数据分解出解密算法模块组合数据及加密数据。接着步骤S405判断解出解密算法模块组合数据是否正确,如果不正确、则接步骤S407传回错误码後结束;如果为正确、则接步骤S406。步骤S406即进入解密控制部202开始数据解密处理。首先,步骤S406依解密算法模块组合数据取得各个解密算法模块指示符後,接下来步骤S408判断整体验证算法指示符是否为0,如果为0、则表示不执行整体验证处理,接步骤S412;如果不为0、则接步骤S409将此验证指示符及该指示符所需参数连同加密数据及首标数据由验证部204处理验证後得到验证结果後接步骤S410判断验证结果是否正确,如不正确、则至步骤S411传回错误码後结束;如果正确、则接步骤S412。步骤S412判断数据验证算法指示符是否为0,如果为0、则表示不执行数据验证处理,接步骤S416;如果不为0、则接步骤S413将此验证指示符及该指示符所需参数连同加密数据由验证部204处理验证後得到验证结果後接步骤S414判断验证结果是否正确,如不正确、则至步骤S415传回错误码後结束;如果正确、则接步骤S416。步骤S416判断数据加密算法指示符是否为0,如果为0、则表示不执行数据验证处理,接步骤S420;如果不为0、则接步骤S417将此验证指示符及该指示符所需参数连同加密数据由验证部203处理验证後得到验证结果後接步骤S418判断验证结果是否正确,如不正确、则至步骤S419传回错误码後结束;如果正确、则接步骤S420。步骤S420将解密数据输出至存储器或其他装置。
接着说明本发明数据解密装置的实施例的处理范例。第15图是本发明数据解密装置的实施例的处理范例的数据。在第15图中15a是本处理范例於解密动作流程刚开始的输入数据,其中含有解密信息标签及解密模块数据库索引值为2及加密数据。15b是本处理范例於解密动作流程刚开始的解密模块数据库的数据。15c是本处理范例於解密动作流程结束的输出数据。在第4图本发明数据解密装置的实施例中的数据解密动作流程图中,步骤S401接受输入数据(如图15a)後,步骤S402判断含有解密信息标签後,步骤S403将输入数据如图15a分解出解密模块数据库索引值为2及加密数据。步骤S405判断解密模块数据库索引值是2为正确数据,直接至步骤S406。步骤S406依解密模块数据库索引值2从解密模块数据库数据中(如图15b)取得其解密算法模块分别为数据解密算法指示符为DES解密算法指示符、数据验证算法指示符为SHA1验证算法指示符及整体验证算法指示符为MD5验证算法指示符,接着至步骤S408。步骤S408依整体验证算法指示符为MD5验证算法指示符不为0,接着至步骤S409。步骤S409将MD5验证算法指示符、输入数据(如图15a)的首标字段数据及步骤S403分解出的加密数据传给验证部作整体验证处理,接着至步骤S410。步骤S410判断整体验证结果为正确,接着至步骤S412。步骤S412依数据验证算法指示符为SHA1验证算法指示符不为0,接着至步骤S413。步骤S413将SHA1验证算法指示符及步骤S403分解出的加密数据传给验证部作数据验证处理,接着至步骤S414。步骤S414判断数据验证结果为正确,接着至步骤S416。步骤S416依数据解密算法指示符为DES解密算法指示符不为0,接着至步骤S417。步骤S417将DES解密算法指示符及步骤S403分解出的加密数据传给解密部作解密处理,接着至步骤S418。步骤S418判断数据解密结果为正确,接着至步骤S420。步骤S420依输入数据(如图15a)及步骤S418所得解密结果完成输出数据(如图15c)後输出至其他装置。
本发明不限於上述的实施例,只要不改变其要旨而予以适当的变形皆可实施,例如处理的输入数据不限定於数据分组数据,亦可为非数据分组型式的数字数据。又例如本发明的安全等级数据库的加密定义数据只存加密模块数据库索引及其采用比例;也可以同时储存加密算法指示符、数据验证算法指示符、整体验证算法指示符以及其采用比例而不须将加密算法模块组合数据另存於加密模块数据库中。又本发明的实施例虽以处理数据分组数据为例,其他形式的数据亦可比照实施。
依上述的说明,本发明的数据加密装置可以解决以往例的问题点,换言的,其效果是可以根据数据属性的不同,自动切换加密算法模块组合,例如当使用者阅读其远端主机信件时,其认证其间的传输数据应受到最安全的加密算法模块组合来加密处理,而其他传输数据则采用交叉不同加密算法模块组合,如此,使用者登入帐户及加密不至外流,及其他传输数据经由交叉不同加密算法模块组合加密处理,不是合法者要窥探其内容更是困难;同时,其对传输时间的需求,可藉由调整各个加密算法模块组合使用比例来改善。
权利要求
1.一种数据加密的方法,该方法包含下列步骤步骤A.建立储存多个记录数据项,每个记录项含有数据属性描述字段及其对应的加密定义字段的安全等级数据库,该加密定义字段包含有多个加密算法模块指示符;步骤B.输入待加密的数字数据;步骤C.由上述安全等级数据库寻找数据属性描述与上述数字数据属性相符者、将其对应的加密定义数据取出;步骤D.自取出的加密定义数据中,随机选取出一加密算法模块指示符;步骤E.由上述所选取的加密算法模块指示符做指引,控制对输入数字数据做加密的加密处理;及步骤F.对经加密处理後的数字数据附加解密信息後予以输出的。
2.按权利要求1所述的方法,其特征在于步骤A所建立的安全等级数据库中的加密定义字段包含有多个加密算法模块指示符及其对应采用比例;且步骤D自取出的加密定义数据中,依各个加密算法模块指示符及其对应采用比例配合乱数产生器及MOD运算选取出一加密算法模块指示符者。
3.按权利要求1所述的方法,其特征在于步骤A所建立的安全等级数据库中的加密定义字段包含有多个加密算法模块组合,每个加密算法模块组合含有加密算法模块指示符及验证算法模块指示符;且步骤D自取出的加密定义数据中,随机选取出一加密算法模块组合;及步骤E由上述所选取的加密算法模块组合做指引,控制对输入数字数据做何种加密及何种验证等加密处理者。
4.按权利要求3所述的方法,其特征在于步骤A所建立的安全等级数据库中的加密定义字段包含有多个加密算法模块组合及其对应采用比例;且步骤D自取出的加密定义数据中,依各个加密算法模块组合及其对应采用比例配合乱数产生器及MOD运算选取出一加密算法模块组合者。
5.一种数据加密的方法,该方法包含下列步骤步骤A.建立储存多个记录数据项,每个记录项含有加密算法模块指示符及验证算法模块指示符的加密模块数据库;步骤B.建立储存多个记录数据项,每个记录项含有数据属性描述字段及其对应的加密定义字段的安全等级数据库,该加密定义字段包含有多个加密模块数据库索引;步骤C.输入待加密的数字数据;步骤D.由上述安全等级数据库寻找数据属性描述与上述数字数据属性相符者、将其对应的加密定义数据取出;步骤E.自取出的加密定义数据中,随机选取出一加密模块数据库索引;步骤F.依取出的加密模块数据库索引,自上述加密模块数据库中选取记录项;步骤G.由上述所选取的记录项做指引,控制对输入数字数据做何种加密及何种验证等加密处理;及步骤H.对经加密处理後的数字数据附加解密信息後予以输出的。
6.按权利要求5所述的方法,其特征在于步骤B所建立的安全等级数据库中的加密定义字段包含有多个加密模块数据库索引及其对应采用比例;且步骤E自取出的加密定义数据中,依各个加密模块数据库索引及其对应采用比例配合乱数产生器及MOD运算一加密模块数据库索引者。
7.一种数据加密的方法,该方法包含下列步骤步骤A.建立一包含有多个加密算法模块指示符的加密定义数据;步骤B.输入待加密的数字数据;步骤C.从上述的加密定义数据,随机选取出一加密算法模块指示符;步骤D.由上述所选取的加密算法模块指示符作指引,控制对输入数字数据做加密的加密处理;及步骤E.对经加密处理後的数字数据附加解密信息後予以输出的。
8.按权利要求7所述的方法,其特征在于步骤A所建立的加密定义数据包含有多个加密算法模块指示符及其对应采用比例;且步骤C依加密定义数据中各个加密算法模块指示符及其对应采用比例配合乱数产生器及MOD运算选取出一加密算法模块指示符者。
9.按权利要求7所述的方法,其特征在于步骤A所建立的加密定义数据包含有多个加密算法模块组合,每个加密算法模块组合含有加密算法模块指示符及验证算法模块指示符;且步骤C自取出的加密定义数据中,随机选取出一加密算法模块组合;及步骤D由上述所选取的加密算法模块组合做指引,控制对输入数字数据做何种加密及何种验证等加密处理者。
10.按权利要求9所述的方法,其特征在于步骤A所建立的加密定义数据包含有多个加密算法模块组合及其对应采用比例;且步骤C自取出的加密定义数据中,依各个加密算法模块组合及其对应采用比例配合乱数产生器及MOD运算选取出一加密算法模块组合者。
11.一种数据加密的方法,该方法包含下列步骤步骤A.建立储存多个记录数据项,每个记录项含有加密算法模块指示符及验证算法模块指示符的加密模块数据库;步骤B.建立一包含有多个加密模块数据库索引的加密定义数据;步骤C.输入待加密的数字数据;步骤D.从上述的加密定义数据,随机选取出一加密模块数据库索引;步骤E.依取出的加密模块数据库索引,自上述加密模块数据库中选取记录项;步骤F.由上述所选取的记录项做指引,控制对输入数字数据做何种加密及何种验证等加密处理;及步骤G.对经加密处理後的数字数据附加解密信息後予以输出的。
12.按权利要求11所述的方法,其特征在于步骤B所建立的加密定义数据包含有多个加密模块数据库索引及其对应采用比例;且步骤D依加密定义数据中各个加密模块数据库索引及其对应采用比例配合乱数产生器及MOD运算一加密模块数据库索引者。
13.一种数据加密的方法,该方法包含下列步骤步骤A.建立储存多个记录数据项,每个记录项含有数据属性描述字段及其对应加密定义字段的安全等级数据库,该加密定义数据字段是加密算法模块指示符;步骤B.输入待加密的数字数据;步骤C.由上述安全等级数据库寻找数据属性描述与上述数字数据属性相符者、将其对应的加密定义字段的加密算法模块指示符取出;步骤D.由上述所选取的加密算法模块指示符做指引,控制对输入数字数据做加密的加密处理;步骤E.对经加密处理後的数字数据附加解密信息後予以输出的。
14.按权利要求13所述的方法,其特征在于步骤A所建立的安全等级数据库中的加密定义字段是加密算法模块组合,该加密算法模块组合含有加密算法模块指示符及验证算法模块指示符;且步骤C由上述安全等级数据库寻找数据属性描述与上述数字数据属性相符者、将其对应的加密定义字段的加密算法模块组合数据取出;及步骤D由上述所选取的加密算法模块组合做指引,控制对输入数字数据做何种加密及何种验证等加密处理者。
15.一种数据加密的方法,该方法包含下列步骤步骤A.建立储存多个记录数据项,每个记录项含有加密算法模块指示符及验证算法模块指示符的加密模块数据库;步骤B.建立储存多个记录数据项,每个记录项含有数据属性描述字段及其对应加密定义字段的安全等级数据库,该加密定义数据字段是加密模块数据库索引;步骤C.输入待加密的数字数据;步骤D.由上述安全等级数据库寻找数据属性描述与上述数字数据属性相符者、将其对应的加密定义字段的加密模块数据库索引取出;步骤E.依取出的加密模块数据库索引,自上述加密模块数据库中选取记录项;步骤F.由上述所选取的记录项做指引,控制对输入数字数据做何种加密及何种验证等加密处理;步骤G.对经加密处理後的数字数据附加解密信息後予以输出的。
16.一种数据加密装置,该装置是备有输入数据的输入部及将加密处理後数据予以输出的输出部,其特征在于还包括储存多个记录数据项,每个记录项含有数据属性描述字段及其对应的加密定义字段的安全等级数据库,该加密定义字段包含有多个加密算法模块指示符;检查并分离上述输入部输入的数据是为参数数据或数字数据的检查部;由上述检查部所送来的参数数据对上述安全等级数据库作更新的参数处理部;由上述安全等级数据库寻找数据属性描述与上述检查部所送来的数字数据属性相符者、将其对应的加密定义数据传给下述加密选择部的属性检查部;从取出的加密定义数据中,随机选取出一加密算法模块指示符的加密选择部;及根据上述加密选择部所选取的一加密算法模块指示符做指引,控制对输入数字数据做加密的加密处理的加密处理部者。
17.按权利要求16所述的装置,其特征在于安全等级数据库中的加密定义字段包含有多个加密算法模块指示符及其对应采用比例;且上述加密选择部是由取出的加密定义数据中,依各个加密算法模块指示符及其对应采用比例配合乱数产生器及MOD运算选取出一加密算法模块指示符者。
18.按权利要求16所述的装置,其特征在于安全等级数据库中的加密定义字段包含有多个加密算法模块组合,每个加密算法模块组合含有加密算法模块指示符及验证算法模块指示符;且上述加密选择部是由取出的加密定义数据中,随机选取出一加密算法模块组合;及上述加密处理部是根据上述加密选择部所选取的一加密算法模块组合做指引,控制对输入数字数据做何种加密及何种验证等加密处理者。
19.按权利要求18所述的装置,其特征在于安全等级数据库中的加密定义字段包含有多个加密算法模块组合及其对应采用比例;且上述加密选择部是由取出的加密定义数据中,依各个加密算法模块组合及其对应采用比例配合乱数产生器及MOD运算选取出一加密算法模块组合者。
20.按权利要求16所述的装置,其特征在于还包括储存多个记录数据项,每个记录项含有加密算法模块指示符、及验证算法模块指示符的加密模块数据库;且上述安全等级数据库的加密定义字段包含有多个加密模块数据库索引;上述加密选择部是由取出的加密定义数据中,随机选取出一加密模块数据库索引,再依取出的加密模块数据库索引,自上述加密模块数据库中选取记录项;及上述加密处理部是根据上述加密选择部所选取的记录项做指引,控制对输入数字数据做何种加密及何种验证等加密处理者。
21.按权利要求20所述的装置,其特征在于安全等级数据库中的加密定义字段是包含有多个加密模块数据库索引及其对应采用比例;且上述加密选择部是由取出的加密定义数据中,依各个加密模块数据库索引及其对应采用比例配合乱数产生器及MOD运算取出一加密模块数据库索引,再依取出的加密模块数据库索引,自上述加密模块数据库中选取记录项者。
22.按权利要求20或21所述的装置,其参数处理部是由上述检查部所送来的参数数据对上述安全等级数据库及加密模块数据库作更新者。
23.一种数据加密装置,该装置是备有输入数据的输入部及将加密处理後数据予以输出的输出部,其特征在于还包括储存多个记录数据项,每个记录项含有加密算法模块指示符的加密模块数据库;检查并分离上述输入部输入的数据是为参数数据或数字数据的检查部;由上述检查部所送来的参数数据对上述加密模块数据库作更新的参数处理部;从上述加密模块数据库中,随机选取出记录项的加密选择部;及根据上述加密选择部所选取的记录项做指引,控制对输入数字数据做加密的加密处理的加密处理部者。
24.按权利要求23所述的装置,其特征在于加密模块数据库是储存多个记录数据项,每个记录项包含有加密算法模块指示符及其对应采用比例;且上述加密选择部是依上述加密模块数据库中每个记录项所对应采用比例配合乱数产生器及MOD运算选取出记录项者。
25.按权利要求23所述的装置,其特征在于加密模块数据库是储存多个记录数据项,每个记录项包含有加密算法模块指示符及验证算法模块指示符;且上述加密处理部是根据上述加密选择部随机所选取的记录项加密算法模块组合做指引,控制对输入数字数据做何种加密及何种验证等加密处理者。
26.按权利要求25所述的装置,其特征在于加密模块数据库是储存多个记录数据项,每个记录项包含有加密算法模块指示符、验证算法模块指示符及其对应采用比例;且上述加密选择部是依上述加密模块数据库中每个记录项所对应采用比例配合乱数产生器及MOD运算从上述加密模块数据库中选取出记录项者。
27.一种数据加密装置,该装置是备有输入数据的输入部及将加密处理後数据予以输出的输出部,其特征在于还包括储存多个记录数据项,每个记录项含有数据属性描述字段及其对应的加密定义字段的安全等级数据库,该加密定义字段是加密算法模块指示符;检查并分离上述输入部输入的数据是为参数数据或数字数据的检查部;由上述检查部所送来的参数数据对上述安全等级数据库作更新的参数处理部;由上述安全等级数据库寻找数据属性描述与上述检查部所送来的数字数据属性相符者、将其对应的加密定义数据传给下述加密处理部的属性检查部;及根据上述属性检查部所取出的一加密算法模块指示符做指引,控制对输入数字数据做加密的加密处理的加密处理部者。
28.按权利要求27所述的装置,其特征在于安全等级数据库中的加密定义字段是加密算法模块组合,该加密算法模块组合含有加密算法模块指示符及验证算法模块指示符;且加密处理部是根据上述属性检查部所取出的一加密算法模块组合做指引,控制对输入数字数据做何种加密及何种验证等加密处理者。
29.一种数据解密方法,该方法包含下列步骤步骤A.输入待解密的数字数据;步骤B.检查上述的数字数据是否含有解密算法模块指示符,如果有、则取出该解密算法模块指示符,如果否、则设定解密数据等於输入数据後至步骤D作处理;步骤C.依据取出解密算法模块指示符作指引,控制对上述输入数字数据做解密的解密处理;及步骤D.输出经解密後的数字数据。
30.按权利要求29所述的方法,其特征在于步骤B检查上述的数字数据是否含有解密算法模块组合,该解密算法模块组合是含有解密算法模块指示符及验证算法模块指示符,如果有、则取出该解密算法模块组合,如果否、则设定解密数据等於输入数据至步骤D作处理;且步骤C由上述所选取的解密算法模块组合做指引,控制对输入数字数据做何种解密及何种验证等解密处理者。
31.一种数据解密方法,该方法包含下列步骤步骤A.建立储存多个记录数据项,每个记录项是解密算法模块指示符的解密模块数据库;步骤B.输入待解密的数字数据;步骤C.检查上述的数字数据是否含有解密模块数据库索引,如果有、则取出解密模块数据库索引,如果否、设定解密数据等於输入数据至步骤F作处理;步骤D.依取出的解密模块数据库索引,自上述加密模块数据库中选取记录项;步骤E.由上述所选取的记录项做指引,控制对输入数字数据做解密的解密处理;及步骤F.输出经解密後的数字数据。
32.按权利要求31所述的方法,其特征在于步骤A建立储存多个记录数据项,每个记录项含有解密算法模块指示符及验证算法模块指示符的解密模块数据库;且步骤E由上述所选取的记录项做做指引,控制对输入数字数据做何种解密及何种验证等解密处理者。
33.一种数据解密装置,该装置是备有输入数据的输入部及将解密处理後数据予以输出的输出部,其特征在于还包括检查上述输入部输入的数据是否含有解密算法模块指示符,如果有、则取出该解密算法模块指示符,如果否、则直接将输入的数据传给输出部的检查部;及根据上述检查部所取出的一解密算法模块指示符做指引,控制对输入数字数据做解密的解密处理的解密处理部者。
34.按权利要求33所述的装置,其特征在于上述检查部是检查上述输入部输入的数据是否含有解密算法模块组合,该解密算法模块组合是含有解密算法模块指示符及验证算法模块指示符,如果有、则取出该解密算法模块组合,如果否、则直接将输入的数据传给输出部;且上述解密处理部是根据上述检查部所取出的一解密算法模块指示符做指引,控制对输入数字数据做何种解密及何种验证等解密处理者。
35.按权利要求33所述的装置,其特征在于还包括储存多个记录数据项,每个记录项含有解密算法模块指示符的解密模块数据库;且上述检查部是检查上述输入部输入的数据是否含有解密模块数据库索引,如果有、则取出该解密模块数据库索引并以此索引自解密模块数据库取出记录项,如果否、则直接将输入的数据传给输出部;及上述解密处理部是根据上述检查部所取出的记录项做指引,控制对输入数字数据做解密的解密处理者。
36.按权利要求35所述的装置,其特征在于上述解密模块数据库是储存多个记录数据项,每个记录项含有解密算法模块指示符及验证算法模块指示符;且上述解密处理部是根据上述检查部所取出的记录项做指引,控制对输入数字数据做何种解密及何种验证等解密处理者。
37.按权利要求35所述的装置,其特征在于还包括以参数数据对上述解密模块数据库作更新的参数处理部;且上述检查部是检查并分离上述输入部输入的数据是为参数数据或数字数据,如为参数数据、则传给上述参数处理部,如为数字数据、则检查该数字数据是否含有解密模块数据库索引,如果有、则取出解密模块数据库索引并以此索引自解密模块数据库取出记录项,如果否、则直接将输入的数据传给输出部者。
38.按权利要求37所述的装置,其特征在于上述解密模块数据库是储存多个记录数据项,每个记录项含有解密算法模块指示符及验证算法模块指示符;且上述解密处理部是根据上述检查部所取出的记录项做指引,控制对输入数字数据做何种解密及何种验证等解密处理者。
全文摘要
本发明提供一种数据加密方法及其装置,可使其从使用者预先指定的多个加密算法模块组合,配合数据属性对应及动态选取机制,选取一组加密算法模块组合对数据作加密处理。透过这种交替使用不同加密算法模块组合对数据作加密处理,不仅提高其破解的复杂度,同时也不必为提高安全性只采用较复杂加密算法而降低其处理速度。再者,本发明的数据解密方法及其装置,是依加密数据中所附加的解密信息,动态变换解密算法模块组合对数据进行解密。
文档编号G06F21/00GK1503503SQ0215260
公开日2004年6月9日 申请日期2002年11月26日 优先权日2002年11月26日
发明者叶明峯, 林静玫, 方均伟, 叶明 申请人:松下电器产业株式会社