掩盖明文符号边界的二进制数据通信加密法的制作方法

文档序号:16629647发布日期:2019-01-16 06:26阅读:383来源:国知局
掩盖明文符号边界的二进制数据通信加密法的制作方法

本发明涉及掩盖明文符号边界的二进制数据通信加密法。



背景技术:

随着时间的推移已经开发了大量的技术来加密数据流,其普遍操作原理可以在数学上描述如下。

要传送的是来自任意字母表s的消息符号(明文)s0,s1,...的序列。消息由具有加密功能的发送方加密,并传送到具有反向解密功能的接收方解密。根据柯克霍夫原则,这两种功能通常是公开的,但是通过密钥k进行参数化,通信单元之间通过保密和可靠的信道约定密钥k。依据这个密钥,发送方和接收方在离散时间t>0,会由状态转换函数f生成状态序列

σt+1=f(σt,k)

并且由密钥流生成函数g得出密钥流

zt=g(σt,k)。

初始状态σ0可以是公开的,也可以从密钥k导出。明文随后通过可逆映射

ct=h(zt,st)

状态相关地与密钥流和密文连接起来,这样密文可以通过应用反向映射

st=h-1(zt,ct)

进行解密。密钥流序列必须尽可能与真正的随机序列相似。在自同步流密码的情况下,状态σt+1的确定还取决于最后生成的密文符号ct,...,ct-l+1,其中l固定且l≥1,。

当每个可能的密文都可以从明文信息中以相同的概率加密生成,并且完全不可能系统地从密文中推出明文,称之为完善保密性。根据香农的信息理论的基本定律,只有当可能的密钥数量至少与可能的消息数量一样多时,才认为加密系统是完善保密的。因此,密钥的数量也至少与可能的密文的数量一样多,而密文的数量又必须至少与可能的明文的数量一样多。

然而,目前使用的加密方法通常在较长的时间段内使用同一个密钥,因此密码分析学上是脆弱的。例如,已经表明,根据rsa方法的768位密钥被广泛使用的不对称加密至少在理论上已经被破解。即使对称密码系统数据加密标准(des)也被认为是不安全的,不建议用于实际应用。其他方法,如triple-des或高级加密标准(aes)目前被认为是安全的,只是因为目前现有的计算能力还不能将所有的密钥都试一遍。常见的加密方法已经被破解,或者在可预见的时间内将被破解,所以他们的密钥通常必须存放在政府机构。因此,从长远来看,由于根据香农定理的密钥使用的唯一性,只有完全安全的弗纳姆加密法或一次性密码本才是合理的。

如果一个数字密钥是随机和均匀分布的被选择,它和数字消息一样长且只使用一次,就称为一次性密码本。这意味着对于每个消息比特提供一个随机确定的密钥比特,通过异或生成密文。由于所有密钥都是以相同的概率生成的,攻击者对明文的假设也是基于相同的概率。因为系统窃听没有信息依据,所以猜测出使用的一次性密码的机会很小。即使这在个别情况下是可能的,也不会有太多的收获,因为下一个消息是被另一个一次性密钥加密。

一些最近的加密技术利用了这样一个事实,即不仅可以使用双射(可逆)映射,而且还可以使用逆关系是满射映射的关系来进行加密。在下面简要总结的两种方法允许在加密明文符号时从一组可能的加密中随机选择一个图标。这自然增加了密文的长度。

按照明文字母的符号被双射映射到通常更大的图像集合中的图像符号的等价类。为了对明文符号进行加密,图像符号是从与其对应的图像集合的等价类中随机选择的,使得密文尽可能无法用统计方法攻击。明文符号由图像符号一一对应替换成密文,这就是为什么与所有其他已知方法一样可以直接从图像符号之间的边界推断明文符号之间的边界的原因。

