CN117592093B - 一种文件加密方法、解密方法、加密装置以及解密装置 - Google Patents

一种文件加密方法、解密方法、加密装置以及解密装置 Download PDF

Info

Publication number
CN117592093B
CN117592093B CN202410079242.8A CN202410079242A CN117592093B CN 117592093 B CN117592093 B CN 117592093B CN 202410079242 A CN202410079242 A CN 202410079242A CN 117592093 B CN117592093 B CN 117592093B
Authority
CN
China
Prior art keywords
file
target
preset
ciphertext
plaintext
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
CN202410079242.8A
Other languages
English (en)
Other versions
CN117592093A (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.)
Chengdu Sefon Software Co Ltd
Original Assignee
Chengdu Sefon Software 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 Chengdu Sefon Software Co Ltd filed Critical Chengdu Sefon Software Co Ltd
Priority to CN202410079242.8A priority Critical patent/CN117592093B/zh
Publication of CN117592093A publication Critical patent/CN117592093A/zh
Application granted granted Critical
Publication of CN117592093B publication Critical patent/CN117592093B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种文件加密方法、解密方法、加密装置以及解密装置,包括:根据预设算法生成目标密钥;将目标明文文件采用目标密钥进行加密,得到与目标明文文件对应的目标密文文件;通过预设数字签名算法对目标密文文件中的密文进行签名,得到第一密文;将目标密钥和第一密文按照预设打乱规则进行合并和打乱,得到目标签名文件,并将目标签名文件存储至预设存储文件中。读取预设存储文件,并获取存储路径;根据存储路径,判断目标签名文件是否在预设存储文件中;如果在,验证签名是否正确;如果正确,则目标签名文件中的第一密文进行解密,得到与第一密文对应的第一明文;将含有第一明文对应的目标明文文件返回至目标客户端。

Description

