CN108123794A - 白盒密钥的生成方法和加密方法、装置及系统 - Google Patents

白盒密钥的生成方法和加密方法、装置及系统 Download PDF

Info

Publication number
CN108123794A
CN108123794A CN201711384576.2A CN201711384576A CN108123794A CN 108123794 A CN108123794 A CN 108123794A CN 201711384576 A CN201711384576 A CN 201711384576A CN 108123794 A CN108123794 A CN 108123794A
Authority
CN
China
Prior art keywords
whitepack
key
algorithm
encryption
encryption algorithm
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
CN201711384576.2A
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.)
Shanghai Peoplenet Security Technology Co Ltd
Original Assignee
Shanghai Peoplenet Security 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 Shanghai Peoplenet Security Technology Co Ltd filed Critical Shanghai Peoplenet Security Technology Co Ltd
Priority to CN201711384576.2A priority Critical patent/CN108123794A/zh
Publication of CN108123794A publication Critical patent/CN108123794A/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
    • 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
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Landscapes

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

Abstract

本发明公开了一种白盒密钥的生成方法和加密方法、装置及系统,该加密方法包括:通过接收服务器所发送的根据预设的白盒密钥生成算法和所述原始密钥生成的白盒密钥;根据标准对称加密算法和预设规则生成与所述白盒密钥对应的所述白盒加密算法;根据所述白盒密钥和与所述白盒加密算法对目标明文进行加密,生成目标密文。或根据白盒解密算法和白盒密钥对目标密文进行解密,生成目标明文。本发明的技术方案,提升了原始密钥以及加密数据的安全性,同时,即使白盒密钥被泄露,也不能通过白盒密钥分析出原始密钥,并且可以根据需要的安全强度或者终端的内存大小配置具体的白盒加密算法。

Description

白盒密钥的生成方法和加密方法、装置及系统
技术领域
本发明涉及移动安全及计算机程序领域,尤其涉及一种白盒密钥的生成方法和加密方法、装置及系统。
背景技术
随着互联网和移动计算等技术的快速发展,程序可能在不安全环境中的场景越来越多,密码算法对信息的安全至关重要。
传统的对称加密算法适用于黑盒环境,具有高效、高安全等特点。然而在移动安全领域,对称算法在越来越多的场景下需要在白盒环境运行。而白盒环境是一种攻击者对主机和软件具有完全控制权,且程序执行过程是可见、可修改的环境。如果攻击者对加密程序具有完全的控制权,在程序运行时,密钥在内存中传递并使用,普通的对称算法必然存在被逆向分析出密钥的风险。一旦密钥暴露,整个对称加密系统也将被攻陷。
现有的一些保护手段,通过把密钥加密保存起来,或者通过整体代码加固的方式,并没有从根本上解决密钥存在于内存之中的核心问题,仍然存在很大被攻击者窃取密钥的风险。
发明内容
本发明提供一种白盒密钥的生成方法和加密方法、装置及系统,提高了数据交互过程中的安全性,降低了原始密钥被窃取的风险。
第一方面,本发明实施例提供了一种白盒密钥的生成方法,包括:
获取原始密钥,根据预设的白盒密钥生成算法和所述原始密钥生成白盒密钥;
将所述白盒密钥发送至终端,所述白盒密钥用于指示所述终端根据所述白盒密钥以及与所述白盒密钥对应的白盒加密算法对目标明文进行加密,生成目标密文。所述白盒密钥还用于指示所述终端根据所述白盒密钥以及与所述白盒密钥对应的白盒解密算法对目标密文进行解密,生成目标明文。
第二方面,本发明实施例提供了一种加密方法,包括:
接收服务器所发送的根据预设的白盒密钥生成算法和所述原始密钥生成的白盒密钥;
根据标准对称算法和预设规则生成与所述白盒密钥对应的所述白盒加密算法;
根据所述白盒密钥和与所述白盒加密算法对目标明文进行加密,生成目标密文。
进一步的,所述标准对称加密算法包括SM4算法(SM4算法是在国内广泛使用的加密算法,是一种32轮的迭代非平衡Feistel结构的分组加密算法,其密钥长度和分组长度均为128)、DES算法(Data Encryption Standard,数据加密标准,一种国际上通用的对称加密算法)和/或AES算法(Advanced Encryption Standard,高级加密标准,被广泛使用的对称加密算法);其中,DES算法包括DES和/或3DES算法(Triple DES,是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称),AES算法包括AES-128算法、AES-192算法和/或AES-256算法。
进一步的,所述根据标准对称算法和预设规则生成与所述白盒密钥对应的所述白盒加密算法包括:
在预设的标准对称加密算法中加入置乱矩阵生成白盒加密算法。
进一步的,所述标准对称加密算法为AES算法,所述根据标准对称加密算法和预设规则生成与所述白盒密钥对应的所述白盒加密算法,包括:
根据标准对称加密算法和预设规则生成第一加密层和第二加密层;
基于所述第一加密层和所述第二加密层确定白盒AES加密算法;
其中,所述第一加密层包括白盒加法层,第二加密层包括字节替代层、行位移层和列混淆层;
相应的,所述根据所述白盒密钥和与所述白盒加密算法对目标明文进行加密包括:
基于所述白盒密钥和所述白盒AES算法对所述目标明文进行加密,生成目标密文。
进一步的,在所述根据所述白盒密钥和与所述白盒加密算法对目标明文进行加密,生成目标密文之后,还包括:
根据所述白盒密钥和与所述白盒密钥对应的白盒解密算法对所述目标密文进行解密,生成目标明文,其中,所述白盒解密算法是与所述白盒加密算法对应的逆变换。
第三方面,本发明实施例提供了一种白盒密钥的生成装置,包括:
密钥生成模块,用于获取原始密钥,根据预设的白盒密钥生成算法和所述原始密钥生成白盒密钥;
密钥发送模块,用于将所述白盒密钥发送至终端,所述白盒密钥用于指示所述终端根据所述白盒密钥以及与所述白盒密钥对应的白盒加密算法对目标明文进行加密,生成目标密文。
第四方面,本发明实施例提供了一种加密装置,包括:
密钥接收模块,用于接收服务器所发送的根据预设的白盒密钥生成算法和所述原始密钥生成的白盒密钥;
算法生成模块,用于根据标准对称算法和预设规则生成与所述白盒密钥对应的所述白盒加密算法;
明文加密模块,用于根据所述白盒密钥和与所述白盒加密算法对目标明文进行加密,生成目标密文。
进一步的,所述标准对称加密算法包括SM4算法、DES算法和/或AES算法;其中,DES算法包括DES和/或3DES算法,AES算法包括AES-128算法、AES-192算法和/或AES-256算法。
进一步的,所述根据标准对称算法和预设规则生成与所述白盒密钥对应的所述白盒加密算法包括:
在预设的标准对称加密算法中加入置乱矩阵生成白盒加密算法。
进一步的,所述标准对称加密算法为AES算法,所述根据标准对称加密算法和预设规则生成与所述白盒密钥对应的所述白盒加密算法,包括:
根据标准对称加密算法和预设规则生成第一加密层和第二加密层;
基于所述第一加密层和所述第二加密层确定白盒AES加密算法;
其中,所述第一加密层包括白盒加法层,第二加密层包括字节替代层、行位移层和列混淆层;
相应的,所述根据所述白盒密钥和与所述白盒加密算法对目标明文进行加密包括:
基于所述白盒密钥和所述白盒AES算法对所述目标明文进行加密,生成目标密文。
进一步的,所述装置还包括密文解密模块,用于根据所述白盒密钥和与所述白盒密钥对应的所述白盒解密算法对所述目标密文进行解密,生成目标明文,其中,所述白盒解密算法是与所述白盒加密算法对应的逆变换。
第五方面,本发明实施例提供了一种加密系统,包括:服务器和终端;
所述服务器,用于获取原始密钥,并根据预设的白盒密钥生成算法和所述原始密钥生成白盒密钥,并将所述白盒密钥发送至终端;
所述终端,用于接收所述服务器所发送的所述白盒密钥,并根据标准对称算法和预设规则生成与所述白盒密钥对应的所述白盒加密算法,以及根据所述白盒密钥和与所述白盒加密算法对目标明文进行加密,生成目标密文。
进一步的,所述终端还用于据所述白盒密钥和与所述白盒密钥对应的白盒解密算法对目标密文进行解密,生成目标明文,其中,所述白盒解密算法是与所述白盒加密算法对应的逆变换。
本发明通过接收服务器所发送的根据预设的白盒密钥生成算法和所述原始密钥生成的白盒密钥;根据标准对称算法和预设规则生成与所述白盒密钥对应的所述白盒加密算法;根据所述白盒密钥和与所述白盒加密算法对目标明文进行加密,生成目标密文,由于在客户端中保存并使用白盒密钥,而原始密钥只保存在安全环境下的服务器中,因此避免了客户端在白盒环境中容易泄露原始密钥并造成系统被攻陷的问题,实现了密钥在程序运行时不需要保存在客户端中,只是利用白盒密钥进行数据加解密,攻击者即使截获白盒密钥,也无法推导出原始密钥,提高了系统和数据的安全性。
附图说明
图1是本发明实施例一提供的一种白盒密钥的生成方法的流程图。
图2是本发明实施例二提供的一种加密方法的流程图。
图3是本发明实施例三提供的一种加密方法的流程图。
图4是本发明实施例三提供的一种白盒AES加密算法的加密过程的示意图。
图5是本发明实施例四提供的一种加密方法的流程图。
图6是本发明实施例四提供的一种白盒DES加密算法的加密过程的示意图。
图7是本发明实施例五提供的一种白盒密钥的生成装置的结构示意图。
图8是本发明实施例六提供的一种加密装置的结构示意图。
图9是本发明实施例七提供的一种加密系统的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。本发明涉及的对称加密算法需要对称密钥加密的配合,对称加密密钥是用同一个密钥去加密和解密数据。它的最大优势是加/解密速度快,适合于对大数据量进行加密,但密钥管理困难。原始密钥为接收方与发送方协商或根据特定的方法产生的密钥,但不可以直接在网络上传输,否则会导致密钥泄漏,密钥一般存储于服务器中,需要保证原始密钥的安全性。
实施例一
图1是本实施例提供的一种白盒密钥的生成方法的流程图,参见图1,该方法可适用于对白盒密钥生成情况,该方法可以由白盒密钥的生成装置来执行,具体包括如下步骤:
S110、获取原始密钥,根据预设的白盒密钥生成算法和所述原始密钥生成白盒密钥。
白盒密钥是指一种在白盒环境下加密或者解密使用的密钥,白盒密钥携带了原始密钥的信息,并代替原始密钥完成加解密功能,同时即使被分析计算也不能得到原始密钥。需要注意的是,白盒密钥生成是必须在安全的环境下进行,以保证白盒密钥和原始密钥的安全性。其中安全环境可以为指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断的环境。
需要注意的是,白盒密钥生成是必须在安全的环境下进行,以保证白盒密钥和原始密钥的安全性。
具体的,在服务器中,白盒密钥是由原始密钥经过白盒密钥生成算法得到,并且可以与白盒加密算法配合使用进行加密或者解密。白盒密钥生成算法是用于将原始密钥经过运算,比如扩展、置换等,生成与原始密钥不同的白盒密钥。根据所选算法不同,白盒密钥生成算法也不相同。示例性的,对于生成SM4白盒密钥的算法,SM4白盒密钥可以是利用多因素信息和原始密钥进行变换得到,比如经过密钥的扩展,将密钥扩展为32轮的轮密钥Kn,每轮的密钥长度是128比特,再引入多因素信息对扩展密钥进行线性和/或者非线性的变换得到的白盒密钥,示例性的,可以引入服务器和终端约定的一组数据,比如时间信息、位置信息、IP地址信息等。同时,也可以根据数据类型或者需要的数据加密安全程度改进白盒密钥生成算法,生成相应的白盒密钥。由于这个过程是在安全环境下进行,因此即使在客户端中的白盒环境下,白盒密钥也不能被分析得到原始密钥,从而保证了原始密钥的安全性。
S120、将所述白盒密钥发送至终端,所述白盒密钥用于指示所述终端根据所述白盒密钥以及与所述白盒密钥对应的白盒加密算法对目标明文进行加密,生成目标密文。
将白盒密钥发送至终端,终端可以根据所述白盒密钥对应的白盒加密算法对目标明文加密。示例性的,终端可以是一般的手机或者计算机等设备,在终端内存中不会以任何形式出现原始密钥。
由于对称加密方法中,加密和解密使用的密钥是相同的。解密算法一般为加密算法的逆变换,以密文为输入、密钥为参数,变换结果为明文。可选的,所述白盒密钥还用于指示所述终端根据所述白盒密钥以及与所述白盒密钥对应的白盒解密算法对目标密文进行解密,生成目标明文。其中,白盒解密算法是与白盒加密算法对应的,一般为白盒加密算法的逆运算。根据目标密文和白盒密钥经过白盒解密算法进行解密,得到目标明文。
本实施例的技术方案提供了一种白盒密钥的生成方法,通过服务器在安全环境下,由原始密钥和白盒密钥生成算法生成白盒密钥,发送至客户端。由于在客户端中保存并使用白盒密钥,而原始密钥只保存在安全环境下的服务器中,因此避免了客户端在白盒环境中容易泄露原始密钥并造成系统被攻陷的问题。实现了原始密钥在程序运行时不需要保存在客户端中,而是利用白盒密钥进行数据加密,由于白盒密钥是由原始密钥根据白盒密钥生成算法得到,因此即使攻击者截获白盒密钥,也不能轻易分析得到原始密钥。同时,在不同的数据加密过程中可以采用不同的白盒密钥,提高了系统和数据的安全性。
实施例二
图2为本实施例提供的一种加密方法的流程图,本实施例可适用于对数据加密情况,该方法可以由加密装置来执行,具体包括如下步骤:
S210、接收服务器所发送的根据预设的白盒密钥生成算法和所述原始密钥生成的白盒密钥。
具体地,可以先由服务器根据预设的白盒密钥生成算法和所述原始密钥生成白盒密钥,在服务器生成白盒密钥,并发送至终端后,客户端接收到服务器发送的白盒密钥,可以进一步利用白盒密钥对待加密的数据进行加密。
S220、根据标准对称加密算法和预设规则生成与所述白盒密钥对应的所述白盒加密算法。
其中,所述标准对称加密算法可以包括SM4算法、DES算法和/或AES算法等;其中,DES算法具体可包括DES和/或3DES算法;AES算法具体可包括AES-128算法、AES-192算法和/或AES-256算法等。
其中,加密算法不同,密钥的长度也会不同。例如SM4算法可以使用的密钥长度为64位,DES算法的密钥长度一般使用64位,3DES算法的密钥长度可以使用192位,AES-128算法、AES-192算法和AES-256算法对应的密钥长度可以分别使用128位、192位和256位。同时,密钥的长度不同,推荐加密轮数也不同。每种白盒加密算法均为独立设计,算法之间无法互通,只能使用相应的白盒密钥进行数据加密。
白盒加密算法是在标准对称加密算法的基础上进行改进得到,用于与白盒密钥对应,可以为待加密的数据进行加密。对应的,白盒加密算法包括白盒SM4加密算法、白盒DES加密算法和/或白盒AES加密算法。预设的规则可以是根据业务需要对标准对称加密算法的改进方法或者运算规则。
可选的,所述根据标准对称算法和预设规则生成与所述白盒密钥对应的所述白盒加密算法包括在预设的标准对称加密算法中加入置乱矩阵生成白盒加密算法。
其中,置乱矩阵是用于增加加密运算的分析难度,具体可以用于对数据的行列进行变化,或者重新排列,来进行数据的加密。置乱矩阵的加入可以使数据加密的过程和运算复杂化,从而可以减小数据和白盒密钥被窃取或者分析的可能性。
本发明提出的白盒加密算法可根据需求配置安全强度,例如安全强度可以与加密效率成反相关。如果是特别机密的数据,可以采用更复杂的白盒加密算法,相应的,其加密的效率会变低,以保证数据的安全性。
S230、根据所述白盒密钥和与所述白盒加密算法对目标明文进行加密,生成目标密文。
明文是指没有经过加密的数据,目标明文是指待加密的数据,目标密文是指目标明文经过白盒加密算法加密后输出的数据。通过在白盒加密算法中输入白盒密钥和目标明文等参数,就可以计算得到目标密文。示例性的,如果白盒加密算法为AES加密函数E,则C=E(WK,P),其中,WK为白盒密钥,P为目标明文,C为目标密文。也就是说,把目标明文P和白盒密钥WK作为加密函数的参数输入,则加密函数E会输出目标密文C。应用白盒加密算法加密或者解密可以在白盒环境下进行(例如手机),其只能接受白盒密钥,并对明文或者密文执行对应的加解密功能。
同时,白盒加密算法保持与标准算法的算法一致性,即使用相同的明文,由标准对称加密算法和原始密钥生成的密文与白盒加密算法和白盒密钥生成的密文一致。
值得注意的是,白盒密钥也可以是基于动态多因素生成,白盒密钥将由标准密钥和动态因子联合生成。示例性的,此动态因子可以为用户具体的不同的需求,在对不同的明文加密时,可以有不同的白盒密钥,例如白盒密钥为可以512字节,攻击者即使截获白盒密钥无法推导出标准密钥。
本实施例的技术方案,通过生成白盒密钥以及生成白盒加密算法,使用白盒加密算法调用白盒密钥加解密时,在内存中不会以任何形式出现原始密钥。同时,白盒加密算法保持与标准算法的算法一致性,即使用相同的明文,由标准对称加密算法和原始密钥生成的密文与白盒加密算法和白盒密钥生成的密文一致,反之亦然。提升了原始密钥以及加密数据的安全性,同时,即使白盒密钥被泄露,也不能通过白盒密钥分析出原始密,并且可以根据需要的安全强度或者终端的内存大小配置具体的白盒加密算法。
在上述实施例中的技术方案的基础上,在对目标明文加密之得到目标密文之后,还可以以对目标密文进行解密。由于对称加密方法中,加密和解密使用的白盒密钥是相同的。解密算法一般为加密算法的逆变换,以密文为输入、密钥为参数,变换结果为明文。相应的,白盒解密算法是与白盒加密算法对应的,一般为白盒加密算法的逆运算。根据目标密文和白盒密钥经过白盒解密算法进行解密,得到目标明文。示例性的,如果白盒加密算法为AES加密函数E,那么对应的白盒解密算法为AES解密函数A,则P=A(WK,C),其中,WK为白盒密钥,P为目标明文,C为目标密文。
实施例三
图3为本实施例提供的一种加密方法的流程图,在上述实施例的基础上,可选是所述标准对称加密算法为标准AES算法,对应的,白盒加密算法具体为白盒AES加密算法,该加密方法具体包括:
S310、接收服务器所发送的根据预设的白盒密钥生成算法和所述原始密钥生成的白盒密钥。
S320、根据标准对称加密算法和预设规则生成第一加密层和第二加密层,并基于所述第一加密层和所述第二加密层确定白盒AES加密算法;
其中,所述第一加密层包括白盒加法层,第二加密层包括字节替代层、行位移层和列混淆层。在白盒AES算法加密过程中,通过第一加密层和第二加密层对应的两个查找表对目标明文进行加密。具体的,白盒加法层包括轮密钥加运算,字节替代层包括字节替代变化,行位移层包括行位移变换,列混淆层包括列混淆变换。
在标准AES算法中,通过加入置乱矩阵函数来改变其原密钥加法层,形成白盒加法层,并生成对应的查找表,以供数据加密过程中使用。
S330、基于所述白盒密钥和所述白盒AES算法对目标明文进行加密,生成目标密文。
示例性的,图4是本实例所提供的一种白盒AES加密算法的加密过程的示意图,如图4所示,N代表加密过程中加密的总轮数,白盒AES加密算法根据具体算法的类型有特定的加密轮数,示例性的,AES-128算法中,加密轮数可以为10轮,AES-192算法中,加密轮数可以为12轮,AES-256算法中,加密轮数可以为14轮。目标明文和白盒密钥通过第一加密层即白盒加法层进行运算加密后,继续经过第二加密层中的字节替代层、行位移层和列混淆层,然后再次经过第一加密层和第二加密层,重复此操作,经过N-1轮加密。到最后一轮的加密中,先经过白盒加法层,再经过字节替代层、行位移层和白盒加法层,将最终的加密结果输出,即输出目标密文。
本实施例的技术方案,通过生成白盒密钥以及生成白盒加密算法,使用白盒加密算法调用白盒密钥加解密时,在内存中不会以任何形式出现原始密钥。同时,白盒加密算法保持与标准算法的算法一致性,即使用相同的明文,由标准对称加密算法和原始密钥生成的密文与白盒加密算法和白盒密钥生成的密文一致,反之亦然。提升了原始密钥以及加密数据的安全性,同时,即使白盒密钥被泄露,也不能通过白盒密钥分析出原始密钥,并且可以根据需要的安全强度或者终端的内存大小配置具体的白盒加密算法。
实施例四
图5为本实施例提供的一种加密方法的流程图,在上述实施例的基础上,所述标准对称加密算法为DES算法,对应的,白盒加密算法具体为白盒DES加密算法,该加密方法具体包括:
S410、接收服务器所发送的根据预设的白盒密钥生成算法和所述原始密钥生成的白盒密钥。
S420、根据标准对称加密算法和预设规则生成白盒轮函数,基于所述轮函数确定白盒DES加密算法。
S430、基于所述白盒密钥和白盒DES加密算法对目标明文进行加密,生成目标密文。
所述轮函数是采用混乱和扩散的组合,在标准DES算法中,通过加入置乱矩阵更改其Feistel结构轮函数,使其能接收和处理运算与之匹配的白盒密钥,并组成对应的查找表,以供数据加密过程中通过查找表对数据进行加密。
示例性的,图6是本实施例提供的一种白盒DES加密算法的加密过程的示意图,如图5所示,其中,i代表加密的轮数。在白盒DES算法加密数据的过程中,将目标明文平均分成左右两个部分L0和R0,白盒密钥第一轮、第二轮和第i轮加密运算中分别为WK1、WK2,WKi。R0和白盒密钥WK1经过白盒轮函数WF的运算,得到的结果与L0经过异或运算得到加密结果R1,R0作为新一轮加密中待加密数据的左半部分L1,R1和白盒密钥WK2通过白盒轮函数WF进行运算,得到的结果与L1进行异或运算,得到加密结果R2,R1作为新一轮加密中待加密数据的左半部分L2,重复上面的操作运算,一直到最后一轮,输出密文结果,包括左半部分Li和右半部分Ri,即为目标密文。
本实施例的技术方案,通过生成白盒密钥以及生成白盒加密算法,使用白盒加密算法调用白盒密钥加解密时,在内存中不会以任何形式出现原始密钥。同时,白盒加密算法保持与标准算法的算法一致性,即使用相同的明文,由标准对称加密算法和原始密钥生成的密文与白盒加密算法和白盒密钥生成的密文一致,反之亦然。大大提升了原始密钥以及加密数据的安全性。同时,即使白盒密钥被泄露,也不能通过白盒密钥分析出原始密钥,并且可以根据需要的安全强度或者终端的内存大小配置具体的白盒加密算法。
实施例五
图7为本发明实施例提供的一种白盒密钥的生成装置,如图7所示,该装置包括:密钥生成模块710和密钥发送模块720。
其中,密钥生成模块710,用于获取原始密钥,根据预设的白盒密钥生成算法和所述原始密钥生成白盒密钥。
密钥发送模块720,用于将所述白盒密钥发送至终端,所述白盒密钥用于指示所述终端根据所述白盒密钥以及与所述白盒密钥对应的白盒加密算法对目标明文进行加密,生成目标密文。
可选的,所述白盒密钥还用于指示所述终端根据白盒解密算法对所述目标密文进行解密,生成目标明文,其中,所述白盒解密算法是与所述白盒加密算法对应的逆变换。
上述产品可执行本发明任意实施例所提供的白盒密钥的生成方法,具备执行白盒密钥的生成方法相应的功能模块和有益效果。值得注意的是,上述白盒密钥的生成装置的实施例中,所包括的各个模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
实施例六
图8为本发明实施例四提供的加密装置的结构示意图,该装置包括:密钥接收模块810、算法生成模块820和明文加密模块830。
其中,密钥接收模块810,用于接收服务器所发送的根据预设的白盒密钥生成算法和所述原始密钥生成的白盒密钥;算法生成模块820,用于根据标准对称算法和预设规则生成与所述白盒密钥对应的所述白盒加密算法;明文加密模块830,用于根据所述白盒密钥和与所述白盒加密算法对目标明文进行加密,生成目标密文。
本实施例的技术方案,通过提供一种加密装置,可以生成白盒密钥以及白盒加密算法,使用白盒加密算法调用白盒密钥加解密时,在内存中不会以任何形式出现原始密钥。同时,白盒加密算法保持与标准算法的算法一致性,即使用相同的明文,由标准对称加密算法和原始密钥生成的密文与白盒加密算法和白盒密钥生成的密文一致,反之亦然。提升了原始密钥以及加密数据的安全性,同时,即使白盒密钥被泄露,也不能通过白盒密钥分析出原始密钥。
可选的,所述标准对称加密算法包括SM4算法、DES算法和/或AES算法;其中,DES算法包括DES和/或3DES算法,AES算法包括AES-128算法、AES-192算法和/或AES-256算法。
可选的,所述根据标准对称算法和预设规则生成与所述白盒密钥对应的所述白盒加密算法包括:
在预设的标准对称加密算法中加入置乱矩阵生成白盒加密算法。
在上述实施例的基础上,所述根据标准对称加密算法和预设规则生成与所述白盒密钥对应的所述白盒加密算法,包括:
根据标准对称加密算法和预设规则生成第一加密层和第二加密层;
基于所述第一加密层和所述第二加密层确定白盒AES算法;
其中,所述第一加密层包括白盒加法层,第二加密层包括字节替代层、行位移层和列混淆层;
相应的,所述根据所述白盒密钥和与所述白盒加密算法对目标明文进行加密包括:
基于所述白盒密钥和所述白盒AES算法对所述目标明文进行加密,生成目标密文。
可选的,所述装置还包括:进一步的,所述装置还包括密文解密模块,用于根据所述白盒密钥和与所述白盒解密算法对所述目标密文进行解密,生成目标明文,其中,所述白盒解密算法是与所述白盒加密算法对应的逆变换。
本实施例的技术方案通过将标准对称加密算法改进,比如添加置乱矩阵生成白盒加密算法,增加加密算法的复杂性,从而减小数据和白盒密钥被窃取或者分析的可能性,提高数据的安全性。同时可以根据需要的安全强度或者终端的内存大小配置具体的白盒加密算法。上述产品可执行本发明任意实施例所提供的加密方法,具备执行加密方法相应的功能模块和有益效果。值得注意的是,上述加密装置的实施例中,所包括的各个模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
实施例七
图9是本实施例提供的一种加密系统,参见图9,该系统包括服务器920和终端910,所述服务器920,用于获取原始密钥,并根据预设的白盒密钥生成算法和所述原始密钥生成白盒密钥,并将所述白盒密钥发送至终端910。
所述终端910,用于接收所述服务器920所发送的所述白盒密钥,并根据标准对称算法和预设规则生成与所述白盒密钥对应的所述白盒加密算法,以及根据所述白盒密钥和与所述白盒加密算法对目标明文进行加密,生成目标密文。和/或所述终端还用于接收所述服务器所发送的所述白盒密钥,并根据标准对称算法和预设规则生成与所述白盒密钥对应的所述白盒解密算法,以及根据所述白盒密钥和与所述白盒解密算法对目标密文进行解密,生成目标明文。
其中,所述白盒密钥优选在安全环境下生成,即服务器处于安全环境中生成白盒密码,而终端处于白盒环境中对明文进行加密。
本实施例的技术方案,通过提供一种加密系统包括服务器和终端,服务器生成白盒密钥,终端接收白盒加密,并且使用白盒加密算法调用白盒密钥加解密时,在内存中不会以任何形式出现原始密钥。同时,白盒加密算法保持与标准算法的算法一致性,即使用相同的明文,由标准对称加密算法和原始密钥生成的密文与白盒加密算法和白盒密钥生成的密文一致,反之亦然。大大提升了原始密钥以及加密数据的安全性,同时,即使白盒密钥被泄露,也不能通过白盒密钥分析出原始密,并且可以根据需要的安全强度或者终端的内存大小配置具体的白盒加密算法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (13)

