36、Z4 - 构造四元密码函数类的非线性研究

Z4 - 构造四元密码函数类的非线性研究

1. 引言

在流密码和分组密码的伪随机生成器中,长度为 n 的布尔({0, 1} 值)函数对其安全性起着至关重要的作用。这些函数通常在二元有限域 (F_2) 上进行研究。然而,寻找具有最优密码学特性(如平衡性和高非线性)的布尔函数仍然是一个开放性问题。

本文将目光投向四元({0, 1, 2, 3} 值)密码函数。研究四元对象和结构的兴趣推动了这项工作的开展。在 (Z_4) 中常用的度量是 Lee 度量,借助 Gray 映射,它能实现从 ((Z_4^m, Lee 距离)) 到 ((F_2^{2m}, Hamming 距离)) 的等距变换。

我们将从精确定义和刻画长度为 m 的四元密码函数入手,然后依据 Hamming 度量和 Lee 度量,正式描述 (Z_4) 上的平衡性和非线性。四元 Bent 函数(或更一般的 q 元 Bent 函数)通过 Walsh 变换来定义。对于 m 变量的四元 Bent 函数,我们将证明其在 Hamming 度量下的最大非线性有界,并给出在 Lee 度量下的最大非线性的确切值。此外,还将详细介绍一种基于 Galois 环的通用构造方法,以获得一类平衡且具有高非线性的四元密码函数。最后,利用 Gray 映射将这些构造的四元函数转换为具有高非线性的平衡布尔函数。

为避免混淆,n 变量的布尔函数用 f 表示,m 变量的四元函数用 F 表示。

2. 布尔函数基础

2.1 基本定义

设 n 为自然数,(F_2^n) 是有限域 (F_2 = {0, 1}) 中所有 n 元组的集合,其加法用 ⊕ 表示。n 变量的布尔函数 f 是从 (F_2

在MATLAB中找到三个空间双曲面交点的问题通常涉及到解析几何或者数值优化算法,比如使用非线性方程组求解。给定的是四个空间坐标点和三个对应的距离,这可能是两个双曲面和平面的交点,也可能是其他类型的双曲面组合。为了编写这样的程序,你需要首先假设每个距离对应的是两个点之间的距离,然后构建一个包含这三个距离等于给定值的非线性系统。 下面是一个简单的例子,我们将使用`fsolve`函数,该函数用于求解非线性系统的根。假设我们有4个三维点A、B、C、D和3个已知距离d1, d2, d3: ```matlab % 定义四个点 A = [x1_A y1_A z1_A]; % 第一个点 B = [x2_B y2_B z2_B]; % 第二个点 C = [x3_C y3_C z3_C]; % 第三个点 D = [x4_D y4_D z4_D]; % 第四个点 % 给定距离 d1 = norm(B - A); % 点A到B的距离 d2 = norm(C - D); % 点C到D的距离 d3 = ...; % 第三个距离(需要输入) % 构造非线性方程组 (sqrt((x2-x1)^2 + (y2-y1)^2 + (z2-z1)^2) - d1, ... % sqrt((x4-x3)^2 + (y4-y3)^2 + (z4-z3)^2) - d2, ... % sqrt((x3-x1)^2 + (y3-y1)^2 + (z3-z1)^2) - d3) % 函数形式,这里以第一个距离为例 distanceFun = @(params) sqrt(params(1)^2 + params(2)^2 + params(3)^2) - d1; % 初始猜测点(如果需要的话,可以设置成中间位置) initialGuess = zeros(3, 1); % 使用fsolve求解 solution = fsolve(distanceFun, initialGuess); % 检查解是否有效,通常会返回交点的三维坐标 if isfinite(solution) intersectionPoint = solution'; else disp('No solution found or numerical issue.'); end %
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值