CN105959098A - 基于多分割Feistel网络的保留格式加密算法 - Google Patents

基于多分割Feistel网络的保留格式加密算法 Download PDF

Info

Publication number
CN105959098A
CN105959098A CN201610275040.6A CN201610275040A CN105959098A CN 105959098 A CN105959098 A CN 105959098A CN 201610275040 A CN201610275040 A CN 201610275040A CN 105959098 A CN105959098 A CN 105959098A
Authority
CN
China
Prior art keywords
feistel network
computing
encryption
format
round
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.)
Pending
Application number
CN201610275040.6A
Other languages
English (en)
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.)
TUNGKONG CO Ltd
Nankai University
Original Assignee
TUNGKONG CO Ltd
Nankai University
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 TUNGKONG CO Ltd, Nankai University filed Critical TUNGKONG CO Ltd
Priority to CN201610275040.6A priority Critical patent/CN105959098A/zh
Publication of CN105959098A publication Critical patent/CN105959098A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

基于多分割Feistel网络的保留格式加密算法,该方法包括如下步骤:将明文空间S按照其固有格式分为t部分:S 1 ,S 2 ,…,S t 。其中记集合S i 的大小为n i 。设定Feistel网络的轮次数r与轮函数所使用的密钥k,其中轮次数r为与分割数t相关的偶数;对于给定的明文m,将其进行格式化表示:m=x 1 || x 2 || … || x t ,其中:x 1 S 1 ,x 2 S 2 ,…,x t S t ;将x 1 ,x 2 ,…,x n 作为t分割Feistel网络的t个输入,或记输入为;执行r轮的轮运算,最终输出的密文为c=y 1 || y 2 || … || y t ,其中:y 1 S 1 ,y 2 S 2 ,…,y t S t ,本发明的优点在于:通过将敏感数据分段并定义不同分段的值域,采用自定义的伪随机函数、模加与模减运算,采用Feistel网络执行偶数轮次的轮运算,以实现保留格式不变的加密,可支持保留任意给定格式的数值型数据加密方案,加密后不影响数据与数据库,为已有数据库应用***中数值型个人识别信息的加密保护提供了可能。

Description

