CN114629706B - 文件加密方法、装置、设备及存储介质 - Google Patents

文件加密方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114629706B
CN114629706B CN202210258797.XA CN202210258797A CN114629706B CN 114629706 B CN114629706 B CN 114629706B CN 202210258797 A CN202210258797 A CN 202210258797A CN 114629706 B CN114629706 B CN 114629706B
Authority
CN
China
Prior art keywords
file
value
function value
target
preset
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.)
Active
Application number
CN202210258797.XA
Other languages
English (en)
Other versions
CN114629706A (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.)
Ping An International Smart City Technology Co Ltd
Original Assignee
Ping An International Smart City Technology 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 Ping An International Smart City Technology Co Ltd filed Critical Ping An International Smart City Technology Co Ltd
Priority to CN202210258797.XA priority Critical patent/CN114629706B/zh
Publication of CN114629706A publication Critical patent/CN114629706A/zh
Application granted granted Critical
Publication of CN114629706B publication Critical patent/CN114629706B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

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

Abstract

本发明涉及密码技术,提供一种文件加密方法、装置、设备及存储介质。该方法根据设定密码及第一预设数值生成文件密钥,根据设定密码、第二预设数值及文件密钥生成目标数值,基于初始数值及文件密钥对预设函数进行运算,得到目标函数值,并提取第一函数值及第二函数值,将待处理文件与第一函数值进行异或处理,得到第一文件,基于目标函数值及第一函数值对所述第一文件进行处理,得到第二文件,将第二文件与第二函数值进行异或处理,得到第三文件,根据目标数值的字节长度、目标数值及第三文件生成密文,不仅能够避免密码传输过程中出现泄露的情况,还能够提高密码管理的便利性。此外,本发明还涉及区块链技术,所述密文可存储于区块链中。

Description

