[发明专利]一种针对洋葱网络系统共识文件的加密方法有效
申请号: | 202011099311.X | 申请日: | 2020-10-14 |
公开(公告)号: | CN112242898B | 公开(公告)日: | 2021-12-10 |
发明(设计)人: | 祝烈煌;徐大伟;高家奇;高峰;晁代崇 | 申请(专利权)人: | 北京理工大学;长春大学 |
主分类号: | H04L9/06 | 分类号: | H04L9/06;G06F21/60;H04L29/06 |
代理公司: | 北京正阳理工知识产权代理事务所(普通合伙) 11639 | 代理人: | 张利萍 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 针对 洋葱 网络 系统 共识 文件 加密 方法 | ||
1.一种针对洋葱网络系统共识文件的加密方法,其特征在于,包括以下步骤:
步骤1:分析共识文件的生成过程;
步骤2:目录服务器端操作:针对共识文件信息,采用AES加密的方式写入,具体流程为:
首先,找到系统中writeConsensus()函数,此处泛指写入函数;
然后,使用WriteConsenByAES()函数代替writeConsensus()函数,对共识文件加密;先截取待写入文件流,并将其内容进行分块操作,每一块数据长度为128bit,如果结尾不足128bit则用数字0填充,在后续操作中,均以矩阵中每个元素来进行变化和运算;
之后,采用将每一块分别进行加密并拼接的方式:
第一步:将每块128bit明文按照以8bit为基本单位分成16块,按照从上到下、从左到右的顺序填写到一个4×4的矩阵之中;
第二步:对该矩阵进行轮密钥加,具体为:用密钥矩阵与明文矩阵对应位置逐一做异或运算;
第三步:字节代替,使用一个S盒,S盒是一个16×16的固定矩阵,其非线性置换为:输入的列的每个元素用来指定S盒的地址:前4位指定S盒的行,后4位指定S盒的列;
第四步:行位移,状态阵列的4个行循环以字节为基本单位进行左移,每行循环左移的偏移量由明文分组的大小和所在行数共同确定,即列数Nb和行号确定;
第五步:列混合,将输入矩阵左乘一个固定矩阵,对应元素相乘再求和,其中,元素相乘遵循有限域GF(28)上的乘法,求和遵循有限域GF(28)求和,即异或运算;
将上述步骤进行拼接:首先,使用初始密钥对明文矩阵做一次轮密钥加;然后进入循环阶段,依次进行字节代替、行位移、列混合和轮密钥加;此时,判断是否为最后一轮,如果不是,则继续进行“字节代替-行位移-列混合-轮密钥加”操作;当最后一轮执行完成后,进入“字节代替-行位移-轮密钥加”操作,最后生成密文块;在此过程中,第1次轮密钥加使用的是用户输入的密钥,后续各轮次的轮密钥加以及最后一次轮密钥加,使用的是密钥扩展函数KeyExpansion(),根据初始密钥生成的n组新密钥;
然后,形成密文块,完成对文件流的加密;将密文块按顺序进行拼接,生成密文文件;若想查看明文共识文件,通过函数内部的密钥进行解密读取,其中,解密过程与加密过程方法相同;
最后,提取关键信息;
步骤3:中间节点端操作:对于节点服务器获取共识文件Consensus,首先将密文共识文件写入本地,在使用时,用保存在本地的密钥进行解密;
步骤4:密钥存储;
将密钥写入源码中并以注释的方式隐藏,管理员用户只需要记住该密钥的绝对路径,即可查看该密钥。
2.如权利要求1所述的一种针对洋葱网络系统共识文件的加密方法,其特征在于,步骤1生成共识文件的过程为:
每一小时系统中各个中间节点会上传路由描述符,描述符作用为发布一次Tor网络的状态,包括节点的带宽大小、在线时间、身份标识、密钥,目录服务器将收到的信息进行周期性整合,最终由网络目录机构投票决定并生成共识文件。
3.如权利要求1所述的一种针对洋葱网络系统共识文件的加密方法,其特征在于,通过函数内部的密钥进行解密读取时,使用函数ReadConseByAESKey()。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学;长春大学,未经北京理工大学;长春大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011099311.X/1.html,转载请声明来源钻瓜专利网。