一种字符编码解码方法、装置和用于字符编码解码的装置制造方法及图纸

技术编号:34495489 阅读:27 留言:0更新日期:2022-08-10 09:15
本发明专利技术实施例提供一种字符编码解码方法、装置和用于字符编码解码的装置。其中,本发明专利技术实施例提供的字符编码方法,可以将数据类型为字符型的待处理数组转换为整数类型的数值矩阵,对数值矩阵进行加密,就可以得到多方安全计算系统能够支持的整数类型的密文数据,使得多方安全计算系统能够在仅支持原有基本类型操作的情况下实现对字符型数据的操作,有利于提升多方安全计算系统的数据处理能力。本发明专利技术实施例提供的字符解码方法,可以在多方安全计算系统基于本发明专利技术实施例提供的字符编码方法得到的密文数据执行安全计算任务时,对获取到的结果矩阵进行解码处理,得到安全计算任务的计算结果。计算结果。计算结果。

【技术实现步骤摘要】
一种字符编码解码方法、装置和用于字符编码解码的装置


[0001]本专利技术涉及计算机
,尤其涉及一种字符编码解码方法、装置和用于字符编码解码的装置。

技术介绍

[0002]MPC(Secure Multi

Party Computation,多方安全计算)系统,用于解决针对无可信第三方情况下,安全地进行多方协同的计算问题。多方安全计算系统要求输入数据均为密文,即在一个分布式网络中,多个参与方各自持有秘密输入,各方希望共同完成对某函数的计算,而要求每个参与方除计算结果外均不能得到其他参与方的任何输入信息。
[0003]目前已有的多方安全计算系统一般都能很好的支持数值型数据的计算,但对字符类型数据支持的操作非常少,例如,有很多统计复杂函数不支持字符型数据的处理,因此包含字符串的密文任务非常受限制。

技术实现思路