(拉丁文)明文字母的字符首先一一映射到另一个公开的字母表的元素上。这个所谓的丹尼尔字母的元素由固定数量的字母表示。如果在丹尼尔明文中相同的字母相互紧挨,则在它们之间插入特殊字母w。如此修改的丹尼尔明文的每个字母可以在实际加密之前按需要任意重复。解密后,所有重复的字母和w字母被删除,还原丹尼尔明文。用任意的图作为密钥,其节点用字母标记。为了进行秘密的信息交换,发送方和接收方同意以这样的一个图作为密钥和一个节点作为起点。密文就可以看作是由沿着有扩展丹尼尔明文字母标记的节点的一条(或几条,必要的话)路径所对应的边的标记序列组成。由于接收方知道起点,它可以沿着指定的边在图中移动并读取到达节点的标记来解密。明文符号之间的边界可见地传播到密文,因为它是由用来在(密钥)图形中从节点到节点漫游的固定长度的方向指示组成。不管起始节点如何,这直接得出在扩展丹尼尔明文(包含丹尼尔明文)中的字母之间的边界,其元素与明文符号一一对应。虽然扩展丹尼尔明文在丹尼尔明文的基础上用w字母和重复的字母延长了而且在密文中不可能看到方向数据是否对应于多余的w或其他重复的字母,然而,在加密期间原始字母和附加字母的边界没有消失,而是在方向指示中保持原样,从而为密码分析提供了攻击点。

所有其它已知的加密方法的共同之处在于它们要传输的数据元素,无论是比特,字母数字符号还是包含二进制数据的字节,单独或成组,总是作为未修改的单位进行加密,因此,可以容易地确定密文中数据项的数量和之间的边界。香农加密系统的信息理论模型也是以这个默认的、限制性的基本假设为依据。因此,诸如数据元素之间的边界和它们的数量之类的信息也被可观察地且未加密地传输到密文中。通常情况下,明文符号与密文符号是对应的。即使使用分组密码,也几乎不使用大于256位的数据单元,明文和密文中的符号是以相同的顺序排列或者至少被放在非常接近的位置。因此,在明文和密文中,相应的符号可以很容易地进行匹配,这使得破解使用的密码变得更加容易。

所有已知的加密方法总是将传输的数据元素总是作为未修改的单位进行加密。香农密码系统的信息理论模型也是基于这个限制性的基本假设。因此,关于明文符号之间的边界和它们的数量的信息也被可观察地且未加密地传递到密文中:通常情况下,明文符号与密文符号是对应的。因为即使使用分组密码,符号在明文和密文中也以相同的顺序排列,或者它们的位置彼此接近,所以在明文和密文中相应的符号可以很容易地进行匹配,这使得破解密码变得更加容易。



技术实现要素:

本发明中的掩盖明文符号边界的加密方法不同于现有技术。本发明所要解决的技术问题总的来说是提供一种掩盖明文符号边界的二进制数据通信加密法;该方法对要传输的二进制数据不仅进行信息理论上安全的加密而且掩盖了加密的明文符号之间的边界。详细解决的技术问题以及取得有益效果在后述内容以及结合具体实施方式中内容具体描述。

一种掩盖明文符号边界的二进制数据通信加密法,借助于加密器,以及通过协议通信且解密与加密器加密具有同步运行的算法的解密器;加密器,其加密与解密器解密具有同步运行的算法,加密器将随机选择的参数为mt;

该方法前提是假设最终的明文字母和密文字母的符号都用些二进制编码表示;该方法包括以下步骤;

步骤一,首先,在加密序列的每个状态中确定随机选择一个并同时被加密的标识比特位数;然后,用不同的标识比特位数且长于的加密位模式对标识比特位模式进行替换;其次,从经由公众未知关系连接到该明文位模式的密文组中真正随机选择加密,且该非公开关系的逆关系是满射;

步骤二,相互通信的加密器和解密器在真正随机的时间点给加密序列导入更新状态,并为加密序列确定更新的参数值以及加密和解密关系;

步骤三,首先,在加密序列的每个状态中,确定任一选择的且与用来表示明文字母的比特位数无关且不同的比特位数,并对其进行加密;然后在所述加密过程中结合弗纳姆法,产生一次性密钥。

加密器包括usb插头,用于与外部设备进行数据传输与充电;输出寄存器,其长度n>mt,每次加密操作时候,将对应的ascii格式的代码字符用于输出;通过读取具有2n个数据字到n比特位长的只读存储器进行加密;微控制器,其输出端与usb插头连接,接收输出寄存器输出的代码字符;输入寄存器,接收微控制器输出的随机值与参数mt;只读存储器,输入端与输入寄存器输出端连接;其存储器地址由输入寄存器的内容与n-mt个随机生产的比特连接形成;移位寄存器,其接收并处理微控制器输出的输入数据流,其输出端与输入寄存器的输入端连接。

在加密序列的每个状态中,待加密的标识比特位数以任意方式重新确定。

步骤四,对用于在加密器与解密器之间传输的数据包进行加密;

步骤五,在数据通信的加密中使用随机性。

