CN115150083A - 一种基于区块链的账户私钥分存与验证方法 - Google Patents

一种基于区块链的账户私钥分存与验证方法 Download PDF

Info

Publication number
CN115150083A
CN115150083A CN202211036643.2A CN202211036643A CN115150083A CN 115150083 A CN115150083 A CN 115150083A CN 202211036643 A CN202211036643 A CN 202211036643A CN 115150083 A CN115150083 A CN 115150083A
Authority
CN
China
Prior art keywords
private key
storage
graph
pixel
audio
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.)
Granted
Application number
CN202211036643.2A
Other languages
English (en)
Other versions
CN115150083B (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.)
Nankai University
Original Assignee
Nankai University
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 Nankai University filed Critical Nankai University
Priority to CN202211036643.2A priority Critical patent/CN115150083B/zh
Publication of CN115150083A publication Critical patent/CN115150083A/zh
Application granted granted Critical
Publication of CN115150083B publication Critical patent/CN115150083B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/018Audio watermarking, i.e. embedding inaudible data in the audio signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于区块链的账户私钥分存与验证方法,该方法先基于用户输入的私钥生成私钥图,再使用
Figure 945524DEST_PATH_IMAGE001
可视门限私钥分存算法,生成n个分存子图,并由分存子图生成私钥分存图和私钥分存音频,从而用户可方便的将私钥分存图和私钥分存音频存储在各种热存储介质和冷存储介质中;并本发明提供了在线和离线两种验证算法用以还原私钥,实现了区块链私钥管理的便捷性和安全性。

Description

一种基于区块链的账户私钥分存与验证方法
技术领域
本发明属于数字账户安全性管理技术领域,具体涉及一种基于区块链的账户私钥分存与验证方法。
背景技术
区块链从本质上来看是一个共享数据库,储存于其上的信息具有不可伪造、全程留痕、可以追溯和公开透明的特征。
随着区块链的日益发展,个人账户私钥的安全管理也变得愈发重要。私钥作为交易和存储的重要一环,一旦丢失,以现今的技术几乎不可能将货币取回。而对于大多数区块链应用账户, 私钥为一串 256 位的二进制串,为了存储方便,通常以 base58 等形式编码,可是这种形式对于大多数人来说依然难以记忆。此外,虽然私钥依照密码学性质难以破解,但存储的私钥一旦被他人获取或泄露,其下的所有资产所属权也会被立刻移交。
私钥的存储是一个相当古老而成熟的话题。面对忘记密码的情况,大到银行卡、支付宝密码,小到网络账号口令,都有很快的二次验证方法进行密码找回。可对于区块链上的用户私钥,其无法像普通的密码一样轻松快捷的找回。与传统软件私钥不同,区块链中账户与身份没有绑定,用户无法通过其他个人信息验证找回私钥;同时,区块链私钥与公钥地址一一对应,且用户交易信息已写入区块链不可更改,因此用户无法重置私钥;此外,区块链私钥由公钥根据算法生成,无规律且难以记忆,用户无法像传统账户一样自定义私钥。
为了改善用户记忆私钥的困难性,目前区块链数字钱包的私钥管理大多借助助记符,也即钱包根据区块链私钥生成多个可读写的英语单词,用户只有正确输入所有单词,且保证顺序无误,才能还原最初的私钥。助记符虽然降低了私钥记忆的难度,但用户仍然需要通过纸质记录或者电子备份等方式来记忆多个助记单词,一旦记录介质有部分缺失,则相当于私钥丢失。因此,助记符的方法本质上并没有提高便捷性和安全性。
综上,如何以最小代价实现区块链私钥记忆的便捷性和安全性,是一项需要解决的技术问题。
发明内容
本发明的目的是解决现有区块链私钥管理的复杂和易丢失问题,提出了一种基于区块链的账户私钥分存与验证方法。
本发明是通过以下技术方案实现的:
一种基于区块链的账户私钥分存与验证方法,包括以下步骤:
步骤1,根据用户输入的账户名称、私钥、账户地址,以及用户选择的分存数
Figure 416299DEST_PATH_IMAGE001
、门限数
Figure 119813DEST_PATH_IMAGE002
,创建账户;
步骤2,生成私钥分存图 ,包括以下两个步骤:
步骤2.1,将私钥转换为私钥图,而后将用户创建账户时输入的信息作为参数传入
Figure 540430DEST_PATH_IMAGE003
可视门限私钥分存算法,通过
Figure 278579DEST_PATH_IMAGE003
可视门限私钥分存算法将私钥图分存为
Figure 657607DEST_PATH_IMAGE001
张不可单独识别的分存子图;
步骤2.2,生成
Figure 848417DEST_PATH_IMAGE001
张包含设备信息的二维码,随后利用逐像素点异或运算将步骤2.1所生成的n张分存子图分别嵌入这
Figure 338305DEST_PATH_IMAGE001
张二维码中,形成
Figure 911719DEST_PATH_IMAGE001
张私钥分存图;
步骤3,将步骤2.1所生成的部分分存子图的编码信息按照音频数字水印算法嵌入用户选定的音频中,合成嵌有数字水印的私钥分存音频;
步骤4,将步骤2生成的私钥分存图和步骤3生成的私钥分存音频分发至不同介质中进行存储;
步骤5,在创建好的账户中,上传符合门限数的私钥分存图和私钥分存音频,使用随身安全模式或服务器模式两种不同的验证算法来验证私钥分存图和私钥分存音频的有效性,最后还原私钥。
在上述技术方案中,
Figure 461649DEST_PATH_IMAGE003
可视门限私钥分存算法如下:
设原私钥图由黑白两种像素构成,要将其分存为
Figure 139755DEST_PATH_IMAGE001
个分存子图,原私钥图的单个像素在一个分存子图中被分存为
Figure 167753DEST_PATH_IMAGE004
个黑白子像素;分存的不同方案被描述为一个
Figure 614915DEST_PATH_IMAGE005
的布尔矩阵
Figure 70167DEST_PATH_IMAGE006
Figure 235570DEST_PATH_IMAGE007
表示的是原像素为白色像素时的分存矩阵,
Figure 67259DEST_PATH_IMAGE008
表示的是原像素为黑色像素时的分存矩阵,其中每一行的
Figure 634507DEST_PATH_IMAGE004
个元素表示原私钥图中的一个像素被分存为
Figure 995081DEST_PATH_IMAGE004
个子像素,
Figure 398512DEST_PATH_IMAGE001
行表示黑或白像素各有
Figure 33892DEST_PATH_IMAGE001
种分存方案。
在上述技术方案中,步骤3中,从音频的编码序列中嵌入分存子图的编码,直到分存图的所有编码全部嵌入完成,得到私钥分存音频。
在上述技术方案中,步骤4中,所述介质为手机、电脑等热存储端,或者纸张等冷存储端。
在上述技术方案中,步骤5中,所述随身安全模式的验证算法如下:
在验证私钥分存图和私钥分存音频的有效性之前,预先根据原私钥图得到其所含的像素点个数
Figure 190067DEST_PATH_IMAGE009
,而后根据当前设备的硬件特征和生成账户的时间生成一串有
Figure 252701DEST_PATH_IMAGE010
位的每个分量均属于
Figure 127116DEST_PATH_IMAGE011
的序列号;在生成分存子图时,遵照此序列号依次根据原私钥图中的黑白像素在
Figure 566188DEST_PATH_IMAGE007
Figure 842448DEST_PATH_IMAGE008
两个矩阵中选择不同分存方案的像素矩阵;
在验证私钥分存图和私钥分存音频的有效性时,本地首先根据当前设备的硬件特征和私钥的信息生成一串序列号,这个序列号和之前生成的序列号相同,而后本地设备从上传的私钥分存图和私钥分存音频中提取得到对应的分存子图后,依次检验各分存子图中是否有一段
Figure 810404DEST_PATH_IMAGE010
的像素分存方案符合该序列号;如果有,则说明该分存子图不是伪造的;如果没有,则认为该分存子图被伪造或篡改过。
在上述技术方案中,步骤5中,所述服务器模式的验证算法如下:
服务器端预先存储了每个分存子图的像素信息的哈希值,验证时,服务器端从上传的私钥分存图和私钥分存音频中提取得到对应的分存子图,然后依次检验各分存子图的像素信息的哈希值是否与服务器端预先存储的对应的哈希值相匹配。
在上述技术方案中,步骤5中,从达到了门限数且已验证正确的私钥分存图和私钥分存音频中,提取出带有私钥信息的分存子图,而后将分存子图按照或运算叠加,再根据还原阈值解码出黑或白像素点,从而还原出最初的原私钥图,得到正确私钥。
本发明的优点和有益效果为:
本发明使用可视门限私钥分存算法生成多个分存子图,并由分存子图生成私钥分存图和私钥分存音频,从而用户可方便的将私钥分存图和私钥分存音频存储在各种热存储介质和冷存储介质中;并本发明提供了在线和离线两种验证算法用以还原私钥,实现了区块链私钥管理的便捷性和安全性。此外,本发明使用的门限技术也使得用户在丢失部分私钥分存图或私钥分存音频的情况下仍能还原私钥,系统中不需要初始信任设置,全过程中无第三方会备份和保存私钥。本发明不仅可以应用于区块链私钥管理,也可应用于对称密钥管理等场景。
附图说明
图1是本发明的整体流程示意图。
图2是原私钥图生成私钥分存图和私钥分存音频分存至不同介质的示意图。
图3是随身安全模式的验证算法的原理图。
图4是(k=2,n=4)黑白像素分存矩阵的构造流程图。
对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,可以根据以上附图获得其他的相关附图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合具体实施例进一步说明本发明的技术方案。
一种基于区块链的账户私钥分存与验证方法,参见附图1和2,包括以下步骤:
步骤1,创建区块链应用账户
根据用户输入的账户名称、私钥、账户地址,以及用户选择的分存数
Figure 172116DEST_PATH_IMAGE001
、门限数
Figure 398566DEST_PATH_IMAGE012
、静态分存数
Figure 529334DEST_PATH_IMAGE013
和静态音频数等,创建账户。
步骤2,生成私钥分存图,具体步骤如下:
步骤2.1,将私钥转换为私钥图,而后将用户创建账户时输入的信息作为参数传入
Figure 933770DEST_PATH_IMAGE003
可视门限私钥分存算法,通过
Figure 782777DEST_PATH_IMAGE003
可视门限私钥分存算法将私钥图分存为
Figure 32493DEST_PATH_IMAGE001
张不可单独识别的分存子图。
所述
Figure 283346DEST_PATH_IMAGE003
可视门限私钥分存算法,作用是:将图像分存为
Figure 858684DEST_PATH_IMAGE001
张图像,任选其中
Figure 194987DEST_PATH_IMAGE002
张图像进行叠加则可复原为原图,小于
Figure 513973DEST_PATH_IMAGE002
则无法复原。具体的讲,
Figure 370065DEST_PATH_IMAGE003
可视门限私钥分存算法如下:
设原私钥图由黑白两种像素构成,要将其分存为
Figure 116304DEST_PATH_IMAGE001
个分存子图,原私钥图的单个像素在一个分存子图中被分存为
Figure 408745DEST_PATH_IMAGE004
个黑白子像素;分存的不同方案被描述为一个
Figure 531422DEST_PATH_IMAGE005
的布尔矩阵
Figure 491287DEST_PATH_IMAGE006
,布尔矩阵的行数
Figure 408428DEST_PATH_IMAGE001
是确定的,但列数
Figure 719323DEST_PATH_IMAGE004
需要根据算法算出,从而完成最终构造。
Figure 380112DEST_PATH_IMAGE007
表示的是原像素为白色像素时的分存矩阵,
Figure 194484DEST_PATH_IMAGE008
表示的是原像素为黑色像素时的分存矩阵,其中每一行的
Figure 282526DEST_PATH_IMAGE004
个元素表示原图中的一个像素被分存为
Figure 332915DEST_PATH_IMAGE004
个子像素,
Figure 531815DEST_PATH_IMAGE001
行表示黑或白像素各有
Figure 200694DEST_PATH_IMAGE001
种分存方案;矩阵每一行中只有0和1两种值。
Figure 725216DEST_PATH_IMAGE001
种分存方法被分配到
Figure 745125DEST_PATH_IMAGE001
张不同的分存子图中,选择任意
Figure 747716DEST_PATH_IMAGE002
张叠加时,实际上就是
Figure 271101DEST_PATH_IMAGE007
Figure 966524DEST_PATH_IMAGE008
中不同的
Figure 208150DEST_PATH_IMAGE002
行叠加;这
Figure 765164DEST_PATH_IMAGE014
行叠加在一起后,可以得到一个叠加行,记为行向量
Figure 674215DEST_PATH_IMAGE015
,它的每个分量是矩阵
Figure 274960DEST_PATH_IMAGE006
的第
Figure 3882DEST_PATH_IMAGE014
行的布尔或运算后的结果;将这样的行向量中1的个数称为海明重量,记为
Figure 613855DEST_PATH_IMAGE016
;定义
Figure 111832DEST_PATH_IMAGE017
为还原阈值,t为1或0,
Figure 883479DEST_PATH_IMAGE018
表示黑色像素的还原阈值,
Figure 365276DEST_PATH_IMAGE019
表示白色像素的还原阈值。
基于上述模型,又结合
Figure 513361DEST_PATH_IMAGE003
可视私钥分存的门限目标,可以得到如下定义:
(1)
Figure 380691DEST_PATH_IMAGE008
的任意
Figure 588819DEST_PATH_IMAGE002
行做布尔或运算得到的向量
Figure 292332DEST_PATH_IMAGE015
满足
Figure 712950DEST_PATH_IMAGE020
(2)
Figure 451098DEST_PATH_IMAGE007
的任意
Figure 564548DEST_PATH_IMAGE002
行做布尔或运算得到的向量
Figure 755358DEST_PATH_IMAGE015
满足
Figure 245245DEST_PATH_IMAGE021
(3)对
Figure 837900DEST_PATH_IMAGE022
的任意子集
Figure 138563DEST_PATH_IMAGE023
,其中
Figure 551090DEST_PATH_IMAGE024
,取出
Figure 579088DEST_PATH_IMAGE007
Figure 26250DEST_PATH_IMAGE008
的第
Figure 747082DEST_PATH_IMAGE023
行得到的两个子矩阵在列变换下无法区分,即它们以不同的顺序包含相同的列,两个子矩阵的海明重量一致。
Figure 912484DEST_PATH_IMAGE025
是一个包括所有海明重量为
Figure 744174DEST_PATH_IMAGE026
Figure 45842DEST_PATH_IMAGE001
维列向量的集合,
Figure 671995DEST_PATH_IMAGE027
Figure 324694DEST_PATH_IMAGE028
Figure 42350DEST_PATH_IMAGE029
的数量,在
Figure 198524DEST_PATH_IMAGE002
不同时计算
Figure 261158DEST_PATH_IMAGE027
的值,并构造得到像素矩阵
Figure 135573DEST_PATH_IMAGE007
Figure 574645DEST_PATH_IMAGE008
,同一像素点按照不同分存方案被分发到不同的分存子图中以保证最终叠加还原的正确性。
Figure 850906DEST_PATH_IMAGE003
可视门限私钥分存算法可知,只需考察分存矩阵的性质。分存矩阵
Figure 84441DEST_PATH_IMAGE028
由一系列
Figure 180573DEST_PATH_IMAGE030
拼接而成的,而
Figure 892177DEST_PATH_IMAGE029
是一个包括所有海明重量为
Figure 39256DEST_PATH_IMAGE026
Figure 443692DEST_PATH_IMAGE001
维列向量的集合。因此阈值的计算可按照每种
Figure 292699DEST_PATH_IMAGE029
去分析,得到每种
Figure 807994DEST_PATH_IMAGE029
中的阈值分量
Figure 58847DEST_PATH_IMAGE031
,最终分存矩阵
Figure 368606DEST_PATH_IMAGE028
的阈值
Figure 704909DEST_PATH_IMAGE032
计算公式为:
Figure 23895DEST_PATH_IMAGE033
在每种
Figure 129254DEST_PATH_IMAGE029
中,选取的
Figure 124761DEST_PATH_IMAGE002
值不同,那么得到的阈值也不同。
如果
Figure 682781DEST_PATH_IMAGE034
,对于
Figure 805458DEST_PATH_IMAGE029
中的任意一个
Figure 499745DEST_PATH_IMAGE001
维向量,选取的行数
Figure 416885DEST_PATH_IMAGE002
大于该向量中值为0的分量个数,根据鸽笼原理,
Figure 727781DEST_PATH_IMAGE002
行中必然有一个分量值为1,此时进行布尔或运算,得到的结果必然为1。因为每个
Figure 388569DEST_PATH_IMAGE029
中共有
Figure 202941DEST_PATH_IMAGE035
Figure 556562DEST_PATH_IMAGE001
维向量,因此此时的阈值分量为:
Figure 839907DEST_PATH_IMAGE036
如果
Figure 38807DEST_PATH_IMAGE037
,可以按降序顺序写下
Figure 707686DEST_PATH_IMAGE029
中所有的
Figure 232208DEST_PATH_IMAGE001
维向量,考虑把一个‘1’放到选中的k个位置中,然后安排其余的h-1个‘1’到剩余可行位置中,于是得到:
Figure 986538DEST_PATH_IMAGE038
其中对于自然数i设
Figure 254708DEST_PATH_IMAGE039
Figure 43673DEST_PATH_IMAGE028
Figure 473517DEST_PATH_IMAGE027
(h=0,1,…n-1; t=0,1)确定。为了利用待定系数法求解
Figure 980722DEST_PATH_IMAGE027
构造如下方程:
(i)重量方程
因为
Figure 521424DEST_PATH_IMAGE040
Figure 682672DEST_PATH_IMAGE041
任选
Figure 283417DEST_PATH_IMAGE042
行(
Figure 12339DEST_PATH_IMAGE043
),考虑到解码0、1的不可区分安全性,海明重量应该相等。利用上述计算
Figure 622312DEST_PATH_IMAGE044
的计算步骤,类似有
Figure 385868DEST_PATH_IMAGE045
=
Figure 157515DEST_PATH_IMAGE046
(ii)长度方程
分存矩阵
Figure 639312DEST_PATH_IMAGE047
是由一系列
Figure 521818DEST_PATH_IMAGE048
拼接构成的,
Figure 139881DEST_PATH_IMAGE047
的列数通过各个
Figure 833161DEST_PATH_IMAGE049
的列数相加而得,即
Figure 536675DEST_PATH_IMAGE050
,于是
Figure 488451DEST_PATH_IMAGE051
,得到方程
Figure 961020DEST_PATH_IMAGE052
为使得m尽可能小,设
Figure 340049DEST_PATH_IMAGE053
(两者至少存在一个为0)。考虑到一共有k个方程,n+1个变量,该线性方程组总会存在有理非平凡解。因此可以构造
Figure 265280DEST_PATH_IMAGE007
Figure 863489DEST_PATH_IMAGE008
,从而给出相应分存方案。同时,还可以设
Figure 456145DEST_PATH_IMAGE054
,其中h在n/2附近。这样一方面可以保证线性方程组存在非平凡解;另外一方面可使得m尽可能小。
求解出来
Figure 6075DEST_PATH_IMAGE007
Figure 418601DEST_PATH_IMAGE008
,出于安全性的考虑,还需验证这两个基础矩阵的不可区分性。具体而言,需选取这两个矩阵的前
Figure 462912DEST_PATH_IMAGE055
行(
Figure 910074DEST_PATH_IMAGE056
),确认子矩阵
Figure 630905DEST_PATH_IMAGE057
Figure 796307DEST_PATH_IMAGE058
是列变换等价的。可以对
Figure 362418DEST_PATH_IMAGE055
维的列向量按照其值大小进行排序,从而验证列变换等价性。
出于视觉效果,让原私钥图中单个像素点等比扩大,将
Figure 664086DEST_PATH_IMAGE007
Figure 555819DEST_PATH_IMAGE008
的共同列数
Figure 942938DEST_PATH_IMAGE004
继续扩大为一个不小于现有值的最小平方数M,
Figure 578318DEST_PATH_IMAGE059
。详细构造过程可参见图4,其中给出了(k=2,n=4)黑白像素分存矩阵的构造流程,为计算(k=2,n=4)黑白像素的分存矩阵,设定
Figure 246410DEST_PATH_IMAGE060
,然后根据重量方程可以得到
Figure 309044DEST_PATH_IMAGE061
;根据长度方程可以得到
Figure 917880DEST_PATH_IMAGE062
由此可得非平凡解并验证有效性,从而构造黑白像素的分存矩阵及扩展。
在具体应用编码生成分存子图的过程中,原私钥图中单个像素点的分存方案基于
Figure 91372DEST_PATH_IMAGE007
Figure 367633DEST_PATH_IMAGE008
生成。如果是白色像素点,则使用基于
Figure 601168DEST_PATH_IMAGE007
的随机列变换生成的矩阵进行分存;如果是黑色,则使用基于
Figure 962879DEST_PATH_IMAGE008
的随机列变换生成的矩阵进行分存。长度为M-m的冗余部分不参与编解码运算,可以用来存放帐户的logo等信息。
步骤2.2,生成
Figure 940063DEST_PATH_IMAGE001
张包含设备信息的二维码,随后利用逐像素点异或运算将步骤2.1所生成的n张分存子图分别嵌入这
Figure 336409DEST_PATH_IMAGE001
张二维码中,并在二维码左上角嵌入私钥类型提示图,形成最终的
Figure 475266DEST_PATH_IMAGE001
张私钥分存图。
步骤3,将步骤2.1所生成的部分分存子图的编码信息按照音频数字水印算法嵌入用户选定的音频中,合成嵌有数字水印的私钥分存音频。
所述音频数字水印算法的具体方法为:
在音频中加入数字水印时,算法从音频的编码序列中嵌入分存子图的编码,直到分存图的所有编码全部嵌入完成。从而得到私钥分存音频。
解密还原时,算法从私钥分存音频的编码序列中依次提取编码,从而得到分存子图的编码。
步骤4,将私钥分存图和私钥分存音频分存至不同介质
上述步骤2生成的私钥分存图和步骤3生成的私钥分存音频可被用户分发进不同介质中进行存储,介质既包括适合且支持动态分存图更新的热存储端,例如手机、手环、电脑等电子设备,也包括适合存储静态分存图的冷存储端,例如纸张、衣物等。
步骤5,识别并验证已创建好的区块链应用账户的私钥分存图和私钥分存音频
在创建好的账户中,上传符合门限数k的私钥分存图和私钥分存音频(即,私钥分存图和私钥分存音频二者的总数符合门限数k的要求),使用随身安全模式或服务器模式两种不同的验证算法来验证私钥分存图和私钥分存音频的有效性,最后通过私钥合成算法来还原私钥。具体方法如下:
步骤5.1,使用随身安全模式的验证算法验证私钥分存图和私钥分存音频的有效性
随身安全模式属于离线验证,该模式下使用防欺骗识别的验证算法。具体的讲,所述随身安全模式的验证算法为:
随身安全模式不与服务器交互,而在生成分存矩阵的基础上进行改进,使得分存子图可以按照特定分存方案顺序生成矩阵。该模式下使用防欺骗识别算法作为验证算法,通过检测特定分存方案的顺序,检测出哪些图片是被伪造或篡改的。
按照前述步骤2.1的分存算法,
Figure 809427DEST_PATH_IMAGE007
Figure 590301DEST_PATH_IMAGE008
矩阵各有
Figure 841154DEST_PATH_IMAGE001
行,即针对单一黑色和白色像素点各有
Figure 416492DEST_PATH_IMAGE001
种分存方案,在本算法中,在验证私钥分存图和私钥分存音频的有效性之前,需要预先根据原私钥图,得到其所含的像素点个数为
Figure 487216DEST_PATH_IMAGE009
,而后设计了一种生成序列号算法,该算法根据输入当前设备的硬件特征(比如设备的
Figure 806202DEST_PATH_IMAGE063
)和生成账户的时间,输出一串有
Figure 911561DEST_PATH_IMAGE010
位的每个分量均属于
Figure 657800DEST_PATH_IMAGE011
的序列号,其中m! 是列变换的数目,n是分存数;那么在生成分存子图时,遵照此序列号依次根据原私钥图中的黑白像素在
Figure 730667DEST_PATH_IMAGE007
Figure 587765DEST_PATH_IMAGE008
两个矩阵中选择不同分存方案的像素矩阵
Figure 813210DEST_PATH_IMAGE064
。其中
Figure 730350DEST_PATH_IMAGE065
是随机列变换,
Figure 775667DEST_PATH_IMAGE066
。攻击者不能区分随机列变换,因此方案是安全的。
具体步骤而言:在第一张分存子图中,对应于原私钥图中第1 至
Figure 436455DEST_PATH_IMAGE067
个像素,且这些像素的分存方案根据此序列号生成;在第二张分存子图中,对应原私钥图中的第(
Figure 516406DEST_PATH_IMAGE067
)+1 至 2*(
Figure 604448DEST_PATH_IMAGE067
)个像素,且这些像素的分存方案也根据此序列号生成;其余的分存子图
Figure 887793DEST_PATH_IMAGE068
,对应原私钥图中的第(
Figure 352273DEST_PATH_IMAGE067
)*
Figure 21151DEST_PATH_IMAGE069
至 (
Figure 280094DEST_PATH_IMAGE067
)*
Figure 300003DEST_PATH_IMAGE068
个像素,其分存方案也根据此序列号生成。由此,原私钥图中的
Figure 568173DEST_PATH_IMAGE009
个像素点皆以
Figure 357138DEST_PATH_IMAGE067
为分组,不重叠地按照序列号被分存在不同分存子图中。下面举例进一步说明:参见附图3,例如原私钥图共有256个像素点,分存数为 3,m=3,则生成的序列长度向上取整为256/3 = 86,生成的序列号
Figure 786982DEST_PATH_IMAGE070
。假设生成的序列号为1,3,2,2,1…,由此导出的列变换为恒等变换,分存子图编号为1,3,2,2,1…。(共86位,这里仅用前5位来举例)。那么在第1张分存子图中,它对应于原私钥图第1至86个像素的像素矩阵选择依次为
Figure 294187DEST_PATH_IMAGE071
其中
Figure 352666DEST_PATH_IMAGE072
为恒等变换;
Figure 996137DEST_PATH_IMAGE073
的选择取决于原私钥图中的像素点颜色。同理,在第2张分存子图中,它对应于原私钥图第87至172个像素的像素矩阵选择依次为
Figure 862462DEST_PATH_IMAGE074
(这里恒等变换省略);而在第3张分存子图中,它对应于原私钥图第173至256个像素的像素矩阵选择依次为
Figure 591383DEST_PATH_IMAGE075
在验证私钥分存图和私钥分存音频的有效性时(即判断私钥分存图和私钥分存音频是否有攻击者伪造或篡改时),本地首先根据当前设备的硬件特征(比如设备的
Figure 935777DEST_PATH_IMAGE063
)和私钥的信息生成一串序列号,这个序列号和之前生成的序列号相同,而后,本地设备根据分存数n和门限数k计算得到
Figure 699334DEST_PATH_IMAGE007
Figure 736560DEST_PATH_IMAGE008
矩阵用于检验,即本地设备从上传的私钥分存图和私钥分存音频中提取得到对应的分存子图后,依次检验各分存子图中是否有一段
Figure 687198DEST_PATH_IMAGE010
的像素分存方案符合该序列号;如果有,则说明该分存子图不是伪造的;如果没有,则认为该分存子图被伪造或篡改过。
步骤5.2,使用服务器模式的验证算法验证私钥分存图和私钥分存音频的有效性
服务器端预先存储了每个分存子图的像素信息的哈希值,验证时,服务器端从上传的私钥分存图和私钥分存音频中提取得到对应的分存子图,然后依次检验各分存子图的像素信息的哈希值是否与服务器端预先存储的对应的哈希值相匹配。
步骤5.3,使用合成私钥算法合成原私钥图
所述私钥合成算法,用于从达到了门限数且已验证正确的私钥分存图和私钥分存音频中,提取出带有私钥信息的分存子图,而后将分存子图按照或运算叠加,再根据还原阈值解码出黑或白像素点,从而还原出最初的原私钥图,得到正确私钥。
私钥合成算法的具体方法为:
分存矩阵中的每一行(每一个
Figure 851594DEST_PATH_IMAGE004
维行向量),即代表一种原私钥图中单个像素点在分存子图中的分存方案。在分存时,根据一个选定的
Figure 469658DEST_PATH_IMAGE004
维行向量,从向量中从左往右取分量值,按照矩阵内行数递增、行内列数递增的顺序填入
Figure 677785DEST_PATH_IMAGE004
维行向量的像素矩阵,矩阵中分量为0的像素点表现为白色,分量为1的表现为黑色。
还原私钥图首先要计算还原阈值。根据
Figure 115720DEST_PATH_IMAGE003
可视门限私钥分存算法中提出的对应
Figure 67495DEST_PATH_IMAGE008
的阈值
Figure 540065DEST_PATH_IMAGE018
,以及对应
Figure 919093DEST_PATH_IMAGE007
的阈值
Figure 109903DEST_PATH_IMAGE019
, 需要进行二值的计算以保证选取
Figure 599791DEST_PATH_IMAGE001
张分存子图中的任意
Figure 707293DEST_PATH_IMAGE002
张可以正确还原为原图,小于
Figure 726064DEST_PATH_IMAGE002
张时无法还原。
计算完黑、白色像素点各自的还原阈值后,还原时任选
Figure 404170DEST_PATH_IMAGE002
张叠加,得到一个还原的像素矩阵,对矩阵做布尔或运算,而后考察其海明重量并与算定的黑白色阈值做比较,只要
Figure 697748DEST_PATH_IMAGE076
,就可判断还原为白色还是黑色,最终得到正确私钥图。
以上对本发明做了示例性的描述,应该说明的是,在不脱离本发明的核心的情况下,任何简单的变形、修改或者其他本领域技术人员能够不花费创造性劳动的等同替换均落入本发明的保护范围。