[0004]本专利技术实施例提供一种字符编码解码方法、装置和用于字符编码解码的装置,可以将数据类型为字符型的待处理数组转换为多方安全计算系统能够支持的整数类型的密文数据。
[0005]为了解决上述问题,本专利技术实施例公开了一种字符编码方法,所述方法包括:获取待处理数组,所述待处理数组包含n个字符串,每个字符串包含至少一个字符,n为正整数;根据所述待处理数组中每个字符串包含的字符数目,确定所述待处理数组中字符串的最大长度m,m为正整数;对所述待处理数组中的每个字符串按照字符进行分解,并将分解后的字符按所属的字符串排列,得到字符矩阵K,所述字符矩阵K包含n* m个元素,所述字符矩阵K中第i行、第j列的元素为所述待处理数组中第i个字符串的第j个字符,i≤n,j≤m;若所述待处理数组中第i个字符串的字符数小于m,则所述字符矩阵K的第i行的后(m

k)个元素为预设字符;根据所述字符矩阵K中每个元素对应的字符编码,将所述字符矩阵K转换为数值矩阵R,所述数值矩阵R中的元素均为32位带符号整数;对所述数值矩阵R进行加密,得到密文数据;将所述密文数据输入至多方安全计算系统,以使所述多方安全计算系统根据所述密文数据执行安全计算任务。
[0006]本专利技术实施例还公开了一种字符解码方法,所述方法包括:获取安全计算任务对应的结果矩阵X,所述结果矩阵X包含k*m个密文元素,所述结果矩阵X中第i行、第j列的密文元素为所述安全计算任务的计算结果中第i个字符串的第j个字符对应的字符编码的密文;所述计算结果包括k个字符串,所述计算结果中字符串的最大长度为m,k、m均为正整数,i≤k,j≤m;
对所述结果矩阵X进行解密处理,得到解密后的结果矩阵X;根据所述解密后的结果矩阵X中每个元素对应的字符编码,将所述解密后的结果矩阵X转换为字符矩阵Y;将所述字符矩阵Y中每一行的无效字符剔除,得到有效字符矩阵;将所述有效字符矩阵中的元素按行进行拼接,得到所述安全计算任务的计算结果。
[0007]另一方面,本专利技术实施例公开了一种字符编码装置,所述装置包括:数组获取模块,用于获取待处理数组,所述待处理数组包含n个字符串,每个字符串包含至少一个字符,n为正整数;长度确定模块,用于根据所述待处理数组中每个字符串包含的字符数目,确定所述待处理数组中字符串的最大长度m,m为正整数;字符分解模块,用于对所述待处理数组中的每个字符串按照字符进行分解,并将分解后的字符按所属的字符串排列,得到字符矩阵K,所述字符矩阵K包含n* m个元素,所述字符矩阵K中第i行、第j列的元素为所述待处理数组中第i个字符串的第j个字符,i≤n,j≤m;若所述待处理数组中第i个字符串的字符数小于m,则所述字符矩阵K的第i行的后(m

k)个元素为预设字符;字符编码模块,用于根据所述字符矩阵K中每个元素对应的字符编码,将所述字符矩阵K转换为数值矩阵R,所述数值矩阵R中的元素均为32位带符号整数;数据加密模块,用于对所述数值矩阵R进行加密,得到密文数据;数据输入模块,用于将所述密文数据输入至多方安全计算系统,以使所述多方安全计算系统根据所述密文数据执行安全计算任务。
[0008]本专利技术实施例还提供了一种字符解码装置,所述装置包括:结果矩阵获取模块,用于获取安全计算任务对应的结果矩阵X,所述结果矩阵X包含k*m个密文元素,所述结果矩阵X中第i行、第j列的密文元素为所述安全计算任务的计算结果中第i个字符串的第j个字符对应的字符编码的密文;所述计算结果包括k个字符串,所述计算结果中字符串的最大长度为m,k、m均为正整数,i≤k,j≤m;解密处理模块,用于对所述结果矩阵X进行解密处理,得到解密后的结果矩阵X;矩阵转换模块,用于根据所述解密后的结果矩阵X中每个元素对应的字符编码,将所述解密后的结果矩阵X转换为字符矩阵Y;字符剔除模块,用于将所述字符矩阵Y中每一行的无效字符剔除,得到有效字符矩阵;元素拼接模块,用于将所述有效字符矩阵中的元素按行进行拼接,得到所述安全计算任务的计算结果。
[0009]再一方面,本专利技术实施例公开了一种用于字符编码的装置,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:获取待处理数组,所述待处理数组包含n个字符串,每个字符串包含至少一个字符,n为正整数;根据所述待处理数组中每个字符串包含的字符数目,确定所述待处理数组中字符
串的最大长度m,m为正整数;对所述待处理数组中的每个字符串按照字符进行分解,并将分解后的字符按所属的字符串排列,得到字符矩阵K,所述字符矩阵K包含n* m个元素,所述字符矩阵K中第i行、第j列的元素为所述待处理数组中第i个字符串的第j个字符,i≤n,j≤m;若所述待处理数组中第i个字符串的字符数小于m,则所述字符矩阵K的第i行的后(m

k)个元素为预设字符;根据所述字符矩阵K中每个元素对应的字符编码,将所述字符矩阵K转换为数值矩阵R,所述数值矩阵R中的元素均为32位带符号整数;对所述数值矩阵R进行加密,得到密文数据;将所述密文数据输入至多方安全计算系统,以使所述多方安全计算系统根据所述密文数据执行安全计算任务。
[0010]本专利技术实施例还公开了一种用于字符解码的装置,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:获取安全计算任务对应的结果矩阵X,所述结果矩阵X包含k*m个密文元素,所述结果矩阵X中第i行、第j列的密文元素为所述安全计算任务的计算结果中第i个字符串的第j个字符对应的字符编码的密文;所述计算结果包括k个字符串,所述计算结果中字符串的最大长度为m,k、m均为正整数,i≤k,j≤m;对所述结果矩阵X进行解密处理,得到解密后的结果矩阵X;根据所述解密后的结果矩阵X中每个元素对应的字符编码,将所述解密后的结果矩阵X转换为字符矩阵Y;将所述字符矩阵Y中每一行的无效字符剔除,得到有效字符矩阵;将所述有本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种字符编码方法,其特征在于,所述方法包括:获取待处理数组,所述待处理数组包含n个字符串,每个字符串包含至少一个字符,n为正整数;根据所述待处理数组中每个字符串包含的字符数目,确定所述待处理数组中字符串的最大长度m,m为正整数;对所述待处理数组中的每个字符串按照字符进行分解,并将分解后的字符按所属的字符串排列,得到字符矩阵K,所述字符矩阵K包含n* m个元素,所述字符矩阵K中第i行、第j列的元素为所述待处理数组中第i个字符串的第j个字符,i≤n,j≤m;若所述待处理数组中第i个字符串的字符数小于m,则所述字符矩阵K的第i行的后(m

k)个元素为预设字符;根据所述字符矩阵K中每个元素对应的字符编码,将所述字符矩阵K转换为数值矩阵R,所述数值矩阵R中的元素均为32位带符号整数;对所述数值矩阵R进行加密,得到密文数据;将所述密文数据输入至多方安全计算系统,以使所述多方安全计算系统根据所述密文数据执行安全计算任务。2.根据权利要求1所述的方法,其特征在于,所述根据所述字符矩阵K中每个元素对应的字符编码,将所述字符矩阵K转换为数值矩阵R,包括:将所述字符矩阵K中的每个元素用十进制的统一码Unicode进行编码,得到数值矩阵R。3.根据权利要求1所述的方法,其特征在于,所述对所述待处理数组中的每个字符串按照字符进行分解,并将分解后的字符按所属的字符串排列,得到字符矩阵K,包括:对所述待处理数组中的每个字符串按照字符进行分解,得到每个字符串对应的字符数组;若存在数组长度小于m的字符数组,则在所述字符数组的最后一个字符后面增加预设字符,直至所述字符数组的数组长度等于m;按照所述待处理数组中字符串的排列顺序对每个字符串对应的字符数组进行组合,得到字符矩阵K。4.根据权利要求1所述的方法,其特征在于,所述待处理数组包括至少两个参与方的待处理数组,所述根据所述待处理数组中每个字符串包含的字符数目,确定所述待处理数组中字符串的最大长度m,包括:根据各个参与方的待处理数组中每个字符串包含的字符数目,确定第i个参与方的待处理数组中字符串的最大长度mi;根据每个参与方的待处理数组中字符串的最大长度mi确定所述至少两个参与方的待处理数组中字符串的最大长度m,m=max(m1,m2,

,ma),a为参与方的数目,a≥2,i≤a。5.一种字符解码方法,其特征在于,所述方法包括:获取安全计算任务对应的结果矩阵X,所述结果矩阵X包含k*m个密文元素,所述结果矩阵X中第i行、第j列的密文元素为所述安全计算任务的计算结果中第i个字符串的第j个字符对应的字符编码的密文;所述计算结果包括k个字符串,所述计算结果中字符串的最大长度为m,k、m均为正整数,i≤k,j≤m;对所述结果矩阵X进行解密处理,得到解密后的结果矩阵X;根据所述解密后的结果矩阵X中每个元素对应的字符编码,将所述解密后的结果矩阵X
转换为字符矩阵Y;将所述字符矩阵Y中每一行的无效字符剔除,得到有效字符矩阵;将所述有效字符矩阵中的元素按行进行拼接,得到所述安全计算任务的计算结果。6.根据权利要求5所述的方法,其特征在于,所述根据所述解密后的结果矩阵X中每个元素对应的字符编码,将所述解密后的结果矩阵X转换为字符矩阵Y,包括:根据统一码Unicode对所述解密后的结果矩阵X中的每个元素进行解码,得到字符矩阵Y。7.一种字符编码装置,其特征在于,所述装置包括:数组获取模块,用于获取待处理数组,所述待处理数组包含n个字符串,每个字符串包含至少一个字符,n为正整数;长度确定模块,用于根据所述待处理数组中每个字符串包含的字符数目,确定所述待处理数组中字符串的最大长度m,m为正整数;字符分解模块,用于对所述待处理数组中的每个字符串按照字符进行分解,并将分解后的字符按所属的字符串排列,得到字符矩阵K,所述字符矩阵K包含n* m个元素,...

【专利技术属性】
技术研发人员:杨桂林
申请(专利权)人:华控清交信息科技北京有限公司
类型:发明
国别省市:

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

1