用于仿射行列式程序的混淆程序生成系统技术方案

技术编号:32225628 阅读:33 留言:0更新日期:2022-02-09 17:30
一种用于仿射行列式程序的混淆程序生成系统,包括:再随机化模块、添加对角模块、添加噪声模块以及随机局部替换模块。本发明专利技术针对两个功能相同的程序,经混淆后可实现无法区分,从而显著提高安全性的同时实现最小化信息的泄露。泄露。泄露。

【技术实现步骤摘要】
用于仿射行列式程序的混淆程序生成系统


[0001]本专利技术涉及的是一种信息安全领域的技术,具体是一种用于仿射行列式程序的混淆程序生成系统。

技术介绍

[0002]程序混淆技术是一种重要的软件保护方法。程序混淆指对拟发布的程序进行变换,使得变换后程序的功能不发生变化,但是更难被静态分析和被逆向工程攻击。现有的程序混淆技术大多通过代码混淆来实现。代码混淆技术可以分为外形混淆、控制结构混淆、数据混淆、预防混淆等,其中:外形混淆主要包括删除和改名。删除是指将程序中与执行无关的调试信息、注释、不会用到的方法和类等结构从程序体中删除。改名的方法有多种,包括哈希改名、名字交换、重载归纳等。外形混淆是保护软件的第一道防线,也是当前最成熟的混淆技术,几乎每种混淆工具都不同程度地采用相同或类似的外形混淆方法。控制结构混淆的目的是使得攻击者对程序的控制流难以理解。一种方式是加入多个冗余的控制条件以及永远不会被执行的代码分支;另一种方式是通过内嵌和外联,即将一小段程序嵌入到被调用的每个程序点或将没有任何逻辑联系的一段代码抽象成一段可被多次调用的程序。数据混淆的对象是本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种用于仿射行列式程序的混淆程序生成系统,其特征在于,包括:再随机化模块、添加对角模块、添加噪声模块以及随机局部替换模块,其中:再随机化模块根据输入的仿射行列式程序,对其中的所有矩阵分别进行左乘且右乘随机矩阵的操作,得到的新的仿射行列式程序能够隐藏除行列式和秩以外的信息,添加对角模块根据输入的仿射行列式程序,对其中的所有矩阵进行在对角线上附加随机矩阵或零矩阵的操作,得到的新的仿射行列式程序能够阻止攻击者通过计算以外的式子提取信息,其中x
i
∈{0,1},添加噪声模块根据输入的仿射行列式程序,进行对所有矩阵中的每个元素添加随机噪声的操作,得到的新的仿射行列式程序能够隐藏秩的信息,随机局部替换根据输入的分支程序或仿射行列式程序,进行添加中间节点并重新决定边的连通性,得到的新的仿射行列式程序能够隐藏的行列式的信息。2.一种基于权利要求1所述系统的混淆程序生成方法,其特征在于,包括以下步骤:步骤1、随机局部替换处理:将分支程序中的任意两个点添加一个中间节点后,替换后的分支程序的邻接矩阵的维数为(l+1)(l+2)/2,即M

(x),其中:l+1为分支程序的邻接矩阵的维数,针对M

(x)的一个2
×
2的子阵的行分别对应M

(x)的v
j
行和v
j,k
行,列分别对应M

(x)的v
j,k
列和v
k
列,其中:v
j,k
为v
j
和v
k
的中间节点;当M(x)中v
j
和v
k
间的边被标即1,则该子阵为以下任意一种且每种选择的概率为1/12n:当M(x)中v
j
和v
k
间没有边,则该子阵为以下任意一种且每种选择的概率为1/12n:当M(x)中v
j
和v
k
间的边被标即x
i
,则该子阵为以下任意一种且每种选择概率为1/12:当M(x)中v
j
和v
k
间的边被标即则该子阵为以下任意一种且每种选择概率为1/12:步骤2、添加噪声处理:以噪声的范围B为l
′5,模数p的比特数大于l

,得到的仿射行列式程序的矩阵即A

,B
′1,B
′2,...,B

n
,其中:l

为经过局部随机替换的得到的仿射行列式程序中的矩阵的维数;调用n+1次随机矩阵生成函数generate_matrix(l

,B),得到矩阵E0,E1,...,E
n

【专利技术属性】
技术研发人员:姚立陈一镭郁昱
申请(专利权)人:上海交通大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1