CN107968706B - 具有流程保护功能的白盒密码方法及系统 - Google Patents
具有流程保护功能的白盒密码方法及系统 Download PDFInfo
- Publication number
- CN107968706B CN107968706B CN201711168899.8A CN201711168899A CN107968706B CN 107968706 B CN107968706 B CN 107968706B CN 201711168899 A CN201711168899 A CN 201711168899A CN 107968706 B CN107968706 B CN 107968706B
- Authority
- CN
- China
- Prior art keywords
- low
- temp
- white
- value
- result
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种具有流程保护功能的白盒密码方法及系统。该方法将需白盒化算法的加、减、乘及与、或、异或运算提取出来,按顺序排好,放入白盒化系统中;白盒化系统将高位数的不同运算拆分成结构相似化的数个小的查找表,并在每个查找表两端加入随机双射,完成对被输入算法的白盒化改造。本发明在原白盒密码的查找表与随机双射技术上,增加了将不同运算的结构相似化拆分。因此在原白盒密码保护中间数据与密钥的基础上,增加了对算法流程提供保护的功能,使安全性进一步提高。
Description
技术领域
本发明涉及信息安全领域,具体涉及一种具有流程保护功能的白盒密码方法及系统。
技术背景
随着科学技术的发展,人们对电脑技术的研究更加地全面,对机密信息的探测途径越来越多。对于密码算法而言,传统仅局限于通信信道中信息的截取与分析已经无法满足攻击者的需求,他们已经逐渐开始将目标定位于密码算法的运行平台,如个人电脑、服务器等,通过越来越先进的技术对算法运行时的内部状态进行观测、改动等操作,从而获取机密信息,破坏密码算法所要保护的机密性、完整性、不可否认性等。
这样的攻击方式被称之为白盒攻击。传统的密码算法在这样的攻击环境的平台上运行毫无安全性可言,因此需要研究开发出一种新的密码技术,能够在不可信任平台上运行时保证所需的安全性,达到更高级别信息安全的目的。
白盒密码即是这样一种密码技术,通过结合代数、概率、混淆、软件保护、信息隐藏等知识,研究如何设计安全的白盒密码算法和白盒攻击环境下密码算法的安全评估;用于保护密码算法及其相关软件在不可信任环境下的安全执行;白盒密码是对传统黑盒密码安全概念的一次颠覆,它将更加全面地保护机密信息。
国际上的白盒密码方式主要有四种,分别是2002年,chow等人在White-BoxCryptography and an AES Implementation中提出的基于查找表的白盒密码方案;2006年,Bringer等人在White Box Cryptography:Another Attempt中提出的基于同构多项式的白盒密码方案;2010年,Karroumi等人在Protecting White-Box AES with DualCiphers中提出的基于双重密码的白盒密码方案;2014年,Alex Biryukov等人在Cryptographic schemes based on the ASASA structure:Black-box,white-box,andpublic-key中提出的基于ASASA结构的白盒密码方案。
然而,这四种方案目前都已宣告被攻破,并且他们的白盒密码方案都只局限于对密码算法的密钥进行保护。而如果使用者希望对整个算法的运算流程都加以保护,则完全超出了目前所有白盒密码方案的保护范围。
发明内容
本发明就是针对现有技术的不足,提供了一种在保护算法中间数据和密钥的基础上,对算法的运算流程也提供保护的白盒密码方法及系统。
为了实现上述目的,本发明所设计的具有流程保护功能的白盒密码方法,其特征在于,包括以下步骤:
1)将待白盒化算法的运算流程抽离出来,并将该运算流程按算法步骤排序;
2)在白盒加密系统中,将步骤1)中每一步运算拆分为结构一致的多步低位长的运算;接着将每步拆分后运算按空间结构连接完整;
3)遍历步骤2)中每一块低位长间的运算,将遍历结果按设定规则放入查找表中,并将输入输出相邻的查找表两端加入互逆的随机双射;
4)步骤3)最终输出的查找表代替原待加密算法中的运算,即输出了白盒加密后的代码。
进一步地,所述低位长为4位长。
进一步地,在步骤3)中,将运算做成查找表时,将各自多加1比特作为进位标志位,用于记录输出是否有进位,经过运算,输出结果。
更进一步地,所述步骤1)中的运算包括乘、加、减、与、或、异或。
再进一步地,51)将算数的两个因子都通过高低位分为两部分,其中一个算数因子的高低位分别设为a、b,另一个算数因子的高低位分别为c、d;
52)定义伪代码格式(A,B,&C),表示A与B合并作为输入去查查找表,并将其对应输出记作C;
53)建立新的名称high_bd、high_ac、low_ac、n_high_ad、n_low_ad、n_high_bc、n_low_bc、n_low_bc、m_high_ad、m_low_ad、m_high_bc、m_low_bc,作为存储中间数据;建立新的空间temp用于保存中间数据,建立数组value[4]用于保存结果;
运算流程如下:
(b,d,&high_bd);
(b,d,&low_bd);
(a,c,&high_ac);
(a,c,&low_ac);
(a,d,&n_high_ad);
(a,d,&n_low_ad);
(b,c,&n_high_bc);
(b,c,&n_low_bc);
(a,d,&m_high_ad);
(a,d,&m_low_ad);
(b,c,&m_high_bc);
(b,c,&m_low_bc);
(high_bd,m_low_ad,&temp);
(low_ac,temp,&low_ac);
(temp,n_low_ad,&temp);
(low_ac,temp,&low_ac);
(temp,m_low_bc,&temp);
(m_high_bc,temp,&m_high_bc);
(temp,n_low_bc,&value[1]);
(n_high_bc,value[1],&n_high_bc);
(m_high_ad,n_high_ad,&temp);
(high_ac,temp,&high_ac);
(temp,m_high_bc,&temp);
(high_ac,temp,&high_ac);
(temp,n_high_bc,&temp);
(high_ac,temp,&high_ac);
(temp,low_ac,&value[2]);
(high_ac,value[2],&high_ac);
(high_ac,low_ac,&high_ac);
定义N.real表示N数据去掉标注位的值,将结果按大端存在result[4]:
result[0]=low_bd.real;
result[1]=value[1].real;
result[2]=value[2].real;
result[3]=high_ac.real;
进一步地,查找表的制作具体为:遍历所有输入,作为数组下标,每组输入对应的值作为数组的值,遍历完的数组即为查找表。
另一方面,本发明还设计了一种具有流程保护功能的白盒密码系统,其特征在于:该系统的加密过程如下:
1)将待白盒化算法的运算流程抽离出来,并将该运算流程按算法步骤排序;
2)将步骤1)中每一步运算拆分为结构一致的多步低位长的运算;接着将每步拆分后运算按空间结构连接完整;
3)遍历步骤2)中每一块低位长间的运算,将遍历结果按设定规则放入查找表中,并将输入输出相邻的查找表两端加入互逆的随机双射;
4)步骤3)最终输出的查找表代替原待加密算法中的运算,配合上配套的表的使用流程,即输出了白盒加密后的代码。
本发明的优点在于:
第一,原有的白盒密码技术因为查找表的类型不统一,拆分结构不相似,因此只要一组随机双射被破解,则随后的所有查找表的随机双射均可被攻破,使得安全系数很低。本发明所有查找表均为同一规模、特征完全一致的查找表,且拆分结构完全相似,因此攻击者无法因一组随机双射的破解而推出其他查找表的随机双射,因此安全系数得到较大提高。
第二,原有的白盒密码技术只能保护特定密码算法的密钥信息。而本发明由于设计了六种运算的拆分结构,因此可以对以乘、加、减、与、或、异或为核心运算的普遍算法加以白盒化保护,大大扩大了白盒密码算法能提供保护的算法范围。
第三,原有的白盒密码技术只保护特定密码算法的密钥信息。而本发明由于对不同运算进行了相同结构的拆分,并且拆分后的小查找表特征完全一致,所以可以达到保护算法运算流程的效果,扩大了白盒密码能提供的保护深度。
附图说明
图1位本发明具有流程保护功能的白盒密码方法的结构框图。
图2为乘法拆分结构图。
图3为加法拆分结构图。
图4为减法拆分结构图。
图5为与拆分结构图。
图6为或拆分结构图。
图7为异或拆分结构图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步的详细描述:
具有流程保护功能的白盒密码方法,包括以下步骤:
1)将待白盒化算法的运算流程抽离出来,并将该运算流程按算法步骤排序;
2)在白盒加密系统中,将步骤1)中每一步运算拆分为结构一致的多步低位长的运算;接着将每步拆分后运算按空间结构连接完整;
3)遍历步骤2)中每一块低位长间的运算,将遍历结果按设定规则放入查找表中,并将输入输出相邻的查找表两端加入互逆的随机双射;
4)步骤3)最终输出的查找表代替原待加密算法中的运算,即输出了白盒加密后的代码。
为计算方便,低位长一般选择为4位长。在步骤3)中,将运算做成查找表时,将各自多加1比特作为进位标志位,用于记录输出是否有进位,经过运算,输出结果。以适应乘、加、减、与、或、异或运算。
本发明中,结构一致的拆分和查表过程具体为:
51)将算数的两个因子都通过高低位分为两部分,其中一个算数因子的高低位分别设为a、b,另一个算数因子的高低位分别为c、d;
52)定义伪代码格式(A,B,&C),表示A与B合并作为输入去查查找表,并将其对应输出记作C;
53)建立新的名称high_bd、high_ac、low_ac、n_high_ad、n_low_ad、n_high_bc、n_low_bc、n_low_bc、m_high_ad、m_low_ad、m_high_bc、m_low_bc,作为存储中间数据;建立新的空间temp用于保存中间数据,建立数组value[4]用于保存结果;
运算流程如下:
(b,d,&high_bd);
(b,d,&low_bd);
(a,c,&high_ac);
(a,c,&low_ac);
(a,d,&n_high_ad);
(a,d,&n_low_ad);
(b,c,&n_high_bc);
(b,c,&n_low_bc);
(a,d,&m_high_ad);
(a,d,&m_low_ad);
(b,c,&m_high_bc);
(b,c,&m_low_bc);
(high_bd,m_low_ad,&temp);
(low_ac,temp,&low_ac);
(temp,n_low_ad,&temp);
(low_ac,temp,&low_ac);
(temp,m_low_bc,&temp);
(m_high_bc,temp,&m_high_bc);
(temp,n_low_bc,&value[1]);
(n_high_bc,value[1],&n_high_bc);
(m_high_ad,n_high_ad,&temp);
(high_ac,temp,&high_ac);
(temp,m_high_bc,&temp);
(high_ac,temp,&high_ac);
(temp,n_high_bc,&temp);
(high_ac,temp,&high_ac);
(temp,low_ac,&value[2]);
(high_ac,value[2],&high_ac);
(high_ac,low_ac,&high_ac);
定义N.real表示N数据去掉标注位的值,将结果按大端存在result[4]:
result[0]=low_bd.real;
result[1]=value[1].real;
result[2]=value[2].real;
result[3]=high_ac.real。
乘、加、减、与、或、异或运算均采用上述运算流程,按各自的运算需求运算所需值。
优选地,查找表的制作具体为:遍历所有输入,作为数组下标,每组输入对应的值作为数组的值,遍历完的数组即为查找表。
本发明中用到的运算包括:
取两个运算参数的值的高位相乘并与因子m乘:m_high_mul;
取两个运算参数的值的低位相乘并与因子m乘:m_low_mul;
取两个运算参数的值的高位相乘并与因子n乘:n_high_mul;
取两个运算参数的值的低位相乘并与因子n乘:n_low_mul;
以上4种运算中因子m、n为常实数,且满足(n+m=1;n>0;m>0);
取两个运算参数的值的高位相乘:high_mul;
取两个运算参数的值的低位相乘:low_mul;
取两个运算参数的值相加得值并算进位:add_rr;
取两个运算参数的值相加得值不算进位:add_rc;
取两个运算参数的值相加得进位:add_cc;
取一个运算参数的进位与另一个运算参数的值相加得值并算进位:add_rcc;
取一个运算参数的进位与另一个运算参数的值相加得值不算进位:add_rrn;
取一个运算参数的值减另一个运算参数的值得值:sub;
取一个运算参数的值加一个向高位的借位减另一个运算参数的值取低位:sub_up_L;
取一个运算参数的值加一个向高位的借位减另一个运算参数的值取高位:sub_up_H;
取两个运算参数的值相加得值再减1:add_down;
取两个运算参数的值的低位相乘并与0xff异或:low_mul_xor;
取两个运算参数的值相与:and;
取两个运算参数的值相或:or;
取两个运算参数的值相异或:xor。
本发明所设计的一种具有流程保护功能的白盒密码系统,该系统的加密过程如下:
1)将待白盒化算法的运算流程抽离出来,并将该运算流程按算法步骤排序;
2)将步骤1)中每一步运算拆分为结构一致的多步低位长的运算;接着将每步拆分后运算按空间结构连接完整;
3)遍历步骤2)中每一块低位长间的运算,将遍历结果按设定规则放入查找表中,并将输入输出相邻的查找表两端加入互逆的随机双射;
4)步骤3)最终输出的查找表代替原待加密算法中的运算,即输出了白盒加密后的代码。
如附图1~6所示,以一种包含乘、加、减、与、或、异或的8位算法为例,对其进行本发明的白盒化实例,具体过程如下:
1)将待白盒化算法的乘、加、减、与、或、异或运算接口抽离出来,若相同的运算重复出现,需以不同的名字抽离。
2)将抽离出的乘、加、减、与、或、异或运算做结构相似化拆分,具体结构如附图1~6所示。
3)将结构相似化后的每一个小的4比特与4比特之间的运算进行结果遍历,最后生成出1024位的10进5出查找表。
4)接着,将输入输出相邻的查找表两端加入相反的范围为0~25-1的随机双射,生成出新的混淆后的查找表。
5)最终输出的混淆后的查找表代替原待加密算法中的运算,配合上配套的表的使用流程,即输出了白盒加密后的代码。
以下以乘法为例,结合附图2对结构一致性拆分和查表过程的具体过程如下:
high_mul:(b,d,&high_bd),取b、d的高位相乘,并将结果放在high_bd中;
low_mul:(b,d,&low_bd);
high_mul:(a,c,&high_ac);
low_mul:(a,c,&low_ac);
n_high_mul:(a,d,&n_high_ad);
n_low_mul:(a,d,&n_low_ad);
n_high_mul:(b,c,&n_high_bc);
n_low_mul:(b,c,&n_low_bc);
m_high_mul:(a,d,&m_high_ad);
m_low_mul:(a,d,&m_low_ad);
m_high_mul:(b,c,&m_high_bc);
m_low_mul:(b,c,&m_low_bc);
add_rr:(high_bd,m_low_ad,&temp);
add_rcc:(low_ac,temp,&low_ac);
add_rr:(temp,n_low_ad,&temp);
add_rcc:(low_ac,temp,&low_ac);
add_rr:(temp,m_low_bc,&temp);
add_rc:(m_high_bc,temp,&m_high_bc);
add_rr:(temp,n_low_bc,&value[1]);
add_rc:(n_high_bc,value[1],&n_high_bc);
add_rr:(m_high_ad,n_high_ad,&temp);
add_rc:(high_ac,temp,&high_ac);
add_rr:(temp,m_high_bc,&temp);
add_rc:(high_ac,temp,&high_ac);
add_rr:(temp,n_high_bc,&temp);
add_rc:(high_ac,temp,&high_ac);
add_rr:(temp,low_ac,&value[2]);
add_rc(high_ac,value[2],&high_ac);
add_rc:(high_ac,low_ac,&high_ac);
result[0]=low_bd.real;
result[1]=value[1].real;
result[2]=value[2].real;
result[3]=high_ac.real;
加、减、与、或、异或运算如图3~7所示,均采用上述运算流程,按各自的运算规则得出相应的结果。
本发明的优点在于:
第一,原有的白盒密码技术因为查找表的类型不统一,拆分结构不相似,因此只要一组随机双射被破解,则随后的所有查找表的随机双射均可被攻破,使得安全系数很低。本发明所有查找表均为同一规模、特征完全一致的查找表,且拆分结构完全相似,因此攻击者无法因一组随机双射的破解而推出其他查找表的随机双射,因此安全系数得到较大提高。
第二,原有的白盒密码技术只能保护特定密码算法的密钥信息。而本发明由于设计了六种运算的拆分结构,因此可以对以乘、加、减、与、或、异或为核心运算的普遍算法加以白盒化保护,大大扩大了白盒密码算法能提供保护的算法范围。
第三,原有的白盒密码技术只保护特定密码算法的密钥信息。而本发明由于对不同运算进行了相同结构的拆分,并且拆分后的小查找表特征完全一致,所以可以达到保护算法运算流程的效果,扩大了白盒密码能提供的保护深度。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (6)
1.一种具有流程保护功能的白盒密码方法,其特征在于,包括以下步骤:
1)将待白盒化算法的运算流程抽离出来,并将该运算流程按算法步骤排序;
2)在白盒加密系统中,将步骤1)中每一步运算拆分为结构一致的多步低位长的运算;接着将每步拆分后运算按空间结构连接完整;
3)遍历步骤2)中每一块低位长间的运算,将遍历结果按设定规则放入查找表中,并将输入输出相邻的查找表两端加入互逆的随机双射;
4)步骤3)最终输出的查找表代替原待白盒化算法中的运算,即输出了白盒加密后的代码;
其中:结构一致的拆分和查表过程具体为:
51)将算数的两个因子都通过高低位分为两部分,其中一个算数因子的高低位分别设为a、b,另一个算数因子的高低位分别为c、d;
52)定义伪代码格式(A,B,&C),表示A与B合并作为输入去查查找表,并将其对应输出记作C;
53)建立新的名称high_bd、high_ac、low_ac、n_high_ad、n_low_ad、n_high_bc、n_low_bc、m_high_ad、m_low_ad、m_high_bc、m_low_bc,作为存储中间数据;建立新的空间temp用于保存中间数据,建立数组value[4]用于保存结果;
运算流程如下:
(b, d, &high_bd);
(b, d, &low_bd);
(a, c, &high_ac);
(a, c, &low_ac);
(a, d, &n_high_ad);
(a, d, &n_low_ad);
(b, c, &n_high_bc);
(b, c, &n_low_bc);
(a, d, &m_high_ad);
(a, d, &m_low_ad);
(b, c, &m_high_bc);
(b, c, &m_low_bc);
(high_bd, m_low_ad, &temp);
(low_ac, temp, &low_ac);
(temp, n_low_ad, &temp);
(low_ac, temp, &low_ac);
(temp, m_low_bc, &temp);
(m_high_bc, temp, &m_high_bc);
(temp, n_low_bc, &value[1]);
(n_high_bc, value[1], &n_high_bc);
(m_high_ad, n_high_ad, &temp);
(high_ac, temp, &high_ac);
(temp, m_high_bc, &temp);
(high_ac, temp, &high_ac);
(temp, n_high_bc, &temp);
(high_ac, temp, &high_ac);
(temp, low_ac, &value[2]);
(high_ac, value[2], &high_ac);
(high_ac, low_ac, &high_ac);
定义N.real表示N数据去掉标注位的值,将结果按大端存在result[4]:
result[0] = low_bd.real;
result[1] = value[1].real;
result[2] = value[2].real;
result[3] = high_ac.real。
2.根据权利要求1所述的具有流程保护功能的白盒密码方法,其特征在于:所述低位长为4位长。
3.根据权利要求1所述的具有流程保护功能的白盒密码方法,其特征在于:在步骤3)中,将运算做成查找表时,将每一块低位长间的运算多加1比特作为进位标志位,用于记录输出是否有进位,经过运算,输出结果。
4.根据权利要求3所述的具有流程保护功能的白盒密码方法,其特征在于:所述步骤1)中的运算包括乘、加、减、与、或或异或。
5.根据权利要求1所述的具有流程保护功能的白盒密码方法,其特征在于:查找表的制作具体为:遍历所有输入,作为数组下标,每组输入对应的值作为数组的值,遍历完的数组即为查找表。
6.一种具有流程保护功能的白盒密码系统,其特征在于:该系统的加密过程如下:
1)将待白盒化算法的运算流程抽离出来,并将该运算流程按算法步骤排序;
2)将步骤1)中每一步运算拆分为结构一致的多步低位长的运算;接着将每步拆分后运算按空间结构连接完整;
3)遍历步骤2)中每一块低位长间的运算,将遍历结果按设定规则放入查找表中,并将输入输出相邻的查找表两端加入互逆的随机双射;
4)步骤3)最终输出的查找表代替原待白盒化算法中的运算,配合上配套的表的使用流程,即输出了白盒加密后的代码;
其中:结构一致的拆分和查表过程具体为:
51)将算数的两个因子都通过高低位分为两部分,其中一个算数因子的高低位分别设为a、b,另一个算数因子的高低位分别为c、d;
52)定义伪代码格式(A,B,&C),表示A与B合并作为输入去查查找表,并将其对应输出记作C;
53)建立新的名称high_bd、high_ac、low_ac、n_high_ad、n_low_ad、n_high_bc、n_low_bc、m_high_ad、m_low_ad、m_high_bc、m_low_bc,作为存储中间数据;建立新的空间temp用于保存中间数据,建立数组value[4]用于保存结果;
运算流程如下:
(b, d, &high_bd);
(b, d, &low_bd);
(a, c, &high_ac);
(a, c, &low_ac);
(a, d, &n_high_ad);
(a, d, &n_low_ad);
(b, c, &n_high_bc);
(b, c, &n_low_bc);
(a, d, &m_high_ad);
(a, d, &m_low_ad);
(b, c, &m_high_bc);
(b, c, &m_low_bc);
(high_bd, m_low_ad, &temp);
(low_ac, temp, &low_ac);
(temp, n_low_ad, &temp);
(low_ac, temp, &low_ac);
(temp, m_low_bc, &temp);
(m_high_bc, temp, &m_high_bc);
(temp, n_low_bc, &value[1]);
(n_high_bc, value[1], &n_high_bc);
(m_high_ad, n_high_ad, &temp);
(high_ac, temp, &high_ac);
(temp, m_high_bc, &temp);
(high_ac, temp, &high_ac);
(temp, n_high_bc, &temp);
(high_ac, temp, &high_ac);
(temp, low_ac, &value[2]);
(high_ac, value[2], &high_ac);
(high_ac, low_ac, &high_ac);
定义N.real表示N数据去掉标注位的值,将结果按大端存在result[4]:
result[0] = low_bd.real;
result[1] = value[1].real;
result[2] = value[2].real;
result[3] = high_ac.real。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711168899.8A CN107968706B (zh) | 2017-11-21 | 2017-11-21 | 具有流程保护功能的白盒密码方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711168899.8A CN107968706B (zh) | 2017-11-21 | 2017-11-21 | 具有流程保护功能的白盒密码方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107968706A CN107968706A (zh) | 2018-04-27 |
CN107968706B true CN107968706B (zh) | 2020-10-13 |
Family
ID=62000356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711168899.8A Active CN107968706B (zh) | 2017-11-21 | 2017-11-21 | 具有流程保护功能的白盒密码方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107968706B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109257162A (zh) * | 2018-11-02 | 2019-01-22 | 北京京东金融科技控股有限公司 | 加密算法白盒化的方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105099666A (zh) * | 2015-06-26 | 2015-11-25 | 中国科学院信息工程研究所 | 混淆轮边界的白盒密码系统和方法 |
CN105681025A (zh) * | 2016-01-29 | 2016-06-15 | 中国科学院信息工程研究所 | 一种国家密码标准算法sm4的安全白盒实现方法和装置 |
CN106452729A (zh) * | 2016-08-30 | 2017-02-22 | 上海交通大学 | 一种基于随机置换的白盒密码的加密方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9654280B2 (en) * | 2009-03-10 | 2017-05-16 | Irdeto B.V. | White-box cryptographic system with input dependent encodings |
KR20170097509A (ko) * | 2016-02-18 | 2017-08-28 | 한국전자통신연구원 | 화이트 박스 암호화 기반의 연산 방법 및 그 방법을 수행하는 보안 단말 |
-
2017
- 2017-11-21 CN CN201711168899.8A patent/CN107968706B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105099666A (zh) * | 2015-06-26 | 2015-11-25 | 中国科学院信息工程研究所 | 混淆轮边界的白盒密码系统和方法 |
CN105681025A (zh) * | 2016-01-29 | 2016-06-15 | 中国科学院信息工程研究所 | 一种国家密码标准算法sm4的安全白盒实现方法和装置 |
CN106452729A (zh) * | 2016-08-30 | 2017-02-22 | 上海交通大学 | 一种基于随机置换的白盒密码的加密方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107968706A (zh) | 2018-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mirzaei et al. | A new image encryption method: parallel sub-image encryption with hyper chaos | |
US8199909B2 (en) | Method and device for carrying out a cryptographic calculation | |
JP5412414B2 (ja) | 検索可能暗号処理システム | |
US8515057B2 (en) | Method and device for executing crytographic calculation | |
KR101026439B1 (ko) | Seed 암호화에서 차분 전력 분석 공격을 방어하기 위한 마스킹 방법 | |
WO2013038698A1 (ja) | 検索システム、検索方法、およびプログラム | |
JP6575532B2 (ja) | 暗号化装置、復号装置、暗号処理システム、暗号化方法、復号方法、暗号化プログラム、及び復号プログラム | |
WO2021129470A1 (zh) | 基于多项式完全同态的二进制数据加密系统及方法 | |
CN106656467A (zh) | 加密装置及方法 | |
JP5612007B2 (ja) | 暗号化鍵生成装置 | |
KR20180110550A (ko) | 부채널 분석 방지를 위한 화이트박스 암호 방법 및 장치 | |
CN107592298B (zh) | 一种基于单服务器模型的序列比较算法安全外包方法、用户终端和服务器 | |
CN106936563A (zh) | 用于保护密码运算的方法和系统 | |
CN106452729B (zh) | 一种基于随机置换的白盒密码的加密方法 | |
CN107968706B (zh) | 具有流程保护功能的白盒密码方法及系统 | |
CN111475690B (zh) | 字符串的匹配方法和装置、数据检测方法、服务器 | |
CN116719502B (zh) | 一种基于隐私保护的数据相减运算方法 | |
WO2015166701A1 (ja) | 暗号化方法、プログラム、および、システム | |
KR101440680B1 (ko) | 중국인 나머지 정리에 기반한 준동형 암복호화 방법 및 이를 이용한 장치 | |
JP2010186075A (ja) | 整数の暗号化及び復号化方法 | |
JP5208717B2 (ja) | 整数の暗号化及び復号化方法 | |
JP2005167794A (ja) | 秘密情報保管方法及び装置、秘密情報復元方法及び装置、秘密情報保管プログラム並びに秘密情報復元プログラム。 | |
Kim | A White-box Implementation of SEED | |
JP6876423B2 (ja) | ストリーム暗号における内部状態の初期化装置、方法及びプログラム | |
JP2019506031A (ja) | 計算装置及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230208 Address after: 430040 No. 666, Wuhuan Avenue, Wuhan airport economic and Technological Development Zone, Wuhan City, Hubei Province Patentee after: WUHAN JAHPORT TECHNOLOGY CO.,LTD. Patentee after: WUHAN University Address before: 430079 No. 11, Floor 16, Building 1, Zhaofu International Building, No. 717, Wuluo Road, Luonan Street, Hongshan District, Wuhan City, Hubei Province Patentee before: WUHAN JAHPORT TECHNOLOGY CO.,LTD. |