一种文件加密方法、解密方法、加密装置以及解密装置
技术领域
本发明涉及信息安全领域,尤其涉及一种文件加密方法、解密方法、加密装置以及解密装置。
背景技术
文件加密是一种保护文件内容安全的技术,通过对文件内容进行加密,使得未经授权的用户无法直接读取或理解文件内容。文件加密通常包括以下几个步骤:选择加密算法-生成密钥-加密文件-存储或传输-解密文件。在实际应用中,文件加密可以用于保护敏感数据的安全性。
目前,主要采用javaagent的方式,载入自定义的classloader,将装入到jvm的字节码数据进行解密;或通过动态生成go程序启动器,在运行时获取密钥,将字节码在自定义的classloader中进行解密。但现有的加密方式局限性较大,不能很好地对第三方库或配置文件等进行加密。因此,亟需提供一种加密技术改善现有的加密技术的局限性。
发明内容
本申请通过提供一种文件加密方法、解密方法、加密装置以及解密装置,解决了现有技术中现有的加密技术的局限性较大的技术问题,实现了降低现有加密技术的局限性的技术效果。
第一方面,本申请提供了一种文件加密方法,方法包括:
根据预设算法生成目标密钥;
将目标明文文件采用目标密钥进行加密,得到与目标明文文件对应的目标密文文件;
通过预设数字签名算法对目标密文文件中的密文进行签名,得到第一密文;
将目标密钥和第一密文按照预设打乱规则进行合并和打乱,得到目标签名文件,并将目标签名文件存储至预设存储文件中。
进一步地,将目标签名文件存储至预设存储文件中,包括:
将目标签名文件存储至与目标明文文件相同路径下的预设存储文件中,且预设存储文件为隐藏文件。
进一步地,包括:
预设算法为位值映射算法,根据位值映射算法生成的目标密钥为随机密钥。
第二方面,本申请提供了一种文件解密方法,方法包括:
按照预设应用程序读取预设存储文件,并获取预设存储文件中的目标签名文件的存储路径;
根据存储路径,判断目标签名文件是否在预设存储文件中;
如果在,验证目标签名文件的签名是否正确;
如果正确,则按照目标密钥对目标签名文件中的第一密文进行解密,得到与第一密文对应的第一明文;
将含有第一明文对应的目标明文文件返回至目标客户端。
进一步地,按照预设应用程序读取预设存储文件,并获取预设存储文件中的目标签名文件的存储路径,包括:
预设应用程序为劫持应用程序,劫持应用程序通过读取预设存储文件对应的系统,获取预设存储文件中的目标签名文件的存储路径。
进一步地,根据存储路径,判断目标签名文件是否在预设存储文件中,还包括:
如果目标签名文件不存在于预设存储文件中,则将目标签名文件不存在的信息反馈至目标客户端。
进一步地,则按照目标密钥对目标签名文件中的第一密文进行解密,得到与第一密文对应的第一明文,包括:
在预设缓冲区中读取目标签名文件中的第一密文;
按照预设算法以及目标密钥,在预设缓冲区中对第一密文进行解密,得到与第一密文对应的第一明文;
将目标密钥和第一密文丢弃,并生成含有第一明文的目标明文文件。
进一步地,按照预设应用程序读取预设存储文件之前,包括:
构建预设应用程序,预设应用程序为劫持应用程序,劫持应用程序用于读取所预设存储文件,劫持应用程序的函数用于为预设存储文件对应的存储系统增加动态参数;
构建预设应用程序之后,基于钩子函数,将预设应用程序嵌入预设存储文件对应的存储系统中。
第三方面,本申请提供了一种文件加密装置,文件加密装置包括:
密钥生成模块,用于根据预设算法生成目标密钥;
加密模块,用于将目标明文文件采用目标密钥进行加密,得到与目标明文文件对应的目标密文文件;
密文确定模块,用于通过预设数字签名算法对目标密文文件中的密文进行签名,得到第一密文;
存储模块,用于将目标密钥和第一密文按照预设打乱规则进行合并和打乱,得到目标签名文件,并将目标签名文件存储至预设存储文件中。
第四方面,本申请提供了一种文件解密装置,文件解密装置包括:
读取模块,用于按照预设应用程序读取预设存储文件,并获取预设存储文件中的目标签名文件的存储路径;
存储判断模块,用于根据存储路径,判断目标签名文件是否在预设存储文件中;
签名验证模块,用于如果目标签名文件在预设存储文件中,验证目标签名文件的签名是否正确;
解密模块,用于如果目标签名文件的签名正确,则按照目标密钥对目标签名文件中的第一密文进行解密,得到与第一密文对应的第一明文;
返回模块,用于将含有第一明文对应的目标明文文件返回至目标客户端。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请根据预设算法生成目标密钥;将目标明文文件采用目标密钥进行加密,得到与目标明文文件对应的目标密文文件;通过预设数字签名算法对目标密文文件中的密文进行签名,得到第一密文;将目标密钥和第一密文按照预设打乱规则进行合并和打乱,得到目标签名文件,并将目标签名文件存储至预设存储文件中。在现有技术中,加密的局限性较大,本申请可以对多种形式的文件或数据进行加密,降低了文件加密的局限性。
本申请还按照预设应用程序读取预设存储文件,并获取预设存储文件中的目标签名文件的存储路径;根据存储路径,判断目标签名文件是否在预设存储文件中;如果在,验证目标签名文件的签名是否正确;如果正确,则按照目标密钥对目标签名文件中的第一密文进行解密,得到与第一密文对应的第一明文;将含有第一明文对应的目标明文文件返回至目标客户端。本申请提供了一种文件解密方法与上述一种文件加密方法相对应。本申请提供的一种文件解密方法的局限性小,更在更大范围进行应用。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种文件加密方法的流程示意图;
图2为本申请提供的另一种文件加密方法的流程示意图;
图3为本申请提供的一种文件解密方法的流程示意图;
图4为本申请提供的另一种文件解密方法的流程示意图;
图5为本申请提供的一种文件加密装置的结构示意图;
图6为本申请提供的一种文件解密装置的结构示意图。
具体实施方式
本申请实施例通过提供一种文件加密方法,解决了现有技术中现有的加密技术的局限性较大的技术问题。
本申请实施例的技术方案为解决上述技术问题,总体思路如下:
一种文件加密方法,方法包括:根据预设算法生成目标密钥;将目标明文文件采用目标密钥进行加密,得到与目标明文文件对应的目标密文文件;通过预设数字签名算法对目标密文文件中的密文进行签名,得到第一密文;将目标密钥和第一密文按照预设打乱规则进行合并和打乱,得到目标签名文件,并将目标签名文件存储至预设存储文件中。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
首先说明,本文中出现的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本申请提供了如图1所示的一种文件加密方法,包括步骤S11-S14。(本申请提供的一种文件加密方法可以结合图2进行参考)
步骤S11,根据预设算法生成目标密钥。
步骤S12,将目标明文文件采用目标密钥进行加密,得到与目标明文文件对应的目标密文文件。
步骤S13通过预设数字签名算法对目标密文文件中的密文进行签名,得到第一密文。
步骤S14,目标密钥和第一密文按照预设打乱规则进行合并和打乱,得到目标签名文件,并将目标签名文件存储至预设存储文件中。
关于S11,根据预设算法生成目标密钥。
可以采用预设算法生成目标密钥,此处目标密钥为目标加密密钥,用于对文件进行加密。进一步讲,预设算法可以是位值映射算法,位值映射算法具有内存利用率高、动态适应性强、外部碎片少以及支持大对象分配等优势,由位值映射算法生成的目标加密密钥为随机密钥,可以理解的是,随机密钥相较于固定密钥的保密性更强。
关于步骤S12,将目标明文文件采用目标密钥进行加密,得到与目标明文文件对应的目标密文文件。
确定目标密钥(目标加密密钥)后,可以采用目标加密密钥对需要加密的目标明文文件进行加密,需要说明的是,也可以仅对目标明文文件中的文件内容进行加密,对明文文件进行加密后,得到与目标明文文件对应的目标密文文件。
关于步骤S13通过预设数字签名算法对目标密文文件中的密文进行签名,得到第一密文。
得到目标密文文件后,可以采用预设数字签名算法,对目标密文文件中的密文进行签名。预设数字签名算法可以是根据实际情况进行选择,例如消息鉴别码算法等。预设数字签名算法用于为当前的目标密文文件中内容打上身份标签,对目标密文文件中的密文进行签名后,可以得到第一密文。
关于步骤S14,目标密钥和第一密文按照预设打乱规则进行合并和打乱,得到目标签名文件,并将目标签名文件存储至预设存储文件中。
将目标密钥(目标加密密钥)和第一密文进行打包,并按照预设打乱规则对打包后的目标密钥和第一密文进行打乱,得到目标签名文件。得到签名文件后,将目标签名文件存储至预设存储文件中。
进一步来讲,可以将目标签名文件存储至与目标明文文件相同路径下的预设存储文件中,且预设存储文件为隐藏文件。可以理解的是将目标签名文件存储至与目标明文文件相同路径下的预设存储文件中有利于文件的读取和存储,因此,加密的效率更高。在另一方面,当预设存储文件为隐藏文件时,可以提高加密的安全性。
综上所述,本申请根据预设算法生成目标密钥;将目标明文文件采用目标密钥进行加密,得到与目标明文文件对应的目标密文文件;通过预设数字签名算法对目标密文文件中的密文进行签名,得到第一密文;将目标密钥和第一密文按照预设打乱规则进行合并和打乱,得到目标签名文件,并将目标签名文件存储至预设存储文件中。在现有技术中,加密的局限性较大,本申请可以对多种形式的文件或数据进行加密,降低了文件加密的局限性。
本申请还提供了如图3所示一种文件解密方法与上述一种文件加密方法相对应,包括步骤S101-S105:(本申请提供的一种文件解密方法还可以结合图4进行参考)
步骤S101,按照预设应用程序读取预设存储文件,并获取预设存储文件中的目标签名文件的存储路径。
步骤S102,根据存储路径,判断目标签名文件是否在预设存储文件中。
步骤S103,如果在,验证目标签名文件的签名是否正确。
步骤S104,如果正确,则按照目标密钥对目标签名文件中的第一密文进行解密,得到与第一密文对应的第一明文。
步骤S105,将含有第一明文对应的目标明文文件返回至目标客户端。
在执行步骤S101之前,包括:
构建预设应用程序,预设应用程序为劫持应用程序,劫持应用程序用于读取所预设存储文件,劫持应用程序的函数用于为预设存储文件对应的存储系统增加动态参数;
需要进行强调的是,本申请构建的预设应用程序可以为劫持应用程序,劫持应用程序中包括劫持文件。通过编写包括劫持文件的劫持应用程序使得劫持文件读取系统调用,并在预设存储文件对应的存储系统的主函数中进行解密操作。劫持应用程序的函数可以在存储系统运行时通过注入代码来向应用程序的主函数添加额外的参数或功能,用于实现对存储系统的行为的控制。
基于钩子函数,将预设应用程序嵌入预设存储文件对应的存储系统中,具体来讲,可以基于钩子函数,将劫持应用程序通过操作系统提供的接口(例如文件读取系统调用),嵌入至预设存储文件对应的存储系统,用于读取预设存储文件。钩子函数是指:通过设置“钩子”,对所有数据进行过滤,访问在正常情况下难以访问的数据。基于钩子函数,可以通过系统调用,将劫持应用程序嵌入对应的存储系统。
可以基于预设应用程序完成步骤S101-S105。
关于步骤S101,按照预设应用程序读取预设存储文件,并获取预设存储文件中的目标签名文件的存储路径。
进一步讲,预设应用程序为劫持应用程序,需要强调的是此处劫持应用程序并非现有技术中以攻击或篡改他人文件为目的的劫持应用程序,本申请中的劫持应用程序的作用是为了对存储自身的预设存储文件中的目标签名文件进行解密,而并非用于攻击或篡改他人文件的目的。换而言之,本申请中的“劫持应用程序”或“劫持文件”仅为本申请中的名称,仅用于实现对自身已存储文件的读取,不用于攻击或篡改他人文件。
劫持应用程序通过读取预设存储文件对应的系统,可以获取预设存储文件中的目标签名文件的存储路径。
关于步骤S102,根据存储路径,判断目标签名文件是否在预设存储文件中。
获得存储路径后,可以按照存储路径进行查找,判断目标签名文件是否在预设存储文件中,如果在预设存储文件中,则可以执行步骤S103。如果目标签名文件不存在于预设存储文件中,则将目标签名文件不存在的信息反馈至目标客户端,以供目标客户端对目标签名文件不存在的信息进行显示,以供相关人员进行查看。
关于步骤S103,如果在,验证目标签名文件的签名是否正确。
如果目标签名文件在预设存储文件中,则判断目标签名文件中的签名是否正确,当目标签名文件中的签名正确时,说明则能够说明目标签名文件的完整性、真实性和不可否认性。
如果目标签名文件的签名不正确,则将目标签名文件的签名不正确的信息反馈至目标客户端,以供目标客户端对目标签名文件的签名不正确的信息进行显示,以供相关人员进行查看。
关于步骤S104,如果正确,则按照目标密钥对目标签名文件中的第一密文进行解密,得到与第一密文对应的第一明文。
具体来讲,则按照目标密钥对目标签名文件中的第一密文进行解密,得到与第一密文对应的第一明文,包括:在预设缓冲区中读取目标签名文件中的第一密文;按照预设算法以及目标密钥,在预设缓冲区中对第一密文进行解密,得到与第一密文对应的第一明文;将目标密钥和第一密文丢弃,并生成含有第一明文的目标明文文件。
可以理解的是,在预设缓冲区读取目标签名文件中的第一密文,有利于提高解密的效率,加快加密的速度。还可以理解的是此处的目标密钥,为目标解密密钥,与上述的目标加密密钥一一对应(或者说目标解密密钥也是目标加密密钥)。
需要进行说明的是,也可以不生成第一明文的目标明文文件,可以直接将第一明文的内容进行单独返回至目标客户端。
关于步骤S105,将含有第一明文对应的目标明文文件返回至目标客户端。
获得目标明文文件或第一明文的内容后,可以将目标明文文件或第一明文的内容返回至目标客户端,以供相关人员对解密后的目标明文文件或第一明文的内容进行查看。
综上所述,本申请按照预设应用程序读取预设存储文件,并获取预设存储文件中的目标签名文件的存储路径;根据存储路径,判断目标签名文件是否在预设存储文件中;如果在,验证目标签名文件的签名是否正确;如果正确,则按照目标密钥对目标签名文件中的第一密文进行解密,得到与第一密文对应的第一明文;将含有第一明文对应的目标明文文件返回至目标客户端。本申请提供了一种文件解密方法与上述一种文件加密方法相对应。本申请提供的一种文件解密方法的局限性小,更在更大范围进行应用。
基于同一发明构思,本申请提供了如图5所示的一种文件加密装置,文件加密装置包括:
密钥生成模块51,用于根据预设算法生成目标密钥;
加密模块52,用于将目标明文文件采用目标密钥进行加密,得到与目标明文文件对应的目标密文文件;
密文确定模块53,用于通过预设数字签名算法对目标密文文件中的密文进行签名,得到第一密文;
存储模块54,用于将目标密钥和第一密文按照预设打乱规则进行合并和打乱,得到目标签名文件,并将目标签名文件存储至预设存储文件中。
进一步地,存储模块54,用于:
将目标签名文件存储至与目标明文文件相同路径下的预设存储文件中,且预设存储文件为隐藏文件。
进一步地,包括:
预设算法为位值映射算法,根据位值映射算法生成的目标密钥为随机密钥。
基于同一发明构思,本申请提供了如图6所示的一种文件加密装置,文件解密装置包括:
读取模块61,用于按照预设应用程序读取预设存储文件,并获取预设存储文件中的目标签名文件的存储路径;
存储判断模块62,用于根据存储路径,判断目标签名文件是否在预设存储文件中;
签名验证模块63,用于如果目标签名文件在预设存储文件中,验证目标签名文件的签名是否正确;
解密模块64,用于如果目标签名文件的签名正确,则按照目标密钥对目标签名文件中的第一密文进行解密,得到与第一密文对应的第一明文;
返回模块65,用于将含有第一明文对应的目标明文文件返回至目标客户端。
进一步地,读取模块61,用于:
按照预设应用程序读取预设存储文件,并获取预设存储文件中的目标签名文件的存储路径,包括:预设应用程序为劫持应用程序,劫持应用程序通过读取预设存储文件对应的系统,获取预设存储文件中的目标签名文件的存储路径。
进一步地,存储判断模块62,用于:
根据存储路径,判断目标签名文件是否在预设存储文件中,还包括:如果目标签名文件不存在于预设存储文件中,则将目标签名文件不存在的信息反馈至目标客户端。
进一步地,解密模块64,用于:
则按照目标密钥对目标签名文件中的第一密文进行解密,得到与第一密文对应的第一明文,包括:在预设缓冲区中读取目标签名文件中的第一密文;
按照预设算法以及目标密钥,在预设缓冲区中对第一密文进行解密,得到与第一密文对应的第一明文;
将目标密钥和第一密文丢弃,并生成含有第一明文的目标明文文件。
进一步地,按照预设应用程序读取预设存储文件之前,还包括:
构建预设应用程序,预设应用程序为劫持应用程序,劫持应用程序用于读取所预设存储文件,劫持应用程序的函数用于为预设存储文件对应的存储系统增加动态参数;
构建预设应用程序之后,基于钩子函数,将预设应用程序嵌入预设存储文件对应的存储系统中。
由于本实施例所介绍的电子设备为实施本申请实施例中信息处理的方法所采用的电子设备,故而基于本申请实施例中所介绍的信息处理的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中信息处理的方法所采用的电子设备,都属于本申请所欲保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (6)

