【技术实现步骤摘要】
本专利技术涉及到通信系统数据加解密技术,特别涉及到一种祖冲之(简称,ZUC)算法密钥生成装置及方法。
技术介绍
通信系统数据发送方在发送数据之前,需要对待发送的数据进行加密和/或完整性校验操作,而数据接收方在接收到数据后,也需要对接收到的数据进行解密和/或完整性校验操作。通常发送方会通过一定的算法来生 成密钥,利用密钥对数据进行加密和/或完整性校验,接收方则利用相同的算法生成密钥,利用密钥对数据进行解密和/或完整性校验。ZUC算法是中国自主设计的流密码算法,用于生成加解密或完整性校验的密钥。ZUC算法密钥生成的算法分为两个阶段,算法初始化阶段和密钥生成阶段,在算法初始化阶段,不生成密钥,迭代计算密钥生成所需的各参数,直到迭代次数达到预先设置的算法初始化迭代次数N,进入密钥生成阶段,开始生成密钥。所述初始密钥参数包括,32比特的加密计数器(简称,Count)、5比特的无线承载标识(简称,Bearer)、1比特的传输方向(简称,Direction)、15个8比特的密钥计算参数(简称,key) i = 0 15、密钥模式(加解密或完整性校验)。算法初始化阶段的算法为I、生成初始化向量(简称,Ivi)加解密的iVi为iv0 = iv8 = Count [7:0], Iv1 = iv9 = Count [15:8]iv2 = iv10 = Count [23:16],iv3 = ivn = Count [31:24]iv4 = iv12 = Bearer Direction OO2iv5 = iv6 = iv7 = iv13 = iv14 = iv15 = 000 ...
【技术保护点】
【技术特征摘要】
1.一种祖冲之ZUC算法密钥生成装置,其特征在于,包括 接ロ模块,从高层协议模块获取初始密钥參数; IV计算模块,从接ロ模块获取加密计数器Count、无线承载标识Bearer、传输方向Direction、密钥模式參数,根据密钥模式计算加解密初始化向量或完整性校验初始化向量IVi ; Si计算模块,包括I个存储単元,存储单元i用于存储存储移位值Si ; 如果是第一次计算Si,从接ロ模块获取密钥计算參数keyi;从iV计算模块获取ivp Si=Iieyi I dj Ivi ;否则,Si = si+1 ;其中,I = 16 ;i = O 15 为算法固定參数; S16计算模块,计算S16并发送计算结果到所述Si计算模块的存储单元16中保存; X计算模块,从Si存储模块获得数据,计算重组值Xパj = O 3 ; W计算模块,从X计算模块和R计算模块获得数据,计算密钥生产值W和中间变量W1.W2; 其中,随机变换值も、R2的初始值为O ; R计算模块,从所述W计算模块获取H计算も、R2 ; 密钥生成模块,在密钥生成阶段从所述X计算单元获取X3,从所述W计算单元获取W,生成密钥 KEY_ZUC,KEY-ZUC= X3 @W; 其中,I I为比特拼接操作,@为异或操作。2.根据权利要求I所述的装置,其特征在于,所述iv计算模块包括 选择单元,从接ロ模块接收Count、Bearer、Direction參数,根据密钥模式选择加解密IV计算单元或完整性校验iv计算单元计算对应的iVi ; 加解密iv计算单元,包括,15个加解密存储单元,加解密存储单元i存储对应的ivi; i=O 15 ;通过选择单元与接ロ模块连接,从接ロ模块接收Count、Bearer、Direction并存放到对应的加解密存储单元中; 完整性校验iv计算单元,通过选择単元与接ロ模块连接,从接ロ模块接收Count、Bearer> Direction,计算并保存完整性校验初始化向量;包括,15个完整性校验存储单元,完整性校验存储单元i存储对应的iv” i = O 15 ;iv8计算单元,从完整性校验存储单元O获取iVd,从接ロ模块获取Direction,计算iv8并存储到完整性校验存储单元8 ;iv14计算单元,从完整性校验存储单元6获取iv6,从接ロ模块获取Direction,计算iv14并存储到完整性校验存储単元14。3.根据权利要求I所述的装置,其特征在于,所述iv计算模块包括 15个iv存储单元,存储单元i存储对应的ivp i = O 15 ; iv8计算单元,从存储单元O获取ivci,从接ロ模块接收Direction,计算iv8,/V8 = /V0 Θ {Direction || 00000002}; IV14计算单元,从存储单元6获取iv6,从接ロ模块接收Direction,计算iv14,/V14 = iv,十(Direction || 00000002}; 选择单元,如果密钥模式为加解密,将存储单元O的数据保存发送到存储单元8 =,将存储单元6的数据保存发送到存储单元14,将Bearer | | Direction | | OO2保存到存储单元4和存储单元12 = Bearer Direction OO2 ;如果密钥模式为完整性校验,设置iv8计算单元输出发送到存储单元8,将iv14计算单元输出发送到存储单元14,将Bearer| OOO2保存到存储单元4和存储单元12。4.根据权利要求I所述的装置,其特征在于,所述R计算模块包括 第一数据拼接単元,计算Wj I W2h操作; 第二数据拼接単元,计算Wa I I Wih操作; 第一移位寄存单元,计算并保存W1J Iw2h < < < 2、W1J Iw2h < < < 10、Wj Iw2h<<< 18、Wil I W2h <<< 24 ; 第二移位寄存单元,计算并保存W2J |w1H < < < 8、w2L Iwih < < < 14、w2L| |w1H<<< 18, ff2L I Wih <<< 30 ; 第一异或器,将第一数据拼接単元的输出与第一移位寄存单元中的数据进行异或;第二异或器,将第二数据拼接単元的输出与第二移位寄存单元中的数据进行异或;查表单元,保存R參数表,根据第一异或器的输出从R參数表中获取R1,根据第二异或器的输出从R參数表中获取R2 ;将も、R2发送到R存储单元; R存储单元,保存R” R2况、R2的初始值为O ; 其中,Wih为W1的高16位,Wil为W1的低16位;ff2H为W2的高16位,W2l为W2的低16位;< < <为向左循环移位操作,< <<后的数字表示移位的位数。5.根据权利要求I 4中任一项所述的装置,其特征在于,所述S16计算模块包括 乘法单元,从 Si 计算模块读取 S。、S4> s1(l、s13、S15、计算 215s15、217s13、221s1(i、22°s4、28sq ; 第一选择器,与所述Si计算模块的存储单元O、所述乘法单元以及第一加法器的输出连接,根据第一加法器已执行加法的次数选择第一加法器的输入; 其中,第一加法器已执行加法的次数为5k时,选择存储单元O的数据和28S(i ;第一加法器已执行加法的次数为5k+l时,选择第一加法器的输出和22°s4,第一加法器已执行加法的次数为5k+2时,选择第一加法器的输出和221s1(l ;第一加法器已执行加法的次数为5k+3时,选择第一加法器的输出和217s13 ;第一加法器已执行加法的次数为5k+4时,选择第一加法器的输出和215s15 ; 第一加法器,对所述第一选择器选择的输入数据进行加法计算并将计算结果输出到所述第一选择器和第一取模单元; 第一取模单元,当第一加法器已执行加法的次数为5 (k+Ι)时,对第一加法器的输出执行 mod(231-l)操作; 移位寄存器,在算法初始化阶段,从所述W计算模块接收W,将W右移I位保存; 第二加法器,将第一取模单兀的输出与移位寄存器的输出相加; 第二取模单元,对第二加法器的输出执行mod (231-1)操作; 第二选择器,在算法初始化阶段选择第二取模单元的输出发送到S16输出单元,在密钥生成阶段选择第一取模单元的输出发送...
【专利技术属性】
技术研发人员:晏龙,刘荣,岳天天,彭玲,
申请(专利权)人:重庆重邮信科通信技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。