One-Key Cipher-Based Message Authentication Code as defined in NIST SP 800-38B. Provides provably secure message authentication using a single key with any block cipher.
| Property | Value |
|---|---|
| Category | Message Authentication |
| Sub-category | Block Cipher MAC |
| Security status | 🛡️ Secure |
| Complexity | Intermediate |
| Inventor | Tetsu Iwata, Kaoru Kurosawa |
| Year | 2003 |
| Origin | 🇯🇵 Japan |
| Source | algorithms/mac/omac.js |
| Parameter | Supported values |
|---|---|
| MAC sizes | 16 bytes (128 bits) |
| Flag | Value |
|---|---|
NeedsKey |
Yes |
Status: 🛡️ Secure
No vulnerabilities are recorded for this implementation.
3 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.
Vector 1 — NIST SP 800-38B Example 1 - Empty Message
| Field | Value |
|---|---|
key |
2b7e151628aed2a6abf7158809cf4f3c |
input |
(empty) |
expected |
bb1d6929e95937287fa37d129b756746 |
Vector 2 — NIST SP 800-38B Example 2 - Single Block
| Field | Value |
|---|---|
key |
2b7e151628aed2a6abf7158809cf4f3c |
input |
6bc1bee22e409f96e93d7e117393172a |
expected |
070a16b46b4d4144f79bdd9dd04a287c |
Vector 3 — NIST SP 800-38B Example 3 - Multi Block
| Field | Value |
|---|---|
key |
2b7e151628aed2a6abf7158809cf4f3c |
input |
6bc1bee22e409f96e93d7e117393172a ae2d8a571e03ac9c9eb76fac45af8e51 30c81c46a35ce411 |
expected |
dfa66747de9ae63030ca32611497c827 |