Claims (7)

1.一种基于区块链的账户私钥分存与验证方法,其特征在于,包括以下步骤:
步骤1,根据用户输入的账户名称、私钥、账户地址,以及用户选择的分存数
Figure 82363DEST_PATH_IMAGE001
、门限数
Figure 202766DEST_PATH_IMAGE002
,创建账户;
步骤2,生成私钥分存图 ,包括以下两个步骤:
步骤2.1,将私钥转换为私钥图,而后将用户创建账户时输入的信息作为参数传入
Figure 248082DEST_PATH_IMAGE003
可视门限私钥分存算法,通过
Figure 95822DEST_PATH_IMAGE003
可视门限私钥分存算法将私钥图分存为
Figure 910194DEST_PATH_IMAGE001
张不可单独识别的分存子图;
步骤2.2,生成
Figure 998236DEST_PATH_IMAGE001
张包含设备信息的二维码,随后利用逐像素点异或运算将步骤2.1所生成的n张分存子图分别嵌入这
Figure 468531DEST_PATH_IMAGE001
张二维码中,形成
Figure 136273DEST_PATH_IMAGE001
张私钥分存图;
步骤3,将步骤2.1所生成的部分分存子图的编码信息按照音频数字水印算法嵌入用户选定的音频中,合成嵌有数字水印的私钥分存音频;
步骤4,将步骤2生成的私钥分存图和步骤3生成的私钥分存音频分发至不同介质中进行存储;
步骤5,在创建好的账户中,上传符合门限数的私钥分存图和私钥分存音频,使用随身安全模式或服务器模式两种不同的验证算法来验证私钥分存图和私钥分存音频的有效性,最后还原私钥。
2.根据权利要求1所述的基于区块链的账户私钥分存与验证方法,其特征在于:所述
Figure 805152DEST_PATH_IMAGE003
可视门限私钥分存算法如下:
设原私钥图由黑白两种像素构成,要将其分存为
Figure 64095DEST_PATH_IMAGE001
个分存子图,原私钥图的单个像素在一个分存子图中被分存为
Figure 21686DEST_PATH_IMAGE004
个黑白子像素;将分存的不同方案描述为一个
Figure 24277DEST_PATH_IMAGE005
的布尔矩阵
Figure 193DEST_PATH_IMAGE006
Figure 695616DEST_PATH_IMAGE007
表示的是原像素为白色像素时的分存矩阵,
Figure 140504DEST_PATH_IMAGE008
表示的是原像素为黑色像素时的分存矩阵,其中每一行的
Figure 415627DEST_PATH_IMAGE004
个元素表示原私钥图中的一个像素被分存为
Figure 324678DEST_PATH_IMAGE004
个子像素,
Figure 863106DEST_PATH_IMAGE001
行表示黑或白像素各有
Figure 857607DEST_PATH_IMAGE001
种分存方案。
3.根据权利要求1所述的基于区块链的账户私钥分存与验证方法,其特征在于:步骤3中,从音频的编码序列中嵌入分存子图的编码,直到分存图的所有编码全部嵌入完成,得到私钥分存音频。
4.根据权利要求1所述的基于区块链的账户私钥分存与验证方法,其特征在于:步骤4中,所述介质为手机、电脑或者纸张。
5.根据权利要求2所述的基于区块链的账户私钥分存与验证方法,其特征在于:步骤5中,所述随身安全模式的验证算法如下:
在验证私钥分存图和私钥分存音频的有效性之前,预先根据原私钥图得到其所含的像素点个数
Figure 139684DEST_PATH_IMAGE009
,而后根据当前设备的硬件特征和生成账户的时间生成一串有
Figure 903241DEST_PATH_IMAGE010
位的每个分量均属于
Figure 127417DEST_PATH_IMAGE011
的序列号,其中m! 是列变换的数目;在生成分存子图时,遵照此序列号依次根据原私钥图中的黑白像素在
Figure 343635DEST_PATH_IMAGE007
Figure 226140DEST_PATH_IMAGE008
两个矩阵中选择不同分存方案的像素矩阵;
在验证私钥分存图和私钥分存音频的有效性时,本地首先根据当前设备的硬件特征和私钥的信息生成一串序列号,这个序列号和之前预先生成的序列号相同,而后本地设备从上传的私钥分存图和私钥分存音频中提取得到对应的分存子图后,依次检验各分存子图中是否有一段
Figure 781887DEST_PATH_IMAGE010
的像素分存方案符合该序列号;如果有,则认为该分存子图是有效的;如果没有,则认为该分存子图是无效的。
6.根据权利要求1所述的基于区块链的账户私钥分存与验证方法,其特征在于:步骤5中,所述服务器模式的验证算法如下:
服务器端预先存储了每个分存子图的像素信息的哈希值,验证时,服务器端从上传的私钥分存图和私钥分存音频中提取得到对应的分存子图,然后依次检验各分存子图的像素信息的哈希值是否与服务器端预先存储的对应的哈希值相匹配。
7.根据权利要求1所述的基于区块链的账户私钥分存与验证方法,其特征在于:步骤5中,从达到了门限数且已验证正确的私钥分存图和私钥分存音频中,提取出带有私钥信息的分存子图,而后将分存子图按照或运算叠加,再根据还原阈值解码出黑或白像素点,还原出最初的原私钥图,得到正确私钥。
CN202211036643.2A 2022-08-29 2022-08-29 一种基于区块链的账户私钥分存与验证方法 Active CN115150083B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211036643.2A CN115150083B (zh) 2022-08-29 2022-08-29 一种基于区块链的账户私钥分存与验证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211036643.2A CN115150083B (zh) 2022-08-29 2022-08-29 一种基于区块链的账户私钥分存与验证方法

