一种降低数据加密功耗的方法及装置与流程

文档序号:25649871发布日期:2021-06-29 19:51阅读:130来源:国知局
一种降低数据加密功耗的方法及装置与流程

1.本发明涉及数据加密领域,尤其涉及一种降低数据加密功耗的方法及装置。


背景技术:

2.加密芯片的核心是运行加密算法,国家相关机构制定了一系列密码标准,包括ssf33、sm1(scb2)、sm2、sm3、sm4、sm7、sm9、祖冲之密码算法那等等。其中ssf33、sm1、sm4、sm7、祖冲之密码是对称算法;sm2、sm9是非对称算法;sm3是哈希算法。目前,这些算法已广泛应用于各个领域中,比如,门禁系统、签到系统、智能卡、一卡通系统等等领域。
3.sm1 算法是分组密码算法,分组长度为128位,密钥长度都为 128 比特,算法安全保密强度及相关软硬件实现性能与 aes 相当,算法不公开,仅以ip核的形式存在于芯片中。采用该算法已经研制了系列芯片、智能ic卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括国家政务通、警务通等重要领域)。
[0004] sm2算法就是ecc椭圆曲线密码机制,但在签名、密钥交换方面不同于ecdsa、ecdh等国际标准,而是采取了更为安全的机制。另外,sm2推荐了一条256位的曲线作为标准曲线。 ecc椭圆曲线密码体制koblitz和miller在1985年各自引入密码学。椭圆曲线上面的所有点和无132线的weierstrass方程为穷远点构成一个加法交换群,其中无穷远点是加法零元。此群的加法法则可以由弦切法所给出。由弦切法便可以给出椭圆曲线上的加法方程。多倍点运算是指:给定一点p和一个整数k,计算kp,即k个p点的和。椭圆曲线上的离散对数问题为:给定点p和kp,计算整数k。椭圆曲线密码体制的安全性便是建立在椭圆曲线离散对数问题之上。
[0005]
sm3杂凑算法,sm3密码杂凑算法给出了杂凑函数算法的计算方法和计算步骤,并给出了运算示例。此算法适用于商用密码应用中的数字签名和验证,消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。在sm2,sm9标准中使用。 此算法对输入长度小于2的64次方的比特消息,经过填充和迭代压缩,生成长度为256比特的杂凑值,其中使用了异或,模,模加,移位,与,或,非运算,由填充,迭代过程,消息扩展和压缩函数所构成。具体算法及运算示例见sm3标准。
[0006]
sm4对称算法,此算法是一个分组算法,用于无线局域网产品。该算法的分组长度为128比特,密钥长度为128比特。加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。此算法采用非线性迭代结构,每次迭代由一个轮函数给出,其中轮函数由一个非线性变换和线性变换复合而成,非线性变换由s盒所给出。其中rki为轮密钥,合成置换t组成轮函数。轮密钥的产生与上图流程类似,由加密密钥作为输入生成,轮函数中的线性变换不同,还有些参数的区别。sm4算法的具体描述和示例见sm4标准。
[0007]
sm7对称密码,sm7算法,是一种分组密码算法,分组长度为128比特,密钥长度为128比特。sm7适用于非接触式ic卡,应用包括身份识别类应用(门禁卡、工作证、参赛证),票
务类应用(大型赛事门票、展会门票),支付与通卡类应用(积分消费卡、校园一卡通、企业一卡通等)。
[0008]
商用密码算法的实现,包括软件实现和硬件实现两大类。
[0009]
目前,从保密性的角度来看,硬件实现加密算法其保密性优于软件实现。
[0010]
硬件实现包括两种方式,嵌入式实现和独立芯片实现,目前在一些工业应用领域,以独立的加密芯片实现方式为主。
[0011]
嵌入式实现是在mcu的基础上增加了硬件加密模块和真随机数发生器,即构成安全mcu;独立的加密芯片实现则是以商用芯片的方式提供给用户设计到其产品中。
[0012]
物联网领域对硬件加密芯片需求量大,但是要求加密芯片必须是极低的功耗,即加密芯片的工作电流要在几个毫安以内或在几十个微安以内。
[0013]
目前,加密芯片的工作电流通常在100毫安以内,典型的工作电流是几十个毫安,不能满足物联网加密的功耗要求,特别是不能满足电池供电的物联网数据采集前端的功耗要求。