1.一种白盒密钥的生成方法,其特征在于,包括:
获取原始密钥,根据预设的白盒密钥生成算法和所述原始密钥生成白盒密钥;
将所述白盒密钥发送至终端,所述白盒密钥用于指示所述终端根据所述白盒密钥以及与所述白盒密钥对应的白盒加密算法对目标明文进行加密,生成目标密文。
2.根据权利要求1所述的方法,其特征在于,所述白盒密钥还用于指示所述终端根据所述白盒密钥以及与所述白盒密钥对应的白盒解密算法对目标密文进行解密,生成目标明文,其中,所述白盒解密算法是与所述白盒加密算法对应的逆变换。
3.一种加密方法,其特征在于,包括:
接收服务器所发送的根据预设的白盒密钥生成算法和所述原始密钥生成的白盒密钥;
根据标准对称加密算法和预设规则生成与所述白盒密钥对应的所述白盒加密算法;
根据所述白盒密钥和与所述白盒加密算法对目标明文进行加密,生成目标密文。
4.根据权利要求3所述的方法,其特征在于,所述标准对称加密算法包括SM4算法、DES算法和/或AES算法;其中,DES算法包括DES和/或3DES算法,AES算法包括AES-128算法、AES-192算法和/或AES-256算法。
5.根据权利要求3所述的方法,其特征在于,所述根据标准对称算法和预设规则生成与所述白盒密钥对应的所述白盒加密算法包括:
在预设的标准对称加密算法中加入置乱矩阵生成白盒加密算法。
6.根据权利要求5所述的方法,其特征在于,所述标准对称加密算法为AES算法,所述根据标准对称加密算法和预设规则生成与所述白盒密钥对应的所述白盒加密算法,包括:
根据标准对称加密算法和预设规则生成第一加密层和第二加密层;
基于所述第一加密层和所述第二加密层确定白盒AES加密算法;
其中,所述第一加密层包括白盒加法层,第二加密层包括字节替代层、行位移层和列混淆层;
相应的,所述根据所述白盒密钥和与所述白盒加密算法对目标明文进行加密包括:
基于所述白盒密钥和所述白盒AES算法对所述目标明文进行加密,生成目标密文。
7.根据权利要求3所述的方法,其特征在于,在所述根据所述白盒密钥和与所述白盒加密算法对目标明文进行加密,生成目标密文之后,还包括:
根据所述白盒密钥和与所述白盒密钥对应的白盒解密算法对所述目标密文进行解密,生成目标明文,其中,所述白盒解密算法是与所述白盒加密算法对应的逆变换。
8.一种白盒密钥的生成装置,其特征在于,包括:
密钥生成模块,用于获取原始密钥,根据预设的白盒密钥生成算法和所述原始密钥生成白盒密钥;
密钥发送模块,用于将所述白盒密钥发送至终端,所述白盒密钥用于指示所述终端根据所述白盒密钥以及与所述白盒密钥对应的白盒加密算法对目标明文进行加密,生成目标密文。
9.一种加密装置,其特征在于,包括:
密钥接收模块,用于接收服务器所发送的根据预设的白盒密钥生成算法和所述原始密钥生成的白盒密钥;
算法生成模块,用于根据标准对称算法和预设规则生成与所述白盒密钥对应的所述白盒加密算法;
明文加密模块,用于根据所述白盒密钥和与所述白盒加密算法对目标明文进行加密,生成目标密文。
10.根据权利要求9所述的装置,其特征在于,所述根据标准对称算法和预设规则生成与所述白盒密钥对应的所述白盒加密算法包括:
在预设的标准对称加密算法中加入置乱矩阵生成白盒加密算法。
11.根据权利要求9所述的装置,其特征在于,所述标准对称加密算法为AES算法,所述根据标准对称加密算法和预设规则生成与所述白盒密钥对应的所述白盒加密算法,包括:
根据标准对称加密算法和预设规则生成第一加密层和第二加密层;
基于所述第一加密层和所述第二加密层确定白盒AES算法;
其中,所述第一加密层包括白盒加法层,第二加密层包括字节替代层、行位移层和列混淆层;
相应的,所述根据所述白盒密钥和与所述白盒加密算法对目标明文进行加密包括:
基于所述白盒密钥和所述白盒AES算法对所述目标明文进行加密,生成目标密文。
12.一种加密系统,其特征在于,包括:服务器和终端;
所述服务器,用于获取原始密钥,并根据预设的白盒密钥生成算法和所述原始密钥生成白盒密钥,并将所述白盒密钥发送至终端;
所述终端,用于接收所述服务器所发送的所述白盒密钥,并根据标准对称算法和预设规则生成与所述白盒密钥对应的所述白盒加密算法,以及根据所述白盒密钥和与所述白盒加密算法对目标明文进行加密,生成目标密文。
13.根据权利要求12所述的系统,其特征在于,所述终端还用于根据所述白盒密钥和与所述白盒密钥对应的白盒解密算法对目标密文进行解密,生成目标明文,其中,所述白盒解密算法是与所述白盒加密算法对应的逆变换。
CN201711384576.2A 2017-12-20 2017-12-20 白盒密钥的生成方法和加密方法、装置及系统 Pending CN108123794A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711384576.2A CN108123794A (zh) 2017-12-20 2017-12-20 白盒密钥的生成方法和加密方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711384576.2A CN108123794A (zh) 2017-12-20 2017-12-20 白盒密钥的生成方法和加密方法、装置及系统

