CN102013974B - 基于随机变化的非线性步骤的加密方法和解密方法 - Google Patents

基于随机变化的非线性步骤的加密方法和解密方法 Download PDF

Info

Publication number
CN102013974B
CN102013974B CN2010105672670A CN201010567267A CN102013974B CN 102013974 B CN102013974 B CN 102013974B CN 2010105672670 A CN2010105672670 A CN 2010105672670A CN 201010567267 A CN201010567267 A CN 201010567267A CN 102013974 B CN102013974 B CN 102013974B
Authority
CN
China
Prior art keywords
box
encryption method
encryption
screening conditions
linear
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.)
Expired - Fee Related
Application number
CN2010105672670A
Other languages
English (en)
Other versions
CN102013974A (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.)
Beihang University
Original Assignee
Beihang 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 Beihang University filed Critical Beihang University
Priority to CN2010105672670A priority Critical patent/CN102013974B/zh
Publication of CN102013974A publication Critical patent/CN102013974A/zh
Application granted granted Critical
Publication of CN102013974B publication Critical patent/CN102013974B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供了一种基于随机变化的非线性步骤的加密方法,属于信息加密技术领域。具体地,是以分组密码算法Camellia的整体框架为基础,根据一定的条件,构造随机变化的非线性步骤,替换Camellia算法原有固定不变的非线性步骤,借以抵御已知的密码攻击方法。本发明中所提出的加密方法,把传统分组密码加密方法中作为“常量”的S盒步骤变成了“变量”,当分组密码算法被攻破时,传统分组密码加密的所有密文都会被破译,而使用本发明所述的加密方案加密的密文只有少量会被破译,大大提高了加密数据的安全性。

Description

