安全之加密算法

安全之加密算法

一、加密概述

1.为什么需要加密?

  • 前端存储需避免直接明文保存敏感信息,如用户个人信息、权限标识及身份令牌等,以确保数据在客户端的安全性。

  • 线上环境的数据传输存在潜在风险,网络通信可能被拦截或窃取,导致用户敏感信息泄露。需通过加密技术保障传输数据的机密性,防止恶意攻击者获取平台用户数据。

  • 许多行业法规(如GDPR、HIPAA)要求对特定数据进行加密。未加密可能导致法律处罚或声誉损失。

  • 核心目标为在数据存储与传输环节确保机密性、完整性和可用性,防范敏感信息被非法访问、篡改或滥用,同时符合监管合规要求并建立用户对系统的信任基础。

2.加密算法的常用术语

  • 明文/密文
    • 明文:加密之前的内容,原始内容
    • 密文:加密之后的内容
  • 暗文:看不见 - 输入密码
  • 公钥/私钥
    • 公钥:可见的公共的钥匙
    • 私钥:不可见的私有的钥匙
  • 可逆/不可逆
    • 可逆:加密之后可解密
    • 不可逆:加密之后不可解密
  • 对称/非对称
    • 对称:使用同一个密钥进行数据的加密解密
    • 非对称:加密与解密使用不同的密钥,公钥与私钥
  • 数字签名:加密方第二次加密叫做数字签名
  • 签名认证:解密方第一次解密叫做签名认证
  • 盐值(Salt): 随机数据,与密码结合后再哈希,防止彩虹表攻击。常用于密码存储。

3.秘密等级

秘密等级通常用于政府、军事或企业文件,根据信息的敏感性和潜在危害程度划分。

  • 绝密(Top Secret):最高级别,泄露可能导致国家安全或利益遭受特别严重损害。
  • 机密(Secret):次高级别,泄露可能导致严重损害。
  • 秘密(Confidential):基础级别,泄露可能导致一般性损害。
  • 内部(Restricted):非公开信息,但未达到秘密级别。

不同国家的秘密等级差异

  • 美国:采用三级分类(Top Secret/Secret/Confidential),并附加"SCI"(敏感隔离信息)等子类。
  • 中国:依据《保守国家秘密法》分为绝密、机密、秘密三级,明确标注保密期限和解密条件。
  • 欧盟:部分国家使用"EU Confidential"等统一标准,但成员国可能保留本国分级制度。

接下来计算常用的加密算法

二、加密算法

1.消息认证码算法

特征 :用于验证消息的完整性和真实性,防止数据被篡改
实现 :HMAC-SHA256、OMAC、UMAC、CBC-MAC、PMAC、VMAC[Message Authentication Code]
作用:用于验证消息的完整性和真实性,防止数据被篡改

2.不可逆加密算法

不可逆加密算法通常指哈希算法,但二者并非完全等同。哈希算法是单向函数,设计初衷是确保数据无法逆向还原,常用于数据完整性验证和密码存储。传统加密算法(如AES、RSA)通常是可逆的,需要密钥解密。

特征 :只能加密不能解密
技术 :MD5、SHA-256、SHA-3
作用 :一般对登录密码处理,用于做密码比对
问题:只能加密,不能解密,不能用来对网络中传输的数据进行加密

哈希函数,也叫散列函数,把任意长度的数据,变成固定长度的"指纹"。

常见的哈希算法

  • SHA-256、SHA-3:区块链、数据完整性校验,用得最多。
  • MD5、SHA-1:老掉牙了,安全性不行,别用了!除非你真的没办法。
    MD5一些网站可以几秒钟的破解,尽量给个盐

应用

  • 数据完整性校验:下载文件后,算个哈希值,和官方提供的比对一下,
  • 就知道有没有被动过手脚。
  • 密码存储:别直接存明文密码!哈希一下,再加个盐,安全多了。
  • 数字签名:先对数据哈希,再对哈希值签名,提高效率。

3.可逆对称加密算法

特征

  1. 可以加密,也可以解密
  2. 加密和解密的密钥是同一个,网络可以拦截到密钥

实现 :DES,AES
作用 :对数据库密码进行加密
缺点:速度快,适合大量数据加密,但密钥分发是个问题。

算法

  • 密文为s,加解密算法为AES,秘钥为k,明文为c
  • 加密:s = AES(k,c)
  • 解密:c = AES(k,s)

