可变长度数据的快速格式保留加密制造技术

技术编号:18792754 阅读:55 留言:0更新日期:2018-08-29 10:38
提供了用于快速格式保留加密的系统、装置和方法。输入字符串可以被分成多个块(可能具有不同的长度)。一组密码管道可以对不同的块执行操作,每个管道都提供输出块。所述密码管道可以相互作用,使得所述输出块互相依赖,从而提供强加密。所述管道可以对所述块高效操作,并且操作可以部分地并行进行。

Fast format preserving data encryption for variable length data

A system, device and method for reservations encryption in fast format are provided. Input strings can be divided into blocks (possibly with different lengths). A set of cryptographic pipelines can perform operations on different blocks, each of which provides output blocks. The cipher pipes can interact so that the output blocks depend on each other to provide strong encryption. The pipe can operate efficiently on the block, and the operation can be carried out partially in parallel.

【技术实现步骤摘要】
【国外来华专利技术】可变长度数据的快速格式保留加密
技术介绍
在一些情况下,应用程序需要为特定目的而执行特定类型的加密。例如,对于某些应用程序,为了符合数据标准或规定,加密密文必须与原始未加密明文具有相同的大小和格式。加密输出密文与输入明文具有相同格式的加密方案可以称为格式保留加密。以前对明文输入进行格式保留加密的方法存在许多问题,这些问题包括但不限于:需要大型数据库、过度消耗CPU、密码安全性不足或者对输入文本的大小有限制。本专利技术的各实施方案涉及单独地和共同地解决上述问题和其他问题。
技术实现思路
各实施方案提供与格式保留加密的实现有关的设备、方法和系统。格式保留加密(FPE)的各种实施方案可以满足附加标准,包括:前缀保留、一致性、不可逆性、明文与密文之间的一一对应关系、伪随机性和校验和。一些实施方案可以通过使用多图形替换密码将明文数字块映射到密文数字块来为任意长度的明文提供快速且安全的FPE。在示例性实施方案中,输入字符串可以被分成多个块(可能具有不同的长度)。一组密码管道可以对不同的块执行操作,每个管道都提供输出块。密码管道可以相互作用,使得输出块互相依赖。每个管道都可以用作为密文一部分的另一个N位数块替换一个N位数明文块。密码可以保留明文的某些前缀。密码也可以使用一个或多个加密微调。因此,明文(包括前缀)中的任何改变都会对密文的加密部分产生明显的随机且不可预测的影响。为了加密明文,密码可以跳过明文的要保留的任何部分,然后从要加密的部分开始,将明文的该部分分成一个或多个指定大小的块(子字符串)。对于长度为N的块P,可以使用替换表来执行替换操作以提供输出块C。对应于长度N的替换表可以包括接收长度为N的输入块并提供长度为N的输出块的任何操作。密码可以在替换表中找到与P匹配的行并返回块C,该块C可以存储在替换表中的匹配行中。密码也可以对C和/或P应用掩码函数和/或微调函数。一旦对所有块都进行了加密,就可以将任何保留的前缀和所得的加密块进行组合,以产生加密文本(密文)。可以执行类似的解密过程。其他实施方案涉及与本文中所描述的方法相关联的系统和计算机可读介质。参照以下详细描述和附图,可以获得对本专利技术的实施方案的本质和优点的更好理解。附图说明图1是示出了根据本专利技术实施方案的用于加密和解密数据的典型环境的图表。图2是示出了根据本专利技术实施方案的替换表的示例部分的图表。图3是示出了根据本专利技术实施方案的使用掩码(CMC)加密模式的密码块链接(CBC)的实现方式的图表。图4是示出了根据本专利技术实施方案的使用经修改的本机CBC模式算法来对输入字符串进行加密和解密的过程的图表。图5是根据本专利技术实施方案的对九位数数字进行加密的实例的图表。图6是根据本专利技术实施方案的对十五位数数字进行加密的实例的图表。图7A和图7B是根据本专利技术实施方案的用于执行格式保留的密码操作的方法的流程图。图8是根据本专利技术实施方案的用于将字符编码为数值的表格。图9示出了可与根据本专利技术实施方案的系统和方法一起使用的示例计算机系统10的框图。术语密码可以指用于执行加密或解密的方法。密码可以包括对输入数据进行操作并提供输出数据的一系列定义的步骤,例如,将未加密的数据(明文)转换成加密的数据(密文),反之亦然。多图形替换密码可以对输入数据的多个字符(也称为块)执行替换,以提供输出数据的多个字符。格式保留加密(FPE)是指执行加密,以便加密结果(密文)的格式与加密输入(明文)的格式相同。密码校验和可以指基于加密数据值计算出的数学值,并用于测试该值以验证数据未被恶意或意外改变。密码校验和可以通过执行一系列数学运算来创建,这些运算将数据转换为散列值,然后散列值可以用作校验和。如果输入数据的计算出的校验和与先前计算的校验和的存储值相匹配,则数据未被意外或恶意更改或损坏的可能性非常高。块密码可以指确定性密码算法,该算法利用由对称密钥指定的变换,对固定长度的比特组(称为块)进行操作,所述对称密钥可对应于替换表。对称密钥加密算法是对明文加密和密文解密都使用相同的加密密钥(例如相同的替换表)的算法。这些密钥可以是相同的,或者两个密钥之间可能存在简单的变换。替换表可以指与密码一起使用的替换结构,其中替换表提供输入值的替换值。例如,替换表可能会接收到6位数数字作为输入,并返回另一个6位数数字。替换表可以获取输入值,查找表中的相应条目,并返回该条目中包含的值。可能存在各种替换表,它们采用各种大小的输入并返回各种大小的输出。替换表可以由函数生成,因此,可以通过以下方式来执行替换表的使用:通过生成一个完整表,然后访问该表以确定输出块;或通过动态确定特定输入的输出。密码块链接(CBC)可以指块密码的操作模式,其中将一串比特加密为单个单元或块,密码密钥被应用于整个块。对密文块的解密可以取决于一个或多个在前的密文块。密码微调可能是指对块密码的附加输入,以及明文或密文输入。微调以及密钥可以选择由密码计算出的排列。微调中使用的值的一些实例包括银行标识号(BIN)和支付卡的到期日期。使用微调可能会增加复杂性和延长破解加密方案所需的时间。银行标识号或BIN是分配给每个联邦担保金融机构的数字代码,用于路由交易和其他目的。数据净化(也称为数据清理)可以指修改或删除数据库或其他数据存储机制中不正确、不完整、格式不正确或重复的数据的过程。具体实施方式各种实施方案提供了用于快速格式保留加密的系统、装置和方法。快速格式保留加密技术可用于系统中以加密发送设备上的数据,然后将加密数据发送给接收设备,然后,接收设备可使用格式保留加密方法来解密和使用由发送设备加密的数据。各实施方案可以在仍保留格式的同时对任何大小长度的输入数据进行操作,例如通过将输入数据分解成块(可能具有不同大小)并执行块链接操作,使得每个块彼此依赖。I.引言A.加密/解密加密是将普通信息或明文转换为难以理解的文本或密文的过程。解密是相反的过程,它将密文转换回明文。密码可以由实现加密和反向解密的算法组成。密码的详细操作可以由算法来控制,也可以在每种情况下由一个或多个密钥控制。在若干现代场景中可能需要加密以保护在两个设备(例如金融交易中涉及到的两个设备)之间传输的数据。图1示出了根据本专利技术实施方案的用于加密和解密信息的典型环境。图1是示出了具有加密引擎101的发送设备100和具有解密引擎122的接收设备120的系统图。发送设备100可以使用加密引擎101,以使用加密参数103来加密私人信息102,从而产生可以发送给接收设备120的加密信息110。加密引擎101可以接收私人信息102和加密参数103。私人信息102可以包括要加密和解密的数据。通过使用私人信息102和加密参数103,加密引擎101可以产生加密信息110。加密参数103可以包括替换表和执行对私人信息102的加密所需的其他信息。加密信息110可以从发送设备100发送到接收设备120。当接收设备120接收到加密信息110时,接收设备120可以解密加密信息110。接收设备120可以接收并存储解密参数121。接收设备120可以使用解密参数121和解密引擎122来解密加密信息110以产生私人信息102。解密参数121可以包括替换表和执行对加密信息110的解密以产生私人信息102所需的其他信息。因此,解密引擎122可以颠倒加本文档来自技高网...