技术实现要素:

[0014]
本发明给出一种降低数据加密功耗的方法及装置,用于克服现有加密芯片技术存在的功耗大的缺陷。
[0015]
本发明给出一种降低数据加密功耗的方法,包括如下步骤:在一组时间区间上获取采样数据,对采样数据进行本地处理,形成待加密数据;在出现数据传输触发事件后, 唤醒数据加密单元,将待加密数据送至所述数据加密单元;将所述数据加密单元输出的已加密数据通过有线或无线信道发送给数据接收端。
[0016]
本发明给出一种降低数据加密功耗的装置,包含如下模块:主处理器(1),数据加密模块(2)和传输模块(3);其中,主处理器(1)包含存储单元和运算单元,用于在一组时间区间上获取采样数据,对采样数据进行本地处理,形成待加密数据;进一步地,在出现数据传输触发事件后,主处理器(1)唤醒数据加密模块(2)包含的数据加密单元,将待加密数据送至所述数据加密单元;数据加密模块(2)还包含唤醒触发信号接收电路;传输模块(3)包含调制和/或解调电路,用于将所述数据加密单元输出的已加密数据通过有线或无线信道发送给数据接收端。
[0017]
本发明实施例给出的方法及装置,可以克服现有加密芯片技术存在的功耗大的缺陷。功耗低,适用于多种加密算法。
[0018]
本发明的其它特征和优点将在随后的说明书中阐述。
附图说明
[0019]
图1为本发明实施例给出的一种降低数据加密功耗的方法流程图;图2为本发明实施例给出的一种降低数据加密功耗的方法的装置组成示意图。
[0020]
图中,1、主处理器;2、数据加密模块;3、传输模块;4、采样模块。
[0021]
实施例
[0022]
本发明给出一种降低数据加密功耗的方法及装置,用于克服现有加密芯片技术存在的功耗大的缺陷。
[0023]
降低数据加密功耗的技术途径包括:降低加密芯片的启动功耗,具体包括,为加密电路引入睡眠模式,在睡眠模式下加密芯片保持其状态配置数据,避免了芯片重复进行初始配置;降低加密芯片的工作功耗,具体包括,将多次采样数据合并为一个带加密数据包以减少加密芯片的唤醒次数;以及,减少数据加密的数量,为此,对待加密数据进行压缩数据。
[0024]
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
[0025]
下面结合附图,对本发明提供的方法、装置举例加以说明。
[0026]
实施例一,一种降低数据加密功耗的方法举例参见图1所示,本发明提供的一种降低数据加密功耗的方法实施例,包括如下步骤:步骤s110,在一组时间区间上获取采样数据,对采样数据进行本地处理,形成待加密数据;步骤s120,在出现数据传输触发事件后, 唤醒数据加密单元,将待加密数据送至所述数据加密单元;步骤s130,将所述数据加密单元输出的已加密数据通过有线或无线信道发送给数据接收端。
[0027]
具体地,所述一组时间区间包括至少两个互不重叠的时间区间,在一个所述时间区间内完成一次数据采样。
[0028]
所述采样数据为在所述一组时间区间内获取的至少两个采样数据。
[0029]
所述采样数据为使用传感器采集的数据。
[0030]
具体地,采样数据为环境监测数据,水文数据,气象数据,工业设备运行状态数据,交通系统设备运行数据,等。
[0031]
具体地,采样数据包括温度数据、压力数据、气压数据、气象数据、风力数据、高度数据、速度数据、位置数据、生物数据和生理数据中的至少一种。
[0032]
所述待加密数据包含一组采样数据中的至少两个在不同时间区间内获取的数据;或者,所述待加密数据包含对一组采样数据中的至少两个在不同时间区间内获取的数据进行变化量判断处理后的数据;或所述待加密数据包含对一组采样数据中的至少两个在不同时间区间内获取的数据进行数据压缩处理后的数据。
[0033]
本实施例给出的方法,其中,所述对采样数据进行本地处理,形成待加密数据,包括如下步骤:
将不同时间区间内获取的采样数据构建成采样数据序列,并且进行如下至少一种处理以形成待加密数据:在构建该采样数据序列的过程中对最新得到的采样数据进行变化量判断;在构建该采样数据序列的过程中对最新得到的采样数据实施差分编码以压缩数据量;以及对构建出的采样数据序列进行数据压缩处理。
[0034]
具体地,在构建该采样数据序列的过程中对最新得到的采样数据进行变化量判断,将变化量超出预定变化量门限的采样数据存储在位于数据采集处的存储器内。
[0035]
所述采样数据序列中的数据与获取该数据的时间区间之间存在确定的对应关系;所述对最新得到的采样数据进行变化量判断,包括:将最新得到的采样数据与之前的采样数据进行比较,获得差值;当差值大于或等于预定变化量门限时,存储该最新得到的采样数据;或当差值小于预定变化量门限时,丢弃该最新得到的采样数据并存储一个指示该最新得到的采样数据相对于之前的采样数据的变化量小于预定变化量门限的数据。
[0036]
本实施例给出的方法,其中,所述对构建出的采样数据序列进行数据压缩处理,包括如下步骤:使用lz压缩算法进行压缩,将压缩后的数据作为待加密数据;或使用曲线拟合算法对采样数据序列进行曲线拟合,将得到的确定拟合曲线的参数作为待加密数据。
[0037]
其中,lz压缩算法为无损压缩算法,该算法可以利用采样数据序列的高阶相关性实现高效压缩;lz压缩算法是计算机数据压缩软件的核心算法。
[0038]
曲线拟合包括多项式曲线拟合算法、b样条拟合算法和2次曲线拟合算法中的任一种。
[0039]
本实施例给出的方法,其中,所述唤醒数据加密单元,包括如下步骤:向数据加密单元发送唤醒信号,使数据加密单元从睡眠状态进入工作状态。
[0040]
所述数据加密单元包含触发信号或唤醒信号输入端,该输入端接收所述唤醒信号;数据加密单元包含含的加解密电路在加电过程中,需要一段初始化运行代码消耗能量,同时由于会有一个大电流冲击,对锂亚电池供电的系统会有影响,电池电压会出现一定跌落,每次进行数据加解密都要经历这个过程,会影响系统可靠性;为了避免初始化运行代码消耗能量和产生电路冲击,在数据加密单元中引入睡眠模式,在该模式下数据加密单元包含的加解密电路处于状态保持模式,在该模式下,初始化的数据或状态得以保持,无须在进入加解密工作前重新进行初始化。
[0041]
在睡眠模式中的状态保持模式下,加解密电路降电压工作,实现在不进行加解密时的低功耗状态保持。
[0042]
进一步地,在数据加密单元完成一个采样数据序列的加密后,从工作状态转换为睡眠状态。
[0043]
此外,数据加密单元使用的工作时钟与主处理器使用的处理器的时钟频率相同或
相近,以降低加密电路与主处理器电路间的时钟速度不匹配造成的额外功耗。
[0044]
所述数据加密单元使用的工作时钟与主处理器使用的处理器的时钟频率相近,包括:数据加密单元使用的工作时钟频率与处理器的时钟频率的差值的绝对值小于处理器的时钟频率的50%。
[0045]
本实施例给出的方法,其中,所述出现数据传输触发事件,包括如下任一事件:采样数据的变化率超过预定的变化率门限值;采样数据的绝对值超过预定的绝对值门限值;采样数据的序列长度超过预定的绿列长度值门限值;以及接收到数据传输命令。
[0046]
将所述数据加密单元输出的已加密数据通过有线或无线信道发送给数据接收端,包括如下步骤:对已加密数据进行信道编码后送往传输信道。
[0047]
数据接收端包括网络侧的计算机服务器,无线电节点,或无线电终端。
[0048]
所述无线电终端安装了对加密数据进行解密处理的应用软件;所述终端包括智能手机。
[0049]
实施例二,一种降低数据加密功耗的装置举例参见图2所示,本发明提供的一种降低数据加密功耗的装置实施例,包含如下模块:主处理器(1),数据加密模块(2)和传输模块(3);其中,主处理器(1)包含存储单元和运算单元,用于在一组时间区间上获取采样数据,对采样数据进行本地处理,形成待加密数据;进一步地,在出现数据传输触发事件后,主处理器(1)唤醒数据加密模块(2)包含的数据加密单元,将待加密数据送至所述数据加密单元;数据加密模块(2)还包含唤醒触发信号接收电路;传输模块(3)包含调制和/或解调电路,用于将所述数据加密单元输出的已加密数据通过有线或无线信道发送给数据接收端。
[0050]
具体地,所述一组时间区间包括至少两个互不重叠的时间区间,在一个所述时间区间内完成一次数据采样。
[0051]
所述采样数据为在所述一组时间区间内获取的至少两个采样数据。
[0052]
所述采样数据为采样模块(4)使用传感器采集的数据。
[0053]
具体地,采样数据为环境监测数据,水文数据,气象数据,工业设备运行状态数据,交通系统设备运行数据,等。
[0054]
具体地,采样数据包括温度数据、压力数据、气压数据、气象数据、风力数据、高度数据、速度数据、位置数据、生物数据和生理数据中的至少一种。
[0055]
所述待加密数据包含一组采样数据中的至少两个在不同时间区间内获取的数据;或者,所述待加密数据包含对一组采样数据中的至少两个在不同时间区间内获取的数据进行变化量判断处理后的数据;或所述待加密数据包含对一组采样数据中的至少两个在不同时间区间内获取的数据进
行数据压缩处理后的数据。
[0056]
本实施例给出的装置,其中,主处理器(1)对采样数据进行本地处理,形成待加密数据;具体地,主处理器(1)执行将不同时间区间内获取的采样数据构建成采样数据序列的操作,并且执行如下至少一种处理以形成待加密数据:在构建该采样数据序列的过程中对最新得到的采样数据进行变化量判断;在构建该采样数据序列的过程中对最新得到的采样数据实施差分编码以压缩数据量;以及对构建出的采样数据序列进行数据压缩处理。
[0057]
具体地,主处理器(1)在构建该采样数据序列的过程中对最新得到的采样数据进行变化量判断,将变化量超出预定变化量门限的采样数据存储在位于数据采集处的存储器内。
[0058]
所述采样数据序列中的数据与获取该数据的时间区间之间存在确定的对应关系;所述对最新得到的采样数据进行变化量判断,包括:将最新得到的采样数据与之前的采样数据进行比较,获得差值;当差值大于或等于预定变化量门限时,存储该最新得到的采样数据;或当差值小于预定变化量门限时,丢弃该最新得到的采样数据并存储一个指示该最新得到的采样数据相对于之前的采样数据的变化量小于预定变化量门限的数据。
[0059]
本实施例给出的装置,其中,主处理器(1)对构建出的采样数据序列进行数据压缩处理,包括执行如下操作步骤:使用lz压缩算法进行压缩,将压缩后的数据作为待加密数据;或使用曲线拟合算法对采样数据序列进行曲线拟合,将得到的确定拟合曲线的参数作为待加密数据。
[0060]
其中,lz压缩算法为无损压缩算法,该算法可以利用采样数据序列的高阶相关性实现高效压缩;lz压缩算法是计算机数据压缩软件的核心算法。
[0061]
曲线拟合包括多项式曲线拟合算法、b样条拟合算法和2次曲线拟合算法中的任一种。
[0062]
本实施例给出的装置,其中,主处理器(1)执行唤醒数据加密单元的操作,包括如下操作步骤:向数据加密模块(2)包含的数据加密单元发送唤醒信号,使数据加密单元从睡眠状态进入工作状态。
[0063]
所述数据加密模块(2)包含触发信号或唤醒信号输入端,该输入端接收所述唤醒信号;数据加密模块(2)包含的加解密电路在加电过程中,需要一段初始化运行代码消耗能量,同时由于会有一个大电流冲击,对锂亚电池供电的系统会有影响,电池电压会出现一定跌落,每次进行数据加解密都要经历这个过程,会影响系统可靠性;为了避免初始化运行代码消耗能量和产生电路冲击,在数据加密单元中引入睡眠模式,在该模式下数据加密单元包含的加解密电路处于状态保持模式,在该模式下,初始化的数据或状态得以保持,无须在进入加解密工作前重新进行初始化。
[0064]
在睡眠模式中的状态保持模式下,加解密电路降电压工作,实现在不进行加解密时的低功耗状态保持。
[0065]
进一步地,在数据加密模块(2)包含的数据加密单元完成一个采样数据序列的加密后,从工作状态转换为睡眠状态。
[0066]
此外,数据加密模块(2)包含的数据加密单元使用的工作时钟与主处理器(1)使用的处理器的时钟频率相同或相近,以降低加密电路与主处理器(1)电路间的时钟速度不匹配造成的额外功耗。
[0067]
所述数据加密单元使用的工作时钟与主处理器(1)使用的处理器的时钟频率相近,包括:数据加密单元使用的工作时钟频率与主处理器(1)的时钟频率的差值的绝对值小于主处理器(1)的时钟频率的50%。
[0068]
本实施例给出的装置,其中,主处理器(1)判断是否出现数据传输触发事件,包括如下任一判断操作:判断采样数据的变化率是否超过预定的变化率门限值;判断采样数据的绝对值是否超过预定的绝对值门限值;判断采样数据的序列长度是否超过预定的绿列长度值门限值;以及判断是否接收到数据传输命令。
[0069]
主处理器(1)将所述数据加密单元输出的已加密数据送给传输模块(3),传输模块(3)通过有线信道或无线信道发送给数据接收端,传输模块(3)执行如下操作步骤:对已加密数据进行信道编码后送往传输信道。
[0070]
主处理器(1)从传输模块(3)接收数据传输命令,在接到数据传输命令后,主处理器(1)先向数据加密模块(2)发出唤醒信号,然后,将待加密数据送至数据加密模块(2)。
[0071]
图2中给出的传输模块(3),给出了使用无线信道进行数据传输的天线,没有示出使用有线信道进行数据传输的线路。
[0072]
数据接收端包括网络侧的计算机服务器,无线电节点,或无线电终端。
[0073]
所述无线电终端安装了对加密数据进行解密处理的应用软件;所述终端包括智能手机。
[0074]
本发明实施例提供的方法及装置可以全部或者部分地使用电子技术实现;本发明实施例提供的方法,可以全部或者部分地通过软件指令和/或者硬件电路来实现;本发明实施例提供的装置包含的模块或单元,可以采用电子元器件实现。
[0075]
以上所述,只是本发明的较佳实施方案而已,并非用来限定本发明的保护范围。任何本发明所述领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的保护范围以所附权利要求的界定范围为准。
[0076]
本发明实施例给出的方法及装置,克服了现有加密芯片技术存在的功耗大的缺陷。功耗低,适用于多种加密算法。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1