文件加密方法、装置、设备及存储介质
技术领域
本发明涉及密码技术领域,尤其涉及一种文件加密方法、装置、设备及存储介质。
背景技术
目前,当用户在团队内部管理多个加密文件时,往往需要人工记住每个加密文件的密码,不利于密码的管理。此外,当用户向其他用户共享文件密码时,容易因传输不当而泄露密码,导致文件的安全性降低。
发明内容
鉴于以上内容,有必要提供一种文件加密方法、装置、设备及存储介质,不仅能够避免密码传输过程中出现泄露的情况,还能够提高密码管理的便利性。
一方面,本发明提出一种文件加密方法,所述文件加密方法包括:
获取待处理文件,并获取多个权限用户对所述待处理文件的设定密码;
根据多个所述设定密码及第一预设数值生成所述待处理文件的文件密钥;
根据所述多个设定密码、第二预设数值及所述文件密钥生成目标数值,所述第二预设数值大于所述第一预设数值;
基于多个初始数值及所述文件密钥对预设函数进行运算,得到目标函数值,并从所述目标函数值中提取第一函数值及第二函数值,所述多个初始数值的数量与所述预设函数中系数的数量相同,且所述系数不为所述多个初始数值的同一公约数;
将所述待处理文件与所述第一函数值进行异或处理,得到第一文件;
基于所述目标函数值及所述第一函数值对所述第一文件进行处理,得到第二文件;
将所述第二文件与所述第二函数值进行异或处理,得到第三文件;
根据所述目标数值的字节长度、所述目标数值及所述第三文件生成所述待处理文件的密文。
根据本发明优选实施例,所述根据多个所述设定密码及第一预设数值生成所述待处理文件的文件密钥包括:
从所述多个设定密码中选取取值最小的密码作为目标密码;
计算所述目标密码与所述第一预设数值的总和,得到最大阈值;
随机选取小于所述最大阈值的整数作为所述文件密钥。
根据本发明优选实施例,所述目标数值的计算公式为:
X=(X1+T)×(X2+T)×…×(Xb+T)+M;
其中,X是指所述目标数值,X1、X2…Xn是指所述多个设定密码,T是指所述第二预设数值,M是指所述文件密钥。
根据本发明优选实施例,所述基于多个初始数值及所述文件密钥对预设函数进行运算,得到目标函数值包括:
获取所述预设函数的一般方程式为y=ax4+bx3+cx2+dx+e;
将所述多个初始数值作为所述一般方程式的系数,所述文件密钥作为所述一般方程式的自变量输入所述一般方程式中进行运算,得到所述目标函数值。
根据本发明优选实施例,所述从所述目标函数值中提取第一函数值及第二函数值包括:
对所述目标函数值进行二进制转换,得到目标二进制值;
按照从前至后的顺序对所述目标二进制值进行字节排序,得到字节顺序;
依照从小至大的字节顺序从所述目标二进制值中提取首位字节作为所述第一函数值,并依照从小至大的字节顺序从所述目标二进制值中提取末位字节作为所述第二函数值。
根据本发明优选实施例,所述基于所述目标函数值及所述第一函数值对所述第一文件进行处理,得到第二文件包括:
对所述第一函数值进行十进制转换,得到第三函数值;
将所述目标函数值除以所述第三函数值,得到余数;
基于所述余数对所述第一文件进行向右移动,得到中间文件,并获取移动过程中的移除字符串;
将所述移除字符串从前至后的顺序对所述中间文件进行替换处理,得到所述第二文件。
根据本发明优选实施例,所述根据所述目标数值的字节长度、所述目标数值及所述第三文件生成所述待处理文件的密文包括:
对所述字节长度进行二进制转换,得到长度二进制值,并对所述目标数值进行二进制值转换,得到中间二进制值;
拼接所述长度二进制值、所述中间二进制值及所述第三文件,得到所述密文。
另一方面,本发明还提出一种文件加密装置,所述文件加密装置包括:
获取单元,用于获取待处理文件,并获取多个权限用户对所述待处理文件的设定密码;
生成单元,用于根据多个所述设定密码及第一预设数值生成所述待处理文件的文件密钥;
所述生成单元,还用于根据所述多个设定密码、第二预设数值及所述文件密钥生成目标数值,所述第二预设数值大于所述第一预设数值;
提取单元,用于基于多个初始数值及所述文件密钥对预设函数进行运算,得到目标函数值,并从所述目标函数值中提取第一函数值及第二函数值,所述多个初始数值的数量与所述预设函数中系数的数量相同,且所述系数不为所述多个初始数值的同一公约数;
异或单元,用于将所述待处理文件与所述第一函数值进行异或处理,得到第一文件;
处理单元,用于基于所述目标函数值及所述第一函数值对所述第一文件进行处理,得到第二文件;
所述异或单元,还用于将所述第二文件与所述第二函数值进行异或处理,得到第三文件;
所述生成单元,还用于根据所述目标数值的字节长度、所述目标数值及所述第三文件生成所述待处理文件的密文。
另一方面,本发明还提出一种电子设备,所述电子设备包括:
存储器,存储计算机可读指令;及
处理器,执行所述存储器中存储的计算机可读指令以实现所述文件加密方法。
另一方面,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可读指令,所述计算机可读指令被电子设备中的处理器执行以实现所述文件加密方法。
由以上技术方案可以看出,本发明通过多个不同的设定密码对所述待处理文件进行加密处理,能够实现多个不同的设定密码对所述密文的解密处理,因此,本发明无需通过统一用户向其他权限用户传输共享其他密码,只需要将权限用户的设定密码加入至文件的加密过程即可,避免了密码传输过程中出现泄露的情况,提高文件的安全性,另外,由于无需通过统一用户对密码进行存储,提高了密码管理的便利性。此外,基于多个初始数值及所述文件密钥对预设函数进行运算,由于预设函数的运算难度较高,因此,提高了所述待处理文件的破解难度。
附图说明
图1是本发明文件加密方法的较佳实施例的流程图。
图2是本发明文件加密装置的较佳实施例的功能模块图。
图3是本发明实现文件加密方法的较佳实施例的电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
如图1所示,是本发明文件加密方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
所述文件加密方法可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
所述文件加密方法应用于一个或者多个电子设备中,所述电子设备是一种能够按照事先设定或存储的计算机可读指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字信号处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述电子设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能穿戴式设备等。
所述电子设备可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络电子设备、多个网络电子设备组成的电子设备组或基于云计算(CloudComputing)的由大量主机或网络电子设备构成的云。
所述电子设备所在的网络包括,但不限于:互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
S10,获取待处理文件,并获取多个权限用户对所述待处理文件的设定密码。
在本发明的至少一个实施例中,所述待处理文件是指需要进行加密处理的任一文件。所述待处理文件可以是文本,也可以是图像等。
所述多个权限用户是指有对所述待处理文件进行查看权限的用户。
所述设定密码可以是所述多个权限用户对所述待处理文件所设定的密码,所述设定密码也可以是所述多个权限用户的人脸特征或者指纹特征编码后所得到的向量信息。
S11,根据多个所述设定密码及第一预设数值生成所述待处理文件的文件密钥。
在本发明的至少一个实施例中,所述第一预设数值可以是随机设定的整数值,例如,所述第一预设数值可以是200。
所述文件密钥是指对所述多个设定密码转换而成,并用于对所述待处理文件进行加密的数据信息。本发明将所述多个设定密码转换为单一的文件密钥,有利于支持多个设定密码对同一文件进行加密处理。
在本发明的至少一个实施例中,所述电子设备根据多个所述设定密码及第一预设数值生成所述待处理文件的文件密钥包括:
从所述多个设定密码中选取取值最小的密码作为目标密码;
计算所述目标密码与所述第一预设数值的总和,得到最大阈值;
随机选取小于所述最大阈值的整数作为所述文件密钥。
通过选取取值最小的设定密码用于计算所述最大阈值,能够降低所述最大阈值的取值,通过从最小的范围中随机选取所述文件密钥,能够提高所述文件密钥的选取效率。
S12,根据所述多个设定密码、第二预设数值及所述文件密钥生成目标数值,所述第二预设数值大于所述第一预设数值。
在本发明的至少一个实施例中,所述第二预设数值是指大于所述第一预设数值的整数值,例如,所述第一预设数值为200,则所述第二预设数值为201或者202等。
在本发明的至少一个实施例中,所述目标数值的计算公式为:
X=(X1+T)×(X2+T)×…×(Xn+T)+M;
其中,X是指所述目标数值,X1、X2…Xn是指所述多个设定密码,T是指所述第二预设数值,M是指所述文件密钥。
通过上述实施方式,能够将所述多个设定密码转换为单一的目标数值,进而通过所述目标数值能够快速的对所述待处理文件进行加密处理。
S13,基于多个初始数值及所述文件密钥对预设函数进行运算,得到目标函数值,并从所述目标函数值中提取第一函数值及第二函数值,所述多个初始数值的数量与所述预设函数中系数的数量相同,且所述系数不为所述多个初始数值的同一公约数。
在本发明的至少一个实施例中,为了提高所述待处理文件的破解难度,通常将所述预设函数设定为N元四次函数。
所述第一函数值是指目标二进制值的首位字节,所述第二函数值是指所述目标二进制值的末位字节,其中,所述目标二进制值是指与所述目标函数值对应的二进制值,所述第一函数值及所述第二函数值均为二进制值。
所述目标函数值通常是指十进制值。
在本发明的至少一个实施例中,所述电子设备基于多个初始数值及所述文件密钥对预设函数进行运算,得到目标函数值包括:
获取所述预设函数的一般方程式为y=ax4+bx3+cx2+dx+e;
将所述多个初始数值作为所述一般方程式的系数,所述文件密钥作为所述一般方程式的自变量输入所述一般方程式中进行运算,得到所述目标函数值。
其中,所述系数是指a、b、c、d、e,所述自变量是指x,所述目标函数值是指y。
通过所述预设函数对所述目标函数值进行运算,能够提高所述文件密钥的破解难度,从而提高所述待处理文件的安全性。
在本发明的至少一个实施例中,所述电子设备从所述目标函数值中提取第一函数值及第二函数值包括:
对所述目标函数值进行二进制转换,得到目标二进制值;
按照从前至后的顺序对所述目标二进制值进行字节排序,得到字节顺序;
依照从小至大的字节顺序从所述目标二进制值中提取首位字节作为所述第一函数值,并依照从小至大的字节顺序从所述目标二进制值中提取末位字节作为所述第二函数值。
例如,所述目标二进制值为000100010000111111110000,经提取,得到所述第一函数值为00010001,所述第二函数值为11110000。
通过对所述目标函数值进行二进制转换,能够提高所述第一函数值及所述第二函数值的提取效率。
S14,将所述待处理文件与所述第一函数值进行异或处理,得到第一文件。
在本发明的至少一个实施例中,所述第一文件可以是二进制化的数据信息。
在本发明的至少一个实施例中,所述电子设备将所述待处理文件与所述第一函数值进行异或处理,得到第一文件包括:
将所述待处理文件转换为文件二进制值;
将所述文件二进制值与所述第一函数值进行异或处理,得到所述第一文件。
通过对所述待处理文件进行转换处理,能够提高所述第一文件的生成效率。
S15,基于所述目标函数值及所述第一函数值对所述第一文件进行处理,得到第二文件。
在本发明的至少一个实施例中,所述第二文件是指在所述第一文件中,将在右移过程中的新增字符串替换为移除字符串后所得到的信息。
在本发明的至少一个实施例中,所述电子设备基于所述目标函数值及所述第一函数值对所述第一文件进行处理,得到第二文件包括:
对所述第一函数值进行十进制转换,得到第三函数值;
将所述目标函数值除以所述第三函数值,得到余数;
基于所述余数对所述第一文件进行向右移动,得到中间文件,并获取移动过程中的移除字符串;
将所述移除字符串从前至后的顺序对所述中间文件进行替换处理,得到所述第二文件。
例如,经计算,得到余数为5,若第一文件为100000011111000010101010,对所述第一文件向右移动5位,得到中间文件为000001000000111110000101,移除字符串为01010,利用所述移除字符串对所述中间文件中新增的字符串进行替换,得到第二文件为010101000000111110000101。
通过所述余数对所述第一文件进行向右移动,并利用在右移过程中的新增字符串替换为移除字符串后得到所述第二文件,能够提高所述第二文件的运算复杂度,从而提高破解难度。
S16,将所述第二文件与所述第二函数值进行异或处理,得到第三文件。
在本发明的至少一个实施例中,所述第三文件是指所述第二文件与所述第二函数值进行异或处理后所得到的数据信息。
S17,根据所述目标数值的字节长度、所述目标数值及所述第三文件生成所述待处理文件的密文。
需要强调的是,为进一步保证上述密文的私密和安全性,上述密文还可以存储于一区块链的节点中。
在本发明的至少一个实施例中,所述密文是指利用所述多个设定密码对所述待处理文件进行加密处理后所得到的信息。也就是说,通过任一设定密码能够对所述密文进行成功界面。
在本发明的至少一个实施例中,所述电子设备根据所述目标数值的字节长度、所述目标数值及所述第三文件生成所述待处理文件的密文包括:
对所述字节长度进行二进制转换,得到长度二进制值,并对所述目标数值进行二进制值转换,得到中间二进制值;
拼接所述长度二进制值、所述中间二进制值及所述第三文件,得到所述密文。
通过上述实施方式,能够确保在提高所述密文的破解难度的同时,提高所述密文的生成效率。
在本发明的至少一个实施例中,所述方法还包括:
当接收到对所述密文的解密需求时,从所述密文中提取首位字节作为目标长度,并基于所述目标长度从所述密文中提取主体数值;
从所述解密需求中获取文件密码;
基于所述主体数值、所述文件密码及所述第二预设数值计算得到所述密文的目标密钥,所述目标密钥的计算公式为:Y=X%(m+T),其中,Y是指所述目标密钥,X是指所述主体数值,m是指所述文件密码,T是指所述第二预设数值;
基于所述目标密钥对所述密文进行解密处理,得到已解密文件。
通过上述实施方式,能够基于任一有权限查看文件的用户提供的文件密码对所述密文进行解密处理。
由以上技术方案可以看出,本发明通过多个不同的设定密码对所述待处理文件进行加密处理,能够实现多个不同的设定密码对所述密文的解密处理,因此,本发明无需通过统一用户向其他权限用户传输共享其他密码,只需要将权限用户的设定密码加入至文件的加密过程即可,避免了密码传输过程中出现泄露的情况,提高文件的安全性,另外,由于无需通过统一用户对密码进行存储,提高了密码管理的便利性。此外,基于多个初始数值及所述文件密钥对预设函数进行运算,由于预设函数的运算难度较高,因此,提高了所述待处理文件的破解难度。
如图2所示,是本发明文件加密装置的较佳实施例的功能模块图。所述文件加密装置11包括获取单元110、生成单元111、提取单元112、异或单元113、处理单元114及计算单元115。本发明所称的模块/单元是指一种能够被处理器13所获取,并且能够完成固定功能的一系列计算机可读指令段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。
获取单元110获取待处理文件,并获取多个权限用户对所述待处理文件的设定密码。
在本发明的至少一个实施例中,所述待处理文件是指需要进行加密处理的任一文件。所述待处理文件可以是文本,也可以是图像等。
所述多个权限用户是指有对所述待处理文件进行查看权限的用户。
所述设定密码可以是所述多个权限用户对所述待处理文件所设定的密码,所述设定密码也可以是所述多个权限用户的人脸特征或者指纹特征编码后所得到的向量信息。
生成单元111根据多个所述设定密码及第一预设数值生成所述待处理文件的文件密钥。
在本发明的至少一个实施例中,所述第一预设数值可以是随机设定的整数值,例如,所述第一预设数值可以是200。
所述文件密钥是指对所述多个设定密码转换而成,并用于对所述待处理文件进行加密的数据信息。本发明将所述多个设定密码转换为单一的文件密钥,有利于支持多个设定密码对同一文件进行加密处理。
在本发明的至少一个实施例中,所述生成单元111根据多个所述设定密码及第一预设数值生成所述待处理文件的文件密钥包括:
从所述多个设定密码中选取取值最小的密码作为目标密码;
计算所述目标密码与所述第一预设数值的总和,得到最大阈值;
随机选取小于所述最大阈值的整数作为所述文件密钥。
通过选取取值最小的设定密码用于计算所述最大阈值,能够降低所述最大阈值的取值,通过从最小的范围中随机选取所述文件密钥,能够提高所述文件密钥的选取效率。
所述生成单元111根据所述多个设定密码、第二预设数值及所述文件密钥生成目标数值,所述第二预设数值大于所述第一预设数值。
在本发明的至少一个实施例中,所述第二预设数值是指大于所述第一预设数值的整数值,例如,所述第一预设数值为200,则所述第二预设数值为201或者202等。
在本发明的至少一个实施例中,所述目标数值的计算公式为:
X=(X1+T)×(X2+T)×…×(Xn+T)+M;
其中,X是指所述目标数值,X1、X2…Xn是指所述多个设定密码,T是指所述第二预设数值,M是指所述文件密钥。
通过上述实施方式,能够将所述多个设定密码转换为单一的目标数值,进而通过所述目标数值能够快速的对所述待处理文件进行加密处理。
提取单元112基于多个初始数值及所述文件密钥对预设函数进行运算,得到目标函数值,并从所述目标函数值中提取第一函数值及第二函数值,所述多个初始数值的数量与所述预设函数中系数的数量相同,且所述系数不为所述多个初始数值的同一公约数。
在本发明的至少一个实施例中,为了提高所述待处理文件的破解难度,通常将所述预设函数设定为N元四次函数。
所述第一函数值是指目标二进制值的首位字节,所述第二函数值是指所述目标二进制值的末位字节,其中,所述目标二进制值是指与所述目标函数值对应的二进制值,所述第一函数值及所述第二函数值均为二进制值。
所述目标函数值通常是指十进制值。
在本发明的至少一个实施例中,所述提取单元112基于多个初始数值及所述文件密钥对预设函数进行运算,得到目标函数值包括:
获取所述预设函数的一般方程式为y=ax4+bx3+cx2+dx+e;
将所述多个初始数值作为所述一般方程式的系数,所述文件密钥作为所述一般方程式的自变量输入所述一般方程式中进行运算,得到所述目标函数值。
其中,所述系数是指a、b、c、d、e,所述自变量是指x,所述目标函数值是指y。
通过所述预设函数对所述目标函数值进行运算,能够提高所述文件密钥的破解难度,从而提高所述待处理文件的安全性。
在本发明的至少一个实施例中,所述提取单元112从所述目标函数值中提取第一函数值及第二函数值包括:
对所述目标函数值进行二进制转换,得到目标二进制值;
按照从前至后的顺序对所述目标二进制值进行字节排序,得到字节顺序;
依照从小至大的字节顺序从所述目标二进制值中提取首位字节作为所述第一函数值,并依照从小至大的字节顺序从所述目标二进制值中提取末位字节作为所述第二函数值。
例如,所述目标二进制值为000100010000111111110000,经提取,得到所述第一函数值为00010001,所述第二函数值为11110000。
通过对所述目标函数值进行二进制转换,能够提高所述第一函数值及所述第二函数值的提取效率。
异或单元113将所述待处理文件与所述第一函数值进行异或处理,得到第一文件。
在本发明的至少一个实施例中,所述第一文件可以是二进制化的数据信息。
在本发明的至少一个实施例中,所述异或单元113将所述待处理文件与所述第一函数值进行异或处理,得到第一文件包括:
将所述待处理文件转换为文件二进制值;
将所述文件二进制值与所述第一函数值进行异或处理,得到所述第一文件。
通过对所述待处理文件进行转换处理,能够提高所述第一文件的生成效率。
处理单元114基于所述目标函数值及所述第一函数值对所述第一文件进行处理,得到第二文件。
在本发明的至少一个实施例中,所述第二文件是指在所述第一文件中,将在右移过程中的新增字符串替换为移除字符串后所得到的信息。
在本发明的至少一个实施例中,所述处理单元114基于所述目标函数值及所述第一函数值对所述第一文件进行处理,得到第二文件包括:
对所述第一函数值进行十进制转换,得到第三函数值;
将所述目标函数值除以所述第三函数值,得到余数;
基于所述余数对所述第一文件进行向右移动,得到中间文件,并获取移动过程中的移除字符串;
将所述移除字符串从前至后的顺序对所述中间文件进行替换处理,得到所述第二文件。
例如,经计算,得到余数为5,若第一文件为100000011111000010101010,对所述第一文件向右移动5位,得到中间文件为000001000000111110000101,移除字符串为01010,利用所述移除字符串对所述中间文件中新增的字符串进行替换,得到第二文件为010101000000111110000101。
通过所述余数对所述第一文件进行向右移动,并利用在右移过程中的新增字符串替换为移除字符串后得到所述第二文件,能够提高所述第二文件的运算复杂度,从而提高破解难度。
所述异或单元113将所述第二文件与所述第二函数值进行异或处理,得到第三文件。
在本发明的至少一个实施例中,所述第三文件是指所述第二文件与所述第二函数值进行异或处理后所得到的数据信息。
所述生成单元111根据所述目标数值的字节长度、所述目标数值及所述第三文件生成所述待处理文件的密文。
需要强调的是,为进一步保证上述密文的私密和安全性,上述密文还可以存储于一区块链的节点中。
在本发明的至少一个实施例中,所述密文是指利用所述多个设定密码对所述待处理文件进行加密处理后所得到的信息。也就是说,通过任一设定密码能够对所述密文进行成功界面。
在本发明的至少一个实施例中,所述生成单元111根据所述目标数值的字节长度、所述目标数值及所述第三文件生成所述待处理文件的密文包括:
对所述字节长度进行二进制转换,得到长度二进制值,并对所述目标数值进行二进制值转换,得到中间二进制值;
拼接所述长度二进制值、所述中间二进制值及所述第三文件,得到所述密文。
通过上述实施方式,能够确保在提高所述密文的破解难度的同时,提高所述密文的生成效率。
在本发明的至少一个实施例中,所述方法还包括:
当接收到对所述密文的解密需求时,所述提取单元112从所述密文中提取首位字节作为目标长度,并基于所述目标长度从所述密文中提取主体数值;
所述获取单元110从所述解密需求中获取文件密码;
计算单元115基于所述主体数值、所述文件密码及所述第二预设数值计算得到所述密文的目标密钥,所述目标密钥的计算公式为:Y=X%(m+T),其中,Y是指所述目标密钥,X是指所述主体数值,m是指所述文件密码,T是指所述第二预设数值;
所述处理单元114基于所述目标密钥对所述密文进行解密处理,得到已解密文件。
通过上述实施方式,能够基于任一有权限查看文件的用户提供的文件密码对所述密文进行解密处理。
由以上技术方案可以看出,本发明通过多个不同的设定密码对所述待处理文件进行加密处理,能够实现多个不同的设定密码对所述密文的解密处理,因此,本发明无需通过统一用户向其他权限用户传输共享其他密码,只需要将权限用户的设定密码加入至文件的加密过程即可,避免了密码传输过程中出现泄露的情况,提高文件的安全性,另外,由于无需通过统一用户对密码进行存储,提高了密码管理的便利性。此外,基于多个初始数值及所述文件密钥对预设函数进行运算,由于预设函数的运算难度较高,因此,提高了所述待处理文件的破解难度。
如图3所示,是本发明实现文件加密方法的较佳实施例的电子设备的结构示意图。
在本发明的一个实施例中,所述电子设备1包括,但不限于,存储器12、处理器13,以及存储在所述存储器12中并可在所述处理器13上运行的计算机可读指令,例如文件加密程序。
本领域技术人员可以理解,所述示意图仅仅是电子设备1的示例,并不构成对电子设备1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备1还可以包括输入输出设备、网络接入设备、总线等。
所述处理器13可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器13是所述电子设备1的运算核心和控制中心,利用各种接口和线路连接整个电子设备1的各个部分,及执行所述电子设备1的操作系统以及安装的各类应用程序、程序代码等。
示例性的,所述计算机可读指令可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该计算机可读指令段用于描述所述计算机可读指令在所述电子设备1中的执行过程。例如,所述计算机可读指令可以被分割成获取单元110、生成单元111、提取单元112、异或单元113、处理单元114及计算单元115。
所述存储器12可用于存储所述计算机可读指令和/或模块,所述处理器13通过运行或执行存储在所述存储器12内的计算机可读指令和/或模块,以及调用存储在存储器12内的数据,实现所述电子设备1的各种功能。所述存储器12可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。存储器12可以包括非易失性和易失性存储器,例如:硬盘、内存、插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他存储器件。
所述存储器12可以是电子设备1的外部存储器和/或内部存储器。进一步地,所述存储器12可以是具有实物形式的存储器,如内存条、TF卡(Trans-flash Card)等等。
所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一计算机可读存储介质中,该计算机可读指令在被处理器执行时,可实现上述各个方法实施例的步骤。
其中,所述计算机可读指令包括计算机可读指令代码,所述计算机可读指令代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机可读指令代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)。
本发明所指区块链是分布式文件加密、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
结合图1,所述电子设备1中的所述存储器12存储计算机可读指令实现一种文件加密方法,所述处理器13可执行所述计算机可读指令从而实现:
获取待处理文件,并获取多个权限用户对所述待处理文件的设定密码;
根据多个所述设定密码及第一预设数值生成所述待处理文件的文件密钥;
根据所述多个设定密码、第二预设数值及所述文件密钥生成目标数值,所述第二预设数值大于所述第一预设数值;
基于多个初始数值及所述文件密钥对预设函数进行运算,得到目标函数值,并从所述目标函数值中提取第一函数值及第二函数值,所述多个初始数值的数量与所述预设函数中系数的数量相同,且所述系数不为所述多个初始数值的同一公约数;
将所述待处理文件与所述第一函数值进行异或处理,得到第一文件;
基于所述目标函数值及所述第一函数值对所述第一文件进行处理,得到第二文件;
将所述第二文件与所述第二函数值进行异或处理,得到第三文件;
根据所述目标数值的字节长度、所述目标数值及所述第三文件生成所述待处理文件的密文。
具体地,所述处理器13对上述计算机可读指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述计算机可读存储介质上存储有计算机可读指令,其中,所述计算机可读指令被处理器13执行时用以实现以下步骤:
获取待处理文件,并获取多个权限用户对所述待处理文件的设定密码;
根据多个所述设定密码及第一预设数值生成所述待处理文件的文件密钥;
根据所述多个设定密码、第二预设数值及所述文件密钥生成目标数值,所述第二预设数值大于所述第一预设数值;
基于多个初始数值及所述文件密钥对预设函数进行运算,得到目标函数值,并从所述目标函数值中提取第一函数值及第二函数值,所述多个初始数值的数量与所述预设函数中系数的数量相同,且所述系数不为所述多个初始数值的同一公约数;
将所述待处理文件与所述第一函数值进行异或处理,得到第一文件;
基于所述目标函数值及所述第一函数值对所述第一文件进行处理,得到第二文件;
将所述第二文件与所述第二函数值进行异或处理,得到第三文件;
根据所述目标数值的字节长度、所述目标数值及所述第三文件生成所述待处理文件的密文。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。所述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (7)

