CN114036550A - 一种保留浮点数格式的加密方法及装置 - Google Patents
一种保留浮点数格式的加密方法及装置 Download PDFInfo
- Publication number
- CN114036550A CN114036550A CN202210019167.7A CN202210019167A CN114036550A CN 114036550 A CN114036550 A CN 114036550A CN 202210019167 A CN202210019167 A CN 202210019167A CN 114036550 A CN114036550 A CN 114036550A
- Authority
- CN
- China
- Prior art keywords
- floating point
- encryption
- ciphertext
- point number
- encrypted
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Nonlinear Science (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及数据加密保护技术,提供一种保留浮点数格式的加密方法。本公开提供的一种保留浮点数格式的加密方法,包括:获取浮点数的需加密区;获取所述需加密区的第一数值;对所述第一数值执行加密操作,得到初始密文;将所述初始密文替换所述需加密区中预设位置的数据,得到最终密文。本公开还涉及一种保留浮点数格式的加密装置、一种电子设备和一种计算机可读存储介质。通过本公开提供的保留浮点数格式的加密方法加密后的密文仍然为浮点数,并支持进一步对加密后的浮点数据需要的数值运算。
Description
技术领域
本公开涉及数据加密保护技术领域,具体涉及一种保留浮点数格式的加密方法。本公开还涉及一种保留浮点数格式的加密装置,一种电子设备和一种计算机可读存储介质。
背景技术
在众多领域都有使用浮点数来进行数据表达,存储,计算,例如企业人员的薪资,人工智能,机器学习过程也涉及大量的浮点数据。这些数据可能非常敏感,需要进行加密保护。一般的数据加密方法将浮点数作为一般数据进行加密处理,例如分组加密算法加密。加密后数据不再是有效的浮点数据,使得许多应用无法进一步对加密后的浮点数据进行相关运算。
发明内容
本发明所要解决的技术问题是提供一种保留浮点数格式的加密方法及装置,旨在解决通过现有数据加密方法加密后的浮点数据无法进行相关运算的技术问题。
为实现上述目的,本发明提供一种保留浮点数格式的加密方法,包括:
获取浮点数的需加密区;
获取所述需加密区的第一数值;
对所述第一数值执行加密操作,得到初始密文;
将所述初始密文替换所述需加密区中预设位置的数据,得到最终密文。
进一步地,所述获取所述需加密区的第一数值包括:
确定所述浮点数的有效精度;
根据所述有效精度,将所述浮点数转换为第二数值;
从所述第二数值中获取所述第一数值。
进一步地,对所述第一数值执行加密操作,得到初始密文包括:
生成密钥流,使用所述密钥流和第一数值执行异或运算,生成中间密文;
若所述中间密文不在规定数值区间中,则将中间密文作为新明文,重复该步骤直至中间密文落在所述规定数值区间中,则将中间密文作为初始密文输出。
进一步地,对所述第一数值执行加密操作,以得到所述需加密区的密文包括:
生成密钥流,对所述密钥流进行模运算,得到第一运算结果;
对所述第一数值和运算结果相加,得到第二运算结果;以及
对所述第二运算结果进行模运算,得到初始密文。
进一步地,所述生成密钥流包括:
基于初始向量和密钥使用流加密算法生成密钥流;
或者,基于初始向量或计数器和密钥使用分组密码算法的包括但不限于电子密码本ECB模式、密文反馈CFB模式、输出反馈OFB模式或计数器CTR模式生成所述密钥流。
进一步地,所述生成密钥流包括:
使用浮点数的非加密区的变换值作为调参T,调参T作为所述流加密算法或分组密码算法模式所需的初始向量或计数器;
或者,生成随机数据RND;
所述随机数据RND结合其他信息作为所述流加密算法或分组密码算法模式所需的初始向量或计数器;
所述随机数据RND嵌入浮点数。
进一步地,所述随机数据RND嵌入浮点数包括:
将所述随机数据RND转换为小于所述浮点数的有效精度最小值后,放入所述浮点数的有效精度位数之后;
或者,将所述随机数据RND与所述密文合并转换为不大于所述需加密区对应的最大浮点数后,替换所述需加密区中预设位置的数据。
此外,为实现上述目的,本发明还提供一种保留浮点数格式的加密方法装置,包括:
获取模块,用于获取浮点数的需加密区;
提取模块,获取所述需加密区的第一数值;
加密模块,用于对所述第一数值执行加密操作,得到初始密文;
替换模块,用于将所述初始密文替换所述需加密区中预设位置的数据,得到最终密文。
此外,为实现上述目的,本发明还提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,上述处理器被配置为执行上述指令以实现本公开实施例的方法。
此外,为实现上述目的,本发明还提供了一种计算机可读存储介质,其上存储有计算机指令,上述计算机指令被处理器执行时实现本公开实施例的方法。
与现有技术相比,本申请具有的有益效果为:通过本公开提供的保留浮点数格式的加密方法加密后的密文仍然为浮点数,并支持进一步对加密后的浮点数据需要的数值运算,从而解决了通过现有数据加密方法加密后的浮点数据无法进行相关运算的技术问题。
附图说明
图1示例性的示出了适用于本公开一实施例的保留浮点数格式的加密方法的流程图。
图2示例性的示出了适用于本公开一实施例的获取所述需加密区的第一数值的流程图。
图3示例性的示出了适用于本公开一实施例的保留浮点数格式的加密方法装置的框图。
图4示例性的公开了本公开一实施例中电子设备、计算机可读存储介质的框图。
具体实施方式
以下实施列是对本公开的进一步说明,不是对本公开的限制。
在众多领域都有使用浮点数来进行数据表达,存储,计算,例如企业人员的薪资、人工智能、机器学习过程也涉及大量的浮点数据。
通常,这些浮点数据为敏感数据,需要进行加密保护处理。目前常用的浮点数据加密方法一般是采用分组加密算法加密,将浮点数作为一般数据进行,然而利用该加密方式加密后的数据不再是有效的浮点数据,使得许多应用无法对加密后的浮点数据进行相关运算。
图1示例性的示出了适用于本公开一实施例的保留浮点数格式的加密方法的流程图。该方法可以应用在加密单元对浮点数进行加密。
如图1所示,本公开实施例的保留浮点数格式的加密方法包括步骤S110~步骤S140。
步骤S110,获取浮点数的需加密区。
例如,设定浮点数F = X*10-u+Y,Y<10-u,选定需加密区Y[0, 10-u)。
步骤,获取所述需加密区的第一数值B。
如图2所示,获取所述需加密区的第一数值B包括操作S121~操作S123。
步骤,在确定所述浮点数的有效精度。
步骤,根据所述有效精度,通过公式1:I= F*10v,将所述浮点数转换为第二数值I,其中,10v为浮点数的有效精度,1/10v为需加密区Y的最小非0值。
步骤,根据公式2:B = I mod 10v-u,从所述第二数值I中获取所述第一数值B。
步骤,使用区间加密算法对所述第一数值B执行加密操作,以生成位于规定数值区间的初始密文。
其中第一实施方式为,使用加密方法生成密钥流,使用所述密钥流和第一数值B执行异或运算,生成中间密文E;若所述中间密文E不在规定数值区间中,则将中间密文E作为新明文,重复该步骤直至中间密文落在所述规定数值区间中,则将中间密文作为初始密文C输出。
其中第二种实施方式为,使用加密方法生成密钥流,对所述密钥流进行模W运算,获得运算结果U,所述W是所述规定数值区间的大小;对所述第一数值B和第一运算结果U相加得到第二运算结果;对第二运算结果后进行模W运算,获得初始密文C。
通过本公开实施例,可以保证密文空间在规定的区间中。另外当明文空间如此小时,还无需引入额外机制进行安全性的加强操作。对于操作S130的第一种实施方式和第二种实施方式中的使用加密方法生成密钥流包括:
基于初始向量和密钥使用流加密算法生成密钥流;使用调参T作为流加密算法或分组密码算法模式所需的初始向量或计数器,其中,调参T为浮点数的非加密区的变换值;或者,根据需要生成随机数据RND;所述随机数据RND结合其他信息作为所述流加密算法或分组密码算法模式所需的初始向量或计数器,所述其他信息包括调参T。
例如,可以使用调参T作为初始向量IV, 使用KEY作为密钥,调用流加密算法ZUC(祖冲之算法),生成密钥流SKEY。
例如,生成随机数RND,使用T||RND作为初始向量IV, 使用KEY作为密钥,调用流加密算法ZUC(祖冲之算法),生成密钥流SKEY,其中,||为数值连接。
或者,基于初始向量或计数器和密钥使用分组密码算法的ECB(Electronic CodeBook,ECB,电子密码本)模式、密文反馈CFB(Cipher FeedBack,CFB,密文反馈)模式、输出反馈OFB(Output-Feedback,OFB,输出反馈)模式或计数器CTR(CounTeR,CTR,计数器)模式生成所述密钥流。
例如,可以使用调参T作为计数器, 使用KEY作为密钥,调用SM4分组加密算法(下称SM4算法)的计数器模式CTR生成密钥流SKEY。
例如,生成随机数RND,使用T||RND作为计数器, 使用KEY作为密钥,调用SM4分组加密算法(下称SM4算法)的计数器模式CTR生成密钥流SKEY。
例如,使用调参T作为计数器, 使用KEY作为密钥,调用SM4分组加密算法(下称SM4算法)的电子密本模式ECB生成密钥流SKEY。
例如,生成随机数RND,使用T作为计数器, 使用KEY作为密钥,调用SM4分组加密算法(下称SM4算法)的电子密本模式ECB生成密钥流SKEY。
所述随机数据RND嵌入浮点数。
例如,将所述随机数据RND转换为小于所述浮点数的有效精度最小值后,放入所述浮点数的有效精度位数之后。
或者,将所述随机数据RND与所述密文合并转换为不大于所述需加密区对应的最大浮点数后,替换所述需加密区中预设位置的数据A。
上述的调参T可根据公式3得到,公式3:T = X*10u||AUX,其中AUX是辅助信息。
步骤,将所述初始密文C替换所述需加密区中预设位置的数据A,得到最终密文。
例如,根据D=C/10w+u,将所述初始密文C转换为第三数值D,该第三数值D位于所述需加密区中,然后使用第三数值D替换所述需加密区中预设位置的数据A。
通过本公开实施例,加密后的密文仍然为浮点数,并支持进一步对加密后的浮点数据需要的数值运算。
本公开的实施例中,提出了一种保留浮点数格式的加密方法,包括:获取浮点数的需加密区Y;获取所述需加密区的第一数值B;对所述第一数值B执行加密操作,得到初始密文C;将所述初始密文C转换为第三数值D,使用第三数值D替换所述需加密区中预设位置的数据A,得到最终密文Z。
接下来对上述的保留浮点数格式的加密方法示出具体的实施例子:
1.设浮点数F = X*10-u+Y,Y<10-u,选定需加密区Y[0, 10-u);
2.将所述需加密区Y转换为第一数值B:I= F*10v,B = I mod 10v-u, 其中1/10v为需加密区Y的最小非0值;
3.设调参T = X*10u||AUX,其中AUX是辅助信息,||为数值连接;
4.使用区间加密方法生成密文C= RANGE_ENC(KEY, T,B),其中区间加密方法的密文区间为[0,10w);
5.设D=C/10w+u,D为第三数值,C为初始密文;
6.设Z= X1*10-u+D。
然后接下来通过下面几种具体实施例子对使用区间加密算法对所述第一数值B执行加密操作,以生成需加密区的密文该步骤进行说明:
方法1;
1.使用调参T作为初始向量IV, 使用KEY作为密钥,调用流加密算法如ZUC生成密钥流SKEY;
2.计算E = SKEY⊕ B;
3.若E>=10u,更改调参T, 设B=E, 转步骤1;
4.否则输出C=E。
方法2:
1.生成随机数RND;
2.使用T||RND作为初始向量IV, 使用KEY作为密钥,调用流加密算法如ZUC生成密钥流SKEY;
3.计算E = SKEY⊕ B;
4.若E>=10u,或者更改RND, 设B=E, 转步骤2,或者设B=E, 转步骤1
5.否则输出C=E*10w-(v-u)+RND或者C=RND*10(v-u)+E。
方法3:
1.使用T作为计数器, 使用KEY作为密钥,调用分组加密算法如SM4的计数器模式CTR生成密钥流SKEY;
2.计算E = SKEY⊕B;
3.若E>=10u,更改计数器T, 设B=E, 转步骤1;
4.否则输出C=E。
方法4:
1.生成随机数RND;
2.使用T||RND作为计数器, 使用KEY作为密钥,调用分组加密算法如SM4的计数器模式CTR生成密钥流SKEY;
3.计算E = SKEY⊕ B;
4.若E>=10u,或者更改计数器, 设B=E, 转步骤2,或者设B=E, 转步骤1;
5.否则输出C=E*10w-(v-u)+RND或者C=RND*10(v-u)+E。
方法5:
1.使用T作为计数器, 使用KEY作为密钥,调用分组加密算法如SM4的电子密本模式ECB生成密钥流SKEY;
2.设W = 10u ,U= SKEY mod W;
3.输出C = (U+B) mod W。
方法6:
1.生成随机数RND;
2.使用T作为计数器, 使用KEY作为密钥,调用分组加密算法如SM4的电子密本模式ECB生成密钥流SKEY;
3.设W = 10u ,U= SKEY mod W;
4.输出C = (U+B) mod W;
方法7:
1)使用T作为计数器, 使用KEY作为密钥,调用分组加密算法如SM4的计数器模式CTR生成密钥流SKEY;
2)计算E = (SKEY mod 10u)⊕B;
3)若E>=10u,更改计数器T, 设B=E, 转步骤1;
4)否则输出C=E。
方法8:
1.生成随机数RND;
2.使用T||RND作为计数器, 使用KEY作为密钥,调用分组加密算法如SM4的计数器模式CTR生成密钥流SKEY;
3.计算E = (SKEY mod 10u)⊕B;
4.若E>=10u,或者更改计数器, 设B=E, 转步骤2,或者设B=E, 转步骤1;
5.否则输出C=E*10w-(v-u)+RND或者C=RND*10(v-u)+E。
需要说明的是,上面示例中采用10为基数,实际方法实现可采用任意大于1的整数作为基数。
图3示例性的示出了适用于本公开一实施例的保留浮点数格式的加密装置的框图。
如图3所示,该保留浮点数格式的加密装置300包括获取模块310、提取模块320、加密模块330和替换模块340。
获取模块310,用于获取浮点数的需加密区;
提取模块320,获取所述需加密区的第一数值B;
加密模块330,用于对所述第一数值B执行加密操作,得到初始密文C;
替换模块340,用于将所述初始密文C替换所述需加密区中预设位置的数据,得到最终密文。
作为本公开的一可选实施例,上述提取模块320包括:确定模块,用于确定所述浮点数的有效精度。第一子转换模块,用于根据所述有效精度,将所述浮点数转换为第二数值I。子提取模块,用于从第二数值I中提取所述第一数值B。
作为本公开的一可选实施例,上述加密模块330包括:密钥流派生子模块,用于使用加密方法生成密钥流。以及生成密文模块,用于基于密钥流生成密文。
作为本公开的一可选实施例,上述生成密文模块可以通过以下两种操作生成密文:
第一种操作:使用所述密钥流和B执行异或运算,生成中间密文;若所述中间密文不在规定数值区间中,则将中间密文作为新密文,重复上述步骤,直到密文落在所述规定数值区间中,输出初始密文C。
第二种操作:对所述密钥流进行模W运算,得到运算结果U,其中W是所述规定数值区间的大小;以及对所述第一数值B和运算结果U相加后进行模W运算,获得初始密文C。
作为本公开的一可选实施例,上述密钥流派生子模块可以为流加密算法子模块,用于基于初始向量和密钥使用流加密算法生成密钥流。或者,上述密钥流派生子模块可以为分组加密子模块,用于基于初始向量或者计数器和密钥使用分组加密算法的ECB模式、密文反馈CFB模式、输出反馈OFB模式或计数器CTR模式生成所述密钥流。
作为本公开的一可选实施例,上述替换模块340包括:第二子转换模块,用于将所述密文C转换为第三数值D,该第三数值D位于所述需加密区中。子替换模块,用于使用第三数值D替换所述需加密区中预设位置的数据A。
图4示例性的公开了本公开一实施例中电子设备、计算机可读存储介质的框图。
如图4所示,是根据本公开实施例的应用于保留浮点数格式的加密方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图4所示,该电子设备900包括:一个或多个处理器901、存储器902,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件可以被安装在公共主板上或者根据需要以其它方式安装,并且利用不同的总线互相连接。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或/和存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示图形界面的信息指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一同使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组或多组刀片式服务器、或者多处理器***)。图4中以一个处理器901为例。
存储器902即为本公开所提供的计算机可读存储介质。其中,上述存储器存储有可由至少一个处理器执行的指令,以使上述至少一个处理器执行本公开所提供的保留浮点数格式的加密方法。本公开的计算机可读存储介质存储计算机指令,该计算机指令可以用于使计算机执行本公开所提供的保留浮点数格式的加密方法。
存储器902作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本公开实施例中的保留浮点数格式的加密方法对应的程序指令/模块(例如,附图3所示的获取模块310、提取模块320、加密模块330和替换模块340)。处理器901通过运行存储在存储器902中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,以实现上述方法实施例中的保留浮点数格式的加密方法。
存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据展示信息的电子设备的使用所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器902可以包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至上述的电子设备以实现上述保留浮点数格式的加密方法。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现保留浮点数格式的加密方法的电子设备还可以包括:输入装置903和输出装置904。处理器901、存储器902、输入装置903和输出装置904可以通过总线或者其他方式连接,图4中以通过总线连接为例。
输入装置903可接收输入的数字或字符信息,以及产生与展示信息的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、键盘、鼠标等输入装置。输出装置904可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动马达)等。该显示设备可以包括:液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器等。在一些实施方式中,显示设备可以是触摸屏。
此处描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至上述存储***、上述至少一个输入装置、和上述至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言(例如,C语言)、和/或汇编/机器语言来实施这些计算程序。如本文使用的,“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、或/和装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括接收作为机器可读信号的机器指令的机器可读介质。“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,OLED(有机电激光显示)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
上列详细说明是针对本公开可行实施例的具体说明,以上实施例并非用以限制本公开的专利范围,凡未脱离本公开所为的等效实施或变更,均应包含于本案的专利范围中。
Claims (10)
1.一种保留浮点数格式的加密方法,其特征在于,包括:
获取浮点数的需加密区;
获取所述需加密区的第一数值;
对所述第一数值执行加密操作,得到初始密文;
将所述初始密文替换所述需加密区中预设位置的数据,得到最终密文。
2.根据权利要求1所述的一种保留浮点数格式的加密方法,其特征在于,所述获取所述需加密区的第一数值包括:
确定所述浮点数的有效精度;
根据所述有效精度,将所述浮点数转换为第二数值;
从所述第二数值中获取所述第一数值。
3.根据权利要求1所述的一种保留浮点数格式的加密方法,其特征在于,对所述第一数值执行加密操作,得到所述初始密文包括:
生成密钥流,使用所述密钥流和第一数值执行异或运算,生成中间密文;
若所述中间密文不在规定数值区间中,则将中间密文作为新明文,重复该步骤直至中间密文落在所述规定数值区间中,则将中间密文作为初始密文输出。
4.根据权利要求1所述的一种保留浮点数格式的加密方法,其特征在于,对所述第一数值执行加密操作,以得到所述初始密文包括:
生成密钥流,对所述密钥流进行模运算,得到第一运算结果;
对所述第一数值和运算结果相加,得到第二运算结果;以及
对所述第二运算结果进行模运算,得到初始密文。
5.根据权利要求3或4所述的一种保留浮点数格式的加密方法,其特征在于,所述生成密钥流包括:
基于初始向量和密钥使用流加密算法生成密钥流;
或者,基于初始向量或计数器和密钥使用分组密码算法的包括但不限于电子密码本ECB模式、密文反馈CFB模式、输出反馈OFB模式、计数器CTR模式生成所述密钥流。
6.根据权利要求5所述的一种保留浮点数格式的加密方法,其特征在于,所述生成密钥流包括:
使用浮点数的非加密区的变换值作为调参T,调参T作为所述流加密算法或分组密码算法模式所需的初始向量或计数器;
或者,生成随机数据RND;
所述随机数据RND结合其他信息作为所述流加密算法或分组密码算法模式所需的初始向量或计数器;
所述随机数据RND嵌入浮点数。
7.根据权利要求6所述的一种保留浮点数格式的加密方法,其特征在于,所述随机数据RND嵌入浮点数包括:
将所述随机数据RND转换为小于所述浮点数的有效精度最小值后,放入所述浮点数的有效精度位数之后;
或者,将所述随机数据RND与所述密文合并转换为不大于所述需加密区对应的最大浮点数后,替换所述需加密区中预设位置的数据。
8.一种保留浮点数格式的加密装置,其特征在于,包括:
获取模块,用于获取浮点数的需加密区;
提取模块,获取所述需加密区的第一数值;
加密模块,用于对所述第一数值执行加密操作,得到初始密文;
替换模块,用于将所述初始密文替换所述需加密区中预设位置的数据,得到最终密文。
9.一种电子设备,其特征在于,包括:处理器;
用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令以实现根据权利要求1~7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机指令,所述计算机指令被处理器执行时实现根据权利要求1~7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210019167.7A CN114036550A (zh) | 2022-01-10 | 2022-01-10 | 一种保留浮点数格式的加密方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210019167.7A CN114036550A (zh) | 2022-01-10 | 2022-01-10 | 一种保留浮点数格式的加密方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114036550A true CN114036550A (zh) | 2022-02-11 |
Family
ID=80141508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210019167.7A Pending CN114036550A (zh) | 2022-01-10 | 2022-01-10 | 一种保留浮点数格式的加密方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114036550A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030007635A1 (en) * | 2001-07-09 | 2003-01-09 | C4 Technology, Inc. | Encryption method, program for encryption, memory medium for storing the program, and encryption apparatus, as well as decryption method and decryption apparatus |
US20180309733A1 (en) * | 2017-04-25 | 2018-10-25 | Entit Software Llc | Format preserving encryption of floating point data |
CN112231718A (zh) * | 2020-07-13 | 2021-01-15 | 广发银行股份有限公司 | 数据加密处理方法、装置、计算机设备和存储介质 |
US20210049935A1 (en) * | 2019-08-16 | 2021-02-18 | Informatica Llc | Method, apparatus, and computer-readable medium for format preserving encryption of a numerical value |
CN113079010A (zh) * | 2021-06-07 | 2021-07-06 | 深圳奥联信息安全技术有限公司 | 基于保留格式算法的安全增强方法及装置 |
-
2022
- 2022-01-10 CN CN202210019167.7A patent/CN114036550A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030007635A1 (en) * | 2001-07-09 | 2003-01-09 | C4 Technology, Inc. | Encryption method, program for encryption, memory medium for storing the program, and encryption apparatus, as well as decryption method and decryption apparatus |
US20180309733A1 (en) * | 2017-04-25 | 2018-10-25 | Entit Software Llc | Format preserving encryption of floating point data |
US20210049935A1 (en) * | 2019-08-16 | 2021-02-18 | Informatica Llc | Method, apparatus, and computer-readable medium for format preserving encryption of a numerical value |
CN112231718A (zh) * | 2020-07-13 | 2021-01-15 | 广发银行股份有限公司 | 数据加密处理方法、装置、计算机设备和存储介质 |
CN113079010A (zh) * | 2021-06-07 | 2021-07-06 | 深圳奥联信息安全技术有限公司 | 基于保留格式算法的安全增强方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111565109A (zh) | 一种区块链的密钥处理方法、装置、设备和介质 | |
US11438172B2 (en) | Robust state synchronization for stateful hash-based signatures | |
CN111464297B (zh) | 基于区块链的事务处理方法、装置、电子设备和介质 | |
CN113169860A (zh) | 用于对密文进行非多项式计算的装置和方法 | |
Lambić | Cryptanalyzing a novel pseudorandom number generator based on pseudorandomly enhanced logistic map | |
Yang et al. | A cubic map chaos criterion theorem with applications in generalized synchronization based pseudorandom number generator and image encryption | |
WO2019043921A1 (ja) | 暗号化装置、復号装置、暗号化方法、復号方法、暗号化プログラム及び復号プログラム | |
Guanghui et al. | Chaotic Image Encryption Based on Running‐Key Related to Plaintext | |
CN114124359A (zh) | 保留格式加密数据的方法、装置、电子设备及存储介质 | |
CN113794706A (zh) | 数据的处理方法、装置、电子设备及可读存储介质 | |
CN113079010B (zh) | 基于保留格式算法的安全增强方法及装置 | |
CN115442164B (zh) | 多用户日志加解密方法、装置、设备及存储介质 | |
CN114036550A (zh) | 一种保留浮点数格式的加密方法及装置 | |
CN108595973B (zh) | 指令确定方法、设备控制方法、装置和*** | |
CN116170180A (zh) | 加密方法、装置、存储介质以及电子设备 | |
WO2016204846A2 (en) | System and method for an enhanced xor cipher through extensions | |
WO2016132506A1 (ja) | 疑似乱数生成装置及び疑似乱数生成プログラム | |
US11336429B2 (en) | Method for protecting a source of entropy used in countermeasures securing a white-box cryptographic algorithm | |
Ullagaddi et al. | Symmetric synchronous stream encryption using images | |
Feng-ying et al. | A new image encryption algorithm based on the Logistic chaotic system | |
CN113824546B (zh) | 用于生成信息的方法和装置 | |
CN116108496B (zh) | 匿踪查询方法、装置、设备及存储介质 | |
CN116055039B (zh) | 一种基于分组密码算法的随机数生成方法及装置 | |
CN117743384A (zh) | 一种数据查询方法、装置、设备和存储介质 | |
Karthikeyan et al. | A new approach for enhancing data security using parallel processing |
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 |