基于加密算法的数据处理方法、装置、设备及介质与流程

    专利查询2022-08-20  136



    1.本发明涉及信息安全的密码技术领域,尤其涉及一种基于加密算法的数据处理方法、装置、计算机设备及存储介质。


    背景技术:

    2.在万物互联的时代,数据呈爆发式的增长,涉及用户敏感信息的需极力注意处理方式。具体的,在企业内部进行敏感信息数据流转的时候,可进行至少一层加密处理后传输,以最大程度地避免数据泄露;虽然现在有各种加密算法,但是还避免不了数据被截获或发生泄漏后,被采用撞库碰撞解密,还是存在一定的数据泄漏风险。


    技术实现要素:

    3.本发明实施例提供了一种基于加密算法的数据处理方法、装置、计算机设备及存储介质,旨在解决现有技术中对敏感信息进行至少一层加密后传输,避免不了数据被截获或发生泄漏后,被采用撞库碰撞解密,导致数据安全性降低的问题。
    4.第一方面,本发明实施例提供了一种基于加密算法的数据处理方法,其包括:
    5.响应于数据加密指令,获取与所述数据加密指令相应的待加密数据;
    6.将所述待加密数据根据所获取的国密加密模型进行加密,得到初始加密数据;
    7.将所述初始加密数据对应的字符串根据预先设置的划分策略进行分段划分,得到分段结果;其中,所述分段结果中包括多个子分段;
    8.获取与第三方名称对应的标识字符串,并获取预测模型,将所述标识字符串输入至所述预测模型得到预测结果;
    9.根据所述预测结果确定所述标识字符串所归属的目标子分段及目标插入位数;以及
    10.将所述标识字符串根据所述目标插入位数插入至所述目标子分段的对应位置,以更新初始加密数据,得到最终加密数据。
    11.第二方面,本发明实施例提供了一种基于加密算法的数据处理装置,其包括:
    12.待加密数据获取单元,用于响应于数据加密指令,获取与所述数据加密指令相应的待加密数据;
    13.初始加密单元,用于将所述待加密数据根据所获取的国密加密模型进行加密,得到初始加密数据;
    14.字符串分段单元,用于将所述初始加密数据对应的字符串根据预先设置的划分策略进行分段划分,得到分段结果;其中,所述分段结果中包括多个子分段;
    15.预测单元,用于获取与第三方名称对应的标识字符串,并获取预测模型,将所述标识字符串输入至所述预测模型得到预测结果;
    16.插入信息获取单元,用于根据所述预测结果确定所述标识字符串所归属的目标子分段及目标插入位数;以及
    17.最终加密单元,用于将所述标识字符串根据所述目标插入位数插入至所述目标子分段的对应位置,以更新初始加密数据,得到最终加密数据。
    18.第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的基于加密算法的数据处理方法。
    19.第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的基于加密算法的数据处理方法。
    20.本发明实施例提供了一种基于加密算法的数据处理方法、装置、计算机设备及存储介质,先基于国密加密模型对待加密数据进行加密得到初始加密数据,然后获取与第三方名称对应的标识字符串并获取预测模型,将标识字符串输入至预测模型得到预测结果,根据预测结果确定标识字符串所归属的目标子分段及目标插入位数,最后将标识字符串根据目标插入位数插入至目标子分段的对应位置,以更新初始加密数据得到最终加密数据。实现了对待加密数据经国密加密模型加密后的数据再加上标识字符串插入,若没有告知关联方具体数据加密和处理规则,最终加密数据是不易被破解的,极大提升数据的安全性。
    附图说明
    21.为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
    22.图1为本发明实施例提供的基于加密算法的数据处理方法的应用场景示意图;
    23.图2为本发明实施例提供的基于加密算法的数据处理方法的流程示意图;
    24.图3为本发明实施例提供的基于加密算法的数据处理装置的示意性框图;
    25.图4为本发明实施例提供的计算机设备的示意性框图。
    具体实施方式
    26.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
    27.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
    28.还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
    29.还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
    30.请参阅图1和图2,图1为本发明实施例提供的基于加密算法的数据处理方法的应
    用场景示意图;图2为本发明实施例提供的基于加密算法的数据处理方法的流程示意图,该基于加密算法的数据处理方法应用于服务器中,该方法通过安装于服务器中的应用软件进行执行。
    31.如图2所示,该方法包括步骤s101~s106。
    32.s101、响应于数据加密指令,获取与所述数据加密指令相应的待加密数据。
    33.在本实施例中,以用户端或服务器作为执行主体均可执行。当用户在用户端或服务器(本技术中将用户端或服务器对应的执行主体统称为发送端)上进行操作需要将某一待加密数据发送至接收端时,需要在用户端或服务器这一发送端上先进行加密处理再发送,从而提高数据安全性。其中,待加密数据在具体实施时可以是即时通讯数据、用户行为数据、用户基本数据等类型数据,且待加密数据是合法取得的数据。此时需要在发送端上实时检测用户是否操作触发产生了数据加密指令,如用户选定了数据并操作发送时则会触发产生数据加密指令,此时则先获取相应的待加密数据以进行后续的加密操作。
    34.s102、将所述待加密数据根据所获取的国密加密模型进行加密,得到初始加密数据。
    35.在本实施例中,当发送端获取到了待加密数据后,先获取本地预先存储的国密加密模型来对待加密数据进行初次加密,例如本技术中采用国密sm3加密算法对待加密数据进行初次加密以得到初始加密数据。通过对数据加密可以有效提高数据安全性。
    36.在一实施例中,所述国密加密模型为国密sm3加密算法,所述步骤s102包括:
    37.将所述待加密数据进行二进制转换,得到第一转换数据;
    38.将所述第一转换数据根据预设的第一数值进行分段,得到包括多个子分段的第一分段结果;
    39.若确定有子分段的字符总个数小于所述第一数值,获取相应的子分段作为目标子分段,将所述目标子分段的末尾增加1个预设的第一字符和k个预设的第二字符得到第一调整后子分段,并获取所述第一转换数据的文件长度信息以与所述第一调整后子分段进行拼接,得到第二调整后子分段;其中,所述目标子分段中字符总个数加上1和k等于预设的第三数值;
    40.对所述第一分段结果中对应的子分段进行更新,得到第二转换数据;
    41.将所述第二转换数据根据预设的第二数值进行分组,得到包括多个子分组的第一分组结果;
    42.将所述第一分组结果中子分组依序输入至国密sm3加密算法中的压缩函数中进行迭代压缩,得到迭代压缩结果,并将所述迭代压缩结果作为初始加密数据。
    43.在本实施例中,通过国密sm3加密算法对待加密数据进行加密时,具体进行以下操作:
    44.1)先将所述待加密数据进行二进制转换,得到第一转换数据;
    45.2)假设第一转换数据m的长度为l比特,首先将其除以预设的第一数值(具体实施时将第一数值设置为512),若l能整除512表示无需补充1个1和多个0在末尾;若l不能整除512则需要首先将比特“1”(也就是预设的第一字符)添加到m的末尾,再添加k个“0”(也就是预设的第二字符),k是满足l 1 k≡448mod512的最小的非负整数(其中,将第三数值设置为448)。然后再添加一个64位比特串,该64位的比特串是长度l的二进制表示(也即第一转换
    数据的文件长度信息)。填充后的第二转换数据m

    的比特长度为512的倍数;
    46.3)将第二转换数据m

    根据预设的第二数值(具体实施时第二数值与第一数值相等,均为512)进行分块得到包括n个子分组的第一分组结果,其中每一子分组都是一个512位比特长度的数据块,且n=(l 65 k)/512;此时的分块处理是按第二转换数据m

    的比特位排列顺序依序进行划分,例如第二转换数据m

    的1-512位比特位划分到第一子分组,将513-1024位比特位划分到第二子分组,依此类推直至完成全部划分;
    47.4)若将第一分组结果的n个子分组分别记为第1数据块b0至第n数据块b
    n-1
    ,此时先对第一数据块b0基于国密sm3加密算法中的压缩函数cf进行第一次压缩,得到第一压缩结果v1;然后;其中,压缩函数表示为v
    i 1
    =cf(vi,bi),且v0=7380166f4914b2b9172442d7da8a0600a96f30bc163138aae38dee4db0fb0e4e;之后再将第一压缩结果v1和第二数据块b1输入至压缩函数cf进行第二次压缩,得到第二压缩结果v2;依次类推,直至将第n-1压缩结果v
    n-1
    和第n数据块b
    n-1
    输入至压缩函数cf进行第n次压缩得到第n压缩结果vn;
    48.5)将所得到的第n次压缩得到第n压缩结果vn作为初始加密结果。
    49.可见,通过上述方式实现了将待加密数据通过国密sm3模型快速的加密,通过初始加密提高了数据安全性。
    50.在一实施例中,所述将所述第一分组结果中子分组依序输入至国密sm3加密算法中的压缩函数中进行迭代压缩,得到迭代压缩结果,并将所述迭代压缩结果作为初始加密数据,包括:
    51.获取所述第一分组结果中第j数据块b
    j-1
    ,将第j数据块b
    j-1
    划分为16个消息字且16个消息字分别记为w
    j,0
    至w
    j,15
    ;其中,j的初始取值为1且j的取值范围是[1,n],n表示所述第一分组结果中子分组的总个数;
    [0052]
    将第j数据块b
    j-1
    对应的消息字w
    j,0
    至w
    j,15
    按预设的第一消息字扩充策略扩展得到52个第一次扩展消息字且分别记为w
    j,16
    至w
    j,67

    [0053]
    将第j数据块b
    j-1
    对应的消息字w
    j,0
    至w
    j,63
    按预设的第二消息字扩充策略扩展得到64个第二次扩展消息字且分别记为w’j,0
    至w’j,63

    [0054]
    由第j数据块b
    j-1
    对应的消息字w
    j,0
    至w
    j,63
    及第二次扩展消息字w’j,0
    至w’j,63
    组成第j数据块b
    j-1
    对应的扩展消息字集;
    [0055]
    获取第j数据块b
    j-1
    对应的第j-1压缩结果v
    j-1
    ,将第j-1压缩结果v
    j-1
    存储至字寄存器;其中,v0=7380166f4914b2b9172442d7da8a0600a96f30bc163138aae38dee4db0fb0e4e;
    [0056]
    将第j-1压缩结果v
    j-1
    根据预设的迭代策略和所述扩展消息字集迭代预设次数,得到与所述第j-1压缩结果v
    j-1
    对应的第j压缩结果vj;
    [0057]
    将j自增1以更新j的取值;
    [0058]
    若确定j未超出n,返回执行获取所述第一分组结果中第j数据块b
    j-1
    ,将第j数据块b
    j-1
    划分为16个消息字且16个消息字分别记为w
    j0
    至w
    j15
    的步骤;
    [0059]
    若确定j超出n,获取第n压缩结果vn作为初始加密数据。
    [0060]
    在本实施例中,由于之前已将待加密数据进行二进制转换得到第一转换数据,还将第一转换数据按照每512个比特位一组划分成了包括n个子分组的第一分组结果,此时可以将每一个子分组对应的数据块分别基于迭代压缩算法进行压缩得到初始加密数据。下面对基于第1数据块b0和初始压缩结果v0获取第1压缩结果v1的详细过程进行说明:
    [0061]
    11)因为第1数据块b0是512个比特位,相当于64个字符(因为二进制中每8个比特位表示一个字符),而一个消息字的是32比特位,故可以先将第1数据块b0划分成16个消息字且16个消息字分别记为w
    1,0
    至w
    1,15

    [0062]
    12)预设的第一消息字扩充策略为:
    [0063]wj,l

    p1(w
    j,l-16
    ⊕wj,l-9

    (w
    j,l-3
    《《《15))

    (w
    j,l-13
    《《《7)
    ⊕wj,l-6

    [0064]
    其中,p1(x)=x

    (x《《《15)

    (x《《《23),且l的取值范围是[16,67];
    [0065]
    基于第1数据块b0已划分的16个消息字w
    1,0
    至w
    1,15
    和上述第一消息字扩充策略,可以扩展得到52个第一次扩展消息字且分别记为w
    1,16
    至w
    1,67

    [0066]
    13)预设的第二消息字扩充策略为:w

    j,m
    ←wj,m
    ⊕wj,m 4,
    且m的取值范围是[0,63];基于第1数据块b0已划分的16个消息字w
    1,0
    至w
    1,15
    、52个第一次扩展消息字w
    1,16
    至w
    1,67
    和上述第二消息字扩充策略,可以扩展得到64个第二次扩展消息字且分别记为w’1,0
    至w’1,63

    [0067]
    14)由16个消息字w
    1,0
    至w
    1,15
    、52个第一次扩展消息字w
    1,16
    至w
    1,67
    和64个第二次扩展消息字w’1,0
    至w’1,63
    组成第1数据块b0对应的扩展消息字集;
    [0068]
    15)获取第1数据块b0对应的第0压缩结果v0,由于v0是64位的16进制数,故每一位可由4位二进制数表示,故v0对应有256个比特位,此时将v0存储至abcdefgh这8个字寄存器且每一个字寄存器能存储32个比特位,以实现对第0压缩结果v0的初始存储。
    [0069]
    16)通过对abcdefgh这8个字寄存器初始赋值后,之后进行64轮迭代,每一轮迭代都参照如下迭代策略:
    [0070]
    ss1

    ((a《《《12) e (t
    j,l
    《《《l))<<7;
    [0071]
    ss2

    ss1

    (a《《《12);
    [0072]
    tt1

    ff
    j,m
    (a,b,c) d ss2 w'
    j,m

    [0073]
    tt2

    gg
    j,l
    (e,f,g) h ss1 w
    j,l

    [0074]d←
    c;
    [0075]c←
    b《《《9;
    [0076]b←
    a;
    [0077]a←
    tt1;
    [0078]h←
    g;
    [0079]g←
    f《《《19;
    [0080]f←
    e;
    [0081]e←
    p0(tt2);
    [0082]
    其中,t
    j,l
    在l取值位于[0,15]时t
    j,l
    =79cc4519,且t
    j,l
    在l取值位于[16,63]时t
    j,l
    =7a879d8a;
    [0083]
    ff
    j,m
    (x,y,z)在m的取值位于[0,15]时ff
    j,m
    (x,y,z)=x
    ⊕y⊕
    z,且ff
    j,m
    (x,y,z)在m的取值位于[16,63]时ff
    j,m
    (x,y,z)=(x∧y)∨(x∧y)∨(y∧z);
    [0084]
    gg
    j,l
    (x,y,z)在l的取值位于[0,15]时gg
    j,l
    (x,y,z)=x
    ⊕y⊕
    z,且gg
    j,l
    (x,y,z)在l的取值位于[16,63]时其中x、y、z为字,∧为与运算,∨为或运算,为非运算,

    为异或运算;其中x、y、z为字,∧为与运算,∨为或运算,为非运算,

    为异或运算;
    [0085]
    p0(x)=x

    (x《《《9)

    (x《《《17);
    [0086]
    在对abcdefgh这8个字寄存器基于v0进行初始赋值并参考上述迭代策略进行了64轮迭代之后即可得到第1压缩结果v1。之后,对第一分组结果其他子分组也能依序输入至压缩函数表示为v
    i 1
    =cf(vi,bi)进行压缩运算,具体压缩运算过程参考由第1数据块b0和初始压缩结果v0获取第1压缩结果v1的过程。可见,通过这一加密方式,能有效提高数据的安全性。
    [0087]
    s103、将所述初始加密数据对应的字符串根据预先设置的划分策略进行分段划分,得到分段结果;其中,所述分段结果中包括多个子分段。
    [0088]
    在本实施例中,当得到了初始加密数据后(其中,初始加密数据是256位比特位长度),可以对应转换为32位字符组成的字符串,这是因为每8个比特位能对应转换成1个字符。为了便于后面步骤中准确获取标识字符串的具体插入位置,此时可以将字符串先根据预先设置的划分策略进行分段划分,得到分段结果。
    [0089]
    在一实施例中,所述划分策略用于将字符串根据预设的第一分段个数进行平均划分得到分段结果,步骤s103包括:
    [0090]
    获取所述划分策略相应的第一分段个数,将所述初始加密数据对应的字符串根据所述第一分段个数进行平均划分,得到分段结果。
    [0091]
    在本实施例中,以预设的第一分段个数为2为例来说明,可以将32位的字符串前16位字符划分为第一子分段,将后16位字符划分为第二子分段,从而实现了快速将字符串进行平均划分,这样后续要插入的标识字符串可以在上述任意一个子分段中的任意位置处插入。
    [0092]
    s104、获取与第三方名称对应的标识字符串,并获取预测模型,将所述标识字符串输入至所述预测模型得到预测结果。
    [0093]
    在本实施例中,因为待加密数据在发送端中进行加密是为了数据更加安全的被发送至接收端,故此时还可以先获取接收端的第三方名称,例如第三方名称为公司名称、部门名称等);然后将第三方名称对应转换为标识字符串,例如直接将中文的第三方名称转换为公司英文名称简称作为标识字符串;之后将所述标识字符串作为预测模型(其中预测模型采用卷积神经网络、循环神经网络等神经网络模型)的输入进行预测运算,得到预测结果。此时不是随机选择分段结果中的一个插入位置以将标识字符串进行插入,而是预测运算获取其相应的预测结果再对应将标识字符插入至分段结果中的相应位置。
    [0094]
    在一实施例中,步骤s104包括:
    [0095]
    获取所述标识字符串对应的输入向量,将所述输入向量输入至所述预测模型进行运算得到预测结果。
    [0096]
    在本实施例中,一般标识字符串是英文字符串,无法直接输入至预测模型进行运算,需要先将其转换为输入向量,更具体可以采用word2vec模型将英文字符串对应的单词转换为一个输入向量,然后将输入向量输入至所述预测模型中进行运算,即可输出一个预测结果。一般预测结果是一个输出向量,表示标识字符串分别属于预设的多个类别中个类别的概率,如预设有5个类别(如分别记为预测类别1-预测类别5),且标识字符串分别属于预测类别1-预测类别5各自对应的概率为0.3、0.25、0.2、0.15和0.1,此时可见标识字符串属于预测类别1的概率值为最大值。此时确定所述标识字符串对应的预测结果为其属于预测类别1。通过预测模型,可以快速的确定所述标识字符串所对应的预测结果,从而用作辅
    助后续确定所述标识字符串插入位置的参数。
    [0097]
    s105、根据所述预测结果确定所述标识字符串所归属的目标子分段及目标插入位数。
    [0098]
    在本实施例中,当获取了所述预测结果后,可以根据所述预测结果相应的类别编号作为所述标识字符串所归属的目标子分段的序号,从而快速确定所述标识字符串所的插入位置。例如,继续参考上述示例,所述预测结果为所述标识字符串属于预测类别1,而预测类别1的类别编号1可以用于选定分段结果中的第一子分段作为目标子分段,然后将所述标识字符串直接添加在第一子分段的末尾处,从而对第一子分段实现了快速更新。
    [0099]
    在一实施例中,步骤s105包括:
    [0100]
    获取所述预测结果相应的类别序号,并获取所述分段结果中所包括子分段的分段总个数;
    [0101]
    将所述类别序号对于所述分段总个数求余数得到余数结果,将所述余数结果作为所述标识字符串所归属的子分段的目标分段序号;
    [0102]
    根据所述目标分段序号在所述分段结果中获取相应子分段作为目标子分段;
    [0103]
    获取所述目标子分段中的目标字符总数,并通过所述目标字符总数加1获取所述目标插入位数。
    [0104]
    在本实施例中,更具体的当获取了所述预测结果后,还可以根据所述预测结果相应的类别序号(即类别编号)与分段结果中所包括子分段的分段总个数求余数得到的余数结果作为所述标识字符串所归属的子分段的目标分段序号,从而快速确定所述标识字符串所的所插入的目标分段。而且在确定所述标识字符串在第一子分段中的目标插入位数时,先获取所述第一子分段中的字符总数,然后字符总数加一的值作为所述标识字符串的首字符的目标插入位数,之后完成了将所述标识字符串在第一子分段中的末尾时,即可完成标识字符串的插入处理。
    [0105]
    s106、将所述标识字符串根据所述目标插入位数插入至所述目标子分段的对应位置,以更新初始加密数据,得到最终加密数据。
    [0106]
    在本实施例中,当将所述标识字符串根据所述目标插入位数插入至所述目标子分段的对应位置后,即可实现对初始加密数据的更新,相当于做了二次加密操作,提高了数据的安全性。之后,在发送端上得到的最终加密数据可以发送至接收端,接收端在接收到所述最终加密数据后,可以参照加密过程的逆过程进行解密,从而得到还原后的待加密数据。
    [0107]
    在一实施例中,步骤s106之后还包括:
    [0108]
    将所述最终加密数据发送至所述第三方名称对应的接收端,并将所述目标插入位数发送至所述接收端。
    [0109]
    在本实施例中,接收端在接收到最终加密数据后,只有在已知标识字符串的插入位置且已知标识字符串的正确字符串进行移除后,在基于国密sm3解密模型才能解密还原出最原始的待加密数据进行查看。
    [0110]
    本技术实施例可以基于人工智能技术对服务器中相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
    [0111]
    人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
    [0112]
    该方法实现了对待加密数据经国密加密模型加密后的数据再加上标识字符串插入,若没有告知关联方具体数据加密和处理规则,最终加密数据是不易被破解的,极大提升数据的安全性。
    [0113]
    本发明实施例还提供一种基于加密算法的数据处理装置,该基于加密算法的数据处理装置用于执行前述基于加密算法的数据处理方法的任一实施例。具体地,请参阅图3,图3是本发明实施例提供的基于加密算法的数据处理装置100的示意性框图。
    [0114]
    其中,如图3所示,基于加密算法的数据处理装置100包括待加密数据获取单元101、初始加密单元102、字符串分段单元103、预测单元104、插入信息获取单元105和最终加密单元106。
    [0115]
    待加密数据获取单元101,用于响应于数据加密指令,获取与所述数据加密指令相应的待加密数据。
    [0116]
    在本实施例中,以用户端或服务器作为执行主体均可执行。当用户在用户端或服务器(本技术中将用户端或服务器对应的执行主体统称为发送端)上进行操作需要将某一待加密数据发送至接收端时,需要在用户端或服务器这一发送端上先进行加密处理再发送,从而提高数据安全性。其中,待加密数据在具体实施时可以是即时通讯数据、用户行为数据、用户基本数据等类型数据,且待加密数据是合法取得的数据。此时需要在发送端上实时检测用户是否操作触发产生了数据加密指令,如用户选定了数据并操作发送时则会触发产生数据加密指令,此时则先获取相应的待加密数据以进行后续的加密操作。
    [0117]
    初始加密单元102,用于将所述待加密数据根据所获取的国密加密模型进行加密,得到初始加密数据。
    [0118]
    在本实施例中,当发送端获取到了待加密数据后,先获取本地预先存储的国密加密模型来对待加密数据进行初次加密,例如本技术中采用国密sm3加密算法对待加密数据进行初次加密以得到初始加密数据。通过对数据加密可以有效提高数据安全性。
    [0119]
    在一实施例中,所述国密加密模型为国密sm3加密算法,所述初始加密单元102具体用于:
    [0120]
    将所述待加密数据进行二进制转换,得到第一转换数据;
    [0121]
    将所述第一转换数据根据预设的第一数值进行分段,得到包括多个子分段的第一分段结果;
    [0122]
    若确定有子分段的字符总个数小于所述第一数值,获取相应的子分段作为目标子分段,将所述目标子分段的末尾增加1个预设的第一字符和k个预设的第二字符得到第一调整后子分段,并获取所述第一转换数据的文件长度信息以与所述第一调整后子分段进行拼接,得到第二调整后子分段;其中,所述目标子分段中字符总个数加上1和k等于预设的第三数值;
    [0123]
    对所述第一分段结果中对应的子分段进行更新,得到第二转换数据;
    [0124]
    将所述第二转换数据根据预设的第二数值进行分组,得到包括多个子分组的第一
    分组结果;
    [0125]
    将所述第一分组结果中子分组依序输入至国密sm3加密算法中的压缩函数中进行迭代压缩,得到迭代压缩结果,并将所述迭代压缩结果作为初始加密数据。
    [0126]
    在本实施例中,通过国密sm3加密算法对待加密数据进行加密时,具体进行以下操作:
    [0127]
    1)先将所述待加密数据进行二进制转换,得到第一转换数据;
    [0128]
    2)假设第一转换数据m的长度为l比特,首先将其除以预设的第一数值(具体实施时将第一数值设置为512),若l能整除512表示无需补充1个1和多个0在末尾;若l不能整除512则需要首先将比特“1”(也就是预设的第一字符)添加到m的末尾,再添加k个“0”(也就是预设的第二字符),k是满足l 1 k≡448mod512的最小的非负整数(其中,将第三数值设置为448)。然后再添加一个64位比特串,该64位的比特串是长度l的二进制表示(也即第一转换数据的文件长度信息)。填充后的第二转换数据m

    的比特长度为512的倍数;
    [0129]
    3)将第二转换数据m

    根据预设的第二数值(具体实施时第二数值与第一数值相等,均为512)进行分块得到包括n个子分组的第一分组结果,其中每一子分组都是一个512位比特长度的数据块,且n=(l 65 k)/512;此时的分块处理是按第二转换数据m

    的比特位排列顺序依序进行划分,例如第二转换数据m

    的1-512位比特位划分到第一子分组,将513-1024位比特位划分到第二子分组,依此类推直至完成全部划分;
    [0130]
    4)若将第一分组结果的n个子分组分别记为第1数据块b0至第n数据块b
    n-1
    ,此时先对第一数据块b0基于国密sm3加密算法中的压缩函数cf进行第一次压缩,得到第一压缩结果v1;然后;其中,压缩函数表示为v
    i 1
    =cf(vi,bi),且v0=7380166f4914b2b9172442d7da8a0600a96f30bc163138aae38dee4db0fb0e4e;之后再将第一压缩结果v1和第二数据块b1输入至压缩函数cf进行第二次压缩,得到第二压缩结果v2;依次类推,直至将第n-1压缩结果v
    n-1
    和第n数据块b
    n-1
    输入至压缩函数cf进行第n次压缩得到第n压缩结果vn;
    [0131]
    5)将所得到的第n次压缩得到第n压缩结果vn作为初始加密结果。
    [0132]
    可见,通过上述方式实现了将待加密数据通过国密sm3模型快速的加密,通过初始加密提高了数据安全性。
    [0133]
    在一实施例中,所述将所述第一分组结果中子分组依序输入至国密sm3加密算法中的压缩函数中进行迭代压缩,得到迭代压缩结果,并将所述迭代压缩结果作为初始加密数据,包括:
    [0134]
    获取所述第一分组结果中第j数据块b
    j-1
    ,将第j数据块b
    j-1
    划分为16个消息字且16个消息字分别记为w
    j,0
    至w
    j,15
    ;其中,j的初始取值为1且j的取值范围是[1,n],n表示所述第一分组结果中子分组的总个数;
    [0135]
    将第j数据块b
    j-1
    对应的消息字w
    j,0
    至w
    j,15
    按预设的第一消息字扩充策略扩展得到52个第一次扩展消息字且分别记为w
    j,16
    至w
    j,67

    [0136]
    将第j数据块b
    j-1
    对应的消息字w
    j,0
    至w
    j,63
    按预设的第二消息字扩充策略扩展得到64个第二次扩展消息字且分别记为w’j,0
    至w’j,63

    [0137]
    由第j数据块b
    j-1
    对应的消息字w
    j,0
    至w
    j,63
    及第二次扩展消息字w’j,0
    至w’j,63
    组成第j数据块b
    j-1
    对应的扩展消息字集;
    [0138]
    获取第j数据块b
    j-1
    对应的第j-1压缩结果v
    j-1
    ,将第j-1压缩结果v
    j-1
    存储至字寄存
    器;其中,v0=7380166f4914b2b9172442d7da8a0600a96f30bc163138aae38dee4db0fb0e4e;
    [0139]
    将第j-1压缩结果v
    j-1
    根据预设的迭代策略和所述扩展消息字集迭代预设次数,得到与所述第j-1压缩结果v
    j-1
    对应的第j压缩结果vj;
    [0140]
    将j自增1以更新j的取值;
    [0141]
    若确定j未超出n,返回执行获取所述第一分组结果中第j数据块b
    j-1
    ,将第j数据块b
    j-1
    划分为16个消息字且16个消息字分别记为w
    j0
    至w
    j15
    的步骤;
    [0142]
    若确定j超出n,获取第n压缩结果vn作为初始加密数据。
    [0143]
    在本实施例中,由于之前已将待加密数据进行二进制转换得到第一转换数据,还将第一转换数据按照每512个比特位一组划分成了包括n个子分组的第一分组结果,此时可以将每一个子分组对应的数据块分别基于迭代压缩算法进行压缩得到初始加密数据。下面对基于第1数据块b0和初始压缩结果v0获取第1压缩结果v1的详细过程进行说明:
    [0144]
    11)因为第1数据块b0是512个比特位,相当于64个字符(因为二进制中每8个比特位表示一个字符),而一个消息字的是32比特位,故可以先将第1数据块b0划分成16个消息字且16个消息字分别记为w
    1,0
    至w
    1,15

    [0145]
    12)预设的第一消息字扩充策略为:
    [0146]wj,l

    p1(w
    j,l-16
    ⊕wj,l-9

    (w
    j,l-3
    《《《15))

    (w
    j,l-13
    《《《7)
    ⊕wj,l-6

    [0147]
    其中,p1(x)=x

    (x《《《15)

    (x《《《23),且l的取值范围是[16,67];
    [0148]
    基于第1数据块b0已划分的16个消息字w
    1,0
    至w
    1,15
    和上述第一消息字扩充策略,可以扩展得到52个第一次扩展消息字且分别记为w
    1,16
    至w
    1,67

    [0149]
    13)预设的第二消息字扩充策略为:w

    j,m
    ←wj,m
    ⊕wj,m 4,
    且m的取值范围是[0,63];基于第1数据块b0已划分的16个消息字w
    1,0
    至w
    1,15
    、52个第一次扩展消息字w
    1,16
    至w
    1,67
    和上述第二消息字扩充策略,可以扩展得到64个第二次扩展消息字且分别记为w’1,0
    至w’1,63

    [0150]
    14)由16个消息字w
    1,0
    至w
    1,15
    、52个第一次扩展消息字w
    1,16
    至w
    1,67
    和64个第二次扩展消息字w’1,0
    至w’1,63
    组成第1数据块b0对应的扩展消息字集;
    [0151]
    15)获取第1数据块b0对应的第0压缩结果v0,由于v0是64位的16进制数,故每一位可由4位二进制数表示,故v0对应有256个比特位,此时将v0存储至abcdefgh这8个字寄存器且每一个字寄存器能存储32个比特位,以实现对第0压缩结果v0的初始存储。
    [0152]
    16)通过对abcdefgh这8个字寄存器初始赋值后,之后进行64轮迭代,每一轮迭代都参照如下迭代策略:
    [0153]
    ss1

    ((a《《《12) e (t
    j,l
    《《《l))<<7;
    [0154]
    ss2

    ss1

    (a《《《12);
    [0155]
    tt1

    ff
    j,m
    (a,b,c) d ss2 w'
    j,m

    [0156]
    tt2

    gg
    j,l
    (e,f,g) h ss1 w
    j,l

    [0157]d←
    c;
    [0158]c←
    b《《《9;
    [0159]b←
    a;
    [0160]a←
    tt1;
    [0161]h←
    g;
    [0162]g←
    f《《《19;
    [0163]f←
    e;
    [0164]e←
    p0(tt2);
    [0165]
    其中,t
    j,l
    在l取值位于[0,15]时t
    j,l
    =79cc4519,且t
    j,l
    在l取值位于[16,63]时t
    j,l
    =7a879d8a;
    [0166]
    ff
    j,m
    (x,y,z)在m的取值位于[0,15]时ff
    j,m
    (x,y,z)=x
    ⊕y⊕
    z,且ff
    j,m
    (x,y,z)在m的取值位于[16,63]时ff
    j,m
    (x,y,z)=(x∧y)∨(x∧y)∨(y∧z);
    [0167]
    gg
    j,l
    (x,y,z)在l的取值位于[0,15]时gg
    j,l
    (x,y,z)=x
    ⊕y⊕
    z,且gg
    j,l
    (x,y,z)在l的取值位于[16,63]时其中x、y、z为字,∧为与运算,∨为或运算,为非运算,

    为异或运算;其中x、y、z为字,∧为与运算,∨为或运算,为非运算,

    为异或运算;
    [0168]
    p0(x)=x

    (x《《《9)

    (x《《《17);
    [0169]
    在对abcdefgh这8个字寄存器基于v0进行初始赋值并参考上述迭代策略进行了64轮迭代之后即可得到第1压缩结果v1。之后,对第一分组结果其他子分组也能依序输入至压缩函数表示为v
    i 1
    =cf(vi,bi)进行压缩运算,具体压缩运算过程参考由第1数据块b0和初始压缩结果v0获取第1压缩结果v1的过程。可见,通过这一加密方式,能有效提高数据的安全性。
    [0170]
    字符串分段单元103,用于将所述初始加密数据对应的字符串根据预先设置的划分策略进行分段划分,得到分段结果;其中,所述分段结果中包括多个子分段。
    [0171]
    在本实施例中,当得到了初始加密数据后(其中,初始加密数据是256位比特位长度),可以对应转换为32位字符组成的字符串,这是因为每8个比特位能对应转换成1个字符。为了便于后面步骤中准确获取标识字符串的具体插入位置,此时可以将字符串先根据预先设置的划分策略进行分段划分,得到分段结果。
    [0172]
    在一实施例中,所述划分策略用于将字符串根据预设的第一分段个数进行平均划分得到分段结果,字符串分段单元103具体用于:
    [0173]
    获取所述划分策略相应的第一分段个数,将所述初始加密数据对应的字符串根据所述第一分段个数进行平均划分,得到分段结果。
    [0174]
    在本实施例中,以预设的第一分段个数为2为例来说明,可以将32位的字符串前16位字符划分为第一子分段,将后16位字符划分为第二子分段,从而实现了快速将字符串进行平均划分,这样后续要插入的标识字符串可以在上述任意一个子分段中的任意位置处插入。
    [0175]
    预测单元104,用于获取与第三方名称对应的标识字符串,并获取预测模型,将所述标识字符串输入至所述预测模型得到预测结果。
    [0176]
    在本实施例中,因为待加密数据在发送端中进行加密是为了数据更加安全的被发送至接收端,故此时还可以先获取接收端的第三方名称,例如第三方名称为公司名称、部门名称等);然后将第三方名称对应转换为标识字符串,例如直接将中文的第三方名称转换为公司英文名称简称作为标识字符串;之后将所述标识字符串作为预测模型(其中预测模型采用卷积神经网络、循环神经网络等神经网络模型)的输入进行预测运算,得到预测结果。此时不是随机选择分段结果中的一个插入位置以将标识字符串进行插入,而是预测运算获取其相应的预测结果再对应将标识字符插入至分段结果中的相应位置。
    [0177]
    在一实施例中,预测单元104具体用于:
    [0178]
    获取所述标识字符串对应的输入向量,将所述输入向量输入至所述预测模型进行运算得到预测结果。
    [0179]
    在本实施例中,一般标识字符串是英文字符串,无法直接输入至预测模型进行运算,需要先将其转换为输入向量,更具体可以采用word2vec模型将英文字符串对应的单词转换为一个输入向量,然后将输入向量输入至所述预测模型中进行运算,即可输出一个预测结果。一般预测结果是一个输出向量,表示标识字符串分别属于预设的多个类别中个类别的概率,如预设有5个类别(如分别记为预测类别1-预测类别5),且标识字符串分别属于预测类别1-预测类别5各自对应的概率为0.3、0.25、0.2、0.15和0.1,此时可见标识字符串属于预测类别1的概率值为最大值。此时确定所述标识字符串对应的预测结果为其属于预测类别1。通过预测模型,可以快速的确定所述标识字符串所对应的预测结果,从而用作辅助后续确定所述标识字符串插入位置的参数。
    [0180]
    插入信息获取单元105,用于根据所述预测结果确定所述标识字符串所归属的目标子分段及目标插入位数。
    [0181]
    在本实施例中,当获取了所述预测结果后,可以根据所述预测结果相应的类别编号作为所述标识字符串所归属的目标子分段的序号,从而快速确定所述标识字符串所的插入位置。例如,继续参考上述示例,所述预测结果为所述标识字符串属于预测类别1,而预测类别1的类别编号1可以用于选定分段结果中的第一子分段作为目标子分段,然后将所述标识字符串直接添加在第一子分段的末尾处,从而对第一子分段实现了快速更新。
    [0182]
    在一实施例中,插入信息获取单元105具体用于:
    [0183]
    获取所述预测结果相应的类别序号,并获取所述分段结果中所包括子分段的分段总个数;
    [0184]
    将所述类别序号对于所述分段总个数求余数得到余数结果,将所述余数结果作为所述标识字符串所归属的子分段的目标分段序号;
    [0185]
    根据所述目标分段序号在所述分段结果中获取相应子分段作为目标子分段;
    [0186]
    获取所述目标子分段中的目标字符总数,并通过所述目标字符总数加1获取所述目标插入位数。
    [0187]
    在本实施例中,更具体的当获取了所述预测结果后,还可以根据所述预测结果相应的类别序号(即类别编号)与分段结果中所包括子分段的分段总个数求余数得到的余数结果作为所述标识字符串所归属的子分段的目标分段序号,从而快速确定所述标识字符串所的所插入的目标分段。而且在确定所述标识字符串在第一子分段中的目标插入位数时,先获取所述第一子分段中的字符总数,然后字符总数加一的值作为所述标识字符串的首字符的目标插入位数,之后完成了将所述标识字符串在第一子分段中的末尾时,即可完成标识字符串的插入处理。
    [0188]
    最终加密单元106,用于将所述标识字符串根据所述目标插入位数插入至所述目标子分段的对应位置,以更新初始加密数据,得到最终加密数据。
    [0189]
    在本实施例中,当将所述标识字符串根据所述目标插入位数插入至所述目标子分段的对应位置后,即可实现对初始加密数据的更新,相当于做了二次加密操作,提高了数据的安全性。之后,在发送端上得到的最终加密数据可以发送至接收端,接收端在接收到所述
    最终加密数据后,可以参照加密过程的逆过程进行解密,从而得到还原后的待加密数据。
    [0190]
    在一实施例中,基于加密算法的数据处理装置100还包括:
    [0191]
    加密数据发送单元,用于将所述最终加密数据发送至所述第三方名称对应的接收端,并将所述目标插入位数发送至所述接收端。
    [0192]
    在本实施例中,接收端在接收到最终加密数据后,只有在已知标识字符串的插入位置且已知标识字符串的正确字符串进行移除后,在基于国密sm3解密模型才能解密还原出最原始的待加密数据进行查看。
    [0193]
    该装置实现了对待加密数据经国密加密模型加密后的数据再加上标识字符串插入,若没有告知关联方具体数据加密和处理规则,最终加密数据是不易被破解的,极大提升数据的安全性。
    [0194]
    上述基于加密算法的数据处理装置可以实现为计算机程序的形式,该计算机程序可以在如图4所示的计算机设备上运行。
    [0195]
    请参阅图4,图4是本发明实施例提供的计算机设备的示意性框图。该计算机设备500是服务器,也可以是服务器集群。服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
    [0196]
    参阅图4,该计算机设备500包括通过装置总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括存储介质503和内存储器504。
    [0197]
    该存储介质503可存储操作装置5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行基于加密算法的数据处理方法。
    [0198]
    该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
    [0199]
    该内存储器504为存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行基于加密算法的数据处理方法。
    [0200]
    该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图4中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
    [0201]
    其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现本发明实施例公开的基于加密算法的数据处理方法。
    [0202]
    本领域技术人员可以理解,图4中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图4所示实施例一致,在此不再赘述。
    [0203]
    应当理解,在本发明实施例中,处理器502可以是中央处理单元(central processing unit,cpu),该处理器502还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gatearray,fpga)或者其他可编程逻辑器
    件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
    [0204]
    在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质,也可以为易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本发明实施例公开的基于加密算法的数据处理方法。
    [0205]
    所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
    [0206]
    在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
    [0207]
    所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
    [0208]
    另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
    [0209]
    所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,后台服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、磁碟或者光盘等各种可以存储程序代码的介质。
    [0210]
    以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

    技术特征:
    1.一种基于加密算法的数据处理方法,其特征在于,包括:响应于数据加密指令,获取与所述数据加密指令相应的待加密数据;将所述待加密数据根据所获取的国密加密模型进行加密,得到初始加密数据;将所述初始加密数据对应的字符串根据预先设置的划分策略进行分段划分,得到分段结果;其中,所述分段结果中包括多个子分段;获取与第三方名称对应的标识字符串,并获取预测模型,将所述标识字符串输入至所述预测模型得到预测结果;根据所述预测结果确定所述标识字符串所归属的目标子分段及目标插入位数;以及将所述标识字符串根据所述目标插入位数插入至所述目标子分段的对应位置,以更新初始加密数据,得到最终加密数据。2.根据权利要求1所述的基于加密算法的数据处理方法,其特征在于,所述国密加密模型为国密sm3加密算法;所述将所述待加密数据根据所获取的国密加密模型进行加密,得到初始加密数据,包括:将所述待加密数据进行二进制转换,得到第一转换数据;将所述第一转换数据根据预设的第一数值进行分段,得到包括多个子分段的第一分段结果;若确定有子分段的字符总个数小于所述第一数值,获取相应的子分段作为目标子分段,将所述目标子分段的末尾增加1个预设的第一字符和k个预设的第二字符得到第一调整后子分段,并获取所述第一转换数据的文件长度信息以与所述第一调整后子分段进行拼接,得到第二调整后子分段;其中,所述目标子分段中字符总个数加上1和k等于预设的第三数值;对所述第一分段结果中对应的子分段进行更新,得到第二转换数据;将所述第二转换数据根据预设的第二数值进行分组,得到包括多个子分组的第一分组结果;将所述第一分组结果中子分组依序输入至国密sm3加密算法中的压缩函数中进行迭代压缩,得到迭代压缩结果,并将所述迭代压缩结果作为初始加密数据。3.根据权利要求2所述的基于加密算法的数据处理方法,其特征在于,所述将所述第一分组结果中子分组依序输入至国密sm3加密算法中的压缩函数中进行迭代压缩,得到迭代压缩结果,并将所述迭代压缩结果作为初始加密数据,包括:获取所述第一分组结果中第j数据块b
    j-1
    ,将第j数据块b
    j-1
    划分为16个消息字且16个消息字分别记为w
    j,0
    至w
    j,15
    ;其中,j的初始取值为1且j的取值范围是[1,n],n表示所述第一分组结果中子分组的总个数;将第j数据块b
    j-1
    对应的消息字w
    j,0
    至w
    j,15
    按预设的第一消息字扩充策略扩展得到52个第一次扩展消息字且分别记为w
    j,16
    至w
    j,67
    ;将第j数据块b
    j-1
    对应的消息字w
    j,0
    至w
    j,63
    按预设的第二消息字扩充策略扩展得到64个第二次扩展消息字且分别记为w’j,0
    至w’j,63
    ;由第j数据块b
    j-1
    对应的消息字w
    j,0
    至w
    j,63
    及第二次扩展消息字w’j,0
    至w’j,63
    组成第j数据块b
    j-1
    对应的扩展消息字集;
    获取第j数据块b
    j-1
    对应的第j-1压缩结果v
    j-1
    ,将第j-1压缩结果v
    j-1
    存储至字寄存器;其中,v0=7380166f4914b2b9172442d7da8a0600a96f30bc163138aae38dee4db0fb0e4e;将第j-1压缩结果v
    j-1
    根据预设的迭代策略和所述扩展消息字集迭代预设次数,得到与所述第j-1压缩结果v
    j-1
    对应的第j压缩结果v
    j
    ;将j自增1以更新j的取值;若确定j未超出n,返回执行获取所述第一分组结果中第j数据块b
    j-1
    ,将第j数据块b
    j-1
    划分为16个消息字且16个消息字分别记为w
    j0
    至w
    j15
    的步骤;若确定j超出n,获取第n压缩结果v
    n
    作为初始加密数据。4.根据权利要求1所述的基于加密算法的数据处理方法,其特征在于,所述划分策略用于将字符串根据预设的第一分段个数进行平均划分得到分段结果,所述将所述初始加密数据对应的字符串根据预先设置的划分策略进行分段划分,得到分段结果包括:获取所述划分策略相应的第一分段个数,将所述初始加密数据对应的字符串根据所述第一分段个数进行平均划分,得到分段结果。5.根据权利要求1所述的基于加密算法的数据处理方法,其特征在于,所述获取与第三方名称对应的标识字符串,并获取预测模型,将所述标识字符串输入至所述预测模型得到预测结果,包括:获取所述标识字符串对应的输入向量,将所述输入向量输入至所述预测模型进行运算得到预测结果。6.根据权利要求1所述的基于加密算法的数据处理方法,其特征在于,所述根据所述预测结果确定所述标识字符串所归属的目标子分段及目标插入位数,包括:获取所述预测结果相应的类别序号,并获取所述分段结果中所包括子分段的分段总个数;将所述类别序号对于所述分段总个数求余数得到余数结果,将所述余数结果作为所述标识字符串所归属的子分段的目标分段序号;根据所述目标分段序号在所述分段结果中获取相应子分段作为目标子分段;获取所述目标子分段中的目标字符总数,并通过所述目标字符总数加1获取所述目标插入位数。7.根据权利要求1所述的基于加密算法的数据处理方法,其特征在于,所述将所述标识字符串根据所述目标插入位数插入至所述目标子分段的对应位置,以更新初始加密数据,得到最终加密数据之后,还包括:将所述最终加密数据发送至所述第三方名称对应的接收端,并将所述目标插入位数发送至所述接收端。8.一种基于加密算法的数据处理装置,其特征在于,包括:待加密数据获取单元,用于响应于数据加密指令,获取与所述数据加密指令相应的待加密数据;初始加密单元,用于将所述待加密数据根据所获取的国密加密模型进行加密,得到初始加密数据;字符串分段单元,用于将所述初始加密数据对应的字符串根据预先设置的划分策略进行分段划分,得到分段结果;其中,所述分段结果中包括多个子分段;
    预测单元,用于获取与第三方名称对应的标识字符串,并获取预测模型,将所述标识字符串输入至所述预测模型得到预测结果;插入信息获取单元,用于根据所述预测结果确定所述标识字符串所归属的目标子分段及目标插入位数;以及最终加密单元,用于将所述标识字符串根据所述目标插入位数插入至所述目标子分段的对应位置,以更新初始加密数据,得到最终加密数据。9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的基于加密算法的数据处理方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至7任一项所述的基于加密算法的数据处理方法。

    技术总结
    本发明涉及信息安全,提供了基于加密算法的数据处理方法、装置、设备及介质,先基于国密加密模型对待加密数据进行加密得到初始加密数据,然后获取与第三方名称对应的标识字符串并获取预测模型,将标识字符串输入至预测模型得到预测结果,根据预测结果确定标识字符串所归属的目标子分段及目标插入位数,最后将标识字符串根据目标插入位数插入至目标子分段的对应位置,以更新初始加密数据得到最终加密数据。实现了对待加密数据经国密加密模型加密后的数据再加上标识字符串插入,若没有告知关联方具体数据加密和处理规则,最终加密数据是不易被破解的,极大提升数据的安全性。极大提升数据的安全性。极大提升数据的安全性。


    技术研发人员:张巧丽
    受保护的技术使用者:中国平安人寿保险股份有限公司
    技术研发日:2022.02.18
    技术公布日:2022/5/25
    转载请注明原文地址:https://tc.8miu.com/read-9975.html

    最新回复(0)