1.一种文件加密方法,其特征在于,所述文件加密方法包括:
获取待处理文件,并获取多个权限用户对所述待处理文件的设定密码;
根据多个所述设定密码及第一预设数值生成所述待处理文件的文件密钥;
根据所述多个设定密码、第二预设数值及所述文件密钥生成目标数值,所述第二预设数值大于所述第一预设数值,所述目标数值的计算公式为:;其中,/>是指所述目标数值,是指所述多个设定密码,/>是指所述第二预设数值,/>是指所述文件密钥;
基于多个初始数值及所述文件密钥对预设函数进行运算,得到目标函数值,包括:获取所述预设函数的一般方程式为;将所述多个初始数值作为所述一般方程式的系数,所述文件密钥作为所述一般方程式的自变量输入所述一般方程式中进行运算,得到所述目标函数值,其中,所述系数是指/>,所述自变量是指/>,所述目标函数值是指/>,并从所述目标函数值中提取第一函数值及第二函数值,包括:对所述目标函数值进行二进制转换,得到目标二进制值;按照从前至后的顺序对所述目标二进制值进行字节排序,得到字节顺序;依照从小至大的字节顺序从所述目标二进制值中提取首位字节作为所述第一函数值,并依照从小至大的字节顺序从所述目标二进制值中提取末位字节作为所述第二函数值,所述多个初始数值的数量与所述预设函数中系数的数量相同,且所述系数不为所述多个初始数值的同一公约数;
将所述待处理文件与所述第一函数值进行异或处理,得到第一文件;
基于所述目标函数值及所述第一函数值对所述第一文件进行处理,得到第二文件;
将所述第二文件与所述第二函数值进行异或处理,得到第三文件;
根据所述目标数值的字节长度、所述目标数值及所述第三文件生成所述待处理文件的密文。
2.如权利要求1所述的文件加密方法,其特征在于,所述根据多个所述设定密码及第一预设数值生成所述待处理文件的文件密钥包括:
从所述多个设定密码中选取取值最小的密码作为目标密码;
计算所述目标密码与所述第一预设数值的总和,得到最大阈值;
随机选取小于所述最大阈值的整数作为所述文件密钥。
3.如权利要求1所述的文件加密方法,其特征在于,所述基于所述目标函数值及所述第一函数值对所述第一文件进行处理,得到第二文件包括:
对所述第一函数值进行十进制转换,得到第三函数值;
将所述目标函数值除以所述第三函数值,得到余数;
基于所述余数对所述第一文件进行向右移动,得到中间文件,并获取移动过程中的移除字符串;
将所述移除字符串从前至后的顺序对所述中间文件进行替换处理,得到所述第二文件。
4.如权利要求1所述的文件加密方法,其特征在于,所述根据所述目标数值的字节长度、所述目标数值及所述第三文件生成所述待处理文件的密文包括:
对所述字节长度进行二进制转换,得到长度二进制值,并对所述目标数值进行二进制值转换,得到中间二进制值;
拼接所述长度二进制值、所述中间二进制值及所述第三文件,得到所述密文。
5.一种文件加密装置,其特征在于,所述文件加密装置包括:
获取单元,用于获取待处理文件,并获取多个权限用户对所述待处理文件的设定密码;
生成单元,用于根据多个所述设定密码及第一预设数值生成所述待处理文件的文件密钥;
所述生成单元,还用于根据所述多个设定密码、第二预设数值及所述文件密钥生成目标数值,所述第二预设数值大于所述第一预设数值,所述目标数值的计算公式为:;其中,/>是指所述目标数值,是指所述多个设定密码,/>是指所述第二预设数值,/>是指所述文件密钥;
提取单元,用于基于多个初始数值及所述文件密钥对预设函数进行运算,得到目标函数值,包括:获取所述预设函数的一般方程式为;将所述多个初始数值作为所述一般方程式的系数,所述文件密钥作为所述一般方程式的自变量输入所述一般方程式中进行运算,得到所述目标函数值,其中,所述系数是指/>,所述自变量是指/>,所述目标函数值是指/>,并从所述目标函数值中提取第一函数值及第二函数值,包括:对所述目标函数值进行二进制转换,得到目标二进制值;按照从前至后的顺序对所述目标二进制值进行字节排序,得到字节顺序;依照从小至大的字节顺序从所述目标二进制值中提取首位字节作为所述第一函数值,并依照从小至大的字节顺序从所述目标二进制值中提取末位字节作为所述第二函数值,所述多个初始数值的数量与所述预设函数中系数的数量相同,且所述系数不为所述多个初始数值的同一公约数;
异或单元,用于将所述待处理文件与所述第一函数值进行异或处理,得到第一文件;
处理单元,用于基于所述目标函数值及所述第一函数值对所述第一文件进行处理,得到第二文件;
所述异或单元,还用于将所述第二文件与所述第二函数值进行异或处理,得到第三文件;
所述生成单元,还用于根据所述目标数值的字节长度、所述目标数值及所述第三文件生成所述待处理文件的密文。
6. 一种电子设备,其特征在于,所述电子设备包括:
存储器,存储有计算机可读指令;及
处理器,执行所述存储器中存储的计算机可读指令以实现如权利要求1至4中任意一项所述的文件加密方法。
7.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质中存储有计算机可读指令,所述计算机可读指令被电子设备中的处理器执行以实现如权利要求1至4中任意一项所述的文件加密方法。
CN202210258797.XA 2022-03-16 2022-03-16 文件加密方法、装置、设备及存储介质 Active CN114629706B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210258797.XA CN114629706B (zh) 2022-03-16 2022-03-16 文件加密方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210258797.XA CN114629706B (zh) 2022-03-16 2022-03-16 文件加密方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN114629706A CN114629706A (zh) 2022-06-14
CN114629706B true CN114629706B (zh) 2024-01-23

