一种基于内容的三维网格模型的加密和解密方法

文档序号:10513068阅读:374来源:国知局
一种基于内容的三维网格模型的加密和解密方法
【专利摘要】本发明公开了一种基于内容的三维网格模型的加密和解密方法,步骤包括:对三维网格模型进行加密,将三维网格模型根据超混沌映射分别对网格面片构成和网格顶点坐标进行置乱,从而获得加密后的三维网格模型;对加密后的三维网格模型进行解密,将加密后的三维网格模型根据超混沌映射对网格顶点坐标和面片构成进行逆向恢复,从而获得解密后的三维网格模型。该三维网格模型的加密和解密方法有效实现了对三维网格模型的内容进行加密,且从面片构成和顶点坐标两个层面上进行加密,加密和解密形式灵活,加密后的模型亦可渲染显示,且抗破译能力强,可为广泛应用于影视动画、游戏设计、工业设计以及医学设计等不同领域的三维网格模型的保护。
【专利说明】
一种基于内容的三维网格模型的加密和解密方法
技术领域
[0001] 本发明涉及一种三维模型版权保护的加密和解密技术,属于计算机图形学和多媒 体信息安全技术领域,具体地说是一种基于内容的三维网格模型的加密和解密技术。
【背景技术】
[0002] 数字水印和加密技术可有效地应用于数字内容的版权保护。利用水印技术在多媒 体内容的数据中嵌入水印信息,在发生版权纠纷时,可通过提取的水印信息确认其版权。然 而随着近年来三维打印技术的兴起和发展,在数字模型经历了打印之后,以及打印及再扫 描重建之后,水印信息将被摧毁。因此,借助加密技术对三维模型进行进一步地保护,在一 定程度上弥补了水印技术的不足,能够提供对三维模型更好的保护。目前针对三维模型的 加密,大多数的做法是采用传统的文件加密方式对整个三维网格模型的文件进行加密。但 是这种加密方式对三维网格模型加密后,模型仅能以文件形式存在,无法对加密的三维网 格模型进行渲染,更无法获知三维网格模型的任何形状或几何信息。然而,在目前的三维场 景或游戏设计中,往往需要进行多人协作设计,因此很多时候对于某些模型我们既需要进 行加密,又需要让协作者了解某处应该存在某个形状,因此我们有必要设计出一种针对三 维网格模型的内容进行加密和解密的技术。

【发明内容】

