Skip to content

New algorithm: Zigbee's block-cipher based hash (AES-MMO) #14

@athoelke

Description

@athoelke

Zigbee defines a cryptographic hash based on a block-cipher using the Matyas-Meyer-Oseas (MMO) construction. See Zigbee Specification r21 §B.6.

The MMO construction is general, requiring:

  • a block cipher that has a key length equal to the block size
  • a padding operation on the input message to align with the block size
  • an IV (or salt) of block-size length

Zigbee specifies all of these details for its hash function based on MMO:

  • AES-128 is used as the block cipher
  • The padding operation is similar to that used for MD and SHA hashes to prevent length-extension attacks, and permitting messages of less than 232 bits in length
  • The IV is set to 0 (all bits zero)

The existing Crypto API for hash algorithms is not parameterized or salted. So supporting this use case as a Crypto API hash algorithm requires a new hash algorithm identifier for the Zigbee-specified hash function.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Crypto APIIssue or PR related to the Cryptography APIenhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    Done

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions