CN112003687A - 一种白盒运算方法、装置、电子设备及计算机存储介质 - Google Patents

一种白盒运算方法、装置、电子设备及计算机存储介质 Download PDF

Info

Publication number
CN112003687A
CN112003687A CN202010868487.0A CN202010868487A CN112003687A CN 112003687 A CN112003687 A CN 112003687A CN 202010868487 A CN202010868487 A CN 202010868487A CN 112003687 A CN112003687 A CN 112003687A
Authority
CN
China
Prior art keywords
round
key
lookup table
lookup
lookup tables
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.)
Granted
Application number
CN202010868487.0A
Other languages
English (en)
Other versions
CN112003687B (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.)
China Electronics Technology Network Security Technology Co ltd
Original Assignee
Chengdu Westone Information Industry Inc
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 Chengdu Westone Information Industry Inc filed Critical Chengdu Westone Information Industry Inc
Priority to CN202010868487.0A priority Critical patent/CN112003687B/zh
Publication of CN112003687A publication Critical patent/CN112003687A/zh
Application granted granted Critical
Publication of CN112003687B publication Critical patent/CN112003687B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9017Indexing; Data structures therefor; Storage structures using directory or table look-up
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本公开提供了一种白盒运算方法、装置、电子设备及计算机存储介质,该电子设备包括:存储器,用于存储计算机程序;处理器,用于执行计算机程序以获取目标数据;确定对PRESENT算法中的轮密钥进行混淆的混淆密钥以及调整轮密钥与混淆密钥的位置的调整向量;基于轮密钥、混淆密钥、调整向量及PRESENT算法的轮函数构造查找表;通过查找表对目标数据进行PRESENT运算,得到目标结果。本公开提供的白盒运算方法、装置、电子设备及计算机可读存储介质中,构造的查找表可以借助混淆密钥和调整向量保护轮密钥的安全,使得攻击方难以破解查找表,难以破解轮密钥,保护了轮密钥的安全性,提高了PRESENT算法的密钥安全。

Description