基于随机变化的非线性步骤的加密方法和解密方法
技术领域
本发明涉及信息加密技术领域,具体涉及了分组密码加密方法中的非线性步骤。主要应用于数字通信过程中的各种软、硬件通信设备。
背景技术
当前主流分组密码加密方法主要包含了两大步骤:线性步骤和非线性步骤。线性步骤的作用是将明文的微小变化扩散至整个分组,一般由MDS矩阵或位移等操作实现;非线性步骤的作用是消除输入数据与输出数据的相关性,一般由S盒步骤实现。
分组密码加密方法中的S盒步骤本质上均可看作映射:
S:GF(2n)→GF(2m)
Figure GDA0000142520500000011
其中,x∈GF(2n),fi:GF(2n)→GF(2)是布尔函数。通常简称这样的S盒为n-m的S盒。
目前,通常使用平衡性、相关免疫度、雪崩效应、代数次数、非线性度和差分传播概率等性质作为安全性指标,对S盒的安全性进行分析。一个S盒的上述性质必须达到安全性要求,才可以使用。
2003年2月欧洲最新一代的安全标准NESSIE出台,该标准包括两个128bits分组密码算法,一个是AES算法,另一个是Camellia算法。
一般而言,分组密码算法的非线性步骤均是由多个S盒并联之后构成。例如,Camellia算法非线性步骤的定义为:
S : L → L
Figure GDA0000142520500000013
其中li是8bits长的二进制串,i=1,2,...,8,s1是一个以求逆运算为核心的8-8的S盒,s2,s3,s4均是以s1为基础进行一次循环位移操作得到的S盒,这里“||”表示比特并联。该非线性步骤为64bits输入、64bits输出。
目前几乎所有已知的分组密码攻击方法在分析非线性步骤时,都是针对S盒进行的,如果S盒是固定不变的,则该加密算法比较容易被破解。而当某个加密方法的S盒会发生随机的改变时,则对该方法的攻击方案将会失效,因为即使成功分析出某个单独的S盒,也无法分析出由同一随机算法得到的其他S盒。
发明内容
本发明的目的是以分组密码算法Camellia的整体框架为基础,构造随机变化的非线性步骤,替换Camellia原有固定不变的非线性步骤,借以抵御已知的密码攻击方法。
本发明提供的技术方案如下(流程参见图3):
一种基于随机变化的非线性步骤的加密方法,该方法基于Camellia算法,其特征在于,所述加密方法使用随机变化的S盒实现其非线性步骤,实现方法如下:
A.设置S盒的更换条件和筛选条件;
所述更换条件为一个数字上限,当原有S盒的使用时间或使用次数达到该上限时,产生新的S盒来代替原有S盒。
所述筛选条件为:非线性度≥1900;代数次数≥11;差分传播概率≤2-6
B.根据更换条件和筛选条件生成并输出S盒;
实现方法如下:
1)判断当前S盒是否达到更换条件,若未达到,则转步骤C;
2)产生一个由{0,1,2,...,4095}构成的随机置换表,截取表中每一个元素的最后8位,得到一个12-8的S盒;
3)对该S盒进行安全性检测,当安全性满足步骤A所设置的筛选条件时,输出该S盒;否则,转步骤2);
C.使用字节扩展方法和步骤B输出的S盒,构成新的64bits输入、64bits输出的非线性步骤,得到新的加密方法。
本发明同时提供对应的解密方法如下:将加密时使用的S盒和密钥同时传递给解密终端,解密终端先用该S盒结合一个字节置换步骤构成解密算法的非线性步骤,然后对数据进行解密。
本发明中所提出的加密方法,把传统分组密码加密方法中作为“常量”的S盒步骤变成了“变量”,使加密方法可以更好地抵御已知的密码攻击方法;当分组密码算法被攻破时,传统分组密码加密的所有密文都会被破译,而使用本发明所述的加密方案加密的密文只有少量会被破译,大大提高了加密数据的安全性。同时,这种加密模式还有着很好的改进前景,在工程应用中可以体现出很高的实用的价值。
附图说明
图1是新的非线性步骤示意图。
图2是加密方法流程图。
图3是本发明对应的流程图。
具体实施方式
下面结合附图对本发明作进一步的说明。
图1为新的非线性步骤示意图,其中步骤100表示64bits输入数据,步骤101表示字节扩展,步骤102表示扩展后的72bits数据,步骤103表示并联S盒,步骤104表示64bits输出数据,步骤105表示返回到Camellia加密流程。
基于随机可变S盒步骤的加密方法的实施步骤如下:
1.安全性调节步骤:
1.1设置S盒筛选条件:
加密终端根据实际需求设置S盒筛选条件,保证加密方法的安全性。筛选条件设置的越苛刻,则产生随机S盒的速度越慢。通常可以选取非线性度、代数次数和差分传播概率这3种性质,对S盒安全性进行限制。一般设置为:
-非线性度≥1900;
-代数次数≥11;
-差分传播概率≤2-6
只有当一个随机12-8的S盒满足上述3个条件时,步骤2才可以输出该S盒。
1.2设置S盒更换条件:
加密终端根据实际需求设置S盒更换条件。“更换条件”可以设置为S盒的使用时间或加密次数,一般可设置为:一个S盒使用时间达到1天或加密次数达到100次后,视其为过期S盒,通过步骤2产生新的S盒代替它。
2.随机S盒生成步骤:
本步骤在加密终端进行。
2.1判断当前S盒是否满足更换条件。若满足,则继续;若不满足,则转步骤3。
2.2产生一个(0,1,2,212-1)的随机排列,记为
Figure GDA0000142520500000031
2.3对任意ai,i∈{0,1,...,212-1},将ai按二进制表示为:
ai=bi,12||bi,11||...||bi,1
bi,j∈{0,1},j∈{1,2,...,12};
2.4令
S(i)=bi,8||bi,7||...||bi,1
i∈{0,1,...,212-1};
函数S(i)是一个满足平衡性的随机12-8的S-盒;
2.5测试S盒的各项安全性质。若S盒的安全性满足步骤1.1所设置的筛选条件,则输出该S盒;若不然,则转至步骤2.2,重新产生新的S盒。
3.构造步骤:
3.1字节扩展:
将非线性步骤64bits的输入表示为:L1||L2,L1,L2是32bits长的二进制串。采用扩展函数E把Li从32bits扩展为48bits得到本步骤的输出数据:
L11||L12||L13||L14||L21||L22||L23||L24
其中i=1,2,j=1,2,3,4,Lij是12bits长的二进制串。E的作用为:
对长为32的比特串A=(a1,a2,a3,…,a32),E(A)即为下列的长为48的比特串:
E(A)=(a2,a3,a4,a5,a32,a1,a6,…,a1,a28,a29)
E的比特选择方法见表1;
  2   3   4   5   32   1
  6   7   8   9   4   5
  10   11   12   13   8   9
  14   15   16   17   12   13
  18   19   20   21   16   17
  22   23   24   25   20   21
  26   27   28   29   24   25
  30   31   32   33   34   35
