一种硬盘数据的加密方法

文档序号:6363975阅读:164来源:国知局
专利名称:一种硬盘数据的加密方法
技术领域
本发明涉及一种数据的加密方法。
背景技术
当今时代,数据存储设备的容量越来越大,其中存储的数据也越来越多,许多机密数据存储在这些设备中进行交换。硬盘作为最常用的数据存储设备之一,为了硬盘数据的安全,防止数据被他人非法窃取,对数据进行加密是一种常用的方法,对数据进行加密后通常会存在一个密钥。而密钥的管理疏忽、密码的可预测性可能导致他人将数据解密,从而泄漏数据,对数据拥有者造成损失。一般的解密方法包括针对密文的攻击、已知明文攻击、选定明文攻击、自适应性选定明文攻击、定时攻击以及差分功率分析攻击。差分功率分析攻击是表不根据一个输入位的值,分析由加密算法所消耗的能量,获得密钥的输入位的值,然后使加密文本被解密的方法。因此,作为防止这种攻击而导致信息泄漏的方法,采用了一种将确定数据转换为随机数据的屏蔽法。该屏蔽法包括应用逻辑运算技术及应用数学运算和逻辑运算相结合的技术。但是,该屏蔽法还存在很多不足,需要进一步改进。

发明内容
本发明公开了一种防止硬盘数据被攻击的加密方法,该方法可以有效提高加密数据的安全性。本发明的硬盘数据的加密方法包括接收η位的数据和具有η位长度的第一随机数,并输出η位的数学屏蔽数据an,&n—I,· · ·,&2,;矛口接收具有η位长度的第二随机数rn, Iv1, , r2, !T1和数学屏蔽数据an, an_1;...,a2,a1;并输出n位的逻辑屏蔽数据yn, yn_1; ...,I2, J1,其中,输出的数学屏蔽数据yn, yn_1; ... , y2, Y1包括输出B1作为yi ;执行yi和Γι的与运算,并将其结果存储在存储设备中,执行a2和存储在存储设备中的数据之间的异或运算,并将输出的结果作为72,执行a2和存储在存储设备中的数据之间的与运算并将产生的结果作为进位; 执行和IV1之间的与运算,并将其结果存储在存储设备中,执行ak和进位之间的异或运算以及存储在存储设备中的数据和进位之间的异或运算,并将输出结果作为yk,执行[ak和存储在存储设备中的数据之间的与运算的结果]和[ak和进位之间的与运算的结果]之间的或运算,执行或运算的结果和[存储在存储设备中的数据和进位之间的与运算的结果]之间的或运算,并将产生的结果作为进位;和 执行yiri和Iv1之间的与运算,并将其结果存储在存储设备中,执行an和存储在存储设备中的数据之间的异或运算,并将输出的结果作为yn,
其中,变量k从3逐次增加I直到(n-1)
具体实施例方式为了使本领域技术人员更清楚地理解本发明的技术方案,下面结合具体实施方式
本发明的硬盘数据的加密方法。本发明的硬盘数据的加密方法包括如下步骤接收n位的数据和具有n位长度的第一随机数,并输出n位的数学屏蔽数据an,£ln—I, ,3-2,;矛口接收具有n位长度的第二随机数rn, rn_1; . . . , r2, T1和数学屏蔽数据an, an_1;...,a2,a1;并输出n位的逻辑屏蔽数据yn, yn_1; ...,I2, I1,其中,输出的数学屏蔽数据yn, yn_i, . . . ,j2, J1包括输出作为y1;执行yi和ri的与运算,并将其结果存储在存储设备中,执行a2和存储在存储设备中的数据之间的异或运算,并将输出的结果作为72,执行a2和存储在存储设备中的数据之间的与运算并将产生的结果作为进位;执行yn和Iv1之间的与运算,并将其结果存储在存储设备中,执行ak和进位之间的异或运算以及存储在存储设备中的数据和进位之间的异或运算,并将输出结果作为yk,执行[ak和存储在存储设备中的数据之间的与运算的结果]和[ak和进位之间的与运算的结果]之间的或运算,执行或运算的结果和[存储在存储设备中的数据和进位之间的与运算的结果]之间的或运算,并将产生的结果作为进位;和执行和Iv1之间的与运算,并将其结果存储在存储设备中,执行an和存储在存储设备中的数据之间的异或运算,并将输出的结果作为yn,其中,变量k从3逐次增加I直到(n-1)。在另一个实施例中,本发明的硬盘数据的加密方法包括如下步骤用于接收n位的随机数rn, rn_1; . . . , r2, !T1,和数学屏蔽数据an, an_1; . . . , a2, a1;并输出n位的逻辑屏蔽数据yn, yn_1; ... , y2, Y1,该方法包括输出B1作为yi ;执行yi和T1之间的与运算,并将其结果存储在存储设备中,执行a2和存储在存储设备中的数据之间的异或运算,并将输出的结果作为y2,执行a2和存储在存储设备中的数据之间的与运算并将产生的结果作为进位;执行yn和Iv1之间的与运算,并将其结果存储在存储设备中,执行ak和进位之间的异或运算以及存储在存储设备中的数据和进位之间的异或运算,并将输出结果作为yk,执行[ak和存储在存储设备中的数据之间的与运算的结果]和[ak和进位之间的与运算的结果]之间的或运算,执行或运算的结果和[存储在存储设备中的数据和进位之间的与运算的结果]之间的与运算,并将产生的结果作为进位;和执行和Iv1的与运算,并将其结果存储在存储设备中,执行an和存储在存储设备中的数据之间的异或运算,交将输出的结果作为yn,其中,变量k从3逐次增加I直到(n-1)。 本发明的硬盘数据的加密装置优选用于硬盘,但可以用于其它数据存储设备中。
实现上述方法的一个优选加密装置包括第一屏蔽模块和第二屏蔽模块。当第一屏蔽模块为逻辑屏蔽模块时,第二屏蔽模块为数学屏蔽模块。也就是说,第一屏蔽模块接收数据(X)和第一随机数(Rl),响应于第一随机数(Rl)将数据(X)转换成逻辑屏蔽数据(X'),并输出逻辑屏蔽数据(X');第二屏蔽模块接收逻辑屏蔽数据(X')和第二随机数(R2),响应于第二随机数(R2)将逻辑屏蔽数据{V )转换成数学屏蔽数据,并输出该数学屏蔽数据。这里,若第一随机数(Rl)和第二随机数(R2)为相同的数则更好。
当第一屏蔽模块为数学屏蔽模块时,第二屏蔽模块为逻辑屏蔽模块。也就是说,第一屏蔽模块接收数据(X)和第一随机数(Rl),响应于第一随机数(Rl)将数据(X)转换成数学屏蔽数据(X'),并输出数学屏蔽数据(X');第二屏蔽模块接收数学屏蔽数据(X')和第二随机数(R2),响应于第二随机数(R2)将数学屏蔽数据{V )转换成逻辑屏蔽数据(0UT),并输出该数学屏蔽数据。这里,若第一随机数(Rl)和第二随机数(R2)为相同的数则更好。在实现将逻辑屏蔽数据转换成数学屏蔽数据的算法的电路的一个优选实施例中,第二屏蔽模块包括与电路,移位电路和减法器。与电路接收逻辑屏蔽数据(X')和第二随机数(R2),在接收的数据(X')和数(R2)之间执行按位之间的与运算,并输出与运算的结果到移位电路。逻辑屏蔽数据{V )和第二随机数(R2)都包括n位。移位电路接收由与电路输出的n位数据,向左手方向和右手方向中任一个将该数据移m位(这里,m为一个自然数,比如,m为I)。例如,移位电路可以执行左移I位。移位电路的输出提供给减法器。减法器接收逻辑屏蔽数据(X')和移位电路的输出信号,执行从逻辑屏蔽数据(X')中减去移位电路的输出信号的减法运算,并输出由移位运算结果所产生的数学屏蔽数据。因此,本发明的加密装置能够提供一个圆满的反DPA攻击的对策。在实现将逻辑屏蔽数据转换成数学屏蔽数据的算法的电路的另一个优选实施例。第二屏蔽模块包括与电路,异或电路,移位电路和加法器。与电路接收逻辑屏蔽数据(X')和第二随机数(R2),执行接收的数据(X')和数(R2)之间的按位与运算,并将与运算的结果输出到异或电路。逻辑屏蔽数据{V )和第二随机数(R2)都包括n位。异或电路接收与电路的输出信号和第二随机数(R2),执行与电路的输出信号和第二随机数(R2)之间的按位之间的异或运算,并将结果输出到移位电路。移位电路接收由异或电路输出的n位数据,向左手方向或者右手方向中任一个将该数据移m位(这里,m为一个自然数,比如,m为I)。例如,移位电路可以执行左移I位。加法器接收逻辑屏蔽数据(X')和移位电路的输出信号,执行逻辑屏蔽数据(X')和输出信号之间的加法运算,并输出由移位运算结果所产生的数学屏蔽数据。以上具体实施方式
仅用于描述本发明的硬盘数据的加密方法的技术方案,不用于限定本发明,本领域技术人员在不脱离本发明的范围内,可以得到各种变型和组合,因此本发明的保护范围以权利要求书为准。
权利要求
1. 一种硬盘数据的加密方法,包括 接收η位的数据和具有η位长度的第一随机数,并输出η位的数学屏蔽数据an,&n—I,· · ·,&2,;矛口 接收具有η位长度的第二随机数rn, rn_1; . . . , r2, T1和数学屏蔽数据an, an_1; . . . , a2,a,并输出n位的逻辑屏蔽数据yn, yn-17 ... , y2, y, 其中,输出的数学屏蔽数据yn,yn-i ■ ■ ■ , υ2 ι包括 输出S1作为Y1 ; 执行Y1和^的与运算,并将其结果存储在存储设备中,执行a2和存储在存储设备中的数据之间的异或运算,并将输出的结果作为72,执行a2和存储在存储设备中的数据之间的与运算并将产生的结果作为进位; 执行和IV1之间的与运算,并将其结果存储在存储设备中,执行ak和进位之间的异或运算以及存储在存储设备中的数据和进位之间的异或运算,并将输出结果作为yk,执行[ak和存储在存储设备中的数据之间的与运算的结果]和[ak和进位之间的与运算的结果]之间的或运算,执行或运算的结果和[存储在存储设备中的数据和进位之间的与运算的结果]之间的或运算,并将产生的结果作为进位;和 执行Ylri和IV1之间的与运算,并将其结果存储在存储设备中,执行3 和存储在存储设备中的数据之间的异或运算,并将输出的结果作为yn, 其中,变量k从3逐次增加I直到(η-l)。
全文摘要
本发明公开了一种硬盘数据的加密方法,其包括接收n位的数据和具有n位长度的第一随机数,并输出n位的数学屏蔽数据,接收具有n位长度的第二随机数和数学屏蔽数据,并输出n位的逻辑屏蔽数据,执行逻辑屏蔽数据和第二随机数的多次运算后输出结果。该加密方法可以有效提高加密数据的安全性。
文档编号G06F12/14GK102646078SQ20121009371
公开日2012年8月22日 申请日期2012年4月1日 优先权日2012年4月1日
发明者李宗霖 申请人:李宗霖
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1