首页 > 其他分享 >使用非对称加密加密文件

使用非对称加密加密文件

时间:2024-04-23 17:23:57浏览次数:22  
标签:文件 enc 加密 firmware openssl pem passphrase 非对称

概述

通常,非对称加密有较低的性能,如果对大文件直接使用非对称加密可能导致高负载和高耗时(过大的文件还有可能出现报错 RSA_padding_add_PKCS1_type_2: data too large for key size)。

因此对于大文件的加密,一般使用密码短语(passphrase)进行加密,然后使用非对称加密来加密密码短语(passphrase

POC

生成随机待加密文件

dd if=/dev/urandom of=firmware bs=1M count=10

生成 RSA 密钥对

openssl genrsa -out private.pem 2048
openssl rsa -in private.pem -pubout -out public.pem

打包并加密文件

其中:

  • 密码短语使用 openssl 随机生成
  • 文件加密使用 pbkdf2 算法,并对密码加盐处理
firmware=./firmware
passphrase=$(openssl rand -base64 32)
tar -czPf - ${firmware} | openssl enc -e -pbkdf2 -a -salt -k ${passphrase} | dd of=firmware.tar.gz.enc
echo ${passphrase} | openssl rsautl -encrypt -pubin -pubin -inkey public.pem -out passphrase.enc

解密和解包

其中:

  • 密码短语通过私钥解密
  • 文件通过与加密相同的 pbkdf2 算法解密
passphrase=$(openssl rsautl -decrypt -inkey private.pem -in passphrase.enc)
dd if=firmware.tar.gz.enc | openssl enc -d -pbkdf2 -a -salt -d -k ${passphrase} | tar -zxPf -

标签:文件,enc,加密,firmware,openssl,pem,passphrase,非对称
From: https://www.cnblogs.com/sangria/p/18153328

相关文章

  • cmd命令行运行Java文件产生乱码问题的解决方式
    1.第一种方式(改变记事本的编码集为ANSI)另存为ANSI 这样就OK啦2.第二种方式 改变cmd编码集 javac-encodingutf8 源文件名.java ......
  • 使用@MultipartConfig上传图片文件
    @MultipartConfig是JavaServletAPI的一部分,主要用于处理HTTP的multipart/form-data类型的请求,这种请求通常用于文件上传。当你在Servlet或JSP页面中使用@MultipartConfig时,你告诉容器这个Servlet或JSP页面将处理文件上传。@MultipartConfig(location="C:/Users/Administrator......
  • 根据文件的逻辑块号判断索引块的地址类型
    混合索引节点法是操作系统管理文件的其中一种方法,混合索引节点包括直接索引地址以及多级间接索引地址(比如:一级间接索引地址、二级间接索引地址……)。每个文件对应一个索引节点,每个索引节点由多个地址构成,这些地址包括上述提到的直接索引地址和多级间接索引地址,这些索引地址指向不......
  • 什么是最优物理隔离文件导出导入解决方案,来看看吧!
    企业进行物理隔离的主要原因是为了提高安全性,减少安全风险。物理隔离通常指的是将网络或系统中的关键部分与外界断开直接连接,以增强安全性。在企业环境中,这通常意味着将内部网络(内网)与外部网络(如互联网,即外网)隔离开来,防止未授权的访问和潜在的网络攻击。物理隔离文件导出通常涉及......
  • 如何有效地进行汽车制造业文件共享,一文了解!
    随着数字化转变,企业的业务文件大多通过电子形式在内外部流转。这增加了外发文件数据泄露或被篡改的风险,如何保护外发文件安全已成为企业不容忽视的课题。其中汽车制造业是一个高度依赖文件共享与协作的行业,涉及设计图纸、技术文件、供应链管理等多个环节。以下是一些汽车制造业文......
  • 如何通过文件外发管理系统,保护企业机密数据不外泄?
    在互联网时代,企业与外界进行频繁的信息沟通已成为必要的一种业务模式,而在交互的过程中很可能会涉及到企业的相关敏感信息,一旦不慎流出就将会面临失控的风险。像员工在掌握了公司的关键信息后另起炉灶,设立同类型公司,成为“老东家”的竞争对手;不法企业以高薪为诱饵,招募权利人软件开......
  • 公司文件如何加密?
    在数字化办公的今天,公司文件的加密不仅是保护企业机密的重要措施,也是维护企业竞争力的必要手段。通过使用专业的数据安全解决方案,比如华企盾DSC数据防泄密系统,企业可以有效地对文件进行加密,确保数据安全。加密方式及其特点华企盾DSC系统提供了多种加密模式,包括但不限于:智能......
  • Web3核心概念解析:区块链、加密货币、DApp和智能合约
    Web3是指第三代互联网,它是由区块链技术和加密货币驱动的新一代互联网。在Web3中,用户可以更加安全、透明和去中心化地进行交互和传输价值。为了更好地理解Web3,我们需要了解一些核心概念。 区块链:区块链是一种分布式的、不可篡改的数据库,它以块的形式存储交易记录。每个块都包......
  • 在Linux中,如何创建、移动和删除文件和文件夹?
    在Linux中,创建、移动和删除文件和文件夹是基本的文件操作任务,通常使用命令行界面(CLI)来完成。以下是一些常用的命令来执行这些操作:1.创建文件和文件夹创建空文件:touchfilename.txt这将创建一个名为filename.txt的空文件。创建多个文件:touchfile1.txtfile2.txtfile3......
  • 在Linux中,如何查看文件内容?列出几种方法。
    在Linux中,有多种方法可以查看文件内容。以下是几种常用的方法:1.cat命令cat命令用于连接并显示文件的内容。如果文件不大,可以直接使用cat命令查看整个文件内容。catfilename如果文件很大,cat命令会将整个文件内容输出到终端,这可能导致终端滚动非常快,不易阅读。为了解决......