在步骤三中,在函数关系上建立明文符号的二进制码的相互连接,并且在函数关系上对于要加密的每个单独的步骤一中标识比特位模式,以真正随机的方式在相应图像组选择加密,且该图像集合的势大于1。

对加密的密钥k,密钥k转换函数f生成状态序列σt+1=f(σt,k);

建立函数关系连接,包括以下步骤,

步骤a,首先,在每个状态σt中,真正随机选择mt个标识比特位一起加密,其中,参数mt是奇数并且不同于明文字母符号编码的比特位数k;

步骤b,对于流中的每mt个比特位根据状态依赖关系

得出具有n>mt个标识比特位的加密;{0,1}n中的元素通过rt与中的每个元素相关联;{0,1}n的每个元素都是的一个元素的有效密文;

步骤c,将公式(1)的逆关系建立成为满射映射

对这个解密函数公式(3)进行不公开处理;唯一公开的是,是有限集合{0,1}n到另一个有限集合的所有可映射中的任意一个;

步骤d,首先,在根据σt状态的加密器中,把数据流忽略的明文符号边界把流的下mt>1个比特位发送到输入寄存器前面的位置;然后,将真正的随机值分配给输入寄存器的后n-mt个位置;接着,以输入寄存器的内容作为地址读取只读存储器;最后,通过掩盖和加密操作实现关系rt;

步骤e,首先,从存储器读取的比特位模式表示密文,并写入输出寄存器;然后,参数n为被选择数的整数倍:

n=n×l公式(4);l≥1,

其次,分l次每次从输出寄存器中取出6个位,并通过与32相加关联到一个有效的ascii字符;再次,该ascii字符在数据网络中使用通用协议传输给解密器;紧接着,在解密器中,相应的反向操作以相反的顺序执行,在作为密文接收的ascii字符中,减去32并提取n个最低有效位,将l个组中的n个比特位联接起来,通过映射解密其结果;下一步,通过寻址和读取存储在只读存储器的值表;最后,从获得的比特向量重新组合明文符号。

步骤f,在操作期间,加密器在真正随机选择的时间点上在一到输入寄存器的长度范围内改变参数mt的值,并相应地识别各自适用的加密关系该设备和镜像构建和运行的解密设备就加密中的零星变化达成一致。

步骤六,生成一次性密钥,为参数赋值和定义加密关系需要随机数或随机位序列;

步骤七,加密器向解密器传输掩盖的加密序列与一次性密码;

首先,将步骤四中二进制数据包分成长度为mt的数据段,真正随机选择rt系列的图像,并串联成n位长的图像;然后,用相同长度的一次性密钥加密得出的比特链。

步骤八,首先,生成真正的随机值;然后,将真正随机选择的表索引插入掩盖和加密的传输数据包中以启动状态转换;其次,只读存储器模块固定安装在加密器与解密器中;再次,索引指向只读存储器里面的参数,种子值和用于加密和掩盖的关系。

本发明的有益效果不限于此描述,为了更好的便于理解,在具体实施方式部分进行了更加详细的描述。

附图说明

图1是本发明的结构示意图。

具体实施方式

由于在密码系统的技术实现中,明文和密文符号以二进制来表示,可以在加密序列的每个状态中确定随机选择一个并同时被加密的标识比特位数,此标识比特位数无关联且不同于明文字母编码的比特位数,从而不可能再从密文中推导出明文符号之间的边界。

掩盖明文符号边界的二进制数据通信加密法,借助于借助于加密器,以及通过协议通信且解密与加密器加密具有同步运行的算法的解密器;

加密器,其加密与解密器解密具有同步运行的算法,加密器将随机选择的参数为mt;加密器包括usb插头,用于与外部设备进行数据传输与充电;输出寄存器,其长度n>mt,每次加密操作时候,将对应的ascii格式的代码字符用于输出;通过读取具有2n个数据字到n比特位长的只读存储器进行加密;微控制器,其输出端与usb插头连接,接收输出寄存器输出的代码字符;输入寄存器,接收微控制器输出的随机值与参数mt;只读存储器,输入端与输入寄存器输出端连接;其存储器地址由输入寄存器的内容与n-mt个随机生产的比特连接形成;移位寄存器,其接收并处理微控制器输出的输入数据流,其输出端与输入寄存器的输入端连接。

该方法前提是假设最终的明文字母和密文字母的符号都用些二进制编码表示;因此,比特位模式替换的最普通的形式被用于加密,从而在这种加密过程中,明文符号之间的边界是变得模糊不清。该方法包括以下步骤,

步骤一,首先,在加密序列的每个状态中确定随机选择一个并同时被加密的标识比特位数;然后,用不同的标识比特位数且长于的加密位模式对标识比特位模式进行替换;其次,从经由公众未知关系连接到该明文位模式的密文组中真正随机选择加密,且该非公开关系的逆关系是满射;

步骤二,相互通信的加密器和解密器在真正随机的时间点给加密序列导入更新状态,并为加密序列确定更新的参数值以及加密和解密关系;

步骤三,在加密序列的每个状态中,确定任一选择的且与用来表示明文字母的比特位数无关且不同的比特位数,并对其进行加密。

进一步,在加密序列的每个状态中,待加密的标识比特位数以任意方式重新确定。

进一步,在所述加密过程中结合有弗纳姆法,产生的一次性密钥。

步骤四,对用于在加密器与解密器之间传输的数据包进行加密,只有在解密满足来源和加密序列状态的相应期望时才可以恢复数据包的内容。

步骤五,在数据通信的加密中使用随机性,从而允许在根据上述方法中,只需要在发送方确定随机值。

对于每个明文位模式,从与其通过公众未知和随机选择的关系相关联的密文组中真正随机选择加密。这种方法和弗纳姆加密法相结合,产生的一次性密钥不可能被破解,也就是说不可能通过生成所有可能的一次性密钥来恢复明文。此外,这种方法被直接用于消息的认证。

进一步,在步骤三中,在函数关系上建立明文符号的二进制码的相互连接,并且在函数关系上对于要加密的每个单独的步骤一中标识比特位模式,以真正随机的方式在相应图像组选择加密,且该图像集合的势大于1;所以密文比特位数也超过了加密的比特位模式的长度,这种方法改变了带宽稀缺和消息应该尽可能短的范例。由于这样的掩盖,从而将密码分析的攻击点已经被消除了。

具体地说,基于对加密的密钥k,密钥k转换函数f生成状态序列σt+1=f(σt,k);

建立函数关系连接上包括以下步骤,

步骤a,首先,在每个状态σt中,真正随机选择mt个标识比特位一起加密,其中,参数mt是奇数并且不同于明文字母符号编码的比特位数k;这样就消除了明文符号之间的边界。

步骤b,对于流中的每mt个比特位根据状态依赖关系

得出具有n>mt个标识比特位的加密;参数n不小于mt,避免了信息会丢失,也不等于mt,以解决上述现有技术的缺点。与函数h相比,关系rt不需要是映射。{0,1}n中的元素通过rt与中的每个元素相关联,这样在中可以真正随机的选择加密。此外,{0,1}n的每个元素都是的一个元素的有效密文,以充分利用现有的加密可能性。

步骤c,将公式(1)的逆关系建立成为满射映射

存在可解密性。与柯克霍夫原则相反,对这个解密函数公式(3)进行不公开处理,因此用于加密的关系rt不仅不是公知的,而且也不是函数。唯一公开的是,是有限集合{0,1}n到另一个有限集合的所有可映射中的任意一个;

一串数据流由长度为k个比特位的消息符号组成。通常,在当今的信息技术中,k参数的值为8,一个符号是一个字节,它包含二进制数据或在美国信息交换标准代码(ascii)中由7个比特位表示的一个字母数字字符和一个奇偶校验位。

步骤d,首先,在根据σt状态的加密器中,把数据流忽略的明文符号边界把流的下mt>1个比特位发送到输入寄存器前面的位置;然后,将真正的随机值分配给输入寄存器的后n-mt个位置;接着,以输入寄存器的内容作为地址读取只读存储器;最后,通过掩盖和加密操作实现关系rt;

步骤e,首先,从存储器读取的比特位模式表示密文,并写入输出寄存器;然后,出于实际考虑且没有一般性的限制,参数n为被选择数(例如6)的整数倍:

n=n×l公式(4);l≥1,

其次,分l次每次从输出寄存器中取出6个位,并通过与32相加关联到一个有效的ascii字符;再次,该ascii字符在数据网络中使用通用协议传输给解密器;紧接着,在解密器中,相应的反向操作以相反的顺序执行,在作为密文接收的ascii字符中,减去32并提取n个最低有效位,将l个组中的n个比特位联接起来,通过映射解密其结果;下一步,通过寻址和读取存储在只读存储器的值表;最后,从获得的比特向量重新组合明文符号。

