【5G/4G】加/解密+完整性保护/校验算法源码详解

本文档详细介绍了5G和4G通信中的加解密算法(如128-EEA1/2/3与128-NEA1/2/3)和完整性保护/校验算法(128-EIA1/2/3与128-NIA1/2/3),涉及Snow3G、128-bit AES及ZUC等算法。这些算法在AS和NAS层中用于数据安全,确保信息的机密性和完整性。文章还将提供相关算法的源码解析,帮助读者深入理解无线通信安全机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本人就职于国际知名终端厂商,负责modem芯片研发。
在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。


博客内容主要围绕:
       5G协议讲解
       算力网络讲解(云计算,边缘计算,端计算)
       高级C语言讲解
       Rust语言讲解

加/解密+完整性保护/校验算法源码详解

        本系列将给出4G 、5G加解密以及完整性保护算法的源码,供各位参考。

这些算法既在AS层数据转发中使用,也在NAS层信令流程中使用


一、加解密算法

  • 4G的加解密算法128-EEA1与5G的加解密算法128-NEA1都是基于 Snow 3G;
  • 4G的加解密算法128-EEA2与5G的加解密算法128-NEA2都是基于 128-bit AES;
  • 4G的加解密算法128-EEA3与5G的加解密算法128-NEA3都是基于 ZUC(祖冲之算法);

上述三类算法的入参都是一样的,如下图:
在这里插入图片描述
算法根据输入参数生成输出密钥流块keystream, keystream用于对输入的明文块plaintext进行加密,生成输出的密文块ciphertext。

每个参数的含义需要根据具体的应用场景确定,感兴趣的可以关注我后续关于NAS与AS层安全的文章,它们的大致含义如下:

  • COUNT 是一个计数值,每次加/解密一次就加一;
  • BEARER是承载id;
  • DIRECTION是方向flag,标识上行还是下行;
  • LENGTH是keystream的长度;
  • KEY是密钥;

二、完整性保护/校验算法

  • 4G的加解密算法128-EIA1与5G的加解密算法128-NIA1都是基于 Snow 3G;
  • 4G的加解密算法128-EIA2与5G的加解密算法128-NIA2都是基于 128-bit AES;
  • 4G的加解密算法128-EIA3与5G的加解密算法128-NIA3都是基于 ZUC(祖冲之算法);

上述三类算法的入参都是一样的,如下图:
在这里插入图片描述
发送端根据这些输入参数使用完整性算法NIA计算一个32位的消息认证码(MAC-I/NAS-MAC)。然后在发送时将消息身份验证代码附加到消息。完整性保护算法,接收方计算预期的消息身份验证代码(XMAC-I / XNAS-MAC)消息收到相同的方式发送方计算其消息身份验证代码在消息发送和数据完整性的验证消息通过比较接收到的消息验证码,即MAC-I / NAS-MAC。

每个参数的含义需要根据具体的应用场景确定,感兴趣的可以关注我后续关于NAS与AS层安全的文章,它们的大致含义如下:

  • COUNT 是一个计数值,每次完整性保护/校验一次就加一;
  • BEARER是承载id;
  • DIRECTION是方向flag,标识上行还是下行;
  • MESSAGE是完整性保护/校验的消息体;
  • LENGTH是完整性保护/校验消息的二进制长度
  • KEY是密钥;

《Snow 3G算法源码介绍》
《128-bit AES算法源码介绍》
《ZUC算法源码介绍》

【5G/4G】128-EEA1与128-NEA1算法详解
【5G/4G】128-EEA2与128-NEA2算法详解
【5G/4G】128-EEA3与128-NEA3算法详解

【5G/4G】128-EIA1与128-NIA1算法详解
【5G/4G】128-EIA2与128-NIA2算法详解
【5G/4G】128-EIA3与128-NIA3算法详解


在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

从善若水

原创不易,感谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值