Skip to content

Latest commit

 

History

History
103 lines (91 loc) · 2.37 KB

05-cmac-aes-capabilities.adoc

File metadata and controls

103 lines (91 loc) · 2.37 KB

CMAC-AES

CMAC-AES Algorithm Capabilities Registration

Each CMAC-AES algorithm capability advertised is a self-contained JSON object using [mac_caps_table]. Each capability object describes a separate permutation of direction and key length.

CMAC-AES Capability Details

Table 1. CMAC-AES Capabilities JSON Values
JSON Value Description JSON type Valid Values

direction

The MAC direction(s) to test

array

"gen" and/or "ver"

keyLen

The keyLen supported

array of integer

[128, 192, 256]

msgLen

The CMAC message lengths supported in bits, values MUST be mod 8

Domain

Min: 0, Max: 524288, Inc: 8

macLen

The supported mac sizes

Domain

Min: 1, Max: 128

'macLen' for CMAC is a Domain of values, the server MAY choose values defined by these rules:

  • The smallest CMAC length supported

  • A second CMAC length supported

  • The largest CMAC length supported

'msgLen' for CMAC is a Domain of values, the server MAY choose values defined by these rules:

  • The smallest message length supported

  • Two message lengths divisible by block size

  • Two message lengths NOT divisible by block size

  • The largest message length supported

Example CMAC-AES Capabilities JSON Object

The following is an example JSON object advertising support for CMAC-AES.

{
  "algorithm": "CMAC-AES",
  "revision": "1.0",
  "capabilities": [
    {
      "direction": ["gen", "ver"],
      "keyLen": [128],
      "msgLen": [
        {
          "min": 0,
          "max": 65536,
          "increment": 8
        }
      ],
      "macLen": [
        {
          "min": 64,
          "max": 128,
          "increment": 8
        }
      ]
    },
    {
      "direction": ["gen", "ver"],
      "keyLen": [192],
      "msgLen": [
        {
          "min": 0,
          "max": 65536,
          "increment": 8
        }
      ],
      "macLen": [
        {
          "min": 64,
          "max": 128,
          "increment": 8
        }
      ]
    },
    {
      "direction": ["gen", "ver"],
      "keyLen": [256],
      "msgLen": [
        {
          "min": 0,
          "max": 65536,
          "increment": 8
        }
      ],
      "macLen": [
        {
          "min": 64,
          "max": 128,
          "increment": 8
        }
      ]
    }
  ]
}