Publications (2)

Publication Number Publication Date
CN115150083A true CN115150083A (zh) 2022-10-04
CN115150083B CN115150083B (zh) 2022-11-15

Family

ID=83416458

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211036643.2A Active CN115150083B (zh) 2022-08-29 2022-08-29 一种基于区块链的账户私钥分存与验证方法

Country Status (1)

Country Link
CN (1) CN115150083B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104200424A (zh) * 2014-08-29 2014-12-10 陕西师范大学 基于差值变换的(k,n)有意义图像分存及恢复方法
CN108259169A (zh) * 2018-01-09 2018-07-06 北京大学深圳研究生院 一种基于区块链云存储的文件安全分享方法及系统
CN109617674A (zh) * 2018-10-16 2019-04-12 兰州大学 多个密钥管理系统之间进行合作的密钥分发方法
CN110336663A (zh) * 2019-06-14 2019-10-15 东南大学 一种基于区块链技术的PUFs群对群认证方案

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104200424A (zh) * 2014-08-29 2014-12-10 陕西师范大学 基于差值变换的(k,n)有意义图像分存及恢复方法
CN108259169A (zh) * 2018-01-09 2018-07-06 北京大学深圳研究生院 一种基于区块链云存储的文件安全分享方法及系统
CN109617674A (zh) * 2018-10-16 2019-04-12 兰州大学 多个密钥管理系统之间进行合作的密钥分发方法
CN110336663A (zh) * 2019-06-14 2019-10-15 东南大学 一种基于区块链技术的PUFs群对群认证方案

Also Published As

Publication number Publication date
CN115150083B (zh) 2022-11-15

Similar Documents

Publication Publication Date Title
Wang et al. A visual model-based perceptual image hash for content authentication
US6807634B1 (en) Watermarks for customer identification
WO2018206912A1 (en) Data verification
CN102113018B (zh) 生物体认证方法及系统
US5241600A (en) Vertification system for credit or bank card or the like
JPH07129513A (ja) トランザクシヨン処理システム
Li et al. Tamper detection and self-recovery of biometric images using salient region-based authentication watermarking scheme
CN103559454B (zh) 数据保护系统和方法
CN114998080B (zh) 人脸防篡改水印生成方法、篡改检测方法及属性检测方法
CN101939760A (zh) 利用钮索底纹和水印的组合来标记文件的方法和设备、读取前述组合的方法和设备
CN108733783A (zh) 一种基于私有区块链的学籍信息管理系统
JPWO2021090838A1 (ja) アートワークの取引方法及び取引装置、並びに、プログラム
Rose et al. A secure verifiable scheme for secret image sharing
Lin et al. Pixel-based fragile image watermarking based on absolute moment block truncation coding
CN109461110A (zh) 确定图片的溯源信息的方法及装置
Wang et al. Content based authentication of visual cryptography
CN114078071A (zh) 图像溯源方法、装置及介质
CN115150083B (zh) 一种基于区块链的账户私钥分存与验证方法
CN116527278A (zh) 一种基于生成式隐写网络和图像双隐写的区块链隐蔽通信方法
CN115908868A (zh) 一种数字藏品的鉴真和生成方法及装置
He et al. Cryptanalysis on majority-voting based self-recovery watermarking scheme
JP5767003B2 (ja) ホルダ認証システム、ホルダ認証端末、認証画像分解装置およびホルダであることの認証に利用される記録媒体
CN113159255A (zh) 基于qr码和安全底纹的数字水印防伪方法
Tang et al. Fragile watermarking based proofs of retrievability for archival cloud data
Shankar et al. Moderate embed cross validated and feature reduced Steganalysis using principal component analysis in spatial and transform domain with Support Vector Machine and Support Vector Machine-Particle Swarm Optimization

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
OL01 Intention to license declared