Family

ID=81901473

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210258797.XA Active CN114629706B (zh) 2022-03-16 2022-03-16 文件加密方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114629706B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001034163A (ja) * 1999-07-21 2001-02-09 Hitachi Ltd 暗号装置、復号装置、暗号通信方法および自動料金徴収システム
CN109660327A (zh) * 2018-12-19 2019-04-19 上海和数软件有限公司 基于虹膜的区块链加密方法、装置及可读存储介质
CN110071794A (zh) * 2019-04-28 2019-07-30 苏州国芯科技股份有限公司 一种基于aes算法的信息加密方法、系统及相关组件
CN110516462A (zh) * 2019-08-30 2019-11-29 京东数字科技控股有限公司 用于加密数据的方法和装置
CN110636028A (zh) * 2018-06-21 2019-12-31 蔡利锋 密钥生成装置、加密装置、密钥生成和分发系统
CN111866018A (zh) * 2020-07-30 2020-10-30 平安国际智慧城市科技股份有限公司 数据信息加密发送方法、装置、计算机设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001034163A (ja) * 1999-07-21 2001-02-09 Hitachi Ltd 暗号装置、復号装置、暗号通信方法および自動料金徴収システム
CN110636028A (zh) * 2018-06-21 2019-12-31 蔡利锋 密钥生成装置、加密装置、密钥生成和分发系统
CN109660327A (zh) * 2018-12-19 2019-04-19 上海和数软件有限公司 基于虹膜的区块链加密方法、装置及可读存储介质
CN110071794A (zh) * 2019-04-28 2019-07-30 苏州国芯科技股份有限公司 一种基于aes算法的信息加密方法、系统及相关组件
CN110516462A (zh) * 2019-08-30 2019-11-29 京东数字科技控股有限公司 用于加密数据的方法和装置
CN111866018A (zh) * 2020-07-30 2020-10-30 平安国际智慧城市科技股份有限公司 数据信息加密发送方法、装置、计算机设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A New Stream Cipher Using Natural Numbers Based on Conventional Encryption Techniques: MINNSC;Zain, JM et al;《SOFTWARE ENGINEERING AND COMPUTER SYSTEMS》;第180卷;427-436 *

