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

    ChaCha20-Poly1305 算法介绍

    灵活性:虽然标准是 20 轮,但 Bernstein 也定义了变体(如 ChaCha8, ChaCha12),轮数更少,速度更快,但安全性稍低(需根据具体安全需求选择)。 应用场景ChaCha20(通常与 Poly1305 配对)已被广泛采用,尤其是在需要高性能软件加密或抵抗侧信道攻击的场景中:TLS 1.3: 作为推荐的加密套件之一(TLS_CHACHA20_POLY1305 QUIC 协议: Google 开发的下一代网络传输协议,使用 ChaCha20-Poly1305。 WireGuard VPN 协议: 使用 ChaCha20-Poly1305 作为其核心加密和认证组件。 -Poly1305的标准长度) nonce = os.urandom(12) # 创建 ChaCha20-Poly1305 密码器实例 cha_cha = ChaCha20Poly1305

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

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

    而 ChaCha20-Poly1305 算法则成为 TLS 协议中的新宠,逐渐占据了 C 位。 ChaCha20 算法实际使用代码模板 眼见为实:ChaCha20 与 AES 的性能差距 基于 macbook pro M2 Max 芯片、Python 3.12.7 环境实测 写在最后 从TLS 1.3 → ChaCha20-Poly1305 关注我,带你探索更多密码学应用干货! 使用密钥初始化 ChaCha20-Poly1305     3. 用 nonce 和关联数据加密数据     4. -Poly1305的标准长度)     nonce = os.urandom(12)     # 创建 ChaCha20-Poly1305 密码器实例     cha_cha = ChaCha20Poly1305

    1.6K22编辑于 2025-06-08
  • 来自专栏猫头虎博客专区

    2024年5月2日 Go生态洞察:Go 1.22中的安全随机性

    ChaCha8Rand生成器 我们的新生成器ChaCha8Rand基于Daniel J. Bernstein的ChaCha流密码,是math/rand/v2中的rand.ChaCha8的实现。 其关键特性如下: ChaCha8Rand使用32字节种子,作为ChaCha8的密钥。 ChaCha8生成64字节的块,并将块作为16个uint32进行处理。 每生成16个块,ChaCha8Rand将最后32字节作为下一个16个块的密钥,实现了前向安全性。 环节 Q1: 为什么需要ChaCha8Rand生成器? Q3: 如何在程序中使用ChaCha8Rand生成器? A3: 可以直接创建rand.ChaCha8实例,或使用math/rand/v2中的顶层函数。

    27100编辑于 2025-06-01
  • 来自专栏owent

    理解和适配AEAD加密套件

    libsodium和openssl的chacha20 现在Google的chacha20算法比较火热,所以我们支持了chacha20和chacha20-poly1305,一个仅仅是加密,另一个是AEAD 现在有一些开源框架支持使用libsodium来补充更完整的chacha20支持。 libsodium 提供了更多的salsa20系列的算法,包括chacha20-ietf、xchacha20、chacha20-poly1305、chacha20-poly1305-ietf、xchacha20 这样如果嵌入式设备和移动终端使用mbedtls的话,即便cipher里没有,也可以用这个库来提供 chacha20 的支持。 在单元测试的过程中我发现,在openssl里的名字为chacha20-poly1305的cipher,实际上对应的是 libsodium 里的chacha20-poly1305-ietf。

    5.9K20发布于 2018-08-01
  • 来自专栏code人生

    Secure Randomness in Go 1.22

    ChaCha8Rand生成器 我们的新生成器,我们毫无想象力地命名为ChaCha8Rand以便于规范目的,并作为math/rand/v2的rand.ChaCha8实现,是Daniel J. Bernstein的ChaCha流密码[15]的一个略有修改的版本。ChaCha以称为ChaCha20的20轮形式广泛使用,包括在TLS和SSH中。 我们使用ChaCha8作为ChaCha8Rand的核心。 大多数流密码,包括ChaCha8,都是通过定义一个函数来工作的,该函数给定一个密钥和一个块编号,并产生一个固定大小的看似随机的数据块。 简而言之: •ChaCha8Rand使用32字节种子作为ChaCha8 key。•ChaCha8生成64字节的块,计算时将一个块视为16个uint32。 性能 ChaCha8Rand的安全优势确实有一些小的成本,但ChaCha8Rand的性能仍然与Go 1 生成器和PCG相当。

    60210编辑于 2024-05-09
  • 来自专栏日暮星辰

    SSL/TLS加密检测脚本testssl.sh

    /testssl.sh/bugs/ ########################################################### Using "OpenSSL 1.0.2-chacha -POLY1305       ECDH 253 ChaCha20 256 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256         x9d     AES256 -POLY1305, 253 bit ECDH (X25519) Chrome 57 Win 7 TLSv1.2 ECDHE-RSA-CHACHA20-POLY1305, 253 bit ECDH ( X25519) Chrome 65 Win 7 TLSv1.2 ECDHE-RSA-CHACHA20-POLY1305, 253 bit ECDH (X25519) Firefox 53 Win 7 TLSv1.2 ECDHE-RSA-CHACHA20-POLY1305, 253 bit ECDH (X25519) Firefox 59 Win 7 TLSv1.2 ECDHE-RSA-CHACHA20

    5K20发布于 2018-07-24
  • 来自专栏日暮星辰

    Nginx配置网站ECC RSA 双证书

    ; 此时由于双证书,浏览器无法区分不同的加密算法使用的配套加密协议该使用哪个证书; 因此重点在于算法的区分,不同的算法对应不同是证书,配置ssl_ciphers ssl_ciphers 'EECDH+CHACHA20 :EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256 MD5'; ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256 DSS'; ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384

    3.1K30发布于 2018-07-24
  • 来自专栏PhpZendo

    Jerry Qu 博客 Nginx 配置之安全篇

    另外,我在 ssl_ciphers 最开始加上了 CHACHA20,这是因为我的 Nginx 支持了 CHACHA20_POLY1305 加密算法,这是由 Google 开发的新一代加密方式,它有两方面优势 启用 CHACHA20_POLY1305 最简单的方法是在编译 Nginx 时,使用 LibreSSL 代替 OpenSSL。 下面是用 Chrome 访问我的博客时,点击地址栏小锁显示的信息,可以看到加密方式使用的就是 CHACHA20_POLY1305: ? 关于 CHACHA20_POLY1305 安全性和性能的详细介绍可以查看本文。 补充:使用 CHACHA20_POLY1305 的最佳实践是「仅针对不支持 AES-NI 的终端使用 CHACHA20 算法,否则使用 AES-GCM」。

    1K30发布于 2018-09-17
  • 来自专栏码农沉思录

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

    常见的 AES-GCM、ChaCha20-Poly1305,都是对称加密算法。 非对称密钥交换能在不安全的数据通道中,产生只有通信双方才知道的对称加密密钥。 并不是所有加密套件都需要把 ECDSA 和 aRSA 分开写,例如 EECDH+CHACHA20 就不需要,ECDSA 默认就在前面: openssl ciphers -V 'EECDH+CHACHA20 ' | column -t 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 最终,我的 Cipher Suites 配置如下,供参考: ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20

    12.7K20发布于 2019-05-05
  • 来自专栏全栈工程师修炼之路

    OpenSSL安全套接字密码库命令

    $ openssl ciphers -V 'ECDHE-RSA-AES128-GCM-SHA256:ECDH:AES:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ 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 -POLY1305 TLSv1.2 Kx=ECDH Au=ECDSA Enc=CHACHA20/POLY1305(256) Mac=AEAD 0xCC,0xA8 - ECDHE-RSA-CHACHA20 -POLY1305 TLSv1.2 Kx=ECDH Au=RSA Enc=CHACHA20/POLY1305(256) Mac=AEAD .... 0x00,0xBA - CAMELLIA128

    1.4K20编辑于 2022-09-29
  • ​企业微信ipad协议:从二进制流到业务指令的拆解

    三、加密流:ECDH + stream chacha20握手阶段:两端曲线 25519 交换公钥,得到 32 B 共享密钥。 派生阶段:HKDF-sha256 扩展出 64 B,前 32 B 做 chacha20 key,后 32 B 做 Poly1305 key。 , uint32_t(24 + body.size()), 0x0501, // 发送文本指令号 seq, FLAG_CHACHA20 六、与公开接口的差异速览连接层:TCP + 私有帧 vs HTTPS 数据层:TLV vs json 加密:ECDH+chacha20 vs RSA+AES 推送:服务器主动下行 vs 长轮询 理解其 TLV 打包、chacha20 流加密、指令号对照表后,即可在合规前提下自行实现一套轻量级代理层,用于自动化测试或内部运营工具,而不必依赖界面级脚本,从而把执行效率提升一个量级。

    49910编辑于 2025-11-05
  • 来自专栏猫头虎博客专区

    2024年5月1日 Go生态洞察:进化Go标准库 - math/rand/v2

    math/rand/v2的解决方案 新的生成器类型 math/rand/v2包中移除了Go 1生成器,取而代之的是PCG和ChaCha8两种新生成器类型。 这些新类型命名为PCG和ChaCha8,以便于未来添加新算法时能够顺利融入命名方案。 接口变更 新的Source接口中,Int63方法被Uint64方法取代,并删除了Seed方法。 具体的生成器类型可以自行定义其种子方法,例如PCG.Seed和ChaCha8.Seed。 优化和改进 在新的API中,我们实现了Daniel Lemire的优化算法,使Intn和相关函数更快。 知识点 说明 生成器算法 Go 1生成器与PCG、ChaCha8对比 源接口问题 旧接口与新接口的差异 种子责任 谁负责种子初始化 可扩展性 全局生成器的扩展问题 math/rand/v2 新包的主要改进点 新的PCG和ChaCha8生成器不仅速度更快,且内部状态更小,生成的随机数质量更高。 Q2: 新的Source接口有什么不同?

    35200编辑于 2025-06-01
  • 来自专栏大龄程序员的人工智能之路

    几个开源 RUST 安全算法库

    Sodiumoxide 实现的算法有: 对称加密算法 验证加密:aes256gcm, chacha20poly1305 密钥生成:blake2b 密钥交换:x25519blake2b 非对称加密算法 curve25519xsalsa20poly1305 Ring实现的算法有: 对称加密算法 验证加密:aes128/256gcm, chacha20poly1305 密钥生成:HKDF_SHA256/384/512,PBKDF2_HMAC_SHA1,PBKDF2 rust-crypto涉及到的算法有: 对称加密算法 模式:CFB,CTR, OFB 算法:chacha20, rabbit, salsa20, hc256 验证加密:aesgcm, aessiv, ccm , chacha20poly1305, xsalsa20poly1305, deoxys, eax, mgm 密钥生成:Argon2, bcrypt, PBKDF2, scrypt, SHA-crypt ChaCha20-Poly1305 批量加密 (RFC7905)。 ALPN 支持。 SNI 支持。 可调片段大小,使 TLS 消息匹配底层传输的大小。 可选地使用矢量 IO 来最小化系统调用。

    3.4K10编辑于 2023-10-08
  • 来自专栏康怀帅的专栏

    nginx 配置 TLSv1.3

    为了测试各浏览器对 TLSv1.3 的支持,这里只保留 TLSv1.3 ssl_protocols TLSv1.3; ssl_ciphers TLS13-CHACHA20 -POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-256-GCM-SHA384:EECDH+CHACHA20:EECDH+CHACHA20-draft

    2.4K60发布于 2018-01-17
  • 来自专栏IT综合技术分享

    安全修复之Web——【中危】启用了不安全的TLS1.0、TLS1.1协议

    TLSv1.3; # 支持的加密算法,冒号分隔,感叹号废弃 ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20 -POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20 :EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256

    6.6K30编辑于 2022-05-13
  • 来自专栏开源部署

    Nginx支持TLS1.3部署详解

    Nginx补丁 pushd nginx-1.15.4 #打SPDY, HTTP2 HPACK, Dynamic TLS Record, Fix Http2 Push Error, PRIORITIZE_CHACHA raw.githubusercontent.com/kn007/patch/c59592bc1269ba666b3bb471243c5212b50fd608/nginx_auto_using_PRIORITIZE_CHACHA.patch ssl_early_data on; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers [TLS13+AESGCM+AES128|TLS13+AESGCM+AES256|TLS13+CHACHA20 ]:[EECDH+ECDSA+AESGCM+AES128|EECDH+ECDSA+CHACHA20]:EECDH+ECDSA+AESGCM+AES256:EECDH+ECDSA+AES128+SHA:EECDH +ECDSA+AES256+SHA:[EECDH+aRSA+AESGCM+AES128|EECDH+aRSA+CHACHA20]:EECDH+aRSA+AESGCM+AES256:EECDH+aRSA+

    3.8K20编辑于 2022-07-24
  • 来自专栏雨落秋垣

    目前最安全的 HTTPS 的配置方案

    ssl_prefer_server_cipherson;TLS1.3加密套件TLS1.3内置的套件均为AEAD模式,推荐按性能和安全需求排序:ssl_ciphers'TLS_AES_256_GCM_SHA384:TLS_CHACHA20 TLS_CHACHA20_POLY1305_SHA256:移动设备优化(低功耗)。 ssl_ciphers'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-SM2-SM4-GCM-SM3:ECDHE-ECDSA-CHACHA20 -POLY1305:ECDHE-RSA-CHACHA20-POLY1305';ECDHE-SM2-SM4-GCM-SM3:国密算法套件(需国密证书支持)。 ssl_certificate_key/path/to/private.key;#协议与套件ssl_protocolsTLSv1.2TLSv1.3;ssl_ciphers'TLS_AES_256_GCM_SHA384:TLS_CHACHA20

    61300编辑于 2025-11-24
  • 来自专栏vanguard

    AEAD 认证加密

    Name Alias Key Size Salt Size Nonce Size Tag Size AEAD_CHACHA20_POLY1305 chacha20-ietf-poly1305 32 32 Poly1305 applies the construction described in Daniel Bernstein's Extending the Salsa20 nonce paper to the ChaCha20 在具备 AES 加速的 CPU(桌面,服务器)上,建议使用 AES-XXX-GCM 系列, 移动设备建议使用 ChaCha20-IETF-Poly1305 系列。 #! secret-key_cryptography/aead#tldr-which-one-should-i-use https://libsodium.gitbook.io/doc/secret-key_cryptography/aead/chacha20

    3.9K70发布于 2020-03-17
  • 来自专栏日暮星辰

    使用Oneinstack实现TLS1.3部署

    conf设置: ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20 -POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20 MD5; 12 ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;  ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20 -POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20

    1.2K20发布于 2018-07-24
  • 来自专栏东风微鸣技术博客

    HTTPS 基本原理和配置 - 1

    :ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20 -POLY1305:DHE-PSK-CHACHA20-POLY1305:ECDHE-PSK-CHACHA20-POLY1305:AES256-GCM-SHA384:PSK-AES256-GCM-SHA384 :PSK-CHACHA20-POLY1305:RSA-PSK-AES128-GCM-SHA256:DHE-PSK-AES128-GCM-SHA256:AES128-GCM-SHA256:PSK-AES128 -POLY1305|ECDHE-RSA-AES128-GCM-SHA256|ECDHE-RSA-CHACHA20-POLY1305]:ECDHE+AES128:RSA+AES128:ECDHE+AES256 :RSA+AES256:ECDHE+3DES:RSA+3DES'; ssl_prefer_server_ciphers on; 有一种很酷的新密码叫 ChaCha 20。

    95020编辑于 2022-04-22
领券