进一步,上述情况已经使得本发明的数据加密非常难被破解。只有攻击者拥有一定程度的密文并进行适当的分析(完全忽略为此所必须的计算能力)才能解密。通过本发明的以下设置可以防止足够长的由选择参数和加密关系产生的密文的出现。步骤f,在操作期间,加密器在真正随机选择的时间点上在一到输入寄存器的长度范围内改变参数mt的值,并相应地识别各自适用的加密关系该设备和镜像构建和运行的解密设备就加密中的零星变化达成一致。

例如,让输出寄存器的长度n固定为24,并允许从{1,3,…,19}中选择参数mt。每个加密操作可以传输4个ascii格式的代码字符。实现加密的关系是通过读取具有224个数据字的24位长的只读存储器来实现的。存储器地址是通过将输入寄存器内容与24-mt个随机产生的比特串联起来而形成的。这种容量的只读存储器对应于现有技术,并且可以与微控制器一起放置在轻便的小外壳中。这些设备可以亲自递交给个人,并由他们安装,例如在自动化设备中,这个过程描述了一个用于秘密信息传递的保密和可靠的通道。设备的所有者也可以从任何地方使用以加密要传输的数据,例如,在银行交易中。一种明文符号边界掩盖加密的简化变体是以伪随机比特序列和数字的形式提供rt的内容和参数值。在随机时间发生的状态转换过程中,在发送方和接收方重新确定关系rt和参数mt。

与伪随机数相反,真正的随机数序列是不可预测的。它们的随机性与初始值无关,并且在相同的边界条件下重复产生的随机数不会有相同的值。出于加密的目的,真正的随机数优于伪随机数。已知的用于产生物理随机性的方法通常是在对自然物理信号源进行采样的基础上进行的,例如放射性衰变或在电阻,齐纳二极管和晶体管中观察到热约翰逊-奈奎斯特噪声。

随机值来源于混沌系统,破解要付出极大的努力,为了进行相应的分析,除了必要的计算能力之外,还需要大量截取密文。

为了通过进一步增加密码混淆和扩散来应对这种极低的风险,要传输的数据除了掩盖加密外还需要一次性密码:

步骤六,生成一次性密钥,为参数赋值和定义加密关系需要随机数或随机位序列

步骤七,加密器向解密器传输掩盖的加密序列与一次性密码;

首先,将步骤四中二进制数据包分成长度为mt的数据段,真正随机选择rt系列的图像,并串联成n位长的图像;然后,用相同长度的一次性密钥加密得出的比特链;

这两个步骤的执行顺序可以在真正随机选择的时间可以偶尔互换。针对加密和掩盖的各种各样的和随机的变化,以下并非钜细无遗的实现变型的选择包括进一步的措施,其从一开始就防止产生长度适合密码分析且由确定参数值和关系生成的加密序列。基本上在通信设备之间尽可能少的传输密码变量并尽可能多的使用真随机值。

步骤八,首先,生成真正的随机值;然后,将真正随机选择的表索引插入掩盖和加密的传输数据包中以启动状态转换;其次,只读存储器模块固定安装在加密器与解密器中;再次,索引指向只读存储器里面的参数,种子值和用于加密和掩盖的关系。

只读存储器模块的生产,运输和安装为秘密信息的传输提供了一个保密和可靠的渠道,可以对应于网上银行的交易验证码方法。

本发明的优点在于:通过选择参数mt≠k和n>mt,实现了由密文中的符号之间的边界不再能轻易推断出明文数据流中符号的边界。由于n>mt,这组可能的加密元素被转换成一个非常大的图像集,这使攻击者的密码分析变得相当困难。对于其中是满射映射,所有可能的关系的数量是出于实际考虑,选择mt=17和n=24,就是数量级为10946.701个不同关系,这是一个相当大的数量。这组关系包括了所有比特位变换的可能性,n-mt个冗余位置,每个位置都可以填入0或者1,这样插入到输出位模型中的个位置中再和加密元素的比特位的值连接到一起。

通过结合一次性密码和掩盖明文符号边界加密,密码的混淆和扩散增加了,不可能再用算法生成一次性密码来破解加密,确切的说通过生成所有可能的一次性密码来恢复明文成为不可能。

作为另一个优点,根据本发明的方法及其与一次密码的结合可以实现消息的即时验证,因为它们的高复杂性而不需要任何额外的努力。为了验证接收到的数据包的来源,接收方只需要检查某些数据字段是否包含期望值。如果数据包不是来自正确的发送方,或解密和去掩盖时使用了错误的操作数或其他问题出错,那么得到的位模型总是会偏离。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1