一种智能电表嵌入式工程文件的加密和解密方法

文档序号:9633649阅读:925来源:国知局
一种智能电表嵌入式工程文件的加密和解密方法
【技术领域】
[0001] 本发明属于电气和自动化技术领域,尤其设及到软件工程文件的加密方法,具体 设及一种智能电表嵌入式工程文件的加密和解密方法。
【背景技术】
[0002] 电力工业的超大规模发展,带来了许多前所未有的挑战,智能电网已成为世界各 国电力工业应对未来挑战的共同选择,是21世纪电力系统的发展方向。智能电表是智能电 网数据采集的基本设备之一,承担着原始电能数据采集、计量和传输的任务,是实现信息集 成、分析优化和信息展现的基础。
[000引 目前,由于智能电网的高速发展,对智能电能表的需求量急速增力日。为保证智能电 表的准确性和精确度,按照国家电网公司的要求,必须要严格根据智能电能表技术要求对 即将投入使用的智能电表进行检测,而当前各个公司单位的智能电表嵌入式工程文件的送 审途径都是提交至指定的云平台,如何保证智能电表嵌入式工程文件的保密性W及各公司 的知识产权安全性,是当前亟待解决的难题。随着无线通讯技术W及网络加密技术的发展, 对于智能电表嵌入式工程文件的加密处理已成为工业检测的发展趋势。

【发明内容】

[0004] 本发明的目的为解决现有技术的上述问题,本发明提供一种智能电表嵌入式工程 文件的加密和解密方法,本发明提高了智能电表嵌入式工程文件加密的效率,增加了智能 电表软件工程文件的保密性和安全性,为了实现上述目的,本发明采用的技术方案如下:
[0005] -种智能电表嵌入式工程文件的加密方法,其特征在于:所述加密方法包括W下 步骤:
[0006] 步骤1 :将嵌入式工程文件分解为每个子文件;
[0007] 步骤2:将嵌入式工程文件的每个子文件中的文本字符按照次序,逐个转换为 ASCII码值,得到嵌入式工程文件每个子文件的Ascn形式Tl, i是子文件Ti的顺序编号, 其中,1《i《S,S是嵌入式工程文件的子文件数目,Ti为一个ASCII值的序列,T 1= {a 1,a 2,曰3,. . .,a.i,. . .,a。},其中a.i为子文件中字符的ASCII值,n为文件T冲ASCII值的总数;
[0008] 步骤3:对子文件Ascn形式Ti中的一系列Ascn值按顺序进行分组,根据计算的 分组长度以Ti分组后变为:
[0009] T; - { {日1,曰2,曰3,...,曰J, {日1>1,日1>2,日1>3, ? ? ?,曰2l} , ? ? ? , {日1111>1,曰2,曰3, ? ? ?日。} },
[0010] 其中
[0011] 步骤4 :对步骤3中得到的V =咕,t2,. . .,tm}中的每个子序列在65536进制中 重构,其中tq为T 1'中第q个子序列,tq= {a (q 1山1,a(q化巧,...,Sqij,1《q《m+1,即:
[001 引 Nq= 65536 L 1日(。I)…+65536L 2日(。化。+. . . +65536aqL i+3qL (D ;
[0013]若Ti'中最后一个子序列中的元素个数小于分组长度以则在序列末尾补0,若子 序列长度为以代入公式(I)中计算,得到Tl的重构的数字序列Ri,Ri=抑1,也...,?1},如 果m是奇数,则在序列Ri末尾补上一个32,即:
[0014] ^J{N"N"...,Nj ,"=偶数 ;-\祝爪_,...此骑阳=奇数 厶'
[0015] 步骤5 :对ASCII子文件利用楠圆曲线加密算法进行加密,加密过程如下:
[001引步骤5. 1 :从1到n-1之间随机选取整数k ;
[0017] 步骤5.2 :计算/(0C,其中G是选取楠圆曲线的生成元点,其中G= {6020462823
[001引其中錢表示楠圆曲线上的乘法;
[0019] 步骤5. 3 :计算其中窠表示楠圆曲线上的加法,Pb表示解密加密文 件的公钥,其中:
[0021] ,其中nB是解密文件的私钥,
[0022] 址=28186466892849679686038856807396267537577176687436853369;pm由序 列Ri中的元素成对组成,作为楠圆曲线加密方法的输入明文,即:
[0023] pm = {机,Nz},挪,NJ,…}做
[0024] 计算:
(4);
[0026] 步骤5. 4 :计算最终的加密文件pTi,pTi表示嵌入式工程文件T1的最后的密文,贝U 满足:
巧)
[0028] 步骤6 :将嵌入式工程文件子文件的文件名命名为"送检单位英文名称+智能电表 型号+软件版本号+检验员代码+文件名"的形式,重复步骤2至步骤5的加密算法将文件 名加密为数字密文。
[0029] 步骤7 :对所有加密之后的嵌入式工程文件子文件按照初始文件的存储次序存 储。
[0030] 优选地,所述加密部分步骤3中的分组长度L的计算包括如下步骤:
[0031]步骤21 :将P表示成65536进制P';
[003引步骤22:计算P'的位数长度L';
[003引步骤23 :分组长度L=L' -1 ;
[0034] 优选地,所述步骤5中的楠圆曲线加密算法加密的步骤如下:通过楠圆曲线y2 = x3+ax+bmodp上的两点P(Xl,yl),Q(X2,y2),假设/>生)y = 巧レV.)0,如果P,Q为不同的点, 则计算:
[0035] 又3二{入Z-Xi-Xzlmod P (31);
[0036] Ys= {入(X 1_又2)-yJmod P (3。;
[0037] 其中
(33);
[003引如果 P,Q 为同一个点(XI,yi),P?P = 2?戶二巧
[0040] 又3二{入2-2xi}mod P (34);
[0041] Ys= {入(X i-X3)-yJmod P (3f5);
[004引其中
(36);
[0044] 楠圆曲线上的加法满足结合律和交换律:
[0045] 戶@9 = 0?戶(37)
[0046] (戶@0)免〇=戶@(0免0) (38)
[0047] 过点P作y轴的平行线,交楠圆曲线于另一点P',P'即为P的负元,记作-P,现J 楠圆曲线上的减法运算法则满足:
[0048] -尸二y?(-尸)=〇?只 (39);
[0049] 即被减数加上减数的负元,然后进行楠圆曲线上点的乘法。
[0050] 优选地,所述步骤3的楠圆曲线方y2= X 3+ax+bmo化程满足:
[0051] 其中x,y为曲线方程的未知数a,b,p是楠圆曲线方程的参数,且参数值分别取为: 过=一3 ;
[0054] -种智能电表嵌入式工程文件的解密方法,其特征在于:将加密后的智能电表嵌 入式工程文件分解为一个个子文件,得到一系列加密文件pTi,其中,1《i《S ;,同时利用 选定的楠圆曲线y2= X 3+ax+b mod P算法进行私钥和公钥,然后生成元点G W及一系列加 密文件pTi,其解密过程包括如下步骤:
[005引步骤51 :根据加密使用的楠圆曲线y2= x3+ax+b mod P,获取私钥nB W及生成元 点G ;
[005引步骤52 :从1到n-1之间随机选取整数k,计算公;
[0057] 步骤53 :计算pm :

[005引其中"一"操作是楠圆曲线中上的减法,得到明文pm,即得到数字序列Ri;
[0060] 步骤54 :将数字序列Ri中的各个元素N。,转换为对应的Ascn值,得到嵌入式工程 文件子文件的ASCII值序列Tl;
[0061] 步骤55 :将Ti中的每个Ascn值a i转换为对应的字符,得到工程文件子文件。
[0062] 步骤56 :将工程子文件的文件名按照步骤51到步骤55解密,得到初始文件。
[0063] 综上所述,本发明由于采用了 W上技术方案,本发明具有W下显著效果:
[0064] (1)、本发明专利在楠圆曲线加密算法的基础上对预处理之后的智能电表嵌入式 工程文件进行加密,解密的操作,从而保证了送检单位智能电表嵌入式工程文件的保密性, 提高智能电表送检公司的知识产权安全性。
[0065] (2)、本发明专利将嵌入式工程文件转化为数字符号,再利用楠圆曲线加密算法对 数字文件加密,将加密后的智能电表嵌入式软件传输及存储到云端服务器,降低了互联网 带来的智能电表嵌入式工程文件传输及存储风险。
[0066] (3)、本发明提出的加密方法具有较小的密钥数据长度,从而降低了加密的时间消 耗和资源消耗,提高了智能电表嵌入式工程文件的加密速度。
【附图说明】
[0067] 为了更清楚地说明本发明实例或现有技术中的技术方案,下面将对实施实例或现 有技术描述中所需要的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明 的一些实例,对于本领域普通技术人员来说,在不付出创造性的前提下,还可W根据运些附 图获得其他的附图。
[006引图1是本发明一种智能电表嵌入式工程文件的加密方法的总流程图。
[0069] 图2是本发明一种智能电表嵌入式工程文件的加密方法的加密流程图。
[0070] 图3是本发明一种智能电表嵌入式工程文件的解密方法的解密流程图。
【具体实施方式】
[0071] 下面将结合本发明实例中的附图,对本发明实施例中的技术方案进行清楚、完整 地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于发 明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施 例,都属于本发明保护的范围。
[0072] 下面结合图1,对本发明的一种基于楠圆曲线的智能电表嵌入式工程文件加密方 法进行阐述,所述加密方法包括W下步骤:
[0073] 步骤1 :将嵌入式工程文件分解为每个子文件;
[0074] 步骤2 :将嵌入式工程文件的每个子文件中的文本字符按照次序,逐个转换为 ASCII码值,得到嵌入式工程文件每个子文件的Ascn形式Tl, i是子文件Ti的顺序编号, 其中,1《i《S,S是嵌入式工程文件的子文件数目,Ti为一个ASCII值的序列,T 1= {a 1,a 2,曰3,. . .,a.i,. . .,a。},其中a.i为子文件中字符的ASCII值,n为文件T冲ASCII值的总数; [00巧]步骤3:对子文件Ascn形式Ti中的一系列Ascn值按顺序进行分组,根据计算的 分组长度以所述分组长度L的计算包括如下步骤:
[007引 步骤21 :将P表示成65536进制P';
[0077] 步骤22:计算p'的位数长度L';
[007引步骤23 :分组长度L = L' -1 ;
[007引 Ti分组后变为:
[0080] Ti = { {日1,曰2,曰3,...,曰J ,(日1>1,日1>2,日1>3, ? ? ?,曰2l} , ? ? ? , {日1111>1,曰2,曰3, ? ? ?日。} },
[00引]其中
[008引步骤4:对步骤3中得到的V = 中的每个子序列在65536进制中
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1