首页 > 其他分享 >文件传输加密

文件传输加密

时间:2024-04-02 12:03:52浏览次数:32  
标签:文件 公钥 加密 文件传输 密钥 非对称 加密算法

文件传输加密(原理)


文章目录

背景介绍

一般的文件传输都是通过用户将文件上传到服务器,然后服务器传输到数据库中保存,当再次需要查阅该文件时只需要在数据库中查找,就可以将文件返回给查阅用户,下面是一般文件上传流程示意图:

在这里插入图片描述

文件传输示意图

但在此过程中,用户的文件容易受到窃听、篡改等攻击,如果是秘密文件受到攻击后造成的损失将难以预料,不单单是文件其他数据也是如此。目前信息时代数据就等于黄金,但是只要你连接网络,黑客攻击无时无刻不存在,如何保护数据安全就是首要考虑的任务,由此诞生出网络的数据加密方法。现如今数据在网络之间的加密传输变成重中之重。目前常用的加密方法由对称加密算法、非对称加密算法等。这些算法在网络文件传输中被广泛运用,本文就以这些加密算法来探讨如何对传输的文件进行加密保护。

加密算法

1、对称加密算法(Symmetric-key algorithm):对称加密算法是一种高效且简单的加密技术,其加密和解密过程使用相同的密钥。发送方使用密钥将明文转换为密文,接收方则使用相同的密钥解密密文以获取原始明文数据。尽管其操作简单直观,但对称加密的安全性高度依赖于密钥的安全管理。这种算法在数据传输和存储等各种场景中广泛应用,但密钥的安全性仍然是关键所在。

在这里插入图片描述

对称加密图示

常见的对称加密算法有AESChaCha203DESSalsa20DESBlowfishIDEARC5RC6Camellia

2、非对称加密算法(Asymmetric Encryption Algorithm):非对称加密算法(也称为公钥加密算法)是一种安全的加密技术,使用一对密钥来加密和解密数据,分别称为公钥和私钥。发送方使用接收方的公钥加密数据,而接收方使用其私钥解密数据。这种算法具有较高的安全性,因为加密和解密使用不同的密钥,同时简化了密钥管理,因为只需保密私钥即可。虽然计算成本较高,但非对称加密算法在数据传输和数字签名等领域广泛应用,为信息安全提供了重要保障。

在这里插入图片描述

非对称加密图示

常见的非对称加密算法有:RSAElGamal、Rabin(RSA的特例)、DSAECDSA。使用最广泛的是RSA算法(由发明者Rivest、Shmir和Adleman姓氏首字母缩写而来)是著名的公开秘钥加密算法。

运用算法(非对称加密算法)

1.所有我们能使用这些算法对文件进行加密操作,首先用户选择将文件上传到web端这个过程一般是点击按钮选择文件阶段所以无需加密,当用户选择文件后,web服务器端马上向后端服务器请求公钥,服务器接收到请求后将公钥发送给前端

在这里插入图片描述

用户上传文件以及公钥请求图示

2.然后前端web服务器接收到公钥之后对数据进行加密操作,加密完成后将文件发送到后端服务器,此即完成了文件的加密

在这里插入图片描述

公钥加密文件传输图示

​ 但是真的就如此简单吗,我们看非对称加密算法的过程便可知,非对称加密算法计算成本较高,因此不适合对文件进行加密因为文件对于该算法来说太大了,会出现加密报错。非对称加密算法适用于消息数据收发,密码传输加密或者较小文件等。那么我们传输大文件或者一般文件怎么办?---->对称加密算法就非常适合,但是传输不安全----->密钥一样,密钥管理困难,密钥分发困难,密钥传输容易遭受攻击。 因此解决对称加密密钥传输就可以用对称加密进行文件传输了。

​ 所以我们想到了使用非对称加密算法加密对称加密算法的密钥,对称加密算法加密文件,然后将加密后的文件和密钥同时传送到后端,后端使用私钥对对称加密算法密钥进行解密后,使用解密后的密钥对文件进行解密即可,这样即解决了文件不适合非对称加密算法加密,对称加密算法不安全的问题

算法进阶运用(对称加密+非对称加密算法)

第一步还是和之前一样,文件上传,然后web服务器向后端服务器请求公钥,后端服务器发送公钥文件

在这里插入图片描述

用户上传文件以及公钥请求图示