Also Published As

Publication number Publication date
CN114629706A (zh) 2022-06-14

Similar Documents

Publication Publication Date Title
CN107683502B (zh) 根据紧凑源代码生成加密函数参数
CN108463968B (zh) 可变长度数据的快速格式保留加密
CN111008863B (zh) 一种基于区块链的抽奖方法及系统
US11227037B2 (en) Computer system, verification method of confidential information, and computer
Ke et al. Generative steganography with Kerckhoffs’ principle
CN112751852A (zh) 数据传输方法及相关设备
CN112133396B (zh) 医疗数据共享方法、装置、电子设备及介质
CN112184444B (zh) 基于信息的特征进行信息处理的方法、装置、设备及介质
CN111538479B (zh) 开标过程中的随机参数生成方法及装置
CN111104434B (zh) 一种基于隐私保护多级属性相似度的电子医疗推荐方法
Fang et al. Secure function evaluation using an fpga overlay architecture
CN116108410A (zh) 一种身份凭证生成方法及装置
CN114629706B (zh) 文件加密方法、装置、设备及存储介质
CN116340918A (zh) 全密文人脸比对方法、装置、设备及存储介质
CN113726975B (zh) 基于混沌系统的图像加密方法、装置、介质及电子设备
CN115422579A (zh) 数据加密存储及存储后查询方法及系统
CN101960774A (zh) 利用移动读写存储器实现至少两个数据携带者间的受控数据交换的系统
JP7205016B2 (ja) 秘匿情報処理システムおよび秘匿情報処理方法
JP2005167794A (ja) 秘密情報保管方法及び装置、秘密情報復元方法及び装置、秘密情報保管プログラム並びに秘密情報復元プログラム。
JP2005167794A5 (zh)
CN114726541B (zh) 电子证照读取方法、装置、设备及存储介质
JP7021375B2 (ja) 計算機システム、秘密情報の検証方法、及び計算機
CN117527447B (zh) 一种多方安全计算的秘密共享方法和系统
JP7427290B2 (ja) 暗号化方法、端末装置、暗号化システム及びプログラム
CN115296879B (zh) 一种用于微服务的加密认证方法及系统

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