1.一种文件加解密方法,其特征在于,加密步骤包括:
根据预设算法生成目标密钥;
将目标明文文件采用所述目标密钥进行加密,得到与所述目标明文文件对应的目标密文文件;
通过预设数字签名算法对所述目标密文文件中的密文进行签名,得到第一密文;
将所述目标密钥和所述第一密文按照预设打乱规则进行合并和打乱,得到目标签名文件,并将所述目标签名文件存储至预设存储文件中;
解密步骤包括:
按照预设应用程序读取预设存储文件,并获取所述预设存储文件中的目标签名文件的存储路径,所述预设应用程序为劫持应用程序,所述劫持应用程序通过读取所述预设存储文件对应的系统,获取所述预设存储文件中的目标签名文件的存储路径;
根据所述存储路径,判断所述目标签名文件是否在所述预设存储文件中;
如果在,验证所述目标签名文件的签名是否正确;
如果正确,则按照目标密钥对所述目标签名文件中的第一密文进行解密,得到与所述第一密文对应的第一明文,包括:在预设缓冲区中读取所述目标签名文件中的第一密文;按照预设算法以及所述目标密钥,在所述预设缓冲区中对所述第一密文进行解密,得到与第一密文对应的第一明文;将所述目标密钥和所述第一密文丢弃,并生成含有所述第一明文的目标明文文件;
将含有所述第一明文对应的目标明文文件返回至目标客户端。
2.如权利要求1所述一种文件加解密方法,其特征在于,所述将所述目标签名文件存储至预设存储文件中,包括:
将所述目标签名文件存储至与所述目标明文文件相同路径下的预设存储文件中,且所述预设存储文件为隐藏文件。
3.如权利要求1所述一种文件加解密方法,其特征在于,包括:
所述预设算法为位值映射算法,根据所述位值映射算法生成的所述目标密钥为随机密钥。
4.如权利要求1所述的一种文件加解密方法,其特征在于,所述根据所述存储路径,判断所述目标签名文件是否在所述预设存储文件中,还包括:
如果所述目标签名文件不存在于所述预设存储文件中,则将目标签名文件不存在的信息反馈至所述目标客户端。
5.如权利要求1所述的一种文件加解密方法,其特征在于,按照预设应用程序读取预设存储文件之前,包括:
构建所述预设应用程序,所述预设应用程序为劫持应用程序,所述劫持应用程序用于读取所述预设存储文件,所述劫持应用程序的函数用于为所述预设存储文件对应的存储系统增加动态参数;
构建所述预设应用程序之后,基于钩子函数,将所述预设应用程序嵌入预设存储文件对应的存储系统中。
6.一种文件加解密装置,其特征在于,所述装置包括:
密钥生成模块,用于根据预设算法生成目标密钥;
加密模块,用于将目标明文文件采用所述目标密钥进行加密,得到与所述目标明文文件对应的目标密文文件;
密文确定模块,用于通过预设数字签名算法对所述目标密文文件中的密文进行签名,得到第一密文;
存储模块,用于将所述目标密钥和所述第一密文按照预设打乱规则进行合并和打乱,得到目标签名文件,并将所述目标签名文件存储至预设存储文件中;
读取模块,用于按照预设应用程序读取预设存储文件,并获取所述预设存储文件中的目标签名文件的存储路径;
存储判断模块,用于根据所述存储路径,判断所述目标签名文件是否在所述预设存储文件中;
签名验证模块,用于如果所述目标签名文件在所述预设存储文件中,验证所述目标签名文件的签名是否正确;
解密模块,用于如果所述目标签名文件的签名正确,则按照目标密钥对所述目标签名文件中的第一密文进行解密,得到与所述第一密文对应的第一明文,包括:在预设缓冲区中读取所述目标签名文件中的第一密文;按照预设算法以及所述目标密钥,在所述预设缓冲区中对所述第一密文进行解密,得到与第一密文对应的第一明文;将所述目标密钥和所述第一密文丢弃,并生成含有所述第一明文的目标明文文件;
返回模块,用于将含有所述第一明文对应的目标明文文件返回至目标客户端。
CN202410079242.8A 2024-01-19 2024-01-19 一种文件加密方法、解密方法、加密装置以及解密装置 Active CN117592093B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410079242.8A CN117592093B (zh) 2024-01-19 2024-01-19 一种文件加密方法、解密方法、加密装置以及解密装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410079242.8A CN117592093B (zh) 2024-01-19 2024-01-19 一种文件加密方法、解密方法、加密装置以及解密装置

