zoukankan      html  css  js  c++  java
  • [crypto] AEAD是啥

    AEAD这个缩写根据不同的语境有两个理解角度:认证加密机制,认证加密方式。

    认证加密机制是指:一些用来完成认证加密工作的方法,拆分为认证和加密两部分来做,先加密后加密先认证后认证都无所谓,整个过程或者其目标我们都称之为AEAD。

    认证加密方式是指具体的做法:这里我们将狭义的排除掉,认证与加密完全的独立的方式。

    下面讨论的,都是排除之后的内容。也就是,当你看见AEAD算法时,一般它仅代表,以下提到的内容。

    用一句话解释AEAD就是一种带有认证功能的加密方式。

    Authenticated encryption (AE) and authenticated encryption with associated data (AEAD) are forms of encryption which 
    simultaneously assure the confidentiality and authenticity of data. These attributes are provided under a single, easy to use programming interface.

    见wiki:https://en.wikipedia.org/wiki/Authenticated_encryption

    常见的可以实现aead的加密模式有这些,wiki里提到的

    namely OCB 2.0, Key Wrap, CCM, EAX, Encrypt-then-MAC (EtM), and GCM)

    常见里面更常见的,就这两个CCM和GCM

    CCM和GCM分别是什么呢?就是分组加密的模式,与CBC是同一个级别的概念。

    也就是说,这两个分组加密的模式提供了认证功能。

    所以当我们使用AES加密的时候,

    AES-CCM和AES-GCM就是aead的算法。AES-CBC就需要另外提供认证算法。

    这里有一个rfc,详细讲了CCM和GCM:https://tools.ietf.org/html/rfc5084

  • 相关阅读:
    linux定时器
    TIMESTAMP和DATETIME的区别
    Linux进程或线程绑定到CPU
    C++学习笔记
    磁盘扇区校验和
    docker安装mysql,并配置部分表同步
    docker 安装tomcat
    多tomcat 同一个浏览器 多个项目 会导致session覆盖
    Ubuntu 安装 NodeJS
    Ubuntu 下安装 Arduino IDE
  • 原文地址:https://www.cnblogs.com/hugetong/p/10491410.html
Copyright © 2011-2022 走看看