[0003] 本发明要解决的技术问题是目前针对三维模型的加密方式对三维网格模型加密 后,模型仅能以文件形式存在,无法对加密的三维网格模型进行渲染,更无法获知三维网格 模型的任何形状或几何信息。
[0004] 为了解决上述技术问题,本发明提供了一种基于内容的三维网格模型的加密和解 密方法,包括如下步骤:
[0005] 步骤1,对三维网格模型进行加密,将三维网格模型根据超混沌映射分别对网格面 片构成和网格顶点坐标进行置乱,从而获得加密后的三维网格模型;
[0006] 步骤2,对加密后的三维网格模型进行解密,将加密后的三维网格模型根据超混沌 映射对网格顶点坐标和面片构成进行逆向恢复,从而获得解密后的三维网格模型。
[0007] 采用超混沌映射有效实现了对三维网格模型的内容进行加密,且超混沌映射加密 方式的抗破译能力强,可为广泛应用于影视动画、游戏设计、工业设计以及医学设计等不同 领域的三维网格模型提供有效地保护;采用从面片构成和顶点坐标两个层面上对三维网格 模型进行加密,有效增强了加密效果;本发明的加密和解密形式灵活,加密后的模型亦可渲 染显示,保证了模型可以在场景中以加密的形式显示,提供了大场景模型设计人员协作设 计的可能性。
[0008] 作为本发明的进一步限定方案,步骤1中,对三维网格模型进行加密的具体步骤 为:
[0009] 步骤11,生成超混沌映射,利用五维超混沌系统生成超混沌序列,并对生成的超混 沌序列进行预处理;
[0010] 步骤12,对网格面片构成进行置乱,对三维网格模型中构成各个网格面片的顶点 序号进行置乱;
[0011] 步骤13,对顶点坐标进行加密,对三维网格模型中的每个顶点的三维坐标进行扰 动加密。
[0012] 采用对顶点序号进行置乱以及对三维坐标进行扰动加密,实现了面片构成和顶点 坐标两个层面上对三维网格模型进行加密。
[0013] 作为本发明的进一步限定方案,步骤11中,生成超混沌映射的具体步骤为:
[0014] 步骤111,利用五维超混沌系统生成超混沌序列:
[0016]
,(1<13.667,给定初始值叉1(0)32(0)、叉3(0)、叉4(0)和奶 (0)作为加密密钥进行保存和传输,由超混沌系统生成的混沌序列为{X1(k),X2(k), X3(k), X4(k),X5(k),k = 1,2,3,. . .},k表示混沌序列中的各个状态,混沌系统中每一维的Xj(k),( j =1,2,3,4,5)都可以通过k-1状态中系统的各个维度值计算获得;
[0017] 步骤112,对步骤111中生成的混沌序列的前两个序列进行预处理:
[0019] 式中,round函数为四舍五入对数据进行取整的函数;
[0020] 步骤113,对预处理后的序列X1(k)'进行升序排列变为升序序列X1(i/,其中i = l, 2,3. . .M,M为构成网格面片的顶点数目,原序列^Q(k)'中各项在升序序列xi(i/中的位置索 引为P。
[0021 ]采用五维超混沌系统进行加密,其动态行为更为复杂,对密钥的敏感性强,抗破译 能力强,能够对三维模型进行更强有力的保密;采用升序排列进行重新排列来进行加密,并 记录下原序列中各项在升序序列中的位置索引为P,以确保恢复时精确重现。
[0022]作为本发明的进一步限定方案,步骤12中,对网格面片构成进行置乱的具体步骤 为:
[0023]步骤121,根据步骤113得到的位置索引p,对三维网格模型中网格面片的顶点构成 进行置乱,原三维网格模型中每个网格面片的每个顶点序号i,经置乱后序号变为i'。采用 根据位置索引P进行置乱,以确保恢复时精确重现。
[0024]作为本发明的进一步限定方案,步骤13中,对顶点坐标进行加密的具体步骤为: [0025]步骤131,将三维网格模型中每个顶点的三维坐标值按设定顺序依次加上wXx2 (k)'进行扰动,得到扰动加密后的新坐标值,其中w用于设定扰动的幅度大小,并保存为扰 动密钥。
[0026] 通过设定扰动密钥w值的大小来控制扰动的幅度大小,进一步提高了加密效果,且 具有较好的加密灵活性。
[0027] 作为本发明的进一步限定方案,步骤1中,对加密后的三维网格模型进行解密的具 体步骤为:
[0028] 步骤21,将传输得到的加密密钥作为初始值,利用与步骤111相同的方式得到五维 超混沌系统生成的超混沌序列,并进行与步骤112相同的预处理操作得到^(1〇'和 X2(k)';
[0029] 步骤22,将三维网格模型中的每个顶点的三维坐标值按设定顺序依次减去w X X2 (k)'取消扰动,解密得到原始的顶点三维坐标,w即为步骤131中保存的扰动密钥;
[0030] 步骤23,对步骤21中获得的^(1〇'进行升序排列,根据升序序列^^/与原序列^ (k)'的位置索引p,将加密后三维网格模型中每个网格面片的每个顶点序号i'恢复为序号 i,从而恢复三维网格模型中构成网格面片的顶点序号。
[0031] 按照加密的逆向过程进行解密,并根据传递接收的加密密钥和扰动密钥进行解 密,能够确保解密过程的顺利进行。
[0032] 本发明的有益效果在于:(1)采用超混沌映射有效实现了对三维网格模型的内容 进行加密,且超混沌映射加密方式的抗破译能力强,可为广泛应用于影视动画、游戏设计、 工业设计以及医学设计等不同领域的三维网格模型提供有效地保护;(2)采用从面片构成 和顶点坐标两个层面上对三维网格模型进行加密,有效增强了加密效果;(3)本发明的加密 和解密形式灵活,加密后的模型亦可渲染显示,保证了模型可以在场景中以加密的形式显 示,提供了大场景模型设计人员协作设计的可能性。
【附图说明】
[0033]图1为本发明的方法流程示意图。
[0034]图2a是实施例的输入三维网格模型示例示意图。
[0035]图2b是对图2a的输入三维网格模型采用本发明所述加密方法进行加密,获得的加 密后的三维网格模型的示意图。
[0036] 图2c是对图2b的输入加密三维网格模型采用本发明所述解密方法进行解密,获得 的解密后的三维模型的示意图。
【具体实施方式】
[0037] 如图1所示,本发明公开了一种基于内容的三维网格模型的加密和解密方法,包括 三维网格模型的加密方法和解密方法。
[0038]其中,三维网格模型的加密包括以下步骤:利用五维超混沌系统生成超混沌序列, 并对前两个序列进行预处理。对第一个序列按值进行升序排列,根据原序列与升序序列的 位置对应关系,对面片的顶点构成进行置乱。将各顶点的坐标值依次加上加权的第二个序 列值作为加密后的顶点坐标值,权重为顶点扰动的幅度大小,得到加密后的三维网格模型。 [0039]三维网格模型解密方法包括以下步骤:采用混沌密钥作为初始值,生成五维超混 沌序列,采用与加密过程相同的方式首先根据扰动幅度密钥对顶点坐标进行解密,再对面 片构成进行恢复,以得到解密后的三维网格模型。本发明的加密方法能够有效地对三维网 格模型的内容进行加密,并能从面片构成和顶点坐标两个方面增加保密效果,从而实现了 为应用于不同领域的三维模型进行保密的目的。
[0040] 本发明提出的基于内容的三维网格模型的加密和解密方法,采用了五维超混沌系 统产生的混沌序列进行内容的加密,不仅可以得到更强的保密性能,而且能够对加密模型 进行渲染输出,可以适用于大场景协作设计的场合。
[0041] 具体而言,本发明公开了一种基于内容的三维网格模型的加密和解密方法,包括 如下步骤:
[0042]步骤1,对三维网格模型进行加密,将三维网格模型根据超混沌映射分别对网格面 片构成和网格顶点坐标进行置乱,从而获得加密后的三维网格模型;
[0043]步骤2,对加密后的三维网格模型进行解密,将加密后的三维网格模型根据超混沌 映射对网格顶点坐标和面片构成进行逆向恢复,从而获得解密后的三维网格模型。
[0044]其中,步骤1中,对三维网格模型进行加密的具体步骤为:
[0045] 步骤11,生成超混沌映射,利用五维超混沌系统生成超混沌序列,并对生成的超混 沌序列进行预处理;
[0046] 步骤12,对网格面片构成进行置乱,对三维网格模型中构成各个网格面片的顶点 序号进行置乱;
[0047]步骤13,对顶点坐标进行加密,对三维网格模型中的每个顶点的三维坐标进行扰 动加密。
[0048] 进一步的,步骤11中,生成超混沌映射的具体步骤为:
[0049] 步骤111,利用五维超混沌系统生成超混沌序列:
[0051 ]
,(1<13.667,给定初始值11(0)、12(0)、13(0)、14(0)和叉5 (0)作为加密密钥进行保存和传输,超混沌系统生成混沌序列{X1(k),X2(k), X3(k),X4(k),χ5 (1〇^=1,2,3,...}汰表示混沌序列中的各个状态,混沌系统中每一维的幻(1〇,(」=1,2, 3,4,5)都可以通过前一状态k-1中系统的各个维度值根据上式计算得到;
[0052]步骤112,为了采用混沌序列分别针对网格模型的面片构成和顶点坐标进行加密, 我们可从五维超混沌系统中选取两个序列进行处理,当步骤111中的d = -6时,混沌系统的 Lyapunov指数分别为(0.2392,0· 1773,0,-4· 539,-15· 72),此时系统拥有两个正的 Lyapunov指数,系统的动态行为更复杂,随机性更强,我们针对步骤111中生成的混沌序列 的前两个序列进行预处理,处理后的两个序列 X1(k)'和X2(k)'将分别用于对网格模型进行 面片构成和顶点坐标的加密,预处理方式如下:
[0054] 式中,round函数通过四舍五入对数据取整;
[0055] 步骤113,面片加密采用借助X1(k)'对面片顶点构成置乱的方式,具体为对预处理 后的序列xi(k)'进行升序排列变为升序序列 X1(i/,其中i = l,2,3. ..M,M为构成网格面片 的顶点数目,原序列^(10'中各项在升序序列X1(iV中的位置索引为p。
[0056] 进一步的,步骤12中,对网格面片构成进行置乱的具体步骤为:
[0057]步骤121,根据步骤113得到的位置索引p,对三维网格模型中网格面片的顶点构成 进行置乱,原三维网格模型中每个网格面片的每个顶点序号i,经置乱后序号变为i'。
[0058]进一步的,步骤13中,对顶点坐标进行加密的具体步骤为:
[0059]步骤131,将三维网格模型中每个顶点的三维坐标值按原文件中设定的顺序依次 加上wXx2(k)'进行扰动,得到扰动加密后的新坐标值,其中w用于设定扰动的幅度大小,并 保存为扰动密钥。
[0060] 进一步的,步骤1中,对加密后的三维网格模型进行解密的具体步骤为:
[0061] 步骤21,将传输得到的加密密钥作为初始值,利用与步骤111相同的方式得到五维 超混沌系统生成的超混沌序列,并进行与步骤112相同的预处理操作得到^(1〇'和 X2(k)';
[0062] 步骤22,将三维网格模型中的每个顶点的三维坐标值按原文件中设定顺序依次减 去wXx2(k)'取消扰动,该步骤中原文件中设定顺序与步骤131中设定的顺序相同即可,解 密得到原始的顶点三维坐标,w即为步骤131中保存的扰动密钥;
[0063] 步骤23,对步骤21中获得的^(1〇'进行升序排列,根据升序序列^^/与原序列^ (k)'的位置索引p,将加密后三维网格模型中每个网格面片的每个顶点序号i'恢复为序号 i,从而恢复三维网格模型中构成网格面片的顶点序号。
[0064]如图2a所示,本实施例的输入三维模型为三角形网格表示的三维模型。
[0065]下面具体介绍各个步骤的主要流程:
[0066] 1.三维网格模型的加密过程
[0067]对三维网格模型根据超混沌序列进行面片构成和顶点坐标的置乱和扰动,得到加 密的三维网格模型,包括以下步骤:
[0068] 步骤11,生成超混沌序列,并对混沌序列中的前两个序列,利用如下公式:
[0070] 进行预处理,对预处理后的序列X1(k)'进行升序排列,变为xKiY,其中i = l,2, 3. . .M,M为构成网格面片的顶点数目,利用序列^Q(k)'中各项在升序序列xi(i/中的位置索 引p进行面片构成的置乱处理。
[0071] 步骤12,根据步骤11得到的位置索引P,对图2a三维网格模型中,网格面片的顶点 构成进行置乱,原三维网格模型中每个网格面片的每个顶点序号i经置乱后序号变为i'。
[0072] 步骤13,将图2a中三维网格模型中每个顶点的三维坐标值,按顺序加上w X X2 (k) ' 进行扰动,得到加密后的新坐标值,其中w用于设定扰动的幅度大小,亦可作为扰动密钥。 [0073]如图2b所示,得到加密后的三维网格模型。
[0074] 2.三维网格模型的解密过程
[0075] 利用加密密钥,生成超混沌序列对顶点坐标和面片构成进行恢复,得到解密的三 维网格模型,包括以下步骤:
[0076] 步骤21,超混沌映射:将传输得到的密钥作为初始值,利用与步骤111相同的方式 得到五维超混沌系统生成超混沌序列,并进行与加密过程中步骤112相同的预处理操作,得 到xi(k)'和X2(k)' ;
[0077] 步骤22,对顶点坐标进行解密:对三维网格模型中的顶点的三维坐标值,按顺序减 去wXx2(k)'取消扰动,解密得到原始的顶点三维坐标,此处的w即为加密过程中保存的扰 动密钥值。
[0078] 步骤23,对网格面片构成进行恢复:对^(1〇'进行升序排列后,根据新序列中各项 与原序列各项的位置对应关系,对加密后三维网格模型中每个网格面片的每个顶点序号 i',经恢复后序号变为i。从而三维网格模型中构成网格面片的顶点序号进行恢复。
[0079]本实施例中,测试模型选用斯坦福大学著名的bunny模型来进行实验。如图2a所示 为输入的三维网格模型,通过本实施例所述的基于内容的三维网格模型的加密和解密方 法,可将图2a中的三维网格模型根据加密过程生成如图2b所示的加密的三维网格模型,而 根据解密过程可将图2b中的加密模型进行解密,得到如图2c所示的解密后的三维网格模 型。
[0080] 1、加密
[0081] 采用初始值叉1(〇)=〇.9;叉2(0)=0.8;叉3(0)=0.7;叉4(0)=0.6;叉5(0)=0.5生成超 混沌序列,顶点扰动幅度取为2。该部分取值即为加密和解密的密钥。
[0082] 2、解密
[0083] 为验证方法的有效性,我们对加密的模型,采用相同的密钥进行解密。从图2b和图 2c中可以看出加密和解密效果较好。
[0084] 从实验结果可以看出,应用本发明后,原始模型在加密后依然能够渲染输出,但加 密后完全无法看出原始模型的几何形状,而采用相同密钥解密后,可以恢复原始的几何形 状。
[0085] 由以上实施方式可以看出,与现有技术相比,本发明基于内容的三维网格模型的 加密和解密方法具有如下有益效果:首先,本发明有效实现了对三维网格模型的内容进行 加密;其次,本发明从面片构成和顶点坐标两个层面上对三维网格模型进行加密,并可控制 顶点扰动的幅度;最后,本发明的加密和解密形式灵活,加密后的模型亦可渲染显示,且超 混沌加密方式的抗破译能力强,可为广泛应用于影视动画、游戏设计、工业设计以及医学设 计等不同领域的三维网格模型提供有效地保护。
[0086]本发明提供了一种基于内容的三维网格模型的加密和解密方法,具体实现该技术 方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域 的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改 进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加 以实现。
【主权项】
1. 一种基于内容的三维网格模型的加密和解密方法,其特征在于,包括如下步骤: 步骤1,对三维网格模型进行加密,将三维网格模型根据超混沌映射分别对网格面片构 成和网格顶点坐标进行置乱,从而获得加密后的三维网格模型; 步骤2,对加密后的三维网格模型进行解密,将加密后的三维网格模型根据超混沌映射 对网格顶点坐标和面片构成进行逆向恢复,从而获得解密后的三维网格模型。2. 根据权利要求1所述的基于内容的三维网格模型的加密和解密方法,其特征在于,步 骤1中,对三维网格模型进行加密的具体步骤为: 步骤11,生成超混沌映射,利用五维超混沌系统生成超混沌序列,并对生成的超混沌序 列进行预处理; 步骤12,对网格面片构成进行置乱,对三维网格模型中构成各个网格面片的顶点序号 进行置乱; 步骤13,对顶点坐标进行加密,对三维网格模型中的每个顶点的三维坐标进行扰动加 I_L| 〇3. 根据权利要求2所述的基于内容的三维网格模型的加密和解密方法,其特征在于,步 骤11中,生成超混沌映射的具体步骤为: 步骤111,利用五维超混沌系统生成超混沌序列:式中,8=10,/).= |# = 28,(1<13.667,给定初始值叉1(0)、叉2(0)、叉3(0)、叉4(0)和15(0)作 为加密密钥进行保存和传输,由超混沌系统生成的混沌序列为{X1(k),X2(k),X3(k), X4(k), x5(k),k= 1,2,3,. . .},k表示混沌序列中的各个状态,混沌系统中每一维的Xj (k),( j = 1,2, 3,4,5)都可以通过k-1状态中系统的各个维度值计算获得; 步骤112,对步骤111中生成的混沌序列的前两个序列进行预处理:式中,round函数为四舍五入对数据进行取整的函数; 步骤113,对预处理后的序列X1(k)'进行升序排列变为升序序列xKi)',其中i = l,2,3. . .M,M为构成网格面片的顶点数目,原序列^Q(k)'中各项在升序序列xi(i/中的位置索引 为P〇4. 根据权利要求3所述的基于内容的三维网格模型的加密和解密方法,其特征在于,步 骤12中,对网格面片构成进行置乱的具体步骤为: 步骤121,根据步骤113得到的位置索引p,对三维网格模型中网格面片的顶点构成进行 置乱,原三维网格模型中每个网格面片的每个顶点序号i,经置乱后序号变为i'。5. 根据权利要求3所述的基于内容的三维网格模型的加密和解密方法,其特征在于,步 骤13中,对顶点坐标进行加密的具体步骤为: 步骤131,将三维网格模型中每个顶点的三维坐标值按设定顺序依次加上wXx2(k)'进 行扰动,得到扰动加密后的新坐标值,其中w用于设定扰动的幅度大小,并保存为扰动密钥。6.根据权利要求3所述的基于内容的三维网格模型的加密和解密方法,其特征在于,步 骤1中,对加密后的三维网格模型进行解密的具体步骤为: 步骤21,将传输得到的加密密钥作为初始值,利用与步骤111相同的方式得到五维超混 沌系统生成的超混沌序列,并进行与步骤112相同的预处理操作得到^(1〇'和X2(k)'; 步骤22,将三维网格模型中的每个顶点的三维坐标值按设定顺序依次减去w X X2(k) '取 消扰动,解密得到原始的顶点三维坐标,w即为步骤131中保存的扰动密钥; 步骤23,对步骤21中获得的^(1〇'进行升序排列,根据升序序列^^/与原序列^(1〇' 的位置索引P,将加密后三维网格模型中每个网格面片的每个顶点序号i'恢复为序号i,从 而恢复三维网格模型中构成网格面片的顶点序号。
【文档编号】G06T1/00GK105869103SQ201610180516
【公开日】2016年8月17日
【申请日】2016年3月25日
【发明人】李红岩, 孙仁鹏, 何淼, 马秀芳
【申请人】南京信息职业技术学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1