Publications (1)

Publication Number Publication Date
CN108123794A true CN108123794A (zh) 2018-06-05

Family

ID=62229692

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711384576.2A Pending CN108123794A (zh) 2017-12-20 2017-12-20 白盒密钥的生成方法和加密方法、装置及系统

Country Status (1)

Country Link
CN (1) CN108123794A (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110149311A (zh) * 2019-04-09 2019-08-20 北京奇艺世纪科技有限公司 数据处理方法、装置、服务器及可读存储介质
CN110602138A (zh) * 2019-09-26 2019-12-20 腾讯科技(深圳)有限公司 区块链网络的数据处理方法、装置、电子设备及存储介质
CN111343421A (zh) * 2020-02-19 2020-06-26 成都三零凯天通信实业有限公司 一种基于白盒加密的视频共享方法和系统
CN111831978A (zh) * 2019-04-23 2020-10-27 北京京东尚科信息技术有限公司 一种对配置文件进行保护的方法及装置
CN111901097A (zh) * 2020-08-06 2020-11-06 成都卫士通信息产业股份有限公司 一种白盒实现方法、装置、电子设备及计算机存储介质
CN111901109A (zh) * 2020-08-04 2020-11-06 华人运通(上海)云计算科技有限公司 基于白盒的通信方法、装置、设备和存储介质
CN113536291A (zh) * 2021-09-13 2021-10-22 杭州海康威视数字技术股份有限公司 数据安全分级的白盒密码生成与管理方法、装置及设备
CN113722741A (zh) * 2021-09-07 2021-11-30 浙江大华技术股份有限公司 数据加密方法及装置、数据解密方法及装置
CN114124364A (zh) * 2020-08-27 2022-03-01 国民技术股份有限公司 密钥安全处理方法、装置、设备及计算机可读存储介质
CN114422123A (zh) * 2021-12-23 2022-04-29 中国电信股份有限公司 通信方法、装置、电子设备和计算机可读介质
CN114679287A (zh) * 2020-12-24 2022-06-28 美的集团股份有限公司 数据处理方法、系统、电子设备及存储介质
CN115987483A (zh) * 2022-12-19 2023-04-18 豪符密码检测技术(成都)有限责任公司 一种检测白盒密码的方法
CN116633529A (zh) * 2023-07-25 2023-08-22 中电信量子科技有限公司 采用派生密钥增强白盒sm4密码算法的方法及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681025A (zh) * 2016-01-29 2016-06-15 中国科学院信息工程研究所 一种国家密码标准算法sm4的安全白盒实现方法和装置
CN106411518A (zh) * 2016-09-26 2017-02-15 北京洋浦伟业科技发展有限公司 一种密钥不固定的对称白盒加密方法和装置
US20170149559A1 (en) * 2015-11-25 2017-05-25 Nxp, B.V. Protecting white-box feistel network implementation against fault attack
CN107483387A (zh) * 2016-06-08 2017-12-15 北京数码视讯软件技术发展有限公司 一种安全控制方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170149559A1 (en) * 2015-11-25 2017-05-25 Nxp, B.V. Protecting white-box feistel network implementation against fault attack
CN105681025A (zh) * 2016-01-29 2016-06-15 中国科学院信息工程研究所 一种国家密码标准算法sm4的安全白盒实现方法和装置
CN107483387A (zh) * 2016-06-08 2017-12-15 北京数码视讯软件技术发展有限公司 一种安全控制方法及装置
CN106411518A (zh) * 2016-09-26 2017-02-15 北京洋浦伟业科技发展有限公司 一种密钥不固定的对称白盒加密方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
尚培: "SMS4算法的白盒密码算法设计与实现", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 *
蒋雪峰: "Android白盒加密的应用研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110149311B (zh) * 2019-04-09 2021-05-25 北京奇艺世纪科技有限公司 数据处理方法、装置、服务器及可读存储介质
CN110149311A (zh) * 2019-04-09 2019-08-20 北京奇艺世纪科技有限公司 数据处理方法、装置、服务器及可读存储介质
CN111831978A (zh) * 2019-04-23 2020-10-27 北京京东尚科信息技术有限公司 一种对配置文件进行保护的方法及装置
CN110602138A (zh) * 2019-09-26 2019-12-20 腾讯科技(深圳)有限公司 区块链网络的数据处理方法、装置、电子设备及存储介质
CN111343421B (zh) * 2020-02-19 2020-12-29 成都三零凯天通信实业有限公司 一种基于白盒加密的视频共享方法和系统
CN111343421A (zh) * 2020-02-19 2020-06-26 成都三零凯天通信实业有限公司 一种基于白盒加密的视频共享方法和系统
CN111901109A (zh) * 2020-08-04 2020-11-06 华人运通(上海)云计算科技有限公司 基于白盒的通信方法、装置、设备和存储介质
CN111901097A (zh) * 2020-08-06 2020-11-06 成都卫士通信息产业股份有限公司 一种白盒实现方法、装置、电子设备及计算机存储介质
CN111901097B (zh) * 2020-08-06 2023-04-07 成都卫士通信息产业股份有限公司 一种白盒实现方法、装置、电子设备及计算机存储介质
CN114124364B (zh) * 2020-08-27 2024-05-24 国民技术股份有限公司 密钥安全处理方法、装置、设备及计算机可读存储介质
CN114124364A (zh) * 2020-08-27 2022-03-01 国民技术股份有限公司 密钥安全处理方法、装置、设备及计算机可读存储介质
CN114679287A (zh) * 2020-12-24 2022-06-28 美的集团股份有限公司 数据处理方法、系统、电子设备及存储介质
CN113722741A (zh) * 2021-09-07 2021-11-30 浙江大华技术股份有限公司 数据加密方法及装置、数据解密方法及装置
CN113536291B (zh) * 2021-09-13 2021-12-24 杭州海康威视数字技术股份有限公司 数据安全分级的白盒密码生成与管理方法、装置及设备
CN113536291A (zh) * 2021-09-13 2021-10-22 杭州海康威视数字技术股份有限公司 数据安全分级的白盒密码生成与管理方法、装置及设备
CN114422123A (zh) * 2021-12-23 2022-04-29 中国电信股份有限公司 通信方法、装置、电子设备和计算机可读介质
CN115987483A (zh) * 2022-12-19 2023-04-18 豪符密码检测技术(成都)有限责任公司 一种检测白盒密码的方法
CN115987483B (zh) * 2022-12-19 2024-01-30 豪符密码检测技术(成都)有限责任公司 一种检测白盒密码的方法
CN116633529A (zh) * 2023-07-25 2023-08-22 中电信量子科技有限公司 采用派生密钥增强白盒sm4密码算法的方法及设备
CN116633529B (zh) * 2023-07-25 2023-10-31 中电信量子科技有限公司 采用派生密钥增强白盒sm4密码算法的方法及设备

Similar Documents

Publication Publication Date Title
CN108123794A (zh) 白盒密钥的生成方法和加密方法、装置及系统
Kumari et al. A survey of image encryption algorithms
CN104022872B (zh) 数据加密方法
EP2829010B1 (en) Updating key information
WO2006012363A1 (en) Stream cipher combining system and method
CN106059752B (zh) 一种基于扩张密文的白盒密码加解密方法
CN103067166A (zh) 一种智能家庭系统的分级混合加密方法及装置
Reyad et al. Key-based enhancement of data encryption standard for text security
CN111314050A (zh) 一种加解密方法及装置
CN108667598B (zh) 用于实现安全密钥交换的设备和方法及安全密钥交换方法
Kaur et al. A random selective block encryption technique for secure image cryptography using blowfish algorithm
US8804953B2 (en) Extensive ciphertext feedback
Alemami et al. Advanced approach for encryption using advanced encryption standard with chaotic map
EP2904731B1 (en) Method and device for digital data blocks encryption and decryption
Neha Enhanced security using hybrid encryption algorithm
KR20190020988A (ko) 컴퓨터 실행 가능한 경량 화이트박스 암호화 방법 및 장치
Bin Muhaya et al. Modified AES using chaotic key generator for satellite imagery encryption
CN107493287A (zh) 工控网络数据安全系统
Yoo et al. A method for secure and efficient block cipher using white-box cryptography
Srikantaswamy et al. Enhanced onetime pad cipher with morearithmetic and logical operations with flexible key generation algorithm
CN105471849A (zh) 一种数据交换服务与传输过程的安全控制方法
Nagaraj et al. Image security using ECC approach
Manikandaprabhu et al. A Review of Encryption and Decryption of Text Using the AES Algorithm
Acharya et al. Encryption and decryption of informative image by key image using modified Hill cipher technique based on non-invertible matrices
KR20110042419A (ko) 멀티미디어 환경에 적용 가능한 블록암호 운용방법

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180605