Publications (2)

Publication Number Publication Date
CN117592093A CN117592093A (zh) 2024-02-23
CN117592093B true CN117592093B (zh) 2024-04-05

Family

ID=89913777

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410079242.8A Active CN117592093B (zh) 2024-01-19 2024-01-19 一种文件加密方法、解密方法、加密装置以及解密装置

Country Status (1)

Country Link
CN (1) CN117592093B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101626293A (zh) * 2008-07-09 2010-01-13 上海格尔软件股份有限公司 一种数据加密保护及解密方法
US8180708B2 (en) * 1998-08-13 2012-05-15 International Business Machines Corporation Watermarking system that executes received watermarking instructions to embed a watermark
CN110611659A (zh) * 2019-08-21 2019-12-24 南瑞集团有限公司 一种电力监控系统业务本质保护方法、装置及系统
CN110661621A (zh) * 2018-06-28 2020-01-07 中车株洲电力机车研究所有限公司 一种基于hmac、aes、rsa的混合加解密方法
CN111475824A (zh) * 2020-03-23 2020-07-31 深圳前海百递网络有限公司 数据访问方法、装置、设备和存储介质
CN112651031A (zh) * 2020-12-14 2021-04-13 展讯半导体(成都)有限公司 数字签名方法、数字验签方法、电子设备及存储介质
CN113132099A (zh) * 2021-04-06 2021-07-16 鼎铉商用密码测评技术(深圳)有限公司 一种基于硬件密码设备的传输文件加解密方法及装置
CN114422156A (zh) * 2022-03-31 2022-04-29 北京国电通网络技术有限公司 基于区块链的投标文件补偿认证方法和系统
CN114896608A (zh) * 2021-05-26 2022-08-12 杭州云象网络技术有限公司 采用go语言实现硬件密码接口的方法、介质及装置
CN116015846A (zh) * 2022-12-24 2023-04-25 上海浦东发展银行股份有限公司 身份认证方法、装置、计算机设备和存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8180708B2 (en) * 1998-08-13 2012-05-15 International Business Machines Corporation Watermarking system that executes received watermarking instructions to embed a watermark
CN101626293A (zh) * 2008-07-09 2010-01-13 上海格尔软件股份有限公司 一种数据加密保护及解密方法
CN110661621A (zh) * 2018-06-28 2020-01-07 中车株洲电力机车研究所有限公司 一种基于hmac、aes、rsa的混合加解密方法
CN110611659A (zh) * 2019-08-21 2019-12-24 南瑞集团有限公司 一种电力监控系统业务本质保护方法、装置及系统
CN111475824A (zh) * 2020-03-23 2020-07-31 深圳前海百递网络有限公司 数据访问方法、装置、设备和存储介质
CN112651031A (zh) * 2020-12-14 2021-04-13 展讯半导体(成都)有限公司 数字签名方法、数字验签方法、电子设备及存储介质
CN113132099A (zh) * 2021-04-06 2021-07-16 鼎铉商用密码测评技术(深圳)有限公司 一种基于硬件密码设备的传输文件加解密方法及装置
CN114896608A (zh) * 2021-05-26 2022-08-12 杭州云象网络技术有限公司 采用go语言实现硬件密码接口的方法、介质及装置
CN114422156A (zh) * 2022-03-31 2022-04-29 北京国电通网络技术有限公司 基于区块链的投标文件补偿认证方法和系统
CN116015846A (zh) * 2022-12-24 2023-04-25 上海浦东发展银行股份有限公司 身份认证方法、装置、计算机设备和存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于TrustZone技术的数据安全加密方法的研究与实现;黄顺锐;《中国优秀硕士学位论文全文数据库 信息科技辑》;20190815(第08期);I138-66 *
基于数据加密技术的计算机网络数据安全传输方法;李明国;《信息与电脑(理论版)》;20220810;第34卷(第15期);229-231 *

