CN112906844B - 基于(3,1)汉明码的二维码秘密共享、还原方法及装置 - Google Patents

基于(3,1)汉明码的二维码秘密共享、还原方法及装置 Download PDF

Info

Publication number
CN112906844B
CN112906844B CN202110320436.9A CN202110320436A CN112906844B CN 112906844 B CN112906844 B CN 112906844B CN 202110320436 A CN202110320436 A CN 202110320436A CN 112906844 B CN112906844 B CN 112906844B
Authority
CN
China
Prior art keywords
secret
information
code
dimensional code
dimensional
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
Application number
CN202110320436.9A
Other languages
English (en)
Other versions
CN112906844A (zh
Inventor
黄鹏程
张真诚
栗永徽
张善卿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shaoxing Conglomerate Data Technology Co ltd
Original Assignee
Shaoxing Conglomerate Data Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shaoxing Conglomerate Data Technology Co ltd filed Critical Shaoxing Conglomerate Data Technology Co ltd
Priority to CN202110320436.9A priority Critical patent/CN112906844B/zh
Publication of CN112906844A publication Critical patent/CN112906844A/zh
Application granted granted Critical
Publication of CN112906844B publication Critical patent/CN112906844B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record 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/06009Record 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/06037Record 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 multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record 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/06009Record 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/06046Constructional details
    • G06K19/06075Constructional details the marking containing means for error correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Toxicology (AREA)
  • Electromagnetism (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提出了一种基于(3,1)汉明码的二维码秘密共享、还原方法及装置。首先,拆分秘密信息S为n份秘密信息共享份(xi,f(xi));然后,结合载体二维码cQRi的内容信息mi,生成相应的验证信息vi;接着,基于(3,1)汉明码,设计信息在二维码内的嵌入规则;最后,并利用该规则,把秘密共享份(xi,f(xi))和验证信息vi嵌入到载体二维码cQRi中,从而实现秘密信息的分享。该方法将秘密信息共享于n个载体二维码当中,在确保生成的秘密共享份二维码可解码的前提下实现了秘密信息的共享。本发明不仅具有编解码计算复杂度低及存取结构更灵活的优点,而且在鲁棒性方面优于其他现有方法,并且秘密信息具有更好的安全性。

Description

基于(3,1)汉明码的二维码秘密共享、还原方法及装置
技术领域
本发明属于秘密信息共享领域,具体涉及一种基于(3,1)汉明码的二维码秘密共享、还原方法及装置。
背景技术
近年来,随着物联网技术和移动通信技术的飞速发展,电子标签技术已经逐渐在各行各业中广泛应用。二维码相比一维条形码,具有信息容量大、密度高、纠错能力强、存储信息范围广、解码可靠性高、信息传输效率高等优势,已广泛应用于物品身份标识、广告宣传、仓储物流、产品追溯、电子商务、移动支付等诸多方面。然而,因其专利开放的缘故,在公开信道传输秘密信息时,不法分子能够使用标准的解码软硬件轻易窃取二维码中的信息,存在极大的信息泄露隐患。因此,用户的权益受到了极大的威胁。如何防范该问题,已经关系到每位使用者的切身利益。
当使用二维码传递秘密信息时,结合秘密共享技术可有效地保护二维码中秘密信息的安全。秘密共享算法将秘密信息以适当的方式进行分割,然后将分割后的每一个秘密份额以某种方式与二维码相结合,使得生成的秘密份额均为有意义的二维码。如此可在不引起人们的注意的情况下,达到保护秘密信息安全的目的。二维码结合密码共享技术为秘密信息的传递提供了一种可行、有效的解决方案。目前使用二维码结合秘密共享技术进行秘密信息传递的研究已经有一些成果,然而这些方法存在着以下问题:①所生成的秘密共享份二维码是无意义的条码;②秘密共享方法的存取结构为(n,n);③防欺诈功能存在缺陷,在某些情况下,其中该功能会失效。
发明内容
针对现有二维码秘密共享算法存在的这些缺陷,本发明提出一种基于(3,1)汉明码的(k,n)阈值的二维码秘密共享算法,在保证秘密共享份二维码可解码的前提下,分享秘密信息于多个载体二维码之中,保证秘密信息在公共信道中传输的安全性。首先,使用秘密共享技术把秘密信息分割为若干秘密共享份;然后,基于此秘密共享份,结合二维码的内容,生成验证信息;最后,设计一种二维码信息嵌入算法,把秘密信息和验证信息嵌入至载体二维码中,生成秘密共享份二维码,从而实现秘密信息在二维码中的分享。
本发明的技术方案步骤如下:
第一方面,本发明提供了一种基于(3,1)汉明码的二维码秘密共享方法,其步骤如下:
S1:根据秘密信息S,生成n份秘密信息共享份(xi,f(xi)),同时获取n份载体二维码cQRi,i∈[1,n];
S2:针对每一组载体二维码cQRi和秘密共享份(xi,f(xi)),读取载体二维码cQRi的内容信息mi,并结合秘密共享份(xi,f(xi))通过消息认证码生成算法生成验证信息vi
S3:针对每一份载体二维码cQRi,利用基于(3,1)汉明码设计的信息嵌入规则,把秘密共享份(xi,f(xi))和验证信息vi嵌入到载体二维码cQRi中,完成二维码的秘密分享过程。
基于上述技术方案,各步骤可以采用如下优选方式实现。各优选方式若无冲突均可进行相互组合,不构成限制。
作为第一方面的优选,S1的具体实现过程如下:
S11:将秘密信息S拆分成n份连续且无重复的秘密信息块sj,j∈[0,n-1];
S12:选择一个素数p,使其大于所有秘密信息块的值;
S13:基于素数p和n份秘密信息块sj,构造一个多项式方程f(x):
f(x)=(s0+s1x1+s2x2+…+sn-1xn-1)modp
S14:生成n个随机数x1,x2,…,xn,作为自变量x代入多项式方程f(x),得到n个秘密信息共享份(xi,f(xi))。
作为第一方面的优选,S2的具体过程如下:
S21:针对每一份载体二维码cQRi,使用二维码扫描器,扫描载体二维码cQRi,读取其中的内容信息mi
S22:根据二维码的内容信息mi,以及秘密信息共享份(xi,f(xi)),生成消息认证码vi
Figure BDA0002992593180000031
式中:
Figure BDA0002992593180000032
表示或运算,MAC表示消息认证码生成算法。
作为第一方面的优选,所述消息认证码生成算法为UMAC或者HMAC。
作为第一方面的优选,S3的具体过程如下:
S31:针对一份载体二维码cQRi,根据载体二维码cQRi的版本号以及容错等级,计算其容错能力ftc:
Figure BDA0002992593180000033
其中,ecc代表载体二维码cQRi中容错码字的数量,
Figure BDA0002992593180000034
表示向下取整;
S32:将秘密共享份(xi,f(xi))和认证信息vi进行连接,得到需嵌入至载体二维码的信息ci
ci=(xi,f(xi))||vi
S33:将载体二维码的内容信息mi和需嵌入的信息ci分别转换为二进制流;
S34:顺序从二进制内容信息mi中选择尚未被使用过的前三位数据位b1,b2,b3,同时顺序从二进制信息ci中选择尚未被使用过的两位秘密信息位d1,d2,然后根据以下公式得到一个向量
Figure BDA0002992593180000035
Figure BDA0002992593180000036
其中
Figure BDA0002992593180000037
异或运算,H为(3,1)汉明码的纠错矩阵,且
Figure BDA0002992593180000038
S35:根据向量
Figure BDA0002992593180000039
结合数据位翻转规则调整数据位b1,b2,b3;所述数据位翻转规则为:
若需嵌入的两位秘密信息为00且
Figure BDA00029925931800000310
则不需要翻转数据位;
若需嵌入的两位秘密信息为01且
Figure BDA00029925931800000311
则需要翻转第1位数据位;
若需嵌入的两位秘密信息为10且
Figure BDA00029925931800000312
则不需要翻转第2位数据位;
若需嵌入的两位秘密信息为11且
Figure BDA00029925931800000313
则不需要翻转第3位数据位;
S36:不断重复S34和S35,直至二进制信息ci中所有的秘密信息位均嵌入至载体二维码cQRi中;
S37:针对其余的载体二维码cQRi,不断重复S31至S36,直至所有秘密共享份(xi,f(xi))和验证信息vi在对应载体二维码中完成嵌入;
S38:针对n个已完成嵌入的载体二维码,利用标准的二维码封装流程生成n个共享了秘密二维码图像信息的秘密共享份二维码,完成秘密信息的共享。
作为第一方面的优选,S35中,在翻转数据位时,若数据位为0则翻转为
Figure BDA0002992593180000041
若数据位为1则翻转为0。
第二方面,本发明提供了一种基于(3,1)汉明码的二维码共享秘密还原方法,用于在根据第一方面中方案所述的秘密共享方法得到秘密共享份二维码后,从n个秘密共享份二维码中恢复嵌入的秘密二维码信息,恢复过程为:
S41:针对一个秘密共享份二维码cQRi,提取秘密共享份二维码cQRi的内容码字mi
S42:从内容码字mi中依序选择前三个尚未被使用过的数据位b1′b2′b3′,使用以下公式提取出嵌入信息ci中的两位秘密信息d1′d2′:
[d1′d2′]T=H·[b1′b2′b3′]T
S43:不断重复S42,直至完整的嵌入信息ci被成功提取;
S44:从嵌入信息ci中分离出验证信息vi′和秘密共信息共享份(xi′,f(xi′)),然后计算出新的验证信息
Figure BDA0002992593180000042
Figure BDA0002992593180000043
S45:比对vi′和
Figure BDA0002992593180000044
是否一致,以验证秘密共享份二维码的有效性和完整性;若一致,则继续执行S46;若不一致,则说明该秘密共享份二维码是伪造的,验证流程即可中止;
S46:针对其余秘密共享份二维码cQRi不断重复S41至S45,直至所有的秘密共信息共享份(xi′,f(xi′))提取完毕;
S47:基于提取的所有秘密共信息共享份(xi′,f(xi′)),求解所述多项式方程f(x),得到该方程的系数s0,s1,…,sn-1,系数s0,s1,…,sn-1均为整数值;
S48:将所有系数s0,s1,…,sn-1顺次拼接,重组出秘密信息S。
作为第二方面的优选,S47中通过插值法求解所述多项式方程的系数。
第三方面,本发明提供了一种基于(3,1)汉明码的二维码秘密共享装置,其包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于当执行所述计算机程序时,实现如第一方面中任一项所述的基于(3,1)汉明码的二维码秘密共享方法。
第四方面,本发明提供了一种基于(3,1)汉明码的二维码共享秘密还原装置,其包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于当执行所述计算机程序时,实现如第三方面任一方案所述的基于(3,1)汉明码的二维码共享秘密还原方法。
相对于现有技术而言,本发明的有益效果如下:
本发明将(3,1)汉明码和二维码相结合,实现了秘密信息在载体二维码中的秘密共享。相比于现有的二维码秘密共享方法,本发明是一种(k,n)阈值的二维码秘密共享方法,它不仅具有编解码计算复杂度低及存取结构更灵活的优点,而且在鲁棒性方面优于其他现有方法,并且秘密信息具有更好的安全性。
附图说明
图1为基于(3,1)汉明码的二维码秘密共享方法步骤示意图。
图2为3份载体二维码图像。
图3为秘密在二维码中的嵌入过程流程图。
图4为对应的秘密共享份二维码图像以及其与载体二维码的差异示意图。
图5为秘密恢复过程流程图。
具体实施方式
下面结合附图,对本发明的具体实施方案作进一步详细描述。基于(3,1)汉明码的二维码秘密共享方法,其具体步骤描述如图1中S1~S3所示。其中,基于(3,1)汉明码的二维码信息嵌入方法的具体步骤描述如图3所示。
在该基于(3,1)汉明码的二维码秘密共享方法中,具体实现步骤如下:
S1:根据秘密信息S,生成n份秘密信息共享份(xi,f(xi)),同时获取n份载体二维码cQRi,i∈[1,n],其中n为大于1的整数。
本发明中S1的具体实现过程如下:
S11:将秘密信息S拆分成n份连续且无重复的秘密信息块sj,j∈[0,n-1],通过公式可表示为:
S=s0||s1||…||sn-1
其中||表示连接符号。
S12:选择一个素数p,使其大于所有秘密信息块的值,用公式表示为满足以下条件:
Figure BDA0002992593180000061
S13:基于素数p和n份秘密信息块sj,构造一个多项式方程f(x):
f(x)=(s0+s1x1+s2x2+...+sn-1xn-1)modp
S14:生成n个随机数x1,x2,…,xn,作为自变量x代入多项式方程f(x),即可得到n个得到f(xi),两者组合后即可形成n个秘密信息共享份(xi,f(xi))。
S2:针对每一组载体二维码cQRi和秘密共享份(xi,f(xi)),读取载体二维码cQRi的内容信息mi,并结合秘密共享份(xi,f(xi))通过消息认证码生成算法生成验证信息vi
本发明中S2的具体过程如下:
S21:针对每一份载体二维码cQRi,使用二维码扫描器,扫描载体二维码cQRi,读取其中的内容信息mi
S22:根据二维码的内容信息mi,以及秘密信息共享份(xi,f(xi)),生成消息认证码vi
Figure BDA0002992593180000062
式中:
Figure BDA0002992593180000063
表示或运算,MAC表示消息认证码生成算法。可选的消息认证码生成算法可以为UMAC或者HMAC等。
S3:针对每一份载体二维码cQRi,利用基于(3,1)汉明码设计的信息嵌入规则,把秘密共享份(xi,f(xi))和验证信息vi嵌入到载体二维码cQRi中,完成二维码的秘密分享过程。
本发明中S3的具体过程如下:
S31:针对一份载体二维码cQRi,根据载体二维码cQRi的版本号以及容错等级,计算其容错能力ftc:
Figure BDA0002992593180000071
其中,ecc代表载体二维码cQRi中容错码字的数量,
Figure BDA0002992593180000072
表示向下取整。
S32:将秘密共享份(xi,f(xi))和认证信息vi进行连接,得到需嵌入至载体二维码的信息ci
ci=(xi,f(xi))||vi
S33:将载体二维码的内容信息mi和需嵌入的信息ci分别转换为二进制流。
S34:顺序从二进制内容信息mi中选择尚未被使用过的前三位数据位b1,b2,b3,同时顺序从二进制信息ci中选择尚未被使用过的两位秘密信息位d1,d2,然后根据以下公式得到一个向量
Figure BDA0002992593180000073
Figure BDA0002992593180000074
其中
Figure BDA0002992593180000075
为异或运算,H为(3,1)汉明码的纠错矩阵,且
Figure BDA0002992593180000076
需注意的是,对于二进制内容信息mi和二进制信息ci,尚未被使用过的数据位是指尚未在S34步骤中进行运算并参与后续S35步骤调整的数据位。
S35:根据向量
Figure BDA0002992593180000077
结合数据位翻转规则调整数据位b1,b2,b3,数据位翻转规则如表1所示:
表1.数据位翻转规则
Figure BDA0002992593180000078
在该规则中,具有式中情况:
若需嵌入的两位秘密信息为00且
Figure BDA0002992593180000079
则不需要翻转数据位;
若需嵌入的两位秘密信息为01且
Figure BDA00029925931800000710
则需要翻转第1位数据位;
若需嵌入的两位秘密信息为10且
Figure BDA0002992593180000081
则不需要翻转第2位数据位;
若需嵌入的两位秘密信息为11且
Figure BDA0002992593180000082
则不需要翻转第3位数据位。
在翻转数据位时,若数据位为0则翻转为1,若数据位为1则翻转为0。
S36:不断重复S34和S35,直至二进制信息ci中所有的秘密信息位均嵌入至载体二维码cQRi中。
S37:针对其余的载体二维码cQRi,不断重复S31至S36,直至所有秘密共享份(xi,f(xi))和验证信息vi在对应载体二维码中完成嵌入。
S38:针对n个已完成嵌入的载体二维码,利用标准的二维码封装流程生成n个共享了秘密二维码图像信息的秘密共享份二维码,完成秘密信息的共享。
秘密信息经过上述秘密共享方法得到了n个秘密共享份二维码后,可以从其中重新还原出共享秘密信息。因此本发明提供一种基于(3,1)汉明码的二维码共享秘密还原方法,其用于在根据前述秘密共享方法得到秘密共享份二维码后,从n个秘密共享份二维码中恢复嵌入的秘密二维码信息,恢复过程为:
S41:针对一个秘密共享份二维码cQRi,提取秘密共享份二维码cQRi的内容码字mi
S42:从内容码字mi中依序选择前三个尚未被使用过的数据位b1′b2′b3′,使用以下公式提取出嵌入信息ci中的两位秘密信息d1′d2′:
[d1′d2′]T=H·[b1′b2′b3′]T
S43:不断重复S42,直至完整的嵌入信息ci被成功提取,
S44:从嵌入信息ci中分离出验证信息vi′和秘密共信息共享份(xi′,f(xi′)),然后计算出新的验证信息
Figure BDA0002992593180000083
Figure BDA0002992593180000084
S45:比对vi′和
Figure BDA0002992593180000085
是否一致,以验证秘密共享份二维码的有效性和完整性;若一致,则继续执行S46;若不一致,则说明该秘密共享份二维码是伪造的,验证流程即可中止,
S46:针对其余秘密共享份二维码cQRi不断重复S41至S45,直至所有的秘密共信息共享份(xi′,f(xi′))提取完毕,
S47:基于提取的所有秘密共信息共享份(xi′,f(xi′)),以xi′为自变量x的数据,以f(xi′)为因变量f(x)的数据,求解前述的多项式方程f(x),得到该方程的系数s0,s1,…,sn-1,系数s0,s1,…,sn-1均为整数值。方程系数的求解可采用不同做法,本发明中通过插值法求解多项式方程的系数。
S48:将所有系数s0,s1,…,sn-1顺次拼接,重组出秘密信息S,用公式表示为:
S=s0||s1||…||sn-1
下面将上述方法应用于一个具体实施例中,以展示其具体实现过程,具体过程不再完全赘述,主要展示其具体实现细节以及技术效果。
实施例
步骤1:根据秘密信息S,使用生成n份秘密信息共享份(xi,f(xi))。
本实施例中,设置k=3,n=3,3个载体二维码参见图2。其中,3个载体二维码的版本均为5-M,它们包含有意义的内容信息,分别为:“www.bing.com”,"www.google.com"和“www.yahoo.com”;秘密信息为:1234567890。
具体过程如下:
步骤1.1:把秘密信息S拆分成3份无重复的秘密信息块;s0=12345,s1=678及s2=90。
步骤1.2:根据限制条件,设置素数p为18251。
步骤1.3:基于素数p和n份秘密信息块si,构造出一个多项式方程f(x);
f(x)=12345+678*x+90*x2(mod18251)
步骤1.4:生成3个随机数x1,x2,…,xn,代入多项式方程f(x)。可得到3个秘密信息共享份:(1,13113),(6,1402)及(3,15189)。
步骤2:根据载体二维码cQRi的内容信息mi,结合秘密共享份(xi,f(xi)),生成验证信息vi。具体过程如下:
步骤2.1:使用手机上的二维码扫描器APP,扫描3个载体二维码cQRi,读取其中的内容信息mi
步骤2.2:根据二维码的内容信息mi,以及上一步骤生成的秘密信息共享份(xi,f(xi)),使用消息认证码算法生成消息认证码vi。本实施例中使用UMAC生成验证信息。
步骤3:基于(3,1)汉明码,设计信息嵌入规则。利用该规则,把秘密共享份(xi,f(xi))和验证信息vi嵌入到载体二维码cQRi中,完成二维码的秘密分享过程。
步骤3.1:根据二维码国际标准,5-M版本的二维码由2个Reed-Solomon纠错码构成,其中每个纠错码包含43个内容码字和24个容错码字。故可计算出此版本二维码的容错能力ftc=12。
步骤3.2:把3份秘密共享份(xi,f(xi))和步骤2中所生成的认证信息vi连接在一起,视为预嵌入的信息ci
步骤3.3:把载体二维码的信息mi和需嵌入的信息ci转换为二进制流;
步骤3.4:顺序从mi中选择尚未使用过的前三位数据位b1,b2,b3,同时顺序从ci中选择尚未使用过的前两位秘密信息位d1,d2,然后根据以下公式,得到一个向量
Figure BDA0002992593180000101
Figure BDA0002992593180000102
其中
Figure BDA0002992593180000103
为异或运算,H为(3,1)汉明码的纠错矩阵,且
Figure BDA0002992593180000104
步骤3.5:根据向量
Figure BDA0002992593180000105
结合数据位翻转规则(见表1),调整数据位b1,b2,b3
步骤3.6:不断重复步骤3.4至步骤3.5,直至所有的秘密信息位嵌入至载体二维码cQRi中;
步骤3.7:不断重复步骤3.1至步骤3.6,直至所有的ci在载体二维码中完成嵌入;
步骤3.8:利用标准的二维码封装流程生成3个共享了秘密信息的秘密共享份二维码。至此,秘密信息借助于汉明码共享至n=3个秘密共享份二维码的流程结束。
本实施例将(3,1)汉明码和二维码相结合,实现了秘密图像在3个载体二维码中的秘密共享,在鲁棒性方面优于其他现有方法。参见图4所示,其为采用该方法对载体二维码进行秘密共享后得到的秘密共享份二维码,本实施例分享的秘密二维码图像具有更高的鲁棒性及更好的安全性。
秘密信息经过上述秘密共享方法得到了3个秘密共享份二维码后,可以从其中重新还原出共享秘密信息。其提取过程参见图5所示,下面具体描述其实现方式:
步骤4.1:提取一个秘密共享份二维码cQRi的内容码字mi
步骤4.2:依序选择尚未使用过的前三个数据位b1′b2′b3′,使用以下式子,提取出两位秘密信息d1′d2′;
[d1′d2′]T=H·[b1′b2′b3′]T
步骤4.3:不断重复步骤4.2,直至完整的嵌入信息ci被成功提取;
步骤4.4:从ci中分离出验证信息vi′和秘密信息共享份(xi′,f(xi′))。然后按照步骤2.2的做法,计算出新的验证信息
Figure BDA0002992593180000111
Figure BDA0002992593180000112
步骤4.5:比对vi′和
Figure BDA0002992593180000113
以验证秘密共享份二维码的有效性和完整性。若一致则进行下一步的下一个秘密共信息共享份(xi′,f(xi′))提取,若不一致,则说明该秘密共享份二维码是伪造的,验证流程即可中止;
步骤4.6:不断重复步骤4.1至步骤4.5,直至所有的秘密共信息共享份(xi′,f(xi′))提取完毕;
步骤4.7:针对提取处的所有(xi′,f(xi′)),使用插值法,解出f(x)方程,得到了该方程的系数s0,s1,s2
步骤4.8:按序连接s0,s1,s2,重组出秘密信息S。至此,秘密信息即可成功地还原出来。
该方法将秘密信息共享于若干个载体二维码当中,在确保生成的秘密共享份二维码可解码的前提下实现了秘密信息的共享。本发明是一种(k,n)阈值的二维码秘密共享方法,它不仅具有编解码计算复杂度低及存取结构更灵活的优点,而且在鲁棒性方面优于其他现有方法,并且秘密信息具有更好的安全性。
另外,在其他实施例中,还可以提供一种基于(3,1)汉明码的二维码秘密共享装置,其包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于当执行所述计算机程序时,实现前述基于(3,1)汉明码的二维码秘密共享方法。
另外,在其他实施例中,还可以提供一种基于(3,1)汉明码的二维码共享秘密还原装置,其包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于当执行所述计算机程序时,实现前述的基于(3,1)汉明码的二维码共享秘密还原方法。
需要注意的是,存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。上述的处理器可以是通用处理器,包括中央处理器(CentralProcessing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。当然,还装置中还应当具有实现程序运行的必要组件,例如电源、通信总线等等。
以上所述的实施例只是本发明的一种较佳的方案,然其并非用以限制本发明。有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型。因此凡采取等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。

Claims (9)

1.一种基于(3,1)汉明码的二维码秘密共享方法,其特征在于:步骤如下:
S1:根据秘密信息S,生成n份秘密信息共享份(xi,f(xi)),同时获取n份载体二维码cQRi,i∈[1,n];
S2:针对每一组载体二维码cQRi和秘密共享份(xi,f(xi)),读取载体二维码cQRi的内容信息mi,并结合秘密共享份(xi,f(xi))通过消息认证码生成算法生成验证信息vi
S3:针对每一份载体二维码cQRi,利用基于(3,1)汉明码设计的信息嵌入规则,把秘密共享份(xi,f(xi))和验证信息vi嵌入到载体二维码cQRi中,完成二维码的秘密分享过程;
S1的具体实现过程如下:
S11:将秘密信息S拆分成n份连续且无重复的秘密信息块sj,j∈[0,n-1];
S12:选择一个素数p,使其大于所有秘密信息块的值;
S13:基于素数p和n份秘密信息块sj,构造一个多项式方程f(x):
f(x)=(s0+s1x1+s2x2+...+sn-1xn-1)modp
S14:生成n个随机数x1,x2,…,xn,作为自变量x代入多项式方程f(x),得到n个秘密信息共享份(xi,f(xi))。
2.根据权利要求1所述的基于(3,1)汉明码的二维码秘密共享方法,其特征在于S2的具体过程如下:
S21:针对每一份载体二维码cQRi,使用二维码扫描器,扫描载体二维码cQRi,读取其中的内容信息mi
S22:根据二维码的内容信息mi,以及秘密信息共享份(xi,f(xi)),生成消息认证码vi
Figure FDA0003547141510000011
式中:
Figure FDA0003547141510000012
表示或运算,MAC表示消息认证码生成算法。
3.根据权利要求2所述的基于(3,1)汉明码的二维码秘密共享方法,其特征在于所述消息认证码生成算法为UMAC或者HMAC。
4.根据权利要求2所述的基于(3,1)汉明码的二维码秘密共享方法,其特征在于S3的具体过程如下:
S31:针对一份载体二维码cQRi,根据载体二维码cQRi的版本号以及容错等级,计算其容错能力ftc:
Figure FDA0003547141510000021
其中,ecc代表载体二维码cQRi中容错码字的数量,
Figure FDA0003547141510000022
表示向下取整;
S32:将秘密共享份(xi,f(xi))和认证信息vi进行连接,得到需嵌入至载体二维码的信息ci
ci=(xi,f(xi))||vi
S33:将载体二维码的内容信息mi和需嵌入的信息ci分别转换为二进制流;
S34:顺序从二进制内容信息mi中选择尚未被使用过的前三位数据位b1,b2,b3,同时顺序从二进制信息ci中选择尚未被使用过的两位秘密信息位d1,d2,然后根据以下公式得到一个向量
Figure FDA0003547141510000023
Figure FDA0003547141510000024
其中
Figure FDA0003547141510000025
为异或运算,H为(3,1)汉明码的纠错矩阵,且
Figure FDA0003547141510000026
S35:根据向量
Figure FDA0003547141510000027
结合数据位翻转规则调整数据位b1,b2,b3;所述数据位翻转规则为:
若需嵌入的两位秘密信息为00且
Figure FDA0003547141510000028
则不需要翻转数据位;
若需嵌入的两位秘密信息为01且
Figure FDA0003547141510000029
则需要翻转第1位数据位;
若需嵌入的两位秘密信息为10且
Figure FDA00035471415100000210
则不需要翻转第2位数据位;
若需嵌入的两位秘密信息为11且
Figure FDA00035471415100000211
则不需要翻转第3位数据位;
S36:不断重复S34和S35,直至二进制信息ci中所有的秘密信息位均嵌入至载体二维码cQRi中;
S37:针对其余的载体二维码cQRi,不断重复S31至S36,直至所有秘密共享份(xi,f(xi))和验证信息vi在对应载体二维码中完成嵌入;
S38:针对n个已完成嵌入的载体二维码,利用标准的二维码封装流程生成n个共享了秘密二维码图像信息的秘密共享份二维码,完成秘密信息的共享。
5.根据权利要求4所述的基于(3,1)汉明码的二维码秘密共享方法,其特征在于S35中,在翻转数据位时,若数据位为0则翻转为1,若数据位为1则翻转为0。
6.一种基于(3,1)汉明码的二维码共享秘密还原方法,其特征在于,用于在根据权利要求4所述的秘密共享方法得到秘密共享份二维码后,从n个秘密共享份二维码中恢复嵌入的秘密二维码信息,恢复过程为:
S41:针对一个秘密共享份二维码cQRi,提取秘密共享份二维码cQRi的内容码字mi
S42:从内容码字mi中依序选择前三个尚未被使用过的数据位b′1b′2b′3,使用以下公式提取出嵌入信息ci中的两位秘密信息d′1d′2
[d′1d′2]T=H·[b′1b′2b′3]T
S43:不断重复S42,直至完整的嵌入信息ci被成功提取;
S44:从嵌入信息ci中分离出验证信息v′i和秘密共信息共享份(x′i,f(x′i)),然后计算出新的验证信息
Figure FDA0003547141510000031
Figure FDA0003547141510000032
S45:比对v′i
Figure FDA0003547141510000033
是否一致,以验证秘密共享份二维码的有效性和完整性;若一致,则继续执行S46;若不一致,则说明该秘密共享份二维码是伪造的,验证流程即可中止;
S46:针对其余秘密共享份二维码cQRi不断重复S41至S45,直至所有的秘密共信息共享份(x′i,f(x′i))提取完毕;
S47:基于提取的所有秘密共信息共享份(x′i,f(x′i)),求解所述多项式方程f(x),得到该方程的系数s0,s1,…,sn-1,系数s0,s1,…,sn-1均为整数值;
S48:将所有系数s0,s1,…,sn-1顺次拼接,重组出秘密信息S。
7.如权利要求6所述的二维码共享秘密还原方法,其特征在于,所述S47中通过插值法求解所述多项式方程的系数。
8.一种基于(3,1)汉明码的二维码秘密共享装置,其特征在于,包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于当执行所述计算机程序时,实现如权利要求1~5任一项所述的基于(3,1)汉明码的二维码秘密共享方法。
9.一种基于(3,1)汉明码的二维码共享秘密还原装置,其特征在于,包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于当执行所述计算机程序时,实现如权利要求6或7所述的基于(3,1)汉明码的二维码共享秘密还原方法。
CN202110320436.9A 2021-03-25 2021-03-25 基于(3,1)汉明码的二维码秘密共享、还原方法及装置 Active CN112906844B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110320436.9A CN112906844B (zh) 2021-03-25 2021-03-25 基于(3,1)汉明码的二维码秘密共享、还原方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110320436.9A CN112906844B (zh) 2021-03-25 2021-03-25 基于(3,1)汉明码的二维码秘密共享、还原方法及装置

Publications (2)

Publication Number Publication Date
CN112906844A CN112906844A (zh) 2021-06-04
CN112906844B true CN112906844B (zh) 2022-05-13

Family

ID=76106458

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110320436.9A Active CN112906844B (zh) 2021-03-25 2021-03-25 基于(3,1)汉明码的二维码秘密共享、还原方法及装置

Country Status (1)

Country Link
CN (1) CN112906844B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110097159A (zh) * 2019-04-29 2019-08-06 绍兴聚量数据技术有限公司 一种基于汉明码的qr码安全认证方法及系统
CN111737713A (zh) * 2020-06-17 2020-10-02 绍兴聚量数据技术有限公司 基于可视密码的二维码秘密共享方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9594993B2 (en) * 2013-11-07 2017-03-14 Scantrush Sa Two dimensional barcode and method of authentication of such barcode

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110097159A (zh) * 2019-04-29 2019-08-06 绍兴聚量数据技术有限公司 一种基于汉明码的qr码安全认证方法及系统
CN111737713A (zh) * 2020-06-17 2020-10-02 绍兴聚量数据技术有限公司 基于可视密码的二维码秘密共享方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于QR二维码的秘密共享方案的研究;李中等;《电子设计工程》;20180705;第26卷(第13期);全文 *

Also Published As

Publication number Publication date
CN112906844A (zh) 2021-06-04

Similar Documents

Publication Publication Date Title
US11182247B2 (en) Encoding and storage node repairing method for minimum storage regenerating codes for distributed storage systems
US9396357B2 (en) Physically unclonable function (PUF) with improved error correction
JP5271669B2 (ja) 生体認証方法およびシステム
Bravo-Solorio et al. Fast fragile watermark embedding and iterative mechanism with high self-restoration performance
US10656996B2 (en) Integrated security and data redundancy
Huang et al. Efficient QR code secret embedding mechanism based on hamming code
CN103348625B (zh) 认证者、被认证者和认证方法
Huang et al. Enhanced (n, n)-threshold QR code secret sharing scheme based on error correction mechanism
CN103348626A (zh) 认证者、被认证者和认证方法
Tan et al. XOR-ed visual secret sharing scheme with robust and meaningful shadows based on QR codes
Huang et al. Efficient (k, n)-threshold secret sharing method with cheater prevention for QR code application
Wan et al. Visual secret sharing scheme with (n, n) threshold for selective secret content based on QR codes
CN111737713B (zh) 基于可视密码的二维码秘密共享方法
CN112906844B (zh) 基于(3,1)汉明码的二维码秘密共享、还原方法及装置
US11128475B2 (en) Electronic device capable of data communication through electronic signatures based on syndrome and operating method thereof
Yu et al. A Novel Three‐Layer QR Code Based on Secret Sharing Scheme and Liner Code
Hu et al. Threshold meaningful secret image sharing scheme based on QR code
KR101894566B1 (ko) 인증 및 오류 정정이 통합된 부호화가 가능한 데이터 전송 장치 및 방법
Huang Coding for security and reliability in distributed systems
KR20190058884A (ko) 생체 정보 기반의 전자 서명이 가능한 데이터 전송 장치 및 그 동작 방법
JP5826202B2 (ja) 符号化装置、復号装置、符号化方法、復号方法及びプログラム
CN103380590A (zh) 认证者、被认证者和认证方法
CN112613879A (zh) 一种基于grs码的金融交易数据处理方法
WO2022107226A1 (ja) 情報秘匿装置、情報再構成装置、情報秘匿システム、情報秘匿方法、情報再構成方法、情報秘匿プログラム、及び情報再構成プログラム
Huang et al. Efficient secret sharing scheme with cheater identification based on QR code

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