具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请提供一种信息加密方法,图1是本申请所述一种信息加密方法的一个实施例的流程图。如图1所示,所述的一种信息加密方法可以包括:
S1:获取待加密信息;
本实施例中所述的待加密信息可以包括对原始数据进行加密的密钥,例如对二维码数据进行加密的密钥。所述密钥可以为由生产密钥的应用按照一定规则或者随机生成的加密数据,也可以为预先设置的用来表示对所述原始数据进行加密的加密算法或表示所述某种加密算法的标示符。需要说明的是,本申请中所述的待加密信息并不限定于所述对原始数据加密的密钥,也可以为其他需要进行加密处理的信息,例如,本实施例中所述的待加密信息也可以包括用户注册时登记的用户名称、身份证号码、电话号码,或者用户的照片、声音等信息。
所述的待加密信息通常可以为按照预定编码形成的信息数据,可以包括数字或字母或其他格式的数据信息,本申请中可以将所述待加密信息转换为统一预定编码的信息数据。例如在本实施例中,所述预定编码可以为32位的二进制数据,例如可以为用于对二维码数据进行加密的32位的二进制密钥数据01110101011100110110010101110010。当然,本申请中也可以将原始的需要加密信息如声音、图像、文字等转换为预定编码的待加密信息,如可以将用户名“user”转换为相应的二进制数据格式的待加密信息。所述的待加密信息为图像或声音等信息,可以通过相应的转换方法或设备将其转换为预定编码的信待加密信息。本申请中所述的预定编码也可以为其他的数据编码方式,例如按照预定信息编码格式形成十进制数据或十六进制数据。
获取待加密信息,所述待加密信息可以包括对二维码数据进行加密的密钥。
S2:提取生物特征信息,获取生物特征数据。
所述生物特征信息可以包括从生物主体提取的可以用于识别该生物的特征信息数据。通常所述的生物特征信息可以包括对人或其他生物固有的生理特征或行为特征,其中所述的生理特征通常为先天性的,如人的指纹、视网膜、虹膜、掌纹等;所述行为特征通常是后天形成的具有可辨性的习惯特征,例如签名笔迹、步态等。通常可以利用摄像机、指纹提取器或其他设备提取生物某部分的生物特征信息,然后将提取的生物特征信息转化为生物特征数据。所述的生物特征数据通常可以为通过计算机与声学或光学设备或其他生物传感器相连接以获取生物特征信息,并将生物特征信息转换成数字代码形式的数据。常用生物特征提取方法可以包括Daubichies小波变换、Fisher脸法、基于Gabor滤波的指纹增强、智能感知算法等方法。提取生物特征信息后,可以将生物特征信息通过预置的编码规则形成生物特征数据。不同的生物特征提取方法可以对应不同的生物特征数据,通常数据处理过程中可以将其转为为统一的数据格式。
本申请对具体的采用的生物特征提取方法不做限定,本申请中可以将不同特征提取方法获取的生物特征数据转换为统一的数据信息格式,如本实施例中可以将所述不同生物特征提取方法获取的特征数据统一用一维数据组{a1,a2,a3…,an}表示,其中n可以表示所述一维数据组中数据的个数。具体的例子中,可以采用智能感知算法获取的生物特征数据为128位的一维数据组an={8,10,12,13,15,…,296}。所述一维数据组中的数据可以按照一定的顺序排列,例如可以按照所述生物特征数据的大小从小到大的顺序排列,或者按照生物特征信息的提取位置或提取的先后顺序进行排列等,本实施例中所述获取的一维数据组的生物特征数据可以按照数值的大小从小到大的顺序排列。所述提取的生物特征数据可以存储在服务器或客户端或专用的数据库中。
本实施例中可以提取指纹、视网膜、虹膜、声音等生物特征信息,获取生物特征数据。
S3:将所述生物特征数据按照预先设定的加密算法对待加密信息进行加密,形成第一加密信息。
在获取所述待加密信息和生物特征数据后,可以按照预先设定的加密算法利用生物特征数据对所述待加密信息进行加密,形成第一加密信息。具体的,本实施例中所述将所述生物特征数据按照预先设定的加密算法对待加密信息进行加密形成第一加密信息包括:
将待加密信息转换为预定格式的多项式;
将所述生物特征数据代入所述多项式中计算得到多项式的值,将所述生物特征数据与与所述生物特征数据相对应的多项式的值组成的二维数据组作为第一加密信息。
在本实施例中,可以将所述待加密信息转换为预定格式的系数与变量的多项式。如可以将本实施例所述二进制数据转换为系数与权项乘积的多个单项式之和的多项式形式,然后将转换后的多项式的权项作为多项式的变量。具体的例如待加密信息1011转换为系数与权限的多项式可以为:1*2^3+0*2^2+1*2^1+1*2^0,其中可以将所述多项式中的权项2作为多项式的变量x,因此可以形成多项式:p(x)=1*x^3+0*x^2+1*x^1+1*x^0。同一待加密信息可以经过不同的变换转换为多个不同的多项式,例如可以将上述所述待加密信息1011转换为十进制数据为11,可以用多项式1*10^1+1*10^0表示,将上述多项式1*10^1+1*10^0中的权项10用自变量x表示,此时所述待加密信息1011的另一种多项式可以表示为:p(x)=1*10^1+1*10^0。本申请中可以根据数据处理的需求预先设置多项式的格式,例如本实施例中可以先将所述预定编码为二进制的待加密信息先转换为十六进制数据,然后将十六进制数据的待加密信息转换成多项式的表达式,最后可以将多项式中的权限16作为所述多项式中的变量构建成所述预定格式的多项式。本申请中所述的多项式可以为由多个单项式组成的多项式的情况,也可以包括由一个单项式组成的多项式的情况。
上述实施例在将所述待加密信息转换为多项式的表达式时可以直接将所述待加密信息转换为系数与权限的多项式,例如所述待加密信息为32位的二进制数据或十进制数据,可以将待加密信息的多项式直接表示为由32个单项式组成的多项式。在另一种优选的实施方式中,可以对所述待加密信息进行分段,将分段后每一段的待加密信息进行处理,然后将每段的待加密信息经过处理后作为该段所对应的单项式的系数。具体的可以包括:
S301:将待加密信息分成k段,从高位到低位分别用单项式a1*x^(k-1),a2*x^(k-2),…,ak*x^0表示。
例如所述待加密信息为32位的二进制密钥数据01110101011100110110010101110010时,可以将所述待加密信息从高位到低位平均分成4段,每段为8位(即一个字节)二进制数据。当然,所述待加密信息分段后的每一段中所包括的二进制数据个数也可以不相同,例如上述32位二进制密钥数据分成的4段数据分别可以包括8、10、6、8位二进制数据,具体的可以根据数据处理需求进行分段处理的设置。上述32位的二进制待加密信息分段后的从高位到低位的二进制数据分别为01110101、01110011、01100101、01110010,其所述对应的单项式分别为a1*x^3,a2*x^2,a*x^1,a4*x^0,其a1、a2、a3、a4分别为分段后每段单项式的系数。
S302:将所述分段后的每段待加密信息转换为第一预置数据格式,以所述转换后的第一预置数据格式的待加密信息作为该段所对应的单项式的系数。
本实施例中可以将分段的每段待加密信息转换为预先设定的第一预置数据格式,例如可以将所述每段8位的二进制待加密信息转换为十六进制的待加密信息。所述第一预置数据格式可以包括十进制数据格式或十六进制数据格式或其他数据格式。将每段待加密信息转换为所述第一预置数据后,可以将每段转换后的待加密信息作为该段所对应的单项式的系数。具体的例子中,例如将所述待加密信息为32位的二进制密钥数据分成4段,每段一个字节分别为(01110101)B、(01110011)B、(01100101)B、(01110010)B,将每段待加密信息转换为相应的十六进制数据格式后为(75)Ox、(73)Ox、(65)Ox、(72)Ox。然后可以将所述十六进制数据75、73、65、72作为相应分段的单项式的系数。
S303:基于所述k段以第一预置数据格式的待加密信息为系数的单项式构建待加密信息的多项式。
将所述待加密信息分成k段并计算得出每段待加密信息对应的单项式的系数后,可以构建多项式p(x)=a1*x^(k-1)+a2*x^(k-2)+…+ak*x^0,将所述待加密信息转换为多项式形式的表达式。上述构建的多项式中,x为多项式的变量,a1,a2,…,ak为多项式的系数,(k-1),(k-2),…,k为变量x的幂。本实施例中可以将32位的二进制待加密信息分成4段且所述第一预置数据格式为十六进制时,可以构建如下式的多项式p(x):
p(x)=75*x^3+73*x^2+65*x^1+72*x^0(1)
需要说明的是,构建待加密信息的多项式时,如果某段待加密信息转换为所述第一预置数据格式后的数据值为0,构建的多项式的表达式仍然可以保留该段的单项式,可以采用该段待加密信息所对应的单项式与系数0的乘积表示。例如分成的4段数据中,对应x^2的第二段的待加密信息的第一预置数据值为0,则在构建的多项式中该段单项式可以用0*x^2表示,其中0*x^2的系数为0。
在本申请中,所述第一预置数据格式为其他数据编码格式,或者在所述待加密信息分的段数n以及每段包含的待加密信息位数不相同时,所述待加密信息转换后的系数可以不相同,构建的多项式也可以不相同。具体的可以根据数据处理需求预先设置分成的段数、每段包括的数据以及每段内数据的处理方法,将待加密信息转换为预定格式的多项式。
本实施例中可以将所述生物特征数据代入所述待加密信息构建的多项式中,获取与该代入的生物特征数据的多项式的值。例如将上述所述生物特征数据{a1,a2,a3…,an}代入构成的多项式p(x)中,计算得到所述多项式的值p(an),所述代入的生物特征数据与与其相对应的多项式的值可以组成一组二维数据,例如(a1,p(a1)。然后可以将所述获取的生物特征数据与所述多项式的值组成二维数据组{(a1,p(a1)),(a2,p(a2)),(a3,p(a3)),…,(an,p(an))},将上述二维数据组作为待加密信息经过生物特征信息加密后的第一加密信息。具体的例如可以将上述128位的一维数组an={8,10,12,13,15,…,296}代入所述公式(1)中,可以得到二维数据组{(8,43664),(10,83026),(12,140964),…,(296,1951490480)}。所述组成的二维数据组可以作为所述待加密信息与所述生物特征信息相结合组成的加密后的第一加密信息。需要说明的是,上述加密过程中的运算是在有限域内的计算,所述加密后的第一加密信息可以作为与生物特征信息相对应的样本数据模板存储在服务器或客户端或专用的数据库中。
上述实施例提供了一种结合生物特征信息对待加密信息进行加密的方法。在该方法中,可以利用生物特征提取方法提取生物特征信息中的特征向量,获取生物特征数据,然后将这些特征数据向待加密信息构建的高次多项式上投影。经投影操作后可以将生物特征数据与相应的投影后的多项式的值组成的二维数据组作为所述待加密信息经过生物特征加密后的信息。本申请所述的信息加密方法,在加密过程中结合了个体的生物特征信息,大大提高了信息加密的安全性。同时本申请将原始待加密信息经过变换构建成高次多项式,然后将生物特征数据在所述高次多项式上进行投影的加密过程使得原始待加密信息与加密后的信息在信息数据格式、信息数据维度等多方面产生很大差异,增加了加密信息被逆向非法破解的难度,进一步提高了信息加密的安全性。
在本申请所述信息加密加密方法的另一种实施方式中,图2是本申请所述一种信息加密方法的另一种实施方式的流程图。如图2所示,所述方法还可以包括:
S11:在所述待加密信息中添加校验码信息;
相应的,所述将待加密信息转换为预定格式的多项式可以包括:将添加校验码的待加密信息转换为预定格式的多项式。
所述校验码可以包括由原始数据通过一定规则的运算得出的一位或多位用于检验所述原始数据正确性的数据。在本实施例中可以在采用循环冗余校验码(CyclicRedundancyCheck,CRC)的作为所述校验码添加至所述待加密信息的末尾,可以用于后续信息解密时验证解密后信息的正确性。在所述待加密信息长度为k个bit,加入的校验码长度为r个bit时,可以通过采用下述方式得到所述校验码:
将待加密信息向左移r位,形成第一信息码;
利用选定的校验数据模2除所述第一信息码,得到的余数作为待加密信息的校验码。
具体的一个例子中,待加密信息为7位二进制数据1011101,选定的校验数据为10101,校验码长度为4位二进制数据,则可以将所述待加密信息左移4位后形成第一信息码10111010000。然后利用选定的校验数据10101模2除所述第一信息码10111010000,得到的余数为0111,即待加密信息1011101的校验码为0111,可以将校验码0111添加到所述待加密信息1011101后形成第一待加密信息10111010111。本实施例中具体的添加校验码的位数可以根据数据处理的需求进行设置,例如可以在所述待加密信息为32位的密钥数据后添加8位循环冗余校验码。
本申请所述的一种所述信息加密方法的另一种实施方式中,可以提高增加加密后的信息的复杂程度,提高加密后的信息的安全性,还可以在所述第一加密信息中添加杂凑数据。具体的,图3是本申请所述一种信息加密方法的另一种实施例的流程示意图,如图3所述,所述信息加密方法还可以包括:
S4:在所述第一加密信息中添加杂凑数据。
该实施例中可以将随机生成或自定义的与所述加密后的信息数据结构相同的杂凑数据添加到所述加密后的第一加密信息中,具体的可以添加到所述加密后的信息的特定位置,也可以随机添加到所述加密后的信息的某一位置。例如可以将随机生成的杂凑数据(9,65521)添加到所述加密后的二维数据组中,形成新的加密后的信息,例如可以形成新的添加杂凑数据的二维数据组{(8,43664),(9,65521),(10,83026),(12,140964),…,(296,1951490480)}。所述添加的杂凑数据通常可以不包括符合所述待加密信息转换的多项式关系的数据组。本申请中所述第一加密信息中添加的杂凑数据越多,加密后的信息的隐蔽性越好,安全性也越高。实际所述杂凑数据的添加量可以根据信息的加密需求或后续信息解密的要求进行设置。
上述实施例中可以在所述加密后的第一加密信息中添加杂凑数据,可以进一步增加加密信息的安全性。当然,也可以在上述待加密信息中添加校验码信息形成的第一加密信息中添加杂凑数据。
根据本申请提供的结合生物特征信息对数据进行加密的方法,本申请提供一种信息解密方法。图4是本申请所述一种信息解密方法的一种实施例的流程示意图,如图4所述,所述信息解密方法可以包括:
S1’:提取生物特征信息,获取待验证生物特征数据。
所述生物特征信息的提取方法以及从所述生物特征信息中获取待验证生物特征数据的处理过程可以参照上述信息加密方法中的S2,在此不做赘述。所述获取的待验证生物特征数据可以采用统一的一维数据组的形式进行保存。例如,所述待验证生物特征数据可以为采用智能感知算法获取的128位的一维数据组{b1,b2,b3…,b128},具体的例如可以为bn={8,10,13,13,14,…,298}。
S2’:获取样本数据库中存储的加密后的样本数据,将所述样本数据与所述待验证生物特征数据按照预定匹配规则进行匹配,并将符合匹配要求的样本数据作为候选样本数据。
所述的样本数据库可以包括服务器或专门的数据库存储的原始信息经过加密后的样本数据的存储单元。本实施例中所述的样本数据可以包括在对所述原始信息进行加密后形成的二维数据组。例如本实施例中所述样本数据可以为存储在所述样本数据库中的样本数据{(a1,p(a1)),(a2,p(a2)),(a3,p(a3)),…,(an,p(an))},其中{a1,a2,a3…,an}为所述样本数据中的生物特征数据。在本实施例所述信息解密方法中可以按照预定的匹配规则将所述样本数据与所述待验证生物特征数据进行匹配,并可以将符合预先设置的匹配要求的样本数据作为候选样本数据。在本实施例中,所述符合匹配要求的样本数据可以包括在所述获取的样本数据中,生物特征数据与所述待验证生物特征数据相同或相近的数据的个数最多的样本数据,相应的,所述预定匹配规则可以根据设置的匹配要求进行预先设置。具体的在一种实施方式中,所述将所述样本数据中的生物特征数据与所述待验证生物特征数据按照预定匹配规则进行匹配,并将符合匹配要求的样本数据作为候选样本数据可以包括:
S201’:逐一比较所述待验证生物特征数据中的数据与所述样本数据中的数据是否相同,并将比较的数据相同个数最多的且匹配率不小于预先设置的最小匹配率的样本数据作为候选样本数据。
在本实施例中,所述预定匹配规则可以包括逐一比较所述待验证生物特征数据中的数据与所述样本数据中的数据是否相同,所述符合匹配要求可以包括所述比较的数据相同个数最多的且匹配率不小于预先设置的最小匹配率。在该实施例的匹配方法的一种情况中,所述比较的结果为所述选取的样本数据中的生物特征数据包括所述待验证生物特征数据中的所有数据时,可以表示所述选取的样本数据中的生物特征数据与所述待验证生物特征数据属于同一生物主体上的相同生物特征信息。此时可以认为所述提取的待验证的生物特征数据为对该样本数据中的原始信息进行加密的生物特征数据,可以将该样本数据作为候选样本数据进行后续的信息解密。
在另一种情况下,由于生物特征信息提取方法不同或生物特征提取的范围不相同等因素的影响,所述待验证生物特征数据通常可以与信息加密时的生物特征数据不完全相同。此时,可以从获取的样本数据中生物特征数据包括待验证生物特征数据个数最多的样本数据作为候选样本数据。同时,为了保障所述候选样本数据中的生物特征数据与所述待验证生物特征数据满足一定的匹配条件,可以预先设置最小匹配率,例如所述最小匹配率设置为50%时可以表示样本数据中的生物特征数据与所述待验证生物特征数据至少有50%的数据相同或相近。
具体的一个例子中,可以获取所述特征数据库中存储的至少一个样本数据,例如可以获取第一样本数据为128位的二维数据组{(a1,p(a1)),(a2,p(a2)),(a3,p(a3)),…,(a128,p(a128))},该样本数据中的生物特征数据为一维数据组{a1,a2,a3…,a128}。设置的匹配要求可以为样本数据中的生物特征数据与待验证生物特征数据相同数据的个数最多且样本数据的匹配率不小于89%。在信息解密时,可以通过指纹提取器提取生物主体的指纹特征信息并经过相应的处理得到128位的一维待验证生物特征数据{b1,b2,b3…,b128}。此时可以比较所述第一样本数据中的生物特征数据{a1,a2,a3…,a128}与所述待验证生物特征数据{b1,b2,b3…,b128}中数据相同的数据的个数,比较的结果为样本数据中的128个生物特征数据中有125个数据与所述待验证生物特征数据相同。同时还可以设置最小匹配率,所述样本数据中的生物特征数据的匹配率可以采用公式:匹配率=数据相同个数/待验证生物特征数据个数*100%计算。在本例中,可以设置最小匹配率为89%,可以表示所述样本数据中的生物特征数据中至少包括所述待验证生物特征数据中89%的数据。在选取的第一样本数据中的生物特征数据{a1,a2,a3…,a128}包括所述待验证生物特征数据中的数据个数为125个,匹配率为97.66%,大于设置的最小匹配率89%,同时后续选取的其他样本数据中生物特征数据所包括的待验证生物特征数据的个数均小于125个,因此所述第一样数据符合预先设置的匹配要求,可以选取所述第一样本数据作为所述候选样本数据。
在另一种实施方案中,所述将样本数据中的生物特征数据与所述待验证生物特征数据按照预定匹配规则进行匹配,并将符合匹配要求的样本数据作为候选样本数据,可以根据所述样本数据中的生物特征数据与所述待验证生物特征数据的差值来选取候选样本数据,具体的可以包括:
S211’:利用下述公式计算所述样本数据中的生物特征数据与所述待验证生物特征数据的差值:
上述公式(2)中,m可以表示所述样本数据中的生物特征数据与所述待验证生物特征数据的差值,n可以表示所述待验证生物特征数中的数据个数,ai可以表示所述样本数据中的生物特征数据的第i个数据,bi可以表示所述待验证生物特征数中的第i个数据。
利用上述公式可以计算出不同样本数据的生物特征数据与所述待验证生物特征数据的差值,具体的例如,所述获取的待验证生物特征数据为b={12,14,16,18,20,22,24,26,28,30},获取的第二样本数据中的生物特征数据为a={12,13,16,18,21,22,23,26,29,30},利用上述公式(2)可以计算得出所述生物特征数据a与所述待验证生物特征数据b的差值为4。当然,也可以采用其他可以表示所述样本数据中的生物特征数据与所述待验证生物特征数据的差值的公式计算所述差值,例如下述公式(3):
上述公式(3)中,m可以表示所述样本数据中的生物特征数据与所述待验证生物特征数据的差值,n可以表示所述生物特征数据与所述待验证生物特征数中的数据个数,ai可以表示所述生物特征数据的第i个数据,bi可以表示所述待验证生物特征数中的第i个数据。
S212’:选取与所述待验证生物特征数据的差值最小且所述差值不大于预先设置的最大误差值的样本数据作为候选样本数据。
同样,可以采用上述公式(2)或(3)计算所述获取的其他样本数据的生物特征数据与所述待验证生物特征数据的差值,选取其中差值最小的样本数据作为所述候选样本数据。同时,为保障选取候选样本数据中的生物特征数据与所述待验证生物特征数据误差在合理范围内,可以设置所述差值可以允许达到的最大误差值。例如,可以设置所述最大误差值为100,利用公式(2)计算选取的第二样本数据的生物特征数据a与所述待验证生物特征数据b的差值m为4,小于设置的最大误差值100,且后续选取的其他样本数据的生物特征数据与所述待验证生物特征数据b的差值均大于4,因此,可以选取所述第二样本数据作为所述候选样本数据。
在另一种实施方式中,所述选取的样本数据中可以包括杂凑数据,因此所述选取的样本数据所包括的生物特征数据的个数可以大于所述待验证生物特征数据的个数,此时可以利用上述S201’的方法选取候选样本数据。本申请提供另一种信息解密的方法中,可以根据样本数据中的生物特征数据与所述待验证生物特征数据的差值来判断所述样本数据中的生物特征数据与所述待验证生物特征数据的匹配度。由于所述样本数据中的生物特征数据与所述待验证生物特征数据中的数据个数可以不相同,在计算差值时可以将与选取的某个待验证生物特征数据位置相同的样本数据中的生物特征数据周围的k个数据与所待验证生物特征数据相比较,取绝对值最小的差值作为所述样本数据的生物特征数据与所述选取的某个待验证生物特征数据的差值,可以依次计算完所述样本数据的生物特征数据与所述待验证生物特征数据中所有数据的差值,然后取所有所述差值的绝对值之和。具体的可以采用下述公式计算所述样本数据的生物特征数据与所述待验证生物特征数据的差值:
上述公式(4)中,m可以表示为所述样本数据的生物特征数据与所述待验证生物特征数据的差值,n可以表示所述待验证生物特征数中的数据个数,bi可以表示所述待验证生物特征数中的第i个数据,ai+j可以表示为所述样本数据中的生物特征数据的第i+j个数据,t可以表示为设置的偏移量,min(|ai+j-bi|)可以表示为样本数据中的第i个生物特征数据的前后t个数据与待验证生物特征数据中的第i个数据差值的绝对值最小的数据。例如获取的样本数据的生物特征数据为a={12,13,16,18,21,24,26,29,30},获取的待验证生物特征数据为b={12,14,18,20,26,28},设置的偏移量t为3。在计算所述待验证生物特征数据的b2=14与所述样本数据的生物特征数据的差值时,可以比较a2=13前后设置的偏移量3个数据与b2=14的差值的绝对值,即可以比较a1=12、a2=13、a3=16、a4=18、a5=21与b2=14的差值的绝对值,分别为2、1、2、4、7,选取绝对值差值最小的1作为所述样本数据中的生物特征数据与所述待验证生物特征数据b2=14比较的差值。可以按照上述方法依次计算完成所述待验证生物特征信息b中所有数据与所述样本数据中的生物特征数据的差值的绝对值,将其相加可以得到所述样本数据的生物特征数据与所述待验证生物特征数据的差值m。
当然,参照本申请其他实施例,所述计算所述样本数据的生物特征数据与所述待验证生物特征数据的差值的公式可以进行相应的变形,例如计算所述差值的公式也可以为:
或者为:
同上述实施例,计算获取的样本数据的生物特征数据与所述待验证生物特征数据的差值后,可以选取所述差值最小且所述差值不大于预先设置的最大误差值的样本数据作为候选样本数据。
获取特征数据库中存储的加密后的样本数据后,可以将所述样本数据与所述待验证生物特征数据按照预定的匹配规则进行匹配,将符合匹配要求的样本数据作为候选样本数据。
S3’:从所述候选样本数据中选取N组数据,利用拉格朗日插值法计算所述选取的N组数据所对应的拉格朗日插值多项式中的系数,N为预先设置的选取数据的组数。
通常所述预设设置的N中,N-1为拉格朗日插值公式中变量的最高次幂,所述选取的数据组个数N不大于所述样本数据中所包括的数据组个数L,即N≤L。
所述拉格朗日插值法可以是一种多项式插值方法,在该方法中,若已知某个多项式函数的N个自变量x1,x2,...,xN处的函数值为y1,y2,...,yN,则可以构建一个过这N个点的、次数不过N-1的朗格拉日插值多项式其中pj(x)为拉格朗日基本多项式,其表达式可以为:
在本实施例中,可以将样本数据{(a1,p(a1)),(a2,p(a2)),(a3,p(a3)),…,(an,p(an))}中的{a1,a2,a3…,an}代入上述公式(7)的自变量x,将上述样本数据中的{p(a1),p(a2),p(a3),…,p(an)作为上述公式(7)与所述自变量x对应的多项式的值,这样可以构建N个拉格朗日基本多项式,由构建的N个拉格朗日基本多项式和拉格朗日插值多项式可以求解得到f(x)的多项式系数。
下面以一个具体的应用示例说明本实施例中利用拉格朗日插值法计算选取的N组样本数据中所对应的拉格朗日插值多项式系数的过程。例如所述选取的样本数据可以为{(1,6),(5.25,5),(10,4)},所述样本数据中的三组数据可以表示为如下多项式yj=y(x)的对应关系:
y(1)=6,y(5.25)=5,y(10)=4,
进一步的可以根据公式(7)可以得出三个拉格朗日基本多项式,分别为:
然后利用上述朗格拉日插值多项式可以得到f(x)的表达式:
由上述计算得出的f(x)的多项式可以得到该多项式的系数,为(0.25,-7,34)。
在所述候选样本数据中选取N组数据带入朗格朗日插值多项式的公式中计算得出该组数据所对应的拉格朗日插值多项式的系数。
S4’:将所述获取到的拉格朗日插值多项式的系数按照预定组合顺序组成第一解密信息。
利用拉格朗日插值法获取拉格朗日插值多项式的系数后,可以按照预定的组合顺序将拉格朗日多项中每个单项式的系数重新组合,形成解密后的第一解密信息。例如可以按照系数所对应的单项式变量的幂数从高到低的顺序重新排列,组成第一解密信息,具体的例如计算得出的拉格朗日插值多项式为f(x)=75x^3+73x^2+65x^1+72x^0,可以按照变量x的降幂顺序将系数重新组合得到第一解密信息为:75736572。
本申请提供的一种信息解密方法,可以利用生物特征提取装置提取生物特征信息,获取待验证生物特征数据,将待验证生物特征数据与样本数据按照预定匹配规则进行匹配,将符合匹配要求的样本数据作为候选样本数据进行信息解密。在信息解密过程中可以利用拉格朗日插值法在已知多项式的自变量与因变量取值的情况下反求多项式的表达式,然后获取拉格朗日插值多项式的系数,进而获得加密的信息,完成对信息的解密。本申请的解密方法在信息解密时采用拉格朗日插值法反求后续样本数据所对应的系数,且解密过程中需要结合加密时的生物特征信息,使得加密的信息不容易被非法破解,提高了信息被非法解密的难度。
在另一种信息解密的实施例中,所述候选样本数据中的原始信息在加密时进行了分段处理,并由预定编码格式转换为第一预置数据格式。如前述中将待加密信息分成了k段,将每段中的待加密信息转换为十六进制的第一预置数据格式作为该段所对应的单项式的系数。在信息解密时,获取的所述第一解密信息可以为原始信息的第一预置数据格式,此时还需要将所述第一加密信息通过相应的变换转换为预定编码的数据格式,图5是本申请所述一种信息解密方法的另一种实施例中,如图5所示,所述方法还包括:
S5’:将所述第一解密信息按照预定转换规则转换为第二解密信息。
例如所述获取的第一解密信息为75736572,所对应的单项式的系数分别为75、73、65、72。所述第一解密信息可以为将二进制的待加密信息从高位到低位每8位二进制转换为2位的十六进制数据,因此可以按照预定转换规则将所述第一解密信息75736572从高位到低位每两位十六进制数据转换为8位的二进制数据,获取转换后的所述第二解密信息为:01110101011100110110010101110010。当然,在加密时原始信息处理的方法不相同,所述第一解密信息的预定转换规则可以不相同,转换后获取的第二解密信息也可以不相同。例如所述第一解密信息75736572为十进制数据时,按照上述预定转换规则获取的第二解密信息可以为:01001011010010010100000101001000。
在本申请所述一种信息解密方法的另一种实施例中,可以对所述第一解密信息或第二解密信息进行校验,以验证解密信息的正确性。具体的在本实施例中可以采用循环冗余校验。前述信息加密过程中,可以在所述待加密信息中加入校验码,例如在待加密信息末尾添加8为二进制循环冗余校验码,用于信息解密时验证解密的信息的正确性。图6是本申请所述一种信息解密方法的另一种实施例中,如图6所示,所述方法还可以包括:
S6’:对所述第一解密信息或第二解密信息进行循环冗余校验。
所述的循环冗余校验通常可以为利用固定位数的校验码来检测或校验数据在传输、保存、或是解密后是否存在错误的一种验证信息可靠性的方法。在获取所述第一解密信息或第二解密信息后可以利用信息加密时选取的校验数据对所述第一或第二解密信息进行校验。例如获取的第二解密信息为10111010111,选的校验数据为10101,如果所述第二解密信息10111010111模2除以校验数据10101后,余数为0,则可以表示所述获取的第二解密信息通过校验,为正确的原始数据。如果第二解密信息不能模2整除以校验数据,余数不为零,则可以表示信息在传输或保存中存在错误,所述获取的第二解密信息未通过校验,所述第二解密信息不是正确的原始数据。
本实施例中,可以利用循环冗余校验码对解密的信息进行进一步验证,以判断获取的解密信息是否为原始的加密信息,采用本实施例中的方法可以提高信息解密后获取数据的可靠性。
本申请所述的一种信息解密方法的另一种实施例中,所述获取的候选样本数据中添加杂凑数据时,可以利用上述循环冗余校验的方法对获取的第一解密信息或第二解密信息进行校验,如果所述第一解密信息或第二解密信息未通过校验,可以重新选取候选样本数据中的N组数据进行计算,获取新的解密信息。若新的解密信息仍未通过校验,则再次选取N组数据,直至遍历候选样本数据中的所有N组数据。图7是本申请所述一种信息解密方法的另一种实施例中,如图7所示,所述一种信息解密方法的另一种实施例中还可以包括:
S601’:在所述第一解密信息或第二解密信息未通过循环冗余校验时,从所述候选样本数据中重新选取N组数据,计算重新选取的N组数据所对应的拉格朗日插值多项式的系数,获取新的解密信息,并对所述新的解密信息进行循环冗余校验;直至遍历完所述候选样本数据L个数据中所有N组数据所对应的解密信息都未通过所述循环冗余校验时,所述信息解密的结果为失败。
所述候选样本数据包括杂凑数据时,所述候选样本数据中所包括的数据组的个数L通常大于信息加密时生物特征数据的个数。通常在所述候选样本数据中选取的数据的组数N可以为拉格朗日插值多项式中系数的个数,由于所述候选样本数据中可以包括杂凑数据,选取的N(N≤L)组数据中也可以包括杂凑数据,因此在获取所述第一解密信息或第二解密信息时还需要校验所述第一解密信息或第二解密信息是否为加密的原始信息。如果所述第一解密信息或第二解密信息未通过循环冗余校验,例如采用循环冗余校验码校验时获取的余数不为0,则需要重新选取N组数据再次计算重新选取的N组数据所对应的拉格朗日插值多项式的系数,获取新的解密信息,然后再对所述新的解密信息进行校验。如果遍历所述候选样本数据L个数据组中所有N组数据的组合所对应的新的解密信息都未通过校验,则可以表示该候选样本数据不能被所述待解密生物特征数据所解密,此次利用所述待解密生物特征数据进行信息解密的结果为失败。
基于本申请所述的一种信息加密方法,本申请提供一种信息加密装置,所述的信息加密装置可以包括通过计算机软件形成的应用的形式,进行信息加密的客户端或服务器可以包括所述应用。或者,所述信息加密装置可以包括由相应的硬件或硬件加软件的形式形成的实体装置。所述信息加密装置可以包括:
信息接收模块101,可以用于获取待加密信息;
生物信息模块102,可以用于提取生物特征信息,获取生物特征数据;
加密模块103,可以用于将所述生物特征数据按照预先设定的加密算法对所述待加密信息进行加密,形成第一加密信息。
图8是本申请所述的一种信息加密装置优选实施例的模块结构示意图,如图8所示,所述一种信息加密装置的加密模块103中可以包括:
信息转换模块113,可以用于将所述待加密信息转换为预定格式的多项式;
映射模块123,可以用于将所述生物特征数据代入所述多项式中计算得到多项式的值,基于所述生物特征数据与与所述生物特征数据相对应的多项式的值组成的二维数据形成第一加密信息。
图9是所述一种信息加密装置中信息转换模块113的结果示意图,如图9所示,所述信息转换模块113可以包括:
分段模块1131,可以用于将待加密信息分成k段,并将分段后的待加密信息从高位到低位分别用单项式a1*x^(k-1),a2*x^(k-2),…,ak*x^0表示;
第一预置数据模块1132,可以用于将所述分段后的每段待加密信息转换为第一预置数据格式,并将所述转换后的第一预置数据格式的待加密信息作为该段所对应的单项式的系数;
多项式构建模块1133,可以用于基于所述以第一预置数据格式的待加密信息为系数的k段单项式构建待加密信息的多项式。
图10是所述一种信息加密装置的另一种实施方式的模块结构示意图,如图10所示,所述一种信息加密装置还可以包括:
校验码添加模块104,可以用于生成校验码,并向所述待加密信息中添加校验码信息;
相应的,所述信息转换模块1将待加密信息转换为预定格式的多项式可以包括:将添加校验码的待加密信息转换为预定格式的多项式。
图11是所述一种信息加密装置的另一种实施方式的模块结构示意图,如图11所示,所述一种信息加密装置还可以包括:
杂凑数据模块105,可以用于生成杂凑数据,并将所述杂凑数据添加至所述第一加密信息中。
所述成长的杂凑数据的数据格式可以与所述第一加密信息的数据格式相同。
基于本申请所述的信息解密方法,本申请提供一种信息解密装置。同上述信息加密装置,本申请所述的信息解密装置可以包括通过计算机软件形成的应用的形式,进行信息解密的客户端或服务器可以包括所述应用。或者,所述信息解密装置可以包括由相应的硬件或硬件加软件的形式形成的实体装置。图12是所述一种信息解密装置的一种实施例的模块结构示意图,如图12所示,所述一种信息解密装置可以包括:
生物特征提取模块201,可以用于提取生物特征信息,获取待验证生物特征数据;
预定匹配规则模块202,可以用于存储预先设置的样本数据与待验证生物特征数据的预定匹配规则和候选样本数据的匹配要求;
特征匹配模块203,可以用于获取样本数据库中存储的样本数据,并根据所述预定匹配规则和匹配要求选取候选样本数据;
数据选取模块204,可以用于从选取的候选样本数据中选取N组数据,N为预先设置的选取的数据的组数;
系数计算模块205,可以用于利用拉格朗日插值法计算所述选取的N组数据所对应的拉格朗日插值多项式中的系数;
第一解密模块206,可以用于将所述获取到的拉格朗日插值多项式的系数按照预定组合顺序组成第一解密信息。
上述一种信息解密装置的一种实施例中,所述预定匹配规则模块202中存储的预定匹配规则和候选样本数据的匹配要求可以包括:
所述预定匹配规则可以包括:逐一比较所述待验证生物特征数据中的数据与所述样本数据中的数据是否相同;
所述候选样本数据的匹配要求可以包括:将所述比较的数据相同个数最多且匹配率不小于预先设置的最小匹配率的样本数据作为候选样本数据。
所述一种信息解密装置的另一种实施例中,所述预定匹配规则模块202中存储的预定匹配规则和候选样本数据的匹配要求可以包括:
所述匹配规则可以包括:
利用下述公式计算所述样本数据中的生物特征数据与所述待验证生物特征数据的差值:
或者,
或者,
或者,
或者,
上式中,m表示所述样本数据中的生物特征数据与所述待验证生物特征数据的差值,n表示所述待验证生物特征数中的数据个数,ai表示所述样本数据中的生物特征数据的第i个数据,bi表示所述待验证生物特征数中的第i个数据,ai+j表示所述样本数据中的生物特征数据的第i+j个数据,t表示设置的偏移量;
所述样本数据的匹配要求可以包括:将与所述待验证生物特征数据的差值最小且所述差值不大于预先设置的最大误差值的样本数据作为候选样本数据。
图13是所述一种信息解密装置的另一种实施例的模块结构示意图,如图13所示,所述一种信息解密装置可以包括:
第二解密模块207,可以用于将所述第一解密信息按照存储的预定转换规则转换为第二解密信息。
所述预定转换规则可以根据信息加密时对原始数据的处理过程进行设置,以用于将第一解密信息转换为原始信息的第二解密信息。
图14是所述一种信息解密装置的另一种实施例的模块结构示意图,如图14所示,所述一种信息解密装置可以包括:
循环校验模块208,可以用于对所述第一解密信息或第二解密信息进行循环冗余校验。
在所述一种信息解密装置的另一种实施例中,所述获取的候选样本数据中添加杂凑数据时,可以利用上循环校验模块208对获取的第一解密信息或第二解密信息进行校验,如果所述第一解密信息或第二解密信息未通过校验,可以重新选取候选样本数据中的N组数据进行计算,获取新的解密信息。若新的解密信息仍未通过校验,则再次选取N组数据,直至遍历候选样本数据中的所有N组数据。图15是所述一种信息解密装置的另一种实施例的模块结构示意图,如图15所示,所述一种信息解密装置还可以包括:
数据重选判断模块209,可以用于在解密信息未通过循环冗余校验时,从所述候选样本数据中重新选取N组数据并发送至系数计算模块205,获取新的解密信息,并判断所述新的解密信息是否通过循环校验;直至遍历完所述候选样本数据L个数据中所有N组数据所对应的解密信息都未通过所述循环冗余校验时,发送解密失败信息。
上述一种信息解密装置,可以结合生物特征信息以及解密装置中模块采用的特定解密算法可以解密候选样本数据,获取原始信息。本申请结合生物特征信息进行解密的装置,降低了原始信息被非法解密的风险。
本申请提供一种信息加密、解密方法及装置,可以结合生物特征信息采用特定数据转换和加密算法对待加密信息进行加密,提高了加密信息的安全性。本申请中的加密方法采用了将待加密信息构建成预定格式多项式的形式,然后将生物特征数据映射到所述多项中,提高了信息加密的复杂程度,提高了信息加密的安全性。同时,本申请在信息解密时采用特定算法验证生物特征信息,降低了加密信息被非法解密的风险。
上述实施例阐明的装置或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、移动终端、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。