当前位置:首页 >资讯 >GSM加密系统里涉及的三种算法:A3、A5和A8


A3算法是一种用来对全球移动通信系统(GSM)蜂窝通信进行加密的算法。事实上,A3算法和A8算法通常同时实施(也称为A3/A8算法)。A3/A8算法在用户识别SIM卡和GSM网络认证中心实施。它是用来识别用户和产生加密语音和数据通信的密钥。A3和A8算法是基于密钥的单向碰撞函数。它们通常被组合在一起,通常被称为COMP128。目前,COMP128算法用于识别过程,用,并存储在SIM卡和AUC中。3的输入是GSM网络发送给移动的128比特的随机电话号码和单个用户识别密钥(Ki),输出是一个32比特的标记响应。这种标记响应返回到网络中,并与网络本身生成的结果进行比较。如果两者一致,用户将被识别。A8的输入也是64比特加密密钥(KC)的随机数和Ki。

A5算法是用来加密全球移动通信系统(GSM)蜂窝通信的。A5加密算法可以通过电话听筒和基站之间的语音和数据传输来提供隐私。A5算法是在电话听筒和基站子系统(BSS)中进行的。通过加密算法A5使用从A8中获得的加密密钥(KC)来加密和解密GSM系统中移动电话和基站之间的信令和数据。目前使用的A5算法有三种。A5/1被认为是西方国家应用的三种性能最好的加密算法。A5/2在性能方面比A5/1差得多,由于出口限制,A5/1被禁用。虽然A5/0也是A5算法的一种,但实际上并不加密数据。



每个SIM卡通常都有一个世界上唯一的标志号码,叫做IMSI,这是唯一一个识别你的SIM卡的标志。当手机启动时,手机将从卡片上读取该号码并发送到移动网络。移动中有一个大型数据库,用来描述IMSI和手机号码之间的对应关系。除了IMSI,还有16个字节的密钥数据,这些数据不能通过SIM卡的界面读取。它通常被称为K,KI也保存在移动网络中。

当手机登录到移动网络时,移动网络会产生16字节的随机数据发送到手机,手机会将数据发送到SIM卡,SIM卡使用自己的密钥KII和RAND进行操作后,生成4字节的响应发送回手机,并转发给移动网络,同时,移动网络也进行了相同的算法操作,移动网络会比较这两个结果是否相同,同样的表示这张卡是我发出的,允许它登录。这种验证算法在GSM规格中称为A3、M=128、K=128、C=32,显然,这种算法要求已知的M和K可以非常简单地计算C,但已知的M和C很难计算K。A3算法是在SIM卡中进行的,所以如果运营商想要更改加密算法,他只需要发布他的SIM卡,让他的基站和SIM卡使用相同的算法,手机完全不需要更换。



当移动网络发送RAND时,手机还允许SIM卡计算RAND和KID在整个通信加密过程中使用的另一个密钥。这个密钥的长度是64号,通常被称为KC。由于A3算法和A8算法所接受的输入完全相同,因此实现者偷懒,并使用一个算法同时生成SRES和KC。

由于A5的加密量非常大,而且SIM卡的速度非常慢,所以所有通信过程中的加密都是在手机上完成的,所以这个算法称为A5算法,因为A5的加密量非常大,而且SIM卡的速度非常慢,所以所有通信过程中的加密都是在手机上完成的。