流加密解密原理及算法
2.1 流加密解密原理
流密码由密钥和密码算法两部分组成,密钥一般存储在加解密设备内部,在数据传输前已设置完成。密码算法在较长时间内是不变的。在同步流密码中,只要发送端和接收端有相同的密钥和内部状态,就能产生相同的密钥流。
数据传输时,加密端和解密端使用同一个初始密钥,加密时密码流与明文相异或得到密文,同时每隔一定时间加入同步数据;解密时以同步模式产生的密文与密码流进行异或得到明文,同步模式采用63位Gold码。整个加解密过程与发送数据格式如图1所示。在发送密文中加入初始同步码,接收端利用Gold码的三值特性检测Gold码实现同步数据。对接收数据流和Gold码做互相关运算,相关结果满足Gold码的三值特性,说明当前数据流是发送端加入的同步Gold码.标志为密文的起始,然后调用解密算法对后续的密文解密,恢复传输的数据。
2.2 A5/1算法原理
A5/1引是GSM移动通信中数据传输的流密码加密算法。A5/1密码流产生器生成的密码与明文数据帧的每一位相异或得到密文序列。A5/1算法由3个不同长度的线性反馈移位寄存器R1,R2,R3组成,其长度分别为19,22,23位,其反馈特征方程分别为:x18+x17+x16+x13+1,x22+x21+x20+x7+1。算法的初始密钥是64位向量。密码流输出位为3个移位寄存器的异或输出。移位寄存器的使能由多数函数控制。Rl的第8位、R2的第10位、R3的第10位为多数函数数据输入,它们决定3个移位寄存器的移位状况。在这3个数据位中,如果有两个或两个以上的都为0,多数函数值就为0;如果有两个或两个以上的都为1,多数函数值就为1。多数函数输入的3个数据位中与多数函数值相同,相应的移位寄存器就移位。A5/1的硬件实现原理如图2所示。密码流的产生分两个阶段.第一阶段给寄存器装人64位初始值;第二阶段则根据时钟节拍和使能控制产生密码流。
2.3 W7算法原理
W7H算法与A5/1算法在结构原理上有相似之处。W7算法由8个类似于A5/1算法硬件结构模块并行组成,每一个模块都包含3个线性反馈移位寄存器和多数函数。不同的是w7算法是128位的初始密钥,线性反馈移位寄存器的长度图2 A5/1算法的硬件实现原理和反馈结构都不同于A5/1算法。3个线性反馈移位寄存器长度分别为38、43、47位。8个并行模块采用同一初始密钥。但反馈结构和多数函数的输入位均各不相同。8个模块的输出组成8位密码流,加密效率更高。各线性移位寄存器由固定数据位通过逻辑与产生1位数据,再将该位数据与最高位输出异或,最后将3个移位寄存器输出再异或输出作为本并行块的密码位输出。由于有8个并行块,最后总的输出8 bit,即1字节。设计时,每隔8个时钟周期输出一次,保证数据速率的一致性。
流加密解密原理及算法
2.1 流加密解密原理
流密码由密钥和密码算法两部分组成,密钥一般存储在加解密设备内部,在数据传输前已设置完成。密码算法在较长时间内是不变的。在同步流密码中,只要发送端和接收端有相同的密钥和内部状态,就能产生相同的密钥流。
数据传输时,加密端和解密端使用同一个初始密钥,加密时密码流与明文相异或得到密文,同时每隔一定时间加入同步数据;解密时以同步模式产生的密文与密码流进行异或得到明文,同步模式采用63位Gold码。整个加解密过程与发送数据格式如图1所示。在发送密文中加入初始同步码,接收端利用Gold码的三值特性检测Gold码实现同步数据。对接收数据流和Gold码做互相关运算,相关结果满足Gold码的三值特性,说明当前数据流是发送端加入的同步Gold码.标志为密文的起始,然后调用解密算法对后续的密文解密,恢复传输的数据。
2.2 A5/1算法原理
A5/1引是GSM移动通信中数据传输的流密码加密算法。A5/1密码流产生器生成的密码与明文数据帧的每一位相异或得到密文序列。A5/1算法由3个不同长度的线性反馈移位寄存器R1,R2,R3组成,其长度分别为19,22,23位,其反馈特征方程分别为:x18+x17+x16+x13+1,x22+x21+x20+x7+1。算法的初始密钥是64位向量。密码流输出位为3个移位寄存器的异或输出。移位寄存器的使能由多数函数控制。Rl的第8位、R2的第10位、R3的第10位为多数函数数据输入,它们决定3个移位寄存器的移位状况。在这3个数据位中,如果有两个或两个以上的都为0,多数函数值就为0;如果有两个或两个以上的都为1,多数函数值就为1。多数函数输入的3个数据位中与多数函数值相同,相应的移位寄存器就移位。A5/1的硬件实现原理如图2所示。密码流的产生分两个阶段.第一阶段给寄存器装人64位初始值;第二阶段则根据时钟节拍和使能控制产生密码流。
2.3 W7算法原理
W7H算法与A5/1算法在结构原理上有相似之处。W7算法由8个类似于A5/1算法硬件结构模块并行组成,每一个模块都包含3个线性反馈移位寄存器和多数函数。不同的是w7算法是128位的初始密钥,线性反馈移位寄存器的长度图2 A5/1算法的硬件实现原理和反馈结构都不同于A5/1算法。3个线性反馈移位寄存器长度分别为38、43、47位。8个并行模块采用同一初始密钥。但反馈结构和多数函数的输入位均各不相同。8个模块的输出组成8位密码流,加密效率更高。各线性移位寄存器由固定数据位通过逻辑与产生1位数据,再将该位数据与最高位输出异或,最后将3个移位寄存器输出再异或输出作为本并行块的密码位输出。由于有8个并行块,最后总的输出8 bit,即1字节。设计时,每隔8个时钟周期输出一次,保证数据速率的一致性。
举报