一种基于零知识证明的能源消费数据处理方法转让专利
申请号 : CN202110954361.X
文献号 : CN113407981B
文献日 : 2021-11-09
发明人 : 戴铁潮 , 陈建 , 黄建平 , 张旭东 , 毛冬 , 冯珺 , 梅峰 , 潘司晨 , 刘瀚琳 , 沈桂竹
申请人 : 国网浙江省电力有限公司信息通信分公司 , 国网浙江省电力有限公司
摘要 :
权利要求 :
1.一种基于零知识证明的能源消费数据处理方法,其特征在于包括:S100:基于预设频率获取耗能企业的原始能源消费数据;
S200:基于哈希算法计算原始能源消费数据的散列值,将所述散列值作为第一证明问题;
S300:根据能源大数据中心的业务需求确定不可逆函数,不可逆函数的输出结果为根据原始能源消费数据计算的能够满足业务需求的数据,由不可逆函数、S200中的哈希算法以及随机定义的拼接规则构成不可逆加密算法,基于所述不可逆加密算法得到原始能源消费数据的第二证明问题;
S400:根据第一证明问题和第二证明问题的重复部分验证原始能源消费数据是否完整,若验证通过则执行S500,否则拒绝进行零知识证明;
S500:基于傅里叶逆变换将第一证明问题和第二证明问题转换为多项式向量,结合能源大数据中心生成的随机数,分别计算第一证明问题和第二证明问题的零知识证明,将零知识证明和第二证明问题发送给能源大数据中心;
S600:若零知识证明均满足能源大数据中心规定的验证条件,则将第二证明问题存储到能源大数据中心,否则判定原始能源消费数据未通过真实性验证,拒绝将第二证明问题存储到能源大数据中心;
所述S300包括:
获取预先存储在能源大数据中心的函数库,所述函数库中包含若干个自定义的不可逆函数,根据能源大数据中心的业务需求在函数库中选取一个不可逆函数;
随机确定第一证明问题与原始能源消费数据的拼接顺序规则,结合选取的不可逆函数、S200中的哈希算法共同组成不可逆加密算法;
将原始能源消费数据输入S200中的哈希算法,得到第一字符串,将原始能源消费数据输入不可逆函数,得到第二字符串;
按照不可逆加密算法中的拼接顺序规则将第一字符串与第二字符串进行拼接,得到第二证明问题。
2.根据权利要求1所述一种基于零知识证明的能源消费数据处理方法,其特征在于,所述S100包括:
确定耗能企业中水、电、气计量仪表的数据端口,获取数据端口的量纲参数;
基于预设频率向所述数据端口发送数据采集请求,获取水、电、气计量仪表的计量数据,根据量纲参数对计量数据进行量纲统一处理,将处理后的计量数据作为原始能源消费数据。
3.根据权利要求1所述的一种基于零知识证明的能源消费数据处理方法,其特征在于,所述S200中的哈希算法为SHA‑256算法。
4.根据权利要求1所述的一种基于零知识证明的能源消费数据处理方法,其特征在于,所述S400包括:
将第一证明问题和第二证明问题进行比对,若经过比对得到的重复部分与第一证明问题一致,则原始能源消费数据的完整性通过校验。
5.根据权利要求1所述的一种基于零知识证明的能源消费数据处理方法,其特征在于,所述S500包括:
基于zkSNARKs零知识协议,将第一证明问题和第二证明问题分别转化为若干个二元赋值式;
将二元赋值式中的变量组合为向量u,根据二元赋值式和向量u分别将第一证明问题和第二证明问题转化为R1CS实例 ,其中N为第一证明问题或第二证明问题的变量个数,M为二元赋值式的个数,a、b、c分别为R1CS实例中的向量序列,使;
将R1CS实例转化为QAP实例 ,其中A、B、C依次为R1CS实例中的向量序列的傅里叶逆变换;
获取能源大数据中心生成的随机数 ,其中t为随机选取的采样点,计算中间向量 、 与 ,计算过程如下:;
其中, 为预设可信域D中的元素,j为的元素标号,j的取值范围为0至M‑2之间的正整数, 表示t采样点下向量A的第一个元素, 表示t采样点下向量B的第一个元素, 表示t采样点下向量C的第一个元素, 表示t采样点下向量A的第i+1个元素, 表示t采样点下向量B的第i+1个元素, 表示t采样点下向量C的第i+1个元素,i的取值范围为1至N‑1之间的正整数;
计算 以及 ,计算过程如下:;
其中, 为 的第j项系数, , 、 、 分别为t采样点下的向量A、B、C, 表示向量u的第i个元素, 表示中间向量 的第i个元素, 表示中间向量 的第j个元素,r、s为耗能企业作为证明方选取的随机数;
根据计算结果组成向量 作为零知识证明。
6.根据权利要求5所述的一种基于零知识证明的能源消费数据处理方法,其特征在于,所述向量u的第一个元素恒为1。
7.根据权利要求5所述的一种基于零知识证明的能源消费数据处理方法,其特征在于,所述S600包括:
确定双线性配对映射 为映射e的输入变量, 为映射e的输出变量;根据能源大数据中心接收到的零知识证明 验证是否正确,若正确则判定第一证明问题和第二证明问题通过真实性验证。
说明书 :
一种基于零知识证明的能源消费数据处理方法
技术领域
背景技术
露的风险,还存在从耗能企业传输至能源大数据中心的数据真实性有待商榷的问题,影响
了能源大数据中心对耗能企业能源消费的宏观分析结果。因此,零知识证明逐渐被运用到
验证能源消费数据的应用场景下。零知识证明是一种能够保护隐私的密码学算法,能够在
不向验证者提供任何隐私信息的情况下,使验证者相信某个论断是正确的。
易成立。由于能源大数据中心需要根据耗能企业的能源消费数据进行一系列能源消费情况
的分析,而哈希值是无法直接用于上述分析业务的,即使通过了现有的零知识证明机制,能
源大数据中心仍然需要获取耗能企业的原始能源消费数据来进行后续的分析业务,也就无
法真正实现不透露耗能企业隐私的要求,因此现有的零知识证明无法直接应用到能源消费
数据真实性的验证。
发明内容
算法以及随机定义的拼接规则构成不可逆加密算法,基于所述不可逆加密算法得到原始能
源消费数据的第二证明问题;
将零知识证明和第二证明问题发送给能源大数据中心;
问题存储到能源大数据中心。
费数据。
题的变量个数,M为二元赋值式的个数,a、b、c分别为R1CS实例中的向量序列,使
;
素, 表示t采样点下向量B的第一个元素, 表示t采样点下向量C的第一个元素,
表示t采样点下向量A的第 个元素, 表示t采样点下向量B的第 个元素,
表示t采样点下向量C的第 个元素,i的取值范围为1至N‑1之间的正整数;
为耗能企业作为证明方选取的随机数;
题和第二证明问题通过真实性验证。
据的同时,使能源大数据中心采集到真实的能源消费数据的相关信息,同时耗能企业通过
不可逆加密算法生成的证明问题能够直接被能源大数据中心用于后续的分析业务,解决了
通过传统的零知识证明无法满足能源分析需求的问题。
逆加密算法得到的证明问题能够验证原始能源消费数据的真实性,结合了零知识证明的特
点,能够在不泄露耗能企业隐私数据的情况下,检验传输至能源大数据中心的数据是否被
篡改,提高了数据的真实性。
附图说明
通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
具体实施方式
算法以及随机定义的拼接规则构成不可逆加密算法,基于所述不可逆加密算法得到原始能
源消费数据的第二证明问题;
将零知识证明和第二证明问题发送给能源大数据中心;
问题存储到能源大数据中心。
主要包括各个耗能企业的水、电、气以及其他新能源的实时消耗数据以及购买上述能源的
实时费用。本实施例为了实现上述目的,建立能源大数据中心并在各家耗能企业内部安装
仪表进行能源消费监控,首先确定耗能企业中水、电、气计量仪表的数据端口,获取数据端
口的量纲参数,再基于预设频率向所述数据端口发送数据采集请求,本实施例中按照十五
分钟每次的频率进行水、电、气计量仪表的计量数据的采集,根据量纲参数对计量数据进行
量纲统一处理,具体为获取预先建立的对应不同量纲的量纲转换模型,将计量数据输入量
纲转换模型,使同类能源消费数据具有相同的量纲,便于能源大数据中心后续对能源消费
情况进行统一分析,将处理后的计量数据作为原始能源消费数据。
据的过程存在隐私泄露的风险,其次从耗能企业传输至能源大数据中心的数据真实性有待
进一步商榷。以上问题的存在,一定程度上阻碍了能源大数据中心的服务质量,进而影响了
政企之间的数据共享与深度融合。因此,本实施例采用零知识证明解决上述问题。零知识证
明是一种能够保护隐私的密码学算法,能够在不向验证者提供任何隐私信息的情况下,使
验证者相信某个论断是正确的。
中,能耗验证模块部署在能源大数据中心上,能耗生成模块能够汇集耗能企业中各个仪表
采集到的计量数据,能耗加密模块将原始能源消费数据X加密处理为第一证明问题和第二
证明问题,并生成一个证明方法"π" 发送给能耗验证模块,其中,采用哈希算法对X进行数
据加密得到第一证明问题Y=Hash(X),本实施例中哈希算法为SHA‑256算法,位于能源大数
据中心的能耗验证模块将自定义的不可逆加密函数F发送给能耗加密模块,能耗加密模块
对X进行数据加密得到第二证明问题Z=F(X),其中Z能够用于能源大数据中心进行后续处
理。
数据中心具有预测能源费用的应用业务,其包括一个用于预测未来某一段时间耗能企业能
源消费情况的预测模型,需要获取耗能企业在某一时段内各类能源的消费总费用作为预测
模型的训练数据,基于此业务需求,选取一个不可逆函数,能源大数据中心将该不可逆函数
发送给耗能企业,耗能企业即可将原始能源消费数据输入不可逆函数,输出结果为各类能
源对应的原始能源消费数据的消费总费用。由此可见,不可逆函数的主要作用为将能源大
数据对数据的需求发送给耗能企业,相当于将能源大数据中心对原始能源消费数据的部分
处理操作转移到耗能企业内部进行,由耗能企业对原始能源消费数据进行一定的预处理后
直接将满足业务需求的数据处理结果发送给能源大数据中心,这样能源大数据中心即可在
不获取耗能企业的原始能源消费数据X的前提下获得其在后续应用中需要的数据,进而使
能源大数据中心能够根据这些数据进行能源营销策略的规划。
逆加密算法。能源大数据中心将不可逆加密算法发送给耗能企业,耗能企业将原始能源消
费数据输入不可逆加密算法进行计算的过程如下:
接的前后顺序,以及将第一字符串在预设字符位置进行分割后与第二字符串拼接的前后顺
序。例如,第一字符串为“3a6fed5fc11392b3ee9f81caf017b48640d7458766a8eb0382899a6
05b41f2b9”,第二字符串为“50000”,第一字符串为一个长度为64的十六进制字符串,拼接
顺序规则规定在第8个字符串的位置分割,得到第一字符串的两个子字符串“3a6fed5f”和
“c11392b3ee9f81caf017b48640d7458766a8eb0382899a605b41f2b9”,并规定分割后的两个
子字符串分别拼接在第二字符串的首尾,拼接后的字符串即为最终生成的第二证明问题,
即Z=F(X)=3a6fed5f5000011392b3ee9f81caf017b48640d7458766a8eb0382899a605b41f2
b9。
能源消费数据的完整性校验,避免因输入的原始能源消费数据不完整导致后续能源大数据
中心获取的数据不准确的问题。能源大数据中心将第一证明问题和第二证明问题进行比
对,若经过比对得到的重复部分与第一证明问题不一致,则未通过完整性校验,能源大数据
中心拒绝接收第一证明问题和第二证明问题,不再进行后续的零知识证明步骤。若经过比
对得到的重复部分与第一证明问题一致,即两次哈希值相同,说明第一证明问题Y=Hash(X)
和第二证明问题Z=F(X)中的X是一致的,原始能源消费数据的完整性通过校验。
取相关信息。
Knowledge Succinct Non‑Interactive Argument of Knowledge”的简称,指一种非交互
式的、可以证明某人拥有某些信息的证明结构。本实施例中具体零知识证明过程包括:
减、乘、除等基本运算组成的单步骤;
化为R1CS实例 ,其中N为第一证明问题或第二证明问题的变量个数,M为二
元赋值式的个数,a、b、c分别为R1CS实例中的向量序列,使 ;
再赘述;
素, 表示t采样点下向量B的第一个元素, 表示t采样点下向量C的第一个元素,
表示t采样点下向量A的第 个元素, 表示t采样点下向量B的第 个元素,
表示t采样点下向量C的第 个元素,i的取值范围为1至N‑1之间的正整数;
为耗能企业作为证明方选取的随机数;
可表示为 , 、 为映射e的输入变量, 为映射e的输出变量,本实施
例中映射e由能源大数据中心自行确定。若正确则判定第一证明问题和第二证明问题通过
真实性验证。由此可见,若第一证明问题和第二证明问题均证明成功,则能源大数据中心作
为验证者认证耗能企业具有真实的原始能源消费数据,同时存储Z=f(X)进行后续的能耗综
合运算;若第一证明问题和第二证明问题中任一项证明失败,则能源大数据中心作为验证
者认为耗能企业的原始能源消费数据不具有真实性,拒绝存储Z=f(X),并发出警报。
步的能耗计算,能源大数据中心在后续能够直接利用Z进行能源消费分析等应用业务。