CN112632475B - 一种基于国密和图片隐写的图片版权保护系统及保护方法 - Google Patents
一种基于国密和图片隐写的图片版权保护系统及保护方法 Download PDFInfo
- Publication number
- CN112632475B CN112632475B CN202011603051.5A CN202011603051A CN112632475B CN 112632475 B CN112632475 B CN 112632475B CN 202011603051 A CN202011603051 A CN 202011603051A CN 112632475 B CN112632475 B CN 112632475B
- Authority
- CN
- China
- Prior art keywords
- picture
- signature
- user name
- algorithm
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000012795 verification Methods 0.000 claims abstract description 26
- 230000006835 compression Effects 0.000 claims abstract description 19
- 238000007906 compression Methods 0.000 claims abstract description 19
- 239000011159 matrix material Substances 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 7
- 108010024433 H 256 Proteins 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000005429 filling process Methods 0.000 claims description 3
- 238000012804 iterative process Methods 0.000 claims description 3
- 238000012986 modification Methods 0.000 abstract description 3
- 230000004048 modification Effects 0.000 abstract description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000009954 braiding Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Storage Device Security (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
本发明提出了一种基于国密和图片隐写的图片版权保护系统及保护方法,用于解决数字媒体版权问题中的图片版权纠纷的技术问题。其保护系统包括用户注册模块、图片签名模块和签名验证模块;用户注册模块采用SM3密码杂凑算法和随机数发生器生成与用户注册的用户名对应的唯一的密钥对;数字签名模块采用SM2数字签名算法和LSB算法将用户名和用户签名写入图片以获得签名后的图片;签名验证模块采用LSB算法和SM2数字签名算法对签名后的图片进行验证以判断图片的著作者是否为注册用户。本发明可对BMP和PNG格式的无损压缩的位图片进行签名,以保护图片创作者的著作权;具有很高的便捷性和可靠性,在进行签名时大大降低了对原图片内容的修改。
Description
技术领域
本发明涉及信息安全技术领域,特别是指一种基于国密和图片隐写的图片版权保护系统及保护方法。
背景技术
随着互联网的不断发展,数字媒体已经成为了知识产权的重要载体,如视频、图片、电视剧、电影等。数字媒体在互联网中的传播给人们的生活带来了极大的便利,具有易复制,易使用的特点。但是互联网是一把双刃剑,在丰富和便利人们生活的同时,也给数字媒体的创作者带来了很大的版权纠纷问题。目前针对数字媒体的版权问题,普遍的处理方法在图片视频等文件中添加可见水印,但是这严重影响了图片和视频的观看体验,并且很大一部分会被专业人员使用技术手段去除。
发明内容
针对上述背景技术中存在的不足,本发明提出了一种基于国密和图片隐写的图片版权保护系统及保护方法,解决了数字媒体版权问题中的图片版权纠纷的技术问题。
本发明的技术方案是这样实现的:
一种基于国密和图片隐写的图片版权保护系统,包括用户注册模块、图片签名模块和签名验证模块;用户注册模块分别与图片签名模块和签名验证模块相连接,图片签名模块与签名验证模块相连接;
所述用户注册模块采用SM3密码杂凑算法和随机数发生器生成与用户注册的用户名对应的唯一的密钥对;
所述数字签名模块采用SM2数字签名算法和LSB算法将用户名和用户签名写入图片以获得签名后的图片;
所述签名验证模块采用LSB算法和SM2数字签名算法对签名后的图片进行验证以判断图片的著作者是否为注册用户。
一种基于国密和图片隐写的图片版权保护系统的保护方法,其步骤如下:
S1、读取用户注册时填写的用户名,使用SM3密码杂凑算法将用户名处理成数字摘要,根据数字摘要使用随机数发生器生成与用户名相关的Fp上椭圆曲线系统参数,使用Fp上椭圆曲线系统参数生成与用户名对应的密钥对,其中,密钥对包括私钥和公钥;
S2、使用SM2数字签名算法与步骤S1中生成的私钥相结合对用户名进行数字签名得到信息签名,将用户名和信息签名拼接成版权字符串,使用LSB算法将版权字符串写入图片,得到签名后的图片;
S3、使用LSB算法提取签名后的图片中的版权字符串,使用SM2数字签名算法与步骤S1中生成的公钥相结合对提取后的版权字符串进行验证,验证签名后的图片中的著作者是否为注册用户。
所述根据数字摘要使用随机数发生器生成与用户名相关的Fp上椭圆曲线系统参数的方法为:
S1.1、使用随机参数生成器生成素数p,且p>3;
S1.2、读取用户的用户名记为M;
S1.3、使用SM3密码杂凑算法对用户名M进行处理得到数字摘要MH;
S1.4、将数字摘要MH转换成长度为256的比特串SEED;
S1.5、使用SM3密码杂凑算法计算比特串SEED的杂凑值记为H,并记H=(h255,h254,…hi,…,h0);
S1.6、置
S1.7、置r=R mod p;
S1.8、任意选择Fp上的元素a和b,使r·b2≡a3(modp);
S1.9、若(4a3+27b2)mod p=0,则置M=MH并转步骤S1.2;
S1.10、根据步骤S1.2至S1.9得到Fp上的椭圆曲线E为:y2=x3+ax+b;
S1.11、输出(SEED,a,b);
S1.12、使用随机数生成器生成随机点xG,根据椭圆曲线E计算yG,组成基点G;
S1.13、置n为基点G的阶,n满足的条件为:n>2191且n>4p(1/2)。
所述使用Fp上椭圆曲线系统参数生成与用户名对应的密钥对的方法为:
S1.14、使用随机数发生器产生一个整数d,且d∈[1,n-2];
S1.15、根据整数d和基点G计算P=(xp,yp)=[d]G;
S1.16、将d作为私钥,P作为公钥,则密钥对为(d,P)。
所述使用SM2数字签名算法与步骤S1中生成的私钥相结合对用户名进行数字签名得到信息签名的方法为:
S2.1、置ID为用户名,entlen为ID的长度,ENTL为entlen转换后的两个字节;
S2.2、置Z=H256(ENTL||ID||a||b||xG||yG||xp||yp),其中,H256()为SM3密码杂凑函数;
S2.3、计算
S2.4、使用随机数发生器产生随机数k,且k∈[1,n-1];
S2.5、计算椭圆曲线点(x1,y1)=[k]G,并将x1转换为整数;
S2.6、计算r=(e+x1)mod n,若r=0或r+k=n,返回步骤S2.5;
S2.7、计算s=((1+d)-1·(k-r·d))mod n,若s=0,返回步骤S2.5;
S2.8、将(r,s)的数据类型转换为字符串,输出用户名M的信息签名S为(r,s)。
所述将用户名和信息签名拼接成版权字符串的方法为:利用ASCII编码方法将用户名M转换成的比特串长度为mlen,将mlen转换成的两个字节记为MLEN;利用ASCII编码方法将信息签名S转换成的比特串长度为slen,将slen转换成的两个字节记为SLEN,则版权字符串为CR=MLEN||SLEN||M||S。
所述使用LSB算法将版权字符串写入图片的方法为:
S2.9、从待数字签名的图片中提取像素矩阵MAT,并将像素矩阵MAT的行数记为x,列数记为y;
S2.10、置sum为版权字符串CR的长度,SUM为sum转换而成的两个字节;
S2.11、置MES=SUM||CR,利用ASCII编码方法将MES转换成比特串得到MESB,记比特串MESB的长度为z;
S2.12、对像素矩阵MAT进行以下迭代:
S2.13、将像素矩阵MAT转换成指定格式的图片并输出,得到签名后的图片。
所述使用LSB算法提取签名后的图片中的版权字符串的方法为:
S3.1、从签名后的图片中提取像素矩阵MAT′,并将像素矩阵MAT′的行数记为x′,列数记为y′;
S3.2、对像素矩阵MAT′进行以下迭代:
S3.3、记c为比特串COUNT转换成的两个字节的整数,再次对像素矩阵MAT′进行如下迭代:
S3.4、利用ASCII编码方法对比特串CRB′进行反编码,得到版权字符串CR′。
所述使用SM2数字签名算法与步骤S1中生成的公钥相结合对提取后的版权字符串进行验证的方法为:
S3.5、截取版权字符串CR′的前两个字节的整数记为MLEN′,截取版权字符串CR′的第三和第四个字节的整数记为SLEN′,然后对像素矩阵MAT′进行以下迭代:
S3.5、利用ASCII编码方法对比特串MB′进行反编码得到用户名M′,利用ASCII编码方法对比特串SB′进行反编码得到签名S′=(r′,s′);
S3.6、检验r′∈[1,n-1]是否成立,若不成立则验证不通过,否则,执行步骤S3.7;
S3.7、检验s′∈[1,n-1]是否成立,若不成立则验证不通过,否则,执行步骤S3.8;
S3.8、置M′=Z||M′;
S3.9、计算e′=H256(M′),
S3.10、计算t=(r′+s′)mod n,若t=0,则验证不通过,否则,执行步骤S3.11;
S3.11、计算椭圆曲线点(x′1,y′1)=[s′]G+[t]P;
S3.12、计算R=(e′+x′1)mod n,检验R=r′是否成立,若成立则验证通过;否则验证不通过。
所述SM3密码杂凑算法的实现方法为:
a)填充过程:利用ASCII编码方法将用户名M转换成长度为l的比特串m,将比特“1”添加到比特串m的末尾,再添加k个比特“0”,再添加一个64位比特串l′,比特串l′是长度为l的二进制数,填充后的消息m′的比特长度为512的倍数,其中,l<264,k是满足l+1+k≡448mod512的最小非负整数;
b)迭代过程:将填充后的消息m′按512比特进行分组:m′=B(0)B(1)···B(n-1),其中,n=(l+k+65)/512,对消息m′按以下方式迭代:
FOR i1=0TO n-1
ENDFOR
其中,CF()是压缩函数,V(0)为256比特的初始值IV,为填充后的消息分组,迭代压缩的结果为V(n);
c)消息扩展:将消息分组按以下方法扩展生成132个字W0,W1,···,W67,W′0,W′1,···,W′63,用于压缩函数CF():
将消息分组划分为16个字W0,W1,···,W15;
d)压缩函数:令A、B、C、D、E、F、G、H为字寄存器,SS1、SS2、TT1、TT2为中间变量,压缩函数0≤i1≤n-1;压缩函数的计算方法如下:
输出结果为256比特杂凑值:ABCDEFGH。
与现有技术相比,本发明产生的有益效果为:本发明使用SM3密码杂凑算法把用户名处理成数字摘要,接着根据数字摘要生成Fp上椭圆曲线,然后结合随机发生器生成Fp上椭圆曲线系统参数,进而生成相关的公钥和私钥。在对图片进行数字签名的过程中,首先需要使用SM2数字签名算法结合用户的私钥对用户名进行处理获得签名信息,然后使用LSB算法将签名信息写入图片中,获得了签名后的图片。再需要对图片版权进行验证,使用LSB算法将写入图片的版权信息提取出来,然后使用SM2签名算法结合用户的公钥对提取出来的签名信息进行验证,由此证明图片的著作权。本发明可以对BMP和PNG格式的无损压缩的位图片进行签名,由此来保护图片创作者的著作权;具有很高的便捷性和可靠性,在进行签名时大大降低了对原图片内容的修改。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的系统架构图。
图2为本发明的Fp上椭圆曲线生成流程图。
图3为本发明的数字签名生成算法流程图。
图4为本发明的数字签名验证算法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1,如图1所示,一种基于国密和图片隐写的图片版权保护系统,包括用户注册模块、图片签名模块和签名验证模块;用户注册模块分别与图片签名模块和签名验证模块相连接,图片签名模块与签名验证模块相连接;保护系统输入B/S系统,实施例1系统部署不依赖特殊的硬件设备。最大的优势是使用简单可靠,由于保护系统是B/S系统,用户可以在任何地点使通过浏览器使用该保护系统。
所述用户注册模块采用SM3密码杂凑算法和随机数发生器生成与用户注册的用户名对应的唯一的密钥对;用于用户注册账号,登陆保护系统,使用SM3密码杂凑算法对用户名进行处理生成数字摘要,然后根据数字摘要生成Fp上椭圆曲线,接着根据Fp上椭圆曲线以及随机数发生器生成的其他Fp上椭圆曲线系统参数生成与用户对应的唯一的密钥对。
所述数字签名模块采用SM2数字签名算法和LSB算法将用户名和用户签名写入图片以获得签名后的图片;用于将用户的用户名使用SM2数字签名算法获得数字签名,然后将用户名以及用户签名使用LSB算法写入图片中。
所述签名验证模块采用LSB算法和SM2数字签名算法对签名后的图片进行验证以判断图片的著作者是否为注册用户;用于使用LSB算法从需要进行版权验证的图片中提取出用户名以及数字签名,然后使用需要验证版权的用户的公钥对其进行验证,最后即可判断该图片的著作人是否为该用户。
实施例2,一种基于国密和图片隐写的图片版权保护系统的保护方法,具体步骤如下:
S1、读取用户注册时填写的用户名,使用SM3密码杂凑算法将用户名处理成数字摘要,根据数字摘要使用随机数发生器生成与用户名相关的Fp上椭圆曲线系统参数,使用Fp上椭圆曲线系统参数生成与用户名对应的密钥对,其中,密钥对包括私钥和公钥;
如图2所示,根据数字摘要使用随机数发生器生成与用户名相关的Fp上椭圆曲线系统参数的方法为:
S1.1、使用随机参数生成器生成素数p,且p>3;
p=60275702009245096385686171515219896416297121499402250955537857683885541941187;
S1.2、读取用户的用户名记为M;
M=abc;
S1.3、使用SM3密码杂凑算法对用户名M进行处理得到数字摘要MH;
MH=66c7f0f4 62eeedd9 d1f2d46b dc10e4e2 4167c487 5cf2f7a2 297da02b8f4ba8e0;
S1.4、将数字摘要MH转换成长度为256的比特串SEED;
SEED=debe9ff9 2275b8a1 38604889 c18e5a4d 6fdb70e5 387e5765 293dcba39c0c5732;
S1.5、使用SM3密码杂凑算法计算比特串SEED的杂凑值记为H,并记H=(h255,h254,…,h0);
H=(01101011100101101110010010111101111010010010001001110101010110100001010000100110100001100000010001000010000100101100000101000011100101010100100011010110011110110101011011100000111001010011010000111011100101011101100101001001001001101101011000101101010001101001011000000011000101011100110010);
S1.6、置
R=115792089237316195423570985008687907853269984665640564039457584007913129640191;
S1.7、置r=R mod p;
r=55516387228071099037884813493468011436972863166238313083919726324027587698782;
S1.8、任意选择Fp上的元素a和b,使r·b2≡a3(modp);
a=1791373391545332505434008460760175645280721611710921823177461738664612270171288;
b=1782064523953351065954990282115820499030925905503711836688255613992067414697114;
S1.9、若(4a3+27b2)mod p=0,则置M=MH并转步骤S1.2;
(4a3+27b2)modp=1383113995734484452178028130307774218246864549173635632465631041120338327327140;
S1.10、根据步骤S1.2至S1.9得到Fp上的椭圆曲线为E:y2=x3+ax+b;
E:y2=x3+
1791373391545332505434008460760175645280721611710921823177461738664612270171288*x+
1782064523953351065954990282115820499030925905503711836688255613992067414697114;
S1.11、输出(SEED,a,b);
S1.12、使用随机数生成器生成随机点xG,根据椭圆曲线E计算yG,组成基点G;
xG=29905514254078361236418469080477708234343499662916671209092838329800180225085;
yG=2940593737975541915790390447892157254280677083040126061230851964063234001314;
S1.13、置n为基点G的阶,n满足的条件为:n>2191且n>4p(1/2);
n=60275702009245096385686171515219896415919644698453424055561665251330296281527。
所述使用Fp上椭圆曲线系统参数生成与用户名对应的密钥对的方法为:
S1.14、使用随机数发生器产生一个整数d,且d∈[1,n-2];
S1.15、根据整数d和基点G计算P=(xp,yp)=[d]G;
S1.16、将d作为私钥,P作为公钥,则密钥对为(d,P)。
所述SM3密码杂凑算法的实现方法为:
a)填充过程:利用ASCII编码方法将用户名M转换成长度为l的比特串m,将比特“1”添加到比特串m的末尾,再添加k个比特“0”,再添加一个64位比特串l′,比特串l′是长度为l的二进制数,填充后的消息m′的比特长度为512的倍数,其中,l<264,k是满足l+1+k≡448mod512的最小非负整数;
b)迭代过程:将填充后的消息m′按512比特进行分组:m′=B(0)B(1)···B(n-1),其中,n=(l+k+65)/512,对消息m′按以下方式迭代:
FOR i1=0 TO n-1
ENDFOR
其中,CF()是压缩函数,V(0)为256比特的初始值IV,为填充后的消息分组,迭代压缩的结果为V(n);
c)消息扩展:将消息分组按以下方法扩展生成132个字W0,W1,···,W67,W′0,W′1,···,W′63,用于压缩函数CF():
将消息分组划分为16个字W0,W1,···,W15;
d)压缩函数:令A、B、C、D、E、F、G、H为字寄存器,SS1、SS2、TT1、TT2为中间变量,压缩函数0≤i1≤n-1;压缩函数的计算方法如下:
输出结果为256比特杂凑值:ABCDEFGH。
S2、使用SM2数字签名算法与步骤S1中生成的私钥相结合对用户名进行数字签名得到信息签名,将用户名和信息签名拼接成版权字符串,使用LSB算法将版权字符串写入图片,得到签名后的图片;
如图3所示,使用SM2数字签名算法与步骤S1中生成的私钥相结合对用户名进行数字签名得到信息签名的方法为:
S2.1、置ID为用户名,entlen为ID的长度,ENTL为entlen转换后的两个字节;
ID=6D657373 61676520 64696765 7374;
ENTL=0x0090;
S2.2、置Z=H256(ENTL||ID||a||b||xG||yG||xp||yp),其中,H256()为SM3密码杂凑函数;
Z=F4A38489 E32B45B6 F876E3AC 2168CA39 2362DC8F 23459C1D 1146FC3DBFB7BC9A;
S2.3、计算
e=B524F552 CD82B8B0 28476E00 5C377FB1 9A87E6FC 682D48BB 5D42E3D9B9EFFE76;
S2.4、使用随机数发生器产生随机数k,且k∈[1,n-1];
k=6CB28D99 385C175C 94F94E93 4817663F C176D925 DD72B727 260DBAAE1FB2F96F;
S2.5、计算椭圆曲线点(x1,y1)=[k]G,并将x1转换为整数;
x1=110FCDA5 7615705D 5E7B9324 AC4B856D 23E6D918 8B2AE477 59514657CE25D112;
y1=1C65D68A 4A08601D F24B431E 0CAB4EBE 084772B3 817E8581 1A8510B2DF7ECA1A;
S2.6、计算r=(e+x1)mod n,若r=0或r+k=n,返回步骤S2.5;
S2.7、计算s=((1+d)-1·(k-r·d))mod n,若s=0,返回步骤S2.5;
S2.8、将(r,s)的数据类型转换为字符串,输出用户名M的信息签名S为(r,s)。
S=(40F1EC59 F793D9F4 9E09DCEF 49130D41 94F79FB1 EED2CAA5 5BACDB49C4E755D1,6FC6DAC3 2C5D5CF1 0C77DFB2 0F7C2EB6 67A45787 2FB09EC5 6327A67EC7DEEBE7)。
所述将用户名和信息签名拼接成版权字符串的方法为:利用ASCII编码方法将用户名M转换成的比特串长度为mlen,将mlen转换成的两个字节记为MLEN;利用ASCII编码方法将信息签名S转换成的比特串长度为slen,将slen转换成的两个字节记为SLEN,则版权字符串为CR=MLEN||SLEN||M||S。
所述使用LSB算法将版权字符串写入图片的方法为:
S2.9、从待数字签名的图片中提取像素矩阵MAT,并将像素矩阵MAT的大小记为(x,y);
S2.10、置sum为版权字符串CR的长度,SUM为sum转换而成的两个字节;
S2.11、置MES=SUM||CR,利用ASCII编码方法将MES转换成比特串得到MESB,记比特串MESB的长度为z;
S2.12、对像素矩阵MAT进行以下迭代:
S2.13、将像素矩阵MAT转换成指定格式的图片并输出,得到签名后的图片。
S3、使用LSB算法提取签名后的图片中的版权字符串,使用SM2数字签名算法与步骤S1中生成的公钥相结合对提取后的版权字符串进行验证,验证签名后的图片中的著作者是否为注册用户。
使用LSB算法提取签名后的图片中的版权字符串的方法为:
S3.1、从签名后的图片中提取像素矩阵MAT′,并将像素矩阵MAT′的大小记为(x′,y′);
S3.2、对像素矩阵MAT′进行以下迭代:
S3.3、记c为比特串COUNT转换成的两个字节的整数,再次对MAT′进行如下迭代:
S3.4、利用ASCII编码方法对比特串CRB′进行反编码,得到版权字符串CR′。
如图4所示,使用SM2数字签名算法与步骤S1中生成的公钥相结合对提取后的版权字符串进行验证的方法为:
S3.5、截取版权字符串CR′的前两个字节的整数记为MLEN′,截取版权字符串CR′的第三和第四个字节的整数记为SLEN′,然后对像素矩阵MAT′进行以下迭代:
/>
S3.5、利用ASCII编码方法对比特串MB′进行反编码得到用户名M′,利用ASCII编码方法对比特串SB′进行反编码得到签名S′=(r′,s′);
M′=10531250d1131323 34052505 213d3c2e 434f4d;
S=(40F1EC59 F793D9F4 9E09DCEF 49130D41 94F79FB1 EED2CAA5 5BACDB49C4E755D1,6FC6DAC3 2C5D5CF1 0C77DFB2 0F7C2EB6 67A45787 2FB09EC5 6327A67EC7DEEBE7)。
S3.6、检验r′∈[1,n-1]是否成立,若不成立则验证不通过,否则,执行步骤S3.7;
r′=40F1EC59 F793D9F4 9E09DCEF 49130D41 94F79FB1 EED2CAA5 5BACDB49C4E755D1;
S3.7、检验s′∈[1,n-1]是否成立,若不成立则验证不通过,否则,执行步骤S3.8;
s′=6FC6DAC3 2C5D5CF1 0C77DFB2 0F7C2EB6 67A45787 2FB09EC5 6327A67EC7DEEBE7;
S3.8、置M′=Z||M′;
S3.9、计算e′=H256(M′);
e′=B524F552 CD82B8B0 28476E00 5C377FB1 9A87E6FC 682D48BB 5D42E3D9B9EFFE76;
S3.10、计算t=(r′+s′)mod n,若t=0,则验证不通过,否则,执行步骤S3.11;
t=2B75F07E D7ECE7CC C1C8986B 991F441A D324D6D6 19FE06DD 63ED32E0C997C801;
S3.11、计算椭圆曲线点(x′1,y′1)=[s′]G+[t]P;
x′1=110FCDA5 7615705D 5E7B9324 AC4B856D 23E6D918 8B2AE477 59514657CE25D112;
y′1=1C65D68A 4A08601D F24B431E 0CAB4EBE 084772B3 817E8581 1A8510B2DF7ECA1A;
S3.12、计算R=(e′+x′1)mod n,检验R=r′是否成立,若成立则验证通过;否则验证不通过。
R=40F1EC59 F793D9F4 9E09DCEF 49130D41 94F79FB1 EED2CAA5 5BACDB49C4E755D1。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种基于国密和图片隐写的图片版权保护系统,其特征在于,包括用户注册模块、图片签名模块和签名验证模块;用户注册模块分别与图片签名模块和签名验证模块相连接,图片签名模块与签名验证模块相连接;
所述用户注册模块采用SM3密码杂凑算法和随机数发生器生成与用户注册的用户名对应的唯一的密钥对;
所述图片签名模块采用SM2数字签名算法和LSB算法将用户名和用户签名写入图片以获得签名后的图片;
所述签名验证模块采用LSB算法和SM2数字签名算法对签名后的图片进行验证以判断图片的著作者是否为注册用户;
基于国密和图片隐写的图片版权保护系统的保护方法,其步骤如下:
S1、读取用户注册时填写的用户名,使用SM3密码杂凑算法将用户名处理成数字摘要,根据数字摘要使用随机数发生器生成与用户名相关的Fp上椭圆曲线系统参数,使用Fp上椭圆曲线系统参数生成与用户名对应的密钥对,其中,密钥对包括私钥和公钥;
S2、使用SM2数字签名算法与步骤S1中生成的私钥相结合对用户名进行数字签名得到信息签名,将用户名和信息签名拼接成版权字符串,使用LSB算法将版权字符串写入图片,得到签名后的图片;
所述使用SM2数字签名算法与步骤S1中生成的私钥相结合对用户名进行数字签名得到信息签名的方法为:
S2.1、置ID为用户名,entlen为ID的长度,ENTL为entlen转换后的两个字节;
S2.2、置Z=H256(ENTL||ID||a||b||xG||yG||xp||yp),其中,H256()为SM3密码杂凑函数;
S2.3、计算
S2.4、使用随机数发生器产生随机数k,且k∈[1,n-1];
S2.5、计算椭圆曲线点(x1,y1)=[k]G,并将x1转换为整数;
S2.6、计算r=(e+x1)mod n,若r=0或r+k=n,返回步骤S2.5;
S2.7、计算s=((1+d)-1·(k-r·d))mod n,若s=0,返回步骤S2.5;
S2.8、将(r,s)的数据类型转换为字符串,输出用户名M的信息签名S为(r,s);
所述将用户名和信息签名拼接成版权字符串的方法为:利用ASCII编码方法将用户名M转换成的比特串长度为mlen,将mlen转换成的两个字节记为MLEN;利用ASCII编码方法将信息签名S转换成的比特串长度为slen,将slen转换成的两个字节记为SLEN,则版权字符串为CR=MLEN||SLEN||M||S;
所述使用LSB算法将版权字符串写入图片的方法为:
S2.9、从待数字签名的图片中提取像素矩阵MAT,并将像素矩阵MAT的行数记为x,列数记为y;
S2.10、置sum为版权字符串CR的长度,SUM为sum转换而成的两个字节;
S2.11、置MES=SUM||CR,利用ASCII编码方法将MES转换成比特串得到MESB,记比特串MESB的长度为z;
S2.12、对像素矩阵MAT进行以下迭代:
S2.13、将像素矩阵MAT转换成指定格式的图片并输出,得到签名后的图片;
S3、使用LSB算法提取签名后的图片中的版权字符串,使用SM2数字签名算法与步骤S1中生成的公钥相结合对提取后的版权字符串进行验证,验证签名后的图片中的著作者是否为注册用户;
所述使用LSB算法提取签名后的图片中的版权字符串的方法为:
S3.1、从签名后的图片中提取像素矩阵MAT′,并将像素矩阵MAT′的行数记为x′,列数记为y′;
S3.2、对像素矩阵MAT′进行以下迭代:
S3.3、记c为比特串COUNT转换成的两个字节的整数,再次对像素矩阵MAT′进行如下迭代:
S3.4、利用ASCII编码方法对比特串CRB′进行反编码,得到版权字符串CR′;
所述使用SM2数字签名算法与步骤S1中生成的公钥相结合对提取后的版权字符串进行验证的方法为:
S3.5、截取版权字符串CR′的前两个字节的整数记为MLEN′,截取版权字符串CR′的第三和第四个字节的整数记为SLEN′,然后对像素矩阵MAT′进行以下迭代:
S3.5、利用ASCII编码方法对比特串MB′进行反编码得到用户名M′,利用ASCII编码方法对比特串SB′进行反编码得到签名S′=(r′,s′);
S3.6、检验r′∈[1,n-1]是否成立,若不成立则验证不通过,否则,执行步骤S3.7;
S3.7、检验s′∈[1,n-1]是否成立,若不成立则验证不通过,否则,执行步骤S3.8;
S3.8、置M′=Z||M′;
S3.9、计算e′=H256(M′),
S3.10、计算t=(r′+s′)mod n,若t=0,则验证不通过,否则,执行步骤S3.11;
S3.11、计算椭圆曲线点(x′1,y′1)=[s′]G+[t]P;
S3.12、计算R=(e′+x′1)mod n,检验R=r′是否成立,若成立则验证通过;否则验证不通过。
2.根据权利要求1所述的基于国密和图片隐写的图片版权保护系统,其特征在于,所述根据数字摘要使用随机数发生器生成与用户名相关的Fp上椭圆曲线系统参数的方法为:
S1.1、使用随机参数生成器生成素数p,且p>3;
S1.2、读取用户的用户名记为M;
S1.3、使用SM3密码杂凑算法对用户名M进行处理得到数字摘要MH;
S1.4、将数字摘要MH转换成长度为256的比特串SEED;
S1.5、使用SM3密码杂凑算法计算比特串SEED的杂凑值记为H,并记H=(h255,h254,…hi,…,h0);
S1.6、置
S1.7、置r=R mod p;
S1.8、任意选择Fp上的元素a和b,使r·b2≡a3(modp);
S1.9、若(4a3+27b2)mod p=0,则置M=MH并转步骤S1.2;
S1.10、根据步骤S1.2至S1.9得到Fp上的椭圆曲线E为:y2=x3+ax+b;
S1.11、输出(SEED,a,b);
S1.12、使用随机数生成器生成随机点xG,根据椭圆曲线E计算yG,组成基点G;
S1.13、置n为基点G的阶,n满足的条件为:n>2191且n>4p(1/2)。
3.根据权利要求2所述的基于国密和图片隐写的图片版权保护系统,其特征在于,所述使用Fp上椭圆曲线系统参数生成与用户名对应的密钥对的方法为:
S1.14、使用随机数发生器产生一个整数d,且d∈[1,n-2];
S1.15、根据整数d和基点G计算P=(xp,yp)=[d]G;
S1.16、将d作为私钥,P作为公钥,则密钥对为(d,P)。
4.根据权利要求2所述的基于国密和图片隐写的图片版权保护系统的保护系统,其特征在于,所述SM3密码杂凑算法的实现方法为:
a)填充过程:利用ASCII编码方法将用户名M转换成长度为l的比特串m,将比特“1”添加到比特串m的末尾,再添加k个比特“0”,再添加一个64位比特串l′,比特串l′是长度为l的二进制数,填充后的消息m′的比特长度为512的倍数,其中,l<264,k是满足l+1+k≡448mod512的最小非负整数;
b)迭代过程:将填充后的消息m′按512比特进行分组:m′=B(0)B(1)···B(n-1),其中,n=(l+k+65)/512,对消息m′按以下方式迭代:
FOR i1=0TO n-1
ENDFOR
其中,CF()是压缩函数,V(0)为256比特的初始值IV,B(i1)为填充后的消息分组,迭代压缩的结果为V(n);
c)消息扩展:将消息分组按以下方法扩展生成132个字W0,W1,···,W67,W′0,W′1,···,W′63,用于压缩函数CF():
将消息分组划分为16个字W0,W1,···,W15;
FOR j0=16 TO 67
ENDFOR
FOR j0=0 TO 63
ENDFOR
d)压缩函数:令A、B、C、D、E、F、G、H为字寄存器,SS1、SS2、TT1、TT2为中间变量,压缩函数压缩函数的计算方法如下:
FOR j0=0 TO 63
SS1←((A<<<12)+E+(Tj0<<<j0))<<<7;
D←C;C←B<<<9;B←A;A←TT1;H←G;
G←F<<<19;F←E;E←P0(TT2);
ENDFOR
输出结果为256比特杂凑值:ABCDEFGH。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011603051.5A CN112632475B (zh) | 2020-12-30 | 2020-12-30 | 一种基于国密和图片隐写的图片版权保护系统及保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011603051.5A CN112632475B (zh) | 2020-12-30 | 2020-12-30 | 一种基于国密和图片隐写的图片版权保护系统及保护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112632475A CN112632475A (zh) | 2021-04-09 |
CN112632475B true CN112632475B (zh) | 2024-03-29 |
Family
ID=75287285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011603051.5A Active CN112632475B (zh) | 2020-12-30 | 2020-12-30 | 一种基于国密和图片隐写的图片版权保护系统及保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112632475B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113204771B (zh) * | 2021-04-21 | 2022-02-22 | 北京连山科技股份有限公司 | 一种利用国密sm3改进分组密码cbc模式缺点的高效方法 |
CN113486406B (zh) * | 2021-06-17 | 2024-02-20 | 重庆亲笔签数字科技有限公司 | 一种电子签名保护还原方法、系统、电子设备及存储介质 |
CN116032490B (zh) * | 2023-01-09 | 2023-10-03 | 郑州轻工业大学 | 一种基于改进SM2算法的Fabric区块链构建方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1460225A (zh) * | 2001-04-23 | 2003-12-03 | 索尼公司 | 数据处理系统、存储设备、数据处理装置、及数据处理方法、以及程序 |
CN1832397A (zh) * | 2005-11-28 | 2006-09-13 | 北京浦奥得数码技术有限公司 | 电子设备接口间基于公钥证书的认证密钥协商和更新方法 |
CN101022332A (zh) * | 2006-02-16 | 2007-08-22 | 刘粉林 | 基于混沌系统的抗统计分析图像lsb信息隐藏方法 |
CN101268654A (zh) * | 2005-09-06 | 2008-09-17 | 西门子公司 | 用于对消息可靠加密或者解密的方法 |
CN107147488A (zh) * | 2017-03-24 | 2017-09-08 | 广东工业大学 | 一种基于sm2加解密算法的签名验签系统和方法 |
CN108509775A (zh) * | 2018-02-08 | 2018-09-07 | 暨南大学 | 一种基于机器学习的恶意png图像识别方法 |
CN108667623A (zh) * | 2018-05-28 | 2018-10-16 | 广东工业大学 | 一种sm2椭圆曲线签名验证算法 |
CN108809658A (zh) * | 2018-07-20 | 2018-11-13 | 武汉大学 | 一种基于sm2的身份基的数字签名方法与系统 |
CN109214195A (zh) * | 2018-07-26 | 2019-01-15 | 广东工业大学 | 一种抗差分功耗攻击的sm2椭圆曲线签名验签硬件系统及方法 |
CN111625783A (zh) * | 2020-05-26 | 2020-09-04 | 郑州轻工业大学 | 基于多级加密的软件授权管理系统 |
CN112118111A (zh) * | 2020-09-04 | 2020-12-22 | 中国科学院大学 | 一种适用于门限计算的sm2数字签名方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7590852B2 (en) * | 2006-07-25 | 2009-09-15 | Jesse Andrew Hatter | Method for remote electronic verification and authentication and screening of potential signatories for remote electronic notary transactions via remote PC encrypted platform to a broadband digitally wireless cellular/PDA device or portable PC device |
-
2020
- 2020-12-30 CN CN202011603051.5A patent/CN112632475B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1460225A (zh) * | 2001-04-23 | 2003-12-03 | 索尼公司 | 数据处理系统、存储设备、数据处理装置、及数据处理方法、以及程序 |
CN101268654A (zh) * | 2005-09-06 | 2008-09-17 | 西门子公司 | 用于对消息可靠加密或者解密的方法 |
CN1832397A (zh) * | 2005-11-28 | 2006-09-13 | 北京浦奥得数码技术有限公司 | 电子设备接口间基于公钥证书的认证密钥协商和更新方法 |
CN101022332A (zh) * | 2006-02-16 | 2007-08-22 | 刘粉林 | 基于混沌系统的抗统计分析图像lsb信息隐藏方法 |
CN107147488A (zh) * | 2017-03-24 | 2017-09-08 | 广东工业大学 | 一种基于sm2加解密算法的签名验签系统和方法 |
CN108509775A (zh) * | 2018-02-08 | 2018-09-07 | 暨南大学 | 一种基于机器学习的恶意png图像识别方法 |
CN108667623A (zh) * | 2018-05-28 | 2018-10-16 | 广东工业大学 | 一种sm2椭圆曲线签名验证算法 |
CN108809658A (zh) * | 2018-07-20 | 2018-11-13 | 武汉大学 | 一种基于sm2的身份基的数字签名方法与系统 |
CN109214195A (zh) * | 2018-07-26 | 2019-01-15 | 广东工业大学 | 一种抗差分功耗攻击的sm2椭圆曲线签名验签硬件系统及方法 |
CN111625783A (zh) * | 2020-05-26 | 2020-09-04 | 郑州轻工业大学 | 基于多级加密的软件授权管理系统 |
CN112118111A (zh) * | 2020-09-04 | 2020-12-22 | 中国科学院大学 | 一种适用于门限计算的sm2数字签名方法 |
Non-Patent Citations (3)
Title |
---|
基于势能冷却的内容中心网络缓存替换算法;张建伟 等;《计算机工程与科学》;第41卷(第09期);1612-1617 * |
基于数字签名二维码认证技术的研究与实现;闫涛;《中国优秀硕士学位论文全文数据库 信息科技辑》(第03期);I136-886 * |
结合图像内容特征的高效隐写算法研究;康明红;《中国优秀硕士学位论文全文数据库 信息科技辑》(第01期);I138-249 * |
Also Published As
Publication number | Publication date |
---|---|
CN112632475A (zh) | 2021-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112632475B (zh) | 一种基于国密和图片隐写的图片版权保护系统及保护方法 | |
US7639835B2 (en) | Information processing apparatus and its control method, computer program and storage medium | |
TWI624795B (zh) | Electronic signature generation method and system | |
JP2001273286A (ja) | 認証のため、テキスト文書をエクストラ・ブランクのパターンでマーク付けする方法およびシステム | |
US20040145661A1 (en) | Image processing method, and image processing apparatus | |
KR20070042511A (ko) | 디지털 콘텐트 보안 시스템 및 방법 | |
CN112635009A (zh) | 基于区块链的医疗数据加密方法 | |
EP1678677A1 (en) | Method and system for protecting and authenticating a digital image | |
Vinoth Kumar et al. | Encrypted separable reversible watermarking with authentication and error correction | |
Memon et al. | Distortion-bounded authentication techniques | |
Lozhnikov et al. | Method of protecting paper and electronic text documents through a hidden biometric identifier based on a signature | |
CN115765963A (zh) | 基于密文域可逆隐写的文字图像审计信息记录与提取方法 | |
Lou et al. | Digital signature-based image authentication | |
Winasih et al. | Implementation of LSB-RSA Algorithm for the Authenticity of the JPG File Certificate | |
CN114119332A (zh) | 基于区块链的数字水印写入和读取方法及装置 | |
US6992797B1 (en) | Systems and methods for embedding messages in look-up tables | |
Sun et al. | A crypto signature scheme for image authentication over wireless channel | |
Lee et al. | A new binary image authentication scheme with small distortion and low false negative rates | |
CN113221132A (zh) | 一种基于ntru的qr码加密解密方法 | |
CN112614557A (zh) | 电子病历加密存档方法 | |
CN112613054A (zh) | 一种基于grs码的电子档案验证方法、装置、电子设备 | |
RU2543928C1 (ru) | Способ формирования электронного документа и его копий | |
Dittmann et al. | Provably Secure Authentication of Digital Media Through Invertible Watermarks. | |
CN117150536B (zh) | 一种文档的防伪方法、装置、设备及可读存储介质 | |
Liu et al. | A robust error control coding-based watermarking algorithm for FPGA IP protection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |