CN111698222A - 基于vanitygen生成的特殊比特币地址的隐蔽通信方法 - Google Patents
基于vanitygen生成的特殊比特币地址的隐蔽通信方法 Download PDFInfo
- Publication number
- CN111698222A CN111698222A CN202010434449.4A CN202010434449A CN111698222A CN 111698222 A CN111698222 A CN 111698222A CN 202010434449 A CN202010434449 A CN 202010434449A CN 111698222 A CN111698222 A CN 111698222A
- Authority
- CN
- China
- Prior art keywords
- information
- address
- index
- transaction
- bitcoin
- 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
Links
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于vanitygen生成的特殊比特币地址的隐蔽通信方法,包括:对隐秘信息T进行加密,之后进行base58编码得到T';从T'选取三个不同字符作为关键词key;使用vanitygen生成包含key的地址a,将T'和a进行字符匹配,记录相同字符在二者中的位置索引,将T'中已匹配的字符替换为“*”;重复上述过程直到T'中所有字符被替换,将使用的地址信息以及得到的索引信息拼接得到解密信息R;将R分段存储在OP_RETURN字段中;获取交易信息后对OP_RETURN内容进行拼接和还原得到R;结合R和地址集合还原出T';对T'进行解码和解密还原信息T。本发明的方法简单、信息嵌入率和传递率高、在工作量证明***中同样适用,具有良好的应用前景。
Description
技术领域
本发明涉及信息隐藏领域,特别涉及一种基于vanitygen生成的特殊比特币地址的隐蔽通信方法。
背景技术
隐蔽通信就是信息隐藏在通信行业的应用,和传统加密技术对信息本身内容进行隐藏不同,隐蔽通信更加针对于信息的存在性。传统的隐蔽通信基于第三方中心服务器,采用集中化信道,通信过程易受到攻击和干扰,通信信道易受到监听。在此情况下,通信的内容容易泄露,通信者的身份信息也会被攻击者通过流量分析的方式获取。区块链作为近几年兴起的技术,其去中心化的***可以较好的避免中心化***面临的威胁。此外,它还具有去中心化、防篡改、匿名化等特点,这些特点使得区块链在隐蔽通信上的应用具有如不易受到监听、通信接收方匿名化、高抗篡改和抗干扰性等优势。在区块链中,最具代表性的应用就是比特币交易,其拥有大量的资源为实现隐蔽通信提供了条件。现阶段关于这方面的研究还很少,如何设计出一种有效可行的基于区块链的隐蔽通信方式是十分有意义的。
Juha Partala等提出了一种基于比特币公钥地址最低有效位的隐秘通信方法,将信息转换为二进制后使用公钥地址最低有效位存储一位二进制信息,并通过比特币交易实现信息传递[Partala J.Provably Secure Covert Communication on Blockchain[J].Cryptography,2018,2(3):18.]。中国专利CN201811034819.4公开了一种区块链网络环境下的隐蔽通信方法,该发明中提出的具体模型首先将信息进行编码处理,并将调制序列与信息发送时间间隔序列形成映射,之后采用此发送时间间隔序列表示编码后的信息,最后根据生成的时间间隔集发送信息实现信息传递。上述的方法存在着两方面的不足,一是使用最低有效位和时间间隔序列作为信息嵌入载体,二者的信息容量很小,极大地影响了信息的嵌入效率;二是当传递大量信息时,两种方法均需要大量的信息传递次数,这对于基于工作量证明、区块确认平均时间长达十分钟的比特币网络并不适用,需要消耗大量资源和时间。
发明内容
本发明的目的在于提供一种基于区块链的高信息嵌入率和传递率、高可行性的隐蔽通信方法。
实现本发明目的的技术解决方案为:一种基于vanitygen生成的特殊比特币地址的隐蔽通信方法,所述方法包括以下步骤:
步骤1,对要传递的隐秘信息T进行初步加密;
步骤2,根据步骤1加密后的结果进行base58编码,获得处理后的隐秘信息T';
步骤3,从隐秘信息T'中选取3个不同的且均不是“*”的字符组成关键词key;
步骤4,结合关键词key和比特币地址生成软件vanitygen的相关命令,生成用于嵌入信息的比特币地址a,该比特币地址a中包含key;
步骤5,对所述隐秘信息T'与比特币地址a进行字符匹配,找出其中相同的字符,一一对应分别记录它们对应的索引,形成信息索引数组IT'和地址索引数组Ia,并将T'中已匹配的字符用“*”替代;
步骤6,判断T'中是否还存在非“*”字符,若存在,返回执行步骤3,否则表示完全实现信息的嵌入,继续执行下述步骤;
步骤7,对上述过程得到的所有索引数组进行拼接获得部分解密信息RI;
步骤8,计算上述使用的每个比特币地址的哈希值,并按照比特币地址使用顺序将哈希值拼接,获得另一部分解密信息Ra;
步骤9,拼接所述解密信息RI和Ra并进行加密获得最终的解密信息R;
步骤10,根据比特币交易OP_RETURN字段长度,将R进行分段,并在每段中添加顺序标识符;
步骤11,将分段后且包含顺序标识符的R片段填入各个交易中的OP_RETURN字段,发起交易实现信息传递;
步骤12,获取交易信息后对OP_RETURN内容进行拼接转换,还原解密信息R;
步骤13,结合还原的解密信息R和比特币地址集合还原隐秘信息T';
步骤14,对还原的隐秘信息T'进行base58解码和步骤1对应的解密获得原始隐秘信息T。
本发明与现有技术相比,其显著优点为:1)本发明的信息嵌入效率和传递效率高,传递相同的信息时需要使用的比特币地址数量和交易次数更少;2)本发明在保证生成地址的信息量的基础上充分利用地址中信息资源嵌入隐秘信息,大大减少地址生成所需的时间,提高了***整体的效率;3)本发明大大缩减通信规模,能够将大量信息通过少数几笔交易传递,适用于工作量证明环境,具有更高的可行性。
下面结合附图对本发明作进一步详细描述。
附图说明
图1为本发明基于vanitygen生成的特殊比特币地址的隐蔽通信方法的流程图。
图2为本发明实施例中***模型和架构示意图。
图3为本发明实施例中信息嵌入示意图。
图4为本发明隐蔽信息嵌入界面图。
图5为本发明实施例中信息传输示意图。
图6为本发明隐蔽信息提取界面图。
图7为本发明实施例中信息提取示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,结合图1,提供了一种基于vanitygen生成的特殊比特币地址的隐蔽通信方法,整体的***模型和架构如图2所示,具体包括以下步骤:
步骤1,对要传递的隐秘信息T进行初步加密;
步骤2,根据步骤1加密后的结果进行base58编码(与比特币地址相同的编码方式),获得处理后的隐秘信息T',以便与比特币地址进行结合和信息嵌入
步骤3,为保证作为信息存储介质的比特币地址拥有较多T'中的信息,从隐秘信息T'中选取3个不同的且均不是“*”的字符组成关键词key;
这里,特殊地,若隐秘信息T'中除“*”外不足3个字符,则根据实际数量确定key的长度Lk,如仅剩一个字符便将此字符作为key,这并不会对***造成什么影响,因此1≤Lk≤3,Lk的单位为字节。
步骤4,结合关键词key和比特币地址生成软件vanitygen的相关命令,生成用于嵌入信息的比特币地址a,作为信息嵌入载体,该比特币地址a中包含key;
这里,key可以在地址的任意位置,如果指定其位置,找出满足条件的地址会相对更加困难,如果key中包含base58编码规则以外的字符,此程序会一直运行下去但是永远无法生成满足条件的地址。
步骤5,对所述隐秘信息T'与比特币地址a进行字符匹配,找出其中相同的字符,一一对应分别记录它们对应的索引,形成信息索引数组IT'和地址索引数组Ia,并将T'中已匹配的字符用“*”替代,防止重复;
IT'[i]~Ia[i](i=0,1,2…)
式中,i为元素的索引,由于对T'中已匹配的字符进行了替换,因此在IT'中的索引不存在值相同的情况,而作为载体的地址a可以重复嵌入信息,因此Ia中的元素可以相同。
步骤6,判断T'中是否还存在非“*”字符,若存在,返回执行步骤3,否则表示完全实现信息的嵌入,继续执行下述步骤;
步骤7,对上述过程得到的所有索引数组进行拼接获得部分解密信息RI;
步骤8,计算上述使用的每个比特币地址的哈希值,并按照比特币地址使用顺序将哈希值拼接,获得另一部分解密信息Ra;
步骤9,拼接所述解密信息RI和Ra并进行加密获得最终的解密信息R;
步骤10,根据比特币交易OP_RETURN(比特币交易时用于存放备注信息)字段长度,将R进行分段,并在每段中添加顺序标识符以便后续解密信息R的还原;
步骤11,将分段后且包含顺序标识符的R片段填入各个交易中的OP_RETURN字段,发起交易实现信息传递;
步骤12,获取交易信息后对OP_RETURN内容进行拼接转换,还原解密信息R;
步骤13,结合还原的解密信息R和比特币地址集合还原隐秘信息T';
步骤14,对还原的隐秘信息T'进行base58解码和步骤1对应的解密获得原始隐秘信息T。
进一步地,在其中一个实施例中,步骤2所述的base58编码,其编码x字节所需空间即为此步骤预留的空间大小S为:
式中,S的单位为字节。
进一步地,在其中一个实施例中,步骤7所述对上述过程得到的所有索引数组进行拼接获得部分解密信息RI,具体过程包括:
步骤7-1,假设进行了p轮字符匹配才完全实现信息的嵌入,此时信息索引数组和地址索引数组的数量均为p个;获取信息索引数组IT'1,IT'2,…,IT'p以及地址索引数组Ia1,Ia2,…,Iap;IT'i、Iai分别表示第i轮字符匹配对应的信息索引数组、地址索引数组,i=1,2,…,p;
进一步地,在其中一个实施例中,步骤8所述计算上述使用的每个比特币地址的哈希值,并按照比特币地址使用顺序将哈希值拼接,获得另一部分解密信息Ra,具体包括:
步骤8-1,为了降低地址和哈希值之间的关联性,计算哈希值时仅计算地址中长度为x的一部分的值。选取各个比特币地址的最后x位字符,并计算该x位字符的哈希值;
步骤8-2,检测是否发生哈希碰撞,若是,则将该哈希值对应的比特币地址选取的部分往前移x位并重新计算哈希值,同时针对未发生碰撞的哈希值,在其后添加字符“/”表示此值为最后x位的哈希值;
步骤8-3,检测步骤8-2中二次计算是否发生哈希碰撞,若是则以步骤8-2的方式进行第三次移位和计算,同时针对二次计算中未发生碰撞的哈希值,在其后添加字符“//”表示此值是后2x到x位的值;依此过程执行,直至不发生哈希碰撞;
步骤8-4,将上述哈希值按照对应比特币地址使用顺序进行拼接,获得解密信息Ra,Ra形如“Hash1/Hash2//Hash3///......”。
进一步地,在其中一个实施例中,步骤1、步骤9中所述加密采用的加密方式为对称加密,包括DES、AES,或非对称加密,包括椭圆曲线加密。
进一步地,在其中一个实施例中,步骤10所述根据比特币交易OP_RETURN字段长度,将R进行分段,并在每段中添加顺序标识符,具体包括:
步骤10-1,计算所需比特币交易OP_RETURN字段个数,字段个数n计算公式为:
式中,LR为所述解密信息R的总长度,单位为字节;
步骤10-2,将所述解密信息R转换为十六进制并分为n段,其中前n-1段长度为219字节,第n段长度为LR-(n-1)×219字节;
步骤10-3,按照顺序在各段前加入顺序标识符“1”、“2”、…“n”,之后将各段放入比特币交易OP_RETURN字段。
进一步地,在其中一个实施例中,步骤11所述将分段后且包含顺序标识符的R填入各个交易中的OP_RETURN字段,发起交易实现信息传递,具体包括:
步骤11-1,判断R片段数n和使用的比特币地址数是否相同,若相同则使用每一个比特币地址进行一笔交易,并将各个R片段填入每笔交易的OP_RETURN字段,若R片段数n小于使用的比特币地址数,则将多个比特币地址整合为一笔交易以保证二者数量相等,再执行上述操作,若R片段数n大于使用的比特币地址数,则随机生成无关地址进行交易以增加可用的OP_RETURN数并将各个R片段填入每笔交易的OP_RETURN字段;
步骤11-2,在交易中使用生成的比特币地址,填写对应的OP_RETURN字段并设置相应金额。
进一步地,在其中一个实施例中,步骤12所述获取交易信息后对OP_RETURN内容进行拼接转换,还原解密信息R,具体包括:
步骤12-1,根据各OP_RETURN字段顺序标识符将各OP_RETURN字段排序,并在删除标识符后将各OP_RETURN段拼接;
步骤12-2,将步骤12-1获得的结果从十六进制转为字符串,并对其进行步骤9对应的解密从而还原解密信息R。
进一步地,在其中一个实施例中,步骤13所述结合还原的解密信息R和比特币地址集合还原隐秘信息T',具体包括:
步骤13-1,将还原的解密信息R分为地址信息Ra和索引信息RI;
步骤13-2,按照哈希排列顺序从地址信息Ra中找出对应地址,并将这些地址按照此顺序进行排列以还原出发送方在信息嵌入时所使用的正确地址顺序;若哈希值后为m个“/”,则需从使用的若干比特币地址中找出倒数mx到(m-1)x位哈希值与此值相同的地址,并将其置于与哈希值同样的顺序和位置;
步骤13-3,将索引信息分为地址索引集合和信息索引集合其中地址索引的元素代表地址中某个字符的位置,将此字符放入对应信息索引同位置的元素所代表的T'中的位置,结合各个索引集合和步骤13-2还原出的地址即可还原出编码和加密后的信息T'。
作为一种具体示例,在其中一个实施例中,对本发明进行进一步验证说明。本发明的基于vanitygen生成的特殊比特币地址的隐蔽通信方法,包括以下内容:
(1)采用DES对原始信息“Hello”进行加密,加密后的结果为b‘9529f063366486a8’。
(2)对上述结果进行base58编码,结果为“84jBS2cMAB6Y9atVFS8Y9d”,将其记为T'。编码规则如表1所示。
表1 base58编码规则表
Value | Character | Value | Character | Value | Character | Value | Character |
0 | 1 | 1 | 2 | 2 | 3 | 3 | 4 |
4 | 5 | 5 | 6 | 6 | 7 | 7 | 8 |
8 | 9 | 9 | A | 10 | B | 11 | C |
12 | D | 13 | E | 14 | F | 15 | G |
16 | H | 17 | J | 18 | K | 19 | L |
20 | M | 21 | N | 22 | P | 23 | Q |
24 | R | 25 | S | 26 | T | 27 | U |
28 | V | 29 | W | 30 | X | 31 | Y |
32 | Z | 33 | a | 34 | b | 35 | c |
36 | d | 37 | e | 38 | f | 39 | g |
40 | h | 41 | i | 42 | j | 43 | k |
44 | l | 45 | m | 46 | n | 47 | p |
48 | q | 49 | r | 50 | s | 51 | t |
52 | u | 53 | v | 54 | w | 55 | x |
56 | y | 57 | z |
(3)从编码结果T'中挑选3个不同且非“*”的字符“S8Y”构成关键字key。
(4)结合关键词key和比特币地址生成软件vanitygen的相关命令,生成用于嵌入信息的比特币地址a,功能和命令如表2所示.
表2 vanitygen功能及对应命令
在此使用第一个命令,生成了包含“S8Y”的地址“mg3ZvMMk8iZS8YCd7V8bw97nUYFX6ToUhK”。
(5)结合图3,对密文T'和地址a进行字符匹配,找出其中出现的相同的字符。之后记录它们对应的索引IT'1=[0,4,7,10,11,12,15,16,17,18,19,20,21]和Ia1=[8,11,5,28,13,21,17,26,11,8,13,21,15],并将T'中已匹配的字符用“*”替代得到新的T'“*4jB*2c*AB***at*******”。
(6)根据步骤(5)判断出尚未嵌入所有信息,因此返回(3)重新获取key=“B4a”,并使用生成的新地址“moTHAXZGBZWMPvkGPbARvPUAbiggB4aWcX”结合图3进行信息嵌入,得到第二份索引IT'2=[29,8,32,4,8,30],Ia2=[1,3,6,8,9,13]并替换T'已匹配的字符得到“**j**2********t*******”,继续返回(3)直到所有信息均已嵌入。
(8)按照使用顺序计算地址的哈希值并将其拼接为另一部分解密信息Ra=“1f93616bb2ea967efbe71e19127acfb8cba7163a/50cce6726fe77997e5ee061c62cbd8a02d898110/b647a71836223f1a6ca8378eb832298d917d4030/”。
(9)将RI和Ra拼接并加密作为最终解密信息R。
(10)根据R的长度计算所需OP_RETURN字段数n,其中,R长度为608字节,由下式计算n:
可得,需要3个字段对R进行存放。将R以219字节为单位进行分割,将其转换为十六进制,并在前面添加顺序标志,最终得到三个OP_RETURN字段分别为“01160555d96db046660957d3192e607535de56fdf2b4af438b77e2b1ac911378c77da1e58a33b5576d575db322b840d897eb7bc16c0f8d796e61a4164671d47244cc6cbc202509256d91d64e138c22a40330b6ba0d2d6dafa797c99e8af9b75a815d2f8911aaf0013f7cc421dbbcd”、“02bc591e0d19898a5d196feb637c00a7f317314da6a66d9d0e724228f0a4fc9cb2e4021c8c3ea9828459c6d34fde64c41bf84fdcbf85b9cc9c1ca7df91b0dd3e960a79939b974fb5c6ac1915c5b6a72e9ece51c12d61cbbbedb8883d09c8c45a09581b200614c565e9f25fd6b69ef”和“031d7e058dc08c5fdd3713fcf85dde08e646a449e6b85764ddb88d8a0a2fba6fe21a0651d237c47ea7b6a7ce217e413e020e9fb840ae593480c1f90a39a3a518c2f158b0e984de8e436f1a745371233340276bf856c0”,上述步骤可结合图4实现,输入消息“Hello”即可获取使用的地址和生成的OP_RETURN各字段。
(11)将分割后的R填入不同交易的OP_RETURN脚本,并使用嵌入隐秘信息的地址“mg3ZvMMk8iZS8YCd7V8bw97nUYFX6ToUhK”、“moTHAXZGBZWMPvkGPbARvPUAbiggB4aWcX”以及“mpbscxB2eNZBFDui89E7wV85j2tPVoGZ2d”进行交易,结合图5实现隐秘信息传递。
(12)通过筛选发送方发起的交易获取交易信息,将各OP_RETURN字段按照顺序标识符排序,并在删除标识符后将各段拼接,将拼接后的结果从十六进制转换为字符串并进行解密即可得到解密信息R=“1f93616bb2ea967efbe71e19127acfb8cba7163a/50cce6726fe77997e5ee061c62cbd8a02d898110/b647a71836223f1a6ca8378eb832298d917d4030/addr_index=[[8,11,5,28,13,21,17,26,11,8,13,21,15],[29,8,32,4,8,30],[24,7,26]]text_index=[[0,4,7,10,11,12,15,16,17,18,19,20,21],[1,3,6,8,9,13],[2,5,14]]”,其中索引集合分别为和
(13)结合图6,使用索引和地址还原出加密和编码后的信息T'“84jBS2cMAB6Y9atVFS8Y9d”。
(14)对T'进行base58解码和解密即可还原出隐秘信息“Hello”,上述步骤可结合图7实现,输入使用的地址和所有OP_RETURN字段内容即可还原原始信息。
由上述实施例可知本发明操作简单,信息嵌入率和传递率高,充分利用了地址中的信息资源以字节为单位嵌入隐秘信息,大大减少地址数量和生成地址所需的时间,提高了***整体的效率,缩减了通信规模,能够将大量信息通过少数几笔交易传递,适用于工作量证明环境,具有更高的可行性和具有良好的应用前景。
以上显示和描述了本发明的基本原理、主要特征及优点。本行业的技术人员应该了解,本发明不受上述实例的限制,上述实例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (10)
1.一种基于vanitygen生成的特殊比特币地址的隐蔽通信方法,其特征在于,所述方法包括以下步骤:
步骤1,对要传递的隐秘信息T进行初步加密;
步骤2,根据步骤1加密后的结果进行base58编码,获得处理后的隐秘信息T';
步骤3,从隐秘信息T'中选取3个不同的且均不是“*”的字符组成关键词key;
步骤4,结合关键词key和比特币地址生成软件vanitygen的相关命令,生成用于嵌入信息的比特币地址a,该比特币地址a中包含key;
步骤5,对所述隐秘信息T'与比特币地址a进行字符匹配,找出其中相同的字符,一一对应分别记录它们对应的索引,形成信息索引数组IT'和地址索引数组Ia,并将T'中已匹配的字符用“*”替代;
步骤6,判断T'中是否还存在非“*”字符,若存在,返回执行步骤3,否则表示完全实现信息的嵌入,继续执行下述步骤;
步骤7,对上述过程得到的所有索引数组进行拼接获得部分解密信息RI;
步骤8,计算上述使用的每个比特币地址的哈希值,并按照比特币地址使用顺序将哈希值拼接,获得另一部分解密信息Ra;
步骤9,拼接所述解密信息RI和Ra并进行加密获得最终的解密信息R;
步骤10,根据比特币交易OP_RETURN字段长度,将R进行分段,并在每段中添加顺序标识符;
步骤11,将分段后且包含顺序标识符的R片段填入各个交易中的OP_RETURN字段,发起交易实现信息传递;
步骤12,获取交易信息后对OP_RETURN内容进行拼接转换,还原解密信息R;
步骤13,结合还原的解密信息R和比特币地址集合还原隐秘信息T';
步骤14,对还原的隐秘信息T'进行base58解码和步骤1对应的解密获得原始隐秘信息T。
3.根据权利要求1所述的基于vanitygen生成的特殊比特币地址的隐蔽通信方法,其特征在于,步骤3所述从隐秘信息T'中选取3个不同的且均不是“*”的字符组成关键词key,特殊地,若隐秘信息T'中除“*”外不足3个字符,则根据实际数量确定key的长度Lk,1≤Lk≤3,Lk的单位为字节。
4.根据权利要求1所述的基于vanitygen生成的特殊比特币地址的隐蔽通信方法,其特征在于,步骤7所述对上述过程得到的所有索引数组进行拼接获得部分解密信息RI,具体过程包括:
步骤7-1,假设进行了p轮字符匹配才完全实现信息的嵌入,此时信息索引数组和地址索引数组的数量均为p个;获取信息索引数组IT'1,IT'2,…,IT'p以及地址索引数组Ia1,Ia2,…,Iap;IT'i、Iai分别表示第i轮字符匹配对应的信息索引数组、地址索引数组,i=1,2,…,p;
5.根据权利要求1所述的基于vanitygen生成的特殊比特币地址的隐蔽通信方法,其特征在于,步骤8所述计算上述使用的每个比特币地址的哈希值,并按照比特币地址使用顺序将哈希值拼接,获得另一部分解密信息Ra,具体包括:
步骤8-1,选取各个比特币地址的最后x位字符,并计算该x位字符的哈希值;
步骤8-2,检测是否发生哈希碰撞,若是,则将该哈希值对应的比特币地址选取的部分往前移x位并重新计算哈希值,同时针对未发生碰撞的哈希值,在其后添加字符“/”表示此值为最后x位的哈希值;
步骤8-3,检测步骤8-2中二次计算是否发生哈希碰撞,若是则以步骤8-2的方式进行第三次移位和计算,同时针对二次计算中未发生碰撞的哈希值,在其后添加字符“//”表示此值是后2x到x位的值;依此过程执行,直至不发生哈希碰撞;
步骤8-4,将上述哈希值按照对应比特币地址使用顺序进行拼接,获得解密信息Ra,Ra形如“Hash1/Hash2//Hash3///......”。
6.根据权利要求1所述的基于vanitygen生成的特殊比特币地址的隐蔽通信方法,其特征在于,步骤1、步骤9中所述加密采用的加密方式为对称加密,包括DES、AES,或非对称加密,包括椭圆曲线加密。
8.根据权利要求1或7所述的基于vanitygen生成的特殊比特币地址的隐蔽通信方法,其特征在于,步骤11所述将分段后且包含顺序标识符的R填入各个交易中的OP_RETURN字段,发起交易实现信息传递,具体包括:
步骤11-1,判断R片段数n和使用的比特币地址数是否相同,若相同则使用每一个比特币地址进行一笔交易,并将各个R片段填入每笔交易的OP_RETURN字段,若R片段数n小于使用的比特币地址数,则将多个比特币地址整合为一笔交易以保证二者数量相等,再执行上述操作,若R片段数n大于使用的比特币地址数,则随机生成无关地址进行交易以增加可用的OP_RETURN数并将各个R片段填入每笔交易的OP_RETURN字段;
步骤11-2,在交易中使用生成的比特币地址,填写对应的OP_RETURN字段并设置相应金额。
9.根据权利要求1或7所述的基于vanitygen生成的特殊比特币地址的隐蔽通信方法,其特征在于,步骤12所述获取交易信息后对OP_RETURN内容进行拼接转换,还原解密信息R,具体包括:
步骤12-1,根据各OP_RETURN字段顺序标识符将各OP_RETURN字段排序,并在删除标识符后将各OP_RETURN段拼接;
步骤12-2,将步骤12-1获得的结果从十六进制转为字符串,并对其进行步骤9对应的解密从而还原解密信息R。
10.根据权利要求1或5所述的基于vanitygen生成的特殊比特币地址的隐蔽通信方法,其特征在于,步骤13所述结合还原的解密信息R和比特币地址集合还原隐秘信息T',具体包括:
步骤13-1,将还原的解密信息R分为地址信息Ra和索引信息RI;
步骤13-2,按照哈希排列顺序从地址信息Ra中找出对应地址,并将这些地址按照此顺序进行排列以还原出发送方在信息嵌入时所使用的正确地址顺序;若哈希值后为m个“/”,则需从使用的若干比特币地址中找出倒数mx到(m-1)x位哈希值与此值相同的地址,并将其置于与哈希值同样的顺序和位置;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010434449.4A CN111698222B (zh) | 2020-05-21 | 2020-05-21 | 基于vanitygen生成的特殊比特币地址的隐蔽通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010434449.4A CN111698222B (zh) | 2020-05-21 | 2020-05-21 | 基于vanitygen生成的特殊比特币地址的隐蔽通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111698222A true CN111698222A (zh) | 2020-09-22 |
CN111698222B CN111698222B (zh) | 2022-06-07 |
Family
ID=72478052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010434449.4A Active CN111698222B (zh) | 2020-05-21 | 2020-05-21 | 基于vanitygen生成的特殊比特币地址的隐蔽通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111698222B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112600665A (zh) * | 2020-12-25 | 2021-04-02 | 江苏通付盾区块链科技有限公司 | 一种基于区块链和加密技术的隐蔽通信方法、装置及*** |
CN113014590A (zh) * | 2021-03-08 | 2021-06-22 | 中电积至(海南)信息技术有限公司 | 一种加密流媒体网络流量的解密方法和装置 |
CN113628113A (zh) * | 2021-08-11 | 2021-11-09 | 科大讯飞股份有限公司 | 一种图像拼接方法及其相关设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107612678A (zh) * | 2017-08-18 | 2018-01-19 | 华侨大学 | 一种基于网络拓扑结构图的隐写方法 |
CN107689226A (zh) * | 2017-08-29 | 2018-02-13 | 中国民航大学 | 基于iLBC编码的一种小容量语音信息隐藏方法 |
CN109257346A (zh) * | 2018-09-10 | 2019-01-22 | 中山大学 | 基于区块链的隐蔽传输*** |
CN109672661A (zh) * | 2018-10-09 | 2019-04-23 | 中南林业科技大学 | 一种基于区块链的防篡改隐蔽通信方法、***及平台 |
-
2020
- 2020-05-21 CN CN202010434449.4A patent/CN111698222B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107612678A (zh) * | 2017-08-18 | 2018-01-19 | 华侨大学 | 一种基于网络拓扑结构图的隐写方法 |
CN107689226A (zh) * | 2017-08-29 | 2018-02-13 | 中国民航大学 | 基于iLBC编码的一种小容量语音信息隐藏方法 |
CN109257346A (zh) * | 2018-09-10 | 2019-01-22 | 中山大学 | 基于区块链的隐蔽传输*** |
CN109672661A (zh) * | 2018-10-09 | 2019-04-23 | 中南林业科技大学 | 一种基于区块链的防篡改隐蔽通信方法、***及平台 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112600665A (zh) * | 2020-12-25 | 2021-04-02 | 江苏通付盾区块链科技有限公司 | 一种基于区块链和加密技术的隐蔽通信方法、装置及*** |
CN112600665B (zh) * | 2020-12-25 | 2023-12-01 | 江苏通付盾区块链科技有限公司 | 一种基于区块链和加密技术的隐蔽通信方法、装置及*** |
CN113014590A (zh) * | 2021-03-08 | 2021-06-22 | 中电积至(海南)信息技术有限公司 | 一种加密流媒体网络流量的解密方法和装置 |
CN113628113A (zh) * | 2021-08-11 | 2021-11-09 | 科大讯飞股份有限公司 | 一种图像拼接方法及其相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111698222B (zh) | 2022-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111698222B (zh) | 基于vanitygen生成的特殊比特币地址的隐蔽通信方法 | |
US5757913A (en) | Method and apparatus for data authentication in a data communication environment | |
US20120134491A1 (en) | Cloud Storage Data Encryption Method, Apparatus and System | |
US5651069A (en) | Software-efficient message authentication | |
CN110610105B (zh) | 一种云环境下基于秘密共享的三维模型文件的认证方法 | |
CN112800445B (zh) | 一种用于密文数据的前后向安全和可验证的布尔查询方法 | |
CN109840425B (zh) | 一种文件加密的方法和装置 | |
CN102904711B (zh) | 信息加密方法 | |
CN112804046B (zh) | 一种基于区块链私钥映射的无载体隐写方法及*** | |
CN104917747A (zh) | 一种隐秘通信方法 | |
CN106874516A (zh) | 一种云存储中基于kcb树和布隆过滤器的高效密文检索方法 | |
WO2021179518A1 (en) | Methods and apparatuses for oblivious transfer using trusted environment | |
CN114244498A (zh) | 一种具有前向安全的动态可搜索公钥加密方法 | |
Wu et al. | Encryption of accounting data using DES algorithm in computing environment | |
CN115514469B (zh) | 一种信息加密保护方法 | |
CN111027081B (zh) | 基于特征映射的文本无载体信息隐藏方法 | |
Rahim et al. | An application data security with lempel-ziv welch and blowfish | |
CN110784304A (zh) | 一种通过fpga实现国密算法的方法 | |
WO2014089843A1 (zh) | 一种数据加密、解密的方法及设备 | |
Mohammed et al. | DNA-based steganography using neural networks | |
CN111711671A (zh) | 一种基于盲存储的高效密文文件更新的云存储方法 | |
CN116319117A (zh) | 一种网络安全信息数据的实时分析监控方法 | |
Kar et al. | An improved data security using DNA sequencing | |
CN107566123A (zh) | Pptp vpn口令校验方法及计算机可读存储介质 | |
Preneel et al. | Security analysis of the message authenticator algorithm (MAA) |
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 |