然后web端生成密钥(对称加密密钥),将文件进行对称加密,然后使用公钥对生成的密钥进行加密,然后将新的文件流(加密文件+加密密钥)传输到后端

在这里插入图片描述

web端生成密钥加密文件以及密钥加密传输图示

这样就完成了整个文件的加密传输流程,且能够安全的传输大文件

​ 在整个传输流程中,如果担心文件完整性被破坏,也可以引入MD5检测,MD5检测是一种无密钥检测,可以进行文件的完整性检测,此外还可以进行更加深入的加密,比如将传输流换成HTTPS传输也可以更加巩固传输加密。

标签:文件,公钥,加密,文件传输,密钥,非对称,加密算法
From: https://blog.csdn.net/m0_63224448/article/details/137248801

相关文章

  • 【图像加密】基于RSA实现灰色、彩色图像加密解密(含秘钥)附Matlab代码
     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。......
  • php采用aes算法,字符编码utf8,填充模式ECB,填充:ZeroPadding,编码:base64,实现加密
    原文:https://blog.csdn.net/yinxinyue0621/article/details/129813334一、php:三种填充模式的区别(PKCS7Padding/PKCS5Padding/ZeroPadding)(一)常见的三种填充方式:我们知道某些加密算法要求明文需要按一定长度对齐,叫做块大小(BlockSize),比如16字节,那么对于一段任意的数据,加密前需要......
  • https安全性 带给im 消息加密的启发
    大家好,我是蓝胖子,在之前#MYSQL是如何保证binlog和redolog同时提交的?这篇文章里,我们可以从mysql的设计中学会如何让两个服务的调用逻辑达到最终一致性,这也是分布式事务实现方式之一。今天来看看我们能够从httpsd设计中得到哪些启发可以用于业务系统开发中。https原理分析首先......
  • SM4加密
    org.bouncycastle.jce.provider.BouncyCastleProvider;org.bouncycastle.pqc.math.linearalgebra.ByteUtils;javax.crypto.Cipher;javax.crypto.spec.SecretKeySpec;java.security.Key;java.security.Security;/*入参:str:EPIDEMIC_KEY*/StringENCODING="UTF-......
  • 抖音X-Bogus加密解析(全网最快)
     前言:    想着偷个懒,还是发现有想学习技术的兄弟,商量着把这个抖音的逆向给干一下,这个我都把要补的环境贴出来了,照着写上去不会嘛。有关xb的教学基本随处可见,苦思冥想后,还是暂时出一期教学,我们搞快点!直接一步写到位。                       ......
  • 加密软件VMProtect教程:使用脚本-功能
    VMProtect是新一代软件保护实用程序。VMProtect支持德尔菲、BorlandCBuilder、VisualC/C++、VisualBasic(本机)、VirtualPascal和XCode编译器。同时,VMProtect有一个内置的反汇编程序,可以与Windows和MacOSX可执行文件一起使用,并且还可以链接编译器创建的MAP文件,以快速选择......
  • 常见网络数据加密方式
    常见网络数据加密方式1.0单向散列加密这种加密方式的典型是MD5加密,优点:方便存储,损耗低缺点:存在暴力破解的可能散列加密的特点就是从明文到密文的不可映射性,导致我们无法根据加密算法设计出解密算法这种加密的解密方式就是明文到密文,密文有了,就可解密,复杂一点的密文解密可能......
  • CTF中各类加密密文区别
    收集CTF-MISC中常见的密码种类base16字典中包含0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、Fbase32打印字符大写字母(A-Z)和数字234567base36使用0–9和拉丁字母A–Z表示数字。base58数字、大写字母、小写字母,去除歧义字符0(零)、O(大写字母O)、I(大写字母i)、l......
  • 基于DWT(离散小波变换)的图像加密水印算法,Matlab实现
           博主简介:专注、专一于Matlab图像处理学习、交流,matlab图像代码代做/项目合作可以联系(QQ:3249726188)       个人主页:Matlab_ImagePro-CSDN博客       原则:代码均由本人编写完成,非中介,提供有偿Matlab算法代码编程服务,不从事不违反涉及学术原则......
  • openGauss 数据加密存储
    数据加密存储可获得性本特性自openGauss1.1.0版本开始引入。特性简介提供对导入数据的加密存储。客户价值为客户提供加密导入接口,对客户认为是敏感信息的数据进行加密后存储在表内。特性描述openGauss提供加密函数gs_encrypt_aes128()、gs_encrypt()和解密函数gs_decrypt......