CN117610060B - 一种基于多核并行的多媒体文件混合加解密方法及*** - Google Patents
一种基于多核并行的多媒体文件混合加解密方法及*** Download PDFInfo
- Publication number
- CN117610060B CN117610060B CN202410084058.2A CN202410084058A CN117610060B CN 117610060 B CN117610060 B CN 117610060B CN 202410084058 A CN202410084058 A CN 202410084058A CN 117610060 B CN117610060 B CN 117610060B
- Authority
- CN
- China
- Prior art keywords
- file
- encryption
- encrypted
- sub
- multimedia file
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 132
- 241001441724 Tetraodontidae Species 0.000 claims abstract description 34
- 230000006870 function Effects 0.000 claims description 31
- 238000012545 processing Methods 0.000 claims description 21
- 238000004891 communication Methods 0.000 claims description 16
- 239000013598 vector Substances 0.000 claims description 16
- 150000003839 salts Chemical class 0.000 claims description 15
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 10
- 238000002474 experimental method Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 101100226364 Arabidopsis thaliana EXT1 gene Proteins 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000008278 dynamic mechanism Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/188—Virtual file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0625—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/302—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3249—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于多核并行的多媒体文件混合加解密方法及***,包括:挂载在Linux操作***的虚拟文件***VFS将用于调用多媒体文件的***调用转发到内核驱动中的块设备;基准文件***库FUSE Library监测到***调用在FUSE内核驱动中时,从块设备/dev/fuse中调用请求,并调用加密文件***ParallelFS对多媒体文件进行加解密;加密文件***ParallelFS响应于所述基准文件***库FUSE Library的调用,获取用户的公钥PK和私钥PRK,截获写入加密文件***ParallelFS挂载目录中的多媒体文件,并随机生成加密密钥k,以及使用Blowfish算法、RSA‑2048算法和线程化方法对多媒体文件进行加解密;本发明,以实现以高度安全、透明和高效的方式对多媒体文件进行加解密操作,并在读取或写入多媒体文件时实现尽可能低的响应时间。
Description
技术领域
本发明涉及加密方法技术领域,特别涉及一种基于多核并行的多媒体文件混合加解密方法及***。
背景技术
图像、视频等多媒体数据目前在社会上扮演着重要的角色,海量的多媒体文件存储在磁盘驱动器和移动存储介质上。可是,许多潜在的威胁和安全攻击都是针对侵犯存储在这些存储设备上的个人隐私,特别是多媒体文件数据,这引起了研究者们的广泛关注。存储加密是提供针对具有威胁的高级保护措施并保护存储在设备上文件的机密性和隐私的最有效的解决方案。然而,为静态多媒体数据设计密码技术是复杂的,这是因为密码学是数学中较为困难的部分,尤其是对于多媒体数据,其具有独特的属性,例如大容量数据、高冗余、数据元素之间的强相关性、以及在加密和解密期间使用各种格式的文件存储、以及长计算时间和大量处理能力等。这给多媒体密码***带来了巨大的挑战,因为它阻碍了多媒体密码***的实时使用。尽管现有的用户加密应用程序无处不在,但它们在安全性、灵活性、透明度和性能效率方面仍然存在一些固有的弱点。加密应用程序的手动性质和用户在执行加密操作时产生的额外开销同样是繁琐和耗时的。这种例行公事的使用导致用户对潜在的威胁粗心大意,并以明文格式留下文件。
加密文件***的当前研究趋势通过在操作***文件***的帮助下实现用于管理、控制和监视加密、解密和密钥管理操作的动态机制来解决加密应用的局限性。此外,它们可以以高度安全、透明和高效的方式执行加密和解密操作。
发明内容
本发明的目的在于提供了一种基于多核并行的多媒体文件混合加解密方法及***,以实现以高度安全、透明和高效的方式对多媒体文件进行加解密操作,并在读取或写入多媒体文件时实现尽可能低的响应时间。
本发明实施例的第一方面提供了一种基于多核并行的多媒体文件混合加解密方法,包括:
挂载在Linux操作***的虚拟文件***VFS将用于调用多媒体文件的***调用转发到内核驱动中的块设备;
基准文件***库FUSE Library监测到***调用在FUSE内核驱动中时,从块设备/dev/fuse中调用请求,并调用加密文件***ParallelFS对多媒体文件进行加解密;
加密文件***ParallelFS响应于所述基准文件***库FUSE Library的调用,获取用户的公钥PK和私钥PRK,截获写入加密文件***ParallelFS挂载目录中的多媒体文件,并随机生成加密密钥k,以及使用Blowfish算法、RSA-2048算法和线程化方法对多媒体文件进行加解密。
优选的,基于加密文件***ParallelFS使用Blowfish算法、RSA-2048算法以及线程化方法对多媒体文件进行加解密,具体包括以下步骤:
步骤S10:创建任务管理器,使用fork方法和进程间通信方法将任务推送到任务管理器队列中;
步骤S20:构建线程池,包括属于一个父进程的多个线程,多个线程通过全局变量共享相同的地址空间和参数;
步骤S30:创建线程对多媒体文件进行加解密,每个线程内部独立进行加解密,所有线程之间并行进行加解密。
优选的,所述步骤S30创建线程对多媒体文件进行加密,每个线程内部独立进行加密,所有线程之间并行进行加密,具体包括以下步骤:
步骤S31:随机产生加密密钥K、全局文件盐FSalt;
步骤S32:将多媒体文件划分为多个文件块Bi;
步骤S33:将文件块Bi划分为多个文件子块SBi,每一个文件子块SBi生成一个对应的块加密计数器CTRi,所有文件子块SBi之间共享相同的加密密钥K,每个文件子块SBi与一个线程相关联;
步骤S34:将全局文件盐FSalt与每个对应的块加密计数器CTRi进行异或操作创建与每个文件子块SBi相关联的唯一初始向量IVi;
步骤S35:对多个文件子块SBi进行并行加密,具体为:对所有文件子块SBi采用Blowfish算法进行对称加密得到多个加密子块CSBi;
步骤S36:将所有加密子块CSBi进行组合得到加密块CBi;
步骤S37:对所有文件块Bi重复以上步骤S33-S36后收集所有产生的加密块CBi得到加密后的多媒体文件;
步骤S38:将加密后的多媒体文件写入磁盘;
步骤S39:使用RSA-2048算法对加密密钥K进行非对称加密,并将加密后的加密密钥K附加到多媒体文件的头部进行存储。
优选的,所述步骤S30创建线程对多媒体文件进行解密,每个线程内部独立进行解密,所有线程之间并行进行解密,具体包括以下步骤:
步骤S301:从加密后的多媒体文件头中提取加密密钥K和全局文件盐FSalt,获取用户的私钥PRK,使用RSA-2048算法和私钥PRK对加密密钥K和全局文件盐FSalt进行解密;
步骤S302:重建所有使用过的初始向量IVi,每个加密块CSi被分割成多个加密子块CSBi,使用Blowfish算法对多个加密子块CSBi进行并行解密;
步骤S303:重复步骤S301和S302,直到所有加密块CBi都被解密,将解密后的所有加密块CBi组合得到多媒体文件的原始明文。
优选的,所述步骤S35:对多个文件子块SBi进行并行加密,具体为:对所有文件子块SBi采用Blowfish算法进行对称加密得到多个加密子块CSBi,具体包括以下步骤:
步骤S351:用密钥扩展算法生成子密钥,将初始向量IVi作为加密操作的起点;
步骤S352:初始置换,用初始置换函数对文件子块CSBi进行重排;
步骤S353:通过轮函数使用子密钥对文件子块CSBi进行处理,得到加密后的文件子块CSBi。
优选的,所述步骤S353通过轮函数使用子密钥对文件子块CSBi进行处理,具体为:
通过轮函数使用子密钥对文件子块CSBi进行异或运算、置换操作和交换操作;
重复以上步骤,将每个轮函数的输出做为下一个轮函数的输入,重复次数为加密算法中自定义的轮数;在最后一次重复中,不执行置换操作和交换操作,只进行异或运算。
优选的,所述步骤S39使用RSA-2048算法对加密密钥K进行非对称加密,并将加密后的加密密钥K附加到多媒体文件的头部进行存储,具体包括为:
生成一对RSA-2048的密钥,包括一个私钥和一个公钥;
将加密密钥K分割成多个数据块;
获取用户的公钥PK,使用公钥PK对多个数据块进行加密操作,包括:
数据块转换:将每个数据块转换为一个整数值,让整数值小于公钥的模数;
加密运算:对于每个数据块,使用RSA-2048算法的公钥中的指数运算和模运算,将其加密为一个密文数据块;
密文合并:将加密后的密文数据块合并成最终的密文。本发明实施例的第二方面提供了一种基于多核并行的多媒体文件混合加解密***,包括:
虚拟文件***VFS、FUSE内核驱动、基准文件***库FUSE Library以及加密文件***ParallelFS,所述FUSE内核驱动为FUSE虚拟文件***VFS、FUSE内核驱动以及基准文件***库FUSE Library提供通信接口;
基于所述通信接口,所述虚拟文件***VFS、FUSE内核驱动、基准文件***库FUSELibrary以及加密文件***ParallelFS用于执行如上所述的方法。
本发明至少包括以下有益效果:
本发明通过在基准文件***FUSE上构建加密文件***ParallelFS,实现了一种使用Blowfish算法、RSA-2048算法以及线程化方法对多媒体文件进行加解密的方式,该方式相对基准文件***FUSE上的加解密方案,例如ImgFS***、EncFS***等,在安全性、灵活性、透明度和性能效率方面上该方式表现更好,并在读取或写入存储的多媒体文件时使用的时间更少。
下面结合附图和具体实施例对本发明作进一步说明。
附图说明
图1为本发明提供的一种基于多核并行的多媒体文件混合加解密方法流程图;
图2为本发明提供的一种基于多核并行的多媒体文件混合加解密***的设计结构图;
图3为本发明中基于加密文件***ParallelFS使用Blowfish算法、RSA-2048算法以及线程化方法对多媒体文件进行加解密的流程图;
图4为本发明中线程在多个CPU核心上调度的构架图;
图5为本发明中使用的两种并行加密方法的架构图,
其中,(a)是基于fork方法并行加密的架构图,(b)是基于线程化方法并行加密的架构图;
图6为本发明中使用fork方法和线程化方法在不同数量的进程和线程下并行读写文件的对比图;
图7为本发明提供的一种基于多核并行的多媒体文件混合加解密方法的多媒体文件加解密的工作流程图;
图8为本发明提供的一种基于多核并行的多媒体文件混合加解密方法的多媒体文件加密的工作流程图;
图9为本发明提供的一种基于多核并行的多媒体文件混合加解密方法的并行混合加解密处理过程图;
图10为本发明提供的一种基于多核并行的多媒体文件混合加解密方法的多媒体文件解密的工作流程图;
图11为本发明中多媒体文件使用加密文件***ParallelFS和标准的Linux中ext4***的写时间的对比图;
图12为本发明中多媒体文件使用加密文件***ParallelFS和标准的Linux中ext4文件***的读时间的对比图;
图13为本发明中使用加密文件***ParallelFS读写多媒体文件与使用文件加密***ImgFS和文件加密***EncFS读时间的对比图;
图14为本发明中使用加密文件***ParallelFS读写多媒体文件与使用文件加密***ImgFS和文件加密***EncFS写时间的对比图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
在本发明的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
实施例1:结合图1-图14说明本实施例,
本实施例为一种基于多核并行的多媒体文件混合加解密方法,包括:
挂载在Linux操作***的虚拟文件***VFS将用于调用多媒体文件的***调用转发到内核驱动中的块设备;
基准文件***库FUSE Library监测到***调用在FUSE内核驱动中时,从块设备/dev/fuse中调用请求,并调用加密文件***ParallelFS对多媒体文件进行加解密;
加密文件***ParallelFS响应于所述基准文件***库FUSE Library的调用,获取用户的公钥PK和私钥PRK,截获写入加密文件***ParallelFS挂载目录中的多媒体文件,并随机生成加密密钥k,以及使用Blowfish算法、RSA-2048算法和线程化方法对多媒体文件进行加解密。
如图2所示,基准文件***FUSE可以是在用户空间实现的文件***,用户可通过基准文件***FUSE在用户空间来定制实现自己的文件***。完整的基准文件***FUSE功能包括用户态文件***Customize filesystem、用户态基准文件***库FUSE library和内核支持Kernel support。
首先将FUSE文件***挂载到Linux操作***中的特定目录,在挂载的过程中FUSE可以创建一个虚拟的文件***VFS,它在用户空间中可以表现为一个根目录,用户可以通过这个根目录访问FUSE文件***的内容。
基准文件***FUSE被挂载时可以启动一个或多个线程来处理来自用户空间的请求,启动的线程负责处理文件的读写、删除、重命名等与文件***相关的操作。
基准文件***库FUSE Library是基准文件***FUSE的核心库,它提供了API供开发人员使用来实现自定义的文件***,并处理来自FUSE内核驱动的请求,基准文件***库FUSE Library还提供了用于访问和控制文件***的接口,例如打开、读写、关闭文件等操作。
在基准文件***库FUSE工作流程中,来自用户空间的请求可以被发送到内核空间的FUSE内核驱动的request请求队列中,并且基准文件***库FUSE Library可以通过读取/dev/fuse将request从内核队列中取出,并且提交操作到底层文件***中,例如 EXT4。dev/fuse是FUSE内核驱动中的块设备,为基准文件***FUSE和用户空间提供通信接口。当处理完请求后,基准文件***FUSE的守护进程可以将reply写回块设备/dev/fuse,FUSE内核驱动此时把request标记为completed,最终唤醒用户进程。
基于FUSE的架构,本公开实施例构建出针对大型文件的并行加密文件***ParallelFS,位于用户空间的后端文件***层。当用户在根目录(例如/Multidir)上挂载加密文件***ParallelFS时,此根目录的层次结构树将成为一个挂载点,并自动以未加密的格式显示用户选择的文件,同时,所有存储的多媒体文件都在相应的源目录上透明地加密,该目录提供了后缀扩展名/Multidir.sec来区分加密的多媒体文件。
下面具体说明引入并行加密文件***ParallelFS后,基准文件***库FUSELibrary以及加密文件***ParallelFS的工作过程:
首先,在引入并行加密文件***ParallelFS后,后台可以持续运行并行文件加密***守护进程ParallelFS Deamon,该进程主要作用是负责提供服务、执行任务或者监控文件***的状态,确保了该文件***的稳定性和可靠性。
具体地,当用户或应用程序发起对多媒体文件的***调用时,该***调用会被Linux内核的VFS层动态拦截,当VFS监测到***调用存储在并行加密文件***ParallelFS挂载目录中的多媒体文件时,它可以将***调用转发到内核驱动中的块设备dev/fuse。
进一步地,基准文件***库FUSE Library监测到***调用在FUSE内核驱动中时,它就可以从块设备dev/fuse中调用请求,对其进行处理,并执行加密文件***ParallelFS所需的回调函数中的加密函数,将文件划分为多个4KB大小的文件块,对各文件块采用Blowfish算法进行并行的对称加密,随后又将加密的密钥采用RSA-2048算法进行非对称加密并存储到文件的头部。
并且,执行加密函数后,基准文件***库FUSE Library可以将加密后的多媒体文件密文写回块设备dev/fuse,然后写回FUSE内核驱动;最后FUSE内核驱动将响应返回给存储磁盘或发送请求的用户应用程序。
为了使本领域技术人员更容易理解本公开实施例提供的技术方案,下面对加密文件***ParallelFS的加解密过程进行详细说明。
如图3-图5所示,基于加密文件***ParallelFS使用Blowfish算法、RSA-2048算法以及线程化方法对多媒体文件进行加解密,具体包括以下步骤:
步骤S10:创建任务管理器,使用fork方法和进程间通信方法将任务推送到任务管理器队列中;
通过创建任务管理器来使用预fork技术,并使用进程间通信方法将任务推送到任务管理器队列中,这可以为多个进程之间的通信提供有效的管理机制,并减少进程和线程分配造成的瓶颈影响,进而带来更高的性能;在任务管理器中,推送操作被赋予比弹出操作更高的优先级;在任务管理器中还设计了一个锁,用于在任务管理器清空时阻止线程。
步骤S20:构建线程池,包括属于一个父进程的多个线程,多个线程通过全局变量共享相同的地址空间和参数;
步骤S30:创建线程对多媒体文件进行加解密,每个线程内部独立进行加解密,所有线程之间并行进行加解密。
在加密文件***ParallelFS中利用CPU的线程调度,通过测量每个线程在内核上执行的时间量来测量该线程的CPU利用率,当文件***管理接收到request()请求时,会将多媒体文件划分为多个文件块,随后将文件块推送到任务管理器中;在并行文件加密***守护进程ParallelFS Deamon中构建了一个线程池,线程池拉取任务,经过身份验证、密钥管理、OpenSSL来对各个线程任务执行加解密操作。执行加解密时,将不同大小的线程调度给不同利用率的核来进行处理,也就是在CPU核心上运行的各线程的并行加密任务。
并行文件***中的线程调度是基于Linux的完全公平调度器CFS,它会定期动态地测量正在运行的线程的CPU利用率,以便将较少的加解密处理任务分配给负载较重的核,而将较大的任务调度到数据处理较少的核或处于空闲状态,尽量达到负载均衡的效果,以提高加解密任务的效率。
基于多核处理器的并行加密可以使用两种不同的方法实现,第一种方法可以通过创建多个子进程来使用fork的方法来执行,其中每个子进程在具有不同地址空间的虚拟内存中具有不同的进程ID和单独的内存空间,它们彼此独立地执行;第二种方法可以通过创建多个属于单个父进程并通过全局变量共享相同地址空间和参数的线程来使用线程化方法。
通过实验比较,在本发明中使用的是第二种方法。
在实验中,通过使用基于fork的方法和基于线程化的并行方法测量了多媒体文件的并行读写时间性能。如图5中(a)所示,在基于fork的方法中,使用了多进程的fork():对多个文件子块sb1、sb2、sb3......sbn分别使用进程1、进程2、进程3......进程n进行并行加密,得到加密后的文件块;如图中5(b)所示,在基于线程化的方法中:使用了多个线程的单个进程,将多个文件子块sb1、sb2、sb3......sbn分别使用线程1、线程2、线程3......线程n进行并行加密,得到加密后的文件块,线程1、线程2、线程3......线程n都属于同一个主进程。在本实验中,使用第一种方法时,创建了三种进程池的状态,第一个进程池中有一个包含四个线程的进程,每个线程处理相同大小的数据段,每个线程在进程中独立于彼此的控制;第二个进程池中有两个进程,每个进程都有两个线程;第三个进程池中有四个进程,每个进程都有一个线程。使用第二种方法时,创建了一个由四个相关线程组成的池,通过全局变量共享相同的资源。如图6所示,比较了使用两种处理方法场景在加密文件***ParallelFS中写入和读取图像文件所用的时间,可以看出第二种方法表现出最佳性能,文件读操作的性能为14.8%,写操作的性能为11%。由于多个进程之间的相互通信开销、虚拟内存的创建以及相关的管理开销比多个线程之间的相互通信开销、虚拟内存的创建以及相关的管理开销大,因此,第二种方法中的线程之间的上下文切换似乎比第一种方法中的多个进程之间发生的上下文切换更快。
考虑到所设计的加密文件***应该具有更高的抗恶意攻击的安全级别,并满足安全需求。存储安全是一项长期需求,因为攻击者有很长的时间来分析和破坏安全***;这不同于短暂传输,在数据传输期间需要安全性。在加密文件***ParallelFS中,合法用户身份验证受到保护。
如图7所示,通过加密文件***ParallelFS的动态密钥管理对密钥进行管理,并在这期间强制执行用户的身份验证,由于在虚拟文件***VFS和用户进行交互时,基准文件***库FUSE Library中允许开发者通过定义回调函数来处理文件***操作(如打开文件、读写文件、创建目录等),并将这些操作转发到用户空间中的应用程序中进行处理,因此在这过程中验证用户身份显得尤为重要。
当用户发起对加密后的多媒体文件的读请求时,每个用户都要先强制进行身份验证后才能对加密后的多媒体文件进行解密读取,***管理员在安装ParallelFS文件***时会配置身份验证策略以允许非特权用户挂载文件***并进入安全挂载会话,每个用户都有一个用于进入安全挂载会话的唯一登录密码,加密文件***ParallelFS必须在每个文件***挂载之前验证用户的真实性。每个用户还都有一个用于挂载文件***的登录身份验证密钥,该密钥是使用Shake-128从Linux登录密码中散列生成的。此外,每个用户都有一个公钥PK和一个私钥PRK,分别用于加密和解密。每当用户发送读请求时都必须要在通过身份验证后才能调用密钥管理中的密钥。
当用户想要写入文件时,会根据其Linux的登陆密码产生对应的加密密钥并***文件头部,再将加密后的文件通过回调层传入虚拟文件***VFS。
如图8所示,所述步骤S30创建线程对多媒体文件进行加密,每个线程内部独立进行加密,所有线程之间并行进行加密,具体包括以下步骤:
步骤S31:随机产生加密密钥K、全局文件盐FSalt;
步骤S32:将多媒体文件划分为多个文件块Bi;
步骤S33:将文件块Bi划分为多个文件子块SBi,每一个文件子块SBi生成一个对应的块加密计数器CTRi,所有文件子块SBi之间共享相同的加密密钥K,每个文件子块SBi与一个线程相关联;
步骤S34:将全局文件盐FSalt与每个对应的块加密计数器CTRi进行异或操作创建与每个文件子块SBi相关联的唯一初始向量IVi;
步骤S35:对多个文件子块SBi进行并行加密,具体为:对所有文件子块SBi采用Blowfish算法进行对称加密得到多个加密子块CSBi;
步骤S36:将所有加密子块CSBi进行组合得到加密块CBi;
步骤S37:对所有文件块Bi重复以上步骤S33-S36后收集所有产生的加密块CBi得到加密后的多媒体文件;
步骤S38:将加密后的多媒体文件写入磁盘;
步骤S39:使用RSA-2048算法对加密密钥K进行非对称加密,并将加密后的加密密钥K附加到多媒体文件的头部进行存储。
如图9所示,加密文件***ParallelFS会在每次用户发送请求时和进行写入/读取之前对多媒体文件进行加密或解密,当多媒体文件首次存储在加密文件***ParallelFS挂载下的目录中时,将随机生成加密密钥K和全局文件盐FSalt,并在此安全源目录中生成加密文件版本,而无需用户干预;多媒体文件被分成多个文件块(B1、B2、...、B n),每个文件块Bi的最大为4KB,然后将文件块Bi拆分为多个文件子块(SB1、SB2、...、SBm),每个文件子块SBi最大为1KB;对于每一个文件子块SBi会生成对应的块加密计数器CTRi,属于同一个文件块Bi的文件子块SBi共享相同的加密密钥K,此时,块加密计数器CTRi与文件盐FSalt进行异或产生每个子块唯一的初始向量IVi。初始向量IVi和加密密钥K在Blowfish算法下对文件子块SBi进行并行加密;由于一个线程负责处理一个文件子块SBi的加密,而不涉及其他文件子块SBi,并且所有线程并行执行,这就产生了加密子块(CSB1、CSB2、… 、CSBm),最后它们被组合成加密块CBi,对所有文件块BiSBi重复此操作后收集所有产生的加密块(CB1、CB2、...、CBn),并作为最终加密好的多媒体文件写入磁盘,再使用RSA-2048算法对加密密钥K进行非对称加密,返回加密后的密钥,并将加密后的加密密钥K附加到多媒体文件的头部进行存储。
如图10所示,所述步骤S30创建线程对多媒体文件进行解密,每个线程内部独立进行解密,所有线程之间并行进行解密,具体包括以下步骤:
步骤S301:从加密后的多媒体文件头中提取加密密钥K和全局文件盐FSalt,获取用户的私钥PRK,使用RSA-2048算法和私钥PRK对加密密钥K和全局文件盐FSalt进行解密;
步骤S302:重建所有使用过的初始向量IVi,每个加密块CSi被分割成多个加密子块CSBi,使用Blowfish算法对多个加密子块CSBi进行并行解密;
步骤S303:重复步骤S301和S302,直到所有加密块CBi都被解密,将解密后的所有加密块CBi组合得到多媒体文件的原始明文。
首先,使用RSA-2048算法进行解密,同时从加密的多媒体文件的头部中提取加密密钥K和FSalt,并使用用户的私钥解密它们,随后将文件盐FSalt和加密计数器CTRi进行异或得到该文件子块SBi的唯一初始向量IVi,由于一个线程处理一个文件子块SBi,于是就可以得到多个文件子块CSBi,再将文件子块CSBi、加密密钥K和唯一初始向量IV i使用Blowfish算法解密出该文件块Bi。重复这些操作,重建所有使用过的初始向量IVi直到所有加密块CBi都被解密,从而破解出多媒体文件的原始明文。
所述步骤S35:对多个文件子块SBi进行并行加密,具体为:对所有文件子块SBi采用Blowfish算法进行对称加密得到多个加密子块CSBi具体包括以下步骤:
步骤S351:用密钥扩展算法生成子密钥,将初始向量IVi作为加密操作的起点;
步骤S352:初始置换,用初始置换函数对文件子块CSBi进行重排;
步骤S353:通过轮函数使用子密钥对文件子块CSBi进行处理,得到加密后的文件子块CSBi。
所述步骤S353通过轮函数使用子密钥对文件子块CSBi进行处理,具体为:
通过轮函数使用子密钥对文件子块CSBi进行异或运算、置换操作和交换操作;
重复以上步骤,将每个轮函数的输出做为下一个轮函数的输入,重复次数为加密算法中自定义的轮数;在最后一次重复中,不执行置换操作和交换操作,只进行异或运算。
Blowfish算法是一种对称密钥加密算法,它使用固定长度的密钥来加密解密数据。通过密钥扩展算法生成一系列子密钥,Blowfish使用这些子密钥来执行加密和解密操作;接下来将待加密的数据分割成固定大小的文件块Bi,Blowfish算法将数据分成4KB的块进行处理;然后选择一个初始向量IVi作为加密操作的起点,初始向量IVi是一个固定长度的随机数,与128位的密钥长度一起用于加密算法;对于每个文件块Bi,Blowfish算法使用一系列轮函数来执行加密操作,每个轮函数都包含了一系列的子密钥,以及一些基本的逻辑运算和置换操作;首先,文件块Bi通过一个初始置换函数进行重排,以增加加密的随机性;接下来,文件块Bi通过一系列轮函数进行处理,每个轮函数使用子密钥来完成一些基本的逻辑运算,如异或、置换和代换等;重复前面的操作,重复次数取决于加密算法中定义的轮数,每个轮函数的输入是上一个轮函数的输出,在最后一轮中,不执行置换操作和交换操作,只进行异或运算。
经过以上轮函数处理后则会得到加密后的文件块CSBi,即密文。
所述步骤S39使用RSA-2048算法对加密密钥K进行非对称加密,并将加密后的加密密钥K附加到多媒体文件的头部进行存储,具体包括为:
生成一对RSA-2048的密钥,包括一个私钥和一个公钥;
将加密密钥K分割成多个数据块;
获取用户的公钥PK,使用公钥PK对多个数据块进行加密操作,包括:
数据块转换:将每个数据块转换为一个整数值,让整数值小于公钥的模数;
加密运算:对于每个数据块,使用RSA-2048算法的公钥中的指数运算和模运算,将其加密为一个密文数据块;
密文合并:将加密后的密文数据块合并成最终的密文。
在Blowfish算法中,对同一个信息加密解密,选取的密钥key的不同会导致密文的不同。因此,Blowfish算法的关键在于密钥key的选择以及保密。由于Blowfish算法采用变长密钥key,这在给用户带来极大便利的同时也有隐患。由于该算法加解密的核心在于密钥key的选择和保密,但在实际应用中经常使用一些弱密钥对信息资源进行加密,导致存在着很大的安全隐患。因此,对文件主体进行Blowfish对称加密后,还需要采用RSA-2048算法对加密密钥k进行非对称加密。
首先,生成一对RSA-2048的密钥,包括一个私钥和一个公钥,公钥用于加密和签名操作,私钥用于解密和验证签名操作;然后,将待加密的加密密钥k分割成多个适当大小的数据块,每个块都被视为一个整数,对于每个数据块,使用用户的公钥PK进行加密操作;将每个数据块转换为一个整数,确保它的值小于公钥PK的模数,对于每个数据块,使用RSA-2048算法的公钥中的指数运算和模运算,将其加密为一个密文数据获取用户的公钥PK,使用公钥PK对多个数据块进行加密操作,包括:
数据块转换:将每个数据块转换为一个整数值,让整数值小于公钥的模数;
加密运算:对于每个数据块,使用RSA-2048算法的公钥中的指数运算和模运算,将其加密为一个密文数据块;
密文合并:将加密后的密文数据块合并成最终的密文。
在Blowfish算法中,对同一个信息加密解密,选取的密钥key的不同会导致密文的不同。因此,Blowfish算法的关键在于密钥key的选择以及保密。由于Blowfish算法采用变长密钥key,这在给用户带来极大便利的同时也有隐患。由于该算法加解密的核心在于密钥key的选择和保密,但在实际应用中经常使用一些弱密钥对信息资源进行加密,导致存在着很大的安全隐患。因此,对文件主体进行Blowfish对称加密后,还需要采用RSA-2048算法对加密密钥k进行非对称加密。
首先,生成一对RSA-2048的密钥,包括一个私钥和一个公钥,公钥用于加密和签名操作,私钥用于解密和验证签名操作;然后,将待加密的加密密钥k分割成多个适当大小的数据块,每个块都被视为一个整数,对于每个数据块,使用用户的公钥PK进行加密操作;将每个数据块转换为一个整数,确保它的值小于公钥PK的模数,对于每个数据块,使用RSA-2048算法的公钥中的指数运算和模运算,将其加密为一个密文数据块,将加密后的密文数据块合并成最终的密文。
RSA-2048加密算法也可用于数字签名进行身份证认证,该加密算法的安全性基于大数分解困难性假设,它广泛用于数据加密、数字签名和密钥交换等领域。
实施例2:
本发明实施例还提供了一种基于多核并行的多媒体文件混合加解密***,包括:
虚拟文件***VFS、FUSE内核驱动、基准文件***库FUSE Library以及加密文件***ParallelFS,所述FUSE内核驱动为FUSE虚拟文件***VFS、FUSE内核驱动以及基准文件***库FUSE Library提供通信接口;
基于所述通信接口,所述虚拟文件***VFS、FUSE内核驱动、基准文件***库FUSELibrary以及加密文件***ParallelFS用于执行如上所述的方法。
从多媒体文件读写操作的角度讨论对加密文件***ParallelFS性能的评估。其目的是评估并行处理对密码性能的影响,并评估改善响应时间所需的并行文件***的复杂性。在实验中,首先评估了使用不同文件大小的密码操作的加密文件***ParallelFS在读写多媒体文件时的性能。然后,将执行时间与标准ext4文件***上相同文件大小的正常读写操作进行了比较;接下来,比较了并行文件***和执行顺序加密处理的加密文件***的性能。
如图11所示,比较了在Linux***中使用加密文件***ParallelFS加密服务的情况下和在Linux使用基于FUSE***的ext4***加解密情况下,它们二者在正常读写过程中所耗费的时间。从写入和读取一个5MB的文件开始实验,并定期重复测试,将文件大小逐渐增加到50MB。此外,还刷新了每个测试的文件缓存;因此,记录了所有读取和写入操作的经过时间,可以看出块,将加密后的密文数据块合并成最终的密文。
RSA-2048加密算法也可用于数字签名进行身份证认证,该加密算法的安全性基于大数分解困难性假设,它广泛用于数据加密、数字签名和密钥交换等领域。
实施例2:
本发明实施例还提供了一种基于多核并行的多媒体文件混合加解密***,包括:
虚拟文件***VFS、FUSE内核驱动、基准文件***库FUSE Library以及加密文件***ParallelFS,所述FUSE内核驱动为FUSE虚拟文件***VFS、FUSE内核驱动以及基准文件***库FUSE Library提供通信接口;
基于所述通信接口,所述虚拟文件***VFS、FUSE内核驱动、基准文件***库FUSELibrary以及加密文件***ParallelFS用于执行如上所述的方法。
从多媒体文件读写操作的角度讨论对加密文件***ParallelFS性能的评估。其目的是评估并行处理对密码性能的影响,并评估改善响应时间所需的并行文件***的复杂性。在实验中,首先评估了使用不同文件大小的密码操作的加密文件***ParallelFS在读写多媒体文件时的性能。然后,将执行时间与标准ext4文件***上相同文件大小的正常读写操作进行了比较;接下来,比较了并行文件***和执行顺序加密处理的加密文件***的性能。
如图11所示,比较了在Linux***中使用加密文件***ParallelFS加密服务的情况下和在Linux使用基于FUSE***的ext4***加解密情况下,它们二者在正常读写过程中所耗费的时间。从写入和读取一个5MB的文件开始实验,并定期重复测试,将文件大小逐渐增加到50MB。此外,还刷新了每个测试的文件缓存;因此,记录了所有读取和写入操作的经过时间,可以看出在使用加密文件***ParallelFS加密服务的情况下读写性能明显优于使用基于FUSE***的ext4***。
如图12所示,比较了使用加密文件***ParallelFS和ext4***写入和读取多媒体文件所测量的总时间。具有加密保护的加密文件***ParallelFS在读写文件时的平均吞吐量分别达到19.2MB/s和37.1MB/s。相比之下,正常进程使用标准ext4***读写相同大小的文件的平均吞吐量分别为123.2MB/s和155.1 MB/s。此外,还计算了在并行文件***中进行多媒体文件读写操作所需的执行时间。这些时间包括实际加密和解密操作的时间,以及在内核和用户级别执行的其他所需文件***进程的时间、其他已执行进程的相关读/写时间包括查找文件数据的写入/读取块所花费的时间、将数据块写入/读取到本地缓冲区以执行加密/解密任务所花费的I/O时间、加密或解密对称密钥所花费的工作负载时间、以及从文件头保存或提取密钥所花费的时间。在计算主要执行进程所花费的时间时,实际加密进程约占加密文件***ParallelFS上实际写入时间的70%。加密文件***ParallelFS上的其他相关写入进程需要30%的实际写入时间,具体情况如下:I/O写入进程为21.7%,写入寻道进程为7.4%,加载公钥和保存标头进程略低于1%。此外,加密文件***ParallelFS上的实际解密过程平均需要75%的实际读取时间,其他相关的读进程占实际读时间的25%,划分如下:I/O读进程占21.6%,读寻道进程占2.5%,加载用户私钥和解析报头的时间略低于1%。
EncFS和ImgFS是基于FUSE的文件加密***。其中EncFS使用了强大的加密算法来保护数据的机密性,包括AES和Blowfish,采用顺序处理模式。加密密钥由用户提供,并且在运行时保存在内存中,以便对文件进行实时的加密和解密操作。但同时其存在不少缺点,如在性能方面处理大文件时读写开销大,在安全性方面,EncFS的安全性依赖于用户提供的加密密钥的强度和保管,如果出现密钥被泄露或弱密码被使用的情况,则很可能会导致数据被破解或者未经授权访问的危险。相比之下,本发明中的加密文件***ParallelFS采取的是并行处理的加密模式,效率和安全性较高,能有效的抵抗攻击的同时也方便用户使用。
如图13和图14所示,使用基于FUSE的文件加密***ImgFS和EncFS对使用加密操作的加密用户空间文件***进行了测试,在计算平均性能时,加密文件***ParallelFS的多媒体文件写入响应时间较ImgFS和EncFS分别提高了33.3%和41.2%,读效率较ImgFS和EncFS分别提高了26.4%和17.6%。测试结果表明,加密文件***ParallelFS具有很高的安全性,能够有效地抵抗攻击,加密文件***ParallelFS在安全性和读写操作方面上都优于 ImgFS加密***和EncFS加密***。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。以上示意性地对本发明创造及其实施方式进行了描述,该描述没有限制性,在不背离本发明的精神或者基本特征的情况下,能够以其他的具体形式实现本发明。附图中所示的也只是本发明创造的实施方式之一,实际的结构并不局限于此,权利要求中的任何附图标记不应限制所涉及的权利要求。所以,如果本领域的普通技术人员受其启示,在不脱离本创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本专利的保护范围。
Claims (7)
1.一种基于多核并行的多媒体文件混合加解密方法,其特征在于,包括:
挂载在Linux操作***的虚拟文件***VFS将用于调用多媒体文件的***调用转发到内核驱动中的块设备;
基准文件***库FUSE Library监测到***调用在FUSE内核驱动中时,从块设备/dev/fuse中调用请求,并调用加密文件***ParallelFS对多媒体文件进行加解密;
加密文件***ParallelFS响应于所述基准文件***库FUSE Library的调用,获取用户的公钥PK和私钥PRK,截获写入加密文件***ParallelFS挂载目录中的多媒体文件,并随机生成加密密钥k,以及使用Blowfish算法、RSA-2048算法和线程化方法对多媒体文件进行加解密;
所述使用Blowfish算法、RSA-2048算法和线程化方法对多媒体文件进行加解密,具体包括以下步骤:
步骤S10:创建任务管理器,使用fork方法和进程间通信方法将任务推送到任务管理器队列中;
步骤S20:构建线程池,包括属于一个父进程的多个线程,多个线程通过全局变量共享相同的地址空间和参数;
步骤S30:创建线程对多媒体文件进行加解密,每个线程内部独立进行加解密,所有线程之间并行进行加解密。
2.根据权利要求1所述的基于多核并行的多媒体文件混合加解密方法,其特征在于,所述步骤S30创建线程对多媒体文件进行加密,每个线程内部独立进行加密,所有线程之间并行进行加密具体包括以下步骤:
步骤S31:随机产生加密密钥K、全局文件盐FSalt;
步骤S32:将多媒体文件划分为多个文件块Bi;
步骤S33:将文件块Bi划分为多个文件子块SBi,每一个文件子块SBi生成一个对应的块加密计数器CTRi,所有文件子块SBi之间共享相同的加密密钥K,每个文件子块SBi与一个线程相关联;
步骤S34:将全局文件盐FSalt与每个对应的块加密计数器CTRi进行异或操作创建与每个文件子块SBi相关联的唯一初始向量IVi;
步骤S35:对多个文件子块SBi进行并行加密,具体为:对所有文件子块SBi采用Blowfish算法进行对称加密得到多个加密子块CSBi;
步骤S36:将所有加密子块CSBi进行组合得到加密块CBi;
步骤S37:对所有文件块Bi重复以上步骤S33-步骤S36后收集所有产生的加密块CBi得到加密后的多媒体文件;
步骤S38:将加密后的多媒体文件写入磁盘;
步骤S39:使用RSA-2048算法对加密密钥K进行非对称加密,并将加密后的加密密钥K附加到多媒体文件的头部进行存储。
3.根据权利要求1所述的基于多核并行的多媒体文件混合加解密方法,其特征在于,所述步骤S30创建线程对多媒体文件进行解密,每个线程内部独立进行解密,所有线程之间并行进行解密,具体包括以下步骤:
步骤S301:从加密后的多媒体文件头中提取加密密钥K和全局文件盐FSalt,获取用户的私钥PRK,使用RSA-2048算法和私钥PRK对加密密钥K和全局文件盐FSalt进行解密;
步骤S302:重建所有使用过的初始向量IVi,每个加密块CSi被分割成多个加密子块CSBi,使用Blowfish算法对多个加密子块CSBi进行并行解密;
步骤S303:重复步骤S301和S302,直到所有加密块CBi都被解密,将解密后的所有加密块CBi组合得到多媒体文件的原始明文。
4.根据权利要求2所述的基于多核并行的多媒体文件混合加解密方法,其特征在于,所述步骤S35:对多个文件子块SBi进行并行加密,具体为:对所有文件子块SBi采用Blowfish算法进行对称加密得到多个加密子块CSBi,具体包括以下步骤:
步骤S351:用密钥扩展算法生成子密钥,将初始向量IVi作为加密操作的起点;
步骤S352:初始置换,用初始置换函数对文件子块CSBi进行重排;
步骤S353:通过轮函数使用子密钥对文件子块CSBi进行处理,得到加密后的文件子块CSBi。
5.根据权利要求4所述的基于多核并行的多媒体文件混合加解密方法,其特征在于,所述步骤S353通过轮函数使用子密钥对文件子块CSBi进行处理,具体为:
通过轮函数使用子密钥对文件子块CSBi进行异或运算、置换操作和交换操作;
重复以上步骤,将每个轮函数的输出做为下一个轮函数的输入,重复次数为加密算法中自定义的轮数;在最后一次重复中,不执行置换操作和交换操作,只进行异或运算。
6.根据权利要求2所述的基于多核并行的多媒体文件混合加解密方法,其特征在于,所述步骤S39使用RSA-2048算法对加密密钥K进行非对称加密,并将加密后的加密密钥K附加到多媒体文件的头部进行存储,具体包括为:
生成一对RSA-2048的密钥,包括一个私钥和一个公钥;
将加密密钥K分割成多个数据块;
获取用户的公钥PK,使用公钥PK对多个数据块进行加密操作,包括:
数据块转换:将每个数据块转换为一个整数值,让整数值小于公钥的模数;
加密运算:对于每个数据块,使用RSA-2048算法的公钥中的指数运算和模运算,将其加密为一个密文数据块;
密文合并:将加密后的密文数据块合并成最终的密文。
7.一种基于多核并行的多媒体文件混合加解密***,其特征在于,包括:
虚拟文件***VFS、FUSE内核驱动、基准文件***库FUSE Library以及加密文件***ParallelFS,所述FUSE内核驱动为FUSE虚拟文件***VFS、FUSE内核驱动以及基准文件***库FUSE Library提供通信接口;
基于所述通信接口,所述虚拟文件***VFS、FUSE内核驱动、基准文件***库FUSELibrary以及加密文件***ParallelFS用于执行权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410084058.2A CN117610060B (zh) | 2024-01-19 | 2024-01-19 | 一种基于多核并行的多媒体文件混合加解密方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410084058.2A CN117610060B (zh) | 2024-01-19 | 2024-01-19 | 一种基于多核并行的多媒体文件混合加解密方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117610060A CN117610060A (zh) | 2024-02-27 |
CN117610060B true CN117610060B (zh) | 2024-03-29 |
Family
ID=89956452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410084058.2A Active CN117610060B (zh) | 2024-01-19 | 2024-01-19 | 一种基于多核并行的多媒体文件混合加解密方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117610060B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834717A (zh) * | 2010-04-22 | 2010-09-15 | 哈尔滨理工大学 | 可扩展精度Logistic混沌序列的并行计算方法 |
CN102831359A (zh) * | 2012-07-02 | 2012-12-19 | 华南理工大学 | 一种便携式移动存储设备的加密文件*** |
CN105791853A (zh) * | 2016-03-04 | 2016-07-20 | 广东工业大学 | 一种h.264编码后加密的嵌入式视频混沌保密通信方法 |
CN105808977A (zh) * | 2014-12-30 | 2016-07-27 | Tcl集团股份有限公司 | 一种文件读操作、写操作的处理方法及装置 |
CN108462566A (zh) * | 2017-02-20 | 2018-08-28 | 沪江教育科技(上海)股份有限公司 | 一种多媒体文件加密方法及*** |
CN109325355A (zh) * | 2018-01-11 | 2019-02-12 | 白令海 | 基于虚拟磁盘的移动终端数据安全存储方法 |
CN111901301A (zh) * | 2020-06-24 | 2020-11-06 | 乾讯信息技术(无锡)有限公司 | 一种基于网络多媒体设备数据传输的安全防护***和方法 |
CN113094756A (zh) * | 2021-05-13 | 2021-07-09 | 统信软件技术有限公司 | 一种数据加密方法及计算设备 |
CN113672960A (zh) * | 2021-08-26 | 2021-11-19 | 北京中安星云软件技术有限公司 | 基于用户态文件***的数据库透明加解密实现方法及*** |
CN114756509A (zh) * | 2022-05-19 | 2022-07-15 | 北京百度网讯科技有限公司 | 文件***的操作方法、***、设备以及存储介质 |
CN115913560A (zh) * | 2022-09-08 | 2023-04-04 | 北京中宏立达科技发展有限公司 | 一种密件授权和使用的*** |
CN116961958A (zh) * | 2022-08-19 | 2023-10-27 | 中移(杭州)信息技术有限公司 | 一种数据加密方法、装置、电子设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2351288B1 (en) * | 2008-10-23 | 2014-12-10 | University Of Ulster | An encryption method |
-
2024
- 2024-01-19 CN CN202410084058.2A patent/CN117610060B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834717A (zh) * | 2010-04-22 | 2010-09-15 | 哈尔滨理工大学 | 可扩展精度Logistic混沌序列的并行计算方法 |
CN102831359A (zh) * | 2012-07-02 | 2012-12-19 | 华南理工大学 | 一种便携式移动存储设备的加密文件*** |
CN105808977A (zh) * | 2014-12-30 | 2016-07-27 | Tcl集团股份有限公司 | 一种文件读操作、写操作的处理方法及装置 |
CN105791853A (zh) * | 2016-03-04 | 2016-07-20 | 广东工业大学 | 一种h.264编码后加密的嵌入式视频混沌保密通信方法 |
CN108462566A (zh) * | 2017-02-20 | 2018-08-28 | 沪江教育科技(上海)股份有限公司 | 一种多媒体文件加密方法及*** |
CN109325355A (zh) * | 2018-01-11 | 2019-02-12 | 白令海 | 基于虚拟磁盘的移动终端数据安全存储方法 |
CN111901301A (zh) * | 2020-06-24 | 2020-11-06 | 乾讯信息技术(无锡)有限公司 | 一种基于网络多媒体设备数据传输的安全防护***和方法 |
CN113094756A (zh) * | 2021-05-13 | 2021-07-09 | 统信软件技术有限公司 | 一种数据加密方法及计算设备 |
CN113672960A (zh) * | 2021-08-26 | 2021-11-19 | 北京中安星云软件技术有限公司 | 基于用户态文件***的数据库透明加解密实现方法及*** |
CN114756509A (zh) * | 2022-05-19 | 2022-07-15 | 北京百度网讯科技有限公司 | 文件***的操作方法、***、设备以及存储介质 |
CN116961958A (zh) * | 2022-08-19 | 2023-10-27 | 中移(杭州)信息技术有限公司 | 一种数据加密方法、装置、电子设备和存储介质 |
CN115913560A (zh) * | 2022-09-08 | 2023-04-04 | 北京中宏立达科技发展有限公司 | 一种密件授权和使用的*** |
Non-Patent Citations (1)
Title |
---|
基于整数混沌和DNA编码的并行图像加密算法;胡辉辉 等;计算机工程与设计;20180816;第39卷(第08期);第2401-2406页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117610060A (zh) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kong et al. | Deconstructing new cache designs for thwarting software cache-based side channel attacks | |
Garmany et al. | PRIME: private RSA infrastructure for memory-less encryption | |
US9215067B2 (en) | Achieving storage efficiency in presence of end-to-end encryption using downstream decrypters | |
Xia et al. | TinMan: Eliminating confidential mobile data exposure with security oriented offloading | |
Varalakshmi et al. | Integrity checking for cloud environment using encryption algorithm | |
Bossi et al. | What users should know about full disk encryption based on LUKS | |
Che Fauzi et al. | On cloud computing security issues | |
Kumaresan et al. | Time-variant attribute-based multitype encryption algorithm for improved cloud data security using user profile | |
Zibouh et al. | Cloud computing security through parallelizing fully homomorphic encryption applied to multi-cloud approach | |
Dowdeswell et al. | The CryptoGraphic Disk Driver. | |
Shah et al. | Data-at-rest security for spark | |
CN113158210A (zh) | 数据库加密方法及装置 | |
McGregor et al. | Protecting cryptographic keys and computations via virtual secure coprocessing | |
Hu | Study of file encryption and decryption system using security key | |
CN117610060B (zh) | 一种基于多核并行的多媒体文件混合加解密方法及*** | |
Cunsolo et al. | Achieving information security in network computing systems | |
da Rocha et al. | Secure cloud storage with client-side encryption using a trusted execution environment | |
Priya et al. | Design and implementation of an algorithm to enhance cloud security | |
Sharma | Transcrypt: Design of a secure and transparent encrypting file system | |
Shrivastava et al. | Hybrid Confidentiality Framework for Secured Cloud Computing | |
Sharma et al. | Transcrypt: A secure and transparent encrypting file system for enterprises | |
Khashan et al. | Dynamic Multimedia Encryption Using a Parallel File System Based on Multi-Core Processors. Cryptography 2023, 7, 12 | |
Vliegen et al. | Hardware strengthening a distributed logging scheme | |
Karnakanti | Reduction of spatial overhead in decentralized cloud storage using IDA | |
Kayem et al. | Efficient enforcement of dynamic cryptographic access control policies for outsourced data |
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 |