一种数据加密方法和装置的制造方法_2

文档序号:8285001阅读:来源:国知局
(M3)分别4个随机数MO、Ml、M2和M3分别进行预设线性变换后的值。
[0025]所述第一数据的第I个第二分组XO'对应的掩码为L(M0),掩码L(MO)对应的随机数为MO;所述第一数据的第2个第二分组Xl'对应的掩码为L(Ml),掩码L(Ml)对应的随机数为Ml ;所述第一数据的第3个第二分组Χ2'对应的掩码为L (M2),掩码L (M2)对应的随机数为M2;所述第一数据第4个第二分组Χ3'对应的掩码为L (M3),掩码L (M3)对应的随机数为M3。
[0026]步骤S102,将所述第一数据的第2个第二分组至第η个第二分组和第一轮密钥进行异或后的第一值,第一数据的第I个第二分组对应的所述随机数和新增第一随机数进行异或后的第二值作为预设非线性变换的输入进行所述预设非线性变换,并将所述非线性变换后的值进行所述预设线性变换。
[0027]例如,在图3中,将所述第一数据的第2个第二分组至第4个第二分组Xl'、\1'、Χ3'和第一轮密钥异或后的第一值,所述第一数据的第I个第二分组XO'对应的随机数MO和新增第一随机数Μ4进行异或后的第二值进行预设非线性变换和所述预设线性变换。具体地,将所述第一数据的第2个第二分组至第4个第二分组Xl'、Χ2'、Χ3'和第一轮密钥Rl 异或后的第一值为(XI ? Χ2 ? Χ3) ? (L(Ml) ? L (M2) ? L (M3)) ? R1,令(XI θ Χ2 θ X3) ? (L(Ml) ?L(M2) ?L(M3)) ? R1=A1,将所述第一数据的第2个第二分组至第4个第二分组Xl'、\2'、X3'和第一轮密钥异或后的值为Al,所述第一数据的第I个第二分组XO'对应的随机数MO和新增第一随机数M4进行异或后的第二值为MO ? M4,那么将第一值Al和第二值MO ? M4分别作为预设非线性变换的输入,进行所述预设非线性变换,所述预设非线性变换的结果为Dl ?MO ? M4,并将所述预设非线性变换的结果进行所述预设线性变换,进行所述预设线性变换后的值为Lout=L(Dl) ? L (MO ? M4) =L(Dl) ? L(MO) ? L (M4)。
[0028]步骤S103,将所述预设线性变换后的值和所述第一数据的第I个第二分组异或后的值作为第二数据的第η个第二分组,并将所述新增第一随机数经过所述预设线性变换后的值作为所述第二数据的第η个第二分组对应的掩码。
[0029]例如,在图3中,将所述预设线性变换后的值为Lout=L (Dl) ? L (MO ? Μ4)=L(Dl) ? L(MO) ? L (Μ4)和所述第一数据的第I个第二分组XO '异或后的值L(Dl) ? L(MO) ? L (Μ4) ? XO ? L(MO) = L(Dl) ? XO ? L (Μ4)作为第二数据的第 4 个第二分组Χ4',而将所述新增第一随机数Μ4进行所述线性变换后的值L(M4)作为Χ4'的对应掩码。
[0030]步骤S104,将所述第一数据的第j个第二分组的值作为所述第二数据的第j_l个第二分组的值,并将所述第一数据的第j个第二分组对应的掩码作为所述第二数据的第j-ι个第二分组对应的掩码,I < j < η。
[0031]例如,在图3中,将所述第一数据的第2个第二分组ΧΓ的值作为所述第二数据的第I个第二分组的值,并将所述第一数据的第2个第二分组Xl'对应的掩码L(Ml)作为所述第二数据的第I个第二分组对应的掩码。
[0032]将所述第一数据的第3个第二分组Χ2'的值作为所述第二数据的第2个第二分组的值,并将所述第一数据的第3个第二分组Χ2'对应的掩码L(M2)作为所述第二数据的第2个第二分组对应的掩码。
[0033]将所述第一数据的第4个第二分组X3'的值作为所述第二数据的第3个第二分组的值,并将所述第一数据的第4个第二分组X3'对应的掩码L(Ml)作为所述第二数据的第3个第二分组对应的掩码。
[0034]那么所述第二数据的4个第二分组分别为Xl'、X2'、X3'和X4',对应的掩码分别为L (Ml)、L (M2)、L (M3)和L (M4)。所述第二数据的4个第二分组分别为Xl'、X2'、X3'和X4'将可以作为下一轮加密算法的输入进行一下轮加密运算,并且下一轮加密算法和上述加密算法类似。具体地,请参考图4,所述加密算法还可以包括:步骤S105至S107。
[0035]下面我们将具体结合图5对步骤S105至S107进行详细说明。
[0036]步骤S105,将所述第二数据的第2个第二分组至第η个第二分组和第二轮密钥进行异或后的值,第二数据的第I个第二分组对应的随机数和新增第二随机数进行异或后的值作为预设非线性变换的输入进行所述预设非线性变换,并将所述非线性变换后的值进行所述预设线性变换。
[0037]例如,在图5中,将所述第二数据的第2个第二分组至第4个第二分组Χ2'、Χ3,、Χ4'和第二轮密钥R2异或后的第三值,所述第二数据的第I个第二分组Xl'对应的随机数Ml和新增第二随机数Μ5进行异或后的第四值进行预设非线性变换和所述预设线性变换。
[0038]具体地,将所述第二数据的第2个第二分组至第4个第二分组Χ2'、Χ3 '、Χ4 '和第二轮密钥R2异或后的第三值为(Χ2 ' ?X3' θ Χ4 ' ) ? R2,令(X2/ ?X3' ? Χ4/ ) ? R2=A2,将所述第二数据的第2个第二分组至第4个第二分组Xl'、X2'、X3'和第二轮密钥R2异或后的第四值A2,所述第二数据的第I个第二分组Xl;对应的随机数Ml和新增第二随机数M5进行异或后的值为Ml ΘΜ5,那么将第三值A2和第四值Ml ? M5分别作为预设非线性变换的输入,进行所述预设非线性变换,所述预设非线性变换的结果为D2 ?Ml ? M5,并将所述预设非线性变换的结果进行所述预设线性变换,进行所述预设线性变换后的值为Lout=L(D2) ? L (Ml ? M5) =L(D2) ? L(Ml) ? L (M5)。
[0039]步骤S106,将所述预设线性变换后的值和所述第二数据的第I个第二分组异或后的值作为第三数据的第η个第二分组,并将所述新增第二随机数经过所述预设线性变换后的值作为所述第三数据的第η个第二分组对应的掩码。
[0040]例如,在图5中,将所述预设线性变换后的值为Lout=L (D2) ? L (Ml ? Μ5)=L(D2) ? L(Ml) ? L (Μ5)和所述第二数据的第I个第二分组Xl '异或后的值L(D2) ? L(Ml) ? L (M5)? Xl ? L(Ml) =L(D) ? Xl ? L (M5)作为第三数据的第 4 个第二分组X5',而将所述新增第二随机数M5进行所述线性变换后的值L(M5)作为X5'的对应掩码。
[0041]步骤S107,将所述第二数据的第j个第二分组的值作为所述第三数据的第j_l个第二分组的值,并将所述第二数据的第j个第二分组对应的掩码作为所述第三数据的第j-ι个第二分组对应的掩码,I < j < η。
[0042]例如,在图5中,将所述第二数据的第2个第二分组Χ2'的值作为所述第三数据的第I个第二分组的值,并将所述第二数据的第2个第二分组Χ2'对应的掩码L(M2)作为所述第二数据的第I个第二分组对应的掩码。
[0043]将所述第二数据的第3个第二分组X3'的值作为所述第三数据的第2个第二分组的值,并将所述第二数据的第3个第二分组X3'对应的掩码L(M3)作为所述第三数据的第2个第二分组对应的掩码。
[0044]将所述第二数据的第4个第二分组X4'的值作为所述第三数据的第3个第二分组的值,并将所述第二数据的第4个第二分组X4'对应的掩码L(M4)作为所述第三数据的第3个第二分组对应的掩码。
[0045]需要说明的是,在本发明的上述实施例中,仅以第一分组和第二分组都为4个为例进
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1