CN118260786A - 一种加密和解密文件的方法、装置、设备及存储介质 - Google Patents
一种加密和解密文件的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN118260786A CN118260786A CN202410540405.8A CN202410540405A CN118260786A CN 118260786 A CN118260786 A CN 118260786A CN 202410540405 A CN202410540405 A CN 202410540405A CN 118260786 A CN118260786 A CN 118260786A
- Authority
- CN
- China
- Prior art keywords
- file
- encrypting
- key
- encrypted
- decrypting
- 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
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000004806 packaging method and process Methods 0.000 claims abstract description 5
- 238000004590 computer program Methods 0.000 claims description 23
- 238000012856 packing Methods 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 2
- 241001391944 Commicarpus scandens Species 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 9
- 230000001010 compromised effect Effects 0.000 description 5
- 230000006378 damage Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002994 raw material Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开一种加密和解密文件的方法、装置、设备及存储介质,加密方法包括:选择任意一个文件作为生成密钥的基础文件;对基础文件进行哈希运算,将得到的哈希值作为加密算法的密钥;使用随机数生成器生成随机偏移量;使用密钥和随机偏移量通过对称加密算法加密原始文件,得到密文;把加密后得到的密文和随机偏移量打包在一起,得到已加密文件。本发明的目的在于提供一种可以大量获得且易于记忆、密钥易于迅速破坏的加密和解密方法。
Description
技术领域
本发明属于计算机技术领域,尤其涉及一种加密和解密文件的方法、装置、设备及存储介质。
背景技术
现有的加密文件方式可谓是多种多样,它们各自具有独特的优势,但也伴随着一些不可避免的缺陷。
首先,使用密码是最直接也最常见的方法。然而,对于个人用户而言,要记住多个复杂且互不相同的密码,确实是一项挑战。一旦其中一个密码泄露,很可能导致所有加密数据的安全防线被一举攻破。而且,密码的记忆无法瞬间消除,一旦在胁迫之下被迫交出,后果不堪设想。
其次,特定格式的密钥字符串或密钥文件,虽然为加密数据提供了另一层保护,但这种方法对于非技术背景的使用者来说存在较高的门槛。更糟糕的是,这些特定格式的密钥在设备遭受入侵或被盗用时,容易被识别并破解。
再者,使用USB Key(U盾)之类的硬件加密设备虽然安全性较高,但其成本相对较高,对于一些个人用户来说可能并不实用。
最后,生物识别技术作为新兴的加密方式,虽然具有极高的便捷性和独特性,但也有着不可忽视的风险。一旦个人生物识别信息被用于加密大量数据,那么一旦一处数据被攻破,所有使用同一生物识别信息加密的数据都将面临被破解的风险。而且,由于生物识别特征无法改变,个人无法像删除密码或密钥那样快速消除安全隐患。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种可以大量获得且易于记忆、密钥易于迅速破坏的加密和解密方法。
本申请方案提供一种加密文件的方法,包括:
选择任意一个文件作为生成密钥的基础文件;
对基础文件进行哈希运算,将得到的哈希值作为加密算法的密钥;
使用随机数生成器生成随机偏移量;
使用密钥和随机偏移量通过对称加密算法加密原始文件,得到密文;
把加密后得到的密文和随机偏移量打包在一起,得到已加密文件。
进一步地,选择一个具有足够熵的文件作为基础文件。
进一步地,基础文件包括文本、照片、视频、音频。
进一步地,还包括:彻底删除原始文件,分开保存基础文件和已加密文件。
进一步地,对基础文件进行SHA-256运算,得到一个256位的大整数作为密钥;通过AES-256-CBC算法加密原始文件。
还提供一种解密文件的方法,包括:
对基础文件使用进行哈希运算,得到密钥;
从已加密文件中提取出密文和随机偏移量;
使用密钥和随机偏移量通过对称加密算法解密已加密文件,得到原始文件;其中,基础文件为任一具有足够熵的文件,包括文本、照片、视频、音频。
进一步地,包括以上任一项技术方案所述的加密文件的方法和上述的解密文件的方法。
还提供一种加密和解密文件的装置,其特征在于,包括:
密钥生成单元,用于选择任意一个文件作为生成密钥的基础文件,然后对基础文件进行哈希运算,将得到的哈希值作为加密算法的密钥;
随机数生成器,用于生成随机偏移量;
加密单元,用于使用密钥和随机偏移量通过对称加密算法加密原始文件,得到密文;
打包单元,用于把加密后得到的密文和随机偏移量打包在一起,得到已加密文件;
提取单元,用于从已加密文件中提取出密文和随机偏移量;
解密单元,用于使用密钥和随机偏移量通过对称加密算法解密已加密文件,得到原始文件。
还提供一种加密和解密文件的设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现以上技术方案所述的一种加密和解密文件的方法。
一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行以上技术方案所述的一种加密和解密文件的方法。
本申请的改进带来如下优点:本发明通过任意文件生成密钥,为个人用户提供了大量易于记忆且独特的密钥选择。生成的密钥文件支持离线存储,极大提升了数据安全性。一旦需要,用户只需彻底删除对应文件,即可确保被加密的数据无法被解密,从而有效保护隐私。若用户选择将多个生成的密钥文件同时存储在一个设备上,那么在紧急情况下,通过破坏该设备,用户便能迅速达到紧急销毁大量数据的目的。这一设计思路充分考虑到个人用户的使用习惯,即使用少量密钥加密大量文件,因此破坏密钥文件比破坏加密后的文件更为高效。
由于本发明对使用的文件没有任何限制,使用门槛低,成本也相对较低,因此对个人用户极为友好,无需专业的技术背景也能轻松上手。这一创新性的加密方式,无疑将为个人用户的数据安全提供强有力的保障。
附图说明
图1为本申请实施例提供的实现文件加密和解密的一种可选***架构;
图2示出了本申请实施例提供的文件加密方法流程图;
图3示出了本申请实施例提供的文件解密方法流程图;
图4为本申请实施例提供的一种加密和解密文件的装置结构示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
图1为本申请实施例提供的实现文件加密和解密的一种可选***架构,如图1所述,该***架构可以包括:客户端1和加密解密程序2。
本申请所要实现的即是,可以使用任何形式的文件生成密钥,无论是随手拍摄的照片、即兴录制的视频,还是随意录制的音频,都可以作为生成密钥的原材料。通过这种方式,用户可以轻松生成用于加密或解密重要文件的密钥。个人用户完全可以自行操作,以极低的成本大量生成不同的密钥,既安全又方便。这些密钥由于与用户的日常文件紧密相关,因此更容易记忆。相较于记忆多个复杂密码,用户只需记住对应文件即可,大大简化了记忆负担。
接下来,以加密解密程序的角度,对本申请的文件加密方法进行介绍,如图2所示,图2示出了本申请实施例提供的文件加密方法流程图,该方法可以包括以下步骤:
S100,选择基础文件:选择任意一个文件作为生成密钥的基础文件。
可选的,选择一个具有足够熵的文件作为基础文件。通常,基础文件应该是随机的或者包含足够复杂信息的,以确保生成的密钥具有高熵,从而难以被破解。
具体来说,基础文件包括文本、照片、视频、音频。例如,一段随手录制的视频和音频、易于记忆的一张照片等。
S200,生成密钥:对基础文件使用哈希函数算法进行运算,将得到的哈希值作为加密算法的密钥。
可选的,对基础文件进行SHA-256运算,得到一个256位的大整数作为密钥。
具体来说,哈希函数算法包括MD5、SHA-1、SHA-256、SHA-3等。
S300,使用随机数生成器生成随机偏移量IV。
随机数生成器可以为伪随机数生成器(软件程序)或硬件随机数生成器。
初始化向量(IV)是加密算法中的一个关键参数,它必须是随机的,且每次加密时都应该是唯一的。IV的目的是确保即使相同的明文被多次加密,产生的密文也会不同,这样可以增加加密的安全性。
IV的长度应该与所使用加密算法的块大小一致。如果使用AES-128算法,那么IV的长度应该是128位(16字节)。
S400,加密:使用密钥和随机偏移量IV通过对称加密算法加密原始文件,得到密文。
具体来说,通过AES-256-CBC算法加密原始文件。
AES(高级加密标准)是一种广泛使用的对称加密算法,256位的密钥长度可以提供非常高的安全性。CBC(密码块链接)模式是一种操作模式,它将前一个密文块的结果加入到当前块的明文中,以增加加密的复杂性。
S500,打包:把加密后得到的密文和随机偏移量IV打包在一起,得到已加密文件。
具体来说,通常,IV会附加在密文的开头,这样在解密时可以很容易地找到并使用它。
S600,保存:彻底删除原始文件,分开保存基础文件和已加密文件。
为了确保数据的安全性,用户在加密文件后应该彻底删除原始文件,以防止未授权访问。同时,生成密钥的文件和加密后的文件可以分开存储,最好是在不同的物理设备上,以防止同时丢失。
可选的,分别将基础文件和已加密文件离线存放在不同设备中。
接下来,对应的,以加密解密程序的角度,对本申请的文件解密方法进行介绍,如图3所示,图3示出了本申请实施例提供的文件解密方法流程图,该方法可以包括以下步骤:
S700,生成密钥:对基础文件使用哈希函数算法进行运算,得到密钥。这里的基础文件应当与步骤S200时所使用的基础文件为同一文件。
可选的,对基础文件进行SHA-256运算,得到一个256位的大整数密钥。
S800,提取:从已加密文件中提取出密文和随机偏移量IV。
S900,解密:使用密钥和随机偏移量IV通过对称加密算法解密已加密文件,得到原始文件。解密所用的对称加密算法应当与加密时所用的加密算法一致。
可选的,对称加密算法为AES-256-CBC算法。
文件加密解密方法即是完成步骤S100-S900。
在面临紧急情况,需要确保敏感数据不被泄露或恢复时,采取迅速且彻底的数据销毁措施至关重要。以下是在紧急破坏数据过程中应当遵循的步骤,以确保数据的不可恢复性:
1.定位生成密钥的基础文件:
首先,必须迅速而准确地找到所有存储有生成密钥的基础文件的位置。鉴于数据的高保密性,建议将基础文件仅离线保存在单一的安全地点。这样做的目的是为了在需要数据销毁时,能够更加高效地控制和追踪所有相关文件。
2.执行彻底删除:
一旦所有基础文件的位置都被确认,接下来需要使用可靠的数据销毁方法来彻底删除这些文件。可以采用多种手段来实现这一目标,包括但不限于:
利用专业的数据擦除软件,这些软件通常提供多种数据销毁算法,如Gutmann方法、DoD 5220.22-M方法等,确保数据被不可逆地覆写。
如果条件允许,也可以选择直接物理破坏存储设备,如使用粉碎机、钻孔或锤击等方法,以物理方式确保存储介质上的数据无法被读取或恢复。
本申请实施例提供的加密解密方法使得用户仅需选择任意文件作为生成密钥的源文件(即基础文件),这一创新设计巧妙地解决了个人用户记忆多个复杂密码的难题。尤其当使用照片、视频、音频等多媒体文件作为密钥源时,文件内容本身的丰富性为用户提供了更易于记忆的线索。
更为出色的是,当用户选择某一文件作为密钥源后,只需彻底删除该文件,便能迅速且大量地破坏加密数据,为紧急情况下的数据保护提供了便捷手段。
此外,由于这一方案对文件格式无特定要求,即便设备遭受入侵或被盗用,也难以轻易识别出哪些文件被用作加密的密钥源,从而进一步增强了数据的安全性。
在技术上,本申请实施例还可以采用业内公认的SHA-256算法生成密钥,并使用AES-256-CBC算法进行加密,确保达到高标准的安全加密效果。同时,这两种算法的性能卓越,使得加密和解密过程能够在低成本的条件下流畅运行,即使在移动设备上也能展现出出色的性能。
参见图4,图4为本申请实施例提供的一种加密和解密文件的装置结构示意图,该装置可以包括:
密钥生成单元100,用于选择任意一个文件作为生成密钥的基础文件,然后对基础文件进行哈希运算,将得到的哈希值作为加密算法的密钥;
随机数生成器200,用于生成随机偏移量;
加密单元300,用于使用密钥和随机偏移量通过对称加密算法加密原始文件,得到密文;
打包单元400,用于把加密后得到的密文和随机偏移量打包在一起,得到已加密文件;
提取单元500,用于从已加密文件中提取出密文和随机偏移量IV;
解密单元600,用于使用密钥和随机偏移量iv通过对称加密算法解密已加密文件,得到原始文件。
本申请实施例提供一种加密和解密文件的设备,处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如步骤S100-步骤S900中所述的一种加密和解密文件方法。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在一种加密和解密文件设备中的执行过程。
一种加密和解密文件设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。一种加密和解密文件设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,上述部件仅仅是一种加密和解密文件设备的示例,并不构成对一种加密和解密文件设备的限定,可以包括比上述更多或更少的部件,或者组合某些部件,或者不同的部件,例如一种加密和解密文件设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是一种加密和解密文件设备的控制中心,利用各种接口和线路连接整个一种加密和解密文件设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现一种加密和解密文件设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其中,一种加密和解密文件设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种加密文件的方法,其特征在于,包括:
选择任意一个文件作为生成密钥的基础文件;
对基础文件进行哈希运算,将得到的哈希值作为加密算法的密钥;
使用随机数生成器生成随机偏移量;
使用密钥和随机偏移量通过对称加密算法加密原始文件,得到密文;
把加密后得到的密文和随机偏移量打包在一起,得到已加密文件。
2.根据权利要求1所述的一种加密文件的方法,其特征在于,选择一个具有足够熵的文件作为基础文件。
3.根据权利要求2所述的一种加密文件的方法,其特征在于,基础文件包括文本、照片、视频、音频。
4.根据权利要求1-3任一项所述的一种加密文件的方法,其特征在于,还包括:彻底删除原始文件,分开保存基础文件和已加密文件。
5.根据权利要求1-3任一项所述的一种加密文件的方法,其特征在于,对基础文件进行SHA-256运算,得到一个256位的大整数作为密钥;通过AES-256-CBC算法加密原始文件。
6.一种解密文件的方法,其特征在于,包括:
对基础文件使用进行哈希运算,得到密钥;
从已加密文件中提取出密文和随机偏移量;
使用密钥和随机偏移量通过对称加密算法解密已加密文件,得到原始文件。
7.一种加密和解密文件的方法,其特征在于,包括权利要求1-5任一项所述的加密文件的方法和权利要求6所述的解密文件的方法。
8.一种加密和解密文件的装置,其特征在于,包括:
密钥生成单元,用于选择任意一个文件作为生成密钥的基础文件,然后对基础文件进行哈希运算,将得到的哈希值作为加密算法的密钥;
随机数生成器,用于生成随机偏移量;
加密单元,用于使用密钥和随机偏移量通过对称加密算法加密原始文件,得到密文;
打包单元,用于把加密后得到的密文和随机偏移量打包在一起,得到已加密文件;
提取单元,用于从已加密文件中提取出密文和随机偏移量;
解密单元,用于使用密钥和随机偏移量通过对称加密算法解密已加密文件,得到原始文件。
9.一种加密和解密文件的设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求7中所述的一种加密和解密文件的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求7中所述的一种加密和解密文件的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410540405.8A CN118260786A (zh) | 2024-04-30 | 2024-04-30 | 一种加密和解密文件的方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410540405.8A CN118260786A (zh) | 2024-04-30 | 2024-04-30 | 一种加密和解密文件的方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118260786A true CN118260786A (zh) | 2024-06-28 |
Family
ID=91608835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410540405.8A Pending CN118260786A (zh) | 2024-04-30 | 2024-04-30 | 一种加密和解密文件的方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118260786A (zh) |
-
2024
- 2024-04-30 CN CN202410540405.8A patent/CN118260786A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9401898B2 (en) | System and method for wireless data protection | |
US8578473B2 (en) | Systems and methods for information security using one-time pad | |
US8811612B2 (en) | Using file metadata for data obfuscation | |
US7269736B2 (en) | Distributed cryptographic methods and arrangements | |
US20120300931A1 (en) | Method and Apparatus for Securing Data in a Memory Device | |
US8681975B2 (en) | Encryption method and apparatus using composition of ciphers | |
CN112135086B (zh) | 一种会议录制加密方法、***和可读存储介质 | |
EP2922235B1 (en) | Security module for secure function execution on untrusted platform | |
CN110298186B (zh) | 一种基于动态可重构密码芯片的无密钥数据加解密方法 | |
CN104794243B (zh) | 基于文件名的第三方密文检索方法 | |
US8494169B2 (en) | Validating encrypted archive keys | |
CN112528309A (zh) | 一种数据存储加密和解密的方法及其装置 | |
CN103379133A (zh) | 一种安全可信的云存储*** | |
CN118260786A (zh) | 一种加密和解密文件的方法、装置、设备及存储介质 | |
US8473516B2 (en) | Computer storage apparatus for multi-tiered data security | |
CN111008837B (zh) | 区块链账户私钥恢复方法、装置、计算机设备及存储介质 | |
CN103491384A (zh) | 一种视频的加密方法和装置及解密方法和装置 | |
CN103838986A (zh) | 一种多媒体文件加密方法及装置 | |
KR102311996B1 (ko) | 미디어 파일에 대한 안티 포렌식 해제 장치 및 방법 | |
JP2005109779A (ja) | ファイルの暗号化・復号方法 | |
TWI411934B (zh) | 資料處理系統及其相關密碼管理方法及資料讀取與寫入方法 | |
TW202411866A (zh) | 檔案加密方法與裝置 | |
WO2022170370A1 (en) | Method of protecting file contents with high information entropy using a combination of swap codes, aes encryption standard and blockchain technology and system for implementing the same | |
JP2003316653A (ja) | 暗号化処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |