CN105825257B - 基于二维条码的信息隐藏与隐藏信息提取方法及*** - Google Patents
基于二维条码的信息隐藏与隐藏信息提取方法及*** Download PDFInfo
- Publication number
- CN105825257B CN105825257B CN201610134624.1A CN201610134624A CN105825257B CN 105825257 B CN105825257 B CN 105825257B CN 201610134624 A CN201610134624 A CN 201610134624A CN 105825257 B CN105825257 B CN 105825257B
- Authority
- CN
- China
- Prior art keywords
- information
- bar code
- dimensional bar
- hiding
- code
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06046—Constructional details
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
基于二维条码的信息隐藏与隐藏信息提取方法及***,属于信息安全领域。选择二维条码作为信息隐藏的载体,二维条码中补齐码区域属于冗余区域,正常情况下是被忽视的部分,因此将信息隐藏在此区域中将难以被察觉,且可隐藏的信息容量也可以满足需求。利用编码器使用密钥对中的公钥对待隐藏的秘密信息进行加密,利用解码器使用密钥对中的私钥对加密后的隐藏信息进行解密,由此保证了所隐藏的秘密信息的安全性。采用C/S结构的验证方式,用户通过客户端向服务器发送验证请求,服务器验证后返回结果,只有验证通过的用户才能继续解码操作,由此保证了用户的合法性。
Description
技术领域
本发明属于信息安全领域,具体涉及一种基于二维条码的信息隐藏与隐藏信息提取方法及***。
背景技术
信息隐藏是将一则消息、图片或文件隐藏于其他消息、图片或文件中的技术,因为信息被隐藏之前通常会被加密,所以信息隐藏技术比简单加密技术安全性更高,可以有效保障信息的安全。信息隐藏技术主要应用在保密通信、身份认证、数字版权保护和追踪以及信息完整性、真实性鉴定与内容恢复等方面。其在保密通信上的应用是把秘密信息隐藏在数字载体中并利用***道进行传递,这在军事、商业、金融等领域都普遍存在。图1是信息隐藏技术的模型,信息隐藏执行阶段使用密钥对秘密信息进行加密预处理,之后使用嵌入算法把加密后的密文嵌入到载体中,然后包含秘密信息的载密载体经由公共信道传递给接收者,接收者使用提取算法提取密文并使用解密密钥解密出秘密信息。其中,信息隐藏载体的选择以及对应嵌入、提取算法的设计是信息隐藏研究的重要基础问题。
二维条码是一种特殊的条码技术,简称二维码,它采用矩形、点、六边形等几何图案表示信息,编码时使用若干个与二进制相对应的几何形体来表示文字数值信息,解码时则通过图像输入或光电扫描设备自动识读信息。二维条码具有快速易读和高存储能力的优势,因此应用十分广泛,尤其得益于智能移动终端技术的发展,二维条码技术被广泛的应用于产品跟踪,物品标识,实时追踪,文档管理,市场营销等一系列领域。比如,移动即时通信软件中用户之间可以通过扫描二维条码来相互添加好友、登陆网站等,自动贩卖机亦可以使用二维条码进行商品识别和购买等等。总之,二维条码正作为一种广泛使用的信息传播载体在不断的得到普及。
发明内容
本发明的技术方案是:
一种基于二维条码的信息隐藏方法,采用二维条码作为信息隐藏的载体,即将秘密信息嵌入到二维条码中进行隐藏,包括如下步骤:
步骤1:获取需存储于二维条码中的普通信息a和待隐藏的秘密信息明文m,并将a和m输入到编码器中;
步骤2:对秘密信息进行加密预处理;
步骤2.1:在编码器中生成若干个密钥对,并给每个密钥对进行编号,且将该编号设定为每个密钥对所对应的密钥特征值;
步骤2.2:利用密钥对中的公钥对秘密信息做加密处理;
编码器在所生成的密钥对中随机选取一个密钥对,并利用这个密钥对中的公钥将所述待隐藏秘密信息的明文m进行加密处理生成待隐藏秘密信息的密文;
步骤2.3:编码器将选取的密钥对所对应的密钥特征值添加到所述密文的首部,同时将该密钥对中用来解密的私钥与该密钥对编号捆绑在一起发送到服务器中进行存放;
步骤3:对所述普通信息a和所述带有密钥特征值的密文进行数据分析,确定二者的字符类型,并按相应的字符集转换成符号字符,并根据所述普通信息a的长度和类型及所述带有密钥特征值的密文的长度和类型,选定出作为信息隐藏载体的二维条码的版本和纠错码的等级,并将所述二维条码的版本和纠错码的等级输入编码器中;
步骤4:编码器根据所述二维条码的版本和纠错码的等级,确定作为信息隐藏载体的二维条码的规格;
步骤5:按照QR条码编码规则,将所述普通信息a和所述带有密钥特征值密文的数据字符分别转换为二进制位流的形式,分别形成普通信息的二进制数据码字和待隐藏秘密信息的二进制数据码字;
步骤6:将所述普通信息a的数据码字和所述待隐藏秘密信息的二进制数据码字嵌入到所述二维条码中,完成对该二维条码的编码;
步骤6.1:依照QR条码的编码规则将普通信息a的数据码字嵌入到所述二维条码中,并在普通信息数据码字的最后添加结束位“0000”;
步骤6.2:标定出该二维条码中所存储的普通信息的末位和纠错码的首位,进而相应地获得该二维条码的补齐码区域的起始位和终止位;
步骤6.3:将所述待隐藏秘密信息的二进制数据码字从该二维条码的补齐码区域的起始位开始依次嵌入,直到该密文结束为止,若还有剩余位置用补齐码补齐,并完成最终的二维条码编码;
步骤7:将该二维条码最终的编码依次填入到二维条码的对应区域中,完成该二维条码矩阵的构造。
一种基于二维条码的隐藏信息提取方法,针对的是所述基于二维条码的信息隐藏方法中隐藏信息的提取,包括如下步骤:
步骤S1:用户于客户端输入其个人的登录信息,同时等待服务器验证其身份的有效性;
步骤S2:服务器验证该用户身份是否为合法的注册用户,若服务器验证该用户身份不是合法的用户则验证不通过,客户端显示内容为验证失败的提示信息,即该用户将无法获取到扫描二维条码的权限;若服务器验证该用户身份是合法的用户则验证通过,则即刻跳转到客户端中解码器的二维条码扫描界面,并执行步骤S3;
步骤S3:用户利用解码器对准作为信息隐藏载体的二维条码进行扫描,扫描后将获取到密钥特征值和隐藏信息的密文,同时将密钥特征值发送给服务器;
步骤S4:服务器根据密钥特征值选择出对应的私钥并发送回客户端,客户端中的解码器随即利用获取到的私钥对隐藏信息的密文进行解密得到隐藏信息的明文,并在客户端进行显示。
根据所述的基于二维条码的信息隐藏方法与所述的基于二维条码的隐藏信息提取方法建立的基于二维条码的信息隐藏与隐藏信息提取***,包括:编码器、服务器、解码器和客户端;所述编码器与所述服务器连接;所述解码器存放于客户端中;
所述编码器:(a)接收需存储于二维条码中的普通信息a和待隐藏的秘密信息明文m;(b)生成若干个密钥对,并给每个密钥对进行编号,且将编号设定为对应密钥对的密钥特征值;(c)在所生成的密钥对中随机选取一个密钥对,并利用这个密钥对中的公钥将所述待隐藏秘密信息的明文m进行加密处理生成待隐藏秘密信息的密文;(d)将选取的密钥对所对应的密钥特征值添加到所述密文的首部,同时将该密钥对中用来解密的私钥与该密钥对编号捆绑在一起发送给服务器中;(e)接收将作为信息隐藏载体的二维条码的版本和纠错码的等级,确定作为信息隐藏载体的二维条码的规格;(f)按照QR条码编码规则,将所述普通信息a和所述带有密钥特征值的密文分别转换为其各自的二进制数据码字;(g)将所述普通信息a的数据码字存储到所述二维条码中后,再将所述带有密钥特征值的密文的数据码字嵌入二维条码的补齐码区域,并完成该二维条码的编码;(h)将该二维条码的最终编码依次填入到二维条码的对应区域中,完成该二维条码矩阵的构造,并生成最终的二维条码图像;
所述服务器,(a)从编码器接收用于解密二维条码中所隐藏的秘密信息的私钥及与该私钥捆绑在一起的对应的密钥对的编号;(b)存储注册用户身份信息,并对客户端发送来的用户身份信息进行验证,且将验证结果发送给客户端;(c)从客户端接收密钥特征值,并通过该密钥特征值找出对应的私钥并将该私钥发送至客户端;
所述客户端,(a)用于接收用户输入的其个人的登录信息,并将该登录信息发送给服务器;(b)用于从服务器接收用户身份验证结果,若验证结果为不通过,则显示验证失败的提示信息,若验证通过,则即刻跳转到解码器的二维条码扫描界面;(c)从解码器中接收解码器扫描得到的密钥特征值和隐藏信息的密文,并将密钥特征值发送给服务器;(d)客户端从服务器接收私钥,并将该私钥发送给解码器;(e)在客户端的显示界面上给出解码器解密出的隐藏信息的明文;
所述解码器,(a)为用户所使用对准作为信息隐藏载体的二维条码进行扫描,扫描后获取到密钥特征值和隐藏信息的密文并传至客户端;(b)从客户端接收私钥,并利用该私钥对二维条码中隐藏信息的密文进行解密得到隐藏信息的明文并将其发送给客户端。
本发明的有益效果:本发明具有以下几方面的优点:
1.选择二维条码作为信息隐藏的载体,二维条码中补齐码区域属于冗余区域,正常情况下是被忽视的部分,因此将信息隐藏在此区域中将难以被察觉,且可隐藏的信息容量也可以满足需求。
2.利用编码器使用密钥对中的公钥对待隐藏的秘密信息进行加密,利用解码器使用密钥对中的私钥对加密后的隐藏信息进行解密,由此保证了所隐藏的秘密信息的安全性。
3.采用C/S结构的验证方式,用户通过客户端向服务器发送验证请求,服务器验证后返回结果,只有验证通过的用户才能继续解码操作,由此保证了用户的合法性。
附图说明
图1为一种信息隐藏模型的示意图;
图2为本发明一种实施方式的基于二维条码的信息隐藏方法流程图;
图3为本发明一种实施方式的二维条码信息嵌入示意图;
图4为本发明一种实施方式的基于二维条码的隐藏信息提取方法流程图;
图5为本发明一种实施方式的基于二维条码的信息隐藏与隐藏信息提取***结构框图;
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细说明。
本实施方式的基于二维条码的信息隐藏方法,如图2所示,采用二维条码作为信息隐藏的载体,即将秘密信息嵌入到二维条码中进行隐藏,包括如下步骤:
步骤1:获取需存储于二维条码中的普通信息a和待隐藏的秘密信息明文m,并将a和m输入到编码器中;
步骤2:对秘密信息进行加密预处理;
正常情况下从作为信息隐藏载体的二维条码中提取隐藏信息是要经过服务器认证的,但是,若隐藏信息直接以信息码字的形式储存在二维条码中,一旦二维条码中嵌入隐藏信息的区域被攻击者发现了,攻击者将直接获取到隐藏信息的明文,因此在本实施方案中首先选择一种现有的公钥加密算法对待隐藏的秘密信息进行加密处理。
步骤2.1:选择一种现有的公钥加密算法在编码器中生成若干个密钥对,并给每个密钥对进行编号,所编号码均为十进制的两位数,且将该编号设定为每个密钥对所对应的密钥特征值;其中每个密钥对都包含一个公钥和一个私钥,公钥是用来对信息进行加密的,而私钥是用来对信息进行解密的。
步骤2.2:利用密钥对中的公钥对秘密信息做加密处理;
编码器在所生成的密钥对中随机选取一个密钥对,(n,k)和(n,d),其中(n,k)为公钥,(n,d)为私钥;其中n是两个大质数p,q的积,n代表在用二进制表示时所占用的位数,就是所谓的密钥长度;k和d是一对相关的值,k为可以任意取的常数,但k与(p-1)*(q-1)互质;而关于d的要求是(d*k)mod((p-1)*(q-1))=1。
利用这个选定的密钥对中的公钥(n,k)将所述待隐藏秘密信息的明文m进行加密处理生成待隐藏秘密信息的密文mk,且满足:m=mk^d mod n;mk=m^k mod n。
步骤2.3:编码器将选定的密钥对所对应的密钥特征值设为t并将t添加到所述密文mk的首部,同时将该密钥对中用来解密的私钥与该密钥对编号捆绑在一起发送到服务器中进行存放;
步骤3:依照QR条码的编码流程,首先进行数据分析,确定所述普通信息a及带有密钥特征值的密文的字符类型,并按相应的字符集转换成符号字符,同时根据字符长度及类型选定作为信息隐藏载体的二维条码的版本和纠错码的等级,并将所述二维条码的版本和纠错码的等级输入编码器中;
选择该二维条码的版本v和纠错等级w时,二维条码版本v越高,或者纠错等级w越低,则容量C越高。选择的二维条码版本和纠错等级应满足容量大于等于普通信息和待隐藏的秘密信息所形成的最终数据流所需容量的大小,即C(v,w)>=C(a)+C(m);
步骤4:编码器根据所述二维条码的版本和纠错码的等级,确定作为信息隐藏载体的二维条码的规格;
步骤5:分别根据普通信息a的类型和待隐藏的秘密信息的字符类型选择相应的QR条码编码模式,添加相应的模式指示符和字符计数指示符等。并按照QR条码编码规则,将所述普通信息a和所述带有密钥特征值的密文的数据字符分别转换为二进制位流的形式,即按照每8位二进制数形成一个码字的方法,分别形成普通信息的数据码字和待隐藏秘密信息的数据码字;
将普通信息a和密文mk的数据字符按照二维条码中QR条码的编码规则转换为二进制位流的形式,其中mk中十进制的两位数密钥特征值t均以8位的二进制数来表示。转换完毕后形成普通信息数据位流Sa和密文数据位流Smk,所形成的二进制位流的位数如果不是8的倍数,则在末尾以0补齐。然后分别对Sa和Smk按8位一个码字的处理方式划分,形成最终的普通信息的数据码字和待隐藏秘密信息的数据码字。
步骤6:将所述普通信息a的数据码字和所述带有密钥特征值的密文的数据码字嵌入到所述二维条码中,并完成对该二维条码的编码;
步骤6.1:依照QR条码的编码规则将普通信息a的数据码字嵌入到所述二维条码中,并在普通信息数据码字的最后添加结束位“0000”;
步骤6.2:标定出该二维条码中所存储的普通信息的末位和纠错码的首位,进而相应地获得该二维条码的补齐码区域的起始位和终止位;由于二维条码中的数据码部分所占其整体面积的比例较小,而指定版本和纠错等级的二维条码的信息码字部分容量是固定的,并且一定不小于嵌入信息所需的容量,所以信息码字之后一般都会存在剩余码字。通常二维条码嵌入普通信息之后的剩余容量都是用补齐码填充,因此可以在嵌入二维条码的普通信息的码字之后的补齐码位置上嵌入所要隐藏的秘密信息码字。
步骤6.3:将秘密信息密文的数据码字添加在普通信息的数据码字的结束位后,即将所述带有密钥特征值的秘密信息的密文的数据码字从该二维条码的补齐码区域的起始位开始依次嵌入,直到该密文结束为止,若添加完秘密信息的数据码字后补齐码区域仍有剩余码字,则以补齐码(11101100和/或00010001)补齐,形成二维条码的最终码字序列。
步骤7:布置完功能图形后,将该二维条码的最终编码序列依次填入到二维条码的对应区域中,完成该二维条码矩阵的构造。如图3所示为二维条码信息嵌入示意图,将最终的编码从图中二维条码的右下角位置开始沿着连续的灰色线条依次填入到对应区域,形成最终编码的二进制位流所对应的二维条码图像,其中二进制数1用黑色填充,0用白色填充,如果遇到非数据区,则绕开或跳过,直到完成整个二维条码图像的构造。
本实施方式的基于二维条码的隐藏信息提取方法,如图4所示,针对的是所述基于二维条码的信息隐藏方法中隐藏信息的提取,包括如下步骤:
步骤S1:用户于客户端输入其个人的登录信息,同时等待服务器验证其身份的有效性。
步骤S2:服务器验证该用户身份是否为合法的注册用户,若服务器验证该用户身份不是合法的用户则验证不通过,客户端显示内容为验证失败的提示信息,即该用户将无法获取到扫描二维条码的权限;若服务器验证该用户身份是合法的用户则验证通过,则即刻跳转到客户端中解码器的二维条码扫描界面,并执行步骤S3。
只有使用本实施方案中所设计的解码器+客户端***进行登录,并且身份得到有效验证,才能通过客户端连接的解码器扫描带有隐藏信息的二维条码来获取到秘密信息;而没有采用此***登录的用户只是使用带有扫码功能的任意普通解码器对带有隐藏信息的二维条码进行扫描,其扫描过程中只会执行普通的读取功能,由于二维条码中的补齐码区域属于冗余区域,正常情况下是被普通解码器所忽视的部分,所以普通解码器只能读取到结束位“0000”之前的普通信息a的数据码字,因此只能获取到普通信息。
步骤S3:用户利用解码器对准作为信息隐藏载体的二维条码进行扫描,扫描后将获取到密钥特征值和隐藏信息的密文,同时将密钥特征值发送给服务器;若用户使用的是普通解码器对所生成的带有隐藏信息的二维条码图像进行扫描,则只能读取到二维条码中存储的普通信息,而获取不到隐藏在其中的秘密信息;
客户端中的解码器的工作原理是通过扫描二维条码得到所有信息码字的内容,在信息码字最前面的部分为普通信息的数据码字,直到结束位”0000”为止,普通信息数据码字部分结束;从结束位开始依次记录,由于秘密信息的密文是从结束位后开始嵌入,而密钥特征值又填充在密文的最前面,并且设定了密钥特征值t的位数固定为8位,因此结束位后的8位数据码字为t值;密钥特征值t记录完毕后,将密钥特征值发送给服务器;接下来开始记录所隐藏的秘密信息的密文的数据码字,因为密文嵌入结束后的剩余码字是由固定的补齐码字段(11101100和/或00010001)来填充的,因此记录直到出现补齐码为止,秘密信息的密文数据码字获取结束,从而得到隐藏的秘密信息密文mk。
若有攻击者发现了二维条码中可能带有隐藏信息并试图破解这种编码方式进行秘密信息的获取,那么首先他就需要找到隐藏的秘密信息的数据码字的起始位,这一点就有一定的难度;即使攻击者找到了秘密信息数据码字嵌入的起始位,但由于我们还对秘密信息还采取了加密预处理过程,因此无法破解加密过程获得的也只是加密后的秘密信息密文,还是无法获得秘密信息的明文。所以最终被隐藏的秘密信息明文的安全性是有保障的。
步骤S4:服务器根据密钥特征值选择出对应的私钥并发送回客户端,客户端中的解码器随即利用获取到的私钥对隐藏信息的密文进行解密得到隐藏信息的明文,并在客户端进行显示。服务器将根据其收到的密钥特征值即所选取密钥对的编号与之前存放在服务器的所有秘钥对进行依次比对,筛选出相同编号的私钥(n,d),并将该私钥(n,d)发送回客户端,客户端中的解码器通过已知的密文mk和解密私钥(n,d),并根据公钥加密算法的公式:m=mk^d mod n;mk=m^k mod n,对隐藏的秘密信息的密文mk进行解密处理,最终将获取到最初所要隐藏的秘密信息的明文m,并在客户端进行显示。
根据本实施方式的基于二维条码的信息隐藏方法与基于二维条码的隐藏信息提取方法建立的本实施方式的基于二维条码的信息隐藏与隐藏信息提取***,如图5所示,包括:编码器、服务器、解码器和客户端;所述编码器与所述服务器连接;所述解码器存放于客户端中;
所述编码器:(a)接收需存储于二维条码中的普通信息a和待隐藏的秘密信息明文m;(b)生成若干个密钥对,并给每个密钥对进行编号,且将编号设定为对应密钥对的密钥特征值;(c)在所生成的密钥对中随机选取一个密钥对,并利用这个密钥对中的公钥将所述待隐藏秘密信息的明文m进行加密处理生成待隐藏秘密信息的密文;(d)将选取的密钥对所对应的密钥特征值添加到所述密文的首部,同时将该密钥对中用来解密的私钥与该密钥对编号捆绑在一起发送给服务器中;(e)接收将作为信息隐藏载体的二维条码的版本和纠错码的等级,确定作为信息隐藏载体的二维条码的规格;(f)按照QR条码编码规则,将所述普通信息a和所述带有密钥特征值的密文分别转换为其各自的二进制数据码字;(g)将所述普通信息a的数据码字存储到所述二维条码中后,再将所述带有密钥特征值的密文的数据码字嵌入二维条码的补齐码区域,并完成该二维条码的最终码字序列;(h)将该二维条码的最终编码依次填入到二维条码的对应区域中,完成该二维条码矩阵的构造,并生成最终的二维条码图像;
所述服务器,(a)从编码器接收用于解密二维条码中所隐藏的秘密信息的私钥及与该私钥捆绑在一起的对应的密钥对的编号;(b)存储注册用户身份信息,并对客户端发送来的用户身份信息进行验证,且将验证结果发送给客户端;(c)从客户端接收密钥特征值,并通过该密钥特征值找出对应的私钥并将该私钥发送至客户端;
所述客户端,(a)用于接收用户输入的其个人的登录信息,并将该登录信息发送给服务器;(b)用于从服务器接收用户身份验证结果,若验证结果为不通过,则显示验证失败的提示信息,若验证通过,则即刻跳转到解码器的二维条码扫描界面;(c)从解码器接收解码器扫描得到的密钥特征值和隐藏信息的密文,并将密钥特征值发送给服务器;(d)客户端从服务器接收私钥,并将该私钥发送给解码器;(e)在客户端的显示界面上给出解码器解密出的隐藏信息的明文;
所述解码器,(a)为用户所使用对准作为信息隐藏载体的二维条码进行扫描,扫描后获取到密钥特征值和隐藏信息的密文并传至客户端;(b)从客户端接收私钥,并利用该私钥对二维条码中隐藏信息的密文进行解密得到隐藏信息的明文并将其发送给客户端。
Claims (4)
1.一种基于二维条码的信息隐藏方法,其特征在于:采用二维条码作为信息隐藏的载体,即将秘密信息嵌入到二维条码中进行隐藏,包括如下步骤:
步骤1:获取需存储于二维条码中的普通信息a和待隐藏的秘密信息明文m,并将a和m输入到编码器中;
步骤2:对秘密信息进行加密预处理;
步骤2.1:在编码器中生成若干个密钥对,并给每个密钥对进行编号,且将该编号设定为每个密钥对所对应的密钥特征值;
步骤2.2:利用密钥对中的公钥对秘密信息做加密处理;
编码器在所生成的密钥对中随机选取一个密钥对,并利用这个密钥对中的公钥将所述待隐藏秘密信息的明文m进行加密处理生成待隐藏秘密信息的密文;
步骤2.3:编码器将选取的密钥对所对应的密钥特征值添加到所述密文的首部,同时将该密钥对中用来解密的私钥与该密钥对编号捆绑在一起发送到服务器中进行存放;
步骤3:对所述普通信息a和所述带有密钥特征值的密文进行数据分析,确定二者的字符类型,并按相应的字符集转换成符号字符,并根据所述普通信息a的长度和类型及所述带有密钥特征值的密文的长度和类型,选定出作为信息隐藏载体的二维条码的版本和纠错码的等级,并将所述二维条码的版本和纠错码的等级输入编码器中;
步骤4:编码器根据所述二维条码的版本和纠错码的等级,确定作为信息隐藏载体的二维条码的规格;
步骤5:按照QR条码编码规则,将所述普通信息a和所述带有密钥特征值密文的数据字符分别转换为二进制位流的形式,分别形成普通信息的二进制数据码字和待隐藏秘密信息的二进制数据码字;
步骤6:将所述普通信息a的数据码字和所述待隐藏秘密信息的二进制数据码字嵌入到所述二维条码中,并完成对该二维条码最终的编码;
步骤7:将该二维条码最终的编码依次填入到二维条码的对应区域中,完成该二维条码矩阵的构造。
2.根据权利要求1所述的基于二维条码的信息隐藏方法,其特征在于:所述步骤6包括如下步骤:
步骤6.1:依照QR条码的编码规则将普通信息a的数据码字嵌入到所述二维条码中,并在普通信息数据码字的最后添加结束位“0000”;
步骤6.2:标定出该二维条码中所存储的普通信息的末位和纠错码的首位,进而相应地获得该二维条码的补齐码区域的起始位和终止位;
步骤6.3:将所述待隐藏秘密信息的二进制数据码字从该二维条码的补齐码区域的起始位开始依次嵌入,直到该密文结束为止,若还有剩余位置用补齐码补齐,并完成最终的二维条码编码。
3.一种基于二维条码的隐藏信息提取方法,其特征在于:针对的是如权利要求1或2所述的基于二维条码的信息隐藏方法中隐藏信息的提取,包括如下步骤:
步骤S1:用户于客户端输入其个人的登录信息,同时等待服务器验证其身份的有效性;
步骤S2:服务器验证该用户身份是否为合法的注册用户,若服务器验证该用户身份不是合法的用户则验证不通过,客户端显示内容为验证失败的提示信息,即该用户将无法获取到扫描二维条码的权限;若服务器验证该用户身份是合法的用户则验证通过,则即刻跳转到客户端中解码器的二维条码扫描界面,并执行步骤S3;
步骤S3:用户利用解码器对准作为信息隐藏载体的二维条码进行扫描,扫描后将获取到密钥特征值和隐藏信息的密文,同时将密钥特征值发送给服务器;
步骤S4:服务器根据密钥特征值选择出对应的私钥并发送回客户端,客户端中的解码器随即利用获取到的私钥对隐藏信息的密文进行解密得到隐藏信息的明文,并在客户端进行显示。
4.一种基于二维条码的信息隐藏与隐藏信息提取***,其特征在于:包括:编码器、服务器、解码器和客户端;所述编码器与所述服务器连接;所述解码器存放于客户端中;
所述编码器:(a)接收需存储于二维条码中的普通信息a和待隐藏的秘密信息明文m;(b)生成若干个密钥对,并给每个密钥对进行编号,且将编号设定为对应密钥对的密钥特征值;(c)在所生成的密钥对中随机选取一个密钥对,并利用这个密钥对中的公钥将所述待隐藏秘密信息的明文m进行加密处理生成待隐藏秘密信息的密文;(d)将选取的密钥对所对应的密钥特征值添加到所述密文的首部,同时将该密钥对中用来解密的私钥与该密钥对编号捆绑在一起发送给服务器中;(e)接收将作为信息隐藏载体的二维条码的版本和纠错码的等级,确定作为信息隐藏载体的二维条码的规格;(f)按照QR条码编码规则,将所述普通信息a和所述带有密钥特征值的密文分别转换为其各自的二进制数据码字;(g)将所述普通信息a的数据码字存储到所述二维条码中后,再将所述带有密钥特征值的密文的数据码字嵌入二维条码的补齐码区域,并完成该二维条码的编码;(h)将该二维条码的最终编码依次填入到二维条码的对应区域中,完成该二维条码矩阵的构造,并生成最终的二维条码图像;
所述服务器,(a)从编码器接收用于解密二维条码中所隐藏的秘密信息的私钥及与该私钥捆绑在一起的对应的密钥对的编号;(b)存储注册用户身份信息,并对客户端发送来的用户身份信息进行验证,且将验证结果发送给客户端;(c)从客户端接收密钥特征值,并通过该密钥特征值找出对应的私钥并将该私钥发送至客户端;
所述客户端,(a)用于接收用户输入的其个人的登录信息,并将该登录信息发送给服务器;(b)用于从服务器接收用户身份验证结果,若验证结果为不通过,则显示验证失败的提示信息,若验证通过,则即刻跳转到解码器的二维条码扫描界面;(c)从解码器中接收解码器扫描得到的密钥特征值和隐藏信息的密文,并将密钥特征值发送给服务器;(d)客户端从服务器接收私钥,并将该私钥发送给解码器;(e)在客户端的显示界面上给出解码器解密出的隐藏信息的明文;
所述解码器,(a)为用户所使用对准作为信息隐藏载体的二维条码进行扫描,扫描后获取到密钥特征值和隐藏信息的密文并传至客户端;(b)从客户端接收私钥,并利用该私钥对二维条码中隐藏信息的密文进行解密得到隐藏信息的明文并将其发送给客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610134624.1A CN105825257B (zh) | 2016-03-09 | 2016-03-09 | 基于二维条码的信息隐藏与隐藏信息提取方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610134624.1A CN105825257B (zh) | 2016-03-09 | 2016-03-09 | 基于二维条码的信息隐藏与隐藏信息提取方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105825257A CN105825257A (zh) | 2016-08-03 |
CN105825257B true CN105825257B (zh) | 2018-05-29 |
Family
ID=56987036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610134624.1A Active CN105825257B (zh) | 2016-03-09 | 2016-03-09 | 基于二维条码的信息隐藏与隐藏信息提取方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105825257B (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106485157A (zh) * | 2016-10-13 | 2017-03-08 | 北京奇虎科技有限公司 | 物流信息的处理方法、装置和服务器 |
CN106650869B (zh) * | 2016-10-18 | 2020-02-07 | 重庆文理学院 | 一种基于二维码的信息隐藏方法 |
US10304174B2 (en) | 2016-12-19 | 2019-05-28 | Datamax-O'neil Corporation | Printer-verifiers and systems and methods for verifying printed indicia |
CN106815544B (zh) * | 2017-01-16 | 2019-05-10 | 武汉大学 | 一种基于二维码的信息隐藏方法 |
CN108345925A (zh) * | 2017-01-24 | 2018-07-31 | 北京大码技术有限公司 | 复合型二维码的生成、识读方法及装置 |
CN107016499B (zh) * | 2017-03-23 | 2020-12-15 | 国家电网公司 | 一种基于二维码加密识别的变电站设备巡视方法 |
CN108898205A (zh) * | 2017-05-09 | 2018-11-27 | 罗伯特·博世有限公司 | 二进制图形编码的创建、认证方法及*** |
CN107358284A (zh) * | 2017-07-11 | 2017-11-17 | 北京捷润科技有限公司 | 二维码的生成方法、读取方法、生成装置和读取装置 |
CN109726786B (zh) * | 2017-10-31 | 2023-09-26 | 北京京东尚科信息技术有限公司 | 二维码信息读取、生成方法和装置 |
CN107992923A (zh) * | 2017-12-22 | 2018-05-04 | 北京中星仝创科技有限公司 | 一种qr二维码生成及读取的方法 |
CN110119643B (zh) * | 2018-02-07 | 2020-11-03 | 北京三快在线科技有限公司 | 二维码生成方法及装置、二维码识别方法及装置 |
CN108921261A (zh) * | 2018-04-17 | 2018-11-30 | 新大陆(福建)公共服务有限公司 | 一种安全二维码生成方法以及解析方法 |
CN109325367B (zh) * | 2018-08-24 | 2020-07-14 | 中国人民解放军国防科技大学 | 信息隐藏方法、装置、设备及计算机可读存储介质 |
CN112069850B (zh) * | 2020-09-04 | 2024-06-11 | 上海东普信息科技有限公司 | 基于二维码的服务提供方法、装置、设备及存储介质 |
CN112561015B (zh) * | 2020-12-22 | 2022-04-05 | 珠海格力电器股份有限公司 | 一种条码编码、解码方法、装置、***、设备和介质 |
CN113011543B (zh) * | 2021-03-10 | 2021-10-29 | 南京信息职业技术学院 | 行程码生成方法、读取方法、验证方法及移动终端和学校报到管理*** |
CN113111673B (zh) * | 2021-04-09 | 2024-07-09 | 北京复兴华创技术有限公司 | 生产线二维码快速解码方法及装置 |
CN113204755B (zh) * | 2021-04-20 | 2022-10-14 | 重庆工业职业技术学院 | 一种区块链大数据安全的数据抓取方法 |
CN113435558A (zh) * | 2021-07-19 | 2021-09-24 | 三维码(厦门)网络科技有限公司 | 一种含隐藏信息的三维码编码方法、解码方法及防伪方法 |
CN114580589B (zh) * | 2022-02-23 | 2024-03-08 | 复旦大学 | 一种双通道二维码与用于防复印和信息隐藏的控制方法 |
CN114598529A (zh) * | 2022-03-09 | 2022-06-07 | 东北大学 | 一种融合加密的图像信息隐藏方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040087399A (ko) * | 2003-04-07 | 2004-10-14 | 주식회사 에스엠티 | 다차원 바코드의 워터마크 삽입·검출 시스템 및 그삽입·검출 방법 |
CN102831455A (zh) * | 2012-08-09 | 2012-12-19 | 陕西煤航安全印务有限公司 | 基于二维条码的多重防伪方法 |
CN102916804A (zh) * | 2012-08-28 | 2013-02-06 | 华南农业大学 | 一种基于局部颜色校验的二维码编码、解码方法及装置 |
CN103020682A (zh) * | 2012-11-30 | 2013-04-03 | 中企永联数据交换技术(北京)有限公司 | 图书二维码标识生成装置、二维码标识识别装置及*** |
CN103415007A (zh) * | 2013-07-09 | 2013-11-27 | 南京邮电大学 | 一种基于信息隐藏的手机二维码安全使用方法 |
CN104281866A (zh) * | 2013-07-09 | 2015-01-14 | 航天信息股份有限公司 | 二维码的应用方法和装置 |
-
2016
- 2016-03-09 CN CN201610134624.1A patent/CN105825257B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040087399A (ko) * | 2003-04-07 | 2004-10-14 | 주식회사 에스엠티 | 다차원 바코드의 워터마크 삽입·검출 시스템 및 그삽입·검출 방법 |
CN102831455A (zh) * | 2012-08-09 | 2012-12-19 | 陕西煤航安全印务有限公司 | 基于二维条码的多重防伪方法 |
CN102916804A (zh) * | 2012-08-28 | 2013-02-06 | 华南农业大学 | 一种基于局部颜色校验的二维码编码、解码方法及装置 |
CN103020682A (zh) * | 2012-11-30 | 2013-04-03 | 中企永联数据交换技术(北京)有限公司 | 图书二维码标识生成装置、二维码标识识别装置及*** |
CN103415007A (zh) * | 2013-07-09 | 2013-11-27 | 南京邮电大学 | 一种基于信息隐藏的手机二维码安全使用方法 |
CN104281866A (zh) * | 2013-07-09 | 2015-01-14 | 航天信息股份有限公司 | 二维码的应用方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105825257A (zh) | 2016-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105825257B (zh) | 基于二维条码的信息隐藏与隐藏信息提取方法及*** | |
CN103761702B (zh) | 一种基于秘密共享的图像隐藏和认证方法 | |
US9800408B2 (en) | Method of generating secure tokens and transmission based on (TRNG) generated tokens and split into shares and the system thereof | |
CN104835046B (zh) | 一种用于二维码安全校验的数据鉴伪方法 | |
CN106330464B (zh) | 一种身份认证方法、设备及*** | |
CN101201886B (zh) | 一种数字化识别商品的方法 | |
US20130077817A1 (en) | Steganographic method | |
CN104268610B (zh) | 一种分级qr码生成方法及读取方法 | |
CN109583894A (zh) | 二维码的提供、验证方法和装置 | |
JP6489464B2 (ja) | 光学コード、情報伝達方法、及び認証方法 | |
CN107992923A (zh) | 一种qr二维码生成及读取的方法 | |
JPH11507141A (ja) | 数字コーディングされた情報単位からなるシーケンスの符号化方法 | |
US20060045309A1 (en) | Systems and methods for digital content security | |
CN108667815A (zh) | 基于生物识别的区块链秘钥加解密方法、装置及终端 | |
CN104766113A (zh) | 一种明暗码防伪标贴及其防伪方法 | |
Liu et al. | Rich QR codes with three-layer information using hamming code | |
CN104951827A (zh) | 一种复合二维码及其识别*** | |
CN111667039A (zh) | 一种二维码防伪方法 | |
CN105912894B (zh) | 一种将证件号码用于电子***印文防伪的方法 | |
GB2405978A (en) | A method of preparing a document so that it can be authenticated | |
Yu et al. | A Novel Three‐Layer QR Code Based on Secret Sharing Scheme and Liner Code | |
CN110197245B (zh) | 一种双码制二维码及其跨平台交互方法 | |
KR101242684B1 (ko) | 2차원바코드를 이용한 사용자 인증 시스템 및 방법 | |
CN105718978A (zh) | Qr码的生成方法、装置及解码方法、装置 | |
Tan et al. | Robust visual secret sharing scheme applying to QR code |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |