GSM A5/1算法C语言代码实现和分析

介绍

全球超过200个国家和地区超过10亿人正在使用GSM电话。对中国用户来说,GSM就是移动和联通的2g模式。
GSM

在1982年A5首次提出时,人们认为A5 / 1密钥长度要128位,但最终确定的结果是64位密钥(政府可以使用暴力破解算出)。很可能是政府的压力迫使密钥位数缩短。事实上,据说英国认为只需要48位,而当时的西德政府推动更多的位数(因为他们担心东德政府能够破解他们的密码)

A5算法是一款主要用于GSM的加密算法。该算法本身在安装于1亿部移动电话时是秘密。
它最终在1999年8月公布,并在一个月内,A5 / 2方法被破解。
如果没有特别说明,通常所说的A5指的是A5/1。

具体分析

A5算法的核心是3个移位寄存器:
在这里插入图片描述
上图已经很清楚地说明了A5的移位寄存器的具体工作原理:
三个寄存器的第8,10,10bit是clock bit,意味着每次clock时,算法会计算这三位的多数是0还是1,然后对处于多数的寄存器进行移位操作。
比如说寄存器1的第8位是0,寄存器2的第10位是1,寄存器3的第十位是0。那么多数值就是0,然后对寄存器1和寄存器3进行移位操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值