1.一种RC4硬件电路掩码防护方法,包括:
输入密钥和S盒分组步骤,将输入密钥和S盒各分为相同数量的分组,并同时向输入密钥和S盒的各分组引入随机数,其中,输入密钥和S盒分组后各部分之和与不带防护的输入密钥和S盒的内容相同;
S盒初始置换步骤,根据分组输入密钥分别对分组S盒进行初始置换;
密钥流生成步骤,对初始置换后的分组S盒分别进行再次置换,并以再次置换后的各分组S盒之和为新索引,所述新索引指向的S盒的内容为输出密钥流。
2.根据权利要求1所述的方法,其特征在于,将输入密钥和S盒各分为2组:K1密钥组和K2密钥组,S1盒组和S2盒组。
3.根据权利要求2所述的方法,其特征在于,S盒初始置换步骤进一步包括:
设置初始第一索引j1=0,初始第二索引j2=0;
对初始第一索引、各遍历的对应索引S1盒组内容以及K1密钥组内容之和取模得到更新的第一索引,对初始第二索引、各遍历的对应索引S2盒组内容以及K2密钥组内容之和取模得到更新的第二索引;
将更新的第一索引和第二索引取和,并根据取和值分别对S1盒组和S2盒组进行初始置换。
4.根据权利要求3所述的方法,其特征在于,密钥流生成步骤进一步包括:
设置初始第一索引j1=0,初始第二索引j2=0;
对初始第一索引和各遍历的对应索引初始置换后的S1盒组内容之和取模得到更新的第一索引,对初始第二索引和各遍历的对应索引初始置换后的S2盒组内容之和取模得到更新的第二索引;
将更新的第一索引和第二索引取和,并根据取和值分别对S1盒组和S2盒组进行再次置换;
根据再次置换后的各分组S盒内容之和为新索引,所述新索引指向的S盒的内容为输出密钥流。
5.根据权利要求2所述的方法,其特征在于,将输入密钥和S盒各分为相同数量的分组进一步包括:
初始化输入密钥和S盒,
S盒分组:初始化S1盒组,其中初始化值为n,利用同一索引下的S1值,初始化S2盒组,使S1和S2的和为没被分开的同一索引S盒的值;
输入密钥分组:初始化K1密钥组,利用同一索引下的K1密钥值,初始化K2密钥组,使K1和K2的和为同一索引值模上输入密钥的长度值下的输入密钥值。
6.一种RC4硬件电路掩码防护系统,包括:
输入密钥和S盒分组模块,将输入密钥和S盒各分为相同数量的分组,并同时向输入密钥和S盒的各分组引入随机数,其中,输入密钥和S盒分组后各部分之和与不带防护的输入密钥和S盒的内容相同;
S盒初始置换模块,根据分组输入密钥分别对分组S盒进行初始置换;
密钥流生成模块,对初始置换后的分组S盒分别进行再次置换,并以再次置换后的各分组S盒之和为新索引,所述新索引指向的S盒的内容为输出密钥流。
7.根据权利要求6所述的系统,其特征在于,在输入密钥和S盒分组模块中,将输入密钥和S盒各分为2组:K1密钥组和K2密钥组,S1盒组和S2盒组。
8.根据权利要求7所述的系统,其特征在于,S盒初始置换模块进一步包括:
第一初始索引设置单元,设置初始第一索引j1=0,初始第二索引j2=0;
第一索引更新单元,对初始第一索引、各遍历的S1盒组内容以及K1密钥组内容之和取模得到更新的第一索引,对初始第二索引、各遍历的S2盒组内容以及K2密钥组内容之和取模得到更新的第二索引;
S盒初始置换单元,将更新的第一索引和第二索引取和,并根据取和值分别对S1盒组和S2盒组进行初始置换。
9.根据权利要求8所述的系统,其特征在于,密钥流生成模块进一步包括:
第二初始索引设置单元,设置初始第一索引j1=0,初始第二索引j2=0;
第二索引更新单元,对初始第一索引和各遍历的初始置换后的S1盒组内容之和取模得到更新的第一索引,对初始第二索引和各遍历的初始置换后的S2盒组内容之和取模得到更新的第二索引;
S盒再次置换单元,将更新的第一索引和第二索引取和,并根据取和值分别对S1盒组和S2盒组进行再次置换;
密钥流生成单元,根据再次置换后的各分组S盒内容之和为新索引,所述新索引指向的S盒的内容为输出密钥流。
10.根据权利要求7所述的系统,其特征在于,输入密钥和S盒分组模块进一步包括:
初始化输入密钥和S盒,
S盒分组:初始化S1盒组,其中初始化值为n,利用同一索引下的S1值,初始化S2盒组,使S1和S2的和为没被分开的同一索引S盒的值;
输入密钥分组:初始化K1密钥组,利用同一索引下的K1密钥值,初始化K2密钥组,使K1和K2的和为同一索引值模上输入密钥的长度值下的输入密钥值。