一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种通过默克尔树组装的物体唯一标识的数字签名方法与流程

2022-04-06 14:52:10 来源:中国专利 TAG:


1.本发明涉及数字签名方法领域,具体为一种通过默克尔树组装的物体唯一标识的数字签名方法。


背景技术:

2.哈希函数,亦称散列函数。是一个函数,该函数将接收的任何信息作为输入,函数输出为固定长度的哈希值。其公式表示为:
3.hash-value=hash(message)
4.上式中,hash-value为哈希函数的输出,它是固定长度的哈希值;hash表示的是哈希函数;message则为哈希函数的输入,这个输入信息不限制长度。常用的sha-256算法,是将输入信息生成256个字节的哈希值。
5.哈希的特性主要有:
6.1)正向快速:对给定输入信息,通过哈希算法,可以在极短时间内快速计算得到哈希值。
7.2)逆向困难:根据哈希值逆向运算出原输入值在计算上是不可行的,即该运算不存在一个多项式时间的算法。
8.3)输入敏感:输入信息发生任何微小变化,哪怕仅仅是一个字符的更改,重新生成的哈希值与原哈希值也会有天壤之别。同时,完全无法通过对比新旧哈希值的差异推测数据内容发生了什么变化。因此,通过哈希值很容易验证两个文件内容是否相同。该特性广发应用于错误校正。在网络传输中,发送方在发送数据的同时,发送该内容的哈希值。接收方收到数据后,只需要将数据再次进行哈希运算,对比输出与接收的哈希值,就可以判断数据是否被修改或损坏。
9.4)强抗碰撞性:很难找到两个不同的输入可以产生相同的哈希输出。当然由于哈希算法输出位数是有限的,也就是说,哈希输出数量是有限的,而输入却是无限的,所以不存在永远不发生碰撞的哈希算法。但是哈希算法仍然被广泛使用,只要算法保证发生碰撞的概率足够小,通过暴力枚举获取哈希值对应输入概率就更小,代价也相应更大。优秀的哈希算法即需要保证找到碰撞输入的代价远大于收益。
10.哈希算法正是因为具备输入敏感和强抗碰撞等特性,从而保证了数据的不可篡改性。通过哈希算法对数据块进行计算得到一个哈希值,而通过这个哈希值无法反推出来原来的内容,因此,哈希值可以唯一、准确地标识一个数据块,网络中任何节点通过简单快速地对数据块进行哈希计算都可以独立地获取该数据块哈希值。
11.现实生活中,为了描述一个物体,我们需要对物体的多个特征进行描述,而物体的特征具有多种多样的,一般具有颜色特征、形状特征、纹理特征和生物特征等,每种特征又可以用不同的方法进行提取。而每类物体的个体又具有区别于同类物体的独特特征,从而有人脸识别、指纹识别等系统。商家在网络上售卖商品时,不但需要图文并茂的标明自家商品与别家的区别,而且需要商家自身信息的认证,如营业执照、品牌、各种检验检疫证书等,
有时需要体现出物体的外表特征、感觉特征等,这些特征或证书等有时也需要特殊的机构提供,而且是需要一种能引起网民信任的方式。图像识别技术是人工智能的一个重要领域,它是指对图像进行对象识别,以识别各种不同模式的目标和对像的技术。


技术实现要素:

12.发明目的:本发明提出一种通过默克尔树组装的物体唯一标识的数字签名方法,通过人工智能的方法识别物体的各种特征,然后通过默克尔树组装,从而形成物体唯一标识数字签名的方法。
13.技术方案:为了实现上述目标,本发明采用如下的技术方案:
14.一种通过默克尔树组装的物体唯一标识的数字签名方法,其特征在于,包括以下步骤:
15.1)对物体进行特征提取;
16.通过采集设备对物体进行成像,对图像进行预处理,然后通过不同的特征提取方法对物体的特征进行提取;
17.图像的预处理采用灰度化和图像分割;
18.图像灰度化处理具体如下:
19.在rgb颜色空间中,一幅彩色图片的像素是由红r、绿g、蓝b三个颜色分量组成的。当r=g=b时,彩色表示为一种灰度颜色,灰度范围为0-255;
20.图像灰度化处理就是将彩色图像转化为灰度图像的过程,图像处理中通过以下一种或者一种以上方法进行灰度化,具体包括:
21.(1)分量法:将彩色图像三个通道的亮度值作为三种灰度图像的灰度值,分为r分量灰度图、g分量灰度图和b分量灰度图,根据实际情况需要选取其中一种;
22.(2)平均值法:将彩色图像三个通道的亮度值求平均得到灰度值;
23.gray=r=g=b=(r g b)/3
24.(3)加权平均法:将彩色图像三个通道进行加权平均能得到灰度图像;
25.gray=r*0.30 g*0.59 b*0.11;
26.图像分割处理具体如下:
27.图像分割的目的是将物体的主体区域从复杂的背景中区分出来,减少背景对特征提取和图像分类的干扰,是后续识别工作的基础;
28.分割算法包括:阈值分割法、边缘检测分割法、分水岭分割法和grabcut分割法;
29.提取方法包括通过cnn卷积神经网络进行物体的分类特征提取和通过生物特征识别技术进行生物特征识别;
30.所述cnn卷积神经网络通过以下一种或者一种以上方法进行处理;
31.(1)均值滤波法;
32.均值滤波也叫邻域平均法,是基于滤波模板对邻域内的中心点像素求均值的图像平滑方法,模板运算在数学中描述的就是卷积运算,设一幅像素大小n*n的图像f(x,y),均值滤波后的图像为g(x,y),表达式如下:
33.34.上式中:x,y=0,1,...,n-1;s是以(x,y)为中心的邻域的集合,m是s内的点数。常用的是3*3模板,此时的m为9;
35.(2)中值滤波;
36.中值滤波是对采样窗口中取出的奇数个像素的灰度按等级进行排序,用该邻域内所有像素的灰度中值取代当前中心点原来的灰度值,是一种非线性的窗口滤波形式,滤波算法表示方法如下:
[0037][0038]
上式中,a为窗口模板,一般是3*3,f(i,j),y(i,j)分别为原始图像和滤波处理后图像的像素值;
[0039]
(3)高斯滤波;
[0040]
高斯滤波是用于消除高斯噪声的一种线性平滑滤波器,其滤波函数表示为下式:
[0041][0042]
用滤波后的图像与原图的均方误差以及峰值信噪比定义去噪结果,如下式:
[0043][0044][0045]
上式中,图像像素大小是m*n,i(i,j)表示原始图像信息,k(i,j)表示图像处理后的图像信息;
[0046]
所述分类特征提取包括颜色特征,用颜色直方图来表述;形状特征用hu不变矩来描述和纹理特征用lbp进行特征描述;
[0047]
所述生物特征包括脸、指纹、手掌纹、虹膜、视网膜、声音、体形和个人习惯;
[0048]
2)通过哈希值计算算法对提取的每个特征计算哈希值,形成物体唯一标识;
[0049]
具体步骤如下:
[0050]
将物体x提取的特征值哈希h1,h2,h3......进行两两分组,并对这两个哈希值计算得到一个新的哈希值,两个旧的哈希值就作为新哈希值的叶子节点,如果哈希数量为单数,则对最后一个哈希值再次计算哈希值即可;重复上述计算,直至最后只剩下一个哈希值;
[0051]
3)利用物体唯一标识的数字签名,结合物体的其他信息作为二维码生成程序的输入,制作成物体唯一标识的数字签名的二维码;
[0052]
二维码贴于物体表面,作为物体的标识,用户收到物体,扫描二维码,识别其物体的相关信息,根据信息生成哈希值,比较哈希值与物体唯一标识的数字签名是否一致。
[0053]
作为本发明进一步改进,步骤1)所述采集设备为照相机。
[0054]
作为本发明进一步改进,步骤1)grabcut图像分割算法,具体步骤如下:
[0055]
步骤1:用户在图像上通过交互选定一个包含目标的矩形区域,利用slic算法对图像进行超像素划分。设定矩形框内区域为未知区域tu,框外区域为背景区域tb;
[0056]
步骤2:根据标记的结果建立高斯混合模型,迭代gmm参数;
[0057]
(1)初始化gmm参数,给图像中每一个像素分配gmm中的高斯分量,
[0058]kn
=argm
kn
ind(an,kn,θ,zn);
[0059]
(2)计算gmm的均值和协方差;
[0060]
(3)根据最大流-最小割思想,求出能量函数的最小值;
[0061]
步骤3:重复步骤2,使能量函数e趋于收敛。;
[0062]
e(l)=ar(l) b(l)
[0063]
其中,r(l)为区域项,b(l)为边界项,α为影响区域项和边界项平衡的重要因子,若α为0,则只考虑边界因素的影响;
[0064]
步骤4:对边界进行平滑优化;
[0065]
步骤5:输出分割图像。
[0066]
作为本发明进一步改进,步骤1)所述个人习惯特征包括敲击键盘的力度和频率以及签字。
[0067]
作为本发明进一步改进,步骤1)所述生物特征识别技术包括人脸识别、指纹识别、掌纹识别、虹膜识别、视网膜识别、语音识别、体形识别、键盘敲击识别和签字识别。
[0068]
作为本发明进一步改进,步骤2)哈希值计算算法包括sha-256算法、国密sm3算法和sm4算法。
[0069]
作为本发明进一步改进,所述哈希值计算算法为sha-256算法将任意长度的输入信息通过一定的计算,生成一个固定长度为256字节的输出。
[0070]
作为本发明进一步改进,步骤3)物体的其他信息为文本信息、图片和链接信息。
[0071]
本发明提出一种通过默克尔树组装的物体唯一标识的数字签名方法,由于默克尔树本质上是一种哈希树,在区块链中默克尔树根哈希就是当前区块所有交易信息的一个哈希值。签名作为确定身份、责任认定的重要手段,各种重要文件、合同等均需要签名确认。同一个字,不同的人写出来虽然含义完全相同,但是字迹这种附加值是完全不同的,刻意模仿也能通过专业的手段进行鉴别。因为签名具有身份标识和不可否认性,所以可以通过签名来确定身份和定责。数字签名即通过一定算法实现类似传统物理签名的效果。本发明根据默克尔树的原理,提出一种生成物体唯一标识数字签名的方法,通过人工智能的方法识别物体的各种特征,然后通过默克尔树组装,从而形成物体唯一标识数字签名的方法。
附图说明
[0072]
图1是本发明物品x的特征提取示意图;
[0073]
图2是本发明默克尔根哈希相连示意图;
[0074]
图3是本发明优化默克尔根哈希相连示意图;
[0075]
图4是本发明基于物体唯一标识的数字签名二维码生成器原理图;
[0076]
图5是本发明基于物体唯一标识的数字签名二维码判断流程图。
具体实施方式
[0077]
作为本发明具体实施例,本发明提供一种通过默克尔树组装的物体唯一标识的数字签名方法,因为默克尔树本质上是一种哈希树,但是这个哈希值不是直接将所有内容计算得到的哈希,而是通过一个哈希二叉树计算得到,具体实施例如下。
[0078]
通过人工智能的图像识别技术对物体特征识别。首先通过照相机等设备对物体进行成像,对图像进行预处理,然后通过不同的特征提取方法对物体的特征进行提取。
[0079]
预处理过程主要是为了消除图像无关信息的干扰,得到标准的图像,进而提高物体识别的可靠性。图像的预处理采用灰度化和图像分割。
[0080]
在rgb颜色空间中,一幅彩色图片的像素是由红r、绿g、蓝b三个颜色分量组成的。当r=g=b时,彩色就可以表示为一种灰度颜色,灰度范围为0-255。
[0081]
图像灰度化处理就是将彩色图像转化为灰度图像的过程。常用的图像处理中常用的灰度化方法有:
[0082]
(1)分量法:将彩色图像三个通道的亮度值作为三种灰度图像的灰度值,分为r分量灰度图、g分量灰度图和b分量灰度图。常根据实际情况需要选取其中一种。
[0083]
(2)平均值法:将彩色图像三个通道的亮度值求平均得到灰度值。
[0084]
gray=r=g=b=(r g b)/3
[0085]
(3)加权平均法:将彩色图像三个通道进行加权平均能得到灰度图像。
[0086]
gray=r*0.30 g*0.59 b*0.11
[0087]
由于人的眼睛对rgb颜色的感知存在差异,通常,人眼对绿色的敏感度最高,对蓝色的敏感度最低,加权平均法更符合人眼的视觉敏感度。
[0088]
图像分割的目的是将物体的主体区域从复杂的背景中区分出来,减少背景对特征提取和图像分类的干扰,是后续识别工作的基础。常用的图像分割算法包括:阈值分割法、边缘检测分割法、分水岭分割法、grabcut分割法等。本发明采用了基于slic的grabcut图像分割算法。基于slic的grabcut算法的具体步骤如下:
[0089]
步骤1:用户在图像上通过交互选定一个包含目标的矩形区域,利用slic算法对图像进行超像素划分。设定矩形框内区域为未知区域tu,框外区域为背景区域tb。
[0090]
步骤2:根据标记的结果建立高斯混合模型,迭代gmm参数。
[0091]
(1)初始化gmm参数,给图像中每一个像素分配gmm中的高斯分量,
[0092][0093]
(2)计算gmm的均值和协方差;
[0094]
(3)根据最大流-最小割思想,求出能量函数的最小值。
[0095]
步骤3:重复步骤2,使能量函数e趋于收敛。
[0096]
e(l)=ar(l) b(l)
[0097]
其中,r(l)为区域项,b(l)为边界项,α为影响区域项和边界项平衡的重要因子。若α为0,则只考虑边界因素的影响。
[0098]
步骤4:对边界进行平滑优化。
[0099]
步骤5:输出分割图像。
[0100]
颜色特征是最显著、最直观的特征之一,可以用颜色直方图来表述。形状特征用hu不变矩来描述,它是一种几何矩。纹理特征用lbp(local binary patterns,局部二值模式)特征描述。
[0101]
cnn卷积神经网络可以用于提取物体的分类特征。典型的cnn由卷积层、池化层和全连接层三个部分构成。卷积层负责提取图像中的局部特征;池化层用来大幅降低参数量
级(降维)、防止过拟合;全连接层类似传统神经网络的部分,用来输出想要的结果。卷积层的运算过程是用一个卷积核扫完整张图片,我们可以理解为用一个过滤器(卷积核)来过滤图像的各个小区域,从而得到这些小区域的特征值。常用的过滤器有均值滤波法、中值滤波法、高斯滤波法,当然还有其他的一些方法。本发明主要考虑前三种方法。
[0102]
(1)均值滤波法
[0103]
均值滤波也叫邻域平均法,是基于滤波模板对邻域内的中心点像素求均值的图像平滑方法,模板运算在数学中描述的就是卷积运算。设一幅像素大小n*n的图像f(x,y),均值滤波后的图像为g(x,y),表达式如下:
[0104][0105]
上式中:x,y=0,1,...,n-1;s是以(x,y)为中心的邻域的集合,m是s内的点数。常用的是3*3模板,此时的m为9。
[0106]
均值滤波属于一种线性滤波,其算法简便,运算速度较快,但滤波本身存在缺陷,在去噪过程中它会以图像的边缘和细节处变模糊为代价,当选择的邻域增大时,滤波能力明显增强,但此时运动前景细节处的模糊程度也加剧。
[0107]
(2)中值滤波
[0108]
中值滤波是对采样窗口中取出的奇数个像素的灰度按等级进行排序,用该邻域内所有像素的灰度中值取代当前中心点原来的灰度值,是一种非线性的窗口滤波形式,滤波算法表示方法如下:
[0109][0110]
上式中,a为窗口模板,一般是3*3,f(i,j),y(i,j)分别为原始图像和滤波处理后图像的像素值。
[0111]
(3)高斯滤波
[0112]
高斯滤波是主要用于消除高斯噪声的一种线性平滑滤波器,其滤波函数表示为下式:
[0113][0114]
本技术用滤波后的图像与原图的均方误差(mean squared error,mes)以及峰值信噪比(peak signal to noise ratio,psnr)定义去噪结果,如下式:
[0115][0116][0117]
上式中,图像像素大小是m*n,i(i,j)表示原始图像信息,k(i,j)表示图像处理后的图像信息。然后将各种滤波方法的mse和psnr结果进行比较,如表1所示。
[0118]
表1各种滤波下mse、psnr结果比较
[0119]
滤波方式高斯滤波中值滤波均值滤波
mse4.02402.38844.3568psnr36.033740.568835.3475
[0120]
当均方误差越小,峰值信噪比越大时,滤波效果越好。由表1可以看出中值滤波的去噪效果最好。因此我们选取cnn特征时,选取均方误差小的中值滤波方法得到的特征向量。
[0121]
通过不同的方式对物体进行特征提取,就能完成物体的识别。同时,生物特征识别能识别的生物特征包括脸、指纹、手掌纹、虹膜、视网膜、声音(语音)、体形、个人习惯(例如敲击键盘的力度和频率、签字)等,相应的识别技术就有人脸识别、指纹识别、掌纹识别、虹膜识别、视网膜识别、语音识别(用语音识别可以进行身份识别,也可以进行语音内容的识别,只有前者属于生物特征识别技术)、体形识别、键盘敲击识别、签字识别等。本发明不限于特征的识别方法,可以用多种方法从不同的角度、不同的位置、不同的光照情况下对物体的特征进行识别。各种特征提取方法也可以组合使用。本发明将利用人工智能技术提取的每个特征计算哈希值。本发明不限于哈希算法,一般采用的哈希算法sha-256、国密sm3、sm4等。
[0122]
为了方便说明,本实施例使用的哈希算法为sha-256,该哈希算法可以将任意长度的输入信息通过一定的计算,生成一个固定长度为256字节的输出。
[0123]
输入:这是哈希!
[0124]
哈希值:
[0125]
87201fc8223a8ec8c602d3c72279fe3077f661f30a04d908294472263f23a2ca
[0126]
此处以oxford-17flower数据库中的sunflower为例,,取灰度级别为16,设定距离δ=1,分别从四个角度0
°
、45
°
、90
°
、135
°
计算出4个灰度共生矩阵作为输入。
[0127]
输入:
[0128]0°
0.3878851.8010870.1164590.162836
[0129]
45
°
0.3830061.8909540.1910990.161706
[0130]
90
°
0.3864401.8239400.1296300.162626
[0131]
135
°
0.3827921.8918350.1906930.161711
[0132]
哈希值:
[0133]
5f7ff896dfad9cef446917ed5a2b50977cf9421ef1e3da916d7427475144d718
[0134]
物品x的特征提取示意图如图1所示将物体x提取的特征值哈希h1,h2,h3......进行两两分组,并对这两个哈希值计算得到一个新的哈希值,两个旧的哈希值就作为新哈希值的叶子节点。如果哈希数量为单数,则对最后一个哈希值再次计算哈希值即可;重复上述计算,直至最后只剩下一个哈希值,这就是默克尔树的根哈希。具体默克尔根哈希相连示意图如图2所示。
[0135]
原来的默克尔根哈希中的叶子节点全是交易节点,所有的叶子节点都是同类型的。因此,其二叉树是根据两个叶子节点的哈希值计算出一个新的哈希值,每个叶子节点参与计算一次。但是物品x的特征类型不相同,因此任意两个叶子节点的类型不一样。优化的默克尔根哈希的叶子节点,两两组合,每个叶子节点参与不同的组合方式。比如物品x提取的特征向量有t1、t2和t3,最后计算哈希值的组合为(t1,t2)、(t1,t3)、(t2,t3)。具体优化默克尔根哈希相连示意图如图3所示。
[0136]
默克尔根哈希是哈希二叉树,结合哈希算法输入敏感的特点,任何底层特征发生篡改,都会导致默克尔根哈希与之前不同。找出两个默克尔哈希树的差异点,算法复杂度为o(log(n))。因此,通过默克尔树,能快速比较物体的特征与实际特征是否完全一致,从而快速识别物体的某特征是否被篡改。比如物体的颜色改变,会导致提取的颜色特征y1改变,从而导致哈希h1改变,从而可以快速判断出物体是否被调换。
[0137]
在实际应用中,出厂的物品可以通过本发明方法提取物体的特征,通过默克尔树组装生成物体唯一标识的数字签名,如果选用sha-256哈希算法,该默克尔根哈希长度为256个字节。这个默克尔根哈希就是物体唯一标识的数字签名。
[0138]
可以利用物体唯一标识的数字签名,结合物体的其他信息,如文本信息、图片、链接等信息作为二维码生成程序的输入,可制作成物体唯一标识的数字签名的二维码。该二维码可以贴于物体表面,作为物体的标识。图4为本文发明基于物体唯一标识的数字签名二维码生成器原理图。
[0139]
用户收到物体,可以扫描二维码,识别其物体的相关信息,根据信息生成哈希值,比较哈希值与物体唯一标识的数字签名是否一致。由于物体的特征有多种,用户可以基于物体的一种或者多种特征的哈希值进行认证。
[0140]
当用户仅认证物体的一种特征值时。通过照相机等设备对物体进行成像,对图像进行预处理,识别物体的某一特征,计算哈希值h,扫描哈希二叉树的叶子节点,比较哈希值h与叶子节点的哈希值。如果与其中一个哈希值相等,则认为物体的特征与出厂的特征是一致的,则认为其没有被替换。
[0141]
当用户仅认证物体的多种特征值时。通过照相机等设备对物体进行成像,对图像进行预处理,识别物体的多个特征,分别计算哈希值,然后再两两计算哈希值。比较计算的哈希值与哈希二叉树的某些对应的值是否一致,如果一致则认为没有替换。
[0142]
综上所述,基于物体唯一标识的数字签名二维码判断流程如图5所示。
[0143]
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献