Also Published As

Publication number Publication date
CN117592093A (zh) 2024-02-23

Similar Documents

Publication Publication Date Title
CN109933995B (zh) 一种基于云服务及区块链的用户敏感数据保护及系统
US5987134A (en) Device and method for authenticating user's access rights to resources
USRE42762E1 (en) Device and method for authenticating user's access rights to resources
US7155745B1 (en) Data storage device provided with function for user's access right
EP2420949B1 (en) Information processing system, information processing method, information processing program, computer readable medium and computer data signal
CN109728914B (zh) 数字签名验证方法、系统、装置及计算机可读存储介质
WO2019152201A1 (en) Secure crypto system attributes
JPH09270785A (ja) 情報処理装置
US20100095132A1 (en) Protecting secrets in an untrusted recipient
CN113128999B (zh) 一种区块链隐私保护方法及装置
JP2007522739A (ja) 一方向性認証
KR20100120671A (ko) 스마트 카드의 보안
CN109190401A (zh) 一种Qemu虚拟可信根的数据存储方法、装置及相关组件
CN110837634B (zh) 基于硬件加密机的电子签章方法
CN112532379A (zh) 一种文件保护方法及装置
US7779269B2 (en) Technique for preventing illegal invocation of software programs
CN106789051B (zh) 一种保护文件的方法、装置和计算设备
CN117592093B (zh) 一种文件加密方法、解密方法、加密装置以及解密装置
CN108242997B (zh) 安全通信的方法与设备
CN118368144B (zh) 一种基于非对称加密的数据传输方法、装置、设备及介质
WO2023212838A1 (en) Fast signature generation and verification
CN117527205A (zh) 一种数据加密方法、解密方法、设备及存储介质
Cherniy Securing Embedded Metadata with Symmetric and Asymmetric Encryption
JP4604523B2 (ja) データの移管方法およびデータの保管装置
JP3797531B2 (ja) ディジタルデータの不正コピー防止システム

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