当前位置: 首页 > 专利查询>郑州大学专利>正文

一种基于马尔科夫链的生成式区块链隐蔽通信方法技术

技术编号:34741582 阅读:33 留言:0更新日期:2022-08-31 18:34
本发明专利技术公开了一种基于马尔科夫链的生成式区块链隐蔽通信方法。首先发送方在文本数据集获取候选单词集,使用马尔科夫模型训练获得转移概率矩阵并生成哈夫曼树集合;随后对需要传输的秘密信息二进制流进行迭代式哈夫曼解码,以获得符合正常语言与语义特征、可读性强的一组载密信息语句,利用生成式隐写方法完成秘密信息嵌入;然后将该载密信息进行环签名后,作为正常交易发布到区块链网络中并完成打包和出块;最后接收方利用相同的文本数据集获取转移概率权值哈夫曼树,逆向操作获得秘密信息二进制流。本发明专利技术相较于目前的同类模型,降低隐蔽信道构建风险,避免信息交叉,提升隐蔽性。性。性。

【技术实现步骤摘要】
一种基于马尔科夫链的生成式区块链隐蔽通信方法


[0001]本专利技术涉及一种基于区块链隐蔽通信技术,具体涉及一种基于马尔科夫链的生成式区块链隐蔽通信方法。

技术介绍

[0002]随着个人计算机计算能力的大幅度提升与计算架构的快速发展,传统的保护隐私安全的方法受到了前所未有的挑战。有别于常用的隐蔽信息传输媒介,区块链作为一种具备去中心化、去信任、不可篡改、开放共识等特点的分布式技术平台,其特性契合隐蔽通信的需求,可解决传统隐蔽通信的诸多痛点。区块链3.0时代重点在于应用落地,近几年基于区块链构建隐蔽通信得到研究者们的深入探索,但这些现有研究中仍存在以下尚未完全解决的问题:
[0003](1)通常在预处理或信道构建过程中需要额外的人工干预,这为隐蔽信道增添了不确定性;同时为实现通信同步则需通过预先协商来确定开始标识符、结束标识符、信息接收对象和密钥等关键信息,这又增加了隐蔽信道的构建成本和构建风险。
[0004](2)一些基于区块链交易地址进行信息隐写的方案较简易且隐蔽性较差,难以抵抗常规的隐蔽信道检测;另外由于区块链的透明性,若该区块链网络中存在其他隐蔽通信对象,则容易出现“信息交叉”的现象,即节点间互相可探测其他隐蔽信道传输的秘密信息。
[0005](3)传统隐蔽通信通常需要引入第三方公共媒介,若通过数学方法统计分析则可能存在一定身份暴露的风险;而完全严格基于区块链平台的隐蔽信道构建方法因其隐蔽容量过小,导致完成一次通信过程时延较长,或对出块交易顺序等条件要求苛刻,很难满足实际应用场景需求。<br/>
技术实现思路

[0006]为了解决上述问题,本专利技术提供了一种基于马尔科夫链的生成式区块链隐蔽通信方法,相较于目前的同类模型,可进一步提高嵌入强度和时间效率,降低隐蔽信道构建风险,避免信息交叉,提升隐蔽性。
[0007]本专利技术的技术方案涉及一种基于马尔科夫链的生成式区块链隐蔽通信模型,该模型分为4个过程:预处理、嵌入、传输和提取,具体包括以下步骤:
[0008](一)预处理过程
[0009]步骤1:对所持有的文本数据集A进行文本预处理,操作为:
[0010]L(s
i
)=p(h(g(f(s
i
)))),s
i
∈S,
[0011]其中S表示文本数据集A中以结束符为标志的句子集合,即S={s1,s2,...,s
n
};函数f,g,p分别表示删除句子s
i
中的特殊字符、网页链接和表情符号;函数h表示将句子s
i
转换为小写形式。
[0012]步骤2:对预处理后的文本数据集A进行马尔可夫模型训练。进一步地,所述步骤2具体包括:
[0013]步骤2.1:建立一个包含数据集内全部单词的集合D={word1,word2,...,word
n
},对应为马尔可夫链模型中给定的随机变量有限集合,将该字典中的所有单词放入候选池中作为备选。
[0014]步骤2.2:每个句子s
i
的相应位置和单词可对应至马尔可夫链中的离散取值的时间与状态,即
[0015][0016]其中j的取值集合为{j|i∈N
*
,1≤j≤l},s
i
为句子编号,l为该句的句子长度。
[0017]步骤2.3:利用一阶马尔可夫链(实际使用中可根据需求采取二阶或三阶马尔可夫链使之生成更加具备可读性的文本)计算每个单词的转移概率:
[0018][0019]同时满足:
[0020][0021]其中SN表示集合S的元素个数。
[0022]通过以上步骤2.1、2.2和2.3,即可得到所需的条件转移概率矩阵:
[0023][0024]步骤2.4:初始哈夫曼树表示所有可能位于初始位置的单词,并利用出现概率作为权值构成初始哈夫曼树t1;若除初始位置以外,以某个单词word
i
为基准转移到下一个位置word
i+1
的所有可能的每个单词转移概率p(word
i
)为权值构成哈夫曼树。这样的情况共有j

