CN110505054A - 一种基于动态白盒的数据处理方法、装置及设备 - Google Patents

一种基于动态白盒的数据处理方法、装置及设备 Download PDF

Info

Publication number
CN110505054A
CN110505054A CN201910245733.4A CN201910245733A CN110505054A CN 110505054 A CN110505054 A CN 110505054A CN 201910245733 A CN201910245733 A CN 201910245733A CN 110505054 A CN110505054 A CN 110505054A
Authority
CN
China
Prior art keywords
data
class
key
relationship
mapping
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
CN201910245733.4A
Other languages
English (en)
Other versions
CN110505054B (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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201910245733.4A priority Critical patent/CN110505054B/zh
Publication of CN110505054A publication Critical patent/CN110505054A/zh
Priority to US17/437,220 priority patent/US20220173898A1/en
Priority to PCT/CN2020/077478 priority patent/WO2020192366A1/zh
Application granted granted Critical
Publication of CN110505054B publication Critical patent/CN110505054B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/043Masking or blinding of tables, e.g. lookup, substitution or mapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction

Landscapes

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

Abstract

本发明实施例提供了一种基于动态白盒的数据处理方法、装置及设备,方法包括:利用预先生成的密钥混淆映射关系集合,对原始密钥进行混淆处理得到冗余密钥,将该冗余密钥及待处理数据输入至白盒算法库进行加解密处理;可见,本方案中,可以将不同的冗余密钥输入至白盒算法库中,也就是不需要将白盒算法库和密钥一起变更,提高了方案的灵活性。

Description

一种基于动态白盒的数据处理方法、装置及设备
技术领域
本发明涉及信息安全技术领域,特别是涉及一种基于动态白盒的数据处理方法、装置及设备。
背景技术
白盒密码技术是一项能够抵抗白盒攻击的密码技术。白盒攻击是指攻击者对设备终端拥有完全的控制能力,能够观测和更改程序运行时的内部数据。在白盒密码技术中,目前大多采用的是一库一密的方案,也就是将一个固定的密钥封装在一个白盒算法库中。如果需要变更密钥,则只能将白盒算法库和密钥一起变更。这样,方案的灵活性较差。
发明内容
本发明实施例的目的在于提供一种基于动态白盒的数据处理方法、装置及设备,以提高方案的灵活性。
为达到上述目的,本发明实施例提供了一种基于动态白盒的数据处理方法,包括:
获取待处理数据及冗余密钥;其中,所述待处理数据为待加密的数据或者待解密的数据;所述冗余密钥为:利用预先生成的密钥混淆映射关系集合,对原始密钥进行映射得到的;
将所述待处理数据及所述冗余密钥输入至白盒算法库中,利用所述白盒算法库中的编码映射关系集合,对所述待处理数据进行映射,得到目标编码数据;
利用所述白盒算法库中的变换映射关系集合,对所述编码数据和所述冗余密钥进行映射,得到处理后的数据;其中,若所述待处理数据为待加密的数据,则处理后的数据为加密后的数据,若所述待处理数据为待解密的数据,则处理后的数据为解密后的数据。
可选的,所述密钥混淆映射关系集合包括至少一份密钥混淆映射关系;生成所述密钥混淆映射关系的过程包括:
针对所获取的每个第一类密钥,将该第一类密钥分为第一部分密钥和第二部分密钥;调用密码混淆算法,对所述第一部分密钥进行混淆处理,得到第一变换数据,对所述第二部分密钥进行混淆处理,得到第二变换数据;将所述第一变换数据和所述第二变换数据进行拼接,得到第二类密钥;生成该第一类密钥与所述第二类密钥之间的映射关系,作为所述密钥混淆映射关系。
可选的,所述编码映射关系集合包括至少一份编码映射关系,所述变换映射关系集合包括至少一份变换映射关系;在将所述待处理数据及所述冗余密钥输入至白盒算法库之前,所述方法还包括:
针对所获取的每份第一类数据,利用编码映射算法,对该份第一类数据进行编码,得到编码数据;生成该份第一类数据与所述编码数据之间的映射关系,作为编码映射关系;
针对所获取的每份第二类数据及每个第二类密钥,利用加解密变换算法,对该份第二类数据及该第二类密钥进行变换,得到变换后的数据;生成该份第二类数据及该第二类密钥与所述变换后的数据之间的映射关系,作为变换映射关系;
得到包括所述编码映射关系集合和所述变换映射关系集合的白盒算法库。
可选的,所述利用编码映射算法,对该份第一类数据进行编码,得到编码数据,包括:
将该份第一类数据分为第一部分数据和第二部分数据;
利用编码映射算法,对所述第一部分数据进行编码,得到第一编码数据,对所述第二部分数据进行编码,得到第二编码数据;
将所述第一编码数据和所述第二编码数据进行拼接,得到该份第一类数据的编码数据。
可选的,所述利用加解密变换算法,对该份第二类数据及该第二类密钥进行变换,得到变换后的数据;生成该份第二类数据及该第二类密钥与所述变换后的数据之间的映射关系,作为变换映射关系,包括:
对该份第二类数据进行逆编码,得到逆编码数据;对该第二类密钥进行逆混淆处理,得到逆混淆密钥;对所述逆编码数据和所述逆混淆密钥进行行变换的逆变换,得到第一类变换后的数据;生成该份第二类数据及该第二类密钥与所述第一类变换后的数据之间的映射关系,作为第一类变换映射关系;
对该份第二类数据进行行变换,得到行变换数据;对所述行变换数据进行第一类S盒变换,得到第一类S盒变换数据;对所述第一类S盒变换数据进行列变换,得到第二类变换后的数据;生成该份第二类数据与所述第二类变换后的数据之间的映射关系,作为第二类变换映射关系;
对该份第二类数据进行第二类S盒变换,得到第二类S盒变换数据;生成该份第二类数据与所述第二类S盒变换数据之间的映射关系,作为第三类变换映射关系;
对该份第二类数据及该第二类密钥进行密钥变换,得到第三类变换后的数据;生成该份第二类数据及该第二类密钥与所述第三类变换后的数据之间的映射关系,作为第四类变换映射关系。
可选的,所述变换映射关系集合包括第一类变换映射关系集合、第二类变换映射关系集合、第三类变换映射关系集合和第四类变换映射关系集合,其中,所述第一类变换映射关系集合中包括至少一份第一类变换映射关系,所述第二类变换映射关系集合中包括至少一份第二类变换映射关系,所述第三类变换映射关系集合中包括至少一份第三类变换映射关系,所述第四类变换映射关系集合中包括至少一份第四类变换映射关系;
所述利用所述白盒算法库中的变换映射关系集合,对所述编码数据和所述冗余密钥进行映射,得到处理后的数据,包括:
利用所述第一类变换映射关系集合,对所述编码数据和所述冗余密钥进行映射,得到第一类映射数据;
利用所述第二类变换映射关系集合,对所述第一类映射数据进行映射,得到第二类映射数据;
利用所述第三类变换映射关系集合,对所述第二类映射数据进行映射,得到第三类映射数据;
利用所述第四类变换映射关系集合,对所述第三类映射数据进行映射,得到所述处理后的数据。
可选的,所述利用所述第二类变换映射关系集合,对所述第一类映射数据进行映射,得到第二类映射数据,包括:
利用所述第二类变换映射关系集合,对所述第一类映射数据进行映射,得到中间数据;
判断是否达到预设循环次数;
如果未达到,将所述第二类映射数据返回至所述利用所述第一类变换映射关系集合,对所述编码数据和所述冗余密钥进行映射,得到第一类映射数据的步骤,直至达到预设循环次数;
如果达到预设次数,则将得到的中间数据确定为第二类映射数据。
可选的,所述利用加解密变换算法,对该份第二类数据及该第二类密钥进行变换,得到变换后的数据,包括:
利用加解密变换算法,对该份第二类数据及该第二类密钥进行以下任意一种或多种变换:行变换、S盒变换、列变换,得到变换后的数据。
为达到上述目的,本发明实施例还提供了一种基于动态白盒的数据处理装置,包括:
获取模块,用于获取待处理数据及冗余密钥;其中,所述待处理数据为待加密的数据或者待解密的数据;所述冗余密钥为:利用预先生成的密钥混淆映射关系集合,对原始密钥进行映射得到的;
输入模块,用于将所述待处理数据及所述冗余密钥输入至白盒算法库中;
第一映射模块,用于利用所述白盒算法库中的编码映射关系集合,对所述待处理数据进行映射,得到目标编码数据;
第二映射模块,用于利用所述白盒算法库中的变换映射关系集合,对所述编码数据和所述冗余密钥进行映射,得到处理后的数据;其中,若所述待处理数据为待加密的数据,则处理后的数据为加密后的数据,若所述待处理数据为待解密的数据,则处理后的数据为解密后的数据。
可选的,所述密钥混淆映射关系集合包括至少一份密钥混淆映射关系;所述装置还包括:
第一生成模块,用于针对所获取的每个第一类密钥,将该第一类密钥分为第一部分密钥和第二部分密钥;调用密码混淆算法,对所述第一部分密钥进行混淆处理,得到第一变换数据,对所述第二部分密钥进行混淆处理,得到第二变换数据;将所述第一变换数据和所述第二变换数据进行拼接,得到第二类密钥;生成该第一类密钥与所述第二类密钥之间的映射关系,作为所述密钥混淆映射关系。
可选的,所述编码映射关系集合包括至少一份编码映射关系,所述变换映射关系集合包括至少一份变换映射关系;所述装置还包括:
第二生成模块,用于针对所获取的每份第一类数据,利用编码映射算法,对该份第一类数据进行编码,得到编码数据;生成该份第一类数据与所述编码数据之间的映射关系,作为编码映射关系;
第三生成模块,用于针对所获取的每份第二类数据及每个第二类密钥,利用加解密变换算法,对该份第二类数据及该第二类密钥进行变换,得到变换后的数据;生成该份第二类数据及该第二类密钥与所述变换后的数据之间的映射关系,作为变换映射关系;得到包括所述编码映射关系集合和所述变换映射关系集合的白盒算法库。
可选的,所述第二生成模块,还用于:
将该份第一类数据分为第一部分数据和第二部分数据;
利用编码映射算法,对所述第一部分数据进行编码,得到第一编码数据,对所述第二部分数据进行编码,得到第二编码数据;
将所述第一编码数据和所述第二编码数据进行拼接,得到该份第一类数据的编码数据。
可选的,所述第三生成模块,还用于:
对该份第二类数据进行逆编码,得到逆编码数据;对该第二类密钥进行逆混淆处理,得到逆混淆密钥;对所述逆编码数据和所述逆混淆密钥进行行变换的逆变换,得到第一类变换后的数据;生成该份第二类数据及该第二类密钥与所述第一类变换后的数据之间的映射关系,作为第一类变换映射关系;
对该份第二类数据进行行变换,得到行变换数据;对所述行变换数据进行第一类S盒变换,得到第一类S盒变换数据;对所述第一类S盒变换数据进行列变换,得到第二类变换后的数据;生成该份第二类数据与所述第二类变换后的数据之间的映射关系,作为第二类变换映射关系;
对该份第二类数据进行第二类S盒变换,得到第二类S盒变换数据;生成该份第二类数据与所述第二类S盒变换数据之间的映射关系,作为第三类变换映射关系;
对该份第二类数据及该第二类密钥进行密钥变换,得到第三类变换后的数据;生成该份第二类数据及该第二类密钥与所述第三类变换后的数据之间的映射关系,作为第四类变换映射关系。
可选的,所述变换映射关系集合包括第一类变换映射关系集合、第二类变换映射关系集合、第三类变换映射关系集合和第四类变换映射关系集合,其中,所述第一类变换映射关系集合中包括至少一份第一类变换映射关系,所述第二类变换映射关系集合中包括至少一份第二类变换映射关系,所述第三类变换映射关系集合中包括至少一份第三类变换映射关系,所述第四类变换映射关系集合中包括至少一份第四类变换映射关系;所述第二映射模块,具体用于:
利用所述第一类变换映射关系集合,对所述编码数据和所述冗余密钥进行映射,得到第一类映射数据;
利用所述第二类变换映射关系集合,对所述第一类映射数据进行映射,得到第二类映射数据;
利用所述第三类变换映射关系集合,对所述第二类映射数据进行映射,得到第三类映射数据;
利用所述第四类变换映射关系集合,对所述第三类映射数据进行映射,得到所述处理后的数据。
可选的,所述第二映射模块,还用于:
利用所述第二类变换映射关系集合,对所述第一类映射数据进行映射,得到中间数据;
判断是否达到预设循环次数;
如果未达到,将所述第二类映射数据返回至所述利用所述第一类变换映射关系集合,对所述编码数据和所述冗余密钥进行映射,得到第一类映射数据的步骤,直至达到预设循环次数;
如果达到预设次数,则将得到的中间数据确定为第二类映射数据。
可选的,所述第三生成模块,还用于:
利用加解密变换算法,对该份第二类数据及该第二类密钥进行以下任意一种或多种变换:行变换、S盒变换、列变换,得到变换后的数据。
为达到上述目的,本发明实施例还提供了一种电子设备,包括处理器和存储器;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一种基于动态白盒的数据处理方法。
为达到上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种基于动态白盒的数据处理方法。
应用本发明实施例,利用预先生成的密钥混淆映射关系集合,对原始密钥进行混淆处理得到冗余密钥,将该冗余密钥及待处理数据输入至白盒算法库进行加解密处理;可见,本方案中,可以将不同的冗余密钥输入至白盒算法库中,也就是不需要将白盒算法库和密钥一起变更,提高了方案的灵活性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于动态白盒的数据处理方法的流程示意图;
图2为本发明实施例提供的一种查表流程示意图;
图3为本发明实施例提供的另一种查表流程示意图;
图4为本发明实施例提供的一种基于动态白盒的数据处理装置的结构示意图;
图5为本发明实施例提供的一种电子设备的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决上述技术问题,本发明实施例提供了一种基于照片的内容生成方法、装置、设备及系统,该方法及装置可以应用于手机、平板电脑、台式电脑等各种电子设备,具体不做限定。下面首先对本发明实施例提供的基于照片的内容生成方法进行详细介绍。
图1为本发明实施例提供的一种基于动态白盒的数据处理方法的流程示意图,包括:
S101:获取待处理数据及冗余密钥。
其中,所述待处理数据为待加密的数据或者待解密的数据;所述冗余密钥为:利用预先生成的密钥混淆映射关系集合,对原始密钥进行映射得到的。
应用本发明所示实施例,可以对数据进行加密处理,也可以对数据进行解密处理,加密处理与解密处理的流程相似,为了方便描述,将需要加密的数据或者需要解密的数据统称为待处理数据。
本发明实施例中,可以预先得到原始密钥,该原始密钥可以为用户设置的真实密钥,或者也可以为基于用户设置的真实密钥进行变换得到的;然后利用预先生成的密钥混淆映射关系集合,对原始密钥进行映射得到冗余密钥。
本发明实施例可以应用于白盒密码技术中,由于白盒密码技术中攻击者可以观测到内部数据,本发明实施例对数据进行加解密时,并不执行具体的数据运算过程,而是预先获取样本数据,对这些样本数据执行数据运算过程,生成运算结果与样本数据的映射关系集合;后续对数据进行加解密时,利用该映射关系集合对数据进行映射得到运算结果,也就相当于对数据进行运算处理。而对于攻击者来说,其并不能观测到具体的数据运算过程,而只能观测到映射过程,这样,提高了方案的安全性。
举例来说,本发明实施实施例中的映射关系集合可以为表格的形式,这样,对于攻击者来说,其只能观测到查表的过程。比如,该预先生成的密钥混淆映射关系集合可以为一张映射表格,该表格中存储了原始密钥与冗余密钥之间的映射关系。
一种实施方式中,生成所述密钥混淆映射关系集合的过程可以包括:获取样本数据,该样本数据与原始密钥的格式类似,对该样本数据进行混淆处理,得到混淆数据,生成样本数据与混淆数据的映射关系集合。该样本数据可以理解为原始密钥,混淆数据可以理解为冗余密钥,因此,利用该映射关系集合可以将原始密钥映射得到冗余密钥。
密钥混淆映射关系集合包括至少一份密钥混淆映射关系,生成每份密钥混淆映射关系的方式类似,在另一种实施方式中,可以按照下述过程生成密钥混淆映射关系:
针对所获取的每个第一类密钥,将该第一类密钥分为第一部分密钥和第二部分密钥;调用密码混淆算法,对所述第一部分密钥进行混淆处理,得到第一变换数据,对所述第二部分密钥进行混淆处理,得到第二变换数据;将所述第一变换数据和所述第二变换数据进行拼接,得到第二类密钥;生成该第一类密钥与第二类密钥之间的映射关系,作为所述密钥混淆映射关系。
本实施方式中,为了方便描述,将获取的样本数据称为第一类密钥,将对第一类密钥进行混淆处理后得到的数据称为第二类密钥。
本实施方式中,将第一类密钥分为两部分分别进行处理,这样可以提高计算效率,而且调用密码混淆算法,对数据量较小的部分密钥(第一部分密钥和第二部分密钥)进行处理,降低了计算量。
假设第一类密钥为一串字符串,一种情况下,第一部分密钥可以为该字符串的左部分,第二部分密钥可以为该字符串的右部分;或者,另一种情况下,第一部分密钥可以包括字符串的奇数位的字符(第1、3、5……位的字符),这些奇数位的字符顺序排列,第二部分密钥可以包括字符串的偶数位的字符(第2、4、6……位的字符),这些偶数位的字符顺序排列;或者,再一种情况下,可以按照其他划分规则将第一类密钥划分为两部分,具体划分规则不做限定。
举例来说,调用密码混淆算法进行混淆处理,可以采用线性或非线性混淆运算,比如,乘法运算、置换运算,等等,具体不做限定。
S102:将待处理数据及冗余密钥输入至白盒算法库中,利用白盒算法库中的编码映射关系集合,对待处理数据进行映射,得到目标编码数据。
如上所述,本发明实施例对数据进行加解密时,并不执行具体的数据运算过程,而是利用预先生成的映射关系集合,对数据进行映射得到运算结果,也就相当于对数据进行运算处理。本发明实施例中的白盒算法库中存储了预先生成的多种映射关系集合,比如S102中所说的编码映射关系集合。
举例来说,编码映射关系集合包括至少一份编码映射关系,生成该编码映射关系的过程可以包括:针对所获取的每份第一类数据,利用编码映射算法,对该份第一类数据进行编码,得到编码数据;生成该份第一类数据与编码数据之间的映射关系,作为编码映射关系。
该第一类数据也可以理解为上述样本数据,本发明实施例中,生成各种映射关系集合采用的样本数据可以相同,也可以不同。
由于编码映射关系集合中包括样本数据(第一类数据)与编码数据之间的映射关系,利用该编码映射关系集合对S101中的待处理数据进行映射,可以得到待处理数据对应的编码数据,为了方便描述,将映射得到的编码数据称为目标编码数据。
一种实施方式中,利用编码映射算法,对该份第一类数据进行编码,得到编码数据,可以包括:将该份第一类数据分为第一部分数据和第二部分数据;利用编码映射算法,对所述第一部分数据进行编码,得到第一编码数据,对所述第二部分数据进行编码,得到第二编码数据;将所述第一编码数据和所述第二编码数据进行拼接,得到该份第一类数据的编码数据。
本实施方式中,将第一类数据分为两部分分别进行处理,这样可以提高计算效率,而且利用编码映射算法,对数据量较小的部分数据(第一部分数据和第二部分数据)进行处理,降低了计算量。
假设第一类数据为一串字符串,一种情况下,第一部分数据可以为该字符串的左部分,第二部分数据可以为该字符串的右部分;或者,另一种情况下,第一部分数据可以包括字符串的奇数位的字符(第1、3、5……位的字符),这些奇数位的字符顺序排列,第二部分数据可以包括字符串的偶数位的字符(第2、4、6……位的字符),这些偶数位的字符顺序排列;或者,再一种情况下,可以按照其他划分规则将第一类数据划分为两部分,具体划分规则不做限定。
举例来说,利用编码映射算法进行编码,可以采用线性或非线性编码运算,比如,乘法运算、置换运算,等等,具体不做限定。
一种情况下,该编码映射关系集合可以为表格的形式,比如为输入编码表格。这种情况下,S102可以理解为在输入编码表格中进行查找的过程,为了方便描述,将在该表格中查找到的编码数据称为目标编码数据。
S103:利用白盒算法库中的变换映射关系集合,对编码数据和冗余密钥进行映射,得到处理后的数据。
其中,若所述待处理数据为待加密的数据,则处理后的数据为加密后的数据,若所述待处理数据为待解密的数据,则处理后的数据为解密后的数据。
如上所述,本发明实施例中的白盒算法库中存储了预先生成的多种映射关系集合,该映射关系集合包括S103中所说的变换映射关系集合。生成白盒算法库的过程可以理解为生成该编码映射关系集合及变换映射关系集合的过程。
变换映射关系集合包括至少一份变换映射关系;举例来说,生成该变换映射关系的过程可以包括:针对所获取的每份第二类数据及每个第二类密钥,利用加解密变换算法,对该份第二类数据及该第二类密钥进行变换,得到变换后的数据;生成该份第二类数据及该第二类密钥与变换后的数据之间的映射关系,作为变换映射关系。
一种情况下,也可以将第二类数据及第二类密钥分为两部分分别进行处理,这样可以提高计算效率,并且降低计算量。参考上述内容(将第一类数据及第一类密钥分为两部分分别进行处理),将第二类数据及第二类密钥分为两部分可以采用多种方式,比如左右两部分、奇数位部分和偶数位两部分等等,这里不再赘述。
一种情况下,利用加解密变换算法,对该份第二类数据及该第二类密钥进行变换,得到变换后的数据,可以包括:利用加解密变换算法,对该份第二类数据及该第二类密钥进行以下任意一种或多种变换:行变换、S盒变换、列变换,得到变换后的数据。
作为一种实施方式,该变换映射关系中可以包括多种映射关系,比如,可以包括四类变换映射关系,下面以一份第二类数据和第二类密钥为例进行说明,介绍生成四类变换映射关系的过程:
对该份第二类数据进行逆编码,得到逆编码数据;对该第二类密钥进行逆混淆处理,得到逆混淆密钥;对所述逆编码数据和所述逆混淆密钥进行行变换的逆变换,得到第一类变换后的数据;生成该份第二类数据及该第二类密钥与第一类变换后的数据之间的映射关系,作为第一类变换映射关系;
对该份第二类数据进行行变换,得到行变换数据;对所述行变换数据进行第一类S盒变换,得到第一类S盒变换数据;对所述第一类S盒变换数据进行列变换,得到第二类变换后的数据;生成该份第二类数据与第二类变换后的数据之间的映射关系,作为第二类变换映射关系;
对该份第二类数据进行第二类S盒变换,得到第二类S盒变换数据;生成该份第二类数据与第二类S盒变换数据之间的映射关系,作为第三类变换映射关系;
对该份第二类数据及该第二类密钥进行密钥变换,得到第三类变换后的数据;生成该份第二类数据及该第二类密钥与第三类变换后的数据之间的映射关系,作为第四类变换映射关系。
本实施方式中,变换映射关系集合包括第一类变换映射关系集合、第二类变换映射关系集合、第三类变换映射关系集合和第四类变换映射关系集合,其中,所述第一类变换映射关系集合中包括至少一份第一类变换映射关系,所述第二类变换映射关系集合中包括至少一份第二类变换映射关系,所述第三类变换映射关系集合中包括至少一份第三类变换映射关系,所述第四类变换映射关系集合中包括至少一份第四类变换映射关系。
举例来说,变换映射关系集合可以为表格的形式,比如,该第一类变换映射关系集合可以为加密钥表格,该第二类变换映射关系集合可以包括列混淆表格和列混淆辅助表格,该第三类变换映射关系集合可以为S盒变换表格,该第四类变换映射关系集合可以为加密钥变换表格。
本实施方式中,白盒算法库中可以包括编码映射关系集合和四类变换映射关系集合;生成这些映射关系集合,也就是生成了白盒算法库。延续上述例子,白盒算法库中包括输入编码表格、加密钥表格、列混淆表格、列混淆辅助表格、S盒变换表格和加密钥变换表格,这六种表格。
一种情况下,S103可以包括:利用所述第一类变换映射关系集合,对所述编码数据和所述冗余密钥进行映射,得到第一类映射数据;利用所述第二类变换映射关系集合,对所述第一类映射数据进行映射,得到第二类映射数据;利用所述第三类变换映射关系集合,对所述第二类映射数据进行映射,得到第三类映射数据;利用所述第四类变换映射关系集合,对所述第三类映射数据进行映射,得到处理后的数据。
举例来说,S101获取待处理数据及冗余密钥后,将待处理数据及冗余密钥输入至白盒算法库中,参考图2,先基于待处理数据查找输入编码表格,得到查找结果A,然后基于查找结果A和冗余密钥,查找加密钥表格,得到查找结果B,然后基于查找结果B查找列混淆表格,得到查找结果C,然后基于查找结果C查找列混淆辅助表格,得到查找结果D,然后基于查找结果D查找S盒变换表格,得到查找结果E,然后基于查找结果E查找加密钥变换表格,得到查找结果F,查找结果F即为处理后的数据(如果待处理数据为待加密的数据,则处理后的数据为加密后的数据,如果待处理数据为待解密的数据,则处理后的数据为解密后的数据)。
另一种实施方式中,利用所述第二类变换映射关系集合,对所述第一类映射数据进行映射,得到第二类映射数据,可以包括:利用所述第二类变换映射关系集合,对所述第一类映射数据进行映射,得到中间数据;判断是否达到预设循环次数;如果未达到,将所述第二类映射数据返回至所述利用所述第一类变换映射关系集合,对所述编码数据和所述冗余密钥进行映射,得到第一类映射数据的步骤,直至达到预设循环次数;如果达到预设次数,则将得到的中间数据确定为第二类映射数据。
参考图3,先基于待处理数据查找输入编码表格,得到查找结果A,然后基于查找结果A和冗余密钥,查找加密钥表格,得到查找结果B,然后基于查找结果B查找列混淆表格,得到查找结果C,然后基于查找结果C查找列混淆辅助表格,得到查找结果D;然后返回查找加密钥表格,也就是执行循环过程,直至达到预设循环次数,然后基于循环查找结果X查找S盒变换表格,得到查找结果Y,基于查找结果Y查找加密钥变换表格,最终的查找结果Z即为处理后的数据。
应用本发明实施例,第一方面,可以将不同的冗余密钥输入至白盒算法库中,也就是不需要将白盒算法库和密钥一起变更,提高了方案的灵活性;第二方面,可以将数据拆分成不同的部分分别进行处理,这样可以提高计算效率,而且调用算法对数据量较小的数据进行处理,降低了计算量;第三方面,本实施例中的白盒算法库中仅存储映射关系集合,不进行具体的数据运算,既提高了方案的安全性,又减小了白盒算法库的内存占用率;第四方面,与“将数据拆分成不同的部分分别进行处理”相对应,白盒算法库中存储的映射关系集合中的输入输出数据也进行了拆分,这样,减少了映射关系集合的数据量,进一步减小了白盒算法库的内存占用率。
下面介绍一种具体的实施方式:
1、生成冗余密钥生成工具和白盒算法库:
该冗余密钥生成工具中包括密钥混淆表格,生成冗余密钥生成工具也可以理解为生成密钥混淆表格,该密钥混淆表格也就是密钥混淆映射关系集合。
举例来说,可以获取样本数据;调用密码混淆算法,引入线性混淆运算、非线性混淆运算及随机因子,对该样本数据进行混淆处理,得到混淆结果;将该样本数据及混淆结果的映射关系集合存储为密钥混淆表格。
对样本数据进行混淆处理的过程中,可以将每份样本数据拆分为两部分,分别对这两部分进行混淆处理,然后对混淆处理后的两部分数据进行拼接,得到混淆结果,这样可以提高计算效率,而且调用算法对数据量较小的数据进行处理,降低了计算量。
该白盒算法库中包括输入编码表格、加密钥表格、列混淆表格、列混淆辅助表格、S盒变换表格和加密钥变换表格,这六种表格。生成白盒算法库也可以理解为生成这六种表格。
生成输入编码表格的过程可以包括:获取样本数据;利用编码映射算法,对该样本数据进行编码,得到编码结果;将该样本数据及编码结果的映射关系集合存储为输入编码表格。
对样本数据进行编码的过程中,可以将每份样本数据拆分为两部分,分别对这两部分进行编码,然后对编码后的两部分数据进行拼接,得到编码结果,这样可以提高计算效率,而且调用算法对数据量较小的数据进行处理,降低了计算量。
生成加密钥表格的过程可以包括:获取样本数据;对该样本数据进行逆编码,得到逆编码数据;对该样本数据进行逆混淆处理,得到逆混淆密钥;对所述逆编码数据和所述逆混淆密钥进行行变换的逆变换,得到第一类变换后的数据;将该样本数据及第一类变换后的数据的映射关系集合存储为加密钥表格。
生成列混淆表格的过程可以包括:获取样本数据;对该样本数据进行行变换,得到行变换数据;对所述行变换数据进行第一类S盒变换,得到第一类S盒变换数据;将该样本数据及第一类S盒变换数据的映射关系集合存储为列混淆表格。
对行变换数据进行第一类S盒变换的过程中,可以将每份行变换数据拆分为两部分,分别对这两部分进行第一类S盒变换,然后对第一类S盒变换后的两部分数据进行拼接,得到第一类S盒变换数据,这样可以提高计算效率,而且调用算法对数据量较小的数据进行处理,降低了计算量。
生成列混淆辅助表格的过程可以包括:获取样本数据;对该样本数据进行列变换,得到列变换数据;将该样本数据及列变换数据的映射关系集合存储为列混淆辅助表格。
生成S盒变换表格的过程可以包括:获取样本数据;对该样本数据进行第二类S盒变换,得到第二类S盒变换数据;将该样本数据及第二类S盒变换数据的映射关系集合存储为S盒变换表格。
对该样本数据进行第二类S盒变换的过程中,可以将每份样本数据拆分为两部分,分别对这两部分进行第二类S盒变换,然后对第二类S盒变换后的两部分数据进行拼接,得到第二类S盒变换数据,这样可以提高计算效率,而且调用算法对数据量较小的数据进行处理,降低了计算量。
生成加密钥变换表格的过程可以包括:获取样本数据;对该样本数据进行密钥变换,得到第三类变换数据;将该样本数据及第三类变换数据的映射关系集合存储为加密钥变换表格。
对该样本数据进行密钥变换的过程中,可以将每份样本数据拆分为两部分,分别对这两部分进行密钥变换,然后对密钥变换后的两部分数据进行拼接,得到第三类变换数据,这样可以提高计算效率,而且调用算法对数据量较小的数据进行处理,降低了计算量。
上述内容中有多处提到将数据拆分为两部分,参考前述内容,可以将数据拆分为左右两部分,也可以拆分为奇数位和偶数位两部分,也可以按照其他规则拆分为两部分,具体不做限定。
举例来说,针对加密过程生成的表格与针对解密过程生成的表格可以不同,一种情况下,加密过程与解密过程中采用的算法可以相同或类似,但是算法中的具体参数可以不同,这种情况下,可以采用上述方案,分别生成两套表格,每套表格包括上述六种表格:输入编码表格、加密钥表格、列混淆表格、列混淆辅助表格、S盒变换表格和加密钥变换表格。
一种情况下,生成上述各表格所用到的样本数据可以相同,也可以不同;如果相同,可以只获取一次样本数据,并利用所获取的样本数据生成上述各表格。举例来说,样本数据可以与各表格的输入数据的大小有关,比如,假设上述各表格的输入均为8比特,则生成各表格所用到的样本数据可以为0-28。本发明实施例并不对各表格的输入数据、及生成各表格所用到的样本数据进行限定。
2、生成冗余密钥:
获取用户设置的真实密钥,调用AES(Advanced Encryption Standard,高级加密标准)密钥扩展算法生成轮密钥,在上述生成的密钥混淆表格中,查找该轮密钥的映射值,该映射值即为生成的冗余密钥。
3、调用算法库对数据进行加解密处理:
参考图3,在上述生成的输入编码表格中,查找待处理数据(待加密的数据或待解密的数据)的映射值,作为查找结果A,然后基于查找结果A和上述得到的冗余密钥,查找加密钥表格,得到查找结果B,然后基于查找结果B查找列混淆表格,得到查找结果C,然后基于查找结果C查找列混淆辅助表格,得到查找结果D;然后返回查找加密钥表格,也就是执行循环过程,直至达到预设循环次数,然后基于循环查找结果X查找S盒变换表格,得到查找结果Y,基于查找结果Y查找加密钥变换表格,最终的查找结果Z即为处理后的数据。
如果待处理数据为待加密的数据,则处理后的数据为加密后的数据,如果待处理数据为待解密的数据,则处理后的数据为解密后的数据。
与上述方法实施例相对应,如图4所示,本发明实施例还提供了一种基于动态白盒的数据处理装置,包括:
获取模块401,用于获取待处理数据及冗余密钥;其中,所述待处理数据为待加密的数据或者待解密的数据;所述冗余密钥为:利用预先生成的密钥混淆映射关系集合,对原始密钥进行映射得到的;
输入模块402,用于将所述待处理数据及所述冗余密钥输入至白盒算法库中;
第一映射模块403,用于利用所述白盒算法库中的编码映射关系集合,对所述待处理数据进行映射,得到目标编码数据;
第二映射模块404,用于利用所述白盒算法库中的变换映射关系集合,对所述编码数据和所述冗余密钥进行映射,得到处理后的数据;其中,若所述待处理数据为待加密的数据,则处理后的数据为加密后的数据,若所述待处理数据为待解密的数据,则处理后的数据为解密后的数据。
作为一种实施方式,所述密钥混淆映射关系集合包括至少一份密钥混淆映射关系;所述装置还包括:
第一生成模块(图中未示出),用于针对所获取的每个第一类密钥,将该第一类密钥分为第一部分密钥和第二部分密钥;调用密码混淆算法,对所述第一部分密钥进行混淆处理,得到第一变换数据,对所述第二部分密钥进行混淆处理,得到第二变换数据;将所述第一变换数据和所述第二变换数据进行拼接,得到第二类密钥;生成该第一类密钥与所述第二类密钥之间的映射关系,作为所述密钥混淆映射关系。
作为一种实施方式,所述编码映射关系集合包括至少一份编码映射关系,所述变换映射关系集合包括至少一份变换映射关系;所述装置还包括:第二生成模块和第三生成模块(图中未示出),其中,
第二生成模块,用于针对所获取的每份第一类数据,利用编码映射算法,对该份第一类数据进行编码,得到编码数据;生成该份第一类数据与编码数据之间的映射关系,作为编码映射关系;
第三生成模块,用于针对所获取的每份第二类数据及每个第二类密钥,利用加解密变换算法,对该份第二类数据及该第二类密钥进行变换,得到变换后的数据;生成该份第二类数据及该第二类密钥与变换后的数据之间的映射关系,作为变换映射关系;得到包括所述编码映射关系集合和所述变换映射关系集合的白盒算法库。
作为一种实施方式,所述第二生成模块,还用于:
将该份第一类数据分为第一部分数据和第二部分数据;
利用编码映射算法,对所述第一部分数据进行编码,得到第一编码数据,对所述第二部分数据进行编码,得到第二编码数据;
将所述第一编码数据和所述第二编码数据进行拼接,得到该份第一类数据的编码数据。
作为一种实施方式,所述第三生成模块,还用于:
对该份第二类数据进行逆编码,得到逆编码数据;对该第二类密钥进行逆混淆处理,得到逆混淆密钥;对所述逆编码数据和所述逆混淆密钥进行行变换的逆变换,得到第一类变换后的数据;生成该份第二类数据及该第二类密钥与第一类变换后的数据之间的映射关系,作为第一类变换映射关系;
对该份第二类数据进行行变换,得到行变换数据;对所述行变换数据进行第一类S盒变换,得到第一类S盒变换数据;对所述第一类S盒变换数据进行列变换,得到第二类变换后的数据;生成该份第二类数据与第二类变换后的数据之间的映射关系,作为第二类变换映射关系;
对该份第二类数据进行第二类S盒变换,得到第二类S盒变换数据;生成该份第二类数据与第二类S盒变换数据之间的映射关系,作为第三类变换映射关系;
对该份第二类数据及该第二类密钥进行密钥变换,得到第三类变换后的数据;生成该份第二类数据及该第二类密钥与第三类变换后的数据之间的映射关系,作为第四类变换映射关系。
作为一种实施方式,所述变换映射关系集合包括第一类变换映射关系集合、第二类变换映射关系集合、第三类变换映射关系集合和第四类变换映射关系集合,其中,所述第一类变换映射关系集合中包括至少一份第一类变换映射关系,所述第二类变换映射关系集合中包括至少一份第二类变换映射关系,所述第三类变换映射关系集合中包括至少一份第三类变换映射关系,所述第四类变换映射关系集合中包括至少一份第四类变换映射关系;第二映射模块404,具体用于:
利用所述第一类变换映射关系集合,对所述编码数据和所述冗余密钥进行映射,得到第一类映射数据;
利用所述第二类变换映射关系集合,对所述第一类映射数据进行映射,得到第二类映射数据;
利用所述第三类变换映射关系集合,对所述第二类映射数据进行映射,得到第三类映射数据;
利用所述第四类变换映射关系集合,对所述第三类映射数据进行映射,得到处理后的数据。
作为一种实施方式,第二映射模块404,还用于:
利用所述第二类变换映射关系集合,对所述第一类映射数据进行映射,得到中间数据;
判断是否达到预设循环次数;
如果未达到,将所述第二类映射数据返回至所述利用所述第一类变换映射关系集合,对所述编码数据和所述冗余密钥进行映射,得到第一类映射数据的步骤,直至达到预设循环次数;
如果达到预设次数,则将得到的中间数据确定为第二类映射数据。
作为一种实施方式,所述第三生成模块,还用于:
利用加解密变换算法,对该份第二类数据及该第二类密钥进行以下任意一种或多种变换:行变换、S盒变换、列变换,得到变换后的数据。
应用本发明实施例,利用预先生成的密钥混淆映射关系集合,对原始密钥进行混淆处理得到冗余密钥,将该冗余密钥及待处理数据输入至白盒算法库进行加解密处理;可见,本方案中,可以将不同的冗余密钥输入至白盒算法库中,也就是不需要将白盒算法库和密钥一起变更,提高了方案的灵活性。
本发明实施例还提供了一种电子设备,如图5所示,包括处理器501和存储器502,
存储器502,用于存放计算机程序;
处理器501,用于执行存储器502上所存放的程序时,实现上述任一种基于动态白盒的数据处理方法。
上述电子设备提到的存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种基于动态白盒的数据处理方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例、设备实施例、计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (11)

1.一种基于动态白盒的数据处理方法,其特征在于,包括:
获取待处理数据及冗余密钥;其中,所述待处理数据为待加密的数据或者待解密的数据;所述冗余密钥为:利用预先生成的密钥混淆映射关系集合,对原始密钥进行映射得到的;
将所述待处理数据及所述冗余密钥输入至白盒算法库中,利用所述白盒算法库中的编码映射关系集合,对所述待处理数据进行映射,得到目标编码数据;
利用所述白盒算法库中的变换映射关系集合,对所述编码数据和所述冗余密钥进行映射,得到处理后的数据;其中,若所述待处理数据为待加密的数据,则处理后的数据为加密后的数据,若所述待处理数据为待解密的数据,则处理后的数据为解密后的数据。
2.根据权利要求1所述的方法,其特征在于,所述密钥混淆映射关系集合包括至少一份密钥混淆映射关系;生成所述密钥混淆映射关系的过程包括:
针对所获取的每个第一类密钥,将该第一类密钥分为第一部分密钥和第二部分密钥;调用密码混淆算法,对所述第一部分密钥进行混淆处理,得到第一变换数据,对所述第二部分密钥进行混淆处理,得到第二变换数据;将所述第一变换数据和所述第二变换数据进行拼接,得到第二类密钥;生成该第一类密钥与所述第二类密钥之间的映射关系,作为所述密钥混淆映射关系。
3.根据权利要求1所述的方法,其特征在于,所述编码映射关系集合包括至少一份编码映射关系,所述变换映射关系集合包括至少一份变换映射关系;在将所述待处理数据及所述冗余密钥输入至白盒算法库之前,所述方法还包括:
针对所获取的每份第一类数据,利用编码映射算法,对该份第一类数据进行编码,得到编码数据;生成该份第一类数据与所述编码数据之间的映射关系,作为编码映射关系;
针对所获取的每份第二类数据及每个第二类密钥,利用加解密变换算法,对该份第二类数据及该第二类密钥进行变换,得到变换后的数据;生成该份第二类数据及该第二类密钥与所述变换后的数据之间的映射关系,作为变换映射关系;
得到包括所述编码映射关系集合和所述变换映射关系集合的白盒算法库。
4.根据权利要求3所述的方法,其特征在于,所述利用编码映射算法,对该份第一类数据进行编码,得到编码数据,包括:
将该份第一类数据分为第一部分数据和第二部分数据;
利用编码映射算法,对所述第一部分数据进行编码,得到第一编码数据,对所述第二部分数据进行编码,得到第二编码数据;
将所述第一编码数据和所述第二编码数据进行拼接,得到该份第一类数据的编码数据。
5.根据权利要求3所述的方法,其特征在于,所述利用加解密变换算法,对该份第二类数据及该第二类密钥进行变换,得到变换后的数据;生成该份第二类数据及该第二类密钥与所述变换后的数据之间的映射关系,作为变换映射关系,包括:
对该份第二类数据进行逆编码,得到逆编码数据;对该第二类密钥进行逆混淆处理,得到逆混淆密钥;对所述逆编码数据和所述逆混淆密钥进行行变换的逆变换,得到第一类变换后的数据;生成该份第二类数据及该第二类密钥与所述第一类变换后的数据之间的映射关系,作为第一类变换映射关系;
对该份第二类数据进行行变换,得到行变换数据;对所述行变换数据进行第一类S盒变换,得到第一类S盒变换数据;对所述第一类S盒变换数据进行列变换,得到第二类变换后的数据;生成该份第二类数据与所述第二类变换后的数据之间的映射关系,作为第二类变换映射关系;
对该份第二类数据进行第二类S盒变换,得到第二类S盒变换数据;生成该份第二类数据与所述第二类S盒变换数据之间的映射关系,作为第三类变换映射关系;
对该份第二类数据及该第二类密钥进行密钥变换,得到第三类变换后的数据;生成该份第二类数据及该第二类密钥与所述第三类变换后的数据之间的映射关系,作为第四类变换映射关系。
6.根据权利要求5所述的方法,其特征在于,所述变换映射关系集合包括第一类变换映射关系集合、第二类变换映射关系集合、第三类变换映射关系集合和第四类变换映射关系集合,其中,所述第一类变换映射关系集合中包括至少一份第一类变换映射关系,所述第二类变换映射关系集合中包括至少一份第二类变换映射关系,所述第三类变换映射关系集合中包括至少一份第三类变换映射关系,所述第四类变换映射关系集合中包括至少一份第四类变换映射关系;
所述利用所述白盒算法库中的变换映射关系集合,对所述编码数据和所述冗余密钥进行映射,得到处理后的数据,包括:
利用所述第一类变换映射关系集合,对所述编码数据和所述冗余密钥进行映射,得到第一类映射数据;
利用所述第二类变换映射关系集合,对所述第一类映射数据进行映射,得到第二类映射数据;
利用所述第三类变换映射关系集合,对所述第二类映射数据进行映射,得到第三类映射数据;
利用所述第四类变换映射关系集合,对所述第三类映射数据进行映射,得到所述处理后的数据。
7.根据权利要求6所述的方法,其特征在于,所述利用所述第二类变换映射关系集合,对所述第一类映射数据进行映射,得到第二类映射数据,包括:
利用所述第二类变换映射关系集合,对所述第一类映射数据进行映射,得到中间数据;
判断是否达到预设循环次数;
如果未达到,将所述第二类映射数据返回至所述利用所述第一类变换映射关系集合,对所述编码数据和所述冗余密钥进行映射,得到第一类映射数据的步骤,直至达到预设循环次数;
如果达到预设次数,则将得到的中间数据确定为第二类映射数据。
8.根据权利要求3所述的方法,其特征在于,所述利用加解密变换算法,对该份第二类数据及该第二类密钥进行变换,得到变换后的数据,包括:
利用加解密变换算法,对该份第二类数据及该第二类密钥进行以下任意一种或多种变换:行变换、S盒变换、列变换,得到变换后的数据。
9.一种基于动态白盒的数据处理装置,其特征在于,包括:
获取模块,用于获取待处理数据及冗余密钥;其中,所述待处理数据为待加密的数据或者待解密的数据;所述冗余密钥为:利用预先生成的密钥混淆映射关系集合,对原始密钥进行映射得到的;
输入模块,用于将所述待处理数据及所述冗余密钥输入至白盒算法库中;
第一映射模块,用于利用所述白盒算法库中的编码映射关系集合,对所述待处理数据进行映射,得到目标编码数据;
第二映射模块,用于利用所述白盒算法库中的变换映射关系集合,对所述编码数据和所述冗余密钥进行映射,得到处理后的数据;其中,若所述待处理数据为待加密的数据,则处理后的数据为加密后的数据,若所述待处理数据为待解密的数据,则处理后的数据为解密后的数据。
10.一种电子设备,其特征在于,包括处理器和存储器;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-8任一所述的方法步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-8任一所述的方法步骤。
CN201910245733.4A 2019-03-28 2019-03-28 一种基于动态白盒的数据处理方法、装置及设备 Active CN110505054B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201910245733.4A CN110505054B (zh) 2019-03-28 2019-03-28 一种基于动态白盒的数据处理方法、装置及设备
US17/437,220 US20220173898A1 (en) 2019-03-28 2020-03-02 Dynamic white box-based data processing method, apparatus, and device
PCT/CN2020/077478 WO2020192366A1 (zh) 2019-03-28 2020-03-02 一种基于动态白盒的数据处理方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910245733.4A CN110505054B (zh) 2019-03-28 2019-03-28 一种基于动态白盒的数据处理方法、装置及设备

Publications (2)

Publication Number Publication Date
CN110505054A true CN110505054A (zh) 2019-11-26
CN110505054B CN110505054B (zh) 2021-03-26

Family

ID=68585659

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910245733.4A Active CN110505054B (zh) 2019-03-28 2019-03-28 一种基于动态白盒的数据处理方法、装置及设备

Country Status (3)

Country Link
US (1) US20220173898A1 (zh)
CN (1) CN110505054B (zh)
WO (1) WO2020192366A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111711519A (zh) * 2020-08-19 2020-09-25 杭州海康威视数字技术股份有限公司 一种基于动态白盒的数据处理方法、装置及设备
WO2020192366A1 (zh) * 2019-03-28 2020-10-01 杭州海康威视数字技术股份有限公司 一种基于动态白盒的数据处理方法、装置及设备
CN112003687A (zh) * 2020-08-26 2020-11-27 成都卫士通信息产业股份有限公司 一种白盒运算方法、装置、电子设备及计算机存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4315125A1 (en) * 2021-03-29 2024-02-07 Nvidia Corporation Comprehensively obfuscated cryptographic accelerators and operations thereof

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120170740A1 (en) * 2011-01-05 2012-07-05 Electronics And Telecommunications Research Institute Content protection apparatus and content encryption and decryption apparatus using white-box encryption table
CN104702492A (zh) * 2015-03-19 2015-06-10 百度在线网络技术(北京)有限公司 垃圾消息模型训练方法、垃圾消息识别方法及其装置
CN105099666A (zh) * 2015-06-26 2015-11-25 中国科学院信息工程研究所 混淆轮边界的白盒密码系统和方法
CN106411518A (zh) * 2016-09-26 2017-02-15 北京洋浦伟业科技发展有限公司 一种密钥不固定的对称白盒加密方法和装置
CN106850603A (zh) * 2017-01-19 2017-06-13 北京洋浦伟业科技发展有限公司 一种白盒密码双向身份认证方法、终端、服务端及系统
CN107947917A (zh) * 2017-12-29 2018-04-20 北京梆梆安全科技有限公司 一种生成白盒密钥的方法及装置
CN109450632A (zh) * 2019-01-11 2019-03-08 西安电子科技大学 基于白盒分组密码clefia分析的密钥恢复方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110505054B (zh) * 2019-03-28 2021-03-26 杭州海康威视数字技术股份有限公司 一种基于动态白盒的数据处理方法、装置及设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120170740A1 (en) * 2011-01-05 2012-07-05 Electronics And Telecommunications Research Institute Content protection apparatus and content encryption and decryption apparatus using white-box encryption table
CN104702492A (zh) * 2015-03-19 2015-06-10 百度在线网络技术(北京)有限公司 垃圾消息模型训练方法、垃圾消息识别方法及其装置
CN105099666A (zh) * 2015-06-26 2015-11-25 中国科学院信息工程研究所 混淆轮边界的白盒密码系统和方法
CN106411518A (zh) * 2016-09-26 2017-02-15 北京洋浦伟业科技发展有限公司 一种密钥不固定的对称白盒加密方法和装置
CN106850603A (zh) * 2017-01-19 2017-06-13 北京洋浦伟业科技发展有限公司 一种白盒密码双向身份认证方法、终端、服务端及系统
CN107947917A (zh) * 2017-12-29 2018-04-20 北京梆梆安全科技有限公司 一种生成白盒密钥的方法及装置
CN109450632A (zh) * 2019-01-11 2019-03-08 西安电子科技大学 基于白盒分组密码clefia分析的密钥恢复方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020192366A1 (zh) * 2019-03-28 2020-10-01 杭州海康威视数字技术股份有限公司 一种基于动态白盒的数据处理方法、装置及设备
CN111711519A (zh) * 2020-08-19 2020-09-25 杭州海康威视数字技术股份有限公司 一种基于动态白盒的数据处理方法、装置及设备
CN112003687A (zh) * 2020-08-26 2020-11-27 成都卫士通信息产业股份有限公司 一种白盒运算方法、装置、电子设备及计算机存储介质

Also Published As

Publication number Publication date
WO2020192366A1 (zh) 2020-10-01
US20220173898A1 (en) 2022-06-02
CN110505054B (zh) 2021-03-26

Similar Documents

Publication Publication Date Title
CN110505054A (zh) 一种基于动态白盒的数据处理方法、装置及设备
CN1993922B (zh) 流密码组合系统和方法
Komargodski et al. From minicrypt to obfustopia via private-key functional encryption
CN104298932B (zh) 一种so文件的调用方法及装置
CN105453481B (zh) 包括表网络的计算设备
JP6137173B2 (ja) 暗号化データベースシステム、クライアント端末およびデータベースサーバ、結合方法およびプログラム
CN111010266B (zh) 消息的加解密、读写方法、装置、计算机设备和存储介质
EP2892175B1 (en) Secure software components anti-reverse-engineering by table interleaving
US8699702B2 (en) Securing cryptographic process keys using internal structures
CN108494546A (zh) 一种白盒加密方法、装置及存储介质
CN105184115A (zh) 用于将隐式完整性或可信性检查包括到白箱实现中的方法
CN105095695A (zh) 经由白箱实现的不正确功能行为实现授权
CN105007256A (zh) 用于在非信任平台上执行安全功能的安全模块
CN109687966A (zh) 加密方法及其系统
CN105978680A (zh) 在白盒实现方案中实现填充
CN105825142A (zh) 用于对移动终端中文档加解密的方法和装置
CN109923516A (zh) 加强计算机安全性,可变字长编码以及可变长码解码的技术
US11341216B2 (en) Method for the computer-aided obfuscation of program code
EP3298720B1 (en) Computing with encrypted values
CN116455555A (zh) 数据的加密方法、装置及电子设备
CN114254372B (zh) 数据加密处理方法、系统及电子设备
CN116980232B (zh) 一种数据处理方法、装置、计算机设备和可读存储介质
Popoola Data Integrity Using Caesar Cipher and Residue Number System
Kadri Enhancement of Advanced Encryption Standard Performance on Hidden Data Using Residue Number System
McDonald et al. Enhanced operating system protection to support digital forensic investigations

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