CN109067517B - 加密、解密装置、加密、解密方法和隐藏密钥的通信方法 - Google Patents
加密、解密装置、加密、解密方法和隐藏密钥的通信方法 Download PDFInfo
- Publication number
- CN109067517B CN109067517B CN201810649367.4A CN201810649367A CN109067517B CN 109067517 B CN109067517 B CN 109067517B CN 201810649367 A CN201810649367 A CN 201810649367A CN 109067517 B CN109067517 B CN 109067517B
- Authority
- CN
- China
- Prior art keywords
- random number
- key
- module
- decryption
- encryption
- 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
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000004891 communication Methods 0.000 title claims abstract description 40
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 73
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000012217 deletion Methods 0.000 claims description 2
- 230000037430 deletion Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000009795 derivation Methods 0.000 description 1
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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/088—Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/105—Arrangements for software license management or administration, e.g. for managing licenses at corporate level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及信息安全技术领域,具体涉及一种加密装置、解密装置、加密方法、解密方法和隐藏密钥的通信方法。本发明公开了一种加解密过程,包括:明文P→密钥K加密获得密文C→随机数Δt编码获得密文C′→编码后的密钥解密获得明文P′→随机数Δ0解码获得明文P。本发明使用密钥K对明文进行加密,但不使用密钥K来解密,而是使用经随机数编码的密钥进行解密。从而达到隐藏和保护密钥的目的。在保证解码单元安全的前提下,本发明算法在抗白盒攻击方面和计算效率方面均优于密码算法的白盒实现。
Description
技术领域
本发明涉及信息安全技术领域,具体涉及一种加密、解密装置、加密、解密方法和隐藏密钥的通信方法。
背景技术
在数字版权保护等应用中,服务器将数字资源加密后下发给客户端,客户端在本地解密并消费数字资源。传统的密码学建立在黑盒模型下,即假设解密算法运行在一个可信终端上,其运行过程不可查看、不可更改等。但实际的客户端可能被掌握在任何攻击者手中,甚至有些合法终端用户都有可能是攻击者,客户端所处的运行环境将完全不可控。攻击者可能可以直接监控解密算法的运行过程,获取解密算法的一些中间运算结果,在此种情况下,黑盒安全的密码算法标准实现将不再安全。针对此种应用场景,人们构造了一些密码算法的白盒实现方案,用于保护不可信终端上运行的密码算法的密钥安全。但目前人们对标准算法构造的白盒密码方案都是采用查找表方式实现的,尚未构造出安全、高效的白盒方案,且这些白盒方案所需存储空间极大,在计算、存储和网络等硬件资源相对有限的弱终端上完全无法真正投入应用。因此,需要一种方法,能够在资源有限的弱终端上保护密钥。
发明内容
有鉴于此,本发明的目的是提供一种加密装置、解密装置、加密方法、解密方法和隐藏密钥的通信方法,能够在资源有限的弱终端上保护密钥。
本申请提供一种加密装置,包括:第一接收模块、数据加密模块、第一获取模块、随机数生成模块、数据编码模块、密钥编码模块和发送模块,其中,
所述第一接收模块,用于接收密钥K、待加密的明文P;
所述数据加密模块,用于根据加密算法使用密钥K对明文P进行加密,获得密文C;其中,与所述加密算法相对应的解密算法的轮函数F满足以下条件:存在可公开计算的函数g,h,对任意的随机数Δ,满足F(X⊕Δ,K⊕g(Δ))=F(X,K)⊕h(Δ),其中X为轮变换的中间值;
所述第一获取模块,用于获取与加密方身份信息唯一对应的随机数Δt和与解密方身份信息唯一对应的随机数Δ0;
所述随机数生成模块,用于生成随机数Δ1,Δ2…,Δt-1,其中t表示加密运算的轮数;
所述数据编码模块,用于使用随机数Δt对密文C进行编码,获得密文C′;
所述密钥编码模块,用于根据所述加密算法的密钥扩展算法使用密钥K计算轮密钥K1,K2,…,Kt;使用随机数Δ0、随机数Δ1,Δ2,…,Δt-1和随机数Δt对轮密钥K1,K2,…,Kt进行编码,获得K′1,K′2,…,K′t;以及使用随机数Δ0、随机数Δ1,Δ2,…,Δt-1和随机数Δt计算随机数Λ0,Λ1,…,Λt-1;
所述发送模块,用于发送密文C′、轮密钥K′1,K′2,…,K′t和随机数Λ0,Λ1,…,Λt-1。
优选地,所述加密装置还包括删除模块,所述删除模块用于在所述数据加密模块获得密文C之后删除明文P。
优选地,所述加密装置在所述数据编码模块和所述发送模块之间还包括密文存储模块,所述数据编码模块将密文C′传递至所述密文存储模块,所述密文存储模块将密文C′传递至所述发送模块。
具体地,所述数据编码模块使用随机数Δt对密文C进行编码,获得密文C′包括:计算C′=C⊕Δt。
具体地,所述密钥编码模块使用随机数Δ0,Δ1,…,Δt对轮密钥K1,K2,…,Kt进行编码包括:计算K′r=Kr⊕g(Δr),r=1,2,…,t。
具体地,所述密钥编码模块使用随机数Δ0、随机数Δ1,Δ2,…,Δt-1和随机数Δt计算随机数Λ0,Λ1,…,Λt-1包括:计算Λr-1=h(Δr)⊕Δr-1,r=1,2,…,t。
进一步地,本发明还提供一种与前述加密装置相对应的解密装置,包括:第二接收模块、数据解密模块、第二获取模块和数据解码模块,其中,
所述第二接收模块,用于接收密文C′、轮密钥K′1,K′2,…,K′t和随机数Λ0,Λ1,…,Λt-1;
所述数据解密模块,用于根据与所述加密装置所使用的加密算法相对应的解密算法,使用轮密钥K′1,K′2,…,K′t和随机数Λ0,Λ1,…,Λt-1对密文C′进行解密运算,获得明文P′;
所述第二获取模块,用于获取与解密方身份信息唯一对应的随机数Δ0;
所述数据解码模块,用于使用随机数Δ0对明文P′进行解码,获得明文P。
具体地,所述数据解密模块使用轮密钥K′1,K′2,…,K′t和随机数Λ1,Λ2,…,Λt对密文C′进行解密运算,获得明文P′包括:计算X′r-1=F(X′r,K′′)⊕Λr-1,r=t,t-1,…,1,其中t表示解密运算的轮数,X′t=C′,P′=X′0。
具体地,所述数据解码模块使用随机数Δ0对明文P′进行解码,获得明文P包括:计算P=P′⊕Δ0。
优选地,所述解密装置还包括显示模块,所述显示模块用于显示明文P。
优选地,所述解密装置还包括安全区域,所述第二获取模块在所述安全区域中获取随机数Δ0;所述数据解码模块在所述安全区域中使用随机数Δ0对明文P′进行解码,获得明文P,并在所述安全区域中将明文P传递至所述显示模块。
进一步地,本发明还提供一种加密方法,包括:
接收密钥K和待加密的明文P;根据加密算法使用密钥K对明文P进行加密,获得密文C;其中,与所述加密算法相对应的解密算法的轮函数F满足以下条件:存在可公开计算的函数g,h,对任意的随机数Δ,满足F(X⊕Δ,K⊕g(Δ))=F(X,K)⊕h(Δ),其中X为轮变换的中间值;
获取与加密方身份信息唯一对应的随机数Δt和与解密方身份信息唯一对应的随机数Δ0;
随机生成随机数Δ1,Δ2,…,Δt-1,其中t表示加密运算的轮数;
使用随机数Δt对密文C进行编码,获得密文C′;
根据所述加密算法的密钥扩展算法使用密钥K计算轮密钥K1,K2,…,Kt;
使用随机数Δ0、随机数Δ1,Δ2,…,Δt-1和随机数Δt对轮密钥K1,K2,…,Kt进行编码,获得轮密钥K′1,K′2,…,K′t;
使用随机数Δ0、随机数Δ1,Δ2,…,Δt-1和随机数Δt计算随机数Λ0,Λ1,…,Λt-1;
发送密文C′、轮密钥K′1,K′2,…,K′t和随机数Λ0,Λ1,…,Λt-1。
优选地,在所述根据加密算法使用密钥K对明文P进行加密,获得密文C之后,所述加密方法还包括删除明文P。
进一步地,本发明还提供一种与前述加密方法相对应的解密方法,包括:
接收密文C′、轮密钥K′1,K′2,…,K′t和随机数Λ0,Λ1,…,Λt-1;
根据与所述加密方法所使用的加密算法相对应的解密算法,使用轮密钥K′1,K′2,…,K′t和随机数Λ0,Λ1,…,Λt-1对密文C′进行解密运算,获得明文P′;
获取与解密方身份信息唯一对应的随机数Δ0;
使用随机数Δ0对明文P′进行解码,获得明文P。
优选地,在所述获得明文P之后,所述解密方法还包括在安全区域显示明文P。
进一步地,本发明还提供一种隐藏密钥的通信方法,所述通信在第一通信方和第二通信方之间进行,所述隐藏密钥的通信方法包括:
所述第一通信方执行如上所述的加密方法,将密文C′、轮密钥K′1,K′2,…,K′t和随机数Λ0,Λ1,…,Λt-1发送至所述第二通信方;
所述第二通信方执行如上所述的解密方法。
与现有技术相比,本发明使用密钥K对明文进行加密,但不使用密钥K来解密,而是使用经随机数编码的密钥进行解密,从而可以达到隐藏密钥的目的。因此,相较于黑盒安全的密码算法标准实现,本发明能够更有效地对密钥进行保护。而相较于标准算法的白盒实现,本发明只需要额外存储分组长度相同的比特数目的随机数,极大地降低了存储空间,因此能够更好地适应弱终端环境。此外,在保证数据解码器模块安全的前提下,本发明算法在抗白盒攻击方面和计算效率方面均优于现有的密码算法白盒实现方式。
附图说明
图1为本发明的一种隐藏密钥的通信方法的实施方式的示意图;
图2为本发明的一种加密装置的结构示意图;
图3为本发明的一种解密装置的结构示意图。
具体实施方式
为了使本领域的技术人员更好地理解本发明的技术方案,下面结合附图和具体实施例对本发明作进一步的详细说明。
分组密码的加解密过程一般如下:
(a)使用密钥扩展算法将密钥K扩展为轮密钥{K1,K2,…,Kt}=Key_Expanded(K)
(b)对明文P进行加密,获得密文C=Enc(P,K),其中加密过程可表示为:Xr=G(Xr-1,Kr),r=1,2,…,t,X0=P,C=Xt,t称为加密运算的轮数,G称为加密轮函数。
(c)对密文C进行解密,获得明文P=Dec(C,K),其中解密过程可表示为:Xr-1=F(Xr,Kr),r=t,t-1,…,1,Xt=C,P=X0,F称为解密轮函数。
本方案,我们针对解密轮函数具有如下性质的密码函数构造了新型密钥隐藏方案:
存在可公开计算的函数g,h,对任意的Δ,解密轮函数F满足:
F(X⊕Δ,Y⊕g(Δ))=F(X,Y)⊕h(Δ)
满足上述条件的密码函数常见的有DES、SM4等。
如图1所示,本发明提供一种加解密方法,包括:
(1)接收密钥K和待加密的明文P,根据加密算法使用密钥K对明文P进行加密,获得密文C。
(2)获取与加密方身份信息唯一对应的随机数Δt及与解密方身份信息唯一对应的随机数Δ0,并随机生成随机数Δ1,Δ2…,Δt-1。为方便起见,下文还将随机数Δ0、随机数Δ1,Δ2,…,Δt-1和随机数Δt记作随机数Δ0,Δ1,…,Δt。
(3)使用随机数Δt对密文C进行编码,获得密文C′。
(4)根据加密算法的密钥扩展算法使用密钥K计算轮密钥K1,K2,…,Kt。
(5)使用随机数Δ0,Δ1,…,Δt对轮密钥K1,K2,…,Kt进行编码,获得轮密钥K′1,K′2,…,K′t。
(6)使用随机数Δ0,Δ1,…,Δt计算随机数Λ0,Λ1,…,Λt-1。所述随机数Λ0,Λ1,…,Λt-1用于辅助解密。
(7)根据与加密算法相对应的解密算法,使用轮密钥K′1,K′2,…,K′t和随机数
Λ0,Λ1,…,Λt-1对密文C′进行解密运算,获得明文P′。
(8)使用随机数Δ0对明文P′进行解码,获明文P。
需要说明的是,上述步骤(1)-(8)的表示方式仅为举例说明,并不用于限制各步骤的执行顺序,在实际应用中,可根据实际需要设定各步骤的执行顺序,只要最终能够得到所需的结果即可,后续涉及到的步骤也同样如此,不再赘述。
上述加解密过程亦可用公式表达为:
(1)C=Enc(P,K)其中,Enc()是加密算法
(2)获取随机数Δ0,Δt,随机生成Δ1,Δ2,…,Δt-1。
(3)C′=C⊕Δt。
(4){K1,K2,…,Kt}=Key_Expanded(K);其中,Key_Kxpanded()是密钥扩展函数。
(5)K′r=Kr⊕g(Δr),r=1,2,…,t。
(6)Λr-1=h(Δr)⊕Δr-1,r=t,t-1,…,1。
(7)X′r-1=F(X′r,K′r)⊕Λr-1,r=1,2,…,t,其中,X′t=C′,P′=X′0。
(8)P=P′⊕Δ0。
具体地,关于上述公式(8)的推导过程如下:
由编码后的密文C′=X′t=C⊕Δt得
X′t-1=F(X′t,K′t)⊕Λt-1
=F(Xt⊕Δt,Kt⊕g(Δt))⊕Λt-1
=F(Xt,Kt)⊕h(Δt)⊕Λt-1
=Xt-1⊕Δt-1
以此类推易知P′=X′0=X0⊕Δ0=P⊕Δ0从而明文P=P′⊕Δ0。
从以上推导可知,在本发明的解密过程中只使用了变换后的轮密钥K′r及随机数Λr,然后对解密后的数据使用随机数Δ0解码就可以得到原始明文。
换言之,一般的加解密过程是:明文P→密钥K加密获得密文C→密钥K解密获得明文P。
本发明的加解密过程是:明文P→密钥K加密获得密文C→随机数Δt编码获得密文C′→编码后的密钥解密获得明文P′→随机数Δ0解码获得明文P。
由此可见,本发明使用密钥K对明文进行加密,但不使用密钥K来解密,而是使用经随机数编码的密钥进行解密。从而达到隐藏密钥的目的。此外,在本发明的解密过程中,只使用轮密钥K′1,K′2,…,K′t及随机数Λ0,Λ1,…,Λt-1进行解密,但仅凭轮密钥K′1,K′2,…,K′t和随机数Λ0,Λ1,…,Λt-1无法恢复真实轮密钥,因此,即使攻击者提取到轮密钥K′1,K′2,…,K′t及随机数Λ0,Λ1,…,Λt-1,也无法仅凭这两个参数获得真实轮密钥K1,K2,…,Kt。因此,本发明具有隐藏和保护密钥的有益效果。
而相较于标准算法的白盒实现,本发明只需要额外存储分组长度相同的比特数目的随机数,极大地降低了存储空间。并且,本发明通过变换轮密钥,使用随机数隐藏密钥,省去了白盒方案中生成查找表所需要的计算资源。因此能够更好地适应弱终端环境。
优选地,在步骤(1)之后,即获得密文C之后,删除明文P。通过这样的设置可以减少明文P以明文存在的时间,因此可以提升明文的安全性。
相应地,本发明提出一种隐藏密钥的通信方法,所述通信在第一通信方和第二通信方之间进行。第一通信方用于对要通信的数据进行加密,第二通信方用于对接收到的数据进行解密。优选地,第一通信方为服务器,第二通信方为客户端,但本发明不限于此,第一通信方和第二通信方可以是任何需要通信的两方。
在该实施方式中,第一通信方具有与其身份信息唯一对应的随机数Δt,第二通信方具有与其身份信息唯一对应的随机数Δ0。随机数Δt仅由第一通信方掌握,不与第二通信方共享。随机数Δ0被第一通信方与第二通信方共享。这里需要说明,所述随机数Δt和随机数Δ0之所以谓之随机数是指该数在生成的时候是随机的,但指定给第一通信方或第二通信方后该数就是固定的了,不再改变。
第一通信方和第二通信方之间的通信方法包括:
第一通信方执行上述步骤(1)-(6),然后将密文C′、轮密钥K′r和随机数Λr发送至第二通信方。
第二通信方接收第一通信方发送的密文C′、轮密钥K′r和随机数Λr,然后执行上述步骤(7)-(8)。
同理,本发明的隐藏密钥的通信方法具有隐藏和保护密钥的有益效果。
相应地,本发明还提供一种加密装置和一种解密装置。
如图2所示,加密装置包括第一接收模块11、数据加密模块12、第一获取模块13、随机数生成模块14、数据编码模块15、密钥编码模块16和发送模块17,其中,
所述第一接收模块11,用于接收密钥K、待加密的明文P;
所述数据加密模块12,用于根据加密算法使用密钥K对明文P进行加密,获得密文C;其中,所述加密算法具有特征:与所述加密算法相对应的解密算法的轮函数F满足以下条件:存在可公开计算的函数g,h,对任意的随机数Δ,满足F(X⊕Δ,K⊕g(Δ))=F(X,K)⊕h(Δ),其中X为轮变换的中间值;
所述第一获取模块13,用于获取与加密方身份信息唯一对应的随机数Δt和与解密方身份信息唯一对应的随机数Δ0;
所述随机数生成模块14,用于生成随机数Δ1,Δ2…,Δt-1,其中t表示加密运算的轮数;
所述数据编码模块15,用于使用随机数Δt对密文C进行编码,获得密文C';
所述密钥编码模块16,用于根据所述加密算法的密钥扩展算法使用密钥K计算轮密钥K1,K2,…,Kt;使用随机数Δ0、随机数Δ1,Δ2,…,Δt-1和随机数Δt对轮密钥K1,K2,…,Kt进行编码,获得K′1,K'2,…,K't;以及使用随机数Δ0、随机数Δ1,Δ2,…,Δt-1和随机数Δt计算随机数Λ0,Λ1,…,Λt-1;
所述发送模块17,用于发送密文C′、轮密钥K′1,K′2,…,K′t和随机数Λ0,Λ1,…,Λt-1。
在一个优选的实施方式中,与加密方身份信息唯一对应的随机数Δt和与解密方身份信息唯一对应的随机数Δ0被提前存储在加密装置的存储器中,本发明加密装置通过读取自身的存储器来获取随机数Δt和随机数Δ0。当然,本发明不限于此,本发明加密装置也可以在需要时通过数据输入的方式获取随机数Δt和随机数Δ0。
在一个优选的实施方式中,所述加密装置还包括删除模块(未示出)。所述删除模块用于在所述数据加密模块12获得密文C之后删除明文P。
在一个优选的实施方式中,在数据编码模块15和发送模块17之间还包括密文存储模块(未示出)。数据编码模块15将密文C'传递至所述密文存储模块,密文存储模块将密文C′传递至所述发送模块17。通过这样的设置,加密装置可以将所有加密编码的数据都先放入密文存储器中,并在收到数据请求时,再一次性地发送所有数据。所述密文存储器不需要物理地存在于所述加密装置之中,可以位于加密方的服务器上,也可以位于其他服务商的云服务器上。
如图3所示,与加密装置对应的解密装置包括:包括第二接收模块21、数据解密模块22、第二获取模块23和数据解码模块24,其中,
所述第二接收模块21,用于接收前述加密装置所发送的密文C′、轮密钥K′1,K′2,…,K′t和随机数Λ0,Λ1,…,Λt-1;
所述数据解密模块22,用于根据与加密装置所使用的加密算法相对应的解密算法,使用轮密钥K′1,K′2,…,K′t和随机数Λ0,Λ1,…,Λt-1对密文C‘进行解密运算,获得明文P′;
所述第二获取模块23,用于获取与解密方身份信息唯一对应的随机数Δ0;
所述数据解码模块24,用于使用随机数Δ0对明文P'进行解码,获得明文P。
在一个优选的实施方式中,与解密方身份信息唯一对应的随机数Δ0被提前存储在解密装置的存储器中,本发明解密装置通过读取自身的存储器来获取随机数Δ0。当然,本发明不限于此,本发明解密装置也可以在需要时通过安全方式输入或生成随机数Δ0。
在一个优选的实施方式中,解密装置还包括显示模块25,所述显示模块包括显示器,用于显示包括明文P在内的数字资源供用户使用。
在一个优选的实施方式中,第二通信方包括安全区域,第二获取模块23在所述安全区域中获取随机数Δ0。所述数据解码模块24在所述安全区域中使用随机数Δ0对明文P′进行解码,获得明文P,并在所述安全区域中将明文P传递至显示模块25。在安全区域中将明文P传递至显示模块25的目的是为了确保攻击者无法获取该电子资源的原始明文信息。如在线视频服务中,用户可通过手机、电视等观看高清视频,但用户无法获取该高清视频所对应的原始明文信息,视频的原始明文所对应的高清格式资源才是该视频的主要价值所在,从而可通过本发明保护该电子资源。
即使是不可信终端也可以存在一部分安全区域。但通常由于这部分资源有限,计算效率较低,因此将整个解密过程完全放在安全区域中进行不切实际。在上述实施方式中,仅在安全区域中使用用户身份信息对应的随机数Δ0对明文P′进行解码,获明文P。由于解码的过程很简单,即使在安全区域中进行也不会造成显著延迟。在保证解码过程安全的前提下,下表是目前标准密码算法的标准实现、白盒实现和本发明在能够抵御的白盒攻击强度、计算效率和存储所需空间这几个方面的对比。
密码算法 | 白盒攻击强度 | 效率 | 存储 |
标准实现 | 0 | 100% | 1 |
白盒实现 | <2<sup>0.5·blocksize</sup> | <20% | >100 |
本发明 | 2<sup>blocksize</sup> | ≈100% | ≈1 |
通过上表可知,在白盒攻击环境下,密码算法标准实现中,密钥的安全性为0,即攻击者根据算法运行过程可直接提取密钥,其中blockszie表示分组长度。
目前关于标准算法的白盒实现方案,大多安全强度不及密钥长度的一半,且所需存储空间由原标准实现几KB扩张到几十甚至几百MB的规模,运行效率不及标准实现的20%,根本无法投入实际应用。如Chow等对DES的白盒实现方案的安全性不足230,肖雅莹等SM4的白盒实现的安全性不足248。
本实施方式的安全强度达到分组长度同等长度的安全性,且相比于算法标准实现,本方案所需存储空间的扩张几乎为0(只是多了几个随机数),本实施方案的运行效率与算法标准实现接近,完全可满足实际应用。
相应地,本发明还提供一种加密方法,包括:
接收待加密的明文P;
生成密钥K;
根据加密算法使用密钥K对明文P进行加密,获得密文C;其中,与所述加密算法相对应的解密算法的轮函数F满足以下条件:存在可公开计算的函数g,h,对任意的随机数Δ,满足F(X⊕Δ,K⊕g(Δ))=F(X,K)⊕h(Δ),其中X为轮变换的中间值;
获取与加密方身份信息唯一对应的随机数Δt和与解密方身份信息唯一对应的随机数Δ0;
随机生成随机数Δ1,Δ2,…,Δt-1,其中t表示加密运算的轮数;
使用随机数Δt对密文C进行编码,获得密文C';
根据所述加密算法的密钥扩展算法使用密钥K计算轮密钥K1,K2,…,Kt;
使用随机数Δ0、随机数Δ1,Δ2,…,Δt-1和随机数Δt对轮密钥K1,K2,…,Kt进行编码,获得轮密钥K′1,K′2,…,K′t;
使用随机数Δ0、随机数Δ1,Δ2,…,Δt-1和随机数Δt计算随机数Λ0,Λ1,…,Λt-1;
发送密文C、轮密钥K′1,K′2,…,K′t和随机数Λ0,Λ1,…,Λt-1。
相应地,本发明还提供一种与前述加密方法相对应的解密方法,包括:
接收密文C′、轮密钥K′1,K′2,…,K′t和随机数Λ0,Λ1,…,Λt-1;
根据与前述加密方法所使用的加密算法相对应的解密算法,使用轮密钥K′1,K′2,…,K′t和随机数Λ0,Λ1,…,Λt-1对密文C'进行解密运算,获得明文P';
获取与解密方身份信息唯一对应的随机数Δ0;
使用随机数Δ0对明文P′进行解码,获得明文P。
以上仅是本发明的优选实施方式,应当指出的是,上述优选实施方式不应视为对本发明的限制,本发明的保护范围应当以权利要求所限定的范围为准。对于本技术领域的普通技术人员来说,在不脱离本发明的精神和范围内,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (16)
1.一种加密装置,其特征在于,包括:第一接收模块、数据加密模块、第一获取模块、随机数生成模块、数据编码模块、密钥编码模块和发送模块,其中,
所述第一接收模块,用于接收密钥K、待加密的明文P;
所述数据加密模块,用于根据加密算法使用密钥K对明文P进行加密,获得密文C;其中,所述加密算法具有特征:与所述加密算法相对应的解密算法的轮函数F满足以下条件:存在可公开计算的密码函数g(Δ),h(Δ),对任意的随机数Δ,满足其中X为轮变换的中间值;
所述第一获取模块,用于获取与加密方身份信息唯一对应的随机数Δt和与解密方身份信息唯一对应的随机数Δ0;
所述随机数生成模块,用于生成随机数Δ1,Δ2…,Δt-1,其中t表示加密运算的轮数;
所述数据编码模块,用于使用随机数Δt对密文C进行编码,获得密文C′;
所述密钥编码模块,用于根据所述加密算法的密钥扩展算法使用密钥K计算轮密钥K1,K2,…,Kt;根据密码函数g(Δ),使用随机数Δ0、随机数Δ1,Δ2,…,Δt-1和随机数Δt对轮密钥K1,K2,…,Kt进行编码,获得K′1,K′2,…,K′t;以及根据密码函数h(Δ),使用随机数Δ0、随机数Δ1,Δ2,…,Δt-1和随机数Δt计算随机数Λ0,Λ1,…,Λt-1;
所述发送模块,用于发送密文C′、轮密钥K′1,K′2,…,K′t和随机数Λ0,Λ1,…,Λt-1。
2.根据权利要求1所述的加密装置,其特征在于,所述加密装置还包括删除模块,所述删除模块用于在所述数据加密模块获得密文C之后删除明文P。
3.根据权利要求1所述的加密装置,其特征在于,所述加密装置在所述数据编码模块和所述发送模块之间还包括密文存储模块,所述数据编码模块将密文C′传递至所述密文存储模块,所述密文存储模块将密文C′传递至所述发送模块。
7.一种与权利要求1所述的加密装置相对应的解密装置,其特征在于,包括:第二接收模块、数据解密模块、第二获取模块和数据解码模块,其中,
所述第二接收模块,用于接收密文C′、轮密钥K′1,K′2,…,K′t和随机数Λ0,Λ1,…,Λt-1;
所述数据解密模块,用于根据与所述加密装置所使用的加密算法相对应的解密算法,使用轮密钥K′1,K′2,…,K′t和随机数Λ0,Λ1,…,Λt-1对密文C′进行解密运算,获得明文P′;
所述第二获取模块,用于获取与解密方身份信息唯一对应的随机数Δ0;
所述数据解码模块,用于使用随机数Δ0对明文P′进行解码,获得明文P。
10.根据权利要求7所述的解密装置,其特征在于,所述解密装置还包括显示模块,所述显示模块用于显示明文P。
11.根据权利要求10所述的解密装置,其特征在于,所述解密装置还包括安全区域,所述第二获取模块在所述安全区域中获取随机数Δ0;所述数据解码模块在所述安全区域中使用随机数Δ0对明文P′进行解码,获得明文P,并在所述安全区域中将明文P传递至所述显示模块。
12.一种加密方法,其特征在于,包括:
接收密钥K和待加密的明文P;根据加密算法使用密钥K对明文P进行加密,获得密文C;其中,与所述加密算法相对应的解密算法的轮函数F满足以下条件:存在可公开计算的密码函数g(Δ),h(Δ),对任意的随机数Δ,满足 其中X为轮变换的中间值;
获取与加密方身份信息唯一对应的随机数Δt和与解密方身份信息唯一对应的随机数Δ0;
随机生成随机数Δ1,Δ2,…,Δt-1,其中t表示加密运算的轮数;
使用随机数Δt对密文C进行编码,获得密文C′;
根据所述加密算法的密钥扩展算法使用密钥K计算轮密钥K1,K2,…,Kt;
根据密码函数g(Δ),使用随机数Δ0、随机数Δ1,Δ2,…,Δt-1和随机数Δt对轮密钥K1,K2,…,Kt进行编码,获得轮密钥K′1,K′2,…,K′t;
根据密码函数h(Δ),使用随机数Δ0、随机数Δ1,Δ2,…,Δt-1和随机数Δt计算随机数Λ0,Λ1,…,Λt-1;
发送密文C′、轮密钥K′1,K′2,…,K′t和随机数Λ0,Λ1,…,Λt-1。
13.根据权利要求12所述的加密方法,其特征在于,在所述根据加密算法使用密钥K对明文P进行加密,获得密文C之后,所述加密方法还包括删除明文P。
14.一种与权利要求12所述的加密方法相对应的解密方法,其特征在于,包括:
接收密文C′、轮密钥K′1,K′2,…,K′t和随机数Λ0,Λ1,…,Λt-1;
根据与所述加密方法所使用的加密算法相对应的解密算法,使用轮密钥K′1,K′2,…,K′t和随机数Λ0,Λ1,…,Λt-1对密文C′进行解密运算,获得明文P′;
获取与解密方身份信息唯一对应的随机数Δ0;
使用随机数Δ0对明文P′进行解码,获得明文P。
15.根据权利要求14所述的解密方法,其特征在于,在所述获得明文P之后,所述解密方法还包括在安全区域显示明文P。
16.一种隐藏密钥的通信方法,其特征在于,所述通信在第一通信方和第二通信方之间进行,所述隐藏密钥的通信方法包括:
所述第一通信方执行如权利要求12所述的加密方法,将密文C′、轮密钥K′1,K′2,…,K′t和随机数Λ0,Λ1,…,Λt-1发送至所述第二通信方;
所述第二通信方执行如权利要求14所述的解密方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810649367.4A CN109067517B (zh) | 2018-06-22 | 2018-06-22 | 加密、解密装置、加密、解密方法和隐藏密钥的通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810649367.4A CN109067517B (zh) | 2018-06-22 | 2018-06-22 | 加密、解密装置、加密、解密方法和隐藏密钥的通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109067517A CN109067517A (zh) | 2018-12-21 |
CN109067517B true CN109067517B (zh) | 2021-07-09 |
Family
ID=64820724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810649367.4A Active CN109067517B (zh) | 2018-06-22 | 2018-06-22 | 加密、解密装置、加密、解密方法和隐藏密钥的通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109067517B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109714154B (zh) * | 2019-03-05 | 2021-10-29 | 同济大学 | 一种代码体积困难白盒安全模型下的白盒密码算法的实现方法 |
CN110519038B (zh) * | 2019-07-29 | 2022-10-21 | 北京多思安全芯片科技有限公司 | 一种数据的同态处理装置和*** |
CN111314287A (zh) * | 2019-12-20 | 2020-06-19 | 淮北师范大学 | 一种公钥加密通信方式和装置 |
CN112287375A (zh) * | 2020-11-21 | 2021-01-29 | 上海同态信息科技有限责任公司 | 一种密态欧式距离的计算方法 |
CN113572604B (zh) * | 2021-07-22 | 2023-05-23 | 航天信息股份有限公司 | 一种发送密钥的方法、装置、***及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104579646A (zh) * | 2015-01-30 | 2015-04-29 | 南京法威克信息科技有限公司 | 乱码本有限单向变换及其加解密应用 |
CN105357218A (zh) * | 2015-12-03 | 2016-02-24 | 上海斐讯数据通信技术有限公司 | 一种具备硬件加解密功能的路由器及其加解密方法 |
CN105490802A (zh) * | 2015-11-27 | 2016-04-13 | 桂林电子科技大学 | 基于gpu的改进sm4并行加解密通信方法 |
CN105515758A (zh) * | 2015-11-27 | 2016-04-20 | 桂林电子科技大学 | 基于Modbus协议的数据并行加密通信方法和*** |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100531027C (zh) * | 2005-07-28 | 2009-08-19 | 深圳兆日技术有限公司 | 一种基于安全环境的密钥移植方法 |
US20090245510A1 (en) * | 2008-03-25 | 2009-10-01 | Mathieu Ciet | Block cipher with security intrinsic aspects |
US8948376B2 (en) * | 2010-05-11 | 2015-02-03 | Ca, Inc. | Format-preserving encryption via rotating block encryption |
EP2829010B1 (en) * | 2012-03-20 | 2020-11-04 | Irdeto B.V. | Updating key information |
US9641321B1 (en) * | 2014-11-05 | 2017-05-02 | Dark Signal Research, Llc | Method and apparatus for the virtualization of cryptographic resources |
EP4242957A3 (en) * | 2014-12-15 | 2023-11-22 | Royal Bank Of Canada | Verification of data processes in a network of computing resources |
CN105847238B (zh) * | 2016-03-16 | 2018-07-17 | 杭州狮说教育科技有限公司 | 一种基于rtmp连接的数据安全传输方法 |
CN106936822B (zh) * | 2017-03-08 | 2020-03-17 | 上海观源信息科技有限公司 | 针对sms4抗高阶旁路分析的掩码实现方法及*** |
CN107968705B (zh) * | 2017-11-28 | 2021-02-02 | 深圳大学 | 一种加/解密方法、加/解密端及双随机相位加解密*** |
-
2018
- 2018-06-22 CN CN201810649367.4A patent/CN109067517B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104579646A (zh) * | 2015-01-30 | 2015-04-29 | 南京法威克信息科技有限公司 | 乱码本有限单向变换及其加解密应用 |
CN105490802A (zh) * | 2015-11-27 | 2016-04-13 | 桂林电子科技大学 | 基于gpu的改进sm4并行加解密通信方法 |
CN105515758A (zh) * | 2015-11-27 | 2016-04-20 | 桂林电子科技大学 | 基于Modbus协议的数据并行加密通信方法和*** |
CN105357218A (zh) * | 2015-12-03 | 2016-02-24 | 上海斐讯数据通信技术有限公司 | 一种具备硬件加解密功能的路由器及其加解密方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109067517A (zh) | 2018-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109067517B (zh) | 加密、解密装置、加密、解密方法和隐藏密钥的通信方法 | |
US9379891B2 (en) | Method and system for ID-based encryption and decryption | |
US9172529B2 (en) | Hybrid encryption schemes | |
EP2060056B1 (en) | Method and apparatus for transmitting data using authentication | |
CN103283177B (zh) | 与分段密钥一起使用的密码学模块及其使用方法 | |
US8687800B2 (en) | Encryption method for message authentication | |
CN108270550B (zh) | 一种基于sm4算法的安全高效的白盒实现方法及装置 | |
CN111404952B (zh) | 变电站数据加密传输方法、装置、计算机设备和存储介质 | |
CN103283178A (zh) | 具有分段密钥处理的椭圆曲线密码学及其使用方法 | |
US20190268145A1 (en) | Systems and Methods for Authenticating Communications Using a Single Message Exchange and Symmetric Key | |
CN110535626B (zh) | 基于身份的量子通信服务站保密通信方法和*** | |
CN110519226B (zh) | 基于非对称密钥池和隐式证书的量子通信服务端保密通信方法和*** | |
Guo et al. | A Secure and Efficient Mutual Authentication and Key Agreement Protocol with Smart Cards for Wireless Communications. | |
Reshma et al. | Pairing-free CP-ABE based cryptography combined with steganography for multimedia applications | |
WO2014030706A1 (ja) | 暗号化データベースシステム、クライアント装置およびサーバ、暗号化データ加算方法およびプログラム | |
CN113312654B (zh) | 一种基于csp问题的同态密文编码与计算方法 | |
CN112702582B (zh) | 一种基于sm2的监控视频安全传输方法和设备 | |
US20160148002A1 (en) | Key storage apparatus, key storage method and program therefor | |
CN111277605B (zh) | 数据分享方法、装置、计算机设备以及存储介质 | |
CN114362912A (zh) | 基于分布式密钥中心的标识密码生成方法、电子设备及介质 | |
Gobi et al. | A comparative study on the performance and the security of RSA and ECC algorithm | |
CN107872312B (zh) | 对称密钥动态生成方法、装置、设备及*** | |
KR102304831B1 (ko) | 순열그룹 기반의 암호화 기술을 적용한 암호화시스템 및 방법 | |
CN111431846B (zh) | 数据传输的方法、装置和*** | |
Hussein et al. | An enhanced ElGamal cryptosystem for image encryption and decryption |
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 | ||
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. |