1种,即除初始哈夫曼树t1以外还可构造j

1个状态转移哈夫曼树,并定义函数:
[0025]O(word
i
,p(word
i
)=o(word
i
‑1,p(word
i
‑1))=t
i

[0026]其中i的取值集合为{i|i∈N
*
,2≤i≤j}。利用该函数构造各状态哈夫曼树并与初始哈夫曼树t1共同得到哈夫曼树集合T={t1,t2,...,t
j
},t1为初始状态哈夫曼树;函数O(x,y)表示哈夫曼树构造算法;p(word
i
)表示该单词位置条件转移概率。
[0027](二)嵌入过程:
[0028]步骤1:发送方将需要传输的秘密信息文本(secret_message)转换为二进制流(bin),即bin=z(secret_message)。
[0029]步骤2:从初始状态哈夫曼树t1中查找与二进制流开始阶段的对应单词,并将其放入初始位置,即
[0030]word1=f(bin1,t1),
[0031]bin2=g(bin1,word1),
[0032]其中f(x,y)表示哈夫曼解码函数;g(x,y)表示每完成一次解码过程则将y对应的二进制流即解码读取的前n位二进制流从完整二进制流x中删去。
[0033]步骤3:完成初始二进制流信息嵌入之后,继续对剩余信息进行嵌入,即:
[0034]word
i
=f(bin
i
,h(word
i
‑1)),
[0035]bin
i+1
=g(bin
i
,word
i
),
[0036]其中i的取值集合为{i|i∈N
*
,2≤i≤j},函数h(x)表示查找单词x在集合T中对应的状态哈夫曼树。
[0037]步骤4:重复步骤2.3直至二进制流信息嵌入完毕,若存在最后位置的二进制流无法顺利解码,则在末尾自动补0直至完全解码完毕。
[0038]步骤5:解码完毕后得到word
i
,i∈N
*
,and i∈[1,j]组成有序集合SEN={word1,word2,...,word
j
}(j的取值与秘密二进制流长度有关),并将该有序集合按照其排列顺序组成语句作为载密文本输出。
[0039](三)传输过程:
[0040]步骤1:由秘密信息发送方创建一笔交易:Transaction(cover

message)
[0041]步骤2:为隐藏实际信息发送方身份而对本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于马尔科夫链的生成式区块链隐蔽通信方法,其特征在于,包含4个过程:预处理、嵌入、传输和提取;预处理过程:发送方使用文本数据集获取候选单词集并进行马尔科夫模型训练,获得转移概率矩阵,并生成哈夫曼树集合;嵌入过程:对需要传输的秘密信息二进制流进行迭代式哈夫曼解码,以获得符合正常语言与语义特征、可读性强的一组载密信息语句,利用生成式隐写方法完成秘密信息嵌入;传输过程:将该载密信息进行环签名后,作为正常交易发布到区块链网络中并完成打包和出块;提取过程:接收方利用相同的文本数据集获取转移概率权值哈夫曼树,逆向操作获得秘密信息二进制流。2.根据权利要求1所述方法,其特征在于,预处理过程包括以下步骤:步骤1:对所持有的文本数据集A进行文本预处理;步骤2:对预处理后的文本数据集A进行马尔可夫模型训练,得到所需的条件转移概率矩阵:步骤3:构造各状态哈夫曼树并与初始哈夫曼树t1共同得到哈夫曼树集合T={t1,t2,...,t
j
};将训练得到的马尔可夫模型M与哈夫曼树集合T保存以便未来使用该数据集与对方通信,以上预处理过程只需在双方第一次通信时进行即可。3.根据权利要求1所述方法,其特征在于,嵌入过程包括以下步骤:步骤1:发送方将需要传输的秘密信息文本secret_message转换为二进制流bin,即:bin=z(secret_message);步骤2:从初始状态哈夫曼树t1中查找与二进制流开始阶段的对应单词,并将其放入初始位置,即:word1=f(bin1,t1),bin2=g(bin1,word1);步骤3:完成初始二进制流信息嵌入之后,继续对剩余信息进行嵌入,即:word
i
=f(bin
i
,h(word
i
‑1)),bin
i+1
=g(bin
i
,word
i
);步骤4:重复步骤3直至二进制流信息嵌入完毕,若存在最后位置的二进制流无法顺利解码,则在末尾自动补0直至完全解码完毕;步骤5:解码完毕后得到wor...

【专利技术属性】
技术研发人员:佘维田钊刘炜荣欣鹏钟李红张志鸿王志华宋轩宰光军李英豪
申请(专利权)人:郑州大学
类型:发明
国别省市:

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

1