一种带图像的圆形二维码生成及读取的方法技术

技术编号:17971311 阅读:26 留言:0更新日期:2018-05-16 11:54
本发明专利技术公开了一种带图像的圆形二维码生成及读取的方法,包括:公司端生成密钥对,将标志图像放入带有读取起始标志的圆形图像分界线内,与公钥一起上传第三方验证平台用特征提取算法生成标志图像的特征码,并与公钥对应存储;公司端用私钥对消息签名,将签名信息写入图像分界线与二维码边界线空间,生成带图像的圆形二维码;用户扫描时,用同心圆定位其圆心,以圆心为中心,最小半径同心圆为图像分界线,利用特征提取算法提取图像分界线内图像特征点,生成图像特征码,上传第三方验证平台获取公钥,验证签名为正确签名。本发明专利技术将圆形二维码、标志图像和密钥对相结合,实现对标志图像的防伪识别,避免恶意二维码替换,保证了二维码来源的可靠性。

【技术实现步骤摘要】
一种带图像的圆形二维码生成及读取的方法
本专利技术涉及二维码技术,具体涉及一种带图像的圆形二维码生成及读取的方法。
技术介绍
二维码在现代商业活动中,应用十分广泛,如商品交易、电子凭证、信息传递、名片交流等,而智能手机扫一扫功能更是使得二维码被普遍使用,全国各地到处可见的共享单车正是使用二维码扫描的方式来获取车锁密码。但近期出现了用假的二维码遮盖本来的二维码,用户扫描二维码交了押金后,无法得到解锁密码,类似的使用恶意二维码攻击的行为层出不穷。目前,市场上使用的二维码样式单一,更重要的是,用户肉眼根本无法辨别其所扫描的二维码是否被恶意替换,无法保证二维码来源的可靠性,从而导致用户频频上当,给用户造成一定损失。
技术实现思路
本专利技术所要解决的技术问题是目前市场上使用的二维码,在扫码时无法保证其来源的可靠性,从而导致用户频频上当、造成一定损失的问题。为了解决上述技术问题,本专利技术所采用的技术方案提供了一种带图像的圆形二维码生成及读取的方法,包括以下步骤:步骤S10、公司端生成公钥和私钥的密钥对,并将标志图像放入带有读取起始标志的圆形图像分界线内,与公钥一起上传到第三方验证平台;步骤S20、第三方验证平台使用特征提取算法提取标志图像特征点,并生成特征码,与其公钥对应存储;步骤S30、公司端利用私钥对消息进行签名,将所得签名信息以信息起始点开始写入标志图像的图像分界线与二维码边界线之间的环形信息编码空间,生成带图像的圆形二维码;步骤S40、用户扫描圆形二维码,通过同心圆定位其圆心,以该圆心为中心,最小半径同心圆为图像分界线,最大半径同心圆为二维码边界线,根据图像分界线和读取起始点利用特征提取算法提取图像特征点,生成图像特征码,上传到第三方验证平台获取对应公钥,并使用该公钥验证圆形二维码的签名。在本方法中,步骤S20包括以下步骤:步骤S21、利用标志图像中最大半径圆,找到圆心位置,以最大半径圆为路径,读取周信息,当0,1出现的顺序为010010时,以该序列的中心点为读取起始点;步骤S22、通过读取起始点及圆心的直径为第一轴线,第一轴线顺时针旋转45°得到第二轴线,第二轴线顺时针旋转45°得到第三轴线,第三轴线顺时针旋转45°得到第四轴线;步骤S23、将每根轴线七等分,取每条线段的中心点为图像特征点,四根轴线取得28个图像特征点;步骤S24、使用圆形LBP作为描述图像局部纹理特征的算子,取以图像特征点中心为圆心、每条线段长为直径的圆周上8个离散的像素点,将每个像素点与图像特征点中心的像素值比较,大于中心像素值的像素点的位置标记为1,否则为0,产生八位二进制数;步骤S25、对每个图像特征点的八位二进制数,经过旋转不变的处理,得到的具有旋转不变性的LBP值;步骤S26、对28个图像特征点的LBP值排序,得到该标志图像的特征码与该公司的公钥对应,一起保存在特征码和公钥列表内;其中,28个图像特征点的LBP值排列顺序为:每根轴线上的图像特征点按照从靠近读取起始点或旋转后与读取起始点对应的一端开始到轴线的另一端排序;不同轴线上的图像特征点按照从第一轴线到第四轴线排序。在本方法中,步骤S30包括以下步骤:步骤S31、用私钥对消息进行签名;步骤S32、将所得签名信息的比特流以信息起始点为起始、沿标志图像的图像分界线的等宽圆周为轨迹,按顺时针方向依次进行写入信息编码空间,其中黑色代表1,白色代表0;步骤S33、签名信息的比特流写入结束后,在等宽圆周的轨迹外添加二维码边界线,生成带图像的圆形二维码。在本方法中,步骤S33中等宽圆周的轨迹随着签名信息的增多,等宽圆周半径增加。在本方法中,步骤S40包括以下步骤:步骤S41、用户扫描二维码,通过同心圆定位带图像的圆形二维码的圆心;步骤S42、以圆形二维码的圆心为中心,找到最小半径同心圆,其圆周为图像分界线;步骤S43、以圆形二维码的圆心为中心,找到最大半径同心圆,其圆周为二维码边界线;步骤S44、以图像分界线为轨迹,开始匹配起读取始点编码,找到读取起始点;步骤S45、根据图像分界线和读取起始点,利用特征提取算法,提取图像特征点,生成图像特征码,并将图像特征码上传到第三方验证平台查询对应公钥;步骤S46、从信息起始点开始读取圆形二维码的签名,并使用获取的公钥验证签名。在本方法中,公司端利用二维码解码器定时同步第三方验证平台存储的特征码和公钥列表,生成图像特征码后直接在本地进行公钥查询。本专利技术将圆形二维码、公司标志图像和密钥对技术相结合,每个公司标志图像对应着一个公钥,并由第三方验证平台对圆形二维码的标志图像进行防伪识别,只有圆形二维码的标志图像与公司端上传的标志图像一致时,才能获取第三方验证平台上的公钥验证圆形二维码的签名正确性,这样攻击者不但无法得到对明文进行签名的私钥,而且假的圆形二维码也无法轻易得到该公司对应的公钥,避免了恶意二维码替换带来的攻击,有效的保证了二维码来源的安全性和可靠性,同时二维码的圆形设计,还为公司标志图像特征得提取提供了便利。附图说明图1为本专利技术提供的一种带图像的圆形二维码生成及读取的方法的流程图;图2为本专利技术中带图像的圆形二维码的结构示意图;图3为本专利技术中步骤S20的具体流程图;图4为本专利技术中标志图像的图形特征点取点示意图;图5为本专利技术中LBP算子取点示意图;图6为本专利技术中步骤S30的具体流程图;图7为本专利技术中步骤S40的具体流程图。具体实施方式本专利技术通过在二维码中加入公司Logo(标志)图像,并与图像特征提取和公钥私钥对相结合的方式,提供了一种可对携带图像进行防伪的圆形二维码生成及读取的方案,保障了二维码来源的可靠性,避免二维码替换等恶意攻击行为。为保证最优展示图像大小、扩大信息存储的空间以及图像特征提取的便利性,本专利技术中的二维码采用圆形二维码结构。针对于圆形二维码,河海大学的许军才、张卫东等提出了《一种圆形二维条码及其编码解码方法》,但是该圆形二维条码仍然是由条形码构造,其同心圆周上没有线段,可存储的数据量很少,且利用圆心作为二维码的定位点,所以中间不可加入企业商标等标志信息。下面结合说明书附图和具体实施例对本专利技术做出详细的说明。如图1所示本专利技术提供了一种带图像的圆形二维码生成及读取的方法,包括以下步骤:步骤S10、公司端自行生成公钥和私钥的密钥对,并将公司的Logo图像放入带有读取起始标志的圆形图像分界线内(图2中的位置4),将该特定规格的Logo图像及公钥上传到第三方验证平台。在本专利技术中,下面给出公司自行生成的密钥对的一个实施例,如下:私钥内容为:-----BEGINRSAPRIVATEKEY-----MIICXQIBAAKBgQDaLOAc+jIuWZXY2fz1+Zj13gqHaKvcoChmDMTpkCfW+Su0GYRRls7zeVNEwOiiFw4ovAO762T146g5DNH4xqkgqyptUUf2tDs8SABIz5QJ4TXmCL+q4kkfZUVfBkU8nqfDkJSJKNePBPT7KlZ1S2EdNTLTW1j+tVHmK3/1eVg7XQIDAQABAoGBAJCImg+YUBYUkwiNoN7y8zouVptN5EzMbPbuDqUMMthfSWyOWvISDheNkHRDt9lpnJ+vrmmXj9K1doQU0iU本文档来自技高网...
一种带图像的圆形二维码生成及读取的方法

