基于寄存器分配的软件水印算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
人冗余 的代码 置换代码 、 寄存器分配等方法嵌入到程
由于寄存器的数量是有 限的, 当程序所需的寄存
器数超过系统所能提供 的数量时 , 系统就会抛 出部分 指令到内存 , 因此 , 在给程序中的变量分配寄存器时 ,
尽可能的分配最少的寄存器
序中的。作为寄存器分配的软件水印方法 , P和 Q S Q P
2 1 2月 0 0年 第2 7卷第 2期
湖北第二师范学院学报
J u a fHu e Unv ri fE u ain o r l b i iest o d ct n o y o
F b2 1 e.0 0
V 12 N . o. 7 o2
基于寄存器分配 的软件水印 算法
.
收 稿 日期 :0 0— 1— 2 2 1 0 0
6 . 6
问题。令 P和 x{ x,。 x, x……x } 分别表示程序 的中 间代码和程序中的变量集。然后 , 我们定义在程序中
果嵌人的 比特位 W = , ; 1那么就在 图中添加边 v 。这 v 里最近和第二近 的意思是 : V,j E G , V, ( i )∈ ( ) ( i ) v V
一
种, 它是软件产品版权保护技术之一 , 可以用来标志
作者、 发行商、 所有者 、 使用者等 , 并携带Fra Baidu bibliotek权保护信息
和身份认证信息 , 可以鉴别出非法 复制 和盗用的软件
产品。
代表的活跃期还没有结束 , 么 A和 B之 间存在冲 那
突。
软件水印分为动态软件水 印和静态软件水印。静 态水印存储在可执行应用程序 中, 印信息是通过插 水
∈E( ,< <k m dn ; v,j ∈E( , G) i j ( o ) V(iv) G) t<j < k mo ) j <k ( o ) ( dn 或 <t m dn 。例 如 : 入 水 印 W = 嵌 00 如 图 1 12 。
x的冲突图图 G= ( E , G V, ) V表示顶点集 , 如果变量 X 和 x,(≠j在 P中同时处 于 活跃 状 态 , (,) i {ii ) 则 ij ∈E
1 引言
寄存器是位于 c u内部的少量的高速存储器 , P 因 此, 同时存放于寄存器的数据也是受限的。经典的寄 存器分配算法是 图染色算法。需要分析程序中的寄存 器中值的活跃期 ; 对于每一个值 的活跃期都对应与图 中的一个顶点。在图中 , 两个顶 点之 间存在边表示这
两个顶点代表的活跃期是有 冲突的。也就是说, 这两 个顶点对应的值在某些时刻是同时存在 的。它们就相 互冲突 , 不能 占有 同一个寄存器 。一个更加精确的定 义是 : 如果顶点 A代表 的活跃期被定义的时候, 顶点 B
陈 智 明 向广利
( 汉理工 大 学 计 算机 科 学与技 术 学 院 , 武 武汉 4 06 ) 30 3
摘 要: 本文详细介 绍 了基于寄存 器分配的三种软件 水印算法 , P Q S Q I Q , P , P 。这三种 算法都 是通过 为冲 突图添加 边的
方式在程序 中嵌入水 印的 。根据 图染色的寄存 器分配理论 , 我们提 出了一种新的软件 水印算 法一二 次染 色算法( T , S C) 此算法并不需要 添加任何额 外的边 , 只是通 过为 图中的部分顶 点二次 着色方式来嵌入 水印 的。与 前面三种 算法 比较 , S C算法更简洁, T 更有效。 关键词 : 寄存器分配 ; 冲突图; 图染 色; 软件水 印
算法是非常著名的算法。其思想是 : 首先把嵌入式 的
信息转换为 比特序列, 然后根据需要嵌入的比特序列 ,
对图中的每个顶点 , 将其与由算法计算 出的特定顶点
添加 一 条边 ,以达 到编 码 目的。Q P算 法 最初 开 发 出 来是在 图染色 方法 中嵌 人数字 签名 。这 种方 法 同样 也
决方法 , 既能够嵌人足够长度的水印信息 , 又能够准确
地 提取 出水印信息 。 2 寄 存器 分配 与图染 色 问题
V= { , ,, . } E={ x,i Ii i 123 …. n ; ( i ) x, 活跃期 x x 冲突}P中的 x的寄存 器分配 问题相 当于 图的染色 ;
2 1 寄存器的分配 .
为了把寄存器分配转化为图染色的模型 , 编译器 首先构造一个冲突图 G(nee neGah , Itf ec r )接下来 , rr p
就是用 K种颜色给这个 冲突图进行 图染色。如果 K 等于 目 标机器的物理寄存器的数 目, 并且这个 图可以
那么 , 我们将每一种颜色对应一个 适用于基于寄存器分配的水印。但是 ,P算法有一个 被 K种颜色染 色, Q 就得到了一个寄存器分配方案。 缺点就是某些情况下无法有效 的识 别嵌入的水印信 物理寄存器 , . 息。C l e obr l g等提出 了一种改进后 的 Q S算法 , P 2 2 图染色问题 P QS 对于程序 P和程序的变量集 X={ ,:X…X } X X, , , 能够准确地提取嵌入的水印。然而 , p 算法中, Qs 嵌入 程序 中的冲突图 G= ( , ) G V E 定义如下 : 的水印信息的长度是很短 的。本 文中, 提出了新 的解
随着信息技术应用和计算机 网络的普及 , 软件产
业也得到了迅速的发展 , 成为一种普遍 的数字商品。 同时, 软件盗版问题也 日益突出, 因此软件安全和软件 保护已成为计算机科学研究中的一项重要课题。软件 水 印(o wr W t m ri ) Sf a a r a n 技术是数字水印技术 中 t e e kg
中图分类号 :P 9 T 33 文献标识码 : A 文章编号 :6434 2 1 ) - 6 -5 17 —4 X【0 0 20 60 0
作者简介: 陈智明( 99一) 男, 17 , 硕士生 , 究方向为信 息安全。 研 向广利( 93一) 男 , 17 , 河南信阳人 , 副教授 , 博士, 研究方向为网络安 全。
由于寄存器的数量是有 限的, 当程序所需的寄存
器数超过系统所能提供 的数量时 , 系统就会抛 出部分 指令到内存 , 因此 , 在给程序中的变量分配寄存器时 ,
尽可能的分配最少的寄存器
序中的。作为寄存器分配的软件水印方法 , P和 Q S Q P
2 1 2月 0 0年 第2 7卷第 2期
湖北第二师范学院学报
J u a fHu e Unv ri fE u ain o r l b i iest o d ct n o y o
F b2 1 e.0 0
V 12 N . o. 7 o2
基于寄存器分配 的软件水印 算法
.
收 稿 日期 :0 0— 1— 2 2 1 0 0
6 . 6
问题。令 P和 x{ x,。 x, x……x } 分别表示程序 的中 间代码和程序中的变量集。然后 , 我们定义在程序中
果嵌人的 比特位 W = , ; 1那么就在 图中添加边 v 。这 v 里最近和第二近 的意思是 : V,j E G , V, ( i )∈ ( ) ( i ) v V
一
种, 它是软件产品版权保护技术之一 , 可以用来标志
作者、 发行商、 所有者 、 使用者等 , 并携带Fra Baidu bibliotek权保护信息
和身份认证信息 , 可以鉴别出非法 复制 和盗用的软件
产品。
代表的活跃期还没有结束 , 么 A和 B之 间存在冲 那
突。
软件水印分为动态软件水 印和静态软件水印。静 态水印存储在可执行应用程序 中, 印信息是通过插 水
∈E( ,< <k m dn ; v,j ∈E( , G) i j ( o ) V(iv) G) t<j < k mo ) j <k ( o ) ( dn 或 <t m dn 。例 如 : 入 水 印 W = 嵌 00 如 图 1 12 。
x的冲突图图 G= ( E , G V, ) V表示顶点集 , 如果变量 X 和 x,(≠j在 P中同时处 于 活跃 状 态 , (,) i {ii ) 则 ij ∈E
1 引言
寄存器是位于 c u内部的少量的高速存储器 , P 因 此, 同时存放于寄存器的数据也是受限的。经典的寄 存器分配算法是 图染色算法。需要分析程序中的寄存 器中值的活跃期 ; 对于每一个值 的活跃期都对应与图 中的一个顶点。在图中 , 两个顶 点之 间存在边表示这
两个顶点代表的活跃期是有 冲突的。也就是说, 这两 个顶点对应的值在某些时刻是同时存在 的。它们就相 互冲突 , 不能 占有 同一个寄存器 。一个更加精确的定 义是 : 如果顶点 A代表 的活跃期被定义的时候, 顶点 B
陈 智 明 向广利
( 汉理工 大 学 计 算机 科 学与技 术 学 院 , 武 武汉 4 06 ) 30 3
摘 要: 本文详细介 绍 了基于寄存 器分配的三种软件 水印算法 , P Q S Q I Q , P , P 。这三种 算法都 是通过 为冲 突图添加 边的
方式在程序 中嵌入水 印的 。根据 图染色的寄存 器分配理论 , 我们提 出了一种新的软件 水印算 法一二 次染 色算法( T , S C) 此算法并不需要 添加任何额 外的边 , 只是通 过为 图中的部分顶 点二次 着色方式来嵌入 水印 的。与 前面三种 算法 比较 , S C算法更简洁, T 更有效。 关键词 : 寄存器分配 ; 冲突图; 图染 色; 软件水 印
算法是非常著名的算法。其思想是 : 首先把嵌入式 的
信息转换为 比特序列, 然后根据需要嵌入的比特序列 ,
对图中的每个顶点 , 将其与由算法计算 出的特定顶点
添加 一 条边 ,以达 到编 码 目的。Q P算 法 最初 开 发 出 来是在 图染色 方法 中嵌 人数字 签名 。这 种方 法 同样 也
决方法 , 既能够嵌人足够长度的水印信息 , 又能够准确
地 提取 出水印信息 。 2 寄 存器 分配 与图染 色 问题
V= { , ,, . } E={ x,i Ii i 123 …. n ; ( i ) x, 活跃期 x x 冲突}P中的 x的寄存 器分配 问题相 当于 图的染色 ;
2 1 寄存器的分配 .
为了把寄存器分配转化为图染色的模型 , 编译器 首先构造一个冲突图 G(nee neGah , Itf ec r )接下来 , rr p
就是用 K种颜色给这个 冲突图进行 图染色。如果 K 等于 目 标机器的物理寄存器的数 目, 并且这个 图可以
那么 , 我们将每一种颜色对应一个 适用于基于寄存器分配的水印。但是 ,P算法有一个 被 K种颜色染 色, Q 就得到了一个寄存器分配方案。 缺点就是某些情况下无法有效 的识 别嵌入的水印信 物理寄存器 , . 息。C l e obr l g等提出 了一种改进后 的 Q S算法 , P 2 2 图染色问题 P QS 对于程序 P和程序的变量集 X={ ,:X…X } X X, , , 能够准确地提取嵌入的水印。然而 , p 算法中, Qs 嵌入 程序 中的冲突图 G= ( , ) G V E 定义如下 : 的水印信息的长度是很短 的。本 文中, 提出了新 的解
随着信息技术应用和计算机 网络的普及 , 软件产
业也得到了迅速的发展 , 成为一种普遍 的数字商品。 同时, 软件盗版问题也 日益突出, 因此软件安全和软件 保护已成为计算机科学研究中的一项重要课题。软件 水 印(o wr W t m ri ) Sf a a r a n 技术是数字水印技术 中 t e e kg
中图分类号 :P 9 T 33 文献标识码 : A 文章编号 :6434 2 1 ) - 6 -5 17 —4 X【0 0 20 60 0
作者简介: 陈智明( 99一) 男, 17 , 硕士生 , 究方向为信 息安全。 研 向广利( 93一) 男 , 17 , 河南信阳人 , 副教授 , 博士, 研究方向为网络安 全。