【密码学】ZUC祖冲之算法
一、ZUC算法简介
ZUC算法(祖冲之算法)是中国自主研发的一种流密码算法,2011年被3GPP批准成为4G国际标准,主要用于无线通信的加密和完整性保护。ZUC算法在逻辑上采用三层结构设计,包括线性反馈移位寄存器(LFSR)、比特重组(BR)和非线性函数F。ZUC算法集包括祖冲之算法、加密算法128-EEA3和完整性算法128-EIA3,已被国际组织3GPP推荐为4G无线通信的第三套国际加密和完整性标准的侯选算法。
二、ZUC算法流程
- 关键步骤(Operation):
LFSR:线性反馈移位寄存器生成一系列的内部状态。分为2种模式:初始化模式和工作模式
1.初始化模式:LFSR接收1个31比特字“的输人,对寄存器单元变量s0,s1…s15进行更新。
2.工作模式:LFSR无输人,直接对寄存器单元变量s0,s1…s15进行更新。

比特重组(BR):从LFSR的寄存器单元中抽取128比特组成4个32比特字。
输入为LFSR寄存器单元变量s0,s2,s5,s7,s9,s11,s14,s15,输出为4个 32 比特字 X0、X1、X2、X3

非线性函数F:将LFSR生成的状态进行复杂的非线性变换,增强密钥流的随机性。把一个96比特压缩为32比特的一个非线性压缩函数。
F的输人为3个32比特字X0、X1、X2,输出为一个32比特字W。

密钥装入:密钥载入过程将128比特的初始密钥k和128比特的初始向量iv扩展为16个31比特长的整数,作为LFSR寄存器单元s0,s1…s15的初始状态。

2.算法运行
祖冲之算法的输入参数为初始密钥k、初始向量iv和正整数L,输出参数为L 个密钥字Z。算法运行过程包括初始化步骤和工作步骤。

初始化(Key and IV Setup):
调用密钥装载过程,将128比特的初始密钥k和128比特的初始向量iv装入到FSR的寄存器单元变量S0,S1,S2…S15中作为LFSR的初态;并置非线性函数F中的32比特存储单元R1和R2全为0。然后重复循环过程32次。


