CN101895390A - 一种加解密方法、装置及系统 - Google Patents

一种加解密方法、装置及系统 Download PDF

Info

Publication number
CN101895390A
CN101895390A CN2010190630039A CN201019063003A CN101895390A CN 101895390 A CN101895390 A CN 101895390A CN 2010190630039 A CN2010190630039 A CN 2010190630039A CN 201019063003 A CN201019063003 A CN 201019063003A CN 101895390 A CN101895390 A CN 101895390A
Authority
CN
China
Prior art keywords
sign indicating
indicating number
algorithm
unit
place sign
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010190630039A
Other languages
English (en)
Other versions
CN101895390B (zh
Inventor
徐良衡
徐良刚
陈德秋
王宗国
周立雄
吴超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Tianchen micro nano technology Co., Ltd
Original Assignee
Tianchen New Technology Co Ltd Fudan Univ Shanghai
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianchen New Technology Co Ltd Fudan Univ Shanghai filed Critical Tianchen New Technology Co Ltd Fudan Univ Shanghai
Priority to CN2010190630039A priority Critical patent/CN101895390B/zh
Publication of CN101895390A publication Critical patent/CN101895390A/zh
Application granted granted Critical
Publication of CN101895390B publication Critical patent/CN101895390B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明实施例公开了一种加解密方法、装置及系统,其加密方法包括:获取N位原码,并设定C位校验码,所述N和C为正整数;根据校验码数值从预先建立的加密算法组中选择对应的加密算法对所述原码进行加密;根据加密后的N位数码选择预设的加密算法对C位校验码进行加密。本发明实施例公开的加解密方法、装置及系统中,预先设置了多组加解密算法,根据密文的校验码来确定具体的加解密算法,然后利用加密得到的密码选择加密算法对校验码进行加密,从而实现了双重加密,这就使得密文被破解的难度提高,即使其中某个密文的加密算法被破解,也很难类推到其他密文上去,提高了加解密过程的安全性。

Description

一种加解密方法、装置及系统
技术领域
本发明涉及数码防伪领域,尤其涉及一种加解密方法、装置及系统。
背景技术
目前,假冒伪劣商品扰乱了企业正常的经营,损害了企业、消费者的利益,为了保护企业市场、保护广大消费者合法权益,企业通常采取数码防伪作为防范性措施。消费者购买到贴有数码防伪标识物的商品,只需拨打电话或上因特网,输入商品上的编码,即可知道产品的真伪,从而突破了传统的防伪产品容易被批量防冒及消费者不易识别的局限性,维护消费者合法权益以及保障正常合法的经济秩序。
传统的获取防伪码的方法是使用现有的加解密算法对代表产品信息的明文直接加密,所用的加解密算法一旦确定,所有的明文只对应同一种加解密算法,加密算法单一,一旦一个被破解成功所有的密文都会被破解,安全性不高。
发明内容
本发明提供了一种加解密方法、装置及系统,以解决现有技术中加解密方法安全性低的问题。
一种加密方法,包括:
获取N位原码,并设定C位校验码,所述N和C为正整数;
根据校验码数值从预先建立的加密算法组中选择对应的加密算法对所述原码进行加密;
根据加密后的N位数码选择预设的加密算法对C位校验码进行加密。
优选的,还包括:
将加密后的N位数码和C位校验码组成N+C位数码,从N+C位数码中任意选择一位作为选择码,根据选择码从预先建立的可逆矩阵组中选择其对应的N+C-1阶可逆矩阵;
将上述步骤中剩余的N+C-1位数码与所述选择的N+C-1阶可逆矩阵相乘;
将所述选择码插入到所述相乘得到的N+C-1位结果中其对应的位置,组成N+C位密码。
优选的,所述加密算法组中的算法为进行模K处理后的算法,所述K为正整数。
优选的,所述按照算法类型建立的算法组包括:乱序算法组、对称加密算法组和校验码加密算法组。
优选的,所述对称加密算法为乱序算法、hill加密、vigenere加密和仿射变换算法的组合。
优选的,所述根据校验码数值从预先建立的加密算法组中选择对应的加密算法对所述原码进行加密的具体过程为:
根据校验码的前a位数字数值从预先建立的原码乱序算法组中选择对应的原码乱序算法,并对N位原码进行乱序加密;
根据校验码剩余的b位数字数值从预先建立的对称加密算法组中选择对应的对称加密算法,对乱序后的原码进行对称加密。
优选的,所述根据加密后的N位数码选择预设的加密算法对校验码进行加密的具体过程为:
将加密后的N位数码相加,得到N位数码之和;
将得到的N位数码之和与所述的校验码加密算法组中的种类数D进行模运算;
根据模运算结果选择对应的校验码加密算法对C位校验码进行加密。
优选的,所述将加密后的N位数码和C位校验码组成N+C位数码,从N+C位数码中任意选择一位作为选择码,根据选择码从预先建立的矩阵组中选择其对应的N+C-1阶可逆矩阵的过程具体为:
将加密后的N位数码和C位校验码按照N位数码在前,C位数码在后的顺序组成N+C位数码;
选择所述N+C位数码的第一位作为选择码,根据其数值选择预先建立的可逆矩阵组中对应的N+C-1阶矩阵。
一种解密方法,包括:
获得N+C位密码,所述N+C位密码中包括与原码对应的N位密码和与校验码对应的C位密码;
根据所述N+C位数码中与原码对应的N位密码,选择预设的解密算法,对N+C位数码中与校验码对应的C位数码进行解密,得到校验码;
根据所述校验码的数值从预先建立的解密算法组中选择对应的解密算法,对所述N+C位数码中与原码对应的N位数码进行解密。
优选的,所述获得N+C位密码后还包括:
从N+C位密码中任意选择一位作为选择码,根据选择码从预先建立的可逆矩阵组中选择其对应的N+C-1阶可逆矩阵;
将上述步骤中剩余的N+C-1位密码与所述选择的N+C-1阶可逆矩阵相乘;
将所述选择码插入到所述相乘得到的N+C-1位结果中其对应的位置,组成N+C位数码。
优选的,所述解密算法组中的算法为进行模K处理后的算法。
一种加密装置,包括:校验码设定单元、原码加密单元和校验码加密单元,其中:
所述校验码设定单元用于,为获取的N位原码设定C位校验码;
所述原码加密单元用于,根据所述校验码设定单元设定的校验码数值从预先建立的加密算法组中选择对应的加密算法对所述原码进行加密;
所述校验码加密单元用于,根据所述原码加密单元加密后的N位数码选择预设的加密算法对C位校验码进行加密。
优选的,还包括:第一数码组合单元、第一矩阵选择单元、第一相乘单元和第二数码组合单元,其中:
所述第一数码组合单元用于,将加密后的N位数码和C位校验码组成N+C位数码;
所述第一矩阵选择单元用于,从所述第一数码组合单元组合的N+C位数码中任意选择一位作为选择码,根据选择码从预先建立的可逆矩阵组中选择其对应的N+C-1阶可逆矩阵;
所述相乘单元用于,将上述步骤中剩余的N+C-1位数码与所述第一矩阵选择单元选择的N+C-1阶可逆矩阵相乘;
所述第二数码组合单元用于,将所述选择码插入到所述第一相乘单元相乘得到的N+C-1位结果中其对应的位置,组成N+C位密码。
优选的,还包括:模K单元,
所述模K单元用于,对加密算法组中的算法进行模K处理。
一种解密装置,包括:密码获取单元、校验码解密单元和原码解密单元,其中:
所述密码获取单元用于,获得N+C位密码,所述N+C位密码中包括与原码对应的N位密码和与校验码对应的C位密码;
所述校验码解密单元用于,根据所述N+C位密码中与原码对应的N位数码,选择预设的解密算法,对N+C位数码中与校验码对应的C位数码进行解密,得到校验码;
所述原码解密单元用于,根据所述校验码解密单元得到的校验码数值从预先建立的解密算法组中选择对应的解密算法,对所述N+C位数码中与原码对应的N位数码进行解密。
优选的,还包括:第二矩阵选择单元、第二相乘单元和第三数码组合单元,其中:
所述第二矩阵选择单元用于,从N+C位密码中任意选择一位作为选择码,根据选择码从预先建立的可逆矩阵组中选择其对应的N+C-1阶可逆矩阵;
所述第二相乘单元用于,将上述步骤中剩余的N+C-1位密码与所述第二选择单元选择的N+C-1阶可逆矩阵相乘;
所述第三数码组合单元用于,将所述选择码插入到所述第二相乘单元相乘得到的N+C-1位结果中其对应的位置,组成N+C位数码。
优选的,还包括:模K单元,
所述模K单元用于,对解密算法组中的算法进行模K处理。
一种加解密系统,包括:加密装置和解密装置,其中:
所述加密装置包括:第一数码组合单元、第一矩阵选择单元、第一相乘单元和第二数码组合单元,其中:
所述第一数码组合单元用于,将加密后的N位数码和C位校验码组成N+C位数码;
所述第一矩阵选择单元用于,从所述第一数码组合单元组合的N+C位数码中任意选择一位作为选择码,根据选择码从预先建立的可逆矩阵组中选择其对应的N+C-1阶可逆矩阵;
所述相乘单元用于,将上述步骤中剩余的N+C-1位数码与所述第一矩阵选择单元选择的N+C-1阶可逆矩阵相乘;
所述第二数码组合单元用于,将所述选择码插入到所述第一相乘单元相乘得到的N+C-1位结果中其对应的位置,组成N+C位密码;
所述解密装置包括:密码获取单元、校验码解密单元和原码解密单元
所述密码获取单元用于,获得N+C位密码,所述N+C位密码中包括与原码对应的N位密码和与校验码对应的C位密码;
所述校验码解密单元用于,根据所述N+C位密码中与原码对应的N位数码,选择预设的解密算法,对N+C位数码中与校验码对应的C位数码进行解密,得到校验码;
所述原码解密单元用于,根据所述校验码解密单元得到的校验码数值从预先建立的解密算法组中选择对应的解密算法,对所述N+C位数码中与原码对应的N位数码进行解密。
优选的,所述加密装置还包括:第一数码组合单元、第一矩阵选择单元、第一相乘单元和第二数码组合单元,其中:
所述第一数码组合单元用于,将加密后的N位数码和C位校验码组成N+C位数码;
所述第一矩阵选择单元用于,从所述第一数码组合单元组合的N+C位数码中任意选择一位作为选择码,根据选择码从预先建立的可逆矩阵组中选择其对应的N+C-1阶可逆矩阵;
所述第一相乘单元用于,将上述步骤中剩余的N+C-1位数码与所述第一矩阵选择单元选择的N+C-1阶可逆矩阵相乘;
所述第二数码组合单元用于,将所述选择码插入到所述第一相乘单元相乘得到的N+C-1位结果中其对应的位置,组成N+C位密码;
所述解密装置还包括:第二矩阵选择单元、第二相乘单元和第三数码组合单元,其中:
所述第二矩阵选择单元用于,从N+C位密码中任意选择一位作为选择码,根据选择码从预先建立的可逆矩阵组中选择其对应的N+C-1阶可逆矩阵;
所述第二相乘单元用于,将上述步骤中剩余的N+C-1位密码与所述第二选择单元选择的N+C-1阶可逆矩阵相乘;
所述第三数码组合单元用于,将所述选择码插入到所述第二相乘单元相乘得到的N+C-1位结果中其对应的位置,组成N+C位数码。
优选的,所述系统还包括:模K单元,所述模K单元用于,对加解密算法组中的算法进行模K处理。
从上述的技术方案可以看出,本发明实施例公开的加解密方法,预先设置了多组加解密算法,根据密文的校验码来确定具体的加解密算法,然后利用加密得到的密码选择加密算法对校验码进行加密,从而实现了双重加密,这就使得密文被破解的难度提高,即使其中某个密文的加密算法被破解,也很难类推到其他密文上去。提高了加密的安全性。
利用加密后的密码中任意一位的数值选择一个矩阵与加密后密码相乘,在一定程度上增加了加密方法的复杂度,同时也增加了解密的复杂度,进一步提高了加解密过程的安全性。
而且将采用的加解密算法进行模K处理,使得加密得到的密文能够根据需要转换到其需要的任意K进制数。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明公开的加密算法的流程图;
图2为本发明实施例1公开的加密算法的流程图;
图3为本发明实施例2公开的加密算法的流程图;
图4为本发明实施例3公开的加密算法的流程图;
图5为本发明实施例3公开的加密算法中的可逆矩阵M的示意图;
图6为本发明公开的解密算法的流程图;
图7为本发明实施例4公开的解密算法的流程图;
图8为本发明实施例5公开的解密算法的流程图;
图9为本发明实施例6公开的解密算法的流程图;
图10为本发明实施例6公开的解密算法中的可逆矩阵M′的示意图;
图11为本发明公开的加密装置的结构示意图;
图12为本发明公开的解密装置的结构示意图;
图13为本发明公开的加解密系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种加密方法,以实现提高加密的安全性的目的。其具体流程如图1所示,包括:
步骤S11、获取N位原码,为N位原码设定C位校验码,N和C都为正整数;
步骤S12、根据校验码从预先建立的加密算法组中选择对应的加密算法对N位原码进行加密;
步骤S13、根据加密后的N位数码选择对应的加密算法对校验码进行加密。
通过上述过程可以对一组原码任意的设定校验码,然后根据校验码从多个算法中选择加密算法,增强了算法选择的随机性,同时,利用加密得到的密码选择加密算法对校验码也进行加密,从而实现了双重加密,增大了密文被破解的难度。
根据上述思想,本发明的具体实施方式如下所述:
实施例一
本发明实施例1公开的加密方法的流程如图2所示,包括:
步骤S21、获取N位原码,为N位原码设定C位校验码;
步骤S22、根据校验码从预先建立的加密算法组中选择对应的加密算法对N位原码进行加密;
步骤S23、根据加密后的N位数码选择对应的加密算法对校验码进行加密。
步骤S24、将加密后的N位数码和C位校验码组成N+C位数码,从N+C位数码中任意选择一位作为选择码,根据选择码从预先建立的矩阵组中选择其对应的N+C-1阶矩阵;
步骤S25、将上述步骤中剩余的N+C-1位数码与所述选择的N+C-1阶可逆矩阵相乘;
步骤S26、将所述选择码插入到所述相乘得到的N+C-1位结果中其对应的位置,组成N+C位密文。
当需要对其他进制的数码进行加密时,所述方法中还包括:将加密算法组中的加密算法进行模K处理;也就是将每个算法的结果模K,使得其加密结果转换为对应的K进制数。K为整数,一般为2-16中的任意值。
上述方法中加入了对加密后密码进行矩阵相乘的过程,在一定程度上增加了加密过程的复杂性,同时也就增加了解密的复杂度。
实施例二
本实施例公开的加密方法的流程如图3所示,包括:
步骤S31、获取N位原码,为N位原码设定C位校验码;
步骤S32、根据校验码的前a位数字从预先建立的原码乱序算法组中选择第a种原码乱序算法,并对N位原码进行乱序;
步骤S33、根据校验码剩余的b位数字从预先建立的对称加密算法组中选择第b种对称加密算法,对乱序后的原码进行对称加密算法。
在此处,利用校验码的数值,对N位原码进行了两次加密,并且选取了不同的加密方法,可以根据实际情况选择任意多种加密算法对原码进行加密。而且利用校验码的数值选择加密算法也可以有其他的形式,例如将检验码奇数位上的数选择乱序算法,偶数位上的数选择对称加密算法,都是可行的。
步骤S34、将加密后的N位数码相加,得到N位数码之和;
步骤S35、将得到的N位数码之和与预先建立的对称加密算法组中的种类数D进行模运算;
也可以对其进行乱序加密或仿射加密。对N位数码之和与D进行模运算的目的是,将数码之和转换为0-D中的数,从而可以找到对应的加密算法。并不限定这种根据N位数码之和进行模运算的方法,也可以是其他的形式,例如选取N位数码中的任意一位与D模,根据结果选择对应的加密算法。
步骤S36、将加密后的N位数码和C位校验码按照N位数码在前,C位数码在后的顺序组成N+C位数码;
步骤S37、选择所述N+C位数码的第一位作为选择码,根据其数值选择预先建立的矩阵组中对应的N+C-1阶可逆矩阵。
步骤S38、将选择码插入到相乘得到的N+C-1位数码的第一位,组成N+C位密文。
上述步骤中也可以选择C位校验码在前,N数码在后的顺序排列,选择码可以任意选取,只要保证在运算结束后将其插入到原来的位置即可。
由上述方案可以看出,本实施例公开的加密方法将实施例一中的步骤进一步细化,对每一次的加密算法选择规则进行了列举,但是,其选择规则并不限定于本实施例列举的类型。
本方法中根据加密算法类型预先设置了加密算法组,加密时,根据设定的C位校验码,来选择不同组中的不同种类的加密算法,同时由于C位校验码的随机性,所以对不同的N位原码进行加密选择的加密算法也存在着随机性,增加了解码的困难,从而解决了加密过程中加密算法单一、安全性低的问题。通过对加密算法的模K处理,也实现了该算法可以应用于多种进制数的加密过程,扩大了其适用范围。
实施例三
本实施例更进一步的公开的加密方法中各个步骤的具体实现,首先预先建立加密算法组,其中包含:10套校验码加密算法、10套对称加密算法和10套乱序算法,预先设定0-9的数值分别对应10套乱序算法L0到L9,20到29分别对应10套对称加密算法S0到S9,0到9分别对应10套校验码加密算法C0到C9。
本实施例中的算法都经过了模10处理,即将其算法后增加模10的步骤,将其加密后的密文转换为十进制数。经过验证,每一套对称加密算法主要是一种乱序算法和三种对称加密算法的复合,本实施例中这三种加密方法是hill加密、vigenere加密和仿射变换。
现假设C=3,N=19,校验码是(120),待加密的数码是(9876543210123456789),其加密过程流程图如图4所示,包括:
步骤S41、由校验码的第一位确定算法编号为1的19位数码乱序算法L1,其算法原理为:
设X1...X19为待乱序的原码,现将X19作他用,对前18位十进制数作乱序计算。
将X1...X18按如下方式排列成3×6的矩阵,
X 1 X 2 X 3 X 4 X 5 X 6 X 7 X 8 X 9 X 10 X 11 X 12 X 13 X 14 X 15 X 16 X 17 X 18
给定密钥K1=(6,3,1,5,4,2)定义置换算法f:将原矩阵的第6列放在第1列位置上,第3列放在第2列位置上,第1列放在第3列位置上,第5列放在第4列位置上,第4列放在第5列位置上,第2列放在第6列位置上。得出新矩阵,如下所示:
X 6 X 3 X 1 X 5 X 4 X 2 X 12 X 9 X 7 X 11 X 10 X 8 X 18 X 15 X 13 X 17 X 16 X 14
再按先行后列展开得:
X6 X3 X1 X5 X4 X2 X12 X9 X7 X11 X10 X8 X18 X15 X13 X17 X16X14
再将X19置于首位得到打乱后的数码:
X19 X6 X3 X1 X5 X4 X2 X12 X9 X7 X11 X10 X8 X18 X15 X13 X17X16 X14
根据上述原理经过乱序后的结果是(9479568213102853764)。
步骤S42、由校验码的后两位数字20确定一种对19位数码的对称加密算法S0,其算法原理如下所述:
设X1...X19为乱序后的数码,将此数码乘以一个19阶可逆矩阵,得到19位数码Y1...Y19。
对Y1...Y19,将其按3,3,3,3,3,3,1分成七组,对前六组给定K11所示,进行hill加密,对最后一位给定K12进行仿射变换,其中:
K 11 = 6 5 9 5 4 7 4 3 6 , K12=(3  7),其运算过程为:
Y 1 Y 2 Y 3 → K 11 ( Y 1 Y 2 Y 3 × K 11 ) mod 10 → Y ′ 1 Y ′ 2 Y ′ 3
Y 4 Y 5 Y 6 → K 11 ( Y 4 Y 5 Y 6 × K 11 ) mod 10 → Y ′ 4 Y ′ 5 Y ′ 6
Y 7 Y 8 Y 9 → K 11 ( Y 7 Y 8 Y 9 × K 11 ) mod 10 → Y ′ 7 Y ′ 8 Y ′ 9
· · · · · ·
Y 16 Y 17 Y 18 → K 11 ( Y 16 Y 17 Y 18 × K 11 ) mod 10 → Y ′ 16 Y ′ 17 Y ′ 18
Y 19 → K 12 ( Y 19 × 3 + 7 ) mod 10 → Y ′ 19
注:
(Yi Yi+1 Yi+2)×K11
=(Yi×6+Yi+1×5+Yi+2×4 Yi×5+Yi+1×4+Yi+2×3 Yi×9+Yi+1×7+Yi+2×6)
将一次加密所得数码倒序得:
Y′19 Y′18 Y′17 T′16 Y′15 Y′14 Y′13 Y′12 Y′11 Y′10 Y′9 Y′8 Y′7 Y′6 Y′5 Y′4 Y′3 Y′2 Y′1
再将其按3,3,3,3,3,3,1分成七组,对前六组给定P0和K21,用分组链接模式进行vigenere加密,对最后一位给定K22进行仿射变换,其中:
P0=(7,3,2),K21=(6,3,7),K22=(7,3)
其运算过程为:
Y 19 ′ Y 18 ′ Y 17 ′ → P 0 = ( 7,3,2 ) Y 19 ′ + 7 Y 18 ′ + 3 Y 17 ′ + 2 mod 10 = Z 1 Z 2 Z 3
Z 1 Z 2 Z 3 → K 21 = ( 6,3,7 ) Z 1 + 6 Z 2 + 3 Z 3 + 7 mod 10 = P 1 = P 11 P 12 P 13
Y 16 ′ Y 15 ′ Y 14 ′ → P 1 Y 16 ′ + P 11 Y 15 ′ + P 12 Y 14 ′ + P 13 mod 10 = Z 4 Z 5 Z 6
Z 4 Z 5 Z 6 → K 21 = ( 6,3,7 ) Z 4 + 6 Z 5 + 3 Z 6 + 7 mod 10 = P 2 = P 21 P 22 P 23
· · · · · ·
Y 4 ′ Y 3 ′ Y 2 ′ → P 5 Y 4 ′ + P 51 Y 3 ′ + P 52 Y 2 ′ + P 53 mod 10 = Z 16 Z 17 Z 18
Z 16 Z 17 Z 18 → K 21 = ( 6,3,7 ) Z 16 + 6 Z 17 + 3 Z 18 + 7 mod 10 = P 6 = P 61 P 62 P 63
Y 1 ′ → K 22 = ( 7,3 ) ( Y 1 ′ × 7 + 3 ) mod 10 = Z 19
二次加密后得密码:
P11 P12 P13 P21 P22 P23 P31 P32 P33 P41 P42 P43 P51 P52 P53 P61 P62 P63 Z19
为进一步改进加密效果,记上述结果为:T1 T2...T19,还可以由T1的取值决定一个18阶可逆矩阵A,将后18位数码乘以这个18阶矩阵,当T1的值为0,1,2,3,4,5,6,7,8,9时,对应着取18阶矩阵为A1,A2,A3,A4,A5,A6,A7,A8,A9,A10。乘完得19位数码U1U2...U19(U1=T1),再由U19的取值决定一个18阶可逆阵C,将前18位数码乘以这个18阶矩阵,当U19的值为0,1,2,3,4,5,6,7,8,9时,对应着取18阶矩阵为C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,乘得结果为V1V2...V19(V19=U19)。
根据上述原理,对上述乱序后的19位数码进行对称加密,得到密文为(8977637837931460603)。
上述原理中选取的密钥可以根据不同情况任意设置。
步骤S43、由以上密文之和mod10得到的结果7确定一种三位校验码对称加密算法C7,其算法原理为:
设原码为a1 a2 a3,给定密钥K1、K2和K3对其进行仿射加密,其中:K1=(32) K2=(78) K3=(34),其运算过程为:
a 1 → K 1 = 3 2 ( 3 × a 1 + 2 ) mod 10 = c 1 a 2 → K 2 = 7 8 ( 7 × a 2 + 8 ) mod 10 = c 2 a 3 → K 3 = 3 4 ( 3 × a 3 + 4 ) mod 10 = c 3 , c1 c2 c3为密码。
根据上述原理,对校验码做对称加密,加密后校验码密文为(5 2 4)。
上述过程中的K1、K2和K3的值可以任意选取,可逆矩阵A和C为满足相乘条件的任意矩阵。
步骤S44、将上述加密后的19位数码与加密后的校验码合并在一起形成一个22位的数码(8977637383793146060524),由此22位数码的第一位作为选择码,确定21阶可逆矩阵M如图5所示。
步骤S45、由除去选择码后的21位数码(977637383793146060524)乘以M得到21位密文(713985756566289934558)。
步骤S46、根据密文在后,所述选择码在前组成22位密文(8713985756566289934558)。
本发明实施例公开的加密方法,在选用的加密算法后增加了模10的步骤,使得密文转换为10进制数,这种方式还可以应用到对进制有其他要求的加密算法中,只要将选用的加密算法后采用模K,K为2-16中的任意数,就可将加密结果转换为任意进制,使得加密算法适用于任意进制的要求。本实施例中的矩阵也并不限定其具体值,只要其阶数与过程中需要的矩阵阶数相同皆可。
在步骤S42中,本发明并不限定对称加密算法的组合中为乱序算法、hill加密、vigenere加密和仿射变换。可以用其他对称加密算法替换hill加密,只是经过验证,hill加密加密效果更好一些。
本发明还公开了一种解密算法,对应于上述加密方法,使得整个加解密过程更加安全。其具体流程如图6所示,包括:
步骤S61、获得N+C位密码,所述N+C位密码中包括与原码对应的N位密码和与校验码对应的C位密码;
步骤S62、根据所述N+C位数码中与原码对应的N位密码,选择预设的解密算法,对N+C位数码中与校验码对应的C位数码进行解密,得到校验码;
步骤S63、根据所述校验码的数值从预先建立的解密算法组中选择对应的解密算法,对所述N+C位数码中与原码对应的N位数码进行解密。
当需要对其他进制的数码进行解密时,所述方法中还包括:将解密算法组中的解密算法进行模K处理;也就是将每个算法的结果模K,使得其解密结果转换为对应的K进制数。K为2-16中的任意值。解密时K的取值与加密时的K相同。所述的解密算法组中的解密算法与加密算法组中的算法一一对应。
该方法与加密方法相对应,从而实现将加密后的密文解密出最初的原文。
实施例四
本实施例公开的解密方法的流程如图7所示,包括:
步骤S71、获得N+C位密码后,从N+C位密码中任意选择一位作为选择码,根据选择码从预先建立的可逆矩阵组中选择其对应的N+C-1阶可逆矩阵;
步骤S72、将上述步骤中剩余的N+C-1位密码与所述选择的N+C-1阶可逆矩阵相乘;
步骤S73、将所述选择码插入到所述相乘得到的N+C-1位结果中其对应的位置,组成N+C位密码;
步骤S74、根据所述N+C位数码中与原码对应的N位密码,选择预设的解密算法,对N+C位数码中与校验码对应的C位数码进行解密,得到校验码;
步骤S75、根据所述校验码的数值从预先建立的解密算法组中选择对应的解密算法,对所述N+C位数码中与原码对应的N位数码进行解密。
本实施例公开的解密流程与实施例一中的加密流程相对应,其选择的解密算法也与加密过程中的加密算法相对应。
实施例五
本实施例公开的解密算法与实施例二相对应,其流程如图8所示,包括:
步骤S81、将N位密码和C位密码按照N位在前,C位在后的顺序组成N+C位密码;
步骤S82、选择所述N+C位密码的第一位作为选择码,根据其数值选择预先建立的可逆矩阵组中对应的N+C-1阶矩阵。
在此处,针对于上述加密方法中N+C位原码的排列顺序,此处的密码也采用N位在前C位在后的顺序,而且同样选择数码的第一位作为选择码,从而根据其数值,选择与加密过程中对应的可逆矩阵的逆矩阵。
步骤S83、将前N位数码相加,得到N位数码之和;
步骤S84、将得到的N位数码之和与所述的校验码解密算法组中的种类数D进行模运算;
步骤S83、根据模运算结果选择对应的校验码解密算法对所述N+C位数码中与校验码对应的C位数码进行解密;
也可以对其进行归序解密或仿射解密,其具体的解密算法与加密过程中此步骤中的算法相对应即可。对N位数码之和与D进行模运算的目的同样是,将数码之和转换为0-D中的数,从而可以找到对应的解密算法。同样并不限定这种根据N位数码之和进行模运算的方法,也可以是其他的形式,例如选取N位数码中的任意一位与D模,根据结果选择对应的解密算法,只要其形式与加密过程中此步骤的算法相同,保证其能找到与其对应的解密算法皆可。
步骤S84、根据校验码的后b位数数值从预先建立的对称解密算法组中选择对应的对称解密算法,对所述N+C位数码中与原码对应的N位数码进行对称解密;
步骤S85、根据校验码的前a位数数值从预先建立的归序算法组中选择对应的归序算法,并对解密后的N位数码进行归序。
在此处,根据加密过程,利用校验码的数值,对N位密码进行了两次解密,而且对应于加密算法选取了不同的解密方法,从而可以根据实际情况选择任意多种针对加密过程的解密算法。同样利用校验码的数值选择解密算法的过程也可以有其他的形式,例如将检验码奇数位上的数选择归序算法,偶数位上的数选择对称结密算法,都是可行的,只要保证与加密过程中对应的步骤选择的算法相对应即可。
本方法,针对加密方法过程,采用与其相反的过程对密码进行解密,保证能够安全准确的还原原码,与加密算法配合使用,解决了现有的加解密算法算法单一,安全性低的问题。
实施例六
针对实施例三中加密的过程,其具体的解密方式如下所述:
本实施例公开的解密方法中,预先建立语加密算法组中加密算法一一对应的解密算法组,其中包含:10套校验码解密算法、10套对称解密算法和10套归序算法,预先设定0-9的数值分别对应10套归序算法L0′到L9′,20到29分别对应10套对称解密算法S0′到S9′,0到9分别对应10套校验码解密算法C0′到C9′。
本实施例中的算法同样都经过了模10处理,即将其算法后增加模10的步骤,将其解密后的密文转换为十进制数。经过验证,每一套对称解密算法同样主要是一种归序算法和三种对称解密算法的复合,本实施例中这三种加密方法是hill加密、vigenere加密和仿射变换。
对加密过程得到的22位密文(8713985756566289934558)进行对应的解密,其解密过程如图9所示,包括:
步骤S91、选择根据19位原码加密后密码在前,C位校验码加密后密码在后的原则组成的22位密文中的第一位数字来选择一个对应的21阶可逆矩阵M的逆矩阵M′,如图10所示;
步骤S92、将除去选择码后的21位密码(713985756566289934558)乘以M′得到(977637383793146060524),
步骤S93、将选择码插入到相乘得到的结果中,则得到密码为(8977637383793146060524);
步骤S94、根据22位密文的排列顺序可得,后3位(524)为加密后的校验码,将上述步骤中的前19位数相加之和模10,得到7,根据此数字选择对应的校验码解密算法C7′,其原理如下所述:
设密码为c1c2c3,求出密钥的逆
Figure GSA00000035441700171
Figure GSA00000035441700173
再用其对c1c2c3进行解密,其过程为:
c 1 → K 1 - 1 = 7 6 ( 7 × c 1 + 6 ) mod 10 = a 1
c 2 → K 2 - 1 = 3 6 ( 3 × c 2 + 6 ) mod 10 = a 2
c 3 → K 3 - 1 = 7 2 ( 7 × c 3 + 2 ) mod 10 = a 3
根据上述原理对(524)进行解密得到校验码(120)。
步骤S95、由校验码的后两位数字20确定一种对19位数码的对称解密算法S0′,其算法原理如下所述:
在下述解密过程之前,先要做一下18阶矩阵的解密工作。取出V19即U19对应的加密算法中的18阶可逆阵的逆矩阵,将V1V2...V19的前18位数码乘以此逆矩阵,得U1U2...U19,再取出U1即T1所对应的加密算法中18阶可逆阵的逆矩阵,将U1U2...U19的后18位乘以此逆矩阵,得T1T2...T19。
记上述解密后的数码为:
P11 P12 P13 P21 P22 P23 P31 P32 P33 P41 P42 P43 P51 P52 P53 P61 P62 P63 Z19
将其按3,3,3,3,3,3,1分成七组,对前六组给定P0的逆和K21的逆,对最后一位给定K22,其中:
P 0 - 1 = ( - P 01 + 10 , - P 02 + 10 , - P 02 + 10 ) = ( 3,7,8 ) ,
K21 -1=(6,3,7)-1=(4,7,3)
K 22 - 1 = ( 7,3 ) - 1 = ( 3,1 ) 其计算过程为:
P 61 P 62 P 63 → K 21 - 1 = ( 6,3,7 ) - 1 = ( 4,7,3 )
P 61 + 4 P 62 + 7 P 63 + 3 mod 10 = L 1 L 2 L 3
L 1 L 2 L 3 → P 5 - 1 = ( - P 51 + 10 , - P 52 + 10 , - P 53 + 10 )
L 1 - P 51 + 10 L 2 - P 52 + 10 L 3 - P 53 + 10 mod 10 = Y 4 ′ Y 3 ′ Y 2 ′
P 51 P 52 P 53 → K 21 - 1 = ( 6,3,7 ) - 1 = ( 4,7,3 )
P 51 + 4 P 52 + 7 P 53 + 3 mod 10 = L 4 L 5 L 6
L 4 L 5 L 6 → P 4 - 1 = ( - P 41 + 10 , - P 42 + 10 , - P 43 + 10 )
L 4 - P 41 + 10 L 5 - P 42 + 10 L 6 - P 43 + 10 mod 10 = Y 7 ′ Y 6 ′ Y 5 ′
· · ·
P 11 P 12 P 13 → K 21 - 1 = ( 6,3,7 ) - 1 = ( 4,7,3 )
P 11 + 4 P 12 + 7 P 13 + 3 mod 10 = L 16 L 17 L 18
L 16 L 17 L 18 → P 0 - 1 = ( - P 01 + 10 , - P 02 + 10 , - P 02 + 10 )
L 16 - P 01 + 10 L 17 - P 02 + 10 L 18 - P 02 + 10 mod 10 = Y 17 ′ Y 18 ′ Y 19 ′
Z 19 → K 22 - 1 = ( 7,3 ) - 1 = ( 3,1 ) ( Y 1 ′ × 3 + 1 ) mod 10 = Y 1 ′
将一次解密后所得数码倒序后得:
Y′1 Y′2 Y′3 Y′4 Y′5 Y′6 Y′7 Y′8 Y′9 Y′10 Y′11 Y′12 Y′13 Y′14 Y′15 Y′16 Y′17 Y′18 Y′19
将其按3,3,3,3,3,3,1分成七组,对前六组给定K11的逆进行hill加密,对最后一组给定K12的逆,进行仿射加密,其中:
K 11 - 1 = 6 5 9 5 4 7 4 3 6 - 1 mod 10 = 7 3 1 2 0 7 1 8 1 , K 12 - 1 = 3 7 - 1 = 7 1 , 计算过程为:
Y 1 ′ Y 2 ′ Y 3 ′ → K 11 - 1 ( Y 1 ′ Y 2 ′ Y 3 ′ × K 11 - 1 ) mod 10 → Y 1 Y 2 Y 3
Y 4 ′ Y 5 ′ Y 6 ′ → K 11 - 1 ( Y 4 ′ Y 5 ′ Y 6 ′ × K 11 - 1 ) mod 10 → Y 4 Y 5 Y 6
Y 7 ′ Y 8 ′ Y 9 ′ → K 11 - 1 ( Y 7 ′ Y 8 ′ Y 9 ′ × K 11 - 1 ) mod 10 → Y 7 Y 8 Y 9
· · · · · ·
Y 16 ′ Y 17 ′ Y 18 ′ → K 11 - 1 ( Y 16 ′ Y 17 ′ Y 18 ′ × K 11 - 1 ) mod 10 → Y 16 Y 17 Y 18
Y ′ 19 → K 12 - 1 = ( 3,7 ) - 1 = ( 7,1 ) ( Y ′ 19 × 7 + 1 ) mod 10 → Y 19
解密的数码为:
Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Y9 Y10 Y11 Y12 Y13 Y14 Y15 Y16 Y17 Y18 Y19
将上述数码乘以加密过程中的19阶矩阵R1的逆矩阵,得到乱序后的数码S1...S19。
步骤S96、由校验码的第一位数字1确定一种对19位数码的归序算法L1′,其原理如下所述:
设Y1...Y19为乱序后的数码,取出第一位,对后十八位十进制数作归序计算。
将Y2...Y19按如下方式排列成3×6矩阵:
Y 2 Y 3 Y 4 Y 5 Y 6 Y 7 Y 8 Y 9 Y 10 Y 11 Y 12 Y 13 Y 14 Y 15 Y 16 Y 17 Y 18 Y 19
给定密钥K1=(6,3,1,5,4,2)定义置换算法f:将原矩阵的第1列放在第6列位置上,第2列放在第3列位置上,第3列放在第1列位置上,第4列放在第5列位置上,第5列放在第4列位置上,第6列放在第2列位置上。得出新矩阵:
Y 4 Y 7 Y 3 Y 6 Y 5 Y 2 Y 10 Y 13 Y 9 Y 12 Y 11 Y 8 Y 16 Y 19 Y 15 Y 18 Y 17 Y 14
再按先行后列展开得:
Y4 Y7 Y3 Y6 Y5 Y2 Y10 Y13 Y9 Y12 Y11 Y8 Y16 Y19Y15 Y18 Y17 Y14
再将Y1置于末位得到归序后的数码:
Y4 Y7 Y3 Y6 Y5 Y2 Y10 Y13 Y9 Y12 Y11 Y8 Y16 Y19Y15 Y18 Y17 Y14 Y1
即得到原码:(9876543210123456789)。
本发明还公开了一种加密装置,其结构如图11所示,包括:校验码设定单元111、原码加密单元112和校验码加密单元113,其中所述校验码设定单元111用于,为获取的N位原码设定C位校验码;所述原码加密单元112用于,根据所述校验码设定单元111设定的校验码数值从预先建立的加密算法组中选择对应的加密算法对所述原码进行加密;所述校验码加密单元113用于,根据所述原码加密单元112加密后的N位数码选择预设的加密算法对C位校验码进行加密。
该装置还包括:第一数码组合单元114、第一矩阵选择单元115、第一相乘单元116和第二数码组合单元117,其中:所述第一数码组合单元114用于,将加密后的N位数码和C位校验码组成N+C位数码;所述第一矩阵选择单元115用于,从所述第一数码组合单元114组合的N+C位数码中任意选择一位作为选择码,根据选择码从预先建立的可逆矩阵组中选择其对应的N+C-1阶可逆矩阵;所述第一相乘单元116用于,将上述步骤中剩余的N+C-1位数码与所述第一矩阵选择单元115选择的N+C-1阶可逆矩阵相乘;所述第二数码组合单元117用于,将所述选择码插入到所述第一相乘单元116相乘得到的N+C-1位结果中其对应的位置,组成N+C位密码。
该装置进一步包括:模K单元118,所述模K单元118用于,对加密算法组中的算法进行模K处理。
本发明还公开了一种对应于上述加密装置的解密装置,其结构如图12所示,包括:密码获取单元121、校验码解密单元122和原码解密单元123;其中,所述密码获取单元121用于,获得N+C位密码,所述N+C位密码中包括与原码对应的N位密码和与校验码对应的C位密码;述校验码解密单元122用于,根据所述N+C位密码中与原码对应的N位数码,选择预设的解密算法,对N+C位数码中与校验码对应的C位数码进行解密,得到校验码;所述原码解密单元123用于,根据所述校验码解密单元122得到的校验码数值从预先建立的解密算法组中选择对应的解密算法,对所述N+C位数码中与原码对应的N位数码进行解密。
该装置还包括:第二矩阵选择单元124、第二相乘单元125和第三数码组合单元126,其中:所述第二矩阵选择单元124用于,从N+C位密码中任意选择一位作为选择码,根据选择码从预先建立的可逆矩阵组中选择其对应的N+C-1阶可逆矩阵;所述第二相乘单元125用于,将上述步骤中剩余的N+C-1位密码与所述第二矩阵选择单元124选择的N+C-1阶可逆矩阵相乘;所述第三数码组合单元126用于,将所述选择码插入到所述第二相乘单元125相乘得到的N+C-1位结果中其对应的位置,组成N+C位数码。
该装置进一步包括:模K单元127,所述模K单元127用于,对解密算法组中的算法进行模K处理。
本发明还进一步公开了一种加解密系统,其结构如图13所示,包括:加密装置131和解密装置132。所述加密装置131和解密装置132的结构分别与图11和图12所示的加解密装置结构类似,在此不再赘述。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (20)

1.一种加密方法,其特征在于,包括:
获取N位原码,并设定C位校验码,所述N和C为正整数;
根据校验码数值从预先建立的加密算法组中选择对应的加密算法对所述原码进行加密;
根据加密后的N位数码选择预设的加密算法对C位校验码进行加密。
2.根据权利要求1所述的方法,其特征在于,还包括:
将加密后的N位数码和C位校验码组成N+C位数码,从N+C位数码中任意选择一位作为选择码,根据选择码从预先建立的可逆矩阵组中选择其对应的N+C-1阶可逆矩阵;
将上述步骤中剩余的N+C-1位数码与所述选择的N+C-1阶可逆矩阵相乘;
将所述选择码插入到所述相乘得到的N+C-1位结果中其对应的位置,组成N+C位密码。
3.根据权利要求1所述的方法,其特征在于,所述加密算法组中的算法为进行模K处理后的算法,所述K为正整数。
4.根据权利要求3所述的方法,其特征在于,所述按照算法类型建立的算法组包括:乱序算法组、对称加密算法组和校验码加密算法组。
5.根据权利要求4所述的方法,其特征在于,所述对称加密算法为乱序算法、hill加密、vigenere加密和仿射变换算法的组合。
6.根据权利要求5所述的方法,其特征在于,所述根据校验码数值从预先建立的加密算法组中选择对应的加密算法对所述原码进行加密的具体过程为:
根据校验码的前a位数字数值从预先建立的原码乱序算法组中选择对应的原码乱序算法,并对N位原码进行乱序加密;
根据校验码剩余的b位数字数值从预先建立的对称加密算法组中选择对应的对称加密算法,对乱序后的原码进行对称加密。
7.根据权利要求6所述的方法,其特征在于,所述根据加密后的N位数码选择预设的加密算法对校验码进行加密的具体过程为:
将加密后的N位数码相加,得到N位数码之和;
将得到的N位数码之和与所述的校验码加密算法组中的种类数D进行模运算;
根据模运算结果选择对应的校验码加密算法对C位校验码进行加密。
8.根据权利要求6所述的方法,其特征在于,所述将加密后的N位数码和C位校验码组成N+C位数码,从N+C位数码中任意选择一位作为选择码,根据选择码从预先建立的矩阵组中选择其对应的N+C-1阶可逆矩阵的过程具体为:
将加密后的N位数码和C位校验码按照N位数码在前,C位数码在后的顺序组成N+C位数码;
选择所述N+C位数码的第一位作为选择码,根据其数值选择预先建立的可逆矩阵组中对应的N+C-1阶矩阵。
9.一种解密方法,其特征在于,包括:
获得N+C位密码,所述N+C位密码中包括与原码对应的N位密码和与校验码对应的C位密码;
根据所述N+C位数码中与原码对应的N位密码,选择预设的解密算法,对N+C位数码中与校验码对应的C位数码进行解密,得到校验码;
根据所述校验码的数值从预先建立的解密算法组中选择对应的解密算法,对所述N+C位数码中与原码对应的N位数码进行解密。
10.根据权利要求9所述的方法,其特征在于,所述获得N+C位密码后还包括:
从N+C位密码中任意选择一位作为选择码,根据选择码从预先建立的可逆矩阵组中选择其对应的N+C-1阶可逆矩阵;
将上述步骤中剩余的N+C-1位密码与所述选择的N+C-1阶可逆矩阵相乘;
将所述选择码插入到所述相乘得到的N+C-1位结果中其对应的位置,组成N+C位数码。
11.根据权利要求9所述的方法,其特征在于,所述解密算法组中的算法为进行模K处理后的算法。
12.一种加密装置,其特征在于,包括:校验码设定单元、原码加密单元和校验码加密单元,其中:
所述校验码设定单元用于,为获取的N位原码设定C位校验码;
所述原码加密单元用于,根据所述校验码设定单元设定的校验码数值从预先建立的加密算法组中选择对应的加密算法对所述原码进行加密;
所述校验码加密单元用于,根据所述原码加密单元加密后的N位数码选择预设的加密算法对C位校验码进行加密。
13.根据权利要求12所述的装置,其特征在于还包括:第一数码组合单元、第一矩阵选择单元、第一相乘单元和第二数码组合单元,其中:
所述第一数码组合单元用于,将加密后的N位数码和C位校验码组成N+C位数码;
所述第一矩阵选择单元用于,从所述第一数码组合单元组合的N+C位数码中任意选择一位作为选择码,根据选择码从预先建立的可逆矩阵组中选择其对应的N+C-1阶可逆矩阵;
所述相乘单元用于,将上述步骤中剩余的N+C-1位数码与所述第一矩阵选择单元选择的N+C-1阶可逆矩阵相乘;
所述第二数码组合单元用于,将所述选择码插入到所述第一相乘单元相乘得到的N+C-1位结果中其对应的位置,组成N+C位密码。
14.根据权利要求12所述的装置,其特征在于,还包括:模K单元,
所述模K单元用于,对加密算法组中的算法进行模K处理。
15.一种解密装置,其特征在于,包括:密码获取单元、校验码解密单元和原码解密单元,其中:
所述密码获取单元用于,获得N+C位密码,所述N+C位密码中包括与原码对应的N位密码和与校验码对应的C位密码;
所述校验码解密单元用于,根据所述N+C位密码中与原码对应的N位数码,选择预设的解密算法,对N+C位数码中与校验码对应的C位数码进行解密,得到校验码;
所述原码解密单元用于,根据所述校验码解密单元得到的校验码数值从预先建立的解密算法组中选择对应的解密算法,对所述N+C位数码中与原码对应的N位数码进行解密。
16.根据权利要求15所述的装置,其特征在于,还包括:第二矩阵选择单元、第二相乘单元和第三数码组合单元,其中:
所述第二矩阵选择单元用于,从N+C位密码中任意选择一位作为选择码,根据选择码从预先建立的可逆矩阵组中选择其对应的N+C-1阶可逆矩阵;
所述第二相乘单元用于,将上述步骤中剩余的N+C-1位密码与所述第二选择单元选择的N+C-1阶可逆矩阵相乘;
所述第三数码组合单元用于,将所述选择码插入到所述第二相乘单元相乘得到的N+C-1位结果中其对应的位置,组成N+C位数码。
17.根据权利要求15所述的装置,其特征在于,还包括:模K单元,
所述模K单元用于,对解密算法组中的算法进行模K处理。
18.一种加解密系统,其特征在于,包括:加密装置和解密装置,其中:
所述加密装置包括:第一数码组合单元、第一矩阵选择单元、第一相乘单元和第二数码组合单元,其中:
所述第一数码组合单元用于,将加密后的N位数码和C位校验码组成N+C位数码;
所述第一矩阵选择单元用于,从所述第一数码组合单元组合的N+C位数码中任意选择一位作为选择码,根据选择码从预先建立的可逆矩阵组中选择其对应的N+C-1阶可逆矩阵;
所述相乘单元用于,将上述步骤中剩余的N+C-1位数码与所述第一矩阵选择单元选择的N+C-1阶可逆矩阵相乘;
所述第二数码组合单元用于,将所述选择码插入到所述第一相乘单元相乘得到的N+C-1位结果中其对应的位置,组成N+C位密码;
所述解密装置包括:密码获取单元、校验码解密单元和原码解密单元
所述密码获取单元用于,获得N+C位密码,所述N+C位密码中包括与原码对应的N位密码和与校验码对应的C位密码;
所述校验码解密单元用于,根据所述N+C位密码中与原码对应的N位数码,选择预设的解密算法,对N+C位数码中与校验码对应的C位数码进行解密,得到校验码;
所述原码解密单元用于,根据所述校验码解密单元得到的校验码数值从预先建立的解密算法组中选择对应的解密算法,对所述N+C位数码中与原码对应的N位数码进行解密。
19.根据权利要求18所述的系统,其特征在于,所述加密装置还包括:第一数码组合单元、第一矩阵选择单元、第一相乘单元和第二数码组合单元,其中:
所述第一数码组合单元用于,将加密后的N位数码和C位校验码组成N+C位数码;
所述第一矩阵选择单元用于,从所述第一数码组合单元组合的N+C位数码中任意选择一位作为选择码,根据选择码从预先建立的可逆矩阵组中选择其对应的N+C-1阶可逆矩阵;
所述第一相乘单元用于,将上述步骤中剩余的N+C-1位数码与所述第一矩阵选择单元选择的N+C-1阶可逆矩阵相乘;
所述第二数码组合单元用于,将所述选择码插入到所述第一相乘单元相乘得到的N+C-1位结果中其对应的位置,组成N+C位密码;
所述解密装置还包括:第二矩阵选择单元、第二相乘单元和第三数码组合单元,其中:
所述第二矩阵选择单元用于,从N+C位密码中任意选择一位作为选择码,根据选择码从预先建立的可逆矩阵组中选择其对应的N+C-1阶可逆矩阵;
所述第二相乘单元用于,将上述步骤中剩余的N+C-1位密码与所述第二选择单元选择的N+C-1阶可逆矩阵相乘;
所述第三数码组合单元用于,将所述选择码插入到所述第二相乘单元相乘得到的N+C-1位结果中其对应的位置,组成N+C位数码。
20.根据权利要求18所述的系统,其特征在于,所述系统还包括:模K单元,
所述模K单元用于,对加解密算法组中的算法进行模K处理。
CN2010190630039A 2010-02-05 2010-02-05 一种加解密方法、装置及系统 Active CN101895390B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010190630039A CN101895390B (zh) 2010-02-05 2010-02-05 一种加解密方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010190630039A CN101895390B (zh) 2010-02-05 2010-02-05 一种加解密方法、装置及系统

Publications (2)

Publication Number Publication Date
CN101895390A true CN101895390A (zh) 2010-11-24
CN101895390B CN101895390B (zh) 2012-11-14

Family

ID=43104469

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010190630039A Active CN101895390B (zh) 2010-02-05 2010-02-05 一种加解密方法、装置及系统

Country Status (1)

Country Link
CN (1) CN101895390B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102136906A (zh) * 2011-04-29 2011-07-27 贵阳高新华美龙技术有限公司 一种快速生成防伪码的加密算法
CN104954362A (zh) * 2015-04-27 2015-09-30 深圳市美贝壳科技有限公司 序列号的加密和解密方法及其装置
CN105406960A (zh) * 2015-12-20 2016-03-16 河南思维自动化设备股份有限公司 一种信息加密和解密方法
CN105760765A (zh) * 2016-02-04 2016-07-13 北京致远协创软件有限公司 数据加密方法、装置及数据解密方法、装置
CN106850220A (zh) * 2017-02-22 2017-06-13 腾讯科技(深圳)有限公司 数据加密方法、数据解密方法及装置
CN107592200A (zh) * 2016-07-08 2018-01-16 展讯通信(上海)有限公司 数据加密、解密的方法及装置
CN110830520A (zh) * 2020-01-13 2020-02-21 中国人民解放军国防科技大学 一种物联网的健壮可靠的边缘存储方法及系统
CN112565245A (zh) * 2020-12-02 2021-03-26 深圳市汇顶科技股份有限公司 数据传输方法、产线端工具、芯片、服务器及存储介质
CN113159251A (zh) * 2021-04-07 2021-07-23 张琴 一种强加密防伪防窜货商品码及其制作方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1290913A (zh) * 2000-06-29 2001-04-11 刘伟中 高保安的密码防伪方法
US6907123B1 (en) * 2000-12-21 2005-06-14 Cisco Technology, Inc. Secure voice communication system
CN100431295C (zh) * 2002-11-26 2008-11-05 松下电器产业株式会社 数据加密、解密方法及装置
CN101272492B (zh) * 2008-05-05 2011-07-13 中兴通讯股份有限公司 一种自适应的二维4×4块的逆变换方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102136906A (zh) * 2011-04-29 2011-07-27 贵阳高新华美龙技术有限公司 一种快速生成防伪码的加密算法
CN104954362A (zh) * 2015-04-27 2015-09-30 深圳市美贝壳科技有限公司 序列号的加密和解密方法及其装置
CN105406960A (zh) * 2015-12-20 2016-03-16 河南思维自动化设备股份有限公司 一种信息加密和解密方法
CN105406960B (zh) * 2015-12-20 2019-02-22 河南思维自动化设备股份有限公司 一种信息加密和解密的方法
CN105760765A (zh) * 2016-02-04 2016-07-13 北京致远协创软件有限公司 数据加密方法、装置及数据解密方法、装置
CN105760765B (zh) * 2016-02-04 2019-03-26 北京致远互联软件股份有限公司 数据加密方法、装置及数据解密方法、装置
CN107592200A (zh) * 2016-07-08 2018-01-16 展讯通信(上海)有限公司 数据加密、解密的方法及装置
CN106850220A (zh) * 2017-02-22 2017-06-13 腾讯科技(深圳)有限公司 数据加密方法、数据解密方法及装置
CN110830520A (zh) * 2020-01-13 2020-02-21 中国人民解放军国防科技大学 一种物联网的健壮可靠的边缘存储方法及系统
CN112565245A (zh) * 2020-12-02 2021-03-26 深圳市汇顶科技股份有限公司 数据传输方法、产线端工具、芯片、服务器及存储介质
CN113159251A (zh) * 2021-04-07 2021-07-23 张琴 一种强加密防伪防窜货商品码及其制作方法

Also Published As

Publication number Publication date
CN101895390B (zh) 2012-11-14

Similar Documents

Publication Publication Date Title
CN101895390B (zh) 一种加解密方法、装置及系统
CN104468090B (zh) 基于图像像素坐标的汉字密码编码方法
CN104488218B (zh) 加密装置、解密装置、加密方法、解密方法
CN103778590B (zh) 利用数字图像存储和传输信息的方法和装置
CN107196763A (zh) Sm2算法协同签名及解密方法、装置与系统
CN103095449B (zh) 一种基于流密码的动态加密解密方法
CN104378198A (zh) 一种基于分组密码体制的语音加密方法
Agrawal et al. Elliptic curve cryptography with hill cipher generation for secure text cryptosystem
CN104396182A (zh) 加密数据的方法
CN105184115A (zh) 用于将隐式完整性或可信性检查包括到白箱实现中的方法
CN110543778A (zh) 一种字符数据线性随机加密和解密算法
Kumar et al. A novel approach of symmetric key cryptography
CN105306200B (zh) 网络账号密码的加密方法和装置
CN101344960A (zh) 混沌数字图像加密方法
CN107070637A (zh) 一种交叠分组的数据加解密方法
CN114826590A (zh) 一种分组模式加密方法、解密方法及其装置、设备
CN102064935B (zh) 一种解密显示方法、系统及相关设备
CN103501220A (zh) 加密方法和装置
KR20150064042A (ko) 디지털 데이터 블록 암호화 및 해독화 방법
Hamad et al. A modified playfair cipher for encrypting digital images
CN111314270B (zh) 一种基于有效期均匀分布对称算法的数据加密和解密方法
CN103313097B (zh) 对编码文件进行加密以及解密的方法及系统
CN115632765A (zh) 加密方法、解密方法、装置、电子设备及存储介质
CN102622561A (zh) 一种软件中调用数据的加密及解密方法
CN115277064A (zh) 数据加密、数据解密方法、装置、电子设备和介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent for invention or patent application
CB02 Change of applicant information

Address after: 5, 200433 floor, building 1, Fudan Science Park, Lane 127, Cathay Road, Shanghai, Yangpu District

Applicant after: Shanghai Tiancheng Anticounterfeit Technology Co.,Ltd.

Address before: 5, 200433 floor, building 1, Fudan Science Park, Lane 127, Cathay Road, Shanghai, Yangpu District

Applicant before: Tianchen New Technology Co., Ltd., Fudan Univ, Shanghai

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: TIANCHEN NEW TECHNOLOGY CO LTD, FUDAN UNIV, SHANGHAI TO: SHANGHAI TECHSUN ANTI-COUNTERFEITING TECHNOLOGY CO., LTD.

C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 201600 Room 201, building 3, 518 Xinzhuan Road, Songjiang District, Shanghai

Patentee after: Shanghai Tianchen micro nano technology Co., Ltd

Address before: 200433 5th floor, building 1, Fudan Science Park, Lane 127, Guotai Road, Yangpu District, Shanghai

Patentee before: Shanghai Techsun Anti-Counterfeiting Technology Holding Co.,Ltd.

CP03 Change of name, title or address