曾佳-吴宝峰极分解构造2m元最优代数免疫度平衡布尔函数

论文下载链接
论文名称:CONSTRUCTING 2m-VARIABLE BOOLEAN FUNCTIONS WITH OPTIMAL ALGEBRAIC IMMUNITY BASED ON POLAR DECOMPOSITION OF F∗22m
1. construction1
这里写图片描述
这里写图片描述
2.construction1程序实现

from sage.crypto.boolean_function import BooleanFunction
m=2
n=2*m
F.<w>=GF(2^n)
bata=w^(2^m+1)
cauchy=w^(2^m-1)

f=[0]*(2^n)

for tt in range(2^(m-1)):
    for dd in range(1,2^m+2):
        #k1=((bata^tt)*(cauchy^dd)).integer_representation()%(2^n-1)
        k1=((bata^tt)*(cauchy^dd)).integer_representation()
        f[k1]=1

B=BooleanFunction(f)
B.nonlinearity()

3.construction2
这里写图片描述
4.construction2代码实现

from sage.crypto.boolean_function import BooleanFunction
m=10
n=2*m
F.<w>=GF(2^n)
bata=w^(2^m+1)
cauchy=w^(2^m-1)

f=[0]*(2^n)

for tt in range(1,2^(m-1)):
    for dd in range(1,2^m+2):
        k1=((bata^tt)*(cauchy^dd)).integer_representation()%(2^n-1)
        f[k1]=1

for tt in range(2^(m-1)+1):
    k2=(cauchy^tt).integer_representation()
    f[k2]=1
B=BooleanFunction(f)
B.nonlinearity()

5. univariate representation
这里写图片描述
这里写图片描述
6.univariate representation程序实现

from sage.crypto.boolean_function import BooleanFunction
m=5
n=2*m
F.<w>=GF(2^n)
f=[0]*(2^n)
g=[0]*(2^n)
for l in range(2^m+1):
    for r in range(1,2^(m-1)):
        k1=(w^(l*(2^m-1)+r)).integer_representation()
        f[k1]=1
f[0]=1#加上这行代码之后,非线性度才和t-c-t函数构造1相同
for j in range(1,2^(m-1)):
    for k in range(2^m+1):
        k1=(w^(2^(m-1)*((2^m+1)*j+(2^m-1)*k))).integer_representation()
        g[k1]=1

#for k in range(2^(m-1)+1):
#    k2=(w^(2^(m-1)*(2^m-1)*k)).integer_representation()
#    f[k2]=1
Bf=BooleanFunction(f)
Bf.nonlinearity()

Bg=BooleanFunction(g)
Bg.nonlinearity()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值