以下是ZUC算法的特点,以表格形式呈现:
| 特点 | 描述 |
|---|---|
| 算法类型 | 流密码算法 |
| 密钥长度 | 128位 |
| IV长度 | 128位 |
| 输出 | 生成32位的密钥流 |
| 结构 | 由LFSR、BR(比特重组)和F(非线性函数)三部分组成 |
| LFSR | 16级线性反馈移位寄存器,基于素域GF(2^31 - 1)的m序列 |
| BR(比特重组) | 破坏LFSR在素域上的线性结构,增强随机性 |
| F(非线性函数) | 包含S盒,提供非线性,确保算法安全的关键部分 |
| S盒 | 由4个8x8的S盒并置而成,其中S2=S0,S3=S1 |
相关文章:
【密码学】ZUC祖冲之算法
一、ZUC算法简介 ZUC算法(祖冲之算法)是中国自主研发的一种流密码算法,2011年被3GPP批准成为4G国际标准,主要用于无线通信的加密和完整性保护。ZUC算法在逻辑上采用三层结构设计,包括线性反馈移位寄存器(L…...
Python面试常见问题及答案8
一、基础部分 问题1: 解释Python中的切片(slicing)操作在列表、字符串上是如何工作的? 答案: 在列表和字符串中,切片操作可以获取其中的一部分元素。切片的语法是[start:stop:step]。 对于列表࿰…...
ASP.net Core EntityFramework Code EF code 汇总
Entity FrameWork EF 总结 EF Core EF Core 如果实体模型很多,全部放在 上下文中的 OnModelCreating(ModelBuilder modelBuilder) 不太好维护 可以把实体模型 分离出去,每个类创建一个实体模型 public class BookConfiguration :IEntityT…...
u3d动画系统五【StateMachineBehaviour类】
一.StateMachineBehaviour概述 状态机行为是一类特殊脚本。与将常规 Unity 脚本 (MonoBehaviour) 附加到单个游戏对象类似,您可以将 StateMachineBehaviour 脚本附加到状态机中的单个状态。因此可编写一些将在状态机进入、退出或保持在特定状态时执行的代码。这意味…...
IS-IS协议
IS-IS协议介绍 IS-IS(Intermediate System to Intermediate System)协议是一种链路状态的内部网关协议(IGP),用于在同一个自治系统(Autonomous System, AS)内部的路由器之间交换路由信息。IS-I…...
使用C++实现RSA加密解密
一,RSA简介。 RSA,一种非对称加密方式。是目前为止最有影响力的加密算法之一,而且是第一个同时应用于加密和数字签名的算法。 其原理为:两个大素数相乘容易,但是若想将两个大素数相乘的积再分解为两个原始的素数很难…...
C++归并与快速
快排 #include<bits/stdc.h> #include<algorithm> using namespace std; void f(int,int); void cl(int,int,int); void q(int,int); int a[211]; int n; int main(){cin>>n;for(int i0;i<n;i){cin>>a[i];}q(0,n-1);for(int i0;i<n;i){cout<…...
金蝶云苍穹踩过的坑(慢慢更新)
IDEA不能用最新版,不然搜不到金蝶的插件。 我用的是2024.1.7/2023.1.7 IDEA里增加金蝶插件库的地址也变了,现在是 https://tool.kingdee.com/kddt/idea-updatePlugins.xml 金蝶云苍穹部署在服务器 MAC本地IDEA调试的时候,登录N次能成功一次…...
AndroidStudio——安卓项目结构与文件介绍
一、AndroidStudio界面 一个安卓项目界面主要由以下几部分组成: 1.菜单栏:位于顶部,基本的各项菜单操作 2.项目结构:通常位于左侧,展示当前项目的目录结构 3.编辑窗口:通常位于中间,可以用于编…...
华为自反ACL实验
一、实验背景 做这个实验的原因是最近公司里上了三台小程序服务器,由于三台服务器的端口都映射出去了,领导要求A网段的三台服务器不能访问内网B,C网段,同时B、C网段内网用户可以访问A段的94、95、96服务器; 也就是PC4\…...
yml和xml分别代表什么
YML 和 XML 是两种不同的数据序列化格式,它们在软件开发和数据交换中有着广泛的应用: YAML (YAML Ain’t Markup Language): YAML 是一种用于数据序列化的人类可读语言。它被设计为易于阅读和编写,特别适合于配置文件。YAML 使用缩进来表示数…...
Qt多线程编程
在Qt中,多线程编程是一个常见的需求,特别是当你需要执行耗时的后台任务而不希望阻塞用户界面时。多线程编程它允许应用程序同时执行多个任务,从而提高性能和响应速度。Qt提供了一套完善的多线程支持,包括线程类(QThrea…...
springboot438校园志愿者管理系统(论文+源码)_kaic
摘 要 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统校园志愿者管理系统信息管理难度大,容错率低&…...
PostgreSQL 常用运维SQL整理
一、查询并杀会话 -- 查询会话 select pid,usename,client_addr,client_port,query_start,query,wait_event from pg_stat_activity; -- 杀会话 select pg_terminate_backend(pid号); -- 使用如下命令自动生成杀会话语句 select datid,datname,pid,usesysid,usename,applicat…...
Debezium Oracle CTAS 解析器实现:基于 ANTLR 的 CREATE TABLE AS SELECT 语句解析
Debezium Oracle CTAS 解析器实现:基于 ANTLR 的 CREATE TABLE AS SELECT 语句解析 本文详细介绍了 Debezium Oracle 连接器中如何解析 CREATE TABLE AS SELECT (CTAS) 语句,通过具体的实现代码帮助读者理解 ANTLR 监听器在复杂 SQL 解析中的应用。 文章目录 Debezium Oracle…...
从零开始学docker(五)-可用的docker镜像
最近docker镜像都不能访问,目前亲测可用的docker镜像可用,并拉取mysql测试完成。 [缺点] docker search 查不到镜像的索引列表,只能手动查询索引目录(解决方案在最后)。 linux服务器vim打开镜像文件daemon.json vim /e…...
力扣——322. 零钱兑换
给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。 你可以认为每种硬币的数量是无限的。 示…...
.Net_比对Json文件是否一致
简介 该方法用于比较两个Json文件是否完全一致,仅考虑内容若两个文件中的内容只是顺序不一致,内容是一样的,那么也代表这两个文件是相等的 实现代码 调用 using CompareJsonFiles;Console.WriteLine(" 输入信息 ");Console.WriteL…...
科研笔记:ARR 与 ACL rolling
1 ARR 介绍 ARR 提供 评审服务 —— 仅限评审 —— 对于提交的论文。评审不会针对特定会议/场所,但评审标准与传统会议的主会场长文或短文提交要求相同(如 ACL 或其他由 ACL 主办的重要会议) 2 提交论文进行 ARR 评审 提交截止日期 每两个…...
【2024】Camunda常用功能基本详细介绍和使用-上 (1)
这里写目录标题 前言一、 介绍基本概念介绍1.BPMN2.Form3.DMN 二、Camunda使用1、下载安装1.1、camunda-modeler:BPMN绘画工具1.2、camunda-bpm-run:web端控制页面 2、创建流程2.1、部署一个基础流程2.2、添加用户任务2.2.1、绑定表单2.2.1.1、Generated…...
拒绝C盘爆红!自制 Windows 系统垃圾一键清理工具(精美UI设计)
你的 C盤 又红了吗?相信很多 Windows 用户都经历过被 **“C盘空间不足”** 支配的恐惧。随着日常办公、浏览网页、系统更新,各种临时文件和日志会悄悄吞噬掉我们珍贵的固态硬盘空间。市面上的清理软件鱼龙混杂,要么捆绑软件,要么后…...
书匠策AI降重降AIGC到底有多野?论文党看完直接封神!
各位论文战士们,今天不聊开题,不聊答辩,咱们聊点真正救命的东西——降重和降AIGC。 你有没有经历过这种绝望:查重报告一出来,红得像过年的对联?导师一句"你这AIGC率太高了,重写"&…...
初次使用Taotoken从注册到发出第一个API请求的全流程耗时记录
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 初次使用Taotoken从注册到发出第一个API请求的全流程耗时记录 1. 流程概览与预期 对于初次接触大模型聚合平台的开发者而言&#…...
通过 curl 命令直接测试 taotoken 大模型接口的响应
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过 curl 命令直接测试 taotoken 大模型接口的响应 在开发或调试大模型应用时,有时我们希望绕过 SDK,直接…...
终极指南:如何用WinDiskWriter快速制作Windows启动盘并绕过硬件限制
终极指南:如何用WinDiskWriter快速制作Windows启动盘并绕过硬件限制 【免费下载链接】windiskwriter 🖥 Windows Bootable USB creator for macOS. 🛠 Patches Windows 11 to bypass TPM and Secure Boot requirements. 👾 UEFI &…...
如何高效使用RBTray:Windows窗口管理终极解决方案
如何高效使用RBTray:Windows窗口管理终极解决方案 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否经常被桌面上堆积如山的窗口搞得心烦意乱?…...
OpCore-Simplify:智能化OpenCore EFI配置生成引擎的革命性解决方案
OpCore-Simplify:智能化OpenCore EFI配置生成引擎的革命性解决方案 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 在开源系统定制领域&am…...
为什么你需要ZeroOmega:重新定义浏览器代理管理的新范式
为什么你需要ZeroOmega:重新定义浏览器代理管理的新范式 【免费下载链接】ZeroOmega Manage and switch between multiple proxies quickly & easily. 项目地址: https://gitcode.com/gh_mirrors/ze/ZeroOmega 在现代网络环境中,频繁切换代理…...
破冰总结:写给 QA 的一份 30 天 AI 技术转型学习路线图
写在前面:一个不得不面对的现实 打开招聘网站,搜索“高级QA工程师”,你会发现薪资最高的一批岗位都有同一个关键词:AI。不是指“用AI写测试用例”那种浮于表面的用法,而是要求你真正理解AI系统的工作原理、能评估模型输出质量、能设计对抗性测试方案、能把RAG管线部署到生…...
【ElevenLabs福建话语音落地实战】:20年语音AI专家亲授3大避坑指南与本地化部署全流程
更多请点击: https://codechina.net 第一章:ElevenLabs福建话语音落地的行业价值与技术定位 福建话(闽南语泉州/厦门腔)作为联合国教科文组织认定的“严重濒危语言”,其语音合成能力的工程化落地,已超越单…...
