A5/1
A5 / 1是用于在GSM蜂窝电话标准中提供无线通信隐私的流密码。它是为GSM使用指定的七种算法之一。最初是保密的,但通过泄漏和逆向工程成为公众的知识。 密码中存在一些严重的弱点。
算法步骤:
A5/1算法使用3个线性反馈移位寄存器,简称为LFSR。三个寄存器的分别为19位、22位、23位。这里要使用三个共包含64位二进制的线性反馈移位寄存器,这个设计绝非偶然。绝非巧合的是,A5/1算法的密钥K也是64位。该密钥用于三个线性反馈移位寄存器的初始填充,也就是说,该密钥用于充当三个寄存器的初始值。这三个寄存器用密钥填充之后,就可以开始生成密钥流了。
每个回合步骤可以拆分为:取KEY,反馈多项式(Feedback Polynomial),位移
取Key:
取三个寄存器的最后一位,也就是19位、22位、23位,进行XOR操作,得到的结果为这一轮Key的一位。
反馈多项式(Feedback Polynomial):
LFSR进行位移的前置操作,具体可以分成两步:判定是否需要进行位移,判定新的充填的值。