表1E比特选择表
3.2并联S盒:
将步骤3.1.1所得到的L11||L12||L13||L14||L21||L22||L23||L24经过8个并联S盒,得到新的非线性步骤的64bits输出:
S(L11)||S(L12)||S(L13)||S(L14)||S(L21)||S(L22)||S(L23)||S(L24)
这里的S,是由步骤2所输出的S盒。步骤3.11和3.1.2的流程见图1。
3.3构造新加解密方法:
将新的非线性步骤,分别代替Camellia加、解密方法中原有的64bits输入、64bits输出的非线性步骤,即得到新的加、解密方法。
4.加解密步骤:
4.1使用步骤3构造的加密方法,利用密钥对原文数据进行加密。
4.2在加密终端将步骤3所使用的S盒同密文、密钥一起传输给解密终端。
4.3根据步骤4.2所传输的S盒,使用步骤3得出新的解密方法,并利用密钥对密文数据进行解密。
图2给出了本发明所述加密方法的流程图。

Claims (5)

1.一种基于随机变化的非线性步骤的加密方法,该方法基于Camellia算法,其特征在于,所述加密方法的非线性步骤使用随机变化的S盒,该非线性步骤的实现方法如下:
A.设置S盒的更换条件和筛选条件;
B.根据更换条件和筛选条件生成并输出S盒;
C.使用字节扩展方法和步骤B输出的S盒,构成新的64bits输入、64bits输出的非线性步骤;
其中,所述步骤B的实现方法为:
1)判断当前S盒是否达到更换条件,若未达到,则转步骤C;
2)产生一个由{0,1,2,...,4095}构成的随机置换表,截取表中每一个元素的最后8位,得到一个12-8的S盒;
3)对该S盒进行安全性检测,当安全性满足步骤A所设置的筛选条件时,输出该S盒;否则,转步骤2)。
2.如权利要求1所述的加密方法,其特征在于,所述更换条件为一个数字上限,当原有S盒的使用时间或使用次数达到该上限时,产生新的S盒来代替原有S盒。
3.如权利要求1所述的加密方法,其特征在于,所述筛选条件为:非线性度≥1900且代数次数≥11且差分传播概率≤2-6
4.如权利要求2所述的加密方法,其特征在于,所述更换条件为1天或者100次。
5.权利要求1所述加密方法对应的解密方法,其特征在于,将加密时使用的S盒和密钥同时传递给解密终端,解密终端先用该S盒结合一个字节置换步骤构成解密算法的非线性步骤,然后对数据进行解密。
CN2010105672670A 2010-11-30 2010-11-30 基于随机变化的非线性步骤的加密方法和解密方法 Expired - Fee Related CN102013974B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010105672670A CN102013974B (zh) 2010-11-30 2010-11-30 基于随机变化的非线性步骤的加密方法和解密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010105672670A CN102013974B (zh) 2010-11-30 2010-11-30 基于随机变化的非线性步骤的加密方法和解密方法

Publications (2)

Publication Number Publication Date
CN102013974A CN102013974A (zh) 2011-04-13
CN102013974B true CN102013974B (zh) 2012-07-04

Family

ID=43844005

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010105672670A Expired - Fee Related CN102013974B (zh) 2010-11-30 2010-11-30 基于随机变化的非线性步骤的加密方法和解密方法

Country Status (1)

