首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏vanguard

    AEAD 认证加密

    AEAD stands for Authenticated Encryption with Associated Data. AEAD ciphers simultaneously provide confidentiality, integrity, and authenticity. Users should use AEAD ciphers whenever possible. AEAD 产生的原因很简单,单纯的对称加密算法,其解密步骤是无法确认密钥是否正确的。 12 16 AEAD_AES_256_GCM aes-256-gcm 32 32 12 16 AEAD_AES_192_GCM aes-192-gcm 24 24 12 16 AEAD_AES_128

    3.8K70发布于 2020-03-17
  • 来自专栏owent

    理解和适配AEAD加密套件

    什么是AEAD 按照维基百科的说法。 AEAD的全称是Authenticated encryption (AE) and authenticated encryption with associated data (AEAD, variant 然后AEAD就是在AE的基础上,增加一些自定义数据,用于防止猜解。 既然已经有了,那么我就往这里面加入了AEAD的支持。区分加密套件是否是AEAD的类型,并且统一成一个易用的接口。 AEAD算法比原来的接口多一个associated data的参数和一个tag的参数。所以我另外加了两个接口( encrypt_aead 和 decrypt_aead )专门用于AEAD的加解密。

    5.9K20发布于 2018-08-01
  • 来自专栏数安视界

    AEAD 拯救你的数据安全

    这就是非 AEAD加密模式的致命缺陷:只管加密,不防篡改。 为什么加密不等于安全? 划重点:什么是AEADAEAD is awesome!" Nonce(编号)防重放攻击 当前支持AEAD的加密算法 目前超过90%的HTTPS流量使用AES-GCM或ChaCha20-Poly1305,而TLS 1.3更是强制使用AEAD技术! 虽然AEAD提供终极防护,但如果实现不当(如密钥泄漏或随机数重用),仍然可能导致各种数据风险,因此,AEAD不是银弹,因为黑客从不攻击算法本身,而是寻找人犯错留下的缝隙。

    72921编辑于 2025-06-04
  • 来自专栏DPDK VPP源码分析

    learning:vpp crypto 框架介紹

    ipsecmb native* openssl ipsecmb* openssl aead-decrypt ipsecmb native* * openssl aead-decrypt ipsecmb native* openssl ipsecmb* openssl aes-256- gcm aead-encrypt ipsecmb native* openssl ipsecmb* openssl aead-decrypt aead-encrypt openssl* openssl* aead-decrypt openssl* * aead-decrypt openssl* openssl* chacha20-poly1305 aead-encrypt

    1.7K10编辑于 2023-12-19
  • 来自专栏OpenIM

    TLS协议分析 (三) record协议

    GCM模式是AEAD的,所以不需要MAC算法。 GCM模式是AEAD的一种,AEAD 的 作用类似于 Encrypt-then-HMAC ,例如 Sha256 + Salt + AES + IV 此处需要介绍一个陷阱。 4.7. record层的密码学保护— AEAD cipher AEAD 到了我们重点关注的AEADAEAD是新兴的主流加密模式,是目前最重要的模式,其中主流的AEAD模式是 aes-gcm-128/ 并且规定 N_MAX小于8字节的AEAD不得用于TLS。 AEAD输入的明文就是 TLSCompressed.fragment (记得上面的介绍吗?AEAD是MAC和encrypt的集成,所以输入数据不需要在算MAC了).

    1.8K30发布于 2021-09-06
  • 来自专栏硬核项目经理的专栏

    PHP的Sodium加密扩展函数了解

    AEAD_AES_256_GCM 加解密 首先是这个 AEAD_AES_256_GCM 加解密能力函数的应用。 (见文末参考文档中第二条链接) $data = '测试加密'; // 原始数据 $nonce = random_bytes(SODIUM_CRYPTO_AEAD_AES256GCM_NPUBBYTES) ; // 加密证书的随机串,加密证书的随机串 $ad = 'fullstackpm'; // 加密证书的随机串 $kengen = sodium_crypto_aead_aes256gcm_keygen (); // 密钥 // 是否可用 echo sodium_crypto_aead_aes256gcm_is_available(), PHP_EOL; // 1 // 加密 $pem = sodium_crypto_aead_aes256gcm_encrypt sodium_crypto_aead_aes256gcm_encrypt() 加密生成的内容也是二进制的内容,所以相对来说也是非常安全的一种加密形式。

    2K20发布于 2020-12-14
  • 来自专栏数安视界

    深入解析HPKE:从手动实现到标准库实践

    AEAD(带认证的加密) 使用对称算法(如AES-GCM-256)加密数据基于ECDH密钥交换模拟HPKE运行机制本地密钥生成:KEM实现:HPKE 密钥协商:加解密封装:模拟 HPKE 的运行逻辑:运行效果 plaintext.decode()}')print(f'plain hash:{hashlib.sha256(plaintext).hexdigest()}')# 定义HPKE所需的附加信息    aead_info  =b"HPKE AEAD INFO"    psk =b"HPKE PSK DATA"    psk_id =b"HPKE PSK ID"    aad_tag =b"HPKE AEAD TAG"# print(f'alice_tmp_enc_public_key_bytes length:{len(alice_tmp_enc_public_key_bytes)}')# 发送方Alice加密数据# AEAD psk ,            psk_id = psk_id ,            pks = alice_public_key_for_auth ,# 发送者的公钥)# 接收方Bob解密数据# AEAD

    33021编辑于 2025-08-22
  • 来自专栏全栈工程师修炼之路

    OpenSSL安全套接字密码库命令

    0x13,0x02 - TLS_AES_256_GCM_SHA384 TLSv1.3 Kx=any Au=any Enc=AESGCM(256) Mac=AEAD 0x13,0x03 - TLS_CHACHA20_POLY1305_SHA256 TLSv1.3 Kx=any Au=any Enc=CHACHA20/POLY1305(256) Mac=AEAD 0x13,0x01 - TLS_AES_128_GCM_SHA256 TLSv1.3 Kx=any Au=any Enc=AESGCM(128) Mac=AEAD 0xA9 - ECDHE-ECDSA-CHACHA20-POLY1305 TLSv1.2 Kx=ECDH Au=ECDSA Enc=CHACHA20/POLY1305(256) Mac=AEAD 0xA8 - ECDHE-RSA-CHACHA20-POLY1305 TLSv1.2 Kx=ECDH Au=RSA Enc=CHACHA20/POLY1305(256) Mac=AEAD

    1.4K20编辑于 2022-09-29
  • 来自专栏Golang语言社区

    Golang语言情怀-第56期 Go 语言标准库翻译 crypto/cipher

    func (w StreamWriter) Write(src []byte) (n int, err error) func (w StreamWriter) Close() error type AEAD func NewGCM(cipher Block) (AEAD, error) NewCBCDecrypter NewCBCEncrypter NewCFBDecrypter NewCFBEncrypter type AEAD type AEAD interface { // 返回提供给Seal和Open方法的随机数nonce的字节长度 NonceSize() int // 返回原始文本和加密文本的最大长度差异 Open(dst, nonce, ciphertext, data []byte) ([]byte, error) } AEAD接口是一种提供了使用关联数据进行认证加密的功能的加密模式。 func NewGCM func NewGCM(cipher Block) (AEAD, error) 函数用迦洛瓦计数器模式包装提供的128位Block接口,并返回AEAD接口。

    75921发布于 2021-03-09
  • 来自专栏FreeBuf

    NIST 宣布 ASCON 为物联网数据保护加密算法

    同时,Ascon还为提供带有关联数据的验证加密(AEAD),AEAD保护消息的机密性,但它也允许在不加密的情况下包含额外的信息,例如消息的标头或设备的IP地址。 AEAD可用于车对车通信,还有助于防止与射频识别(RFID)标签交换的消息被伪造,射频识别(RFID)标签通常有助于跟踪仓库中的包裹。

    77610编辑于 2023-02-24
  • 来自专栏开源技术小栈

    PHP官方现代化核心加密库 Sodium

    $tcp_port = \Sodium\randombytes_random16(); 对称加密算法 AEAD_AES_256_GCM 对数据进行 AES-256-GCM 加密和解密。 微信支付最新的 V3 版本接口,微信返回的报文中,如果涉及敏感信息,是需要基于 AEAD_AES_256_GCM 进行解密的。 ); $encrypt = sodium_crypto_aead_aes256gcm_encrypt($data, $aad, $iv, $keygen); return [ sodium_crypto_aead_aes256gcm_is_available()) { exit('Not support AES-256-GCM'); } // 生成AES-256-GCM的密钥 $keygen = sodium_crypto_aead_aes256gcm_keygen(); // 加密原文内容 $data = '开源技术小栈

    67910编辑于 2024-08-19
  • 来自专栏Go学习

    对比 AES-GCM 和 3DES

    1、概述对比属性 AES-GCM 3DES 加密方式 块加密 + 认证 (AEAD)三次 DES 加密 块大小 128 位 64 弱(已有攻击方法) 推荐状态 强烈推荐 已弃用 适合平台 环境新,Web/API/TLS遗留系统/经典程序 2、安全性对比AES-GCM完全支持 AEAD GCM 支持 AEAD 模式:提供加密和完整性认证。

    55710编辑于 2025-06-02
  • 来自专栏Rust语言学习交流

    【Rust日报】 2019-08-31:Rust全栈开发Web应用

    引擎演示链接 正在编写的3D射击游戏 RustCrypto:chacha20poly1305,aead,polyval,universal-hash RustCrypto项目,本周发布了4个新的crates aead:使用关联数据进行身份验证加密(Authenticated Encryption with Associated Data, AEAD)的trait,chacha20poly1305包是根据这些

    1.3K30发布于 2019-09-03
  • 来自专栏技术进阶

    微信支付小微商户V3版本接口使用libsodium扩展以及代码示例

    微信支付小微商户接口: 微信支付小微商户接口地址 其接口操作中需要下载证书针对返回的 AEAD_AES_256_GCM算法解密,其中用到了sodium_crypto_aead_aes256gcm_decrypt ') && sodium_crypto_aead_aes256gcm_is_available()) { return sodium_crypto_aead_aes256gcm_decrypt ') && Sodiumcrypto_aead_aes256gcm_is_available()) { return Sodiumcrypto_aead_aes256gcm_decrypt ciphertext, $associatedData, $nonceStr, $aesKey); } // openssl (PHP >= 7.1 support AEAD nonceStr, $authTag, $associatedData); } throw new RuntimeException('AEAD_AES

    1.9K20编辑于 2021-12-24
  • 来自专栏CDN及云技术分享

    Tls v1.3的里程碑发展

    3.2必须使用AEAD算法: 消息认证(message authentication)或数据源认证(data origin authentication)表示数据在传输过程中没有被修改(完整性),并且接收消息的实体能够验证消息的源 有人提出将Encrypt和MAC直接集成在一个算法内部,让有经验的密码专家在算法内部解决安全问题,不让算法使用者选择,这就是这就是AEAD(Authenticated-Encryption With Addtional TLS1.3彻底禁止AEAD以外的其他算法。 AEAD(Authenticated_Encrypted_with_associated_data)——唯一保留的加密方式。 AEAD将完整性校验和数据加密两种功能集成在同一算法中完成,是TLS 1.3中唯一支持的加密方式。 AEAD算法和使用HKDF的hash算法组成了TLS1.3的可用密码套件 +------------------------------+-------------+ | Description |

    4.6K211发布于 2018-10-25
  • 来自专栏Tech Explorer

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

    以上3种算法,都是AEAD类的算法,AEAD是2015年最好的选择。 其中的(2)和(3)在结构上类似:一个流加密模式的算法,配合一个多项式结构的MAC。 AEAD: https://www.imperialviolet.org/2014/02/27/tlssymmetriccrypto.html AEAD的概念: 在通常的密码学应用中,Confidentiality 在AEAD这种概念里,cipher+MAC 被 一个AEAD算法替换。 http://en.wikipedia.org/wiki/Authenticated_encryption 4. ChaCha20-poly1305 ChaCha20-poly1305是一种AEAD,提出者是Daniel J. AES-GCM AES-GCM是一种AEAD,是目前TLS的主力算法,互联网上https流量的大部分依赖使用AES-GCM。 6.

    1.4K20发布于 2021-06-25
  • 来自专栏码农沉思录

    为什么我强烈建议你使用ECC 证书

    column -t 0xC0,0x2F - ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(128) Mac=AEAD 0xC0,0x2B - ECDHE-ECDSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AESGCM(128) Mac=AEAD 0xC0,0x27 =SHA1 0xC0,0x2F - ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(128) Mac=AEAD 0xCC,0xA9 - ECDHE-ECDSA-CHACHA20-POLY1305 TLSv1.2 Kx=ECDH Au=ECDSA Enc=ChaCha20-Poly1305 Mac=AEAD 0xCC,0xA8 - ECDHE-RSA-CHACHA20-POLY1305 TLSv1.2 Kx=ECDH Au=RSA Enc=ChaCha20-Poly1305 Mac=AEAD

    12.7K20发布于 2019-05-05
  • 来自专栏Tech Explorer

    SSL/TLS CipherSuite 介绍

    0xC0,0x30 - ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(256) Mac=AEAD 0xC0,0x2C - ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AESGCM(256) Mac=AEAD 0x00,0xA5 - DH-DSS-AES256-GCM-SHA384 TLSv1.2 Kx=DH/DSS Au=DH Enc=AESGCM(256) Mac=AEAD 0x00,0xA1 - DH-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=DH/RSA Au=DH Enc=AESGCM(256) Mac=AEAD (gcm是一种特殊的称为aead的加密模式,不需要配合MAC。)

    7.6K40发布于 2021-06-25
  • 来自专栏韩曙亮的移动开发专栏

    【Android 安全】DEX 加密 ( 代理 Application 开发 | 项目中配置 OpenSSL 开源库 | 使用 OpenSSL 开源库解密 dex 文件 )

    /* Set nonce length if default 96 bits is not appropriate */ EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_IVLEN ccm_nonce), NULL); /* Set tag length */ EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_TAG EVP_EncryptFinal_ex(ctx, outbuf, &outlen); /* Get tag */ EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_GET_TAG NULL, NULL, NULL); /* Set nonce length, omit for 96 bits */ EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_IVLEN NULL); /* Set expected tag value */ EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_TAG

    99100编辑于 2023-03-28
  • 来自专栏猫头虎博客专区

    2021年9月15日 Go生态洞察:TLS加密套件的自动排序机制

    AEAD模式优于CBC。 3DES、CBC-SHA256和RC4作为最后手段。 除非硬件支持AES-GCM,否则优先选择ChaCha20Poly1305。 AES-128优于AES-256。 加密套件排序知识要点 版本 重要规则 特别说明 TLS 1.0-1.2 ECDHE优先、AEAD优于CBC 考虑安全性和性能 TLS 1.3 简化选择,注重性能 所有套件均安全

    36010编辑于 2024-04-08
领券