一种白盒运算方法、装置、电子设备及计算机存储介质
技术领域
本公开涉及信息安全技术领域,更具体地说,涉及一种白盒运算方法、装置、电子设备及计算机存储介质。
背景技术
网络与智能终端的普及,各类隐私数据在终端读取并加解密,加解密方法可以根据需求灵活确定,比如其可以为PRESENT算法等,PRESENT算法是Bogdanov、Knudsen等人在2007年设计的一个轻量级分组密码算法,PRESENT算法采用SPN结构,分组长度64比特,密钥长度80比特(推荐使用)或128比特,轮数31轮,可用于RFID、传感器等物联网低功耗设备。
然而,终端所处的环境不可控,攻击者或者恶意用户可通过逆向工程等技术获取加解密算法的中间计算结果,进而极易地恢复加解密算法的密钥,从而获取数据,造成信息泄露。
综上所述,如何提高PRESENT算法在不可信平台上运行时的密钥安全性是目前本领域技术人员亟待解决的问题。
发明内容
本公开的目的是提供一种电子设备,其能在一定程度上解决如何提高PRESENT算法在不可信平台上运行时的密钥安全性的技术问题。本公开还提供了一种白盒运算方法、装置及计算机可读存储介质。
根据本公开实施例的第一方面,提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以获取密钥,并通过密钥扩展算法生成轮密钥;确定对PRESENT算法中的轮密钥进行混淆的混淆密钥以及调整所述轮密钥与所述混淆密钥的位置的调整向量;基于所述轮密钥、所述混淆密钥、所述调整向量及所述PRESENT算法的轮函数构造查找表;通过所述查找表对目标数据进行PRESENT运算,得到目标结果。
优选的,所述处理器基于所述轮密钥、所述混淆密钥、所述调整向量及所述PRESENT算法的轮函数构造查找表之前,还包括:
根据预设条件确定所述查找表的规模;所述预设条件包括预设存储性能条件、预设效率性能条件、预设安全性能条件。
优选的,所述处理器基于所述轮密钥、所述混淆密钥、所述调整向量及所述PRESENT算法的轮函数构造查找表,包括:
基于所述轮密钥、所述混淆密钥、所述调整向量及所述PRESENT算法的轮函数构造31轮查找表;
其中,第1轮查找表至第30轮查找表均包括两类查找表;第31轮查找表包括三类查找表;第1轮查找表中的第一类查找表包括16个4进128出的查找表;第2轮至第31轮查找表中的第一类查找表均包括16个8进128出的查找表;第1轮至第31轮查找表中的第二类查找表均包括480个8进4出的查找表;第31轮查找表中的第三类查找表包括16个8进4出的查找表。
优选的,所述处理器基于所述轮密钥、所述混淆密钥、所述调整向量及所述PRESENT算法的轮函数构造31轮查找表,包括:
通过查找表构造公式,基于所述轮密钥、所述混淆密钥、所述调整向量及所述PRESENT算法的轮函数构造31轮查找表;
所述查找表构造公式包括:
Figure BDA0002650456700000021
Figure BDA0002650456700000022
Figure BDA0002650456700000023
Figure BDA0002650456700000024
Figure BDA0002650456700000025
Figure BDA0002650456700000026
Figure BDA0002650456700000031
Figure BDA0002650456700000032
其中,T1,i表示第1轮查找表中的第一类查找表;Kd=Kd,0||Kd,1||…||Kd,15;Kd表示所述PRESENT算法的第d轮的轮密钥,d=1,…,32;αd=αd,0||αd,1||…||αd,15,αd包括64比特的随机数;Fd,i=fd,i,0||…||fd,i,31,Fd,i包括由32个4比特随机置换f1,i,j构成的128比特置换;
Figure BDA0002650456700000034
Ad,i包括8阶随机可逆矩阵;ad,i包括128比特随机向量,且
Figure BDA0002650456700000033
Td包括16比特随机向量,且Td=(td,0,td,1,…,td,15),t1,i∈{0,1};
Figure BDA0002650456700000036
,Ed,i表示第d轮查找表中的第二类查找表,hd,i=hd,i,0||hd,i,1,且hd,i,0,hd,i,1均包括4比特随机置换;Bd,i包括8阶仿射变换;T32,i表示第31轮查找表中的第三类查找表;
Figure BDA0002650456700000035
表示异或运算;||表示连接符。
优选的,所述处理器通过所述查找表对目标数据进行PRESENT运算,得到目标结果,包括:
将所述目标数据拆分为16个4比特的分组数据;
按照第1轮查找表中的第一类查找表对所述分组数据进行处理,得到16个128比特的输出数据;按照第1轮查找表中的第二类查找表对第1轮得到的16个128比特的输出数据进行异或运算,得到1个128比特的输出数据;
从第2轮开始至第31轮结束,按照当前轮查找表中的第一类查找表对当前轮的上一轮得到的1个128比特的输出数据进行处理,得到16个128比特的输出数据;按照当前轮查找表中的第二类查找表对当前轮得到的16个128比特的输出数据进行异或运算,得到1个128比特的输出数据;
按照第31轮查找表中的第三类查找表对第31轮得到的1个128比特的输出数据进行运算,得到1个64比特的所述目标结果。
根据本公开实施例的第二方面,提供一种白盒运算方法,包括:获取密钥,并通过密钥扩展算法生成轮密钥;
确定对PRESENT算法中的轮密钥进行混淆的混淆密钥以及调整所述轮密钥与所述掩码密钥的位置的调整向量;
基于所述轮密钥、所述混淆密钥、所述调整向量及所述PRESENT算法的轮函数构造查找表;
通过所述查找表对目标数据进行PRESENT运算,得到目标结果。
优选的,所述基于所述轮密钥、所述混淆密钥、所述调整向量及所述PRESENT算法的轮函数构造查找表之前,还包括:
根据预设条件确定所述查找表的规模;所述预设条件包括预设存储性能条件、预设效率性能条件、预设安全性能条件。
优选的,所述基于所述轮密钥、所述混淆密钥、所述调整向量及所述PRESENT算法的轮函数构造查找表,包括:
基于所述轮密钥、所述混淆密钥、所述调整向量及所述PRESENT算法的轮函数构造31轮查找表;
其中,第1轮查找表至第30轮查找表均包括两类查找表;第31轮查找表包括三类查找表;第1轮查找表中的第一类查找表包括16个4进128出的查找表;第2轮至第31轮查找表中的第一类查找表均包括16个8进128出的查找表;第1轮至第31轮查找表中的第二类查找表均包括480个8进4出的查找表;第31轮查找表中的第三类查找表包括16个8进4出的查找表。
根据本公开实施例的第三方面,提供一种白盒运算装置,包括:
第一获取模块,用于获取密钥,并通过密钥扩展算法生成轮密钥;
第一确定模块,用于确定对PRESENT算法中的轮密钥进行混淆的混淆密钥以及调整所述轮密钥与所述掩码密钥的位置的调整向量;
第一构造模块,用于基于所述轮密钥、所述混淆密钥、所述调整向量及所述PRESENT算法的轮函数构造查找表;
第一运算模块,用于通过所述查找表对目标数据进行PRESENT运算,得到目标结果。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述白盒运算方法的步骤。
本公开提供的一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行计算机程序以获取密钥,并通过密钥扩展算法生成轮密钥;确定对PRESENT算法中的轮密钥进行混淆的混淆密钥以及调整轮密钥与混淆密钥的位置的调整向量;基于轮密钥、混淆密钥、调整向量及PRESENT算法的轮函数构造查找表;通过查找表对目标数据进行PRESENT运算,得到目标结果。本公开提供的电子设备中,处理器在执行存储器中存储的计算机程序时可以确定对PRESENT算法中的轮密钥进行混淆的混淆密钥,以及确定调整轮密钥及混淆密钥的位置的调整向量,并且基于轮密钥、混淆密钥、调整向量及PRESENT算法的轮函数构造查找表,使得构造的查找表可以保护轮密钥的安全,此外,进一步通过调整向量来对混淆密钥和轮密钥进行隐藏,从而对混淆密钥与轮密钥进行混淆,以进一步保护轮密钥的安全,提高了PRESENT算法在不可信平台上运行时的密钥安全性。本公开提供的一种白盒运算方法、装置及计算机可读存储介质也解决了相应技术问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为根据一示例性实施例示出的一种白盒运算方法的流程示意图;
图2为本公开中应用查找表进行PRESENT运算的示意图;
图3为根据一示例性实施例示出的一种白盒运算装置的结构示意图;
图4为根据一示例性实施例示出的一种电子设备100的框图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
请参阅图1,图1为根据一示例性实施例示出的一种白盒运算方法的流程示意图。
本公开涉及的一种白盒运算方法,可以包括以下步骤:
步骤S101:获取密钥,并通过密钥扩展算法生成轮密钥。
可以理解的是,密钥及密钥扩展算法的具体方式均可以根据应用场景确定,本申请在此不做具体限定。
步骤S102:确定对PRESENT算法中的轮密钥进行混淆的混淆密钥以及调整轮密钥与混淆密钥的位置的调整向量。
可以理解的是,本公开中需要确定对PRESENT算法中的轮密钥进行混淆的混淆密钥以及调整轮密钥和掩码密钥的位置的调整向量,应当指出,从混淆密钥的解释可知,混淆密钥是用来混淆轮密钥的密钥,也即混淆密钥在运算过程中与轮密钥的地位相同,使得攻击方难以区分出真正的轮密钥。
步骤S103:基于轮密钥、混淆密钥、调整向量及PRESENT算法的轮函数构造查找表。
步骤S104:通过查找表对目标数据进行PRESENT运算,得到目标结果。
可以理解的是,目标数据也即本公开中通过PRESENT算法进行运算的数据,目标数据的类型可以根据应用场景来确定,比如在视频传输的应用场景中,目标数据便为视频数据,在游戏应用场景中,目标数据可以为游戏玩家的登录信息等。
可以理解的是,本公开中需要基于轮密钥、混淆密钥、调整向量及PRESENT算法的轮密钥构造查找表,由于查找表只能使得使用者获知其输入与输出结果,而无法获知具体的中间运算过程,所以基于轮密钥、混淆密钥、调整向量及PRESENT算法的轮函数构造查找表,并且通过查找表对目标数据进行PRESENT运算,得到目标结果的话,可以借助查找表对轮密钥进行保护。
本公开提供的一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行计算机程序以获取密钥,并通过密钥扩展算法生成轮密钥;确定对PRESENT算法中的轮密钥进行混淆的混淆密钥以及调整轮密钥与混淆密钥的位置的调整向量;基于轮密钥、混淆密钥、调整向量及PRESENT算法的轮函数构造查找表;通过查找表对目标数据进行PRESENT运算,得到目标结果。本公开提供的电子设备中,处理器在执行存储器中存储的计算机程序时可以确定对PRESENT算法中的轮密钥进行混淆的混淆密钥,以及确定调整轮密钥及混淆密钥的位置的调整向量,并且基于轮密钥、混淆密钥、调整向量及PRESENT算法的轮函数构造查找表,使得构造的查找表可以保护轮密钥的安全,此外,进一步通过调整向量来对混淆密钥和轮密钥进行隐藏,从而对混淆密钥与轮密钥进行混淆,以进一步保护轮密钥的安全,提高了PRESENT算法在不可信平台上运行时的密钥安全性。
本公开提供的一种白盒运算方法中,在基于轮密钥、混淆密钥、调整向量及PRESENT算法的轮函数构造查找表之前,还可以根据预设条件确定查找表的规模;预设条件包括预设存储性能条件、预设效率性能条件、预设安全性能条件。
本公开提供的一种白盒运算方法中,由于现有的PRESENT算法的运算过程分为31轮运算,且每轮轮运算的数据长度为64比特,所以本公开中,可以根据31轮轮运算的过程根据轮密钥、混淆密钥、调整向量及轮函数构造相应的查找表;在此过程中,可以对每一轮的轮密钥进行整体处理,也可以将每一轮的轮密钥拆分后再进行处理,比如将每一轮轮运算的数据及轮密钥均进行拆分,拆分为多段,并且确定对每一段轮密钥进行掩码保护的掩码密钥及调整向量,也即本公开中,每一轮的掩码密钥、调整向量可以有多个,每一轮轮运算的过程可以根据实际应用场景来确定,且拆分后的每段轮密钥的长度可以根据实际应用场景确定,比如每段轮密钥的长度可以为4比特、8比特、16比特等。比如在一种可能的实现方式中,在基于轮密钥、混淆密钥、调整向量及PRESENT算法的轮函数构造查找表时,可以基于轮密钥、混淆密钥、调整向量及PRESENT算法的轮函数构造31轮查找表;其中,第1轮查找表至第30轮查找表均包括两类查找表;第31轮查找表包括三类查找表;第1轮查找表中的第一类查找表包括16个4进128出的查找表;第2轮至第31轮查找表中的第一类查找表均包括16个8进128出的查找表;第1轮至第31轮查找表中的第二类查找表均包括480个8进4出的查找表;第31轮查找表中的第三类查找表包括16个8进4出的查找表。
在一种可能的实现方式中,在基于轮密钥、混淆密钥、调整向量及PRESENT算法的轮函数构造31轮查找表时,可以通过查找表构造公式,基于轮密钥、掩码密钥、调整向量及PRESENT算法的轮函数构造31轮查找表;
查找表构造公式包括:
Figure BDA0002650456700000081
Figure BDA0002650456700000082
Figure BDA0002650456700000083
Figure BDA0002650456700000084
Figure BDA0002650456700000085
Figure BDA0002650456700000086
Figure BDA0002650456700000087
Figure BDA0002650456700000088
其中,T1,i表示第1轮查找表中的第一类查找表;Kd=Kd,0||Kd,1||…||Kd,15;Kd表示PRESENT算法的第d轮的轮密钥,d=1,…,32;αd=αd,0||αd,1||…||αd,15,αd包括64比特的随机数;Fd,i=fd,i,0||…||fd,i,31,Fd,i包括由32个4比特随机置换f1,i,j构成的128比特置换;
Figure BDA0002650456700000089
Ad,i包括8阶随机可逆矩阵;ad,i包括128比特随机向量,且
Figure BDA00026504567000000810
Td包括16比特随机向量,且Td=(td,0,td,1,…,td,15),t1,i∈{0,1};
Figure BDA00026504567000000812
,Ed,i表示第d轮查找表中的第二类查找表,hd,i=hd,i,0||hd,i,1,且hd,i,0,hd,i,1均包括4比特随机置换;Bd,i包括8阶仿射变换;T32,i表示第31轮查找表中的第三类查找表;
Figure BDA00026504567000000811
表示异或运算;||表示连接符。
应当指出,P'表示由PRESENT算法的线性变换矩阵P扩展成的128阶的矩阵。
请参阅图2,图2为本公开中应用查找表进行PRESENT运算的示意图。在图2中,X表示目标数据的部分数据,Tn表示第n轮轮运算的第一类查找表,XOR_Table_n表示第n轮轮运算的第二类查找表,C_Table表示第31轮轮运算的第三类查找表。
结合图2可知,本公开提供的白盒运算方法中,通过查找表对目标数据进行PRESENT运算,得到目标结果时,可以将目标数据拆分为16个4比特的分组数据;按照第1轮查找表中的第一类查找表对分组数据进行处理,得到16个128比特的输出数据;按照第1轮查找表中的第二类查找表对第1轮得到的16个128比特的输出数据进行异或运算,得到1个128比特的输出数据;从第2轮开始至第31轮结束,按照当前轮查找表中的第一类查找表对当前轮的上一轮得到的1个128比特的输出数据进行处理,得到16个128比特的输出数据;按照当前轮查找表中的第二类查找表对当前轮得到的16个128比特的输出数据进行异或运算,得到1个128比特的输出数据;按照第31轮查找表中的第三类查找表对第31轮得到的1个128比特的输出数据进行运算,得到1个64比特的目标结果。
下面对本公开提供的白盒运算方法的安全性进行说明:本公开中,通过引入混淆密钥和调整向量来对轮密钥进行保护,也即在构造查找表的过程中,存在以下运算:
Figure BDA0002650456700000091
其中,Kr,i与αr,i难以区分,每个4比特密钥Kr,i被4比特随机数αr,i混淆,且由于随机值tr,i的作用,使得攻击者即使恢复出Kr,i与αr,i这两个值,也难以确定其中哪一个为正确的轮密钥Kr,i,在每一轮运算中,导致了216的密钥复杂度;并且在每轮轮运算所得结果的16个8比特值进入下一轮查找表时,舍去了4比特的信息,即
Figure BDA0002650456700000092
中,对于上一轮的查表所得8比特信息yr,i||y'r,i,在进入下一轮查找表时,实质上只使用了Xr,i此4比特信息,此使得每轮增加的216的密钥复杂度的效果是相互独立的,也即,攻击者以216的密钥复杂度猜中其中一轮的密钥的话,猜测其他轮的轮密钥时仍需216的密钥复杂度,极大的增强了安全性。
此外,本公开中的密钥复杂度可以根据实际需求进行调整,且该安全因子会随着引入的掩码密钥的个数的增长而呈指数增长,而想要的查找表所需的存储空间大小只是线性增长,以上述PRESENT白盒实现方案为例,将其中的编码解码均变换为4阶随机置换与8阶仿射变换的复和变换,则内部数据状态由64比特扩充为128比特与扩充为256比特时的相应信息如下表:
Figure BDA0002650456700000101
由该表可知,混淆密钥数目呈线性增长时,安全因子呈指数增长,而查找表所需的存储空间只是呈线性增长。
请参阅图3,图3为根据一示例性实施例示出的一种白盒运算装置的结构示意图。
本公开提供的一种白盒运算装置300,可以包括:
第一获取模块310,用于获取密钥,并通过密钥扩展算法生成轮密钥;
第一确定模块320,用于确定对PRESENT算法中的轮密钥进行混淆的混淆密钥以及调整轮密钥与掩码密钥的位置的调整向量;
第一构造模块330,用于基于轮密钥、混淆密钥、调整向量及PRESENT算法的轮函数构造查找表;
第一运算模块340,用于通过查找表对目标数据进行PRESENT运算,得到目标结果。
本公开提供的一种白盒运算装置300中,还可以包括:
第二确定模块,用于第一构造模块基于轮密钥、混淆密钥、调整向量及PRESENT算法的轮函数构造查找表之前,根据预设条件确定查找表的规模;预设条件包括预设存储性能条件、预设效率性能条件、预设安全性能条件。
本公开提供的一种白盒运算装置300中,第一构造模块可以包括:
第一构造子模块,用于基于轮密钥、混淆密钥、调整向量及PRESENT算法的轮函数构造31轮查找表;
其中,第1轮查找表至第30轮查找表均包括两类查找表;第31轮查找表包括三类查找表;第1轮查找表中的第一类查找表包括16个4进128出的查找表;第2轮至第31轮查找表中的第一类查找表均包括16个8进128出的查找表;第1轮至第31轮查找表中的第二类查找表均包括480个8进4出的查找表;第31轮查找表中的第三类查找表包括16个8进4出的查找表。
本公开提供的一种白盒运算装置300中,第一构造子模块可以包括:
第一构造单元,用于通过查找表构造公式,基于轮密钥、掩码密钥、调整向量及PRESENT算法的轮函数构造31轮查找表;
查找表构造公式包括:
Figure BDA0002650456700000111
Figure BDA0002650456700000112
Figure BDA0002650456700000113
Figure BDA0002650456700000114
Figure BDA0002650456700000115
Figure BDA0002650456700000116
Figure BDA0002650456700000117
Figure BDA0002650456700000118
其中,T1,i表示第1轮查找表中的第一类查找表;Kd=Kd,0||Kd,1||…||Kd,15;Kd表示PRESENT算法的第d轮的轮密钥,d=1,…,32;αd=αd,0||αd,1||…||αd,15,αd包括64比特的随机数;Fd,i=fd,i,0||…||fd,i,31,Fd,i包括由32个4比特随机置换f1,i,j构成的128比特置换;
Figure BDA0002650456700000119
Ad,i包括8阶随机可逆矩阵;ad,i包括128比特随机向量,且
Figure BDA00026504567000001110
Td包括16比特随机向量,且Td=(td,0,td,1,…,td,15),t1,i∈{0,1};
Figure BDA00026504567000001112
,Ed,i表示第d轮查找表中的第二类查找表,hd,i=hd,i,0||hd,i,1,且hd,i,0,hd,i,1均包括4比特随机置换;Bd,i包括8阶仿射变换;T32,i表示第31轮查找表中的第三类查找表;
Figure BDA00026504567000001111
表示异或运算;||表示连接符。
本公开提供的一种白盒运算装置300中,第一运算模块可以包括:
第一拆分单元,用于将目标数据拆分为16个4比特的分组数据;
第一处理单元,用于按照第1轮查找表中的第一类查找表对分组数据进行处理,得到16个128比特的输出数据;按照第1轮查找表中的第二类查找表对第1轮得到的16个128比特的输出数据进行异或运算,得到1个128比特的输出数据;
第二处理单元,用于从第2轮开始至第31轮结束,按照当前轮查找表中的第一类查找表对当前轮的上一轮得到的1个128比特的输出数据进行处理,得到16个128比特的输出数据;按照当前轮查找表中的第二类查找表对当前轮得到的16个128比特的输出数据进行异或运算,得到1个128比特的输出数据;
第三处理单元,用于按照第31轮查找表中的第三类查找表对第31轮得到的1个128比特的输出数据进行运算,得到1个64比特的目标结果。
图4为根据一示例性实施例示出的一种电子设备100的框图。如图4所示,该电子设备100可以包括:处理器101,存储器102。该电子设备100还可以包括多媒体组件103,输入/输出(I/O)接口104,以及通信组件105中的一者或多者。
其中,处理器101用于控制该电子设备100的整体操作,以完成本公开提供的白盒运算方法中的以下步骤:
密钥,并通过密钥扩展算法生成轮密钥;
确定对PRESENT算法中的轮密钥进行混淆的混淆密钥以及调整轮密钥与掩码密钥的位置的调整向量;
基于轮密钥、混淆密钥、调整向量及PRESENT算法的轮函数构造查找表;
通过查找表对目标数据进行PRESENT运算,得到目标结果。
存储器102用于存储各种类型的数据以支持在该电子设备100的操作,这些数据例如可以包括用于在该电子设备100上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器102可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(StaticRandom Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically ErasableProgrammable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(ErasableProgrammable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件103可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器102或通过通信组件105发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口104为处理器101和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件105用于该电子设备100与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件105可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,电子设备100可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的白盒运算方法。
本公开提供的电子设备中,处理器基于轮密钥、混淆密钥、调整向量及PRESENT算法的轮函数构造查找表之前,还可以根据预设条件确定查找表的规模;预设条件包括预设存储性能条件、预设效率性能条件、预设安全性能条件。
本公开提供的电子设备中,处理器基于轮密钥、混淆密钥、调整向量及PRESENT算法的轮函数构造查找表时,可以基于轮密钥、混淆密钥、调整向量及PRESENT算法的轮函数构造31轮查找表;
其中,第1轮查找表至第30轮查找表均包括两类查找表;第31轮查找表包括三类查找表;第1轮查找表中的第一类查找表包括16个4进128出的查找表;第2轮至第31轮查找表中的第一类查找表均包括16个8进128出的查找表;第1轮至第31轮查找表中的第二类查找表均包括480个8进4出的查找表;第31轮查找表中的第三类查找表包括16个8进4出的查找表。
本公开提供的电子设备中,处理器基于轮密钥、混淆密钥、调整向量及PRESENT算法的轮函数构造31轮查找表时,可以通过查找表构造公式,基于轮密钥、混淆密钥、调整向量及PRESENT算法的轮函数构造31轮查找表;
查找表构造公式包括:
Figure BDA0002650456700000141
Figure BDA0002650456700000142
Figure BDA0002650456700000143
Figure BDA0002650456700000144
Figure BDA0002650456700000145
Figure BDA0002650456700000146
Figure BDA0002650456700000147
Figure BDA0002650456700000148
其中,T1,i表示第1轮查找表中的第一类查找表;Kd=Kd,0||Kd,1||…||Kd,15;Kd表示PRESENT算法的第d轮的轮密钥,d=1,…,32;αd=αd,0||αd,1||…||αd,15,αd包括64比特的随机数;Fd,i=fd,i,0||…||fd,i,31,Fd,i包括由32个4比特随机置换f1,i,j构成的128比特置换;
Figure BDA0002650456700000149
Ad,i包括8阶随机可逆矩阵;ad,i包括128比特随机向量,且
Figure BDA00026504567000001410
Td包括16比特随机向量,且Td=(td,0,td,1,…,td,15),t1,i∈{0,1};
Figure BDA00026504567000001412
,Ed,i表示第d轮查找表中的第二类查找表,hd,i=hd,i,0||hd,i,1,且hd,i,0,hd,i,1均包括4比特随机置换;Bd,i包括8阶仿射变换;T32,i表示第31轮查找表中的第三类查找表;
Figure BDA00026504567000001411
表示异或运算;||表示连接符。
本公开提供的电子设备中,处理器通过查找表对目标数据进行PRESENT运算,得到目标结果时,可以将目标数据拆分为16个4比特的分组数据;按照第1轮查找表中的第一类查找表对分组数据进行处理,得到16个128比特的输出数据;按照第1轮查找表中的第二类查找表对第1轮得到的16个128比特的输出数据进行异或运算,得到1个128比特的输出数据;从第2轮开始至第31轮结束,按照当前轮查找表中的第一类查找表对当前轮的上一轮得到的1个128比特的输出数据进行处理,得到16个128比特的输出数据;按照当前轮查找表中的第二类查找表对当前轮得到的16个128比特的输出数据进行异或运算,得到1个128比特的输出数据;按照第31轮查找表中的第三类查找表对第31轮得到的1个128比特的输出数据进行运算,得到1个64比特的目标结果。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的白盒运算方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器102,上述程序指令可由电子设备100的处理器101执行以完成上述的白盒运算方法。
本公开所涉及的计算机可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本公开实施例提供的一种白盒运算装置、电子设备及计算机可读存储介质中相关部分的说明请参见本公开实施例提供的一种白盒运算方法中对应部分的详细说明,在此不再赘述。另外,本公开实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本公开。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以获取密钥,并通过密钥扩展算法生成轮密钥;确定对PRESENT算法中的轮密钥进行混淆的混淆密钥以及调整所述轮密钥与所述混淆密钥的位置的调整向量;基于所述轮密钥、所述混淆密钥、所述调整向量及所述PRESENT算法的轮函数构造查找表;通过所述查找表对目标数据进行PRESENT运算,得到目标结果。
2.根据权利要求1所述的电子设备,其特征在于,所述处理器基于所述轮密钥、所述混淆密钥、所述调整向量及所述PRESENT算法的轮函数构造查找表之前,还包括:
根据预设条件确定所述查找表的规模;所述预设条件包括预设存储性能条件、预设效率性能条件、预设安全性能条件。
3.根据权利要求2所述的电子设备,其特征在于,所述处理器基于所述轮密钥、所述混淆密钥、所述调整向量及所述PRESENT算法的轮函数构造查找表,包括:
基于所述轮密钥、所述混淆密钥、所述调整向量及所述PRESENT算法的轮函数构造31轮查找表;
其中,第1轮查找表至第30轮查找表均包括两类查找表;第31轮查找表包括三类查找表;第1轮查找表中的第一类查找表包括16个4进128出的查找表;第2轮至第31轮查找表中的第一类查找表均包括16个8进128出的查找表;第1轮至第31轮查找表中的第二类查找表均包括480个8进4出的查找表;第31轮查找表中的第三类查找表包括16个8进4出的查找表。
4.根据权利要求3所述的电子设备,其特征在于,所述处理器基于所述轮密钥、所述混淆密钥、所述调整向量及所述PRESENT算法的轮函数构造31轮查找表,包括:
通过查找表构造公式,基于所述轮密钥、所述混淆密钥、所述调整向量及所述PRESENT算法的轮函数构造31轮查找表;
所述查找表构造公式包括:
Figure FDA0002650456690000011
Figure FDA0002650456690000021
Figure FDA0002650456690000022
P′=(P′0P′1…P′15);
Figure FDA0002650456690000023
Figure FDA0002650456690000024
Figure FDA0002650456690000025
Figure FDA0002650456690000026
Figure FDA0002650456690000027
其中,T1,i表示第1轮查找表中的第一类查找表;Kd=Kd,0||Kd,1||…||Kd,15;Kd表示所述PRESENT算法的第d轮的轮密钥,d=1,…,32;αd=αd,0||αd,1||…||αd,15,αd包括64比特的随机数;Fd,i=fd,i,0||…||fd,i,31,Fd,i包括由32个4比特随机置换f1,i,j构成的128比特置换;
Figure FDA0002650456690000028
Ad,i包括8阶随机可逆矩阵;ad,i包括128比特随机向量,且
Figure FDA0002650456690000029
Td包括16比特随机向量,且Td=(td,0,td,1,…,td,15),t1,i∈{0,1};
Figure FDA00026504566900000210
Ed,i表示第d轮查找表中的第二类查找表,hd,i=hd,i,0||hd,i,1,且hd,i,0,hd,i,1均包括4比特随机置换;Bd,i包括8阶仿射变换;T32,i表示第31轮查找表中的第三类查找表;
Figure FDA00026504566900000211
表示异或运算;||表示连接符。
5.根据权利要求4所述的电子设备,其特征在于,所述处理器通过所述查找表对目标数据进行PRESENT运算,得到目标结果,包括:
将所述目标数据拆分为16个4比特的分组数据;
按照第1轮查找表中的第一类查找表对所述分组数据进行处理,得到16个128比特的输出数据;按照第1轮查找表中的第二类查找表对第1轮得到的16个128比特的输出数据进行异或运算,得到1个128比特的输出数据;
从第2轮开始至第31轮结束,按照当前轮查找表中的第一类查找表对当前轮的上一轮得到的1个128比特的输出数据进行处理,得到16个128比特的输出数据;按照当前轮查找表中的第二类查找表对当前轮得到的16个128比特的输出数据进行异或运算,得到1个128比特的输出数据;
按照第31轮查找表中的第三类查找表对第31轮得到的1个128比特的输出数据进行运算,得到1个64比特的所述目标结果。
6.一种白盒运算方法,其特征在于,包括:
获取密钥,并通过密钥扩展算法生成轮密钥;
确定对PRESENT算法中的轮密钥进行混淆的混淆密钥以及调整所述轮密钥与所述掩码密钥的位置的调整向量;
基于所述轮密钥、所述混淆密钥、所述调整向量及所述PRESENT算法的轮函数构造查找表;
通过所述查找表对目标数据进行PRESENT运算,得到目标结果。
7.根据权利要求6所述的方法,其特征在于,所述基于所述轮密钥、所述混淆密钥、所述调整向量及所述PRESENT算法的轮函数构造查找表之前,还包括:
根据预设条件确定所述查找表的规模;所述预设条件包括预设存储性能条件、预设效率性能条件、预设安全性能条件。
8.根据权利要求7所述的方法,其特征在于,所述基于所述轮密钥、所述混淆密钥、所述调整向量及所述PRESENT算法的轮函数构造查找表,包括:
基于所述轮密钥、所述混淆密钥、所述调整向量及所述PRESENT算法的轮函数构造31轮查找表;
其中,第1轮查找表至第30轮查找表均包括两类查找表;第31轮查找表包括三类查找表;第1轮查找表中的第一类查找表包括16个4进128出的查找表;第2轮至第31轮查找表中的第一类查找表均包括16个8进128出的查找表;第1轮至第31轮查找表中的第二类查找表均包括480个8进4出的查找表;第31轮查找表中的第三类查找表包括16个8进4出的查找表。
9.一种白盒运算装置,其特征在于,包括:
第一获取模块,用于获取密钥,并通过密钥扩展算法生成轮密钥;
第一确定模块,用于确定对PRESENT算法中的轮密钥进行混淆的混淆密钥以及调整所述轮密钥与所述掩码密钥的位置的调整向量;
第一构造模块,用于基于所述轮密钥、所述混淆密钥、所述调整向量及所述PRESENT算法的轮函数构造查找表;
第一运算模块,用于通过所述查找表对目标数据进行PRESENT运算,得到目标结果。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求6至8任一项所述白盒运算方法的步骤。
CN202010868487.0A 2020-08-26 2020-08-26 一种白盒运算方法、装置、电子设备及计算机存储介质 Active CN112003687B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010868487.0A CN112003687B (zh) 2020-08-26 2020-08-26 一种白盒运算方法、装置、电子设备及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010868487.0A CN112003687B (zh) 2020-08-26 2020-08-26 一种白盒运算方法、装置、电子设备及计算机存储介质

Publications (2)

Publication Number Publication Date
CN112003687A true CN112003687A (zh) 2020-11-27
CN112003687B CN112003687B (zh) 2023-04-07

Family

ID=73470953

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010868487.0A Active CN112003687B (zh) 2020-08-26 2020-08-26 一种白盒运算方法、装置、电子设备及计算机存储介质

Country Status (1)

Country Link
CN (1) CN112003687B (zh)

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681025A (zh) * 2016-01-29 2016-06-15 中国科学院信息工程研究所 一种国家密码标准算法sm4的安全白盒实现方法和装置
CN107111966A (zh) * 2014-11-10 2017-08-29 德国捷德有限公司 用于测试并且加固软件应用的方法
CN107623568A (zh) * 2016-07-15 2018-01-23 青岛博文广成信息安全技术有限公司 基于依赖密钥的s盒的sm4白盒算法
CN108270550A (zh) * 2018-01-10 2018-07-10 成都卫士通信息产业股份有限公司 一种基于sm4算法的安全高效的白盒实现方法及装置
CN108494546A (zh) * 2018-02-13 2018-09-04 北京梆梆安全科技有限公司 一种白盒加密方法、装置及存储介质
CN108809626A (zh) * 2018-05-30 2018-11-13 北京安如山文化科技有限公司 一种白盒sm4密码算法方案与系统
WO2019025181A1 (en) * 2017-08-02 2019-02-07 Gemalto Sa METHOD FOR SECURING SOFTWARE CODE PROVIDING ACCESS TO CONSULTATION TABLES
CN109743156A (zh) * 2018-12-28 2019-05-10 北京思源互联科技有限公司 一种分组加解密方法和装置
EP3484095A1 (en) * 2017-11-10 2019-05-15 Nagravision S.A. Computer-implemented cryptographic method and device for implementing this method
CN110278072A (zh) * 2019-07-11 2019-09-24 北京电子科技学院 一种16轮sm4-128/128白盒密码实现方法
CN110505054A (zh) * 2019-03-28 2019-11-26 杭州海康威视数字技术股份有限公司 一种基于动态白盒的数据处理方法、装置及设备
CN110784306A (zh) * 2019-11-01 2020-02-11 成都卫士通信息产业股份有限公司 Sm4算法白盒实现方法、装置、电子设备及计算机介质
CN110971409A (zh) * 2019-12-03 2020-04-07 成都卫士通信息产业股份有限公司 椭圆曲线上倍点运算的白盒实现方法、装置、设备及介质
CN111555862A (zh) * 2020-05-13 2020-08-18 华南师范大学 基于掩码保护的随机冗余轮函数的白盒aes实现方法

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107111966A (zh) * 2014-11-10 2017-08-29 德国捷德有限公司 用于测试并且加固软件应用的方法
CN105681025A (zh) * 2016-01-29 2016-06-15 中国科学院信息工程研究所 一种国家密码标准算法sm4的安全白盒实现方法和装置
CN107623568A (zh) * 2016-07-15 2018-01-23 青岛博文广成信息安全技术有限公司 基于依赖密钥的s盒的sm4白盒算法
WO2019025181A1 (en) * 2017-08-02 2019-02-07 Gemalto Sa METHOD FOR SECURING SOFTWARE CODE PROVIDING ACCESS TO CONSULTATION TABLES
EP3484095A1 (en) * 2017-11-10 2019-05-15 Nagravision S.A. Computer-implemented cryptographic method and device for implementing this method
CN108270550A (zh) * 2018-01-10 2018-07-10 成都卫士通信息产业股份有限公司 一种基于sm4算法的安全高效的白盒实现方法及装置
CN108494546A (zh) * 2018-02-13 2018-09-04 北京梆梆安全科技有限公司 一种白盒加密方法、装置及存储介质
CN108809626A (zh) * 2018-05-30 2018-11-13 北京安如山文化科技有限公司 一种白盒sm4密码算法方案与系统
CN109743156A (zh) * 2018-12-28 2019-05-10 北京思源互联科技有限公司 一种分组加解密方法和装置
CN110505054A (zh) * 2019-03-28 2019-11-26 杭州海康威视数字技术股份有限公司 一种基于动态白盒的数据处理方法、装置及设备
CN110278072A (zh) * 2019-07-11 2019-09-24 北京电子科技学院 一种16轮sm4-128/128白盒密码实现方法
CN110784306A (zh) * 2019-11-01 2020-02-11 成都卫士通信息产业股份有限公司 Sm4算法白盒实现方法、装置、电子设备及计算机介质
CN110971409A (zh) * 2019-12-03 2020-04-07 成都卫士通信息产业股份有限公司 椭圆曲线上倍点运算的白盒实现方法、装置、设备及介质
CN111555862A (zh) * 2020-05-13 2020-08-18 华南师范大学 基于掩码保护的随机冗余轮函数的白盒aes实现方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
P. PAILLIER AND I. VERBAUWHEDE: "PRESENT: An Ultra-Lightweight Block Cipher", 《《CRYPTOGRAPHIC HARDWARE AND EMBEDDED SYSTEMS - CHES 2007》》 *
SEUNGKWANG LEE,TAESUNG KIM, AND YOUSUNG KANG: "A Masked White-Box Cryptographic Implementation for Protecting Against Differential Computation Analysis", 《 IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY 》 *
姚思等: "SM4算法的一种新型白盒实现", 《密码学报》 *
孙涛等: "一种NoisyRounds保护的白盒AES实现及其差分故障分析", 《密码学报》 *
赵新杰等: "EPCBC密码旁路立方体攻击", 《成都信息工程学院学报》 *
邓绍江,李艳涛,张岱固,肖迪: "基于混沌查找表的单向Hash函数构造算法", 《计算机工程》 *

Also Published As

Publication number Publication date
CN112003687B (zh) 2023-04-07

Similar Documents

Publication Publication Date Title
CN106888080B (zh) 保护白盒feistel网络实施方案以防错误攻击
US20170126397A1 (en) Protecting a white-box implementation against attacks
EP2924677B1 (en) Splitting s-boxes in a white-box implementation to resist attacks
US9602273B2 (en) Implementing key scheduling for white-box DES implementation
WO2019114122A1 (zh) 登录信息的加密方法、装置、电子设备及介质
CN110784306B (zh) Sm4算法白盒实现方法、装置、电子设备及计算机介质
US9819486B2 (en) S-box in cryptographic implementation
CN112287377A (zh) 基于联邦学习的模型训练方法、计算机设备及存储介质
US10700849B2 (en) Balanced encoding of intermediate values within a white-box implementation
Praveenkumar et al. Fusion of confusion and diffusion: a novel image encryption approach
US9576116B2 (en) Secure software components anti-reverse-engineering by table interleaving
US8699702B2 (en) Securing cryptographic process keys using internal structures
EP2922235B1 (en) Security module for secure function execution on untrusted platform
KR20090041408A (ko) 암호 장치, 기록 매체, 및 방법
CN107273724B (zh) 为白盒实施方案的输入和输出加水印
CN113098675B (zh) 基于多项式完全同态的二进制数据加密系统及方法
CN105359450A (zh) 防篡改密码算法实现
KR20170097509A (ko) 화이트 박스 암호화 기반의 연산 방법 및 그 방법을 수행하는 보안 단말
JP2017187724A (ja) 暗号化装置、暗号化方法、復号化装置、及び復号化方法
CN105721134B (zh) 使用带有多个外部编码的单个白盒实现
CN111901097B (zh) 一种白盒实现方法、装置、电子设备及计算机存储介质
CN107592963B (zh) 用于执行安全计算的方法和计算设备
CN112003687B (zh) 一种白盒运算方法、装置、电子设备及计算机存储介质
CN110990896A (zh) 基于sm2白盒的数字签名装置、方法、存储介质及设备
CN112019327B (zh) 一种白盒实现方法、装置、电子设备及计算机存储介质

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
CP01 Change in the name or title of a patent holder

Address after: No. 333, Yunhua Road, high tech Zone, Chengdu, Sichuan 610041

Patentee after: China Electronics Technology Network Security Technology Co.,Ltd.

Address before: No. 333, Yunhua Road, high tech Zone, Chengdu, Sichuan 610041

Patentee before: CHENGDU WESTONE INFORMATION INDUSTRY Inc.

CP01 Change in the name or title of a patent holder