DCC_2012_Sihong Su . Xiaohu Tang rotation symmetric boolean functions
论文名称:Construction of rotation symmetric Boolean functions with optimal algebraic immunity and high nonlinearity
1.majority function
2.Preliminaries
3 Compositions of an integer k
4 Construction of RSBFs on odd number of variables
5.SageMath程序实现
from sage.crypto.boolean_function import BooleanFunction
k=6
n=2*k+1
t=0
top=0
Sum=0
s=[None]*n
set=[]
#整数分解
def dfs():global Sum,top,t,k,s,setif Sum == k:if s[0] != 1:#构造的布尔函数要求开头不为1set.append(s[0:top])returnif Sum > k:returnfor i in range(1,k+1):Sum+=is[top]=itop=top+1dfs()Sum-=itop=top-1s[top]=i
dfs()
#print(set)
#求集合T
T=[]
for i in range(len(set)):tmp=[]for j in set[i]:for k in range(j):tmp.append(1)tmp.append(0)for k in range(n - len(tmp)):tmp.append(0 )T.append(tmp)
#print(T)
#print(len(T))
#求集合U
U=[]
for i in range(len(set)):k1=set[i][0]tmp=[0]*(n-k1)tmp=tmp+[1]*(k1-1)+[0]for j in range(n):tmp[j]=(tmp[j]+T[i][j])%2U.append(tmp)
#print(U)
#构造择多函数
f=[0]*(2^n)
for i in range(2^n):tmp=list(str('{0:b}'.format(i)).rjust(n,'0'))listkey=[int(x) for x in tmp ]wt=0for j in listkey:if j==0:wt=wt+1if wt >= ((n-1)/2+1):f[i]=1TU=T+U
supp=[]
for Set in TU:for j in range(0,n):tmp=Set[j:]+Set[:j]index=0for k in range(len(tmp)):if tmp[k]==1:index=index+2^(n-k-1)supp.append(index)
for i in supp:f[i]=(f[i]+1)%2B=BooleanFunction(f)
deg=0
ANF=str(B.algebraic_normal_form()).split("+")
for i in range(len(ANF)):count=0for j in range(len(ANF[i])):if ANF[i][j]=="x":count=count+1if count>deg:deg=count
#将真值表写入文件,使用其他程序测试函数抵抗快速代数攻击的能力
filename='truth_table.txt'
with open(filename,'w') as fw:fw.writelines(str(f))
DCC_2012_Sihong Su . Xiaohu Tang rotation symmetric boolean functions相关推荐
- 读《Evolving Algebraic Constructions for Designing Bent Boolean Functions》
Picek, S., Jakobovic, D.: Evolving algebraic constructions for designing bent Boolean functions. In: ...
- Reed-Muller码 (RM码):RM码的布尔函数(Boolean Functions)表示
Reed-Muller码 (RM码) 可依赖布尔函数(Boolean Functions)进行定义. 给定RM码码长n=2mn=2^mn=2m,那么需要v1,⋯,vmv_1, \cdots, v_mv ...
- signature=b93e4b2d4026f44a8795ac6d5857e863,Feebly secure cryptographic primitives
1. E. Allender, "Circuit complexity before the dawn of the new millennium," in Proceedings ...
- CVPR 2011 全部论文标题和摘要
CVPR 2011 Tian, Yuandong; Narasimhan, Srinivasa G.; , ■Rectification and 3D reconstruction of curved ...
- 谷歌2017面经题集
发个Google onsite 面经给需要的人. round 1: 国人大哥, 出了道 merge N 个sorted element list的题, 要写成Generic的形式. 第二题是leetc ...
- Android 禁用电源键音量键与模拟
/base/services/core/java/com/android/server/policy/PhoneWindowManager.java 模拟 在PhoneWindowManager中注册 ...
- 计算机编程的艺术:The Art of Computer Programming
The Art of Computer Programming (TAOCP) The Art of Computer Programming 第一卷基本算法原文pdf:http://broiler. ...
- NIST 网络安全相关标准 美国 (简单整理)
系列 编号 英文名 中文名 状态 时间 ITL Bulleti Security Considerations for Exchanging Files Over the Internet 通过Int ...
- 【转】图论与组合优化2002年的发展
http://www.sciencenet.cn/bbs/showpost.aspx?id=54797 图论与组合蓝皮书 图论与组合优化2002年的发展 (中国运筹学会图论与组合优化专业学术委员会 ...
最新文章
- mysql 高效分页查询_PostgreSQL、MySQL高效分页方法探讨
- mac book file management system
- java下标运算符_《Java从小白到大牛精简版》之第6章 运算符(下)
- 汇编学习笔记(3)-80x86指令集
- HTML学习二_HTML常用的行级标签,常用实体字符及表单标签
- 受控组件和非受控组件
- 高通芯片曾被发现一重大漏洞 影响骁龙845等30多款芯片
- Anaconda使用pyinstaller打包exe程序体积过大
- C#编码规范2[转]
- 在Java中从字符串中删除空格
- caffe的python接口学习(7):绘制loss和accuracy曲线
- SPI TFT液晶屏与Arduino Uno 连接
- 计算机论文中期考核报告,计算机与人工智能学院硕士研究生中期考核办法
- mysql单数据库多硬盘配置_MySQL 使用mysqld_multi部署单机多实例详细过程
- 基本流水线与记分牌算法和Tomasulo算法
- Excel之match index 和vlookup函数 和双条件查找匹配
- Chrome浏览器通过EasyPlayer播放多路flv视频流后浏览器崩溃是什么原因?
- 基于51单片机的三角波信号发生器设计
- 文档服务器加密,远程文件服务器文件加密攻略(一)
- 工业机器人就业方向如何?