Country Link
CN (1) CN102013974B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546157B (zh) * 2011-12-14 2014-06-18 北京航空航天大学 一种抵抗能量分析的随机混合加密系统及其实现方法
US9819486B2 (en) * 2014-12-19 2017-11-14 Nxp B.V. S-box in cryptographic implementation
CN104821946B (zh) * 2015-05-07 2017-09-05 盐城工学院 一种计算机加密方法及系统
CN109831294B (zh) * 2019-01-02 2020-11-27 北京邮电大学 Spn型分组密码抗故障攻击能力评估方法及装置
CN114124351B (zh) * 2021-11-15 2023-06-27 中国电子科技集团公司第三十研究所 一种非线性不变子的快速计算方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101364171A (zh) * 2008-07-07 2009-02-11 武汉大学 动态真随机数发生器

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101364171A (zh) * 2008-07-07 2009-02-11 武汉大学 动态真随机数发生器

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
.一种基于动态S-盒P-盒的快速分组密码算法——DSP.《计算机科学》.2009,
张润彤
陈利科
陈利科;张润彤;.一种基于动态S-盒P-盒的快速分组密码算法——DSP.《计算机科学》.2009, *
陈华.密码算法的安全性检测及关键组件的设计.《中国博士学位论文全文数据库》.2005, *

Also Published As

Publication number Publication date
CN102013974A (zh) 2011-04-13

Similar Documents

Publication Publication Date Title
Saha et al. RK‐AES: An Improved Version of AES Using a New Key Generation Process with Random Keys
Noura et al. Lightweight stream cipher scheme for resource-constrained IoT devices
CN101383703B (zh) 基于广义信息域的动态加解密方法
CN101394268B (zh) 基于广义信息域的高级加密系统及方法
Abusukhon et al. New direction of cryptography: A review on text-to-image encryption algorithms based on RGB color value
CN102013974B (zh) 基于随机变化的非线性步骤的加密方法和解密方法
CN109861810A (zh) 一种基于混沌块加密算法的数据加密方法及解密方法
CN104348625A (zh) 加解密装置及其加解密方法
Kaur et al. 3D (4 X 4 X 4)-Playfair Cipher
Riman et al. Comparative analysis of block cipher-based encryption algorithms: a survey
CN101022331B (zh) 一种基于载体的混沌加密方法
El Hennawy et al. LEA: link encryption algorithm proposed stream cipher algorithm
Ejaz et al. A secure key dependent dynamic substitution method for symmetric cryptosystems
Karale et al. The survey of various techniques & algorithms for SMS security
CN116405194A (zh) 一种基于北斗短报文的数据加密传输方法
CN107317667B (zh) 一种身份证件丢失的预警方法及预警装置
Gaur et al. A comparative study and analysis of cryptographic algorithms: RSA, DES, AES, BLOWFISH, 3-DES, and TWOFISH
Lee et al. Design and evaluation of a block encryption algorithm using dynamic-key mechanism
Pandey et al. Data security using various cryptography Techniques: A Recent Survey
Kadry et al. An improvement of RC4 cipher using vigenère cipher
Kumar et al. Performance and security analysis using B-128 modified blowfish algorithm
Gligoroski et al. On the importance of the key separation principle for different modes of operation
ايناس طارق et al. Image Encryption and decryption using CAST-128 with proposed adaptive key
Handoko et al. A File Encoding Using A Combination of Advanced Encryption Standard, Cipher Block Chaining and Stream Cipher In Telkom Region 4 Semarang
CN201252558Y (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
CB03 Change of inventor or designer information

Inventor after: Zheng Zhiming

Inventor after: Zhang Xiao

Inventor after: Wang Wenhua

Inventor after: Gao Ying

Inventor after: Wang Zhao

Inventor after: Qiu Wangjie

Inventor after: Wei Wei

Inventor before: Zheng Zhiming

Inventor before: Wang Wenhua

Inventor before: Zhang Xiao

Inventor before: Gao Ying

Inventor before: Wang Zhao

Inventor before: Qiu Wangjie

Inventor before: Wei Wei

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: ZHENG ZHIMING WANG WENHUA ZHANG XIAO GAO YING WANG ZHAO QIU WANGJIE WEI WEI TO: ZHENG ZHIMING ZHANG XIAO WANG WENHUA GAO YING WANG ZHAO QIU WANGJIE WEI WEI

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120704

Termination date: 20151130

EXPY Termination of patent right or utility model