GSM加密算法主要有三种加密算法:A3是鉴权算法,A8是密钥的约定算法,A5是用于加密的流密码。

GSM规范没有指定A3和A8专用算法,仅仅指定了A3和A8算法的外部接口。加密算法的原型是可由使用人员独立选择的。然而许多人使用GSM备忘录里的例子,称为COMP128。

A3提供手机到网络的鉴权,A8是产生密钥Kc的算法。这些加密的算法是基于用户专用的密钥Ki,它是手机和网络共知的。用户手机的Ki固化在用户的Sim卡内,而GSM网络端的Ki放在与用户号码相对应的用户归属位置寄存器HLR内。GSM加密算法没有专门规定Ki的长度,所以它留给运行商去选择。但是,通常它是128位长的密钥。用户对网络的鉴权使用A3,算法如下:网络向用户提出128位的随机数RAND,用户计算出32位长的相应SRES=A3(Ki,RAND),并发送SRES到网络。网络去检测它是否有效。密钥 期 K c用A8获得如下:Kc=A8(K i,RA ND)。注意,A8和A3总是用同样的参数同时算出。在大多数实施中,它们是一个算法的两个输出,SRES和Kco所以一般总是用A3/A8来说明。

简析GSM加密算法

A5加密算法是GSM加密算法的一部分,但是它从来没有被公开过技术内容与细节,目前A5有两种形式,A5/1是“强”的版本,有出口限制,A5/2是“弱”的版本,而无出口限制。A5/3是补充的新版本,它虽已标准化但尚未用于GSM网络。A5/3是最近才使用的,是以块加密KASUMI为基础的。

A5是流密码,包括三组时钟控制的线性反馈移位寄存器LFSRs,每组分别是19,22和23级。控制时钟是三组移位寄存器每组中部分比特的门限函数,三组移位寄存器的级数总和为64,64位会话密钥被用来初始化移位寄存器内容,22比特TDMA帧被馈入移位寄存器,为每个TDMA帧产生两个114比特密钥流,它与发送或接收数据流异或。

简析GSM加密算法

GSM的通信是以4.6毫秒长的帧连续发送的。A5/1或A5/2算法输出228比特的密钥流,前114比特用作加密网络到用户的下行链路,后114比特用作加密用户到网络的上行链路。加密是简单地将信息与密钥流异或。每帧通信用一新的密码段Kc加密。

GSM加密算法已具备了保密机制,网络人员和供应商应用这些保密机制可为GSM用户提供保密电话和综合蜂窝网业务。保密机制可通过对用户鉴权来保护网络。对话音加密可为用户提供保密通信。