首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏架构师高级俱乐部

    .Net 5中使用AES-GCM

    有着广泛的应用,配合上GCM模式,能够为数据的保密性、完整性、真实性提供全面的支持 更多信息可参阅:https://juejin.cn/post/6844904122676690951 .Net 5 AES-GCM

    1.1K10编辑于 2022-04-27
  • 来自专栏Go学习

    对比 AES-GCM 和 3DES

    在对称加密算法中,AES-GCM 和 3DES 是两种综合性能和历史都算有代表性的算法。本文将从安全性、性能、应用场景等综合综吁解析,全面对比这两种对称加密算法。 1、概述对比属性 AES-GCM 3DES 加密方式 块加密 + 认证 (AEAD)三次 DES 加密 块大小 128 位 64 高 弱(已有攻击方法) 推荐状态 强烈推荐 已弃用 适合平台 环境新,Web/API/TLS遗留系统/经典程序 2、安全性对比AES-GCM 本地文件加密 AES-GCM 遥程设备 / 移动端 ChaCha20-Poly1305老经程序选择 3DES (COPAT ONLY )5、在 Golang 中使用 AES-GCMGo 标准库对 AES-GCM 提供了良好支持。

    63510编辑于 2025-06-02
  • 来自专栏FreeBuf

    如何使用gohide利用AES-GCM加密模糊信道中的端到端流量

    关于gohide gohide是一款功能强大的网络通信数据加密工具,该工具可以通过一个模糊信道来对信道中的端到端数据进行AES-GCM加密。 Sec-WebSocket-Key”(websocket-client) 4、WebSocket握手“Sec-WebSocket-Accept”(websocket-server) 5、none-无混淆,仅使用AES-GCM 加密消息 默认配置下,gohide将针对上述每一个选项启用AES-GCM加密。 /gohide (向右滑动、查看更多) 混淆样例 websocket-client(Box A到Box B) Sec-WebSocket-Key包含AES-GCM加密内容: GET Sec-WebSocket-Accept: URrP5l0Z3NIHXi+isjuIyTSKfoP60Vw5d2gqcmI= (向右滑动、查看更多) http-client 会话Cookie头包含AES-GCM

    1.6K20编辑于 2022-11-14
  • 来自专栏Juicedata

    JuiceFS 数据加密原理

    JuiceFS 在客户端加密中采用了行业标准的加密方式(AES-GCM 和 RSA)。加密和解密是在 JuiceFS 客户端进行的。 数据用对称密钥 S 进行 AES-GCM 加密,S 用全局 RSA 密钥 M 进行加密,RSA 密钥使用用户指定的口令进行加密。 基于 AES-GCM 使用 S 和 N 对每个块进行加密。 使用 RSA 密钥 M 对对称密钥 S 进行加密得到密文 K 。 将加密后的数据、密文 K 和随机种子 N 组合成对象,然后写入对象存储。 基于 AES-GCM 使用 S 和 N 解密数据得到数据块明文。 对数据块解压缩。 密钥管理 在启用加密功能时,RSA 密钥的安全是极其重要的。如果密钥被泄露,可能会导致数据泄露。

    1K20编辑于 2021-12-27
  • 来自专栏数安视界

    基于ECC-ECDH的密钥交换机制

    我的公众号:密码学人CipherHUB 本文描述一种客户端-服务器加密通信方案,核心流程结合临时ECDH密钥交换、HKDF密钥强化、AES-GCM数据加密三阶段技术栈。 采用HKDF处理SharedSecret DerivedKey = HKDF(SharedSecret, Salt, AdditionalInfo) - 敏感数据(SecretPlain)使用AES-GCM AES-GCM解密验证: SecretPlain = AES-GCM-Decrypt(DerivedKey, Cipher, Tag) 失败条件:标签验证不通过时立即丢弃数据(抵抗篡改攻击)。 设计思想 现代密码学分层设计思想: 非对称层:ECDH提供密钥协商(临时密钥实现前向保密) 转换层:HKDF消解算法耦合,输出标准化密钥 对称层:AES-GCM实现高速保密通信undefined

    45521编辑于 2025-06-27
  • 来自专栏数安视界

    ChaCha20-Poly1305 算法介绍

    ChaCha20 使用代码示例以及与 AES 的性能对比在Macbook M2 Max 笔记本上的性能测试结果:AES-GCM 更快可能是因为 M2 CPU 对 AES 做了硬件级优化。 完整测试代码:from __future__ import annotations"""AES-GCM 256 与 ChaCha20-Poly1305 加密算法对比演示该脚本演示了两种现代认证加密算法的使用 使用密钥初始化 AES-GCM 3. 用 nonce 和关联数据加密数据 4. 的标准推荐长度) nonce = os.urandom(12) # 创建 AES-GCM 密码器实例 aes_gcm = AESGCM(key) # 加密操作:使用 篡改测试 tampering("AES-GCM" , aes_gcm_256 , aes_nonce , aes_ciphertext , associated_data) tampering

    2.1K23编辑于 2025-06-02
  • 来自专栏数安视界

    ChaCha20 vs AES:当加密算法遇上TLS1.3的安全铁拳

    AES-GCM: 也是AES家族的,但它换了新思路,它用“计数器”(CTR)模式模拟“流水线”(流式),关键还自带防拆封功能(集成认证:GHASH)。相当于装了智能锁,速度快还带报警。 附完整测试代码: from __future__ import annotations """ AES-GCM 256 与 ChaCha20-Poly1305 加密算法对比演示 该脚本演示了两种现代认证加密算法的使用 使用密钥初始化 AES-GCM     3. 用 nonce 和关联数据加密数据     4. associated_data: 关联数据(进行认证但不加密)     返回:         解密后的原始数据(用于验证算法正确性)     """     # 生成随机 nonce (96位,这是AES-GCM 的标准推荐长度)     nonce = os.urandom(12)     # 创建 AES-GCM 密码器实例     aes_gcm = AESGCM(key)     # 加密操作:使用

    1.7K22编辑于 2025-06-08
  • 来自专栏最新Python入门基础合集

    Python AES加密详解与实践

    Crypto.Random import get_random_bytes from Crypto.Util.Padding import pad import base64 # 生成随机的密钥(对于AES-GCM GCM中的IV被称为nonce,不需要保密,但必须确保唯一) nonce = get_random_bytes(16) # 生成一个16字节的nonce # 明文数据 plain_text = "AES-GCM encode('utf-8') # AES-GCM不需要传统的填充,但我们可以使用pad函数以确保与可能的其他加密模式兼容(尽管在这里是多余的) # 注意:对于GCM,实际上应该直接加密原始明文,不需要填充 我们还是使用它 padded_data = pad(plain_text, AES.block_size) # 但GCM模式下这步是多余的 # 由于GCM模式下不需要填充,我们直接加密原始明文 # 创建AES-GCM ,必须随密文一起发送或存储 输出结果: 加密后输出: FwPwETBk5pxUyKPQ8iOQReBHUS2inee//aaKDlumHoj32olJRqMLTWaaWImJwQ== 解密后输出: AES-GCM

    2.5K10编辑于 2024-11-20
  • 来自专栏Tech Explorer

    现代密码学实践指南[2015年]

    NaCl库,或者libsodium库,使用里面的crypto_secretbox()/crypto_secretbox_open() 函数 (2) Chacha20-Poly1305 算法 (3) AES-GCM AES-GCM是工业标准(TLS目前主要用的就是AES-GCM),现代CPU通常都有专门为AES-GCM设计的硬件指令,但是在没有硬件指令支持的CPU上(比如32位的arm),(3)性能低于(2)。 这些漏洞中的大部分,其影响都可以被减轻,只需要你在代码和配置里面写死 TLS v1.2, ECDHE,和 AES-GCM就行。 这听起来很棘手,但是这远远没有你自己设计使用ECDHE和AES-GCM的传输协议棘手。 在一个自定义的传输协议的场景中,你并不需要依赖CA,你可以用一个自签名证书,嵌入到你的客户端里面。 AES-GCM AES-GCM是一种AEAD,是目前TLS的主力算法,互联网上https流量的大部分依赖使用AES-GCM。 6.

    1.4K20发布于 2021-06-25
  • 来自专栏小谈谈的专栏

    雷池社区版动态防护功能小测

    未加密时,页面渲染时间图: 开启动态防护,页面渲染时间图: 前端界面算法分析,断点调试,发现加密算法为 AES-GCM。 在前端代码中,定义了 encrypted(加密数据),以及 tag,raw_key 和 iv(与 AES-GCM 相关)。 var encrypted var tag var raw_key var iv // 解密 var decipher = forge.cipher.createDecipher("AES-GCM", 参考资料 长亭科技 T1K 文档 AES-GCM 加密简介 文章作者: 小谈谈 文章链接: https://www.txisfine.cn/archives/ae22a391.html 版权声明: 本博客所有文章除特别声明外

    45400编辑于 2024-06-07
  • 来自专栏张绍文的专栏

    基于 TLS 1.3的微信安全通信协议 mmtls 介绍(下)

    mmtls 经过综合考虑,选择了使用 AES-GCM 这种 AEAD 类算法,作为协议的认证加密组件,而且 AES-GCM 也是 TLS1.3 要求必须实现的算法。 3.3.2 密钥扩展 TLS1.3 明确要求通信双方使用的对称加密 Key 不能完全一样,否则在一些对称加密算法下会被完全攻破,即使是使用 AES-GCM 算法,如果通信双方使用完全相同的加密密钥进行通信 做加密,以及 Client 解密) Client Write IV (Client 加密时使用的初始化向量) Server Write IV (Server 加密时使用的初始化向量) 当然,使用 AES-GCM 可以将 sequence number 作为明文的一部分,使用 AES-GCM 进行认证加密,明文变长了,不可避免的会增加一点传输数据的长度。 实际上,mmtls 的做法是将 sequence number 作为构造 AES-GCM 算法参数 nonce 的一部分,利用 AES-GCM 的算法特性,只要 AES-GCM 认证解密成功就可以确保

    10.3K10发布于 2017-07-21
  • 来自专栏Bypass

    Shiro高版本默认密钥的漏洞利用

    注意:在Shiro1.4.2版本后,Shiro的加密模式由AES-CBC更换为 AES-GCM,Shiro高版本下的漏洞利用,就需要考虑加密模式变化的情况。 02、漏洞利用 为了减少手工构造生成反序列化数据的繁琐,这里,我们使用一个Shiro反序列化利用工具,python编写,而且作者增加了AES-GCM加密方式的漏洞利用支持,可以很方便地进行修改和参数构建

    3.5K70编辑于 2021-12-13
  • 来自专栏数安视界

    本地文件加密能力实现:基于现代密码学的安全实践

    HKDF提供密钥拉伸,抵御暴力破解攻击 ● 固定盐值确保密钥派生的一致性 加密流程详解 分块加密策略 系统采用4MB分块加密,平衡性能与内存安全: 安全特性: ● 每数据块独立nonce,防止重放攻击 ● AES-GCM AES-GCM自动生成认证标签 b. 解密时验证标签有效性 3. 元数据完整性 a. JSON格式结构化存储 b.

    36020编辑于 2025-10-09
  • 来自专栏晓晨的专栏

    .NET Core AES-CCM&AES-GCM加密算法

    .NET Core 3.0 实现了对AES-GCM和AES-CCM加密的支持。这些算法既是带有关联数据的身份验证加密(AEAD)算法,也是添加到.NET Core的第一个身份验证加密(AE)算法。

    2.3K10发布于 2019-12-12
  • 多端即时通讯源码开发指南:从零搭建安全C-S-C架构 [含im源码下载]

    )updateUserStatus(msg.user);  };  五、安全设计:加密与认证  5.1传输层加密  •TLS/SSL:所有通信基于wss://协议  •端到端加密(可选):  //使用AES-GCM 加密(浏览器环境)  const key=await crypto.subtle.generateKey({name:"AES-GCM",length:256},true);  const encrypted =await crypto.subtle.encrypt({name:"AES-GCM",iv:iv},key,data);  5.2身份认证与授权  JWT令牌方案:  //Node.js生成令牌  

    49110编辑于 2025-08-21
  • 来自专栏FunTester

    Go 语言中的加解密实战指南

    探索 AES-GCM 的认证加密 AES-GCM(Galois/计数器模式)是一种高级加密模式,兼顾数据机密性、完整性和真实性。 以下是一个完整的示例,展示如何使用 AES-GCM 进行加密和解密。

    27910编辑于 2025-10-21
  • BUUCTF [UTCTF2020]basic-forensics 1

    xleftrightarrow{\text{TLS1.3}} & \text{漏洞星球} \\ & \Updownarrow & \\ \text{云安全智库} & \xrightarrow{\text{AES-GCM

    27210编辑于 2025-08-18
  • 如何安全使用localStorage保护敏感数据

    data) { // 使用Web Crypto API生成唯一加密密钥 const key = await crypto.subtle.generateKey( { name: "AES-GCM new Uint8Array(12)); // 加密数据 const encryptedData = await crypto.subtle.encrypt( { name: "AES-GCM

    57700编辑于 2025-08-09
  • 手游APP如何抵御恶意攻击,又有哪些注意事项

    text{请求次数}}{\Delta t} \leq \text{阈值} $$)数据存储:敏感信息脱敏存储(如$ \text{手机号} \to \text{138****5678} $)数据库字段加密(AES-GCM

    2100编辑于 2026-05-13
  • 来自专栏数安视界

    30分钟搞定AES系列(上):基础特性

    CBC与GCM的对比AES-GCM可以并行加密解密,AES-CBC的模式决定了它只能串行地进行加密。 因为加密是耗时较久的步骤,且加密的方式是相同的,所以并行地实现AES-GCM算法的时候,其效率是高于AES-CBC的。AES-GCM提供了GMAC信息校验码,用以校验密文的完整性。 AES-CBC没有,无法有效地校验密文的完整性;AES-GCM是流加密的模式,不需要对明文进行填充。 AES-CBC是块加密的模式,需要对明文进行填充(AES-GCM中进行AES加密的是counter,AES-CBC中进行AES加密的是明文块)。

    7.2K3221编辑于 2022-11-30
领券