【技术保护点】
1.一种用于执行格式保留密码运算的方法,所述方法包括在计算机系统处执行以下操作:接收M个字符的输入字符串,M是大于4的整数将所述输入字符串分成多个子字符串;存储一个或多个替换表,所述一个或多个替换表中的每一个都对应于至少一个子字符串,并基于相同的相应数量的字符的输入块来提供相应数量的字符的输出块;加载多个密码管道,每个所述密码管道都对应于所述多个子字符串中的一个,其中所述多个密码管道具有有序排列,使得起始密码管道具有一个前向相邻管道,最终密码管道具有一个反向相邻管道,而任何其他密码管道都具有两个相邻的管道;对于所述多个密码管道中的每一个:使用与对应子字符串相同大小的对应替换表来执行第一替换操作,以基于对应于所述输入字符串的第一输入块来获得第一输出块,在所述第一替换操作之后,当存在前向相邻管道时,将所述第一输出块发送到所述前向相邻管道,以使所述前向相邻管道在第一组合运算中使用所述第一输出块和对应于相邻子字符串的相邻块,以获得要被用于相邻替换操作的相邻输入块;将掩码函数应用于对应于所述第一输出块的中间输入块,以获得中间输出块,所述掩码函数取决于所述多个密码管道中的至少两个的输出块;当所述密码管道具有反向相邻管道时,将第一中间块发送到所述反向相邻管道,以在第二组合运算中将所述第一中间块与相邻中间块一起使用,所述第一中间块是所述中间输出块或者是从所述中间输出块导出的;以及使用所述对应替换表来执行最终替换操作,作为基于所述中间输出块获得最终输出块的一部分,当存在所述前向相邻管道时,进一步基于所述第二组合运算获得所述最终输出块,其中所述最终输出块具有与所述对应子字符串相同的大小;以及组装所述多个密码管道的所述最终输出块,以获得M个字符的输出字符串。...

【技术特征摘要】
【国外来华专利技术】1.一种用于执行格式保留密码运算的方法,所述方法包括在计算机系统处执行以下操作:接收M个字符的输入字符串,M是大于4的整数将所述输入字符串分成多个子字符串;存储一个或多个替换表,所述一个或多个替换表中的每一个都对应于至少一个子字符串,并基于相同的相应数量的字符的输入块来提供相应数量的字符的输出块;加载多个密码管道,每个所述密码管道都对应于所述多个子字符串中的一个,其中所述多个密码管道具有有序排列,使得起始密码管道具有一个前向相邻管道,最终密码管道具有一个反向相邻管道,而任何其他密码管道都具有两个相邻的管道;对于所述多个密码管道中的每一个:使用与对应子字符串相同大小的对应替换表来执行第一替换操作,以基于对应于所述输入字符串的第一输入块来获得第一输出块,在所述第一替换操作之后,当存在前向相邻管道时,将所述第一输出块发送到所述前向相邻管道,以使所述前向相邻管道在第一组合运算中使用所述第一输出块和对应于相邻子字符串的相邻块,以获得要被用于相邻替换操作的相邻输入块;将掩码函数应用于对应于所述第一输出块的中间输入块,以获得中间输出块,所述掩码函数取决于所述多个密码管道中的至少两个的输出块;当所述密码管道具有反向相邻管道时,将第一中间块发送到所述反向相邻管道,以在第二组合运算中将所述第一中间块与相邻中间块一起使用,所述第一中间块是所述中间输出块或者是从所述中间输出块导出的;以及使用所述对应替换表来执行最终替换操作,作为基于所述中间输出块获得最终输出块的一部分,当存在所述前向相邻管道时,进一步基于所述第二组合运算获得所述最终输出块,其中所述最终输出块具有与所述对应子字符串相同的大小;以及组装所述多个密码管道的所述最终输出块,以获得M个字符的输出字符串。2.根据权利要求1所述的方法,其中所述多个子字符串中的第一子字符串具有K个字符,而一个或多个其他子字符串具有N个字符,其中K等于M模N,N是小于M的整数。3.根据权利要求2所述的方法,其中存储一个或多个替换表包括:存储第一替换表,所述第一替换表基于N个字符的输入块提供N个字符的输出块;以及存储第二替换表,所述第二替换表基于K个字符的输入块提供K个字符的输出块。4.根据权利要求1所述的方法,其中所述前向相邻管道在第一相邻替换操作中使用所述相邻输入块来获得相邻输出块,以在存在另一相邻管道时发送到所述另一相邻管道。5.根据权利要求1所述的方法,进一步包括由所述计算机系统执行以下操作:使用随机数生成器来生成所述一个或多个替换表中的至少一个。6.根据权利要求1所述的方法,进一步包括由所述计算机系统执行以下操作:使用加密密钥来生成所述一个或多个替换表中的至少一个的多个条目。7.根据权利要求1所述的方法,其中所述密码运算包括对所述M个字符的输入字符串进行加密,以获得M个字符的加密输出字符串。8.根据权利要求7所述的方法,进一步包括由所述计算机系统执行以下操作:使用所述加密输出字符串来计算第一总和;以及确定校验和字符,使得所述第一总和与所述校验和字符的校验和提供期望值;以及将所述校验和字符添加到所述加密输出字符串以创建用于发送到另一设备的消息。9.根据权利要求7所述的方法,其中所述M个字符的输入字符串是较大字符串的一部分,所述方法进一步包括由所述计算机系统执行以下操作:标识所述较大字符串的不会被加密的一组字符;将所述一组字符与M个字符的所述加密输出字符串组合,以创建由明文和密文组成的消息;以及将所述消息发送到另一设备。10.根据权利要求9所述的方法,进一步包括由所述计算机系统执行以下操作:将微调函数应用于所述多个密码管道中的一个或多个密码管道的一个或多个中间输出块,以在在所述一个或多个密码管道中执行所述最终替换操作之前生成一个或多个新中间块,其中所述微调函数依赖于所述不会被加密的一组字符。11.根据权利要求1所述的方法,其中所述输入字符串包括非数字字符,所述方法进一步包括由所述计算机系统执行以下操作:使用编码表将所述输入字符串的所述非数字字符转换为数字值。12.根...

【专利技术属性】
技术研发人员:E·皮沃瓦罗夫
申请(专利权)人:维萨国际服务协会
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1