基于多分割Feistel网络的保留格式加密算法
技术领域
本发明属于数据加密领域,具体涉及一种保留任意给定格式的数值型加密方法,该方法可以在需要对敏感信息进行加密的环境(数据库、网络、智能卡虚拟机等)中应用。
背景技术
互联网的快速发展,使得存储介质(数据库、移动设备、智能卡等)中的敏感数据越来越容易被窃取,根本原因在于它们对这些敏感数据的存储仍然采用明文的方式,而加密是增强所存储的敏感数据安全性的最有效方式。敏感数据往往会包含自身的固定格式,例如身份证号、银行***等。但传统的加密算法,比如AES、3DES等,都会破坏数据的格式,使得加密后的数据无法在原有的数据库或节点中存储,而且会破坏已有的业务***的功能。如何对这些信息加密却不破坏其固有的格式,以确保现有的业务***、数据库存储结构尽可能少的改动,是一个必须要解决的问题。
发明内容
本发明目的是解决传统的加密算法会破坏数据的格式,使得加密后的数据无法在原有的数据库、移动设备或者智能卡等存储介质中存储的问题,提供一种敏感数据的保留格式加密方法。
本发明为实现上述目的,通过以下技术方案实现:
基于多分割Feistel网络的保留格式加密算法,该方法包括如下步骤:
1.1.将明文空间S按照其固有格式分为t部分:S 1 , S 2 , … ,S t 。其中记集合S i 的大小为n i
1.2.设定Feistel网络的轮次数r与轮函数所使用的密钥k,其中轮次数r为与分割数t相关的偶数;
1.3.对于给定的明文m,将其进行格式化表示:m =x 1 || x 2 || … || x t ,其中:x 1 S 1 , x 2 S 2 ,… ,x t S t ;将x 1 , x 2 , … ,x n 作为t分割Feistel网络的t个输入,或记输入为
1.4.执行r轮的轮运算,最终输出的密文为c =y 1 || y 2 || … || y t ,其中:y 1 S 1 ,y 2 S 2 ,…,y t S t
1.4中的轮运算:
2.1.对于每一轮分割Feistel网络运算,若输入为:
则输出为:
先通过伪随机置换函数
通过F映射到上。
2.2.若S i 的大小为n i ,则可将S i 视为环,则F为由该轮加密密钥唯一确定的上的置换:
2.3.随机置换F可采用AES/DES等标准加密方法,在对加密结果进行相应的模运算即可。
2.1中采用的模加运算:
3.1. 模加运算的结果属于集合,上述模加运算抽象表示为:
即对 ,有
进一步地,仍可将S i 视为环 ,从而
3.2.模加运算的具体过程(这里以为例):
a.按照下列方法,分别将嵌入到上:
具体地,如
b.对上述结果在中进行加法运算(即为整数加法),即在中进行加法运算:
c.将中元素进行模运算,得到中的结果,例如:
综上所述,完成了模加
本例中,具体为
本发明的优点在于:通过将敏感数据分段并定义不同分段的值域,采用自定义的伪随机函数、模加与模减运算,采用Feistel网络执行偶数轮次的轮运算,以实现保留格式不变的加密,可支持保留任意给定格式的数值型数据加密方案,加密后不影响数据与数据库、节点和业务***的兼容性,为已有数据库应用***中数值型个人识别信息的加密保护提供了可能。
附图说明
图1是本发明所述I型t分割Feistel加密算法原理图。
具体实施方式
本发明所述的基于多分割Feistel网络的保留格式加密算法包括如下步骤:
1.将一个敏感的明文信息划分,根据其给定格式,划分成为t个数据段。即,将明文空间S按照其固有格式分为t部分:S 1 , S 2 , … ,S t 。这样,S就可以表示为:
其中,若记集合S i 的大小为n i ,则进一步可将S表示为:
2.确定t分割Feistel网络的轮次数r,以及每轮函数所使用的密钥
其中轮次数rt的偶数倍;
3.使用表示一个合法的敏感数据,其中:x 1 S 1 ,x 2 S 2 ,… ,x t S t ;即分别将x 1 , x 2 , … ,x n 作为t分割Feistel网络第一轮的t个输入。
4.执行r轮的轮运算:若某一轮的输入为
则输出为:
y 1 S 1 ,y 2 S 2 ,…,y t S t
根据图1所示的t分割Feistel网络,即为:
5. 每一轮所采用的动态模加运算的结果属于集合,上述模加运算抽象表示为:
即对 ,有
进一步地,可将S i 视为环 ,从而
6. 模加运算的具体过程(这里以为例):
a.按照下列方法,分别将嵌入到上:
具体地,如
b.对上述结果在中进行加法运算(即为整数加法),即在中进行加法运算:
c.将中元素进行模运算,得到中的结果,例如:
综上所述,完成了模加
本例中,具体为
本发明涉及的与数据加密有关的一些基本概念:
(1)分组密码:分组密码是将明文消息编码表示后的数字(简称明文数字)序列,划分成长度为n的分组(可看成长度为n的矢量),每个分组分别在密钥的控制下变换成等长的输出数字(简称密文数字)序列。
(2)3DES:3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple DataEncryption Algorithm)分组密码的通称。它相当于是对每个数据分组应用三次DES加密算法。由于计算机运算能力的增强,原版DES密码的密钥长度变得容易被暴力破解;3DES即是设计用来提供一种相对简单的方法,即通过增加DES的密钥长度来避免类似的攻击,而不是设计一种全新的分组密码算法。
(3)AES:密码学中的高级加密标准(Advanced Encryption Standard,AES),是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。
(4)Feistel网络:Feistel网络是用于分组密码设计的一种对称结构。很多密码标准都采用了Feistel 结构,其中包括DES。Feistel 的优点在于:由于它是对称的密码结构,所以对信息的加密和解密的过程就极为相似,甚至完全一样。这就使得在实施的过程中,对编码量和线路传输的要求就减少了几乎一半。
(5)伪随机置换函数:在计算机、通信***中采用的随机数、随机码均为伪随机数、伪随机码。所谓“随机码”,就是无论这个码有多长都不会出现循环的现象,而“伪随机码”在码长达到一定程度时会从其第一位开始循环,由于出现的循环长度相当大,例如CDMA采用42位的伪随机码,重复的可能性为4.4万亿分之一,所以可以当成随机码使用。
具有特定格式的敏感信息的分段表示
本发明提供的敏感信息的分段表示如下:
将一个敏感信息按其特征划分为t个数据分段:,每个数据分段由具有相同数据特征的数值组成,可用一个整数有限域来表达。
比如,可以将一个合法的18位的身份证号码划分为七部分:,分别表示地区码、出生年、出生月、出生日、顺序码和校验码。其中,每部分的字符长度为:6、4、2、2、3、1;每部分的值域为:S1={0, …, 999999}, S2={1900, …, 2050}, S3={1, …,12}, S4={1, …, 31}, S5={1, …, 999}, S6={0, …, 9, ‘X’}。
本发明以身份证号码为例,对基于t分割的保留格式的加密方法进行详细说明。
加密算法:
第一、将一个合法的18位的身份证号码划分为六部分:,分别表示地区码、出生年、出生月、出生日、随机数和校验码。其中,每部分的长度为: 6, 4,2, 2, 3,1;每部分的值域为:S 1={0, …, 999999}(这里忽略地区码的意义,将其视作是0,…, 999999构成的集合), S 2={1901, …, 2050}, S 3={1, …, 12}, S 4={0, …, 31}, S 5={1, …, 999}, S 6={0, …, 9, ‘X’};其中S 6的值可以通过对前五部分采用校验码运算而得出,但这里为了方便叙述,假设其与前五部分独立。
使用表示一个合法的身份证号码,其中:x 1 S 1 ,x 2 S 2 ,… ,x 6 S 6
第二、为了说明加密过程,设定I型6分割Feistel网络的轮次数r=6(实际应用中轮次数为6的倍数,且需要大于6轮),以及随机置换函数F需要的密钥
第三、将作为Feistel网络的输入,执行共r=6轮的轮运算:
第一轮:
第二轮输入为,依此类推。
第四、完成第6轮后,得到一个与输入等长且拥有相同格式的输出,其中:y 1 S 1 ,y 2 S 2 ,…,y 6 S 6
第五、解密过程与第三加密相反,将作为输入,执行共r=6轮的轮运算:
第一轮:
其中e为的逆运算;
第二轮输入为,依此类推。
具体执行过程:
加密过程:
输入身份证号码明文为370722196304091511,结合上文中的定义,得到实际输入的其格式化表述:。这里的随机置换函数采用标准AES加密,若明文空间为,则对加密结果进行模操作,使得置换结果仍属于
------------------------r = 1 (第一轮)------------------------
输入:,其中:
计算:
输出:
------------------------r = 2(第二轮)------------------------
输入:
计算:
,
输出:
-----------------------r = 3(第三轮)------------------------
输入:
计算:
,
输出:
-----------------------r=4(第四轮)------------------------
输入:
计算:
,
输出:
-----------------------r=5(第五轮)------------------------
输入:
计算:
,
输出:
-----------------------r=6(第一轮)------------------------
输入:
计算:
,
输出:
最后还原为身份证号形式得到:
解密过程:
输入身份证号码密文为370903202306042605,
-----------------------r=1(第一轮)------------------------
输入:
计算:
,
输出:
-----------------------r=2(第二轮)------------------------
输入:
计算:
,
输出:
-----------------------r=3(第三轮)------------------------
输入:
计算:
,
输出:
-----------------------r=4(第四轮)------------------------
输入:
计算:
,
输出:
------------------------r=5(第五轮)------------------------
输入:
计算:
,
输出:
------------------------r=1(第一轮)------------------------
输入:,其中:
计算:
输出:
最后还原为身份证号形式得到:
即得370722196304091511。