【技术保护点】
一种带图像的圆形二维码生成及读取的方法,其特征在于,包括以下步骤:步骤S10、公司端生成公钥和私钥的密钥对,并将标志图像放入带有读取起始标志的圆形图像分界线内,与公钥一起上传到第三方验证平台;步骤S20、第三方验证平台使用特征提取算法提取标志图像特征点,并生成特征码,与其公钥对应存储;步骤S30、公司端利用私钥对消息进行签名,将所得签名信息以信息起始点开始写入标志图像的图像分界线与二维码边界线之间的环形信息编码空间,生成带图像的圆形二维码;步骤S40、用户扫描圆形二维码,通过同心圆定位其圆心,以该圆心为中心,最小半径同心圆为图像分界线,最大半径同心圆为二维码边界线,根据图像分界线和读取起始点利用特征提取算法提取图像特征点,生成图像特征码,上传到第三方验证平台获取对应公钥,并使用该公钥验证圆形二维码的签名。

【技术特征摘要】
1.一种带图像的圆形二维码生成及读取的方法,其特征在于,包括以下步骤:步骤S10、公司端生成公钥和私钥的密钥对,并将标志图像放入带有读取起始标志的圆形图像分界线内,与公钥一起上传到第三方验证平台;步骤S20、第三方验证平台使用特征提取算法提取标志图像特征点,并生成特征码,与其公钥对应存储;步骤S30、公司端利用私钥对消息进行签名,将所得签名信息以信息起始点开始写入标志图像的图像分界线与二维码边界线之间的环形信息编码空间,生成带图像的圆形二维码;步骤S40、用户扫描圆形二维码,通过同心圆定位其圆心,以该圆心为中心,最小半径同心圆为图像分界线,最大半径同心圆为二维码边界线,根据图像分界线和读取起始点利用特征提取算法提取图像特征点,生成图像特征码,上传到第三方验证平台获取对应公钥,并使用该公钥验证圆形二维码的签名。2.如权利要求1所述的方法,其特征在于,步骤S20包括以下步骤:步骤S21、利用标志图像中最大半径圆,找到圆心位置,以最大半径圆为路径,读取周信息,当0,1出现的顺序为010010时,以该序列的中心点为读取起始点;步骤S22、通过读取起始点及圆心的直径为第一轴线,第一轴线顺时针旋转45°得到第二轴线,第二轴线顺时针旋转45°得到第三轴线,第三轴线顺时针旋转45°得到第四轴线;步骤S23、将每根轴线七等分,取每条线段的中心点为图像特征点,四根轴线取得28个图像特征点;步骤S24、使用圆形LBP作为描述图像局部纹理特征的算子,取以图像特征点中心为圆心、每条线段长为直径的圆周上8个离散的像素点,将每个像素点与图像特征点中心的像素值比较,大于中心像素值的像素点的位置标记为1,否则为0,产生八位二进制数;步骤S25、对每个图像特征点的八位二进制数,经过旋转不变的处理,得到的具有旋转不变性...

【专利技术属性】
技术研发人员:王晶
申请(专利权)人:北京中星仝创科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1