前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ChaCha20 vs AES:当加密算法遇上TLS1.3的安全铁拳

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

作者头像
密码学人CipherHUB
发布于 2025-06-08 04:27:05
发布于 2025-06-08 04:27:05
13000
代码可运行
举报
文章被收录于专栏:数安视界数安视界
运行总次数:0
代码可运行

安全不是加法,而是减法——TLS 1.3 通过“少而精”的密码套件,删除 10 余项功能(如压缩、重协商),并将加密套件从 37 个缩减至 5 个,AES-CBC 因安全风险被直接移除。

而 ChaCha20-Poly1305 算法则成为 TLS 协议中的新宠,逐渐占据了 C 位。

毫无疑问,TLS 1.3 删除 AES-CBC 是加密演进的分水岭:它标志“仅加密不认证”时代的终结,推动 AEAD 成为新标准

一张图看透新老加密算法的差别

ChaCha20-Poly1305 与 AES-CBC、AES-GCM 的特性对比
ChaCha20-Poly1305 与 AES-CBC、AES-GCM 的特性对比

图片解读

  • AES-CBC:像切豆腐块(分组加密),数据切成固定小块,一块块加密,但每一块都依赖前一块的加密结果(“链式依赖”)。切完要是小块不满,还得硬塞点东西填满(“填充”)。最大问题是,它只管加密,不管认证,容易被坏人搞小动作(比如“选择性密文攻击”)。
  • AES-GCM: 也是AES家族的,但它换了新思路,它用“计数器”(CTR)模式模拟“流水线”(流式),关键还自带防拆封功能(集成认证:GHASH)。相当于装了智能锁,速度快还带报警。
  • ChaCha20:本质上就是个“高速水龙头”(流密码),钥匙一拧(密钥),nonce指定位置(初始化值),就哗哗流出“加密液”(密钥流),跟你原始数据“搅和”(XOR)一下就成了密文。它也自带防拆功能,用的“封条”叫Poly1305。最牛的是,这伙计干活规矩(固定内存访问,位运算为主),想偷听它干活(侧信道攻击)贼难

TLS 1.3为何对AES-CBC“痛下杀手”?

核心就俩字:风险大!

  1. “填充”是个大漏勺: CBC必须把数据切成整块,不够要填东西(填充)。黑客就能利用服务器检查“填得对不对”这点做文章。经典的POODLE攻击,就是靠这个漏洞,像慢慢撬锁一样,一点点把加密信息给“听”出来(填充预言攻击)。相当于给了坏人一个反复试错偷听的机会。表格里也明确标着它易受“选择性密文攻击”。
  2. “初始值”要是没管好就炸锅: CBC每次加密都得用个随机初始值(IV)。万一没生成好(重复了或者不够随机),灾难就来了!比如老牌的BEAST攻击,就是靠操纵这个IV来偷信息的。表格里指出它对“物理信息泄露”敏感,侧面说明它“嗓门”大,容易泄密。
  3. 只加密、不认证太危险:CBC只负责把信息搅乱,却不管信息有没有被恶意改过。想确保完整?得额外再加个“封条”(MAC)。步骤一多就容易出错(比如先加密还是先MAC?顺序搞反都可能被利用)。表格里它“认证机制”那一栏也写着需要“额外的MAC消息”。

ChaCha20 算法实际使用代码模板

ChaCha20 加解密代码模板
ChaCha20 加解密代码模板

眼见为实:ChaCha20 与 AES 的性能差距

Mac 笔记本上性能测试对比
Mac 笔记本上性能测试对比

基于 macbook pro M2 Max 芯片、Python 3.12.7 环境实测

写在最后

从TLS 1.3对AES-CBC的抛弃,我们可以看到加密领域正朝着更简洁、更安全(AEAD是标配)、更高性能(硬件加持)的方向狂奔。

决策依据:

拼速度拼主流的平台?→ AES-GCM-256

拼稳定抗干扰的环境?→ ChaCha20-Poly1305

关注我,带你探索更多密码学应用干货!

附完整测试代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from __future__ import annotations
"""
AES-GCM 256 与 ChaCha20-Poly1305 加密算法对比演示
该脚本演示了两种现代认证加密算法的使用、性能差异和安全特性
"""
from cryptography.hazmat.primitives.ciphers.aead import AESGCM , ChaCha20Poly1305
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives import hashes
from cryptography.hazmat.primitives.kdf.hkdf import HKDF
import os
import timeit
from typing import Tuple , Callable , Any , Optional
def generate_random_data(size: int) -> bytes:
    """
    生成指定大小的随机二进制数据
    参数:
        size: 要生成的随机数据大小(字节数)
    返回:
        随机生成的二进制数据
    """
    if size <= 0 or size % 16 != 0:
        size = 32
    return os.urandom(size)
def derive_key(password: bytes ,
               salt: Optional[ bytes ] = None ,
               key_length: int = 32) -> bytes:
    """
    使用 HKDF 从密码派生安全密钥
    HKDF (HMAC-based Key Derivation Function) 是一种安全的密钥派生方法
    它可以将弱密码(如用户输入的密码)转换为强密码学密钥
    参数:
        password: 原始密码(二进制格式)
        salt: 可选盐值(用于增加派生密钥的随机性)
        key_length: 要生成的密钥长度(字节)
    返回:
        派生的安全密钥
    """
    # 如果没有提供盐值,生成随机盐值
    if salt is None:
        salt = os.urandom(16)

    # 创建 HKDF 实例
    # 算法:SHA-256,密钥长度,盐值,上下文信息,后端
    hkdf = HKDF(
            algorithm = hashes.SHA256() ,
            length = key_length ,
            salt = salt ,
            info = b'key-derivation' ,
            backend = default_backend() ,
            )

    # 从密码派生密钥
    return hkdf.derive(password)
def aes_gcm_encrypt_decrypt(key: bytes ,
                            data: bytes ,
                            associated_data: bytes) -> bytes:
    """
    AES-GCM 256 算法的加密和解密过程
    步骤:
    1. 生成随机 nonce (12字节)
    2. 使用密钥初始化 AES-GCM
    3. 用 nonce 和关联数据加密数据
    4. 使用相同的 nonce 和密钥解密数据
    参数:
        key: 加密密钥(32字节)
        data: 要加密的数据
        associated_data: 关联数据(进行认证但不加密)
    返回:
        解密后的原始数据(用于验证算法正确性)
    """
    # 生成随机 nonce (96位,这是AES-GCM的标准推荐长度)
    nonce = os.urandom(12)

    # 创建 AES-GCM 密码器实例
    aes_gcm = AESGCM(key)

    # 加密操作:使用 nonce 和关联数据加密原始数据
    # 输出 = 加密后的数据 + 认证标签(16字节)
    ciphertext = aes_gcm.encrypt(nonce , data , associated_data)

    # 解密操作:使用相同的 nonce 和关联数据解密
    decrypted_data = aes_gcm.decrypt(nonce , ciphertext , associated_data)

    return decrypted_data
def cha_cha20_encrypt_decrypt(key: bytes ,
                              data: bytes ,
                              associated_data: bytes) -> bytes:
    """
    ChaCha20-Poly1305 算法的加密和解密过程
    步骤:
    1. 生成随机 nonce (12字节)
    2. 使用密钥初始化 ChaCha20-Poly1305
    3. 用 nonce 和关联数据加密数据
    4. 使用相同的 nonce 和密钥解密数据
    参数:
        key: 加密密钥(32字节)
        data: 要加密的数据
        associated_data: 关联数据(进行认证但不加密)
    返回:
        解密后的原始数据(用于验证算法正确性)
    """
    # 生成随机 nonce (96位,这是ChaCha20-Poly1305的标准长度)
    nonce = os.urandom(12)

    # 创建 ChaCha20-Poly1305 密码器实例
    cha_cha = ChaCha20Poly1305(key)

    # 加密操作:使用 nonce 和关联数据加密原始数据
    # 输出 = 加密后的数据 + 认证标签(16字节)
    ciphertext = cha_cha.encrypt(nonce , data , associated_data)

    # 解密操作:使用相同的 nonce 和关联数据解密
    decrypted_data = cha_cha.decrypt(nonce , ciphertext , associated_data)

    return decrypted_data
def performance_test(algorithm_func: Callable[ [ bytes , bytes , bytes ] , bytes ] ,
                     key: bytes ,
                     data: bytes ,
                     associated_data: bytes ,
                     iterations: int = 2000) -> float:
    """
    执行加密算法的性能测试
    方法:
        1. 创建一个执行单次加密解密操作的函数
        2. 预热(执行少量操作)
        3. 使用 timeit 测量多次操作的平均时间
    参数:
        algorithm_func: 要测试的算法函数
        key: 加密密钥
        data: 测试数据
        associated_data: 关联数据
        iterations: 测试迭代次数
    返回:
        平均每次操作所需时间(毫秒)
    """

    # 创建测试函数(无参数,调用目标算法)
    def test_wrapper() -> bytes:
        return algorithm_func(key , data , associated_data)

    # 预热:运行5次避免初始开销影响测试结果
    for _ in range(5):
        _ = test_wrapper()

    # 执行性能测试
    time_taken = timeit.timeit(test_wrapper , number = iterations)

    # 计算每次操作的平均时间(毫秒)
    return (time_taken / iterations) * 1000
def demo_encryption_process(algorithm_name: str ,
                            algorithm: Any ,
                            data: bytes ,
                            associated_data: bytes) -> Tuple[ bytes , bytes ]:
    """
    演示单个算法的加密过程
    参数:
        algorithm_name: 算法名称(用于打印)
        algorithm: 密码算法实例(AES-GCM-256或ChaCha20Poly1305)
        key: 加密密钥
        data: 要加密的数据
        associated_data: 关联数据
    返回:
        nonce: 使用的随机值
        ciphertext: 加密后的数据(包含认证标签)
    """
    print(f"\n{algorithm_name} 加密演示:")
    print(f"原始数据: {data.decode()}")

    # 生成随机 nonce
    nonce = os.urandom(12)

    # 加密数据
    ciphertext = algorithm.encrypt(nonce , data , associated_data)
    print(f"加密结果 (密文+标签): {ciphertext.hex()}")

    return nonce , ciphertext
def tampering(algorithm_name: str ,
              algorithm: Any ,
              nonce: bytes ,
              ciphertext: bytes ,
              associated_data: bytes):
    """
    测试数据篡改检测能力
    方法:
        1. 修改密文的一个字节
        2. 尝试解密修改后的密文
        3. 捕获并报告验证失败错误
    参数:
        algorithm_name: 算法名称(用于打印)
        algorithm: 密码算法实例
        nonce: 原始加密使用的 nonce
        ciphertext: 原始密文
        associated_data: 关联数据
    """
    print(f"\n测试 {algorithm_name} 的篡改检测...")

    try:
        # 创建密文的可修改副本
        tampered_ciphertext = bytearray(ciphertext)

        # 修改一个字节(在位置10进行XOR修改)
        tampered_ciphertext[ 10 ] ^= 0x01

        # 尝试解密篡改后的数据
        algorithm.decrypt(nonce , bytes(tampered_ciphertext) , associated_data)

        # 如果成功,说明篡改检测失败(这不应该发生)
        print("警告:篡改未被检测到!")
    except Exception as e:
        # 验证失败时会引发异常
        print(f"{algorithm_name} 认证失败: {type(e).__name__} - {str(e)}")
def main_encryption_decryption():
    """主函数:协调整个演示过程"""
    # 1. 准备测试数据和参数
    password = b"my-secret-password"  # 原始密码(实际应用中应使用更复杂的密码)
    associated_data = b"authenticated-but-not-encrypted"  # 关联数据(进行认证但不加密)
    data_size = 1024 * 1024  # 1MB 测试数据
    test_data = generate_random_data(data_size)

    print(f"测试数据大小: {data_size / 1024:.2f} KB")

    # 2. 从密码派生安全的加密密钥(32字节 = 256位)
    key = derive_key(password)
    print(f"使用的密钥: {key.hex()}")

    # 3. 性能测试
    # 测试 AES-GCM-256
    print("\n性能测试 - AES-GCM-256:")
    aes_time = performance_test(aes_gcm_encrypt_decrypt , key , test_data , associated_data)
    print(f"加解密时间: {aes_time:.4f} 毫秒")

    # 测试 ChaCha20-Poly1305
    print("\n性能测试 - ChaCha20-Poly1305:")
    cha_cha_time = performance_test(cha_cha20_encrypt_decrypt , key , test_data , associated_data)
    print(f"加解密时间: {cha_cha_time:.4f} 毫秒")

    # 性能比较
    if aes_time < cha_cha_time:
        ratio = cha_cha_time / aes_time
        print(f"\n性能比较: AES-GCM 比 ChaCha20-Poly1305 快 {ratio:.3f}x")
    else:
        ratio = aes_time / cha_cha_time
        print(f"\n性能比较: ChaCha20-Poly1305 比 AES-GCM 快 {ratio:.3f}x")

    # 4. 加密过程演示
    small_data = b"Hello, AEAD algorithms!"  # 用于演示的小型数据

    # 创建算法实例
    aes_gcm_256 = AESGCM(key)
    cha_cha_256 = ChaCha20Poly1305(key)

    # 演示 AES-GCM 加密
    aes_nonce , aes_ciphertext = demo_encryption_process("AES-GCM" ,
                                                         aes_gcm_256 ,
                                                         small_data ,
                                                         associated_data)

    # 演示 ChaCha20-Poly1305 加密
    cha_cha_nonce , cha_cha_ciphertext = demo_encryption_process("ChaCha20-Poly1305" ,
                                                               cha_cha_256 ,
                                                               small_data ,
                                                               associated_data)

    # 5. 解密验证
    aes_decrypted = aes_gcm_256.decrypt(aes_nonce , aes_ciphertext , associated_data)
    cha_cha_decrypted = cha_cha_256.decrypt(cha_cha_nonce , cha_cha_ciphertext , associated_data)
    print(f"\nAES-GCM 解密结果: {aes_decrypted.decode()}")
    print(f"ChaCha20-Poly1305 解密结果: {cha_cha_decrypted.decode()}")

    # 6. 篡改测试
    tampering("AES-GCM" , aes_gcm_256 , aes_nonce , aes_ciphertext , associated_data)
    tampering("ChaCha20-Poly1305" , cha_cha_256 , cha_cha_nonce , cha_cha_ciphertext , associated_data)