应用

  • 数据传输安全:SSL/TLS协议在握手阶段使用对称加
  • 文件与磁盘加密: BitLocker、FileVault等工具使用AES算法加密整个磁盘或分区。
  • 数据库管理系统(如MySQL、PostgreSQL)支持透明数据加密(TDE)

问题

  1. 根据密钥和数据可以解密数据,那么数据不安全
  2. 网络可以拦截到密钥后根据密钥加密其他数据,伪造数据发送给接收方,数据不安全

4.可逆非对称加密算法

特征

  1. 可以加密,也可以解密
  2. 加密和解密的密钥不是同一个。但是是成对出现的。一个私钥就对应一个公钥。如果使用私钥加密,

只能使用与之对应公钥来解密。反之如果使用公钥加密,只能使用与之对应私钥解密

实现 :RSA,RSA2[支付宝签名采用RSA2算法]
作用 :网络传输中对数据进行加解密
问题

  • 速度比对称加密慢。
  • 密钥长度有讲究,太短不安全,太长影响性能。

应用

  • 数字签名与身份验证:私钥签名、公钥验签确保数据完整性和来源真实性,广泛应用于SSL/TLS证书、文档签名等场景。
  • 安全协议集成: SSL/TLS:非对称加密用于握手阶段交换密钥,如RSA或ECDHE。
  • ECDH(椭圆曲线Diffie-Hellman)等算法通过非对称机制安全协商共享密钥,避免密钥直接传输。

算法

  • 密文为s,加解密算法为RSA私钥为k1,公钥为k2,明文为c
    第一组:私钥加密公钥解密
    加密:s = rsa(k1,c)
    解密:c = rsa(k2,s)
    第二组:公钥加密私钥解密
    加密:s = rsa(k2,c)
    解密:c = rsa(k1,s)

注意

  1. RSA可以只加密一次,但是加密一次不安全,因为可以被伪造
  2. 真正的RSA要加密两次,解密两次,第一次加密和解密并不是真正的数据,而是数字签名和签名认证/确认身份

加密一次
加密二次 :都是先通过自己的公钥加解密,然后再通过对象的私钥加解密

小结:

本文粗浅介绍了各大加密算法几大类型,不可逆加密(如SHA-256)适用于密码存储和完整性校验,需结合盐值提升安全性;对称加密(如AES)效率高但需解决密钥分发问题;非对称加密(如RSA)通过公私钥机制实现安全通信,但性能较低。实际应用中常采用混合策略,例如TLS协议结合非对称加密交换密钥,再切换至对称加密传输数据。

关键点

  • 哈希算法:单向性设计确保密码存储安全,需避免使用MD5等弱算法。
  • 对称加密:适合处理大量数据,但密钥管理需通过安全信道或密钥派生技术。
  • 非对称加密:解决密钥交换问题,支持数字签名和身份认证。
  • 合规性:根据不同场景选择符合行业标准(如FIPS 140-2)的算法实现。

文章结束,写作不易,喜欢就给个一键三连吧,你的肯定是我最大的动力,点赞上一千我就是脑瘫也出下章。

相关推荐
wadesir5 小时前
掌握Rust并发数据结构(从零开始构建线程安全的多线程应用)
数据结构·安全·rust
携欢6 小时前
POrtSwigger靶场之Exploiting XXE using external entities to retrieve files通关秘籍
网络·安全·github
菩提小狗6 小时前
小迪安全笔记_第4天|扩展&整理|30+种加密编码进制全解析:特点、用处与实战识别指南|小迪安全笔记|网络安全|
笔记·安全·web安全
94620164zwb57 小时前
数据备份模块 Cordova 与 OpenHarmony 混合开发实战
安全
秋4277 小时前
防火墙基本介绍与使用
linux·网络协议·安全·网络安全·架构·系统安全
sweet丶8 小时前
扩展了解DNS放大攻击:原理、影响与防御
网络协议·安全
acrelgxy8 小时前
看不见≠不存在,更不等于安全!故障电弧探测器,让隐形危险现出原形。
安全·电力监控系统·智能电力仪表
老赵聊算法、大模型备案9 小时前
新规解读:2025 年修正版《中华人民共和国网络安全法》核心变化解读
安全·web安全
360安全应急响应中心9 小时前
iOS安全开发中的Frida检测
安全·逆向