CN114124360A - 加密装置及方法、设备和介质 - Google Patents

加密装置及方法、设备和介质 Download PDF

Info

Publication number
CN114124360A
CN114124360A CN202111508362.8A CN202111508362A CN114124360A CN 114124360 A CN114124360 A CN 114124360A CN 202111508362 A CN202111508362 A CN 202111508362A CN 114124360 A CN114124360 A CN 114124360A
Authority
CN
China
Prior art keywords
input data
bit length
sub
data
effective
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111508362.8A
Other languages
English (en)
Other versions
CN114124360B (zh
Inventor
尹瑞程
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shengdoushi Shanghai Science and Technology Development Co Ltd
Original Assignee
Shengdoushi Shanghai Technology Development Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shengdoushi Shanghai Technology Development Co Ltd filed Critical Shengdoushi Shanghai Technology Development Co Ltd
Priority to CN202111508362.8A priority Critical patent/CN114124360B/zh
Publication of CN114124360A publication Critical patent/CN114124360A/zh
Application granted granted Critical
Publication of CN114124360B publication Critical patent/CN114124360B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本公开提供了一种加密装置及方法、设备和介质,涉及安全计算技术领域。该加密装置包括:位长调节模块,被配置为:基于期望位长信息,将输入数据转换为中间数据;加密运算模块,被配置为:对中间数据进行加密运算,以生成加密数据;以及计算中间数据的有效位长信息,作为输入数据的有效位长信息;以及期望位长计算模块,被配置为:基于输入数据的有效位长信息,更新期望位长信息,以使得加密装置基于期望位长信息将下一输入数据转换为加密数据。

Description

加密装置及方法、设备和介质
技术领域
本公开涉及安全计算技术领域,具体涉及一种加密装置、方法、电子设备、计算机可读存储介质和计算机程序产品。
背景技术
随着互联网技术和大数据技术的发展,数据安全的重要性日益凸显。因此,在数据的传输、计算和存储等过程中,需要对数据进行加密计算,以确保数据不会被他人获取,从而确保数据安全。
加密计算通常涉及复杂的数学运算,因此,加密计算通常需要占用较多的计算资源,或者需要较长的计算时间。目前,希望对现有的加密计算装置进行改进,以减少所占用的计算资源,或降低所使用的计算时间。
在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
发明内容
本公开提供了一种加密装置、方法、电子设备、计算机可读存储介质和计算机程序产品。
根据本公开的一方面,提供了一种加密装置,被配置为将输入数据转换为加密数据,装置包括:位长调节模块,被配置为:基于期望位长信息,将输入数据转换为中间数据;加密运算模块,被配置为:对中间数据进行加密运算,以生成加密数据;以及计算中间数据的有效位长信息,作为输入数据的有效位长信息;以及期望位长计算模块,被配置为:基于输入数据的有效位长信息,更新期望位长信息,以使得加密装置基于期望位长信息将下一输入数据转换为加密数据。
根据本公开的另一方面,提供了一种加密方法,用于将输入数据转换为加密数据,方法包括:基于期望位长信息,将输入数据转换为中间数据;对中间数据进行加密运算,以生成加密数据;计算中间数据的有效位长信息,作为输入数据的有效位长信息;以及基于输入数据的有效位长信息,更新期望位长信息,以使得加密装置基于期望位长信息将下一输入数据转换为加密数据。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如本公开所述的加密方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行如本公开所述的加密方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现如本公开所述的加密方法。
根据本公开的一个或多个实施例,可以提高加密运算的效率,降低了对硬件计算资源的需求。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1示出了根据本公开示例性实施例的加密装置的结构框图;
图2示出了根据本公开示例性实施例的加密运算模块的结构框图;
图3示出了根据本公开示例性实施例的数据归类子模块的结构框图;
图4示出了根据本公开示例性实施例的加密装置的结构框图;
图5示出了根据本公开示例性实施例的加密方法的流程图;
图6示出了根据本公开示例性实施例的第一应用场景的示意图;
图7示出了根据本公开示例性实施例的第二应用场景的示意图;
图8示出了根据本公开实施例的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
在目前的互联网技术和大数据技术中,需要对大量数据进行加密运算,以进行数据的传输、计算和存储。但是,由于待加密的数据通常位数较长,对这些数据进行加密运算通常经历较长的时间,且占用较多的硬件计算资源。
为解决上述问题,本公开提供一种加密装置,被配置为将输入数据转换为加密数据,装置包括:位长调节模块,被配置为:基于期望位长信息,将输入数据转换为中间数据;加密运算模块,被配置为:对中间数据进行加密运算,以生成加密数据;以及计算中间数据的有效位长信息,作为输入数据的有效位长信息;以及期望位长计算模块,被配置为:基于输入数据的有效位长信息,更新期望位长信息,以使得加密装置基于期望位长信息将下一输入数据转换为加密数据。
图1示出了根据本公开示例性实施例的加密装置100的结构框图。如图1所示,加密装置100将接收到的输入数据转换为加密数据,其中,加密装置100包括位长调节模块101、加密运算模块102和期望位长计算模块103。
根据一些实施例,输入数据可以是来自一个或多个数据源的原始数据。例如,在线下零售的场景中,该输入数据可以是来自付款机的消费记录;在线上推广的场景中,该输入数据可以是来自客户端(例如,用户用来下单的手机、平板或其它电子设备)的订单记录。根据另一些实施例,输入数据可以是对原始数据预处理后的经处理数据,例如,对原始数据进行的预处理操作可以包括但不限于如下操作:数据格式转换、蒙哥马利预算的预运算和密钥拼接等。
根据一些实施例,输入数据可以包括一条或多条子输入数据,其中,输入数据中的子输入数据的数量可能变化较大,例如,在线下零售的场景中,数据量可能在休息日较大,而在工作日较小。
根据一些实施例,输入数据可以包括待加密部分和小数部分,其中,待加密部分指示输入数据的有效信息,而小数部分指示待加密部分的小数位数。例如,输入数据为“0000001011101010”(二进制),其中,“00000010”为小数部分,“11101010”为待加密部分,则小数部分指示输入数据的小数位数为2,待加密部分指示输入数据的有效信息为234,相应地,输入数据为2.34(十进制)。根据另一些实施例,输入数据可以包括待加密部分,而不包括小数部分,例如,在输入数据均为整数而不包括小数部分时。
根据另一些实施例,输入数据还可以包括正负信息部分,其中,正负信息部分指示输入数据为正数或负数。
根据一些实施例,位长调节模块101接收输入数据,其中,位长调节模块101基于期望位长信息,将输入数据转换为中间数据。
根据一些实施例,期望位长信息可以包括对应于输入数据中的不同部分的期望位长,例如,输入数据可以包括待加密部分和小数部分,而期望位长信息包括分别对应于待加密部分和小数部分的期望位长。根据另一些实施例,期望位长信息可以包括对应于输入数据整体的期望位长。
根据一些实施例,可以对输入数据进行位缩减或补零操作,以将输入数据转换为中间数据,其中,当期望位长小于输入数据的实际位长时,对输入数据进行位缩减操作,当期望位长大于输入数据的实际位长时,对输入数据进行补零操作。例如,输入数据为“0000001011101010”,其中,“00000010”为小数部分,“11101010”为待加密部分,对应于小数部分的期望位长为6位,对应于待加密部分的期望位长为9位,此时,应当将输入数据的小数部分缩减为“000010”,将输入数据的待加密部分补零至“111010100”,相应地,中间数据为“000010111010100”。根据一些实施例,位长调节模块可以通过移位器来实现。
根据一些实施例,当加密装置100首次进行加密转换时(例如,在加密装置100被初始化后),期望位长信息可以是初始设置值,其中,该初始设置值可能为较大的位长值,以确保在将输入数据转换至中间数据的过程中保留输入数据的有效位信息。根据一些实施例,当加密装置100已经进行过加密转换时,即,已经完成至少一次从输入数据到加密数据的转换时,期望位长信息为由期望位长计算模块103计算得到的期望位长信息。
根据一些实施例,加密运算模块102对来自位长调节模块101的中间数据进行加密运算,以生成加密数据,并且,计算中间数据的有效位长信息,作为输入数据的有效位长信息。
根据一些实施例,中间数据的有效位长信息为中间数据的各部分的有效位长,即,中间数据的各部分中的有效信息的位长。根据一些实施例,可以通过计算中间数据的空置位(即,没有携带有效信息的位)的位长,来计算中间数据的有效位长信息,例如,中间数据的小数部分为“000010”,共6位,其中,空置位为“0000”,空置位的位长为4位,相应地,中间数据的小数部分的有效位长为2位。根据一些实施例,可以通过计数器计算有效位长信息。
根据一些实施例,加密运算可以是对中间数据和混淆数据进行的异或运算。根据另一些实施例,加密运算还可以是其它类型的运算,例如,模乘运算、模幂运算。
根据一些实施例,可以对加密运算模块102输出的加密数据进行进一步的加密运算操作,以进一步提高数据安全性。
根据一些实施例,期望位长计算模块103基于来自加密运算模块102的输入数据的有效位长信息,更新期望位长信息,以使得加密装置基于期望位长信息将下一输入数据转换为加密数据。即,在完成本次输入数据的加密转换后,期望位长计算模块103相应地调整期望位长信息,以使得在下一次进行加密转换时可以按更新后的期望位长信息对输入数据进行加密转换。
在如本公开的实施例所述的加密装置中,通过计算历史输入数据的有效位长信息,更新用于之后的输入数据的期望位长信息,实现对输入数据的位长的反馈调节,减少了输入数据中的空置位,从而提高了加密运算的效率,降低了对硬件计算资源的需求。
根据一些实施例,输入数据包括一条或多条子输入数据,子输入数据包括待加密部分和小数部分,期望位长信息包括期望密文位长和期望小数位长,并且,位长调节模块包括:补零子模块,被配置为:对每条子输入数据,响应于该子输入数据的待加密部分的位长小于期望密文位长,对该子输入数据的待加密部分进行补零操作,以生成所对应的中间数据的待加密部分,使得所对应的中间数据的待加密部分的位长为期望密文位长;和/或位缩减子模块,被配置为:对每条子输入数据,响应于该子输入数据的待加密部分的位长大于期望密文位长,对该子输入数据的小数部分进行位缩减操作,以生成所对应的中间数据的小数部分,使得所对应的中间数据的小数部分的位长为期望小数位长。由此可见,通过将输入数据中的每条子输入数据进行相同的位长调节操作,使得每条子输入数据所对应的中间数据的对应部分具有相同的位长,以便于后续的加密运算。
根据一些实施例,当输入数据包括多条子输入数据时,可以通过矩阵计算实现这些子输入数据的位长调节,其中,将输入数据存储在矩阵中,矩阵的每行对应于一条子输入数据,矩阵中的每个元素对应于子输入数据的一位数据。根据一些实施例,通过删减矩阵中的列,可以实现对输入数据的位缩减操作,通过增加其中元素全为“0”的列,可以实现对输入数据的补零操作。
根据一些实施例,输入数据包括一条子输入数据,输入数据的有效位长信息包括输入数据的有效密文位长和有效小数位长,加密运算模块包括有效位长计算子模块,其中,有效位长计算子模块被配置为:对于该子输入数据,计算所对应的中间数据的待加密部分的有效位长,作为该子输入数据的有效密文位长,并且,计算所对应的中间数据的小数部分的有效位长,作为子输入数据的有效小数位长,并且期望位长计算模块包括位长信息子计算模块,其中,位长信息子计算模块被配置为:将期望密文位长设置为该子输入数据的有效密文位长;以及将期望小数位长设置为该子输入数据的有效小数位长。
根据一些实施例,输入数据包括多条子输入数据,输入数据的有效位长信息包括输入数据的有效密文位长和有效小数位长,并且,加密运算模块包括有效位长计算子模块,其中,有效位长计算子模块,被配置为:选择多条子输入数据中的待统计子输入数据;对于待统计子输入数据中的每条子输入数据,计算所对应的中间数据的待加密部分的有效位长,作为该子输入数据的有效密文位长,并且,计算所对应的中间数据的小数部分的有效位长,作为子输入数据的有效小数位长,并且期望位长计算模块包括位长信息子计算模块,其中,位长信息子计算模块被配置为:对于待统计子输入数据中的每条子输入数据,计算该子输入数据的有效密文位长和有效小数位长之和,作为该子输入数据的有效位长;选择待统计子输入数据中具有最大有效位长的子输入数据,作为输入数据的目标子输入数据;将期望密文位长设置为目标子输入数据的有效密文位长;以及将期望小数位长设置为目标子输入数据的有效小数位长。
根据一些实施例,可以选择输入数据中的全部子输入数据,作为待统计子输入数据。根据另一些实施例,可以从输入数据的多条子输入数据中随机选择预定数量或预定比例的子输入数据,作为待统计子输入数据。
根据一些实施例,可以通过比较器来确定待统计子输入数据中的目标子输入数据。
根据一些实施例,加密运算模块还包括:数据归类子模块,被配置为:根据预设规则将输入数据的中间数据划分为一个或多个集合;以及一个或多个并行计算子模块,其中,并行计算子模块被配置为:对于该并行计算子模块所对应的中间数据的集合,进行中间数据的集合所对应的加密运算,并且,计算中间数据的集合所对应的有效位长信息。
图2示出了根据本公开示例性实施例的加密运算模块102的结构框图。
如图2所示,加密运算模块102包括数据归类子模块201、第一并行计算子模块202a、第二并行计算子模块202b和第三并行计算子模块202c。根据一些实施例,图2中的加密运算模块102可以与图1中的加密运算模块相同或类似。
根据一些实施例,数据归类子模块201将中间数据(例如,来自图1中的位长调节模块101的中间数据)划分为第一中间数据集合、第二中间数据集合和第三中间数据集合,其中,第一数据集合、第二数据集合和第三数据集合分别输出到第一并行计算子模块202a、第二并行计算子模块202b和第三并行计算子模块202c。
根据一些实施例,第一并行计算子模块202a、第二并行计算子模块202b和第三并行计算子模块202c中的每一个对其接收到的中间数据集合进行加密运算,并计算该中间数据集合的有效位长信息。
应当理解,虽然图2示出了三个并行计算子模块,但是图2仅是示意性的,并且加密运算模块可以包括更少(例如,一个)或更多(例如,五个)并行计算子模块。
在如本公开所述的实施例中,通过使用并行计算子模块进行加密运算和有效位长信息计算,可以提高计算效率,缩短计算延迟。
根据一些实施例,加密运算模块还包括自适应子模块,其中,自适应子模块被配置为:基于输入数据中的子输入数据的数量,确定加密运算模块的并行计算子模块的数量。
根据一些实施例,可以通过比较输入数据中的子输入数据的数量和数据阈值的大小,来确定加密运算模块的并行计算子模块的数量。例如,当输入数据中的子输入数据的数量小于等于第一数据阈值时,加密运算模块包括一个并行计算子模块;当输入数据中的子输入数据的数量大于第一数据阈值且小于等于第二数据阈值时,加密运算模块包括两个并行计算子模块;当输入数据中的子输入数据的数量大于第二数据阈值且小于等于第三数据阈值时,加密运算模块包括三个并行计算子模块,依次类推。
根据一些实施例,可以通过计算输入数据中的中间数据的数量,计算输入数据中的子输入数据的数量。
根据一些实施例,期望位长计算模块还包括偏差计算子模块,被配置为:计算输入数据的偏差参数,其中,偏差参数为基于待统计子输入数据的有效位长的标准差或方差来确定,并且加密运算模块还包括自适应子模块,其中,自适应子模块被配置为:基于输入数据的偏差参数和子输入数据的数量,确定加密运算模块的并行计算子模块的数量。
根据一些实施例,可以先通过比较输入数据中的子输入数据的数量和预设数据阈值的大小,确定输入数据的数据量等级;再通过比较输入数据的偏差参数和偏差阈值的大小,确定加密运算模块的并行计算子模块的数量。
例如,当输入数据中的子输入数据的数量大于第一数据阈值且小于等于第二数据阈值时,如果输入数据的偏差参数小于等于偏差阈值,加密运算模块包括两个并行计算子模块,如果输入数据的偏差参数大于偏差阈值,加密运算模块包括三个并行计算子模块;当输入数据中的子输入数据的数量大于第二数据阈值且小于等于第三数据阈值时,如果输入数据的偏差参数小于等于偏差阈值,加密运算模块包括三个并行计算子模块,如果输入数据的偏差参数大于偏差阈值,加密运算模块包括四个并行计算子模块。
在如本公开所示的实施例中,通过自适应地调整并行计算模块的数量,既可以避免过度占用硬件资源,也可以避免计算延迟过长。
根据一些实施例,数据归类子模块包括:第一归类子模块,被配置为:响应于输入数据的偏差参数大于第一偏差阈值,基于中间数据的有效位长,将中间数据划分为多个第一集合,并且每一集合中的中间数据的有效位长的偏差参数小于或等于第二偏差阈值。
根据一些实施例,数据归类子模块还包括:第二归类子模块,被配置为:响应于输入数据的偏差参数小于或等于第一偏差阈值,将中间数据划分为一个或多个第二集合,其中,当加密运算模块包括多个并行计算子模块时,多个第二集合中的每个第二集合具有相同数量的中间数据。
图3示出了根据本公开示例性实施例的数据归类子模块201的结构框图。
如图3所示,数据归类子模块201包括第一归类子模块301和第二归类子模块302。根据一些实施例,图3中的数据归类子模块201可以与图2中的数据归类子模块201相同或类似。
根据一些实施例,当输入数据的偏差参数大于第一偏差阈值时,由第一归类子模块301进行中间数据的划分,其中,将有效位长较为接近的中间数据归入同一集合,使得每一集合中的中间数据的有效位长的偏差参数小于或等于第二偏差阈值。
根据另一些实施例,当输入数据的偏差参数小于或等于第一偏差阈值,由第二归类子模块302进行中间数据的划分,其中,当加密运算模块包括多个并行计算子模块时,将中间数据均等地分成多个集合。
在如本公开的实施例中,由于在中间数据的有效位长差异较大时,将长度接近的中间数据在同一并行计算模块中进行计算,提高了计算效率。
根据一些实施例,在加密装置发生过载,即,输入数据的子输入数据的数量超过加密装置的计算能力时,加密运算模块的并行计算子模块的数量为最大可用数量(例如,加密装置中可提供的并行计算子模块的最大数量),每个并行计算子模块以其最大计算能力处理数据,而将超过加密装置的计算能力的子输入数据暂时存储在加密装置中或加密装置外的存储器中,以在处理完当前的数据后再进行处理。
根据一些实施例,如本公开所述的加密装置还包括:混淆数据生成模块,被配置为:基于期望位长信息,生成混淆数据,并且加密运算模块还包括混淆加密子模块,混淆加密子模块被配置为:基于混淆数据,对中间数据进行加密运算,以生成加密数据。
图4示出了根据本公开示例性实施例的加密装置400的结构框图。如图4所示,加密装置400包括位长调节模块401、加密运算模块402、期望位长计算模块403和混淆数据生成模块404。根据一些实施例,位长调节模块401、加密运算模块402、期望位长计算模块403可以分别与图1中的位长调节模块101、加密运算模块102、期望位长计算模块103相同或类似。
根据一些实施例,混淆数据生成模块404接收来自加密运算模块402的期望位长信息,并生成混淆数据。根据一些实施例,混淆数据的位长为期望密文位长和期望小数位长之和,以使得混淆数据的位长与中间数据的位长相等,从而对中间数据实现整体加密。根据另一些实施例,混淆数据的位长为期望密文位长,以使得混淆数据的位长与中间数据的待加密部分的位长相等,从而对中间数据的待加密部分实现加密。根据又一些实施例,混淆数据的位长可以与中间数据的位长或中间数据的待加密部分的位长具有对应关系。
根据一些实施例,对于输入数据中的每条子输入数据分别生成对应的混淆数据。根据一些实施例,混淆数据生成模块404包括:第一数据生成子模块,被配置为:对于输入数据的首条子输入数据,随机生成该子输入数据所对应的混淆数据,其中,该子输入数据所对应的混淆数据的位长等于该子输入数据所对应的中间数据的位长;以及第二数据生成子模块,被配置为:对于输入数据的非首条子输入数据,基于上一条子输入数据所对应的混淆数据和预定增量,生成该子输入数据所对应的混淆数据。
根据一些实施例,混淆数据生成模块404可以通过波形信号发生器来实现。
在如本公开所述的实施例中,由于首次使用的混淆数据是随机生成的,确保了加密的可靠性,并且,由于随后使用的混淆数据是基于之前的混淆数据生成的,简化了生成混淆数据的计算负担。
根据另一些实施例,对于输入数据中的全部子输入数据生成混淆数据,即,输入数据中的全部子输入数据共享相同的混淆数据。
根据一些实施例,位长调节模块还包括:拼接子模块,被配置为:将输入数据和密钥数据进行拼接。例如,当输入数据为“0000001011101010”,密钥为“11101”时,拼接后的数据为“111010000001011101010”。
根据一些实施例,可以在位长调节操作(例如,位缩减操作或补零操作)之前进行拼接操作。根据另一些实施例,可以在位长调节操作(例如,位缩减操作或补零操作)之后进行拼接操作,以减少计算量。
图5示出了根据本公开示例性实施例的加密方法500的流程图。
如图5所示,加密方法500包括:步骤S501、基于期望位长信息,将输入数据转换为中间数据;步骤S502、对中间数据进行加密运算,以生成加密数据;步骤S503、计算中间数据的有效位长信息,作为输入数据的有效位长信息;以及步骤S504、基于输入数据的有效位长信息,更新期望位长信息,以使得基于期望位长信息将下一输入数据转换为加密数据。
根据一些实施例,输入数据包括一条或多条子输入数据,子输入数据包括待加密部分和小数部分,期望位长信息包括期望密文位长和期望小数位长,并且,基于期望位长信息,将输入数据转换为中间数据包括:对每条子输入数据,响应于该子输入数据的待加密部分的位长小于期望密文位长,对该子输入数据的待加密部分进行补零操作,以生成所对应的中间数据的待加密部分,使得所对应的中间数据的待加密部分的位长为期望密文位长;和/或对每条子输入数据,响应于该子输入数据的待加密部分的位长大于期望密文位长,对该子输入数据的小数部分进行位缩减操作,以生成所对应的中间数据的小数部分,使得所对应的中间数据的小数部分的位长为期望小数位长。
根据一些实施例,输入数据包括一条子输入数据,输入数据的有效位长信息包括输入数据的有效密文位长和有效小数位长,并且,计算中间数据的有效位长信息,作为输入数据的有效位长信息包括:对于该子输入数据,计算所对应的中间数据的待加密部分的有效位长,作为该子输入数据的有效密文位长,并且,计算所对应的中间数据的小数部分的有效位长,作为子输入数据的有效小数位长,并且基于输入数据的有效位长信息,更新期望位长信息包括:将期望密文位长设置为该子输入数据的有效密文位长;以及将期望小数位长设置为该子输入数据的有效小数位长。
根据一些实施例,输入数据包括多条子输入数据,输入数据的有效位长信息包括输入数据的有效密文位长和有效小数位长,并且,基于输入数据中的子输入数据的有效位长信息,更新期望位长信息包括:选择多条子输入数据中的待统计子输入数据;对于待统计子输入数据中的每条子输入数据,计算所对应的中间数据的待加密部分的有效位长,作为该子输入数据的有效密文位长,并且,计算所对应的中间数据的小数部分的有效位长,作为子输入数据的有效小数位长,并且基于输入数据的有效位长信息,更新期望位长信息包括:对于待统计子输入数据中的每条子输入数据,计算该子输入数据的有效密文位长和有效小数位长之和,作为该子输入数据的有效位长;选择待统计子输入数据中具有最大有效位长的子输入数据,作为输入数据的目标子输入数据;将期望密文位长设置为目标子输入数据的有效密文位长;以及将期望小数位长设置为目标子输入数据的有效小数位长。
根据一些实施例,对该子输入数据所对应的中间数据和混淆数据进行加密运算包括:根据预设规则将输入数据的中间数据划分为一个或多个集合;以及使用一个或多个并行计算子模块进行加密运算,其中,在每个并行计算子模块中,对于该并行计算子模块所对应的中间数据的集合,进行该中间数据的集合所对应的加密运算,并且,计算中间数据的集合所对应的有效位长信息。
根据一些实施例,如本公开所述的加密方法还包括:基于输入数据中的子输入数据的数量,确定并行计算子模块的数量。
根据一些实施例,基于输入数据的有效位长信息,更新期望位长信息还包括:计算输入数据的偏差参数,其中,偏差参数为基于待统计子输入数据的有效位长的标准差或方差来确定,并且方法还包括:基于输入数据的偏差参数和子输入数据的数量,确定并行计算子模块的数量。
根据一些实施例,根据预设规则将中间数据的多条子输入数据划分为一个或多个集合包括:响应于输入数据的偏差参数大于第一偏差阈值,基于中间数据的有效位长,将中间数据划分为多个第一集合,并且每一集合中的中间数据的有效位长的偏差参数小于或等于第二偏差阈值。
根据一些实施例,根据预设规则将中间数据的多条子输入数据划分为一个或多个集合包括:响应于输入数据的偏差参数小于或等于第一偏差阈值,将中间数据划分为一个或多个第二集合,其中,当使用多个并行计算子模块进行加密运算时,多个第二集合中的每个第二集合具有相同数量的中间数据。
根据一些实施例,如本公开所述的加密方法还包括:基于期望位长信息,生成混淆数据,并且对中间数据进行加密运算,以生成加密数据包括:基于混淆数据,对中间数据进行加密运算,以生成加密数据。
根据一些实施例,基于期望位长信息,生成混淆数据包括:对于输入数据的首条子输入数据,随机生成该子输入数据所对应的混淆数据,其中,该子输入数据所对应的混淆数据的位长等于该子输入数据所对应的中间数据的位长;以及对于输入数据的非首条子输入数据,基于上一条子输入数据所对应的混淆数据和预定增量,生成该子输入数据所对应的混淆数据。
根据一些实施例,基于期望位长信息,将输入数据转换为中间数据还包括:将输入数据和密钥数据进行拼接。
图6示出了根据本公开示例性实施例的第一应用场景600的示意图。
如图6所示,第一应用场景600包括第一方601、第二方602和服务器603。首先,第一方601、第二方602分别将其初始数据加密后发送给服务器603;然后,服务器603对接收到的数据进行处理,对处理结果进行加密,并且,将加密后的处理结果分别发送给第一方601、第二方602;最后,第一方601、第二方602对接收到的数据分别进行解密,以获得来自服务器603的处理结果。应当理解,如上所述的加密装置可以分别位于第一方601、第二方602和服务器603中的一个或多个中,和/或第一方601、第二方602和服务器603中的一个或多个可以实施如上所述的加密方法。
例如,在联邦学习中,第一方601、第二方602均为参与者,服务器603为聚合服务器,其中,第一方601、第二方602分别使用各自的数据集训练该模型,并将模型权重更新发送到服务器603,而服务器603将从第一方601、第二方602处接收到的模型更新聚合起来,并将聚合后的模型更新发回给第一方601、第二方602。
图7示出了根据本公开示例性实施例的第二应用场景700的示意图。
如图7所示,第二应用场景700包括第一方701和第二方702。首先,第一方701将其初始数据加密后发送给第二方702;其次,第二方702对接收到的数据进行解密,将自己的初始数据和/或处理结果进行加密,且将加密结果发送给第二方702;最后,第一方701对接收到的数据进行解密,以进行进一步处理。应当理解,如上所述的加密装置可以分别位于第一方701和第二方702中的一个或多个中,和/或第一方701和第二方702中的一个或多个可以实施如上所述的加密方法。
例如,在联邦学习中,第一方701、第二方702均为参与者,其中,一方701、第二方702分别使用各自的数据集训练该模型,且分别从另一方接收模型权重,以进行模型聚合。
根据本公开的另一方面,还提供一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的加密方法。
根据本公开的另一方面,还提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述的加密方法。
根据本公开的另一方面,还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序再被处理器执行时实现上述的加密方法。
参见图8,现将描述可以作为本公开的电子设备800的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备可以是不同类型的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
图8示出了根据本公开实施例的电子设备的框图。如图8所示,电子设备800可以包括能够通过系统总线803彼此通信的至少一个处理器801、工作存储器802、I/O设备804、显示设备805、存储装置806和通信接口807。
处理器801可以是单个处理单元或多个处理单元,所有处理单元可以包括单个或多个计算单元或者多个核心。处理器801可以被实施成一个或更多微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路和/或基于操作指令来操纵信号的任何设备。处理器801可以被配置成获取并且执行存储在工作存储器802、存储装置806或者其他计算机可读介质中的计算机可读指令,诸如操作系统802a的程序代码、应用程序802b的程序代码等。
工作存储器802和存储装置806是用于存储指令的计算机可读存储介质的示例,指令由处理器801执行来实施前面所描述的各种功能。工作存储器802可以包括易失性存储器和非易失性存储器二者(例如RAM、ROM等等)。此外,存储装置806可以包括硬盘驱动器、固态驱动器、可移除介质、包括外部和可移除驱动器、存储器卡、闪存、软盘、光盘(例如CD、DVD)、存储阵列、网络附属存储、存储区域网等等。工作存储器802和存储装置806在本文中都可以被统称为存储器或计算机可读存储介质,并且可以是能够把计算机可读、处理器可执行程序指令存储为计算机程序代码的非暂态介质,计算机程序代码可以由处理器801作为被配置成实施在本文的示例中所描述的操作和功能的特定机器来执行。
I/O设备804可以包括输入设备和/或输出设备,输入设备可以是能向电子设备800输入信息的任何类型的设备,可以包括但不限于鼠标、键盘、触摸屏、轨迹板、轨迹球、操作杆、麦克风和/或遥控器。输出设备可以是能呈现信息的任何类型的设备,并且可以包括但不限于包括视频/音频输出终端、振动器和/或打印机。
通信接口807允许电子设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、802.11设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
工作寄存器802中的应用程序802b可以被加载执行上文所描述的各个方法和处理,例如图5中的步骤S501-步骤S504。在一些实施例中,计算机程序的部分或者全部可以经由存储装置806和/或通信接口807而被载入和/或安装到电子设备800上。当计算机程序被加载并由处理器801执行时,可以执行上文描述的加密方法的一个或多个步骤。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行、也可以顺序地或以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。

Claims (27)

1.一种加密装置,被配置为将输入数据转换为加密数据,所述装置包括:
位长调节模块,被配置为:基于期望位长信息,将所述输入数据转换为中间数据;
加密运算模块,被配置为:
对所述中间数据进行加密运算,以生成加密数据;以及
计算所述中间数据的有效位长信息,作为所述输入数据的有效位长信息;以及
期望位长计算模块,被配置为:
基于所述输入数据的有效位长信息,更新所述期望位长信息,以使得所述加密装置基于所述期望位长信息将下一输入数据转换为所述加密数据。
2.如权利要求1所述的装置,其中,所述输入数据包括一条或多条子输入数据,所述子输入数据包括待加密部分和小数部分,所述期望位长信息包括期望密文位长和期望小数位长,并且,所述位长调节模块包括:
补零子模块,被配置为:对每条子输入数据,响应于该子输入数据的待加密部分的位长小于所述期望密文位长,对该子输入数据的待加密部分进行补零操作,以生成所对应的中间数据的待加密部分,使得所对应的中间数据的待加密部分的位长为所述期望密文位长;和/或
位缩减子模块,被配置为:对每条子输入数据,响应于该子输入数据的待加密部分的位长大于所述期望密文位长,对该子输入数据的小数部分进行位缩减操作,以生成所对应的中间数据的小数部分,使得所对应的中间数据的小数部分的位长为所述期望小数位长。
3.如权利要求2所述的装置,其中,所述输入数据包括一条子输入数据,所述输入数据的有效位长信息包括所述输入数据的有效密文位长和有效小数位长,所述加密运算模块包括有效位长计算子模块,其中,所述有效位长计算子模块被配置为:
对于该子输入数据,计算所对应的中间数据的待加密部分的有效位长,作为该子输入数据的有效密文位长,并且,计算所对应的中间数据的小数部分的有效位长,作为子输入数据的有效小数位长,并且
所述期望位长计算模块包括位长信息子计算模块,其中,所述位长信息子计算模块被配置为:
将所述期望密文位长设置为该子输入数据的有效密文位长;以及
将所述期望小数位长设置为该子输入数据的有效小数位长。
4.如权利要求2所述的装置,其中,所述输入数据包括多条子输入数据,所述输入数据的有效位长信息包括所述输入数据的有效密文位长和有效小数位长,并且,所述加密运算模块包括有效位长计算子模块,其中,所述有效位长计算子模块,被配置为:
选择所述多条子输入数据中的待统计子输入数据;
对于所述待统计子输入数据中的每条子输入数据,计算所对应的中间数据的待加密部分的有效位长,作为该子输入数据的有效密文位长,并且,计算所对应的中间数据的小数部分的有效位长,作为子输入数据的有效小数位长,并且
所述期望位长计算模块包括位长信息子计算模块,其中,所述位长信息子计算模块被配置为:
对于所述待统计子输入数据中的每条子输入数据,计算该子输入数据的有效密文位长和有效小数位长之和,作为该子输入数据的有效位长;
选择所述待统计子输入数据中具有最大有效位长的子输入数据,作为所述输入数据的目标子输入数据;
将所述期望密文位长设置为所述目标子输入数据的有效密文位长;以及
将所述期望小数位长设置为所述目标子输入数据的有效小数位长。
5.如权利要求4所述的装置,其中,所述加密运算模块还包括:
数据归类子模块,被配置为:根据预设规则将所述输入数据的中间数据划分为一个或多个集合;以及
一个或多个并行计算子模块,其中,所述并行计算子模块被配置为:对于该并行计算子模块所对应的中间数据的集合,进行所述中间数据的集合所对应的加密运算,并且,计算所述中间数据的集合所对应的有效位长信息。
6.如权利要求5所述的装置,所述加密运算模块还包括自适应子模块,其中,所述自适应子模块被配置为:
基于所述输入数据中的子输入数据的数量,确定所述加密运算模块的并行计算子模块的数量。
7.如权利要求5所述的装置,其中,所述期望位长计算模块还包括:
偏差计算子模块,被配置为:计算所述输入数据的偏差参数,其中,所述偏差参数为基于所述待统计子输入数据的有效位长的标准差或方差来确定,并且
所述加密运算模块还包括自适应子模块,其中,所述自适应子模块被配置为:
基于所述输入数据的偏差参数和子输入数据的数量,确定所述加密运算模块的并行计算子模块的数量。
8.如权利要求7所述的装置,其中,所述数据归类子模块包括:
第一归类子模块,被配置为:响应于所述输入数据的偏差参数大于第一偏差阈值,基于所述中间数据的有效位长,将所述中间数据划分为多个第一集合,并且每一集合中的中间数据的有效位长的偏差参数小于或等于第二偏差阈值。
9.如权利要求7所述的装置,其中,所述数据归类子模块还包括:
第二归类子模块,被配置为:响应于所述输入数据的偏差参数小于或等于第一偏差阈值,将所述中间数据划分为一个或多个第二集合,
其中,当所述加密运算模块包括多个并行计算子模块时,多个第二集合中的每个第二集合具有相同数量的中间数据。
10.如权利要求1-9中任一项所述的装置,还包括:
混淆数据生成模块,被配置为:基于期望位长信息,生成混淆数据,并且
所述加密运算模块还包括混淆加密子模块,所述混淆加密子模块被配置为:
基于所述混淆数据,对所述中间数据进行加密运算,以生成加密数据。
11.如权利要求10所述的装置,其中,所述混淆数据生成模块包括:
第一数据生成子模块,被配置为:对于所述输入数据的首条子输入数据,随机生成该子输入数据所对应的混淆数据,其中,该子输入数据所对应的混淆数据的位长等于该子输入数据所对应的中间数据的位长;以及
第二数据生成子模块,被配置为:对于所述输入数据的非首条子输入数据,基于上一条子输入数据所对应的混淆数据和预定增量,生成该子输入数据所对应的混淆数据。
12.如权利要求1-9中任一项所述的装置,其中,所述位长调节模块还包括:
拼接子模块,被配置为:将所述输入数据和密钥数据进行拼接。
13.一种加密方法,用于将输入数据转换为加密数据,所述方法包括:
基于期望位长信息,将所述输入数据转换为中间数据;
对所述中间数据进行加密运算,以生成加密数据;
计算所述中间数据的有效位长信息,作为所述输入数据的有效位长信息;以及
基于所述输入数据的有效位长信息,更新所述期望位长信息,以使得基于所述期望位长信息将下一输入数据转换为所述加密数据。
14.如权利要求13所述的方法,其中,所述输入数据包括一条或多条子输入数据,所述子输入数据包括待加密部分和小数部分,所述期望位长信息包括期望密文位长和期望小数位长,并且,所述基于期望位长信息,将所述输入数据转换为中间数据包括:
对每条子输入数据,响应于该子输入数据的待加密部分的位长小于所述期望密文位长,对该子输入数据的待加密部分进行补零操作,以生成所对应的中间数据的待加密部分,使得所对应的中间数据的待加密部分的位长为所述期望密文位长;和/或
对每条子输入数据,响应于该子输入数据的待加密部分的位长大于所述期望密文位长,对该子输入数据的小数部分进行位缩减操作,以生成所对应的中间数据的小数部分,使得所对应的中间数据的小数部分的位长为所述期望小数位长。
15.如权利要求14所述的方法,其中,所述输入数据包括一条子输入数据,所述输入数据的有效位长信息包括所述输入数据的有效密文位长和有效小数位长,并且,所述计算所述中间数据的有效位长信息,作为所述输入数据的有效位长信息包括:
对于该子输入数据,计算所对应的中间数据的待加密部分的有效位长,作为该子输入数据的有效密文位长,并且,计算所对应的中间数据的小数部分的有效位长,作为子输入数据的有效小数位长,并且
所述基于所述输入数据的有效位长信息,更新所述期望位长信息包括:
将所述期望密文位长设置为该子输入数据的有效密文位长;以及
将所述期望小数位长设置为该子输入数据的有效小数位长。
16.如权利要求14所述的方法,其中,所述输入数据包括多条子输入数据,所述输入数据的有效位长信息包括所述输入数据的有效密文位长和有效小数位长,并且,所述基于输入数据中的子输入数据的有效位长信息,更新所述期望位长信息包括:
选择所述多条子输入数据中的待统计子输入数据;
对于所述待统计子输入数据中的每条子输入数据,计算所对应的中间数据的待加密部分的有效位长,作为该子输入数据的有效密文位长,并且,计算所对应的中间数据的小数部分的有效位长,作为子输入数据的有效小数位长,并且
所述基于所述输入数据的有效位长信息,更新所述期望位长信息包括:
对于所述待统计子输入数据中的每条子输入数据,计算该子输入数据的有效密文位长和有效小数位长之和,作为该子输入数据的有效位长;
选择所述待统计子输入数据中具有最大有效位长的子输入数据,作为所述输入数据的目标子输入数据;
将所述期望密文位长设置为所述目标子输入数据的有效密文位长;以及
将所述期望小数位长设置为所述目标子输入数据的有效小数位长。
17.如权利要求16所述的方法,其中,所述对该子输入数据所对应的中间数据和混淆数据进行加密运算包括:
根据预设规则将所述输入数据的中间数据划分为一个或多个集合;以及
使用一个或多个并行计算子模块进行所述加密运算,其中,在每个并行计算子模块中,对于该并行计算子模块所对应的中间数据的集合,进行该中间数据的集合所对应的加密运算,并且,计算所述中间数据的集合所对应的有效位长信息。
18.如权利要求17所述的方法,还包括:
基于所述输入数据中的子输入数据的数量,确定所述并行计算子模块的数量。
19.如权利要求17所述的方法,其中,所述基于所述输入数据的有效位长信息,更新所述期望位长信息还包括:
计算所述输入数据的偏差参数,其中,所述偏差参数为基于所述待统计子输入数据的有效位长的标准差或方差来确定,并且
所述方法还包括:基于所述输入数据的偏差参数和子输入数据的数量,确定所述并行计算子模块的数量。
20.如权利要求19所述的方法,所述根据预设规则将所述中间数据的多条子输入数据划分为一个或多个集合包括:
响应于所述输入数据的偏差参数大于第一偏差阈值,基于所述中间数据的有效位长,将所述中间数据划分为多个第一集合,并且每一集合中的中间数据的有效位长的偏差参数小于或等于第二偏差阈值。
21.如权利要求19所述的方法,所述根据预设规则将所述中间数据的多条子输入数据划分为一个或多个集合包括:
响应于所述输入数据的偏差参数小于或等于第一偏差阈值,将所述中间数据划分为一个或多个第二集合,
其中,当使用多个所述并行计算子模块进行所述加密运算时,多个第二集合中的每个第二集合具有相同数量的中间数据。
22.如权利要求13-21中任一项所述的方法,还包括:
基于期望位长信息,生成混淆数据,并且
所述对所述中间数据进行加密运算,以生成加密数据包括:
基于所述混淆数据,对所述中间数据进行加密运算,以生成加密数据。
23.如权利要求13-21中任一项所述的方法,其中,所述基于期望位长信息,生成混淆数据包括:
对于所述输入数据的首条子输入数据,随机生成该子输入数据所对应的混淆数据,其中,该子输入数据所对应的混淆数据的位长等于该子输入数据所对应的中间数据的位长;以及
对于所述输入数据的非首条子输入数据,基于上一条子输入数据所对应的混淆数据和预定增量,生成该子输入数据所对应的混淆数据。
24.如权利要求13-21中任一项所述的方法,
其中,所述基于期望位长信息,将所述输入数据转换为中间数据还包括:
将所述输入数据和密钥数据进行拼接。
25.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求13-24中任一项所述的方法。
26.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求13-24中任一项所述的方法。
27.一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现权利要求13-24中任一项所述的方法。
CN202111508362.8A 2021-12-10 2021-12-10 加密装置及方法、设备和介质 Active CN114124360B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111508362.8A CN114124360B (zh) 2021-12-10 2021-12-10 加密装置及方法、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111508362.8A CN114124360B (zh) 2021-12-10 2021-12-10 加密装置及方法、设备和介质

Publications (2)

Publication Number Publication Date
CN114124360A true CN114124360A (zh) 2022-03-01
CN114124360B CN114124360B (zh) 2023-06-16

Family

ID=80364827

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111508362.8A Active CN114124360B (zh) 2021-12-10 2021-12-10 加密装置及方法、设备和介质

Country Status (1)

Country Link
CN (1) CN114124360B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120079281A1 (en) * 2010-06-28 2012-03-29 Lionstone Capital Corporation Systems and methods for diversification of encryption algorithms and obfuscation symbols, symbol spaces and/or schemas
CN110601814A (zh) * 2019-09-24 2019-12-20 深圳前海微众银行股份有限公司 联邦学习数据加密方法、装置、设备及可读存储介质
CN111224864A (zh) * 2020-01-14 2020-06-02 平安国际智慧城市科技股份有限公司 消息传输方法、装置、计算机设备和存储介质
CN111615106A (zh) * 2019-02-25 2020-09-01 阿里巴巴集团控股有限公司 一种语音数据包的加密方法及装置
WO2020244070A1 (zh) * 2019-06-06 2020-12-10 平安科技(深圳)有限公司 数字信息加密方法、装置、计算机设备和存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120079281A1 (en) * 2010-06-28 2012-03-29 Lionstone Capital Corporation Systems and methods for diversification of encryption algorithms and obfuscation symbols, symbol spaces and/or schemas
CN111615106A (zh) * 2019-02-25 2020-09-01 阿里巴巴集团控股有限公司 一种语音数据包的加密方法及装置
WO2020244070A1 (zh) * 2019-06-06 2020-12-10 平安科技(深圳)有限公司 数字信息加密方法、装置、计算机设备和存储介质
CN110601814A (zh) * 2019-09-24 2019-12-20 深圳前海微众银行股份有限公司 联邦学习数据加密方法、装置、设备及可读存储介质
CN111224864A (zh) * 2020-01-14 2020-06-02 平安国际智慧城市科技股份有限公司 消息传输方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN114124360B (zh) 2023-06-16

Similar Documents

Publication Publication Date Title
JP5957120B1 (ja) 秘密分散方法、秘密分散システム、分散装置、およびプログラム
US9900147B2 (en) Homomorphic encryption with optimized homomorphic operations
CN110580409B (zh) 模型参数确定方法、装置和电子设备
US11489659B2 (en) Multiple data source secure data processing
EP2701337A2 (en) Secret sharing method and system
US9584315B2 (en) Order-preserving encryption system, encryption device, decryption device, encryption method, decryption method, and programs thereof
US10546045B2 (en) Efficient extended-precision processing
CN113722755A (zh) 实现隐私保护的数据处理系统、方法、装置和设备
US10078492B2 (en) Generating pseudo-random numbers using cellular automata
CN113938270A (zh) 弹性降低复杂度的数据加密方法和装置
García-Hernández et al. Multi-objective configuration of a secured distributed cloud data storage
CN111159730B (zh) 数据处理方法、查询方法、装置、电子设备和系统
CN116132049B (zh) 数据加密的方法、装置、设备及存储介质
CN114124360B (zh) 加密装置及方法、设备和介质
KR102522708B1 (ko) 동형 암호문에 대한 통계 연산 수행하는 장치 및 방법
US20230085239A1 (en) Querying fully homomorphic encryption encrypted databases using client-side preprocessing or post-processing
CN118118164A (zh) 数据保护方法、基于纵向联邦学习模型的预测方法及装置
US20230401033A1 (en) Secret msb normalization system, distributed processing apparatus, secret msb normalization method, program
CN111461178B (zh) 数据处理方法、系统及装置
CN114817954A (zh) 图像的处理方法、系统和装置
US9842086B2 (en) Calculation device, calculation method, and program
CN115333868B (zh) 基于奇偶轮循的对称加密方法、解密方法、装置、设备
CN108075889B (zh) 一种降低加解密运算时间复杂度的数据传输方法及系统
CN112182593A (zh) 一种数据处理方法、装置和电子设备
KR20200099957A (ko) 비밀 키에 대한 정족수 설계를 수행하는 장치 및 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20220301

Assignee: Baisheng Consultation (Shanghai) Co.,Ltd.

Assignor: Shengdoushi (Shanghai) Technology Development Co.,Ltd.

Contract record no.: X2023310000138

Denomination of invention: Encryption device, method, device, and medium

Granted publication date: 20230616

License type: Common License

Record date: 20230714

EE01 Entry into force of recordation of patent licensing contract