if __name__ == "__main__":
    main_encryption_decryption()
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-06-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 bowenerchen 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
可视化编排云服务,工作流 ASW 开始公测!
ASW 简介 应用与服务编排工作流(Application Services Workflow,ASW)是对腾讯云服务进行可视化编排,组合成工作流模板的应用程序集成类产品。可以更简单、更直观、更快速地构建和更新应用。 ASW 可以用拖拽组件的方式来编排分布式任务和服务,工作流会按照设定好的顺序可靠地协调执行,并在必要时支持执行用户定义的重试逻辑,确保任务和服务按照模板定义的步骤顺利完成。 同时,您将无需编写代码,只需用可视化编排的方式快速构建自动化工作流模板,并实例化为任务去执行,或发布为服务接口提供对外
腾讯云serverless团队
2021/01/22
3.3K0
使用 ASW 工作流创建您的第一个函数编排
应用与服务编排工作流(Application Services Workflow,ASW)是一个用来协调分布式任务执行的编排产品,根据腾讯云状态语言定义来编排分布式任务和服务,工作流会按照设定好的顺序可靠地协调执行,将云函数与多个腾讯云服务按步骤进行调度,通过低代码配置,就可以完成开发和运行业务流程所需要的任务协调、状态管理以及错误处理等繁琐工作,让研发团队能更简单、更高效的构建与更新应用。 01. ASW 工作流与传统工作流的对比 特性 ASW 工作流传统工作流易用性已完成云服务集成, 方便调用云上资源
腾讯云serverless团队
2021/04/29
2.1K0
重磅发布!腾讯云 ASW 工作流,可视化编排云服务
业界的云服务编排需要开发者编写代码,实际业务场景面对的常常是复杂的逻辑结构,开发人员要花大量时间处理组件间的逻辑和代码,学习成本高,难度大。
腾讯云工作流
2021/04/27
3.1K0
重磅发布!腾讯云 ASW 工作流,可视化编排云服务
业界的云服务编排需要开发者编写代码,实际业务场景面对的常常是复杂的逻辑结构,开发人员要花大量时间处理组件间的逻辑和代码,学习成本高,难度大。 通过腾讯云 ASW 工作流,设定好执行步骤,即可将多个腾讯云服务按步骤进行调度,极大地简化了开发复杂度。ASW 预置了常见的应用模板,一键部署,开箱即用。 —— 产品优势 —— 01. 支持全量云服务 ASW 支持全量腾讯云产品服务的编排调度,即云 API 支持的所有产品服务,包括 AI 服务、云函数、Severless 服务等。通过任务调度多个服务产品,完成复杂业
腾讯云serverless团队
2021/04/27
3K0
技术架构解密 - 应用与服务编排工作流 ASW
腾讯云应用与服务编排工作流 ASW(Application Service Workflow)是新一代计算架构体系下的服务编排解决方案,用来协调分布式任务执行的编排产品。在应用与服务编排工作流中设定好任务执行步骤,可以将多个腾讯云服务按步骤进行调度,完成各种业务应用场景。能简化开发和运行业务流程所需要的任务协调、状态管理以及错误处理等繁琐工作,更简单、更高效的构建应用。像胶水一样粘合云上各种产品和服务,提供面向用户场景的端到端解决方案。 01. 应用与服务编排工作流 ASW 背景介绍 随着云计算
腾讯云serverless团队
2021/07/14
2.1K0
ASW 工作流最佳实践(二):使用 ASW 并发调用函数
在音视频转码、ETL 作业处理、基因数据处理等诸多场景中,我们都可以通过工作流并行调用云函数,将任务进行并行处理,大大提高任务处理的吞吐量,满足应用场景的高实时性、高并发能力。 在《使用 ASW 工作流创建您的第一个函数编排》文章中,我们分享了如何使用 ASW 编排一个 Sum 云函数进行求和计算。本期文章主要分享如何使用 ASW 的 Map 节点能力进行并发的数据求和计算。 01. 创建函数 1. 登录「云函数控制台」,创建一个函数名称为 Sum,运行环境为 Python 3.6 的云函数。 云函数控
腾讯云serverless团队
2021/05/18
7790
如何快速搭建一个 AI 识别处理的流水线?
本文为您介绍如何使用 ASW 编排云函数与 AI 产品服务,快速搭建一个 AI 智能识别的处理流水线。通过 ASW 编排调用腾讯云 AI 能力,完成 活体检测、语音识别、关键字采样、自动审核 等一系列自动化识别认证流程,提供开箱即用、灵活便捷、高弹性高可用的 AI 智能识别处理场景。 尤其适合社区人脸识别,金融交易人脸支付,智能线上开户等 AI 人工智能场景。 01. ASW 工作流 - 「AI 识别」系统架构 在「智能线上开户」的场景中,用户在应用客户端登录,客户端将用户视频采集后上传到 COS,通过
腾讯云serverless团队
2021/06/21
1.3K0
COS 数据工作流 + Serverless云函数自定义处理能力发布!
在工业 4.0 的浪潮下,智能和数据与物理世界结合越加紧密,多元化、灵活、高效的数据处理能力成为各行各业的热点需求。虽然对象存储 COS 已经预置电商、文创、教育、社交、安防等行业需要的基础数据处理能力,但在特殊流程和定制化需求方面公有云依然难以做到全方位满足客户需求。 01. 数据工作流全新能力出炉: 支持自定义云函数 COS 数据工作流是一套完整的端到云到端的数据存储、处理、发布等「一站式」云上智能解决方案。 COS 数据工作流最新增加了自定义函数的处理能力,开发者可添加 Serverless 云函数
腾讯云serverless团队
2021/08/06
1.2K0
工作流自动化是什么?为什么要用低代码实现工作流自动化?
在数字化转型浪潮中,企业不断寻求创新的方法来提升运营效率,优化工作流程,而低代码平台的出现,无疑为这一进程增添了新的动力。尤其是当提及工作流自动化时,低代码技术以其独特的优势,正逐渐成为企业加速转型、拥抱数字化的首选工具。
Zoho Creator低代码
2024/07/05
3050
ASW 工作流最佳实践(四):并行多任务处理
在数据处理、多媒体文件处理、商品审核、容器运维管理等系统架构中,往往需要并行多路任务处理的场景 。 例如电商商品审核系统,商家每天对商品进行管理更新后,商品数据需要通过商品中台进行一系列的审核操作:如 图片审核、死链检测、商品打标、文本审核、统一类目 等环节。海量更新的商品数据会先投递到 Ckafka,商品中台需要一个能快速处理大量数据,高并发、高吞吐量的数据处理流水线。 利用 ASW 低代码、灵活便捷的特性,通过 ASW + 云函数作为微服务的粘合剂,可快速搭建一个高效可用、易扩展性的微服务架构应用。A
腾讯云serverless团队
2021/06/03
1.2K0
中台整合零售:腾讯电商业务中台的 Serverless 架构升级
零售领域变革不是一个新话题,从电商到 O2O ,从无人售货柜到机器人导购,腾讯云的尝试一直未曾止步。对于传统零售企业来说,通过数据中台可以让顾客与需求更好地匹配,同时实现平台上多触点获取流量。而技术中台,则可以帮助零售企业提升整体运营效率,在提高安全性的基础上,还能享受 AI 时代带来的智能化红利。 谈及腾讯电商业务中台,腾讯云应用与服务编排工作流 ASW 的项目负责人王子一认为,“以消费者为中心,实现上下游的产业协同,赋能商家,商家一次接入后,可应用于如下全部业务场景:检索业务、广告业务、智能广告投放、
腾讯云serverless团队
2022/01/25
2.4K0
79.8K star!这款开源自动化神器让技术团队效率飙升,400+集成玩转AI工作流!
嗨,大家好,我是小华同学,关注我们获得“最新、最全、最优质”开源项目和高效工作学习方法
小华同学ai
2025/04/13
6090
79.8K star!这款开源自动化神器让技术团队效率飙升,400+集成玩转AI工作流!
CODING 助力 ZEGO 即构科技建立统一研发管理工作流,高效打造云视频服务
---- “CODING 提供了从“需求”到“交付”的端到端工作协同和持续交付工具,提升了开发运维之间的沟通合作效率,使得构建、测试、发布软件能够更加地快捷、频繁和可靠。” —— 廖念波,ZEGO 即构科技技术副总裁  客户背景  ZEGO 即构科技(https://www.zego.im/)是一家全球云通讯服务商,专注自研音视频引擎,在音频前处理、网络自适应和跨平台兼容性等方面,达到国际一流水平,同时充分利用基础云服务商的能力,构建了 MSDN 海量有序自学习数据网络,服务覆盖全球,链接 5 亿终
腾讯云 CODING
2023/01/11
1.6K0
CODING 助力 ZEGO 即构科技建立统一研发管理工作流,高效打造云视频服务
发布更新|腾讯云 Serverless 产品动态 20210120
一、ASW 工作流公测发布 公测时间: 2021-01-22 产品背景: 应用与服务编排工作流(Application Services Workflow,以下简称:ASW)是按照业务场景对腾讯云服务进行可视化编排,组合成工作流模板的应用程序集成类产品,可以更简单、更直观、更快速地构建和更新应用。 产品功能: 支持云函数、视频处理 MPS、语音识别 ASR、自然语言处理 NLP、通用文字识别 General OCR 服务的编排能力 产品介绍: https://cloud.tencent.com/produ
腾讯云serverless团队
2021/01/21
1.1K0
52.5k star,超强开源工作流自动化神器!
如果你是开发者,那么你可以使用如http、redis、jenkins、mysql等节点来构建你的工作流,当然了,这只是它最简单的使用场景。
大侠之运维
2024/12/26
6430
2022爱分析· 银行数字化厂商全景报告
《银行业保险业数字化转型指导意见》《金融科技发展规划(2022-2025年)》等文件对银行业数字化转型做了明确要求,到2025年银行业数字化转型取得明显成效,基于数据资产和数字化技术的金融创新有序实践,个性化、差异化、定制化产品和服务开发能力明显增强,金融服务质量和效率显著提高。
爱分析ifenxi
2022/08/03
6910
2022爱分析· 银行数字化厂商全景报告
RAG+AI工作流+Agent:LLM框架该如何选择,全面对比MaxKB、Dify、FastGPT、RagFlow、Anything-LLM,以及更多推荐
MaxKB = Max Knowledge Base,是一款基于 LLM 大语言模型的开源知识库问答系统,旨在成为企业的最强大脑。它能够帮助企业高效地管理知识,并提供智能问答功能。想象一下,你有一个虚拟助手,可以回答各种关于公司内部知识的问题,无论是政策、流程,还是技术文档,MaxKB 都能快速准确地给出答案:比如公司内网如何访问、如何提交视觉设计需求等等
汀丶人工智能
2024/08/05
12.4K0
RAG+AI工作流+Agent:LLM框架该如何选择,全面对比MaxKB、Dify、FastGPT、RagFlow、Anything-LLM,以及更多推荐
COS 数据工作流 + Serverless云函数自定义处理能力发布!
在工业4.0的浪潮下,智能和数据与物理世界结合越加紧密,多元化、灵活、高效的数据处理能力成为各行各业的热点需求。
云存储
2021/08/05
4210
COS 数据工作流 + Serverless云函数自定义处理能力发布!
智慧警务:如何利用视频智能分析技术助力城市警务可视化综合监管与指挥系统
随着移动互联网、大数据、云计算、物联网、AI人工智能等新兴技术的快速发展及广泛应用,城市管理及公安机关的警务管理逐渐转向智能化、数字化、网格化方向发展。对公安工作而言,科技创新具有战略性、基础性和全局性地位。以“智能协同、共治共享、扁平集约”为创新发展理念的智慧警务模式已日渐清晰,推动警务机制改革与现代科技应用深度融合,也已经成为城市建设管理与社会和谐稳定发展的重要任务。
TSINGSEE青犀视频
2021/05/26
2.8K0
年终总结 | 开发者必备书籍、工具、资料汇总贴(2024)
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中。
腾讯产业互联网学堂
2023/12/25
3580
推荐阅读
可视化编排云服务,工作流 ASW 开始公测!
3.3K0
使用 ASW 工作流创建您的第一个函数编排
2.1K0
重磅发布!腾讯云 ASW 工作流,可视化编排云服务
3.1K0
重磅发布!腾讯云 ASW 工作流,可视化编排云服务
3K0
技术架构解密 - 应用与服务编排工作流 ASW
2.1K0
ASW 工作流最佳实践(二):使用 ASW 并发调用函数
7790
如何快速搭建一个 AI 识别处理的流水线?
1.3K0
COS 数据工作流 + Serverless云函数自定义处理能力发布!
1.2K0
工作流自动化是什么?为什么要用低代码实现工作流自动化?
3050
ASW 工作流最佳实践(四):并行多任务处理
1.2K0
中台整合零售:腾讯电商业务中台的 Serverless 架构升级
2.4K0
79.8K star!这款开源自动化神器让技术团队效率飙升,400+集成玩转AI工作流!
6090
CODING 助力 ZEGO 即构科技建立统一研发管理工作流,高效打造云视频服务
1.6K0
发布更新|腾讯云 Serverless 产品动态 20210120
1.1K0
52.5k star,超强开源工作流自动化神器!
6430
2022爱分析· 银行数字化厂商全景报告
6910
RAG+AI工作流+Agent:LLM框架该如何选择,全面对比MaxKB、Dify、FastGPT、RagFlow、Anything-LLM,以及更多推荐
12.4K0
COS 数据工作流 + Serverless云函数自定义处理能力发布!
4210
智慧警务:如何利用视频智能分析技术助力城市警务可视化综合监管与指挥系统
2.8K0
年终总结 | 开发者必备书籍、工具、资料汇总贴(2024)
3580
相关推荐
可视化编排云服务,工作流 ASW 开始公测!
更多 >
LV.1
上海合合信息科技股份有限公司AI产品研发总监
目录
  • 安全不是加法,而是减法——TLS 1.3 通过“少而精”的密码套件,删除 10 余项功能(如压缩、重协商),并将加密套件从 37 个缩减至 5 个,AES-CBC 因安全风险被直接移除。
  • 而 ChaCha20-Poly1305 算法则成为 TLS 协议中的新宠,逐渐占据了 C 位。
  • 毫无疑问,TLS 1.3 删除 AES-CBC 是加密演进的分水岭:它标志“仅加密不认证”时代的终结,推动 AEAD 成为新标准。
  • 一张图看透新老加密算法的差别
  • TLS 1.3为何对AES-CBC“痛下杀手”?
  • 写在最后
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档