CN106850214A - 一种并行加解密方法 - Google Patents
一种并行加解密方法 Download PDFInfo
- Publication number
- CN106850214A CN106850214A CN201710147496.9A CN201710147496A CN106850214A CN 106850214 A CN106850214 A CN 106850214A CN 201710147496 A CN201710147496 A CN 201710147496A CN 106850214 A CN106850214 A CN 106850214A
- Authority
- CN
- China
- Prior art keywords
- shared memory
- key
- sub
- processor
- processing device
- 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
Links
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/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- 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
Abstract
本发明公开了一种并行加解密方法,属于数据加解密技术领域;方法包括子密钥生成步骤和密钥操作步骤,子密钥生成步骤包括步骤A1,提供一第一处理器持续生成子密钥;步骤A2,所述第一处理器将生成的所述子密钥写入一共享存储器中;密钥操作步骤包括步骤B1,提供一第二处理器持续获取所述共享存储器中保存的所述子密钥;步骤B2,所述第二处理器对获取的所述子密钥进行后续的密钥相关操作,以对数据进行加解密操作。上述技术方案的有益效果是:能够防御针对数据加解密的功耗分析攻击,提升数据加解密的安全系数,并且无需引入额外的电路或功能模块,节省芯片的面积以及工作所产生的功耗。
Description
技术领域
本发明涉及数据加解密技术领域,尤其涉及一种并行加解密方法。
背景技术
随着计算机技术和嵌入式技术的发展,信息安全已经从传统的政治、经济和军事等领域推广到日常生活中,例如日常的移动支付以及即时聊天软件等均涉及到了信息安全。目前的电子设备例如手机、可移动手持设备(Personal Digital Assistant,PDA)以及智能卡等移动设备中都有专门的加密模块对信息进行加密再进行保存或者传输的技术,从而达到保护数据安全的目的。
目前对于加密算法进行攻击最有效的一种方法是旁路攻击(Side ChannelAttack,SCA),攻击者会利用电子设备在执行密码算法过程中物理器件泄漏的各种与密码系统本身相关的边际信息(例如运行时间、能量消耗以及电磁辐射等)攻击加密器件从而获得密钥。因此旁路攻击也分为时间分析法、功耗分析法和电磁辐射分析法三类。其中功耗的可测试性最强,测试工具最简单,功耗曲线也最合适进行分析,因此功耗分析法在实际攻击的应用中也最多。
现有技术中,为了防御功耗分析攻击方法,最主要的目标就是将密码模块的能量消耗独立于模块所执行的密码算法。目前通常用于防御功耗分析攻击方法的方式主要有以下几种:
1)隐藏(Hiding)技术,其基本思想在于消除能量消耗的数据依赖性,例如可以采用使得每一个操作几乎都消耗相同能量的方式来制造设备,或者采用使得设备的能量消耗随机化的方式来制造设备。
2)掩码(Masking)技术,其基本思想是随机化密码模块处理算法过程中的中间值,以使处理被随机化后的中间值所需要的能量消耗和处理算法的中间值所需要的能量消耗之间相互独立。
3)功耗扰乱技术,其基本思想是扰乱功耗取消和数据的相关性,例如可以在执行加解密算法的过程中增加额外的数据,或者采用增加随机噪声或者冗余功耗的方式来破坏功耗曲线和数据之间的相关性。
但是,在一般的加密设备上,无论使用上述哪种防御功耗分析攻击的方法,均需要在芯片上引入额外的电路或者功能模块,而这些额外的电路或者功能模块只有在防御功耗分析攻击时才有存在意义,在平时正常运行的过程中只会浪费芯片的面积和增大电子设备的功耗,加重整个电子设备的运行负担。
发明内容
根据现有技术中存在的上述问题,现提供一种并行加解密方法的技术方案,旨在防御针对数据加解密的功耗分析攻击,提升数据加解密的安全系数,并且无需引入额外的电路或功能模块,节省芯片的面积以及工作所产生的功耗。
上述技术方案具体包括:
一种并行加解密方法,适用对称加密算法;其中,包括一子密钥生成步骤以及一密钥操作步骤;
所述子密钥生成步骤包括:
步骤A1,提供一第一处理器持续生成子密钥;
步骤A2,所述第一处理器将生成的所述子密钥写入一共享存储器中;
所述密钥操作步骤包括:
步骤B1,提供一第二处理器持续获取所述共享存储器中保存的所述子密钥;
步骤B2,所述第二处理器对获取的所述子密钥进行后续的密钥相关操作,以对数据进行加解密操作。
优选的,该并行加解密方法,其中,于所述共享存储器中设置一第一标记,所述第一标记用于表示所述共享存储器是否处于所述子密钥已被读出的第一状态或者所述子密钥已被写入的第二状态;
则所述步骤A2具体包括:
步骤A21,所述第一处理器通过请求获得对所述共享存储器的操作权;
步骤A22,所述第一处理器获取所述共享存储器中的所述第一标记;
步骤A23,所述第一处理器根据所述第一标记判断所述共享存储器中的所述子密钥是否处于所述第一状态:
若否,则所述第一处理器使能中断,等待所述共享存储器中的所述子密钥被读出后再转向步骤A24;
步骤A24,所述第一处理器将生成的所述子密钥发送至所述共享存储器保存,并将所述第一标记更新为表示所述共享存储器处于所述第二状态。
优选的,该并行加解密方法,其中,所述步骤A23中,若所述第一标记表示所述共享存储器不处于所述第一状态,则所述第一处理器使能中断,并放弃对所述共享存储器的操作权,以等待所述共享存储器中的所述子密钥被读出后再重新通过请求获得对所述共享存储器的操作权,随后转向步骤A24。
优选的,该并行加解密方法,其中,执行完所述步骤A24后,继续执行下述步骤:
步骤A25,所述第一处理器放弃对所述共享存储器的操作权,并向所述第二处理器发送用于表示所述子密钥已经被写入的信号。
优选的,该并行加解密方法,其中,于所述共享存储器中设置一第一标记,所述第一标记用于表示所述共享存储器是否处于所述子密钥已被读出的第一状态或者所述子密钥已被写入的第二状态;
则所述步骤B1具体包括:
步骤B11,所述第二处理器通过请求获得对所述共享存储器的操作权;
步骤B12,所述第二处理器获取所述共享存储器中的所述第一标记;
步骤B13,所述第二处理器根据所述第一标记判断所述共享存储器是否处于所述第二状态:
若否,则所述第二处理器使能中断,等待所述共享存储器中的所述子密钥被写入后再转向步骤B14;
步骤B14,所述第二处理器获取所述共享存储器中的所述子密钥,并将所述第一标记更新为表示所述共享存储器处于所述第一状态,随后转向所述步骤B2.
优选的,该并行加解密方法,其中,所述步骤B13中,若所述第一标记表示所述共享存储器不处于所述第二状态,则所述第二处理器使能中断,并放弃对所述共享存储器的操作权,以等待所述共享存储器中的所述子密钥被写入后再重新通过请求获得对所述共享存储器的操作权,随后转向步骤B14。
优选的,该并行加解密方法,其中,执行完所述步骤B14后,继续执行下述步骤:
步骤B15,所述第二处理器放弃对所述共享存储器的操作权,并向所述第一处理器发送用于表示所述子密钥已经被读出的信号。
优选的,该并行加解密方法,其中,于所述共享存储器中预设设置一第二标记,所述第二标记用于表示所述共享存储器处于忙碌状态或者空闲状态;
则所述第一处理器通过请求获取对所述共享存储器的操作权的过程包括:
步骤C1,所述第一处理器向所述共享存储器发送一操作请求,以获取所述共享存储器反馈的所述第二标记;
步骤C2,所述第一处理器根据所述第二标记判断所述共享存储器是否处于所述忙碌状态:
若否,则转向步骤C4;
步骤C3,所述第一处理器使能中断,随后返回所述步骤C1;
步骤C4,所述第一处理器获取对所述共享存储器的操作权。
优选的,该并行加解密方法,其中,于所述共享存储器中预设设置一第二标记,所述第二标记用于表示所述共享存储器处于忙碌状态或者空闲状态;
则所述第二处理器通过请求获取对所述共享存储器的操作权的过程包括:
步骤D1,所述第二处理器向所述共享存储器发送一操作请求,以获取所述共享存储器反馈的所述第二标记;
步骤D2,所述第二处理器根据所述第二标记判断所述共享存储器是否处于所述忙碌状态:
若否,则转向步骤D4;
步骤D3,所述第二处理器使能中断,随后返回所述步骤D1;
步骤D4,所述第二处理器获取对所述共享存储器的操作权。
上述技术方案的有益效果是:提供一种并行加解密方法,能够防御针对数据加解密的功耗分析攻击,提升数据加解密的安全系数,并且无需引入额外的电路或功能模块,节省芯片的面积以及工作所产生的功耗。
附图说明
图1是本发明的较佳的实施例中,一种并行加解密方法中的子密钥产生步骤的流程示意图;
图2是本发明的较佳的实施例中,一种并行加解密方法中的密钥操作步骤的流程示意图;
图3是本发明的较佳的实施例中,并行加解密方法中,第一处理器将生成的子密钥写入共享存储器中的流程示意图;
图4是本发明的较佳的实施例中,第一处理器请求获取共享存储器的控制权的流程示意图;
图5是本发明的较佳的实施例中,并行加解密方法中,第二处理器从共享存储器中获取被保存的子密钥的流程示意图;
图6是本发明的较佳的实施例中,第二处理器请求获取共享存储器的控制权的流程示意图;
图7是本发明的较佳的实施例中,并行加解密方法的整体流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
根据现有技术中存在的上述问题,本发明提供一种并行加解密方法,该方法适用于对称加密算法。加密算法被分为对称算法和非对称算法两大类,所谓对称加密算法,是一种技术比较成熟的加密算法,通常用于数据加解密过程中,是一种在加密过程和解密过程中使用相同密钥的加密算法。对称加密算法具有分为好几种,但是无论哪一种对称加密算法,基本都由两步构成,即子密钥的产生和与密钥相关的其他加密计算,现有技术中,上述两步通常是依序进行的,彼此之间具有很紧密的顺序执行关系。本发明主要针对对称算法,因此在此不再讨论非对称算法的特征。
本发明的较佳的实施例中,上述并行加解密方法具体包括两个步骤,即子密钥产生步骤以及密钥操作步骤。
上述子密钥产生步骤具体如图1所示,包括:
步骤A1,提供一第一处理器持续生成子密钥;
步骤A2,第一处理器将生成的子密钥写入一共享存储器中;
具体地,上述第一处理器可以为现有技术中进行数据处理和传输的电子设备中的任何微处理器,该微处理器能够在并行加解密算法中执行生成子密钥的处理任务。具体地,持续生成子密钥的具体过程在现有的对称加密算法中已有较为成熟的实现方式,在此不再赘述。
上述步骤A2中,上述第一处理器生成子密钥后将该子密钥写入一与第一处理器相连的一共享存储器中保存。
上述密钥操作步骤具体如图2所示,包括:
步骤B1,提供一第二处理器持续获取共享存储器中保存的子密钥;
步骤B2,第二处理器对获取的子密钥进行后续的密钥相关操作,以对数据进行加解密操作。
具体地,上述步骤B1中,第二处理器同样连接共享存储器,并且由于对称加密算法可能需要多轮循环加密才能实现最终对数据进行加解密的目的,因此第二处理器需要持续获取共享存储器中保存的子密钥以供多轮连续加解密操作。
上述第二处理器同样可以为现有技术中进行数据处理和传输的电子设备中的任何微处理器,该微处理器能够在并行加解密算法中执行子密钥获取并执行密钥相关操作的处理任务。具体地,上述步骤B2中,所谓后续的密钥相关操作,是指对称加密算法中对加解密过程的一些常规处理,例如对子密钥进行校验以及将子密钥应用在加密/解密过程中等,在此不再赘述。获取子密钥的具体过程同样在现有的对称加密算法中已有较为成熟的实现方式,在此不再赘述。
本发明技术方案中,上述子密钥产生步骤和密钥操作步骤之间为相互独立的步骤,两个步骤异步执行,即:
在子密钥产生步骤中,第一处理器依序产生子密钥,并依序将子密钥写入到共享存储器中;
在密钥操作步骤中,第二处理器每次从共享存储器中获取一个子密钥并进行后续的密钥相关操作,获取的顺序与子密钥被保存在共享存储器中的顺序相同,以保证对称加密算法的正确执行。
因此,上述并行加解密方法中,步骤A1-A2和步骤B1-B2异步执行,互不干扰。
本发明的较佳的实施例中,于共享存储器中设置一第一标记,第一标记用于表示共享存储器中的子密钥处于写入状态或者读出状态;
则步骤A2具体如图3所示,包括:
步骤A21,第一处理器通过请求获得对共享存储器的操作权;
步骤A22,第一处理器获取共享存储器中的第一标记;
步骤A23,第一处理器根据第一标记判断共享存储器中的子密钥是否处于第一状态:
若否,则第一处理器使能中断,等待共享存储器中的子密钥被读出后再转向步骤A24;
步骤A24,第一处理器将生成的子密钥发送至共享存储器保存,并将第一标记更新为表示共享存储器处于第二状态。
具体地,本实施例中,上述第一处理器在对共享存储器进行操作之前,首先需要获取共享存储器的操作权,并且在同一时间,只能有一个处理器对上述共享存储器进行操作。该获取操作权的过程在下文中会详述。
本实施例中,共享存储器中预先设置一第一标记,该第一标记用于表示共享存储器是否处于子密钥已被读出的第一状态或者子密钥已被写入的第二状态。具体地,上述共享存储器只有两个工作状态,一个是第二处理器读出子密钥,第一处理器尚未写入下一个子密钥的状态,即标识子密钥已被读出尚未被写入的第一状态;另一个是第一处理器写入子密钥,该子密钥尚未被第二处理器读取时的状态,即标识子密钥已被写入尚未被读出的第二状态。则上述第一标记同样也就只具有两种状态表示值,例如上述第一标记为存储器中的flag信号,则:
1)当flag信号置高(为1)时,表示第二处理器尚未读出上一个子密钥,即共享存储器中的子密钥处于已被写入尚未被读出的第二状态;当flag信号置低(为0)时,表示第二处理器已经读出上一个子密钥,即共享存储器中的子密钥处于已被读出尚未被写入的第一状态。或者
2)当flag信号置低(为0)时,表示第二处理器尚未读出上一个子密钥,即共享存储器中的子密钥处于已被写入尚未被读出的第二状态;当flag信号置高(为1)时,表示第二处理器已经读出上一个子密钥,即共享存储器中的子密钥处于已被读出尚未被写入的第一状态。
如上所述,上述第一标记只有两种状态,因此在上述步骤A21-A24中,当第一标记表示共享存储器不处于第一状态时,其必然处于第二状态,反之亦然,下文中不再赘述。
本实施例中,上述步骤A23中,第一处理器获取上述第一标记后,根据第一标记判断共享存储器当前的工作状态:
若共享存储器当前处于上述第一状态,则表示共享存储器中的上一个子密钥已被第二处理器读出,此时可以向共享存储器中写入下一个子密钥。此时进行步骤A24,即第一处理器向共享存储器写入已经生成的子密钥;
若共享存储器当前不处于上述第一状态(即处于第二状态),则表示共享存储器中的上一个子密钥尚未被第二处理器读出,此时第一处理器尚无法向共享存储器写入下一个子密钥,因此第一处理器使能中断,等待直到共享存储器处于第一状态时再执行步骤A24。
本发明的较佳的实施例中,上述步骤A23中,若第一标记表示共享存储器不处于第一状态,则第一处理器使能中断,并放弃对共享存储器的操作权,以等待共享存储器中的子密钥被读出后再重新通过请求获得对共享存储器的操作权,随后转向步骤A24。
具体地,由于上述步骤A21中,第一处理器已经通过请求获取共享存储器的操作权,并且在上述步骤A23中,在第一处理器使能中断时,若第一处理器不放弃对共享存储器的操作权,则第二处理器无法再对共享存储器进行操作。因此在上述步骤A23中,若第一处理器使能中断,则其主动放弃对共享存储器的操作权,以便于第二处理器对共享存储器进行操作。
上述步骤A23中,当第一处理器等待直到共享存储器中的上一个子密钥被读出(即共享存储器处于第一状态)时,第一处理器需要重新通过请求获取对共享存储器的控制权,该请求并获取控制权的过程与上述步骤A21中的过程相同,在下文中将一并描述。
本发明的较佳的实施例中,执行完上述步骤A24后,继续执行如图3所示的下述步骤:
步骤A25,第一处理器放弃对共享存储器的操作权,并向第二处理器发送用于表示子密钥已经被写入的信号。
具体地,本实施例中,上述第一处理器向共享存储器写入子密钥并更改共享存储器的第一标记后,则第一处理器对于当前生成的子密钥的处理过程就结束了,此时第一处理器会主动放弃对共享存储器的操作权,以免影响第二处理器对共享存储器的操作,并且第一处理器会主动向第二处理器发送一个用于表示已经向共享存储器中写入子密钥的信号以通知第二处理器。
本发明的较佳的实施例中,于上述共享存储器中还预先设置一第二标记,第二标记用于表示共享存储器处于忙碌状态或者空闲状态;
则第一处理器通过请求获取对共享存储器的操作权的过程具体如图4所示,包括:
步骤C1,第一处理器向共享存储器发送一操作请求,以获取共享存储器反馈的第二标记;
步骤C2,第一处理器根据第二标记判断共享存储器是否处于忙碌状态:
若否,则转向步骤C4;
步骤C3,第一处理器使能中断,随后返回步骤C1;
步骤C4,第一处理器获取对共享存储器的操作权。
具体地,本实施例中,上述第二标记用于表示共享存储器当前的运行状态,即处于忙碌状态还是空闲状态。具体地,当第二标记表示共享存储器当前处于忙碌状态时,表示共享存储器当前正在被某个处理器使用,此时第一处理器无法请求获取共享存储器的控制权;当第二标记表示共享存储器当前处于空闲状态时,第一处理器才可以获取共享存储器的控制权。
本实施例中,上述步骤C3中,在共享存储器处于忙碌状态时,第一处理器使能中断,并且返回步骤C1,以持续向共享存储器发送操作请求,以持续获取共享存储器反馈的第二标记并进行持续判断,当第二标记表示共享存储器处于空闲状态时再转向步骤C4,即获取共享存储器的控制权。
本发明的较佳的实施例中,上述步骤A21中第一处理器通过请求获取共享存储器的控制权的过程可以采用上述步骤C1-C4,上述步骤A23中第一处理器使能中断后重新通过请求获取共享存储器的控制权的过程同样可以采用上述步骤C1-C4。
本发明的较佳的实施例中,上述第二标记可以为grant信号,并且:
1)当grant信号置高(为1)时,表示共享存储器当前处于忙碌状态,当grant信号置低(为0)时,表示共享存储器当前处于空闲状态。或者
2)当grant信号置低(为0)时,表示共享存储器当前处于忙碌状态,当grant信号置高(为1)时,表示共享存储器当前处于空闲状态。
本发明的较佳的实施例中,如图5所示,上述步骤B1具体包括:
步骤B11,第二处理器通过请求获得对共享存储器的操作权;
步骤B12,第二处理器获取共享存储器中的第一标记;
步骤B13,第二处理器根据第一标记判断共享存储器是否处于第二状态:
若否,则第二处理器使能中断,等待共享存储器中的子密钥被写入后再转向步骤B14;
步骤B14,第二处理器获取共享存储器中的子密钥,并将第一标记更新为表示共享存储器处于第一状态,随后转向步骤B2。
具体地,本实施例中,上述步骤B11中,上述第二处理器通过请求获得对共享存储器的操作权的步骤与上述步骤C1-C4类似,在下文中会详述。
本实施例中,上述步骤B13中,第二处理器获取第一标记后判断共享存储器是否处于第二状态:
若共享存储器处于第二状态,则表示第一处理器已经往共享存储器中写入子密钥,此时第二处理器可以从共享存储器中获取子密钥并进行后续的密钥相关操作;
若共享存储器不处于第二状态(即处于第一状态),则表示第一处理器尚未往共享存储器中写入子密钥,此时第二处理器使能中断,等待共享存储器中的子密钥被写入后再转向步骤B14。具体地,如上文中所述,当第一处理器向第二处理器发送用于表示已经向共享存储器中写入子密钥的通知信号时,表示共享存储器进入第一状态,此时再转向步骤B14。
本实施例中,上述步骤B14中,第二处理器获取子密钥后执行后续的密钥相关操作,从而实现对数据的加解密操作。
本发明的较佳的实施例中,上述步骤B13中,若第一标记表示共享存储器不处于第二状态,则第二处理器使能中断,并放弃对共享存储器的操作权,以等待共享存储器中的子密钥被写入后再重新通过请求获得对共享存储器的操作权,随后转向步骤B14。
由于上述步骤B11中,第二处理器已经通过请求获取共享存储器的操作权,并且在上述步骤B13中,在第二处理器使能中断时,若第二处理器不放弃对共享存储器的操作权,则第一处理器无法再对共享存储器进行操作。因此在上述步骤B13中,若第二处理器使能中断,则其主动放弃对共享存储器的操作权,以便于第一处理器对共享存储器进行操作。
本发明的较佳的实施例中,仍然如图5所示,执行完步骤B14后,继续执行下述步骤:
步骤B15,第二处理器放弃对共享存储器的操作权,并向第一处理器发送用于表示子密钥已经被读出的信号。
具体地,本实施例中,上述第二处理器读取共享存储器中保存的子密钥并更改共享存储器的第一标记后,则第二处理器获取子密钥的处理过程就结束了,此时第二处理器会主动放弃对共享存储器的操作权,以免影响第一处理器对共享存储器的操作,并且第二处理器会主动向第一处理器发送一个用于表示已经读出共享存储器中保存的子密钥的信号以通知第一处理器。则上述步骤A23中,当第一处理器使能中断时,若其获取第二处理器发送的用于表示已经读出共享存储器中保存的子密钥的通知信号后就认为等待结束,可以重新请求获取共享存储器的控制权。
本发明的较佳的实施例中,于上述步骤C1-C4类似地,如图6所示,上述第二处理器通过请求获取对共享存储器的操作权的过程包括:
步骤D1,第二处理器向共享存储器发送一操作请求,以获取共享存储器反馈的第二标记;
步骤D2,第二处理器根据第二标记判断共享存储器是否处于忙碌状态:
若否,则转向步骤D4;
步骤D3,第一处理器使能中断,随后返回步骤D1;
步骤D4,第二处理器获取对共享存储器的操作权。
由于上述步骤D1-D4与步骤C1-C4类似,在此不再对步骤D1-D4做进一步解释。
同样地,本发明的较佳的实施例中,上述步骤D1-D4既适用于上述步骤B11中第二处理器通过请求获取共享存储器的控制权的情况,也适用于上述步骤B13中第二处理器重新获取共享存储器的控制权的情况。
本发明的较佳的实施例中,于上述共享存储器中,当一个被保存的子密钥被读出时,该子密钥在共享存储器中就被擦除,以避免重复写入/读出子密钥的情况发生。
本发明技术方案中,如上文中所述,上述第一处理器、第二处理器以及共享存储器均可以为现有的电子设备中常用的能够执行数据加解密操作的处理设备以及存储设备,在此不再赘述。
综上,结合上述子密钥生成步骤和密钥操作步骤,描述整个并行加解密方法的流程,具体如图7所示。图7中,第一处理器和第二处理器相互独立运行子密钥生成步骤以及密钥操作步骤,只在写入子密钥/读出子密钥时向对方发送写入通知/读出通知时存在相互之间的联系,因此能够扰乱电子设备进行数据加解密处理时的功耗曲线,从而防御功耗分析攻击方法。
以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
Claims (9)
1.一种并行加解密方法,适用对称加密算法;其特征在于,包括一子密钥生成步骤以及一密钥操作步骤;
所述子密钥生成步骤包括:
步骤A1,提供一第一处理器持续生成子密钥;
步骤A2,所述第一处理器将生成的所述子密钥写入一共享存储器中;
所述密钥操作步骤包括:
步骤B1,提供一第二处理器持续获取所述共享存储器中保存的所述子密钥;
步骤B2,所述第二处理器对获取的所述子密钥进行后续的密钥相关操作,以对数据进行加解密操作。
2.如权利要求1所述的并行加解密方法,其特征在于,于所述共享存储器中设置一第一标记,所述第一标记用于表示所述共享存储器是否处于所述子密钥已被读出的第一状态或者所述子密钥已被写入的第二状态;
则所述步骤A2具体包括:
步骤A21,所述第一处理器通过请求获得对所述共享存储器的操作权;
步骤A22,所述第一处理器获取所述共享存储器中的所述第一标记;
步骤A23,所述第一处理器根据所述第一标记判断所述共享存储器中的所述子密钥是否处于所述第一状态:
若否,则所述第一处理器使能中断,等待所述共享存储器中的所述子密钥被读出后再转向步骤A24;
步骤A24,所述第一处理器将生成的所述子密钥发送至所述共享存储器保存,并将所述第一标记更新为表示所述共享存储器处于所述第二状态。
3.如权利要求2所述的并行加解密方法,其特征在于,所述步骤A23中,若所述第一标记表示所述共享存储器不处于所述第一状态,则所述第一处理器使能中断,并放弃对所述共享存储器的操作权,以等待所述共享存储器中的所述子密钥被读出后再重新通过请求获得对所述共享存储器的操作权,随后转向步骤A24。
4.如权利要求2所述的并行加解密方法,其特征在于,执行完所述步骤A24后,继续执行下述步骤:
步骤A25,所述第一处理器放弃对所述共享存储器的操作权,并向所述第二处理器发送用于表示所述子密钥已经被写入的信号。
5.如权利要求1所述的并行加解密方法,其特征在于,于所述共享存储器中设置一第一标记,所述第一标记用于表示所述共享存储器是否处于所述子密钥已被读出的第一状态或者所述子密钥已被写入的第二状态;
则所述步骤B1具体包括:
步骤B11,所述第二处理器通过请求获得对所述共享存储器的操作权;
步骤B12,所述第二处理器获取所述共享存储器中的所述第一标记;
步骤B13,所述第二处理器根据所述第一标记判断所述共享存储器是否处于所述第二状态:
若否,则所述第二处理器使能中断,等待所述共享存储器中的所述子密钥被写入后再转向步骤B14;
步骤B14,所述第二处理器获取所述共享存储器中的所述子密钥,并将所述第一标记更新为表示所述共享存储器处于所述第一状态,随后转向所述步骤B2。
6.如权利要求5所述的并行加解密方法,其特征在于,所述步骤B13中,若所述第一标记表示所述共享存储器不处于所述第二状态,则所述第二处理器使能中断,并放弃对所述共享存储器的操作权,以等待所述共享存储器中的所述子密钥被写入后再重新通过请求获得对所述共享存储器的操作权,随后转向步骤B14。
7.如权利要求5所述的并行加解密方法,其特征在于,执行完所述步骤B14后,继续执行下述步骤:
步骤B15,所述第二处理器放弃对所述共享存储器的操作权,并向所述第一处理器发送用于表示所述子密钥已经被读出的信号。
8.如权利要求2所述的并行加解密方法,其特征在于,于所述共享存储器中预先设置一第二标记,所述第二标记用于表示所述共享存储器处于忙碌状态或者空闲状态;
则所述第一处理器通过请求获取对所述共享存储器的操作权的过程包括:
步骤C1,所述第一处理器向所述共享存储器发送一操作请求,以获取所述共享存储器反馈的所述第二标记;
步骤C2,所述第一处理器根据所述第二标记判断所述共享存储器是否处于所述忙碌状态:
若否,则转向步骤C4;
步骤C3,所述第一处理器使能中断,随后返回所述步骤C1;
步骤C4,所述第一处理器获取对所述共享存储器的操作权。
9.如权利要求5所述的并行加解密方法,其特征在于,于所述共享存储器中预设设置一第二标记,所述第二标记用于表示所述共享存储器处于忙碌状态或者空闲状态;
则所述第二处理器通过请求获取对所述共享存储器的操作权的过程包括:
步骤D1,所述第二处理器向所述共享存储器发送一操作请求,以获取所述共享存储器反馈的所述第二标记;
步骤D2,所述第二处理器根据所述第二标记判断所述共享存储器是否处于所述忙碌状态:
若否,则转向步骤D4;
步骤C3,所述第二处理器使能中断,随后返回所述步骤D1;
步骤D4,所述第二处理器获取对所述共享存储器的操作权。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710147496.9A CN106850214A (zh) | 2017-03-13 | 2017-03-13 | 一种并行加解密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710147496.9A CN106850214A (zh) | 2017-03-13 | 2017-03-13 | 一种并行加解密方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106850214A true CN106850214A (zh) | 2017-06-13 |
Family
ID=59144323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710147496.9A Pending CN106850214A (zh) | 2017-03-13 | 2017-03-13 | 一种并行加解密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106850214A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109949463A (zh) * | 2019-03-29 | 2019-06-28 | 天津经纬恒润科技有限公司 | 一种解密方法及装置 |
CN110113147A (zh) * | 2019-04-11 | 2019-08-09 | 深圳市致宸信息科技有限公司 | 一种数字加密装置及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1527531A (zh) * | 2003-03-07 | 2004-09-08 | 华为技术有限公司 | 一种数据加密标准或三重数据加密标准的实现方法 |
US20050213756A1 (en) * | 2002-06-25 | 2005-09-29 | Koninklijke Philips Electronics N.V. | Round key generation for aes rijndael block cipher |
CN102624520A (zh) * | 2012-05-02 | 2012-08-01 | 西安电子科技大学 | 基于aes的192比特位密钥扩展系统及方法 |
CN103516512A (zh) * | 2013-10-21 | 2014-01-15 | 深圳市芯通信息科技有限公司 | 基于aes算法的加解密方法及加解密器 |
CN103986571A (zh) * | 2014-01-15 | 2014-08-13 | 上海新储集成电路有限公司 | 一种智能卡多核处理器系统及其防御差分功耗分析的方法 |
CN105490802A (zh) * | 2015-11-27 | 2016-04-13 | 桂林电子科技大学 | 基于gpu的改进sm4并行加解密通信方法 |
-
2017
- 2017-03-13 CN CN201710147496.9A patent/CN106850214A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050213756A1 (en) * | 2002-06-25 | 2005-09-29 | Koninklijke Philips Electronics N.V. | Round key generation for aes rijndael block cipher |
CN1527531A (zh) * | 2003-03-07 | 2004-09-08 | 华为技术有限公司 | 一种数据加密标准或三重数据加密标准的实现方法 |
CN102624520A (zh) * | 2012-05-02 | 2012-08-01 | 西安电子科技大学 | 基于aes的192比特位密钥扩展系统及方法 |
CN103516512A (zh) * | 2013-10-21 | 2014-01-15 | 深圳市芯通信息科技有限公司 | 基于aes算法的加解密方法及加解密器 |
CN103986571A (zh) * | 2014-01-15 | 2014-08-13 | 上海新储集成电路有限公司 | 一种智能卡多核处理器系统及其防御差分功耗分析的方法 |
CN105490802A (zh) * | 2015-11-27 | 2016-04-13 | 桂林电子科技大学 | 基于gpu的改进sm4并行加解密通信方法 |
Non-Patent Citations (1)
Title |
---|
张元: "《操作系统原理及应用》", 31 July 2013, 国防工业出版社 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109949463A (zh) * | 2019-03-29 | 2019-06-28 | 天津经纬恒润科技有限公司 | 一种解密方法及装置 |
CN109949463B (zh) * | 2019-03-29 | 2021-08-24 | 天津经纬恒润科技有限公司 | 一种解密方法及装置 |
CN110113147A (zh) * | 2019-04-11 | 2019-08-09 | 深圳市致宸信息科技有限公司 | 一种数字加密装置及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103988461B (zh) | 用于对数据进行解密的设备和方法 | |
US10454691B2 (en) | Systems implementing hierarchical levels of security | |
EP2207087B1 (en) | Method for protecting a cryptographic device against SPA, DPA and timing attacks | |
KR100743804B1 (ko) | 데이터 처리 장치 및 그 동작 방법 | |
CN104734842B (zh) | 基于伪操作的电路旁路攻击抵御方法 | |
CN104734845B (zh) | 基于全加密算法伪操作的旁路攻击防护方法 | |
CN103903043B (zh) | 一种智能卡三位一体抗侧信道攻击防护方法和系统 | |
US20180019983A1 (en) | TECHNIQUE FOR SECURELY PERFORMING AN OPERATION IN AN IoT ENVIRONMENT | |
CN103795527A (zh) | 防止基于功耗分析攻击aes算法的软件掩码防护方案 | |
CN103404073B (zh) | 针对无源监听的保护 | |
CN103986571A (zh) | 一种智能卡多核处理器系统及其防御差分功耗分析的方法 | |
CN107154843A (zh) | 一种抗功耗攻击的sm4算法的硬件实现系统 | |
CN106850214A (zh) | 一种并行加解密方法 | |
Ahn et al. | Trident: A hybrid correlation-collision GPU cache timing attack for AES key recovery | |
Aciiçmez et al. | Micro-architectural cryptanalysis | |
Singh et al. | A Review on Cloud Data Security Challenges and existing Countermeasures in Cloud Computing | |
US10110375B2 (en) | Cryptographic device and secret key protection method | |
Chen | Confidential High-Performance Computing in the Public Cloud | |
Chithra et al. | Pristine PixCaptcha as graphical password for secure eBanking using Gaussian elimination and cleaves algorithm | |
Krasovsky et al. | Actual and historical state of side channel attacks theory | |
Sadhu et al. | MC-Multi PUF based lightweight authentication framework for internet of medical things | |
CN107766725B (zh) | 抗模板攻击的数据传输方法及系统 | |
CN110650004A (zh) | 基于对称密钥池和在线离线签名的抗量子计算rfid认证方法及系统 | |
Zhang | Application of hybrid encryption algorithm in physical layer software control | |
Flikkema et al. | Dynamic computational diversity with multi-radix logic and memory |
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 |
Application publication date: 20170613 |
|
RJ01 | Rejection of invention patent application after publication |