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

论文下载链接
论文名称:CONSTRUCTING 2m-VARIABLE BOOLEAN FUNCTIONS WITH OPTIMAL ALGEBRAIC IMMUNITY BASED ON POLAR DECOMPOSITION OF F∗22m
1. construction1
曾佳-吴宝峰极分解构造2m元最优代数免疫度平衡布尔函数_第1张图片
曾佳-吴宝峰极分解构造2m元最优代数免疫度平衡布尔函数_第2张图片
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
曾佳-吴宝峰极分解构造2m元最优代数免疫度平衡布尔函数_第3张图片
4.construction2代码实现

from sage.crypto.boolean_function import BooleanFunction
m=10
n=2*m
F.=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
曾佳-吴宝峰极分解构造2m元最优代数免疫度平衡布尔函数_第4张图片
曾佳-吴宝峰极分解构造2m元最优代数免疫度平衡布尔函数_第5张图片
6.univariate representation程序实现

from sage.crypto.boolean_function import BooleanFunction
m=5
n=2*m
F.=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()

你可能感兴趣的:(密码学布尔函数)