[ Web Proxy ]
URL:
Viewing: https://cloud.google.com/kms/docs/mac-signatures [Back]  [Original]

MAC signatures  |  Cloud Key Management Service  |  Google Cloud Documentation Skip to main content
Google Cloud Documentation [Google Cloud Documentation]
Send feedback

MAC signatures Stay organized with collections Save and categorize content based on your preferences.

A MAC signature is a cryptographic output used to verify the integrity and authenticity of data. A MAC signature algorithm lets you perform two distinct operations:

There are two main purposes of a MAC signature:

While the purpose of MAC signatures is similar to that of digital signatures, MAC signatures rely on symmetric cryptography. MAC tags are generated and verified using the same secret key. The sender and the receiver of a message must both have the same key to use MAC signatures.

Note: Since the sender and the receiver have the same cryptographic material, you can't use MAC tags to prove which of the two signed the file. If you need to be able to verify that the message was signed by the sender, use digital signatures based on asymmetric keys instead.

Example use case for a MAC signature

MAC algorithms like keyed-hash message authentication code (HMAC) are an excellent file transfer data integrity-checking mechanism because of their efficiency. Hash functions can take a message of arbitrary length and transform it into a fixed-length digest, thus maximizing bandwidth usage.

MAC signing workflow

The following describes the flow for creating and validating a signature. The two participants in this workflow consist of the signer of data, and the data recipient.

  1. The signer and the recipient agree on using a specific, shared MAC key.

    Both can use this key to create or verify MAC signatures.

  2. The signer performs a sign operation over the data to compute a MAC tag.

  3. The signer provides the data and the MAC tag to the data recipient.

  4. The recipient uses the shared MAC key to verify the MAC signature. If verification is unsuccessful, then the data has been altered.

Signing algorithms

Cloud Key Management Service only supports keyed-hash message authentication code (HMAC) algorithms for MAC signing. HMAC algorithms use cryptographic hash functions, such as SHA-2 or SHA-3, to compute the MAC tag. The strength of the HMAC function depends on the strength of the hash function, the size of the hash output, and the size of the key. For more information about HMAC signing algorithms, see HMAC signing algorithms.

Limitations

When using Cloud KMS for MAC signatures, the maximum file size is 16 KiB for Cloud HSM keys and 64 KiB for all other keys.

What's next

Send feedback

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2026-08-11 UTC.

Need to tell us more? [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2026-08-11 UTC."],[],[]]

Web Proxy Viewer  |  New URL  |  Original Page