电子锁和钥匙及工作流程控制的制作方法

文档序号:2047498阅读:206来源:国知局
专利名称:电子锁和钥匙及工作流程控制的制作方法
技术领域
本发明涉及电子锁、钥匙及工作程序,用计算机程序实现一种工业过程控制。
(二)
背景技术
传统的密码锁采用的是密码表形式的明文和密文的简单替代和置换,而且锁具一 经生产其加密解密算法就是固定的,不具有灵活性,只要同类产品中的一个被破解后,其它 产品便同时被攻破。 就申请号为200410087146. 0的专利而言其权利要求1第7行加密的对象只是随 机序列,而且只是将随机序列被生成的密文发给钥匙,只是解决密码容易被窃取的问题,发 明的重心采用随机数充当密码,密码可变了 ,外人难以得到开锁密码,但并没有想到对算法 的保护。第一、其说明书中说将随机序列这唯一的对象加密后发给钥匙,然后钥匙解密后又 加密发送给锁。仔细理解该程序你会发现虽然在从钥匙发回锁的过程中采用了另一个加密 算法,但该发明由于其采用了两个加密算法,而且只是将密文发给对方没有将算法信息或 变化信息一并发给对方,可知其采用的是相对固定的加密、解密算法,实际上随机序列在无 线传输过程中只进行了一重加密而已。这个过程虽然可以保证随机序列不被外人获取,但 只要对两次的数据进行比较就会发现一种固有的关系,例如假设锁上的加密算法是对随机 序列中的每个数加3,而钥匙上的加密算法是对随机数序列中的每个数减2,可见并不需要 随机序列的具体值,只要将每次锁发出来的序列中的每个数减5就可以发至锁中开锁。虽 然其发明人用的算法不可能是这样简单,但二者的相对关系用不到几次就会被高速的计算 机比较发现出来,所以为别人开锁提供了破解方向。第二、其说明书第5页第5行"生成一 定长度的随机序列",然后对序列加密,没有添加起干扰作用的密码,也没有对别人的测试 增设门槛。第三、该专利锁与钥匙之间虽有握手信号,甚至有电子钥匙标识,但锁与钥匙在 这个过程中没有加密,将这些信号捕捉后,就可以源源不断地对锁和钥匙进行测试了 。
(三)

发明内容
有鉴于此,本发明的目的提供可变加密算法、可变的位反通信、可变密码长度和多 重加密技术、多重身份验证技术的电子钥匙和电子锁装置,用可变的加密算法对随机序列 加密,解决上述加密算法容易被测试、被破解、连带锁也易破解的问题。并提供电子钥匙和 电子锁的工作流程控制,本发明中的解密算法均为加密算法的逆运算或相同运算。
可以采用每次成功开、闭锁后,锁向钥匙发送成功信号,锁与钥匙采用可变加密算 法,约定将加密算法同步变动的办法来使外人破解不了。可以按默认规律(循环或往复移 动等)抽取全体加密算法中的算法,如用计数器加1后定位下一次使用的算法。也可采用 发送算法位置信息的方法。 加密算法的生成及调用利用随机选取的运算符号和随机选取的操作数配合在一 起生成算法,如某次选取的运算符号是"+ ",操作数是"115",则算法是"+115",多个算法在 一起就形成了锁和钥匙中的"全体加密算法";或者直接生成多个随机的操作数作为"全体
13时动态选取生成的操作数,再配合固定的运算符号变成算法,此种方法
典型的应用是生成的随机数分为两组,一组用于锁对原始随机数明码序列加密,钥匙解密,
另一组用于钥匙对原始随机数明码序列加密,锁解密,工作完成后将其中一组用本次中锁
密码生成模块产生或钥匙上解密模块解密还原得到的的原始随机数明码序列代替。
位反算法的生成及调用和加密算法一样的生成方式生成了"全体位反算法",不
过位反算法的调用是在全体位反算法中固定调用1个或多个算法,或者是根据所要发送的
需要保护的数据总长,从全体位反算法中某一固定位置起按比例调用多个算法。
位反算法定义实际也是一种加密算法,不过它的调用方法与本发明之可变的加
密算法有区别,故重新定义这一名词;它对数据的加密与解密定义为位取反和位取反还原;
位反算法和可变的加密算法可以使用同一套算法中的算法,但区别就在调用上有"固定"二字。
位反文件定义包含位反算法的文件。
加密、解密算法定义本发明中的加密算法均是指可变的加密算法,因为每次工作
时是利用随机数生成器产生随机数做为算法位置信息,根据位置信息在全体加密算法中抽
取加密算法,对原始随机数明码序列中的随机数一对一或一对多或多对一进行加密;或者
用以前保存的原始随机数明码序列做为加密算法,对本次产生的原始随机数明码序列进行
加密,操作完成后将本次产生的原始随机数明码序列做为以后开、闭锁操作时的加密算法
保存起来,所以本发明中的加密算法相对于传统的固定算法就是可变的加密算法了。在解
密时根据使用的加密算法的运算符号进行逆运算或相同运算;或者在生成加密算法的同时
生成对应的解法,在解密时根据算法的位置信息直接调用对应的解法。本发明的加密、解密
是指用可变的加密算法及对应的解密算法进行的操作,本说明书从此以下除特殊注明外所
述的算法也是指本条定义的加密、解密算法。
算法文件定义包含加密算法或解密算法的文件。 根据抽取的算法的数量,生成与算法数量成比例关系数量的随机数序列;或由与 算法数量成比列关系数量减去身份标识长度后确定随机数序列长度。或者先生成随机长度 的随机数序列,必要时将序列长度也放到序列中成为序列中的一个项,(后再选算法。)。以 上动态产生长度^ 1的原始随机数明码序列,将其与前述加密算法进行计算产生密码,最 终呈现给我们的密码也是动态的。以上得到的密码是有效密码,为了增加破解难度,在生成 的有效密码中再自动添加》0个干扰密码,只是些对开闭锁没有用的随机数据,但对传输 中的数据长度产生了影响,产生可以混肴测试的效果,在对方根据所传来的算法信息或是 随机序列长度去除干扰码,或者始终都保留,该参与计算还参与计算,在锁的验证模块那里 根据密码生成模块中序列长度,只比较有效长度即可。 算法的位置信息即采用什么算法的信息。可以是单个算法相对于全体加密(解 密)算法第一个算法的距离,也可以是几个算法组合的起始位置相对于全体加密(解密) 算法第一个算法的距离;毕竟从1开始统计算法距离只能在小范围内取值,所以为了能让 算法的位置信息可以在大范围内取值,可以以类或结构的型式组织算法,如类结构中包含 大范围内取值生成的随机数、本段前述两个距离中的第一个、具体算法,或是类结构中包含 大范围内取值生成的随机数、本段前述两个距离中的第二个、具体算法、其它算法个数或位 置信息,这样类中的随机数便可以作为加了密的算法位置信息,那么不论后面对此随机数
14再如何处理,只要将随机数发送给对方,对方便会根据随机数找到对应的距离,再定位到具
体的加密或解密算法。算法位置信息和加了密的算法位置信息都属于算法的位置信息。
由于数据在计算机中长度可以是一字长、半字等,因此在将算法类的结构定义成
大范围内取值生成的随机数、前段所述两个距离中的第一个、数据长度、具体算法时,是这
样生成加密解密算法的首先是产生距离,然后计算出大范围内取值的随机数,随机选择确
定数据长度,随机选择确定运算符号,根据数据长度和运算符号在一定范围内随机确定具
体操作数。在此条件下,在生成原始随机数明码序列时,都要先读取抽取的算法中的数据长
度和算法,在一定范围内生成随机数作为序列中的项,这样是为了保证序列中的项和算法
计算后不超过数据长度。当采用异或运算时就不必考虑计算后超不超过数据长度范围了。
由此所生成的密码就是由不同长度的数据组成的,让破解者想破解都无从下手。 当算法类结构定义成大范围取值的随机数、算法在全体算法中的序号、具体算法
时,其生成方法是首先自然排序得到序号,再用随机方法生成大范围内取值的随机数,具
体算法采取线性同余等随机函数,其函数中的种子、和因子、乘因子、模等也用随机方法生
成。调用算法时,只需用随机方法在全体算法的序号中抽取算法,得到一个可以再产生随机 数的函数,根据需要加密的数据的个数,用此函数生成相应数量的随机数,用得到的随机数 异或需要保护的数据得到密码,将对应的大范围内取值的随机数和密码发送给对方,对方 便会根据大范围内取值的随机数,找到具体算法,用相同的随机数函数生成的随机数异或 密码解密。 锁在给每一把钥匙分配身份标识时,为身份标识关联FIFO管道型变量,变量的值 在分配时初始化。钥匙上必要数据初始化时,在锁将开、闭锁标识、身份标识、算法文件等 发给钥匙的同时,也将这些变量也一并发送给钥匙。工作时,上述变量用于存储所述原始 随机数明码序列中的某些固定项中的变化的数值,如第一项中的数或第一项与第三项等 等;每次工作时,读取变量已经保存的数值对加密模块产生的算法位置信息或者身份标识 或者二者一起进行加密,解密模块解密时先读取变量已经保存的数值将算法位置信息或者 身份标识或者二者一起解密,然后判断身份合法后用算法位置信息读取算法对密码进行解 密。解密后将当次工作中产生的原始随机数明码序列的某些固定项中的数,存储到变量尾 部,当执行开、闭锁动作后或收到成功信号后将管道首部已经用于加密解密过的值删除。如 果钥匙没有收到成功信号,那么钥匙既保留已经用于加密解密的管道中的值,又将当次工 作中的随机数明码序列某些固定项中的值保存到管道尾部,下次工作时,从这些值中挨个 试着取值进行解密。(如果管道的第一个值解不了,其后面的值可解密,将本次解密产生的 随机数明码序列某些固定项中的值保存到管道尾部,本次收到成功信号后一次性将管道中 可解密加密的值及其前面的值删除;如果第一个值就可解密,那么将管道尾部的上次保存 的值删除,并将本次解密产生的随机数明码序列某些固定项中的值保存到管道尾部,在收 到成功信号后将管道首部已用于加密解密的值删除。前提是所保留的每次工作中的某些固 定项中的数都互不相同。)这种加密可以保证传递中的算法信息、身份信息的安全。当只 对算法位置信息加密时管道可以没有初值,因为经过几次开、闭锁后,每次都保存新值存进 去,很快就会有值填满了。 通过多次动态选取加密算法对随机序列、算法位置信息单独或者二者一起进行加 密,可以达到进一步增加抗破解的效果。本发明实施例三中公开了两重动态加密,根据需要可以多重加密。由于采用可变加密技术,所以多一重加密便多一重难以破解的效果。
可变加密算法技术除了在每次开闭锁时表现出可变外,用户可以随时变更算法文 件;可变位反通信技术是用户可以随时变更位反文件,位反的运算方法可以采用循环移位 或者异或等逻辑运算、算术运算;一对一或一对多或多对一地将加密后的随机序列、算法的 位置信息单独或者二者一起进行位取反,被位取反后的数据在发给对方后按相反或相同的 运算方法再位取反还原,这样可保证数据更加安全地传递给对方。 本发明实施例中采取以锁为重心,为钥匙分配标识技术,使钥匙的修配也更加方 便。
以上是本发明提供的技术方法要点,以下是第一种装置一 电子锁包括密码生成模块、位反模块、通信模块、验证模块、标识模块; 其中 密码生成模块在全体加密算法中抽取> 0个算法,并记录所选算法的位置信息, 动态产生长度^ 1的原始随机数明码序列,此明码序列与所选的算法进行计算生成密码; 或者动态产生长度^ 1的原始随机数明码序列,在全体加密算法中抽取>0个算法,并记录 所选算法的位置信息,随机数明码序列与所选的算法进行计算生成密码;在生成的密码中 添加^0个干扰密码; 位反模块对密码生成模块传来的数据进行位取反操作,或是对通信模块接收的 被位取反处理过的数据进行位取反还原操作;
通信模块完成与钥匙的数据交换; 验证模块将经位反模块位取反还原得到的明文与密码生成模块中的原始随机数
明码序列进行对比,如果不符合规定要求锁不进行开锁或闭锁操作,如果符合规定要求则
根据钥匙已经发过来的标识是开锁标识还是闭锁标识采取相应操作; 标识模块做钥匙与锁通信双方身份验证; 电子钥匙包括标识模块、通信模块、位反模块、解密模块; 其中 标识模块做钥匙与锁通信双方身份验证,验证锁合法后再继续后续的操作;
通信模块完成与锁的数据交换; 位反模块对解密模块传来的数据进行位取反操作或是对通信模块接收的位取反 处理过的数据进行位取反还原操作; 解密模块将接收的来自锁的后经位取反还原的数据解密。 锁中进一步还包括自动算法生成模块用于在接收到生成算法指令后清空所有已 存全体加密算法、全体位反算法、开锁标识和闭锁标识、身份标识及关联变量,生成新的全 体加密算法并写入锁的非易失性存储器中; 锁的位反模块还进一步用于生成全体位反算法,并写入锁的非易失性存储器中;
锁的标识模块还进一步用于为钥匙分配标识,并写入锁的非易失性存储器中;查 看当前锁的开闭状态并查看钥匙发过来的是开锁标识还是闭锁标识,启动密码生成模块。
以下是第一种装置二 电子锁包括密码生成模块、位反模块、通信模块、解密模块、验证模块、标识模 块;
其中 密码生成模块在全体加密算法中抽取> 0个算法,并记录所选算法的位置信息, 动态产生长度^ 1的原始随机数明码序列,此明码序列与所选的算法进行计算生成密码; 或者动态产生长度^ 1的原始随机数明码序列,在全体加密算法中抽取>0个算法,并记录 所选算法的位置信息,随机数明码序列与所选的算法进行计算生成密码;在生成的密码中 添加> 0个干扰密码; 位反模块对密码生成模块传来的数据进行位取反操作,或是对通信模块接收的 被位取反处理过的数据进行位取反还原操作;
通信模块完成与钥匙的数据交换; 解密模块将接收的来自钥匙的后经位取反还原的数据解密; 验证模块将解密模块解密后的明文与密码生成模块中的原始随机数明码序列进 行对比,如果不符合规定要求锁不进行开锁或闭锁操作,如果符合规定要求则根据钥匙已 经发过来的标识是开锁标识还是闭锁标识采取相应操作;
标识模块做钥匙与锁通信双方身份验证; 电子钥匙包括标识模块、通信模块、位反模块、解密模块、密码生成模块;
其中 标识模块做钥匙与锁通信双方身份验证,验证锁合法后再继续后续的操作;
通信模块完成与锁的数据交换; 位反模块对密码生成模块传来的数据的进行位取反操作或是对通信模块接收的 被位取反处理过的数据进行位取反还原操作; 解密模块将接收的来自锁的后经位取反还原的数据解密; 密码生成模块根据解密得到的原始随机数明码序列中随机数,在钥匙上全体加 密算法中抽欺>0个算法,并记录算法的位置信息,将解密得到的原始随机数明码序列与 所选算法进行计算生成密码;在生成的密码中添加^ 0个干扰密码。 锁中还进一步包括自动算法生成模块用于在接收到生成算法指令后清空所有已 存全体加密算法、全体位反算法、开锁标识和闭锁标识、身份标识及关联变量,生成新的全 体加密算法并写入锁的非易失性存储器中; 锁的位反模块还进一步用于生成全体位反算法,并写入锁的非易失性存储器中;
锁的标识模块还进一步用于为钥匙分配标识,并写入锁的非易失性存储器中;查 看当前锁的开闭状态并查看钥匙发过来的是开锁标识还是闭锁标识,启动密码生成模块。
以下是第二种装置 电子锁包括密码生成模块、通信模块、解密模块、验证模块、标识模块;
其中 密码生成模块①在全体加密算法中抽取〉0个算法,并记录所选算法的位置信 息,动态产生长度^ 1的原始随机数明码序列,此明码序列与所选的算法进行计算生成密 码;或者动态产生长度^ 1的原始随机数明码序列,在全体加密算法中抽取> 0个算法,并 记录所选算法的位置信息,随机数明码序列与所选的算法进行计算生成密码;在生成的密 码中添加^0个干扰密码;②依据现有的密码和算法位置信息再次在全体加密算法中抽取 > 0个算法,并记录所选算法的位置信息,将现有数据与抽取的算法进行计算得到复杂密
17码,在生成的复杂密码中添加^ 0个干扰密码; 通信模块完成与钥匙的数据交换; 解密模块将接收的来自钥匙的加密数据解密; 验证模块将解密模块解密后的明文与密码生成模块中的原始随机数明码序列进 行对比,如果不符合规定要求锁不进行开锁或闭锁操作,如果符合规定要求则根据钥匙已 经发过来的标识是开锁标识还是闭锁标识采取相应操作;
标识模块做钥匙与锁通信双方身份验证; 电子钥匙包括标识模块、通信模块、解密模块、密码生成模块;
其中 标识模块做钥匙与锁通信双方身份验证,验证锁合法后再继续后续的操作; 通信模块完成与锁的数据交换; 解密模块将接收的来自锁的加密数据解密; 密码生成模块①根据解密得到的原始随机数明码序列中随机数,在钥匙上全体 加密算法中抽取> 0个算法,并记录算法的位置信息,将解密得到的原始随机数明码序列 与所选算法进行计算生成密码;在生成的密码中添加^0个干扰密码;②依据现有的密码 和算法位置信息再次在全体加密算法中抽取> 0个算法,并记录算法的位置信息,将现有 数据与抽取的算法进行计算得到复杂密码,在生成的复杂密码中添加^ 0个干扰密码。
锁中还进一步包括自动算法生成模块用于在接收到生成算法指令后清空所有已 存全体加密算法、开锁标识和闭锁标识、身份标识及关联变量,生成新的全体加密算法并写 入锁的非易失性存储器中; 锁的标识模块还进一步用于为钥匙分配标识,并写入锁的非易失性存储器中;查 看当前锁的开闭状态并查看钥匙发过来的是开锁标识还是闭锁标识,启动密码生成模块;
电子锁的密码生成模块中的"②依据现有的密码和算法位置信息再次在全体加密 算法中抽取算法,并记录所选算法的位置信息,将现有数据与抽取的算法进行计算得到复 杂密码,在生成的复杂密码中添加^ 0个干扰密码"选用次数大于等于0次;
电子钥匙的密码生成模块中的"②依据现有的密码和算法位置信息再次在全体加 密算法中抽取算法,并记录算法的位置信息,将现有数据与抽取的算法进行计算得到复杂 密码,在生成的复杂密码中添加^ 0个干扰密码"选用次数大于等于0次。
以下是第三种装置 电子锁包括自动算法生成模块、密码生成模块、通信模块、解密模块、验证模块、 标识模块;
其中 自动算法生成模块根据标识模块生成的新的身份标识,生成对应的新的加密算 法; 密码生成模块用与开锁标识或闭锁标识对应的全体加密算法中第固定序号项 或多个固定序号项中的可变算法,对对应的身份标识进行加密;用钥匙身份标识对应的全 体加密算法中的的一组可变加密算法,对原始随机数明码序列进行加密;用钥匙身份标识 对应的全体加密算法中第固定序号项或多个固定序号项中的可变算法,对成功信号进行加 密;将密码通过通信模块发给钥匙;删除钥匙对应的全体加密算法中的一部分;
通信模块完成与钥匙的数据交换; 解密模块将通信模块接收的来自钥匙的密码解密; 验证模块检查钥匙身份标识合法后,启动密码生成模块;比对原始随机数明码 序列,符合规定要求时向钥匙对应的全体加密算法中填加算法,并再次启动密码生成模 块; 标识模块验证接收的开锁或闭锁标识合法后,启动密码生成模块;提供标识;
电子钥匙包括标识模块、通信模块、解密模块、密码生成模块、验证模块;
其中 标识模块提供标识; 通信模块完成与锁的数据交换; 解密模块将通信模块接收的来自锁的密码解密;在解出原始随机数明码序列后 向全体加密算法中填加算法; 密码生成模块用全体加密算法中第固定序号项或多个固定序号项中的可变算法 对身份标识进行加密;用全体加密算法中的的一组可变加密算法,对解密模块还原得到的 原始随机数明码序列进行加密;将密码通过通信模块发给锁; 验证模块验证由解密模块解密的由锁发过来身份标识合法后,启动密码生成模 块;验证成功信号后删除全体加密算法中的一部分;
第三种装置必要数据初始化 将钥匙与锁建立通信连接,本发明前面已经提过既可以采取有线连接也可以采取 无线连接,但在设置算法时如果采取有线连接会更安全。 用户通过输入设备向锁处理器发出生成算法指令,锁向钥匙发出所有有限长度的 身份标识。 钥匙验证锁身份标识合法后,将钥匙身份标识发送给锁,并将钥匙保存之算法文 件、开锁标识和闭锁标识、身份标识、成功信号清空。(若是新出厂的钥匙,则直接发送一个 固定的值给锁。) 锁接收到钥匙的身份标识后,将与此身份标识相关的算法文件、开锁标识和闭锁 标识、身份标识、成功信号清空。(若收到一个固定的值,则认为是新出厂的钥匙,直接为其 分配新值。) 锁为连接的钥匙重新分配开锁标识和闭锁标识、身份标识、成功信号,锁的自动算 法生成模块根据已分配的身份标识生成算法文件,将新的标识、信号、算法文件写入锁的非 易失性存储器中; 锁上通信模块读取算法文件、分配的开锁标识和闭锁标识、身份标识、成功信号, 并发送给钥匙。 钥匙上通信模块接收算法文件、分配的开锁标识和闭锁标识、身份标识、成功信 号,由钥匙的处理器将数据写到钥匙的非易失性存储器上。
第三种装置工作时 1)用户触发钥匙,钥匙将开锁标识或闭锁标识发送给锁。 2)锁上标识模块验证接收的开锁或闭锁标识合法后,启动密码生成模块。 3)锁上密码生成模块用与此开锁或闭锁标识对应的全体加密算法中第固定序号
19项或多个固定序号项中的算法suanA对身份标识(由开锁或闭锁标识对应的)进行加密。
4)锁上通信模块读取密码生成模块生成的密码,通过通信技术传递给钥匙。
5)钥匙上通信模块将接收到密码传给解密模块。 6)钥匙上的解密模块采用与锁中加密算法suanA对应的解密算法(当采用异或运 算符号时,加密解密算法相同,当采用其它算法时,使用suanA中的操作数和相反的运算方 法作为解密算法)对密码解密,还原身份标识。 7)钥匙上验证模块在验证由锁发过来身份标识合法后,启动密码生成模块。如果 不合法,停止此次用户请求操作,恢复至请求前状态,并使请求失败计数器+1,如果在单位 时间内失败的请求次数超过出厂设定值,则单位时间内不再对用户请求作响应。单位时间 过后计数器清零。 8)钥匙上的密码生成模块用全体加密算法中第固定序号项或多个固定序号项中 的算法suanB对身份标识进行加密。 9)钥匙上通信模块读取密码生成模块生成的密码,通过通信技术传递给锁。
10)锁上通信模块将接收到的密码传给解密模块。 11)锁上的解密模块采用与钥匙中加密算法suanB对应的解密算法(当采用异或 运算符号时,加密解密算法相同,当采用其它算法时,使用suanB中的操作数和相反的运算 方法作为解密算法)对密码解密,还原身份标识。 12)锁上验证模块检查钥匙身份合法后,启动密码生成模块。如果不合法,停止此 次用户请求操作,恢复至请求前状态,并使请求失败计数器+1,如果在单位时间内失败的请 求次数超过出厂设定值,则单位时间内不再对用户请求作响应。单位时间过后计数器清零。
13)锁上密码生成模块选择与钥匙身份标识对应的全体加密算法中的的一组 suanC,同时生成一组原始随机数明码序列,用所选加密算法suanC对原始随机数明码序列 进行加密。 14)锁上通信模块读取密码生成模块生成的密码,通过通信技术传递给钥匙。
15)钥匙上通信模块将接收到的密码传给解密模块。 16)钥匙上的解密模块采用与锁中加密算法suanC对应的解密算法(当采用异或 运算符号时,加密解密算法相同,当采用其它算法时,使用suanC中操作数和相反的运算方 法作为解密算法)对密码解密,还原原始随机数明码序列。在还原的原始随机数明码序列 中,取一定数量随机数填充到全体算法的最后面。 17)钥匙上的密码生成模块读取已存全体加密算法中的一组suanD,对解密模块 得到的原始随机数明码序列进行加密。 18)钥匙上通信模块读取密码生成模块生成的密码,通过通信技术传递给锁。
19)锁上通信模块将接收到的密码传给解密模块。 20)锁上的解密模块采用与钥匙中加密算法suanD对应的解密算法(当采用异或 运算符号时,加密解密算法相同,当采用其它算法时,使用suanD中操作数和相反的运算方 法作为解密算法)对密码解密,还原原始随机数明码序列。 21)锁上验证模块将还原得到的原始随机数明码序列与锁的密码生成模块生成的 原始随机数明码序列进行对比。如果符合规定要求在本次通信过程的原始随机数明码序列 中,取一定数量随机数填充到钥匙对应的全体算法的最后面,并再次启动密码生成模块。如果不符合规定要求,停止此次用户请求操作,恢复至请求前状态,并使请求失败计数器+1,如果在单位时间内失败的请求次数超过出厂设定值,则单位时间内不再对用户请求作响应。单位时间过后计数器清零。 22)锁上的密码生成模块用与钥匙身份标识对应的全体加密算法中第固定序号项或多个固定序号项中的算法suanE,对成功信号进行加密。之后,将与钥匙身份标识对应的全体加密算法中的一部分进行删除,(具体删除多少,生产时再定,可以是小于等于本次通信过程中的原始随机数明码序列的长度,可以是固定长度,也可是在序列长度范围内在全体加密算法的固定位置取种子的经计算确定,只要保证钥匙与锁删除的是相同数量,并且与填充到钥匙对应的全体加密算法后面的随机数数量相同即可。)被删除的算法其后面的算法位置依次前移。 23)锁上通信模块读取密码生成模块生成的密码,通过通信技术传递给钥匙。
24)锁执行开、闭锁操作。 25)钥匙上通信模块将接收到的密码传给解密模块。 26)钥匙上的解密模块采用与锁中加密算法suanE对应的解密算法(当采用异或运算符号时,加密解密算法相同,当采用其它算法时,使用suanE中的操作数和相反的运算方法作为解密算法)对密码解密,还原成功信号。 27)钥匙上验证模块验证是正确的成功信号后,将全体加密算法中的一部分进行删除,(要保证钥匙与锁删除的是相同数量,并且与填充到钥匙的全体加密算法后面的随机数数量相同即可。)被删除的算法其后面的算法位置依次前移。如果一定时间内没有收到成功信号,就不删除,退出程序。(下次钥匙发出开、闭锁请求时,锁根据发过来的开锁或闭锁标识,向钥匙发送加了密的身份标识,钥匙首先假设上次请求没成功,采取与上次suanA相对应的解密方法解密,还原身份标识正确则将上次填加到全体加密算法后面的随机数删除,后继续从第7步起执行;如果不正确则假设删除与填加的随机数相同数量的算法,被删除的算法后的所有算法位置依次前移,再在与suanA相同位置取出算法对身份标识解密,如果正确则将假设删除的算法真正删除,如果不正确则执行第7步退出程序,计数器+1。)
注每次锁发给钥匙和钥匙发给锁的数据一定要保证不相同,所以在确定原始随机数序列时,要先和已有的全体加密算法做比较,生成的数如果在全体算法中已有就将其扣除;至于suanA与suanB—定要在不同位置取算法。所有请求失败时,根据情况宜发出警告为好。至于钥匙丢失,用户可以通过输入设备发出删除指令,然后依次将没有丢失的钥匙与锁连通,锁与钥匙建立通信后,分别获取现有的身份标识;当用户发出确认指令,锁就根据现有的身份标识与锁内存储的所有的身份标识作比较,发现有没对应上的,就将其相关的全部信息删除。这种装置的好处是一旦身边的某个人想趁你休息时破译算法,在他成功将加密的身份标识破解后,也就意味着将后面的所有算法打乱,因为他只有一次机会去测试。以后会将他的测试保存到钥匙里了。所以对用户这也是有一利必有一弊。使用者还是需要保管好钥匙。
以下是第四种装置一 当把本发明中锁做到互相通信的嵌入式产品上;如果需要发送给对方的数据量很大,可先分割成一段一段,通信时将一段一段的数据和身份标识用抽取的算法进行加密,如果量不是很大,可以直接和身份标识用抽取的算法进行加密。
电子锁包括自动算法生成模块、密码生成模块、通信模块、解密模块、验证模块、
标识模块;
其中自动算法生成模块用于生成新的全体加密算法并写入锁的非易失性存储器中;
密码生成模块根据接收方身份标识加上需要保护的数据,在全体加密算法中抽取算法,并记录所选算法的位置信息,用所选的算法对身份标识和需要保护的数据进行计算生成密码;将算法位置信息用以前被保护过的数据中的某些数据进行加密,并将本次被保护的数据中的某些数据保存到身份标识关联的管道型变量尾,以备以后为算法位置信息加密、解密使用;用身份标识关联的管道型变量首部起没有用过的数据对成功信号加密;
通信模块完成与另一台设备数据交换; 解密模块将通信模块接收的数据,用以前被保护过的数据中的某些数据对算法位置信息解密,判断算法位置信息确定是否需要重发成功信号;根据位置信息找到解密方法对密码解密,在验证模块确认身份标识后,将身份标识关联的管道型变量首部用于上次解密与加密的数据删除;将本次被保护的数据中的某些数据保存到管道型变量尾,以备以后为算法位置信息加密、解密使用; 验证模块根据解密模块解密的身份标识,确认此次所传的保护数据为对方要发给自己的;验证成功信号后,将身份标识关联的管道型变量首部用于解密和加密的数据删除; 标识模块向对方发送请求标识,核实对方发来的应答标识后启动密码生成模块;或对对方的请求标识发送应答标识,并准备接收对方数据;为连接的设备分配请求标识、应答标识、身份标识及关联变量、成功信号;或接受分配。
通信双方必要数据初始化 将需要通信的两台设备建立通信连接,采取有线连接会更安全。 用户通过输入设备向其中一台设备发出生成算法指令,这台设备检查自身的存储
容量如果不足,请求用户删除其已存的连接中的一个,满足以后这台设备向第二台设备发
出请求。 第二台设备先判断第一台设备是不是已连设备,若为已连接设备给第一台设备发送回应,并将先前保存的第一台设备连接信息删除。 第一台设备根据对方回应判断是已连接设备,将与其相关的第二台设备连接信息删除。 若不是已连设备,第二台设备根据自身的存储容量是否满足做出响应,如果不满足,请求用户删除其已存的连接中的一个,再做出响应。 第一台设备的锁上的标识模块为连接的设备分配请求标识、应答标识、身份标识及关联变量、成功信号,并为关联的变量初使化,自动算法生成模块生成算法文件,写入第一台设备的非易失性存储器中。 第一台设备锁上通信模块读取算法文件、分配的请求标识、应答标识、身份标识及关联变量、成功信号,并发送给第二台设备。 第二台设备锁上通信模块接收算法文件、分配的请求标识、应答标识、身份标识及关联变量、成功信号,并写到第二台设备的非易失性存储器上。
22
第四种装置一工作时 a)需要发送数据的一台设备向需要接收方发送请求标识; b)第二台设备收到请求标识后,向第一台设备发送应答标识,并准备接收数据;
c)第一台设备收到应答标识后,启动密码生成模块对身份标识和需要保护的数据加密并记录算法位置信息,读取身份标识关联的管道型变量首部的数据对算法位置信息加密,由通信模块将密码和算法位置信息发送给第二台设备;将本次保护的数据中的部分数据保存到身份标识关联的管道型变量尾部; d)第二台设备的通信模块接收密码和算法位置信息,先读取身份标识关联的管道型变量首部的数据,解密算法位置信息,再根据位置信息找到解密方法对密码解密;如果得不到正确的身份标识,就假设身份标识关联的管道型变量首部的数据是用于上次解密与加密的数据,将其假定去除,其后面的数据位置依次前移,用前移后的新的首部数据为算法位置信息解密,再根据位置信息找到解密方法对密码解密,验证模块验证身份标识正确,即确认解密后数据为对方要发给自己的,将假设删除的数据真正删除,再将本次保护的数据中的部分数据保存到身份标识关联的管道型变量尾部,用身份标识关联的管道型变量首部没用过的数据对成功信号加密,并发送给第一台设备;如果得到正确的身份标识,将本次保护的数据中的部分数据保存到身份标识关联的管道型变量尾部,用身份标识关联的管道型变量首部没用过的数据对成功信号加密,并发送给第一台设备; e)第一台设备用身份标识关联的管道型变量首部没用过的数据对成功信号解密,
验证模块验证成功信号后,将身份标识关联的管道型变量首部已用于解密和加密的数据删
除;如果一定时间后没有收到成功信号,则删除填加到身份标识关联的管道型变量尾部的
数据,重复从a)开始执行,并且用先前相同位置的加密算法进行加密,到d)时第二台设备
的通信模块接收密码和算法位置信息,先读取身份标识关联的管道型变量首部的数据,解
密算法位置信息,如果此次所得算法位置信息与前次相同,则不再将本次保护的数据中的
部分数据保存到身份标识关联的管道型变量尾部,而直接用身份标识关联的管道型变量首
部上次用于加密的数据对成功信号加密,并发送给第一台设备;执行第e)步。 注第四种装置一如要正常工作,就必须保证每次使用与前一次不同位置的加密
算法,因为有时几次都可能发送相同的数据,这时只能靠解密后的算法位置信息进行区别,
是不是几次发送的数据本身就是相同的。这在选择算法时保证本次所选位置与前次不同即
可。而且要保证每次使用的算法中对身份标识进行加密的算法要互不相同,这个可在生成
算法时,用比较法过滤。所生成的全体算法可以是全体设备公用的,也可以是通信两设备间
私有的,根据应用确定。如果要实现双向传送需要保护的数据,管道型变量需是两套。 以下是第四种装置二 电子锁包括自动算法生成模块、密码生成模块、通信模块、解密模块、验证模块、标识模块;
其中自动算法生成模块用于生成新的全体加密算法并写入锁的非易失性存储器中;
密码生成模块①、根据需要保护的数据和身份标识,在全体加密算法中抽取算法,并记录所选算法的位置信息,用所选的算法对保护的数据和身份标识进行计算生成密码;②、根据现有的密码和算法位置信息再次在全体加密算法中抽取算法,并记录所选算法的位置信息,将现有密码和算法位置信息用抽取的算法进行计算得到复杂密码;③、将第 "②"重复N次;④、用以上三部分对保护的数据的全部或部分数据进行加密;
通信模块完成与另一台设备数据交换; 解密模块将通信模块接收的数据,根据算法位置信息将密码解密;经过N+2次解 密,还原需要保护的数据和身份标识,或还原保护数据中的全部或部分数据;
验证模块根据解密模块解密的身份标识,确认此次所传的保护数据为对方要发 给自己的; 标识模块向对方发送请求标识,核实对方发来的应答标识后启动密码生成模块; 或对对方的请求标识发送应答标识,并准备接收对方数据;为连接的设备分配请求标识、应 答标识、身份标识;或接受分配。 必要的数据初始化与第四种装置一类同,不再赘述。
第四种装置二工作时 a)需要发送数据的一台设备向需要接收方发送请求标识。 b)第二台设备收到请求标识后,向第一台设备发送应答标识,并准备接收数据。
c)第一台设备收到应答标识后,启动密码生成模块对数据和身份标识使用密码生 成模块中①②③加密并记录算法位置信息,由通信模块将密码和算法位置信息发送给第二 台设备; d)第二台设备的通信模块接收密码和算法位置信息,根据算法位置信息找到解密
方法对密码解密。验证身份标识,确认解密后数据为对方要发给自己的,对发给自己的全部
或部分数据用密码生成模块中④加密,并由通信模块发送给第一台设备。 e)第一台设备根据算法位置信息,对密码解密,对解密后数据和发送的保护数据
进行比较,符合规定要求则完成此次发送任务;如果超过规定时间没有数据返回则从a)重
新发送。 注重新发送数据时,仍用先前发送时相同的算法。在第二台设备边解密,边比 较所用算法是否和上次相同,如果相同,确认为第一台设备没收到回馈的数据,则对发给自 己的全部或部分数据加密,并由通信模块发送给第一台设备。 数据的每次加密可以采用一对一、一对多、多对一的方式,用随机方法在全体算法
中选用算法。可以是全部随机确定算法,或是只随机确定部分,再根据确定的部分按规律以
它们为基准选用其它算法。所生成的全体算法可以是全体设备公用的,也可以是通信两设
备间私有的,根据应用确定。d)步中加密宜选用与第一台不同的算法。 总之本发明用用可变的加密算法对变化的数据进行加密,使破解工作难上加难。 由于生成新算法文件及复制数据需要是锁的主人的权限才行,所以需要用户身份
验证,对钥匙的操作如果也想保护,也需要用户身份验证,这是密码锁的常用技术手断,本
发明不再赘述。


图1为第一种电子钥匙和电子锁的结构图一
图2为第一种电子钥匙和电子锁的结构图二
图3为锁的算法文件、位反文件的生成流程图
图4为钥匙的算法、位反文件和开、闭锁标识的生成流程图 图5为实施例一的方法流程图 图6为实施例二的方法流程图 图7为第二种电子钥匙和电子锁的结构图 图8为实施例三的方法流程图
具体实施例方式
作为计算机嵌入式应用所应具有的处理器、看门狗、时钟模块、电源管理模块、指 示模块(小灯、蜂鸣器或显示屏)本发明均应具有不再赘述。随机方法可以采用物理的真 随机数生成器,也可采用有加密种子的随机数函数。以下着重对第一种、第二种装置进行叙 述。 第一种装置二的实施 电子锁包括自动算法生成模块、密码生成模块、位反模块、通信模块、解密模块、
验证模块、标识模块。
其中自动算法生成模块用于在接收到生成算法指令后清空所有已存算法文件、位反 文件、开锁标识和闭锁标识、身份标识及关联变量;生成新的算法文件并写入锁的非易失性 存储器中,供密码生成模块及解密模块调用。 密码生成模块在算法文件中随机抽取> 0个算法,并记录所选算法的位置信息, 动态产生长度^ 1的原始随机数明码序列,此明码序列与所选的算法进行计算生成密码; 或者动态产生长度^ 1的原始随机数明码序列,在算法文件中抽取>0个算法,并记录所选 算法的位置信息,随机数明码序列与所选的算法进行计算生成密码;在生成的密码中添加 > 0个干扰密码。 位反模块生成位反文件,并写入锁的非易失性存储器中;根据位反文件对密码 生成模块传来的密码和算法的位置信息进行位取反操作,或是对来自钥匙的被位取反处理 过的密码和算法的位置信息进行位取反还原操作。
通信模块完成与钥匙的数据交换。既可以采取有线连接也可以采取无线连接。
解密模块将接收的来自钥匙的后经位取反还原的数据解密。 验证模块将解密模块解密后的明文与密码生成模块中的原始随机数明码序列进 行对比,如果不符合规定要求锁不进行开锁或闭锁操作,如果符合规定要求则根据钥匙已 经发过来的标识是开锁标识还是闭锁标识采取相应操作。 标识模块为钥匙分配开锁标识、闭锁标识、身份标识及关联变量,并写入锁的非 易失性存储器中。做钥匙与锁通信双方身份验证,查看当前锁的开闭状态并查看钥匙发过 来的是开锁标识还是闭锁标识,如果两个查看结果不是同为开或不是同为闭则启动密码生 成模块,身份标识能防止外人测试开锁。 电子钥匙包括标识模块、通信模块、位反模块、解密模块、密码生成模块。
其中 标识模块开、闭锁标识作为钥匙与锁通信双方身份验证,确定程序是否继续执 行,身份标识能防止外人测试开锁。
通信模块完成与锁的数据交换。 位反模块对密码生成模块传来的密码和算法的位置信息根据位反文件进行位取
反操作或是对来自锁的被位取反处理过的数据进行位取反还原操作。
解密模块将接收的来自锁的后经位取反还原的数据解密。
密码生成模块根据解密得到的原始随机数明码序列中随机数,随机抽取钥匙上 的算法文件中的算法,并记录算法在文件中的位置信息,将解密得到的原始随机数明码序 列与所选算法进行计算生成密码;在生成的密码中添加^ 0个干扰密码。
第一种装置一的实施与第一种装置二的实施类似,故不再赘述。
以下是第二种装置的实施 电子锁还包括自动算法生成模块、密码生成模块、通信模块、解密模块、验证模
块、标识模块。
其中 自动算法生成模块用于在接收到生成算法指令后清空所有已存算法文件、开锁 标识、闭锁标识,身份标识及关联变量;生成新的算法文件并写入锁的非易失性存储器中, 供密码生成模块及解密模块调用。 密码生成模块在算法文件中随机抽取> 0个算法,并记录所选算法的位置信息, 动态产生长度^ 1的原始随机数明码序列,此明码序列与所选的算法进行计算生成密码; 或者动态产生长度^ 1的原始随机数明码序列,在算法文件中抽取>0个算法,并记录所选 算法的位置信息,随机数明码序列与所选的算法进行计算生成密码;在生成的密码中添加 》0个干扰密码。依据现有的数据(密码和算法位置信息)再次在算法文件中随机抽取算 法,并记录所选算法在文件中的位置信息,将现有数据与抽取的算法进行计算得到复杂密 码,在生成的复杂密码中添加^ 0个干扰密码。
通信模块完成与钥匙的数据交换。既可以采取有线连接也可以采取无线连接。
解密模块将接收的来自钥匙的加密数据解密。 验证模块将解密模块解密后的明文与密码生成模块中的原始随机数明码序列进 行对比,如果不符合规定要求锁不进行开锁或闭锁操作,如果符合规定要求则根据钥匙已 经发过来的标识是开锁标识还是闭锁标识采取相应操作。 标识模块为钥匙分配开锁标识、闭锁标识、身份标识及关联变量,并写入锁的非 易失性存储器中。做钥匙与锁通信双方身份验证,查看当前锁的开闭状态并查看钥匙发过 来的是开锁标识还是闭锁标识,如果两个查看结果不是同为开或不是同为闭则启动密码生 成模块,身份标识能防止外人测试开锁。
电子钥匙还包括标识模块、通信模块、解密模块、密码生成模块。
其中 标识模块开、闭锁标识作为钥匙与锁通信双方身份验证,确定程序是否继续执
行,身份标识能防止外人测试开锁。
通信模块完成与锁的数据交换。
解密模块将接收的来自锁的加密数据解密。 密码生成模块根据解密得到的原始随机数明码序列中随机数,随机抽取钥匙上 的算法文件中的算法,并记录算法在文件中的位置信息,将解密得到的原始随机数明码序列与所选算法进行计算生成密码;在所生成的密码中添加^ 0个干扰密码。依据现有的数 据(密码和算法位置信息)再次在算法文件中随机抽取算法,并记录算法在文件中的位置 信息,将现有数据与抽取的算法进行计算得到复杂密码,在生成的复杂密码中添加^ 0个 干扰密码。 为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明进一步详 细描述工作流程控制。 以下为第一种电子钥匙和电子锁的实施叙述 锁的算法文件、位反文件的生成 如图3所示具体包括如下步骤 用户通过输入设备向锁处理器发出生成算法指令。 锁处理器清空所有算法文件、位反文件;锁处理器调用执行自动算法生成模块生 成新的算法文件,并写入锁的非易失性存储器中,调用位反模块生成位反文件,并写入锁的 非易失性存储器中。 钥匙的算法、位反文件和开、闭锁标识、身份标识及关联变量的生成
如图4所示具体步骤如下 401将钥匙与锁建立通信连接,本发明前面已经提过既可以采取有线连接也可以 采取无线连接,但在设置算法时如果采取有线连接会更安全。 402用户通过输入设备向锁处理器发出复制算法指令,锁向钥匙发出所有身份标 识。 403钥匙验证锁的身份标识合法后,将钥匙的身份标识发送给锁,并将钥匙保存之 算法文件、位反文件、分配的开锁标识和闭锁标识、身份标识及关联变量清空。(若是新出厂 的钥匙,则直接发送一个固定的值给锁。) 404锁接收到钥匙的身份标识后,将与此身份标识相关的开锁标识和闭锁标识、身 份标识及关联变量清空。(若收到一个固定的值,则认为是新出厂的钥匙,直接为其分配新 值。) 405锁为连接的钥匙重新分配开锁标识和闭锁标识、身份标识及关联变量,并写入 锁的非易失性存储器中;锁上通信模块读取算法文件、位反文件、分配的开锁标识和闭锁标 识、身份标识及关联变量,并发送给钥匙。 406钥匙上通信模块接收算法文件、位反文件、分配的开锁标识和闭锁标识、身份
标识及关联变量,由钥匙的处理器将数据写到钥匙的非易失性存储器上。 当用户发出确认指令,锁就根据现有的身份标识与锁内存储的所有的身份标识作
比较,发现有没对应上的,就将其相关的全部信息删除。 工作流程实施例一如图5所示 501用户触发钥匙,钥匙将开锁标识与闭锁标识中的一个标识发送给锁。 502锁验证接收的标识合法,并检查锁当前状态启动密码生成模块,并向钥匙发送
上述两个标识中的另 一个标识给钥匙。 503锁上的密码生成模块在算法文件中随机抽取> 0个算法,并记录所选算法的 位置信息,动态产生长度^ 1的原始随机数明码序列,此明码序列与所选的算法进行计算 生成密码;或者动态产生长度^ 1的原始随机数明码序列,在算法文件中抽取> O个算法,并记录所选算法的位置信息,随机数明码序列与所选的算法进行计算生成密码;在生成的 密码中添加^ 0个干扰密码。 504锁上的位反模块对密码和算法的位置信息根据位反文件进行位取反操作。
505锁上通信模块读取被位取反处理过的密码和算法的位置信息,通过通信技术 传递给钥匙。 506钥匙在验证先前由锁发过来的标识合法后,钥匙上通信模块将接收到的被位 取反处理过的密码和算法的位置信息转给位反模块进行还原处理。 507钥匙上的位反模块对接收的数据根据位反文件进行位取反还原操作,操作完 成后将数据传给解密模块。 508钥匙上的解密模块根据位取反还原后的数据中的算法位置信息,读出具体采 用的是算法文件中的什么算法,再将数据中的密码与对应的算法进行计算解密,还原原始 随机数明码序列。 509钥匙上的位反模块将解密模块得到的原始随机数明码序列,结合> 0个干扰 密码,根据位反文件进行位取反操作。 510钥匙上的通信模块将被位取反处理过的数据发送给锁。 511锁上的通信模块将接收到的位取反处理过的数据转给位反模块。 512锁上的位反模块对接收的位反处理过的数据根据位反文件进行位取反还原操
作,操作完成后将数据传给验证模块。 513锁上验证模块将接收并还原的原始随机数明码序列与锁的密码生成模块生成 的原始随机数明码序列进行对比。如果符合规定要求根据钥匙已发送过来的标识执行用户 要求的动作。如果不符合规定要求则不再继续执行。
工作流程实施例二如图6所示 601用户触发钥匙,钥匙将开锁标识与闭锁标识中的一个标识发送给锁。 602锁验证接收的标识合法,并检查锁当前状态启动密码生成模块,并向钥匙发送
上述两个标识中的另 一个标识给钥匙。 603锁上的密码生成模块在算法文件中随机抽取> 0个算法,并记录所选算法的 位置信息,动态产生长度^ 1的原始随机数明码序列,此明码序列与所选的算法进行计算 生成密码;或者动态产生长度^ 1的原始随机数明码序列,在算法文件中抽取> 0个算法, 并记录所选算法的位置信息,随机数明码序列与所选的算法进行计算生成密码;在生成的 密码中添加^ 0个干扰密码。 604锁上的位反模块对密码和算法的位置信息根据位反文件进行位取反操作。
605锁上通信模块读取被位取反处理过的密码和算法的位置信息,通过通信技术 传递给钥匙。 606钥匙在验证先前由锁发过来的标识合法后,钥匙上通信模块将接收到的被位 取反处理过的密码和算法的位置信息转给位反模块进行还原处理。 607钥匙上的位反模块对接收的数据根据位反文件进行位取反还原操作,操作完 成后将数据传给解密模块。 608钥匙上的解密模块根据位取反还原后的数据中的算法位置信息,读出具体采 用的是算法文件中的什么算法,再将数据中的密码与对应的算法进行计算解密,还原原始随机数明码序列。 609钥匙上的密码生成模块根据解密得到的原始随机数明码序列,随机抽取钥匙
上的算法文件中的算法,并记录算法在文件中的位置信息,将解密得到的原始随机数明码
序列与所选算法进行计算生成密码;在生成的密码中添加^ 0个干扰密码。 610钥匙上的位反模块对密码和算法的位置信息根据位反文件进行位取反操作。 611钥匙上通信模块读取被位取反处理过的密码和算法的位置信息,通过通信技
术传递给锁。 612锁上通信模块将接收到的位取反处理过的数据转给位反模块。 613锁上的位反模块对接收的位取反处理过的数据根据位反文件进行位取反还原
操作,操作完成后将数据传给解密模块。 614锁上的解密模块根据位取反还原后的数据中的算法位置信息,读出具体采用 的是算法文件中的什么算法,再将数据中的密码与对应的算法进行计算解密,还原原始随 机数明码序列。 615锁上验证模块将还原得到的原始随机数明码序列与锁的密码生成模块生成的
原始随机数明码序列进行对比。如果符合规定要求则根据钥匙已发送过来的标识执行用户
要求的动作。如果不符合规定要求则不再继续执行。 以下为第二种电子钥匙和电子锁的实施叙述 锁的算法文件的生成,具体包括如下步骤 用户通过输入设备向锁处理器发出生成算法指令。 锁处理器清空所有算法文件;锁处理器调用执行自动算法生成模块生成新的算法 文件,并写入锁的非易失性存储器中。 钥匙的算法文件和开、闭锁标识、身份标识及关联变量的生成,具体步骤如下
将钥匙与锁建立通信连接,本发明前面已经提过既可以采取有线连接也可以采取 无线连接,但在设置算法时如果采取有线连接会更安全。 用户通过输入设备向锁处理器发出复制算法指令,锁向钥匙发出所有身份标识。
钥匙验证锁的身份标识合法后,将钥匙的身份标识发送给锁,并将钥匙保存之算 法文件、分配的开锁标识和闭锁标识、身份标识及关联变量清空。(若是新出厂的钥匙,则直 接发送一个固定的值给锁。) 锁接收到钥匙的身份标识后,将与此身份标识相关的开锁标识和闭锁标识、身份 标识及关联变量清空。(若收到一个固定的值,则认为是新出厂的钥匙,直接为其分配新 值。) 锁为连接的钥匙重新分配开锁标识和闭锁标识、身份标识及关联变量,并写入锁 的非易失性存储器中;锁上通信模块读取算法文件、分配的开锁标识和闭锁标识、身份标识 及关联变量,并发送给钥匙。 钥匙上通信模块接收算法文件、分配的开锁标识和闭锁标识、身份标识及关联变 量,由钥匙的处理器将数据写到钥匙的非易失性存储器上。
工作流程实施例三如图8所示 801用户触发钥匙,钥匙将开锁标识与闭锁标识中的一个标识发送给锁。 802锁验证接收的标识合法,并检查锁当前状态启动密码生成模块,并向钥匙发送上述两个标识中的另 一个标识给钥匙。 803锁上的密码生成模块在算法文件中随机抽取> 0个算法,并记录所选算法的位置信息,动态产生长度^ 1的原始随机数明码序列,此明码序列与所选的算法进行计算生成密码;或者动态产生长度^ 1的原始随机数明码序列,在算法文件中抽取> 0个算法,并记录所选算法的位置信息,随机数明码序列与所选的算法进行计算生成密码;在生成的密码中添加^0个干扰密码。依据现有的数据(密码和算法位置信息)再次在算法文件中随机抽取算法,并记录所选算法在文件中的位置信息,将现有数据与抽取的算法进行计算得到复杂密码,在生成的复杂密码中添加^ 0个干扰密码。 804锁上通信模块读取上个步骤得到的最终密码与算法信息,通过通信技术传递给钥匙。 805钥匙在验证先前由锁发过来的标识合法后,钥匙上通信模块接收锁上的最终密码与算法信息并传给解密模块。 806钥匙上的解密模块根据传来的数据中的算法位置信息,读出具体采用的是算法文件中的什么算法,再将数据中的密码与对应的算法进行计算解密,还原原始随机数明码序列。 807钥匙上的密码生成模块根据解密得到的原始随机数明码序列,随机抽取钥匙上的算法文件中的算法,并记录算法在文件中的位置信息,将解密得到的原始随机数明码序列与所选算法进行计算生成密码;在生成的密码中添加^0个干扰密码。依据现有的数据(密码和算法位置信息)再次在算法文件中随机抽取算法,并记录算法在文件中的位置信息,将现有数据与抽取的算法进行计算得到复杂密码,在生成的复杂密码中添加^ 0个干扰密码。 808钥匙上通信模块读取上一步骤的最终密码与算法信息,通过通信技术传进给锁。 809锁上通信模块将接收到的钥匙上最终密码与算法信息传给解密模块。 810锁上的解密模块根据传来的数据中的算法位置信息,读出具体采用的是算法
文件中的什么算法,再将数据中的密码与对应的算法进行计算解密,还原原始随机数明码序列。 811锁上验证模块将还原得到的原始随机数明码序列与锁的密码生成模块生成的原始随机数明码序列进行对比。如果符合规定要求则根据钥匙已发送过来的标识执行用户要求的动作。如果不符合规定要求则不再继续执行。
后续 上述工作流程实施例一、二、三,开锁标识与闭锁标识很容易被外人获取,为了防止外人不断地测试摸索钥匙与锁上存储的加密算法,使用程序计数的方式记录单位时间内接收次数,超过设计的最大限制后,单位时间内就不再接收(或发送)密码和算法位置信息,单位时间过后计数清零。每次开、闭锁时在密码生成模块中,身份标识也和原始随机数明码序列一起被加密生成密码,在对方由解密模块进行解密,标识模块(或验证模块)将解密后的身份标识和自身存储的身份标识进行身份验证,不合法就停止程序运行,使锁或钥匙恢复到当天当次通信前的状态。当身份标识放在随机序列尾部时,在生成随机序列的时候等于标识的数要舍去。
为防止外人将锁发出的密码和加密算法的位置信息先接收,后再重新发给锁,采 取以下方法之一 a、锁在接收到来自钥匙的密码和加密算法的位置数据后,与其发送给钥 匙的数据进行比对,如果相同则重新将此数据发送给钥匙。b、钥匙在重新给随机数序列进 行加密时,采取与锁不完全相同或完全不同位置的加密算法进行加密,或者在填加干扰密 码时保证所填加的干扰密码与锁传来的不一样,或者前述两者相结合,锁同样也需要检查 接收的来自钥匙的密码和加密算法的位置数据与其发送给钥匙的数据是否相同,如果相同 不再对钥匙的请求做响应,此后钥匙如果想要锁对其响应,钥匙必须向锁发送身份标识,并 给用户发出警告。 本发明由于对算法进行了加密,就算不采用随机序列,而对不同锁采用固定长度 的不同的序列也可起到很好的保密作用。 本说明书中加密算法文件中的算法和位反文件中的算法,除了可以以文件的方式 进行组织外,也可采用存放在固定的存储区域的方式进行组织使用,相应的在文件中的位 置信息也要调整为在存储区中的位置信息。 就像405所述"钥匙上通信模块接收算法文件、位反文件、分配的开锁标识和闭锁 标识、身份标识及关联变量,由钥匙的处理器将数据写到钥匙的非易失性存储器上。"可以 完成钥匙上必要数据的初始化设定,当然也可以采用PC机管理手机内存SD卡(用读卡器 或数据线)的方式把文件导入钥匙的存储器,这时写入的操作在锁上来完成。并且所述的 "算法文件、位反文件、分配的开锁标识和闭锁标识、身份标识及关联变量"除可以分别存放 在不同文件或区域中,也可几个或全部组合放在同一文件或区域中,通过不同的位置区分 具体是什么。 404中"锁为连接的钥匙重新分配开锁标识和闭锁标识、身份标识及关联变量"对 每把钥匙之间而言其标识可以相同也可以不同,根据具体条件选择,如有时可以不要关联 变量,只用可变加密算法加密就足够了时。 当然所有的算法文件、位反文件、标识也可以在钥匙上生成后导入锁内;也可以采 用第三方设备生成,再分别导入钥匙和锁内;算法文件、位反文件、标识除了可以自动生成 外,也可以指导用户让用户自己去写,然后存盘;但所有的种种都用到了可变的加密算法技 术、可变密码长度技术、可变的位反通信技术,多重可变加密算法叠加应用技术、干扰密码 技术,属同一种发明,因此不再赘述。 对发送的开锁标识、闭锁标识也可采取可变加密算法对其加密,不过这样每当外
界有信号时都会启动解密程序,无端地增加了锁和钥匙的工作负担。 为了更加安全,生产时也可以加上报警功能模块。
3权利要求
一种电子锁和钥匙,其特征为以下(一)或(二)(一)、电子锁包括密码生成模块、位反模块、通信模块、验证模块、标识模块;其中密码生成模块在全体加密算法中抽取>0个算法,并记录所选算法的位置信息,动态产生长度≥1的原始随机数明码序列,此明码序列与所选的算法进行计算生成密码;或者动态产生长度≥1的原始随机数明码序列,在全体加密算法中抽取>0个算法,并记录所选算法的位置信息,随机数明码序列与所选的算法进行计算生成密码;在生成的密码中添加≥0个干扰密码;位反模块对密码生成模块传来的数据进行位取反操作,或是对通信模块接收的被位取反处理过的数据进行位取反还原操作;通信模块完成与钥匙的数据交换;验证模块将经位反模块位取反还原得到的明文与密码生成模块中的原始随机数明码序列进行对比,如果不符合规定要求锁不进行开锁或闭锁操作,如果符合规定要求则根据钥匙已经发过来的标识是开锁标识还是闭锁标识采取相应操作;标识模块做钥匙与锁通信双方身份验证;电子钥匙包括标识模块、通信模块、位反模块、解密模块;其中标识模块做钥匙与锁通信双方身份验证,验证锁合法后再继续后续的操作;通信模块完成与锁的数据交换;位反模块对解密模块传来的数据进行位取反操作或是对通信模块接收的位取反处理过的数据进行位取反还原操作;解密模块将位反模块位取反还原的数据解密;(二)、电子锁包括密码生成模块、位反模块、通信模块、解密模块、验证模块、标识模块;其中密码生成模块在全体加密算法中抽取>0个算法,并记录所选算法的位置信息,动态产生长度≥1的原始随机数明码序列,此明码序列与所选的算法进行计算生成密码;或者动态产生长度≥1的原始随机数明码序列,在全体加密算法中抽取>0个算法,并记录所选算法的位置信息,随机数明码序列与所选的算法进行计算生成密码;在生成的密码中添加≥0个干扰密码;位反模块对密码生成模块传来的数据进行位取反操作,或是对通信模块接收的被位取反处理过的数据进行位取反还原操作;通信模块完成与钥匙的数据交换;解密模块将位反模块位取反还原的数据解密;验证模块将解密模块解密后的明文与密码生成模块中的原始随机数明码序列进行对比,如果不符合规定要求锁不进行开锁或闭锁操作,如果符合规定要求则根据钥匙已经发过来的标识是开锁标识还是闭锁标识采取相应操作;标识模块做钥匙与锁通信双方身份验证;电子钥匙包括标识模块、通信模块、位反模块、解密模块、密码生成模块;其中标识模块做钥匙与锁通信双方身份验证,验证锁合法后再继续后续的操作;通信模块完成与锁的数据交换;位反模块对密码生成模块传来的数据进行位取反操作或是对通信模块接收的被位取反处理过的数据进行位取反还原操作;解密模块将位反模块位取反还原的数据解密;密码生成模块根据解密得到的原始随机数明码序列中随机数,在钥匙上全体加密算法中抽取>0个算法,并记录算法的位置信息,将解密得到的原始随机数明码序列与所选算法进行计算生成密码;在生成的密码中添加≥0个干扰密码。
2. 根据权利要求1所述一种电子锁和钥匙,其特征为锁中还包括自动算法生成模块用于在接收到生成算法指令后清空所有已存全体加密 算法、全体位反算法、开锁标识和闭锁标识、身份标识及关联变量,生成新的全体加密算法 并写入锁的非易失性存储器中;锁的位反模块还用于生成全体位反算法,并写入锁的非易失性存储器中; 锁的标识模块还用于为钥匙分配标识,并写入锁的非易失性存储器中;查看当前锁的 开闭状态并查看钥匙发过来的是开锁标识还是闭锁标识,启动密码生成模块。
3. —种基于权利要求2所述"一种电子锁和钥匙"的设置与开、闭实现方法,其步骤如 下(一)或者(二)(一)、锁的算法文件、位反文件的生成 用户通过输入设备向锁处理器发出生成算法指令; 锁处理器清空所有算法文件、位反文件;锁处理器调用执行自动算法生成模块生成新的算法文件并写入锁的非易失性存储器 中,调用位反模块生成位反文件,并写入锁的非易失性存储器中;钥匙的算法、位反文件和开、闭锁标识、身份标识及关联变量的生成 将钥匙与锁建立通信连接;用户通过输入设备向锁处理器发出复制算法指令,锁向钥匙发出所有身份标识;钥匙验证锁的身份标识合法后,将钥匙的身份标识发送给锁,并将钥匙保存之算法文 件、位反文件、分配的开锁标识和闭锁标识、身份标识及关联变量清空;若是新出厂的钥匙, 则直接发送一个固定的值给锁;锁接收到钥匙的身份标识后,将与此身份标识相关的开锁标识和闭锁标识、身份标识 及关联变量清空;若收到一个固定的值,则认为是新出厂的钥匙,直接为其分配新值;锁为连接的钥匙重新分配开锁标识和闭锁标识、身份标识及关联变量,并写入锁的非 易失性存储器中;将算法文件、位反文件、分配的开锁标识和闭锁标、身份标识及关联变量写到钥匙的非 易失性存储器上;钥匙与锁的工作流程用户触发钥匙,钥匙将开锁标识与闭锁标识中的一个标识发送给锁;锁验证接收的标识合法,并检查锁当前状态启动密码生成模块,并向钥匙发送上述两 个标识中的另一个标识给钥匙;锁上的密码生成模块在算法文件中随机抽取> 0个算法,并记录所选算法的位置信 息,动态产生长度^ 1的原始随机数明码序列,此明码序列与所选的算法进行计算生成密 码;或者动态产生长度^ 1的原始随机数明码序列,在算法文件中抽取> 0个算法,并记录 所选算法的位置信息,随机数明码序列与所选的算法进行计算生成密码;在生成的密码中 添加^0个干扰密码;锁上的位反模块对密码和算法的位置信息根据位反文件进行位取反操作;锁上通信模块读取被位取反处理过的密码和算法的位置信息,通过通信技术传递给钥匙;钥匙在验证先前由锁发过来的标识合法后,钥匙上通信模块将接收到的被位取反处理 过的密码和算法的位置信息转给位反模块进行还原处理;钥匙上的位反模块对接收的数据根据位反文件进行位取反还原操作,操作完成后将数 据传给解密模块;钥匙上的解密模块根据位取反还原后的数据中的算法位置信息,读出具体采用的是算 法文件中的什么算法,再将数据中的密码与对应的算法进行计算解密,还原原始随机数明 码序列;钥匙上的密码生成模块根据解密得到的原始随机数明码序列,随机抽取钥匙上的算法 文件中的算法,并记录算法在文件中的位置信息,将解密得到的原始随机数明码序列与所 选算法进行计算生成密码;在生成的密码中添加^ 0个干扰密码;钥匙上的位反模块对密码和算法的位置信息根据位反文件进行位取反操作; 钥匙上通信模块读取被位取反处理过的密码和算法的位置信息,通过通信技术传递给锁;锁上通信模块将接收到的位取反处理过的数据转给位反模块;锁上的位反模块对接收的位取反处理过的数据根据位反文件进行位取反还原操作,操 作完成后将数据传给解密模块;锁上的解密模块根据位取反还原后的数据中的算法位置信息,读出具体采用的是算法 文件中的什么算法,再将数据中的密码与对应的算法进行计算解密,还原原始随机数明码 序列;锁上验证模块将还原得到的原始随机数明码序列与锁的密码生成模块生成的原始随 机数明码序列进行对比,如果符合规定要求则根据钥匙已发送过来的标识执行用户要求的 动作,如果不符合规定要求则不再继续执行;(二)、锁的算法文件、位反文件的生成 用户通过输入设备向锁处理器发出生成算法指令; 锁处理器清空所有算法文件、位反文件;锁处理器调用执行自动算法生成模块生成新的算法文件并写入锁的非易失性存储器 中,调用位反模块生成位反文件,并写入锁的非易失性存储器中;钥匙的算法、位反文件和开、闭锁标识、身份标识及关联变量的生成将钥匙与锁建立通信连接;用户通过输入设备向锁处理器发出复制算法指令,锁向钥匙发出所有身份标识;钥匙验证锁的身份标识合法后,将钥匙的身份标识发送给锁,并将钥匙保存之算法文 件、位反文件、分配的开锁标识和闭锁标识、身份标识及关联变量清空;若是新出厂的钥匙, 则直接发送一个固定的值给锁;锁接收到钥匙的身份标识后,将与此身份标识相关的开锁标识和闭锁标识、身份标识 及关联变量清空;若收到一个固定的值,则认为是新出厂的钥匙,直接为其分配新值;锁为连接的钥匙重新分配开锁标识和闭锁标识、身份标识及关联变量,并写入锁的非 易失性存储器中;将算法文件、位反文件、分配的开锁标识和闭锁标、身份标识及关联变量写到钥匙的非 易失性存储器上;钥匙与锁的工作流程用户触发钥匙,钥匙将开锁标识与闭锁标识中的一个标识发送给锁; 锁验证接收的标识合法,并检查锁当前状态启动密码生成模块,并向钥匙发送上述两 个标识中的另一个标识给钥匙;锁上的密码生成模块在算法文件中随机抽取> 0个算法,并记录所选算法的位置信 息,动态产生长度^ 1的原始随机数明码序列,此明码序列与所选的算法进行计算生成密 码;或者动态产生长度^ 1的原始随机数明码序列,在算法文件中抽取>0个算法,并记录 所选算法的位置信息,随机数明码序列与所选的算法进行计算生成密码;在生成的密码中 添加> 0个干扰密码;锁上的位反模块对密码和算法的位置信息根据位反文件进行位取反操作; 锁上通信模块读取被位取反处理过的密码和算法的位置信息,通过通信技术传递给钥匙;钥匙在验证先前由锁发过来的标识合法后,钥匙上通信模块将接收到的被位取反处理 过的密码和算法的位置信息转给位反模块进行还原处理;钥匙上的位反模块对接收的数据根据位反文件进行位取反还原操作,操作完成后将数 据传给解密模块;钥匙上的解密模块根据位取反还原后的数据中的算法位置信息,读出具体采用的是算 法文件中的什么算法,再将数据中的密码与对应的算法进行计算解密,还原原始随机数明 码序列;钥匙上的位反模块将解密模块得到的原始随机数明码序列,结合》0个干扰密码,根据位反文件进行位取反;钥匙上的通信模块将被位取反处理过的数据发送给锁; 锁上的通信模块将接收到的被位取反处理过的数据转给位反模块; 锁上的位反模块对接收的被位取反处理过的数据根据位反文件进行位取反还原操作,操作完成后将数据传给验证模块;锁上验证模块将接收并还原的原始随机数明码序列与锁的密码生成模块生成的原始随机数明码序列进行对比,如果符合规定要求根据钥匙已发送过来的标识执行用户要求的动作,如果不符合规定要求则不再继续执行。
4. 一种电子锁和钥匙,其特征为电子锁包括密码生成模块、通信模块、解密模块、验证模块、标识模块; 其中密码生成模块①在全体加密算法中抽取〉O个算法,并记录所选算法的位置信息,动 态产生长度^ 1的原始随机数明码序列,此明码序列与所选的算法进行计算生成密码;或 者动态产生长度^ 1的原始随机数明码序列,在全体加密算法中抽取> o个算法,并记录所 选算法的位置信息,随机数明码序列与所选的算法进行计算生成密码;在生成的密码中添 加> 0个干扰密码; 依据现有的密码和算法位置信息再次在全体加密算法中抽取> 0个 算法,并记录所选算法的位置信息,将现有数据与抽取的算法进行计算得到复杂密码,在生 成的复杂密码中添加^ 0个干扰密码;通信模块完成与钥匙的数据交换;解密模块将通信模块接收的来自钥匙的加密数据解密;验证模块将解密模块解密后的明文与密码生成模块中的原始随机数明码序列进行对 比,如果不符合规定要求锁不进行开锁或闭锁操作,如果符合规定要求则根据钥匙已经发 过来的标识是开锁标识还是闭锁标识采取相应操作;标识模块做钥匙与锁通信双方身份验证;电子钥匙包括标识模块、通信模块、解密模块、密码生成模块; 其中标识模块做钥匙与锁通信双方身份验证,验证锁合法后再继续后续的操作; 通信模块完成与锁的数据交换;解密模块将通信模块接收的来自锁的加密数据解密;密码生成模块①根据解密得到的原始随机数明码序列中随机数,在钥匙上全体加密 算法中抽欺>0个算法,并记录算法的位置信息,将解密得到的原始随机数明码序列与所 选算法进行计算生成密码;在生成的密码中添加^ 0个干扰密码;②依据现有的密码和算 法位置信息再次在全体加密算法中抽取> 0个算法,并记录算法的位置信息,将现有数据 与抽取的算法进行计算得到复杂密码,在生成的复杂密码中添加^ 0个干扰密码。
5. 根据权利要求4所述一种电子锁和钥匙,其特征为锁中还包括自动算法生成模块用于在接收到生成算法指令后清空所有已存全体加密 算法、开锁标识和闭锁标识、身份标识及关联变量,生成新的全体加密算法并写入锁的非易 失性存储器中;锁的标识模块还用于为钥匙分配标识,并写入锁的非易失性存储器中;查看当前锁的 开闭状态并查看钥匙发过来的是开锁标识还是闭锁标识,启动密码生成模块;电子锁的密码生成模块中的"②依据现有的密码和算法位置信息再次在全体加密算法 中抽取算法,并记录所选算法的位置信息,将现有数据与抽取的算法进行计算得到复杂密 码,在生成的复杂密码中添加^ 0个干扰密码"选用次数大于等于0次;电子钥匙的密码生成模块中的"②依据现有的密码和算法位置信息再次在全体加密算 法中抽取算法,并记录算法的位置信息,将现有数据与抽取的算法进行计算得到复杂密码, 在生成的复杂密码中添加^ 0个干扰密码"选用次数大于等于0次。
6. —种基于权利要求5所述"一种电子锁和钥匙"的设置与开、闭实现方法,其步骤如下锁的算法文件的生成用户通过输入设备向锁处理器发出生成算法指令; 锁处理器清空所有算法文件;锁处理器调用执行自动算法生成模块生成新的算法文件并写入锁的非易失性存储器中;钥匙的算法、开、闭锁标识、身份标识及关联变量的生成 将钥匙与锁建立通信连接;用户通过输入设备向锁处理器发出复制算法指令,锁向钥匙发出所有身份标识;钥匙验证锁的身份标识合法后,将钥匙的身份标识发送给锁,并将钥匙保存之算法文 件、分配的开锁标识和闭锁标识、身份标识及关联变量清空;若是新出厂的钥匙,则直接发 送一个固定的值给锁;锁接收到钥匙的身份标识后,将与此身份标识相关的开锁标识和闭锁标识、身份标识 及关联变量清空;若收到一个固定的值,则认为是新出厂的钥匙,直接为其分配新值;锁为连接的钥匙重新分配开锁标识和闭锁标识、身份标识及关联变量,并写入锁的非 易失性存储器中;将算法文件、分配的开锁标识和闭锁标、身份标识及关联变量写到钥匙的非易失性存 储器上;钥匙与锁的工作流程用户触发钥匙,钥匙将开锁标识与闭锁标识中的一个标识发送给锁;锁验证接收的标识合法,并检查锁当前状态启动密码生成模块,并向钥匙发送上述两 个标识中的另一个标识给钥匙;锁上的密码生成模块在算怯文件中随机抽取>0个算法,并记录所选算法的位置信 息,动态产生长度^ 1的原始随机数明码序列,此明码序列与所选的算法进行计算生成密 码;或者动态产生长度^ 1的原始随机数明码序列,在算法文件中抽取> 0个算法,并记录 所选算法的位置信息,随机数明码序列与所选的算法进行计算生成密码;在生成的密码中 添加> 0个干扰密码;依据现有的密码和算法位置信息再次在算法文件中随机抽取算法, 并记录所选算法的位置信息,将现有数据与抽取的算法进行计算得到复杂密码,在生成的 复杂密码中添加^ 0个干扰密码;锁上通信模块读取上个步骤得到的最终密码与算法信息,通过通信技术传递给钥匙;钥匙在验证先前由锁发过来的标识合法后,钥匙上通信模块接收锁上最终密码与算法 信息并传给解密模块;钥匙上的解密模块根据传来的数据中的算法位置信息,读出具体采用的是算法文件中 的什么算法,再将数据中的密码与对应的算法进行计算解密,还原原始随机数明码序列;钥匙上的密码生成模块根据解密得到的原始随机数明码序列,随机抽取钥匙上的算法 文件中的算法,并记录算法在文件中的位置信息,将解密得到的原始随机数明码序列与所 选算法进行计算生成密码;在生成的密码中添加^0个干扰密码;依据现有的密码和算法 位置信息再次在算法文件中随机抽取算法,并记录所选算法的位置信息,将现有数据与抽 取的算法进行计算得到复杂密码,在生成的复杂密码中添加^ 0个干扰密码;钥匙上通信模块读取上一步骤的最终密码与算法信息,通过通信技术传递给锁; 锁上通信模块将接收到的钥匙上最终密码与算法信息传给解密模块; 锁上的解密模块根据传来的数据中的算法位置信息,读出具体采用的是算法文件中的什么算法,再将数据中的密码与对应的算法进行计算解密,还原原始随机数明码序列;锁上验证模块将还原得到的原始随机数明码序列与锁的密码生成模块生成的原始随机数明码序列进行对比,如果符合规定要求则根据钥匙已发送过来的标识执行用户要求的动作,如果不符合规定要求则不再继续执行。
7. 根据权利要求1到6任一权利要求所述一种电子锁和钥匙,其特征为 以下A、B、C或者D :A、 所述"原始随机数明码序列"取值为固定长度的任意序列;B、 用户要想使用生成算法、复制算法、删除、确认指令需先进行用户身份验证;C、 用同一把钥匙以前开、闭锁时产生的随机序列中的项中的随机数,为本次开、闭锁时产生的算法位置信息或者身份标识或者二者一起加密、解密;锁给钥匙分配标识时, 一同分 配成功信号;锁验证还原得到的原始随机数明码序列与密码生成模块生成的原始随机数明 码序列相同时,向钥匙发送成功信号;D、 采取防范措施①、②或者③①钥匙与锁之间除发送开锁或闭锁标识外,还和随机序 列一起发送身份标识,身份标识也一起加密;②单位时间内达到最大接收次数,单位时间内 就不再接收、发送密码和算法位置信息;③具备以下a、b、 c或者d :a、锁在接收到来自钥匙 的密码和算法的位置数据后与其发送给钥匙的数据进行比对,如果相同则重新将此数据发 送给钥匙;b、钥匙在重新给随机数序列进行加密时采取与锁不完全相同或完全不同位置的 算法进行加密,锁需要检查接收的来自钥匙的密码和算法的位置数据与其发送给钥匙的数 据是否相同,如果相同不再对钥匙的请求继续做响应,钥匙重新发出请求时,钥匙必须向锁 发送身份标识,锁给用户发出警告;c、钥匙在填加干扰密码时所填加的干扰密码与锁传来 的不一样,锁需要检查接收的来自钥匙的密码和算法的位置数据与其发送给钥匙的数据是 否相同,如果相同不再对钥匙的请求继续做响应,钥匙重新发出请求时,钥匙必须向锁发送 身份标识,锁给用户发出警告;d、钥匙在重新给随机数序列进行加密时,采取与锁不完全相 同或完全不同位置的算法进行加密,钥匙在填加干扰密码时所填加的干扰密码与锁传来的 不一样,锁需要检查接收的来自钥匙的密码和算法的位置数据与其发送给钥匙的数据是否 相同,如果相同不再对钥匙的请求继续做响应,钥匙重新发出请求时,钥匙必须向锁发送身 份标识,锁给用户发出警告。
8. —种电子锁和钥匙,其特征为电子锁包括自动算法生成模块、密码生成模块、通信模块、解密模块、验证模块、标识 模块;其中自动算法生成模块根据标识模块生成的新的身份标识,生成对应的新的加密算法; 密码生成模块用与开锁标识或闭锁标识对应的全体加密算法中第固定序号项或多个 固定序号项中的可变算法,对对应的身份标识进行加密;用钥匙身份标识对应的全体加密 算法中的的一组可变加密算法,对原始随机数明码序列进行加密;用钥匙身份标识对应的 全体加密算法中第固定序号项或多个固定序号项中的可变算法,对成功信号进行加密;将密码通过通信模块发给钥匙;删除钥匙对应的全体加密算法中的一部分; 通信模块完成与钥匙的数据交换; 解密模块将通信模块接收的来自钥匙的密码解密;验证模块检查钥匙身份标识合法后,启动密码生成模块;比对原始随机数明码序列, 符合规定要求时向钥匙对应的全体加密算法中填加算法,并再次启动密码生成模块; 标识模块验证接收的开锁或闭锁标识合法后,启动密码生成模块;提供标识; 电子钥匙包括标识模块、通信模块、解密模块、密码生成模块、验证模块; 其中标识模块提供标识;通信模块完成与锁的数据交换;解密模块将通信模块接收的来自锁的密码解密;在解出原始随机数明码序列后向全 体加密算法中填加算法;密码生成模块用全体加密算法中第固定序号项或多个固定序号项中的可变算法对身 份标识进行加密;用全体加密算法中的的一组可变加密算法,对解密模块还原得到的原始 随机数明码序列进行加密;将密码通过通信模块发给锁;验证模块验证由解密模块解密的由锁发过来身份标识合法后,启动密码生成模块; 验证成功信号后删除全体加密算法中的一部分。
9. 一种基于权利要求8所述"一种电子锁和钥匙"的工作实现方法用户触发钥匙,钥匙将开锁标识或闭锁标识发送给锁;锁上标识模块验证接收的开锁或闭锁标识合法后,启动密码生成模块;锁上密码生成模块用与收到的开锁或闭锁标识对应的全体加密算法中第固定序号项 或多个固定序号项中的算法suanA,把由开锁或闭锁标识对应的身份标识进行加密;锁上通信模块读取密码生成模块生成的密码,通过通信技术传递给钥匙;钥匙上通信模块将接收到密码传给解密模块;钥匙上的解密模块采用与锁中加密算法suanA对应的解密算法对密码解密,还原身份 标识;钥匙上验证模块在验证由锁发过来身份标识合法后,启动密码生成模块;如果不合法, 停止此次用户请求操作,恢复至请求前状态,并使请求失败计数器+1,如果在单位时间内失 败的请求次数超过出厂设定值,则单位时间内不再对用户请求作响应;单位时间过后计数 器清零;钥匙上的密码生成模块用全体加密算法中第固定序号项或多个固定序号项中的算法 suanB对身份标识进行加密;钥匙上通信模块读取密码生成模块生成的密码,通过通信技术传递给锁; 锁上通信模块将接收到的密码传给解密模块;锁上的解密模块采用与钥匙中加密算法suanB对应的解密算法对密码解密,还原身份 标识;锁上验证模块检查钥匙身份合法后,启动密码生成模块;如果不合法,停止此次用户请 求操作,恢复至请求前状态,并使请求失败计数器+1,如果在单位时间内失败的请求次数超 过出厂设定值,则单位时间内不再对用户请求作响应;单位时间过后计数器清零;锁上密码生成模块选择与钥匙身份标识对应的全体加密算法中的的一组算法suanC, 同时生成一组原始随机数明码序列,用所选加密算法suanC对原始随机数明码序列进行加 密;锁上通信模块读取密码生成模块生成的密码,通过通信技术传递给钥匙; 钥匙上通信模块将接收到的密码传给解密模块;钥匙上的解密模块采用与锁中加密算法suanC对应的解密算法对密码解密,还原原始 随机数明码序列;在还原的原始随机数明码序列中,取一定数量随机数填充到全体算法的 最后面;钥匙上的密码生成模块读取已存全体加密算法中的一组算法suanD,对解密模块得到 的原始随机数明码序列进行加密;钥匙上通信模块读取密码生成模块生成的密码,通过通信技术传递给锁; 锁上通信模块将接收到的密码传给解密模块;锁上的解密模块采用与钥匙中加密算法suanD对应的解密算法对密码解密,还原原始 随机数明码序列;锁上验证模块将还原得到的原始随机数明码序列与锁的密码生成模块生成的原始随 机数明码序列进行对比;如果符合规定要求在本次通信过程的原始随机数明码序列中,取 一定数量随机数填充到钥匙对应的全体算法的最后面,并再次启动密码生成模块;如果不 符合规定要求,停止此次用户请求操作,恢复至请求前状态,并使请求失败计数器+1,如果 在单位时间内失败的请求次数超过出厂设定值,则单位时间内不再对用户请求作响应,单 位时间过后计数器清零;锁上的密码生成模块用与钥匙身份标识对应的全体加密算法中第固定序号项或多个 固定序号项中的算法suanE,对成功信号进行加密;之后,将与钥匙身份标识对应的全体加 密算法中的一部分进行删除,被删除的算法其后面的算法位置依次前移;锁上通信模块读取密码生成模块生成的密码,通过通信技术传递给钥匙;锁执行开、闭锁操作;钥匙上通信模块将接收到的密码传给解密模块;钥匙上的解密模块采用与锁中加密算法suanE对应的解密算法对密码解密,还原成功 信号;钥匙上验证模块验证是正确的成功信号后,将全体加密算法中的一部分进行删除,被 删除的算法其后面的算法位置依次前移;如果一定时间内没有收到成功信号,则不删除,退 出程序。
10. —种电子锁,嵌入在其它设备中其特征是以下(一)或(二) (一)、电子锁包括自动算法生成模块、密码生成模块、通信模块、解密模块、验证模块、标识 模块;其中自动算法生成模块用于生成新的全体加密算法并写入锁的非易失性存储器中; 密码生成模块根据接收方身份标识加上需要保护的数据,在全体加密算法中抽取算 法,并记录所选算法的位置信息,用所选的算法对身份标识和需要保护的数据进行计算生成密码;将算法位置信息用以前被保护过的数据中的某些数据进行加密,并将本次被保护 的数据中的某些数据保存到身份标识关联的管道型变量尾,以备以后为算法位置信息加 密、解密使用;用身份标识关联的管道型变量首部起没有用过的数据对成功信号加密; 通信模块完成与另一台设备数据交换;解密模块将通信模块接收的数据,用以前被保护过的数据中的某些数据对算法位置 信息解密,判断算法位置信息确定是否需要重发成功信号;根据位置信息找到解密方法对 密码解密,在验证模块确认身份标识后,将身份标识关联的管道型变量首部用于上次解密 与加密的数据删除;将本次被保护的数据中的某些数据保存到管道型变量尾,以备以后为 算法位置信息加密、解密使用;验证模块根据解密模块解密的身份标识,确认此次所传的保护数据为对方要发给自 己的;验证成功信号后,将身份标识关联的管道型变量首部用于解密和加密的数据删除;标识模块向对方发送请求标识,核实对方发来的应答标识后启动密码生成模块;或 对对方的请求标识发送应答标识,并准备接收对方数据;为连接的设备分配请求标识、应答 标识、身份标识及关联变量、成功信号;或接受分配;工作步骤a) 需要发送数据的一台设备向需要接收方发送请求标识;b) 第二台设备收到请求标识后,向第一台设备发送应答标识,并准备接收数据;c) 第一台设备收到应答标识后,启动密码生成模块对身份标识和需要保护的数据加密 并记录算法位置信息,读取身份标识关联的管道型变量首部的数据对算法位置信息加密, 由通信模块将密码和算法位置信息发送给第二台设备;将本次保护的数据中的部分数据保 存到身份标识关联的管道型变量尾部;d) 第二台设备的通信模块接收密码和算法位置信息,先读取身份标识关联的管道型变 量首部的数据,解密算法位置信息,再根据位置信息找到解密方法对密码解密;如果得不到 正确的身份标识,就假设身份标识关联的管道型变量首部的数据是用于上次解密与加密的 数据,将其假定去除,其后面的数据位置依次前移,用前移后的新的首部数据为算法位置信 息解密,再根据位置信息找到解密方法对密码解密,验证模块验证身份标识正确,即确认解 密后数据为对方要发给自己的,将假设删除的数据真正删除,再将本次保护的数据中的部 分数据保存到身份标识关联的管道型变量尾部,用身份标识关联的管道型变量首部没用过 的数据对成功信号加密,并发送给第一台设备;如果得到正确的身份标识,将本次保护的数 据中的部分数据保存到身份标识关联的管道型变量尾部,用身份标识关联的管道型变量首 部没用过的数据对成功信号加密,并发送给第一台设备;e) 第一台设备用身份标识关联的管道型变量首部没用过的数据对成功信号解密,验证 模块验证成功信号后,将身份标识关联的管道型变量首部已用于解密和加密的数据删除; 如果一定时间后没有收到成功信号,则删除填加到身份标识关联的管道型变量尾部的数 据,重复从a)开始执行,并且用先前相同位置的加密算法进行加密,到d)时第二台设备的 通信模块接收密码和算法位置信息,先读取身份标识关联的管道型变量首部的数据,解密 算法位置信息,如果此次所得算法位置信息与前次相同,则不再将本次保护的数据中的部 分数据保存到身份标识关联的管道型变量尾部,而直接用身份标识关联的管道型变量首部 上次用于加密的数据对成功信号加密,并发送给第一台设备;执行第e)步;(二)、电子锁包括自动算法生成模块、密码生成模块、通信模块、解密模块、验证模块、标识 模块;其中自动算法生成模块用于生成新的全体加密算法并写入锁的非易失性存储器中; 密码生成模块①、根据需要保护的数据和身份标识,在全体加密算法中抽取算法,并 记录所选算法的位置信息,用所选的算法对保护的数据和身份标识进行计算生成密码;②、 根据现有的密码和算法位置信息再次在全体加密算法中抽取算法,并记录所选算法的位置 信息,将现有密码和算法位置信息用抽取的算法进行计算得到复杂密码;③、将第"②"重复 N次;④、用以上三部分对保护的数据的全部或部分数据进行加密; 通信模块完成与另一台设备数据交换;解密模块将通信模块接收的数据,根据算法位置信息将密码解密;经过N+2次解密, 还原需要保护的数据和身份标识,或还原保护数据中的全部或部分数据;验证模块根据解密模块解密的身份标识,确认此次所传的保护数据为对方要发给自 己的;标识模块向对方发送请求标识,核实对方发来的应答标识后启动密码生成模块;或 对对方的请求标识发送应答标识,并准备接收对方数据;为连接的设备分配请求标识、应答 标识、身份标识;或接受分配;工作过程需要发送数据的一台设备向需要接收方发送请求标识;第二台设备收到请求标识后,向第一台设备发送应答标识,并准备接收数据; 第一台设备收到应答标识后,启动密码生成模块对数据和身份标识使用密码生成模 块中①②③加密并记录算法位置信息,由通信模块将密码和算法位置信息发送给第二台设备;第二台设备的通信模块接收密码和算法位置信息,根据算法位置信息找到解密方法对 密码解密;验证身份标识,确认解密后数据为对方要发给自己的,对发给自己的全部或部分 数据用密码生成模块中④加密,并由通信模块发送给第一台设备;第一台设备根据算法位置信息,对密码解密,对解密后数据和发送的保护数据进行比 较,符合规定要求则完成此次发送任务。
全文摘要
本发明涉及电子锁、钥匙技术,用计算机程序实现一种工业过程控制,为了使密码长度具有可变的特性,以及防止密码在传输过程中被破解,本发明电子锁和钥匙采用可变的加密算法技术、可变的位反通信技术、多重可变密钥叠加应用技术,可以使钥匙和锁之间传输的信息或设备与设备间传输的信息没有了可以被外人利用到的机会,真正达到了安全的效果,而且本发明优点在于可以随时更改加密算法,门或保险柜等安装后可以一劳永逸,什么时候想换加密算法就什么时候换,而且以锁为重心,为钥匙分配标识,可以让钥匙的修配更加方便。
文档编号E05B19/00GK101793115SQ20101010601
公开日2010年8月4日 申请日期2010年1月22日 优先权日2010年1月22日
发明者姜君凯 申请人:姜君凯
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1