Claims (3)

1.基于多分割Feistel网络的保留格式加密算法,其特征在于:该方法包括如下步骤:
1.1.将明文空间S按照其固有格式分为t部分:S 1 , S 2 , … ,S t ,其中记集合S i 的大小为n i
1.2.设定Feistel网络的轮次数r与轮函数所使用的密钥k,其中轮次数r为与分割数t相关的偶数;
1.3.对于给定的明文m,将其进行格式化表示:m =x 1 || x 2 || … || x t ,其中:x 1 S 1 , x 2 S 2 ,… ,x t S t ;将x 1 , x 2 , … ,x n 作为t分割Feistel网络的t个输入,或记输入为;
1.4.执行r轮的轮运算,最终输出的密文为c =y 1 || y 2 || … || y t ,其中:y 1 S 1 ,y 2 S 2 ,… ,y t S t
2.基于多分割Feistel网络的保留格式加密算法,其特征在于:1.4中的轮运算:
2.1.对于每一轮分割Feistel网络运算,若输入为:
则输出为:
先通过伪随机置换函数
通过F映射到上;
2.2.若S i 的大小为n i ,则可将S i 视为环,则F为由该轮加密密钥唯一确定的上的置换:
2.3.随机置换F可采用AES/DES等标准加密方法,在对加密结果进行相应的模运算即可。
3.基于多分割Feistel网络的保留格式加密算法,其特征在于:2.1中采用的模加运算:
模加运算的结果属于集合,上述模加运算抽象表示为:
即对 ,有
进一步地,仍可将S i 视为环 ,从而
3.2.模加运算的具体过程(这里以为例);
a.按照下列方法,分别将嵌入到上:
具体地,如
b.对上述结果在中进行加法运算(即为整数加法),即在中进行加法运算:
c.将中元素进行模运算,得到中的结果,例如:
综上所述,完成了模加
本例中,具体为
CN201610275040.6A 2016-04-28 2016-04-28 基于多分割Feistel网络的保留格式加密算法 Pending CN105959098A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610275040.6A CN105959098A (zh) 2016-04-28 2016-04-28 基于多分割Feistel网络的保留格式加密算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610275040.6A CN105959098A (zh) 2016-04-28 2016-04-28 基于多分割Feistel网络的保留格式加密算法

Publications (1)

Publication Number Publication Date
CN105959098A true CN105959098A (zh) 2016-09-21

Family

ID=56916049

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610275040.6A Pending CN105959098A (zh) 2016-04-28 2016-04-28 基于多分割Feistel网络的保留格式加密算法

Country Status (1)

Country Link
CN (1) CN105959098A (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108768617A (zh) * 2018-06-06 2018-11-06 贵州大学 一种基于传统分组密码的保持格式加密方法
CN110334530A (zh) * 2019-06-26 2019-10-15 上海派拉软件股份有限公司 数据库数值型字段的加密方法
CN110750810A (zh) * 2019-10-23 2020-02-04 卓尔智联(武汉)研究院有限公司 数据脱敏方法、装置、计算机设备和存储介质
CN110768797A (zh) * 2019-11-13 2020-02-07 西北师范大学 一种基于身份格式保留加密的数据脱敏方法
CN110795762A (zh) * 2019-10-30 2020-02-14 贵州大学 基于流密码的保留格式加密方法
CN111753317A (zh) * 2020-05-27 2020-10-09 长沙睿永信息技术有限公司 一种等长数字加密的实现方法
CN111783112A (zh) * 2020-06-09 2020-10-16 北京三未信安科技发展有限公司 一种保留格式加密的快速实现方法、***、介质及设备
CN113079010A (zh) * 2021-06-07 2021-07-06 深圳奥联信息安全技术有限公司 基于保留格式算法的安全增强方法及装置
CN113204781A (zh) * 2021-05-20 2021-08-03 郑州信大捷安信息技术股份有限公司 用于保留格式加密算法的实现方法及装置
CN113204779A (zh) * 2021-05-20 2021-08-03 郑州信大捷安信息技术股份有限公司 基于对称密码算法的保留格式加密算法的实现方法及装置
CN113204780A (zh) * 2021-05-20 2021-08-03 郑州信大捷安信息技术股份有限公司 保留格式加密算法的实现方法及装置
CN113259934A (zh) * 2021-06-25 2021-08-13 贵州大学 一种短信验证码加密方法、解密方法及加解密***
CN114826590A (zh) * 2022-05-19 2022-07-29 北京海泰方圆科技股份有限公司 一种分组模式加密方法、解密方法及其装置、设备
CN116049841A (zh) * 2022-09-08 2023-05-02 北京海泰方圆科技股份有限公司 一种身份证号的加密方法、装置、设备及介质

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108768617B (zh) * 2018-06-06 2021-02-23 贵州大学 一种基于传统分组密码的保持格式加密方法
CN108768617A (zh) * 2018-06-06 2018-11-06 贵州大学 一种基于传统分组密码的保持格式加密方法
CN110334530A (zh) * 2019-06-26 2019-10-15 上海派拉软件股份有限公司 数据库数值型字段的加密方法
CN110334530B (zh) * 2019-06-26 2020-09-22 上海派拉软件股份有限公司 数据库数值型字段的加密方法
CN110750810A (zh) * 2019-10-23 2020-02-04 卓尔智联(武汉)研究院有限公司 数据脱敏方法、装置、计算机设备和存储介质
CN110795762B (zh) * 2019-10-30 2023-04-11 贵州大学 基于流密码的保留格式加密方法
CN110795762A (zh) * 2019-10-30 2020-02-14 贵州大学 基于流密码的保留格式加密方法
CN110768797A (zh) * 2019-11-13 2020-02-07 西北师范大学 一种基于身份格式保留加密的数据脱敏方法
CN111753317A (zh) * 2020-05-27 2020-10-09 长沙睿永信息技术有限公司 一种等长数字加密的实现方法
CN111783112A (zh) * 2020-06-09 2020-10-16 北京三未信安科技发展有限公司 一种保留格式加密的快速实现方法、***、介质及设备
CN111783112B (zh) * 2020-06-09 2023-09-12 三未信安科技股份有限公司 一种保留格式加密的快速实现方法、***、介质及设备
CN113204781A (zh) * 2021-05-20 2021-08-03 郑州信大捷安信息技术股份有限公司 用于保留格式加密算法的实现方法及装置
CN113204780A (zh) * 2021-05-20 2021-08-03 郑州信大捷安信息技术股份有限公司 保留格式加密算法的实现方法及装置
CN113204780B (zh) * 2021-05-20 2022-02-18 郑州信大捷安信息技术股份有限公司 保留格式加密算法的实现方法及装置
CN113204781B (zh) * 2021-05-20 2022-04-15 郑州信大捷安信息技术股份有限公司 用于保留格式加密算法的实现方法及装置
CN113204779B (zh) * 2021-05-20 2022-04-15 郑州信大捷安信息技术股份有限公司 基于对称密码算法的保留格式加密算法的实现方法及装置
CN113204779A (zh) * 2021-05-20 2021-08-03 郑州信大捷安信息技术股份有限公司 基于对称密码算法的保留格式加密算法的实现方法及装置
CN113079010B (zh) * 2021-06-07 2022-01-04 深圳奥联信息安全技术有限公司 基于保留格式算法的安全增强方法及装置
CN113079010A (zh) * 2021-06-07 2021-07-06 深圳奥联信息安全技术有限公司 基于保留格式算法的安全增强方法及装置
CN113259934A (zh) * 2021-06-25 2021-08-13 贵州大学 一种短信验证码加密方法、解密方法及加解密***
CN114826590A (zh) * 2022-05-19 2022-07-29 北京海泰方圆科技股份有限公司 一种分组模式加密方法、解密方法及其装置、设备
CN116049841A (zh) * 2022-09-08 2023-05-02 北京海泰方圆科技股份有限公司 一种身份证号的加密方法、装置、设备及介质
CN116049841B (zh) * 2022-09-08 2023-09-19 北京海泰方圆科技股份有限公司 一种身份证号的加密方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN105959098A (zh) 基于多分割Feistel网络的保留格式加密算法
TWI750223B (zh) 區塊鏈加密射頻晶片存儲設計方法
CN103595539B (zh) 保留格式的数值型个人识别信息的加密方法
CN108667595B (zh) 一种大数据文件的压缩加密方法
EP1997265B1 (en) Integrity of a data processing system using white-box for digital content protection
CN101149768B (zh) 一种专用处理器软件的加密和解密方法
US8966285B2 (en) Securing implementation of a cryptographic process having fixed or dynamic keys
CN102752101A (zh) 阶层式数据加密/解密装置及其方法
CN107637010A (zh) 数据加密装置及方法和数据解密装置及方法
Alsaidi et al. Compression multi-level crypto stego security of texts utilizing colored email forwarding
CN105406969A (zh) 数据加密装置及方法
CN108023728A (zh) 加密装置及方法
CN106598882A (zh) 一种安全的内存数据保护方法及装置
CN102546156A (zh) 一种分组加密方法、***和装置
CN106936820B (zh) 数据变长修改方法及其在大数据加密中的应用
CN103051446A (zh) 一种密钥加密存储方法
CN102456108B (zh) 一种ibus拼音码表的加密方法
Attaullah et al. Cryptosystem techniques based on the improved Chebyshev map: an application in image encryption
Geetha et al. Tamilian cryptography: an efficient hybrid symmetric key encryption algorithm
CN107273724A (zh) 为白盒实施方案的输入和输出加水印
CN104794243B (zh) 基于文件名的第三方密文检索方法
CN106656500A (zh) 加密装置及方法
Siahaan et al. Implementation of super playfair in messaging
Saxena et al. A new way to enhance efficiency & security by using symmetric cryptography
KR101790325B1 (ko) 암호화 및 복호화 시스템

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160921