F9 is the integrity algorithm used in 3GPP/UMTS mobile communications. Uses KASUMI block cipher with dual-key MAC construction for message authentication.
| Property | Value |
|---|---|
| Category | Message Authentication |
| Sub-category | Block Cipher MAC |
| Security status | ⚠️ Deprecated |
| Complexity | Intermediate |
| Inventor | 3GPP |
| Year | 1999 |
| Origin | Not specified |
| Source | algorithms/mac/f9.js |
| Parameter | Supported values |
|---|---|
| Key sizes | 16 bytes (128 bits) |
| Tag sizes | 4 bytes (32 bits) to 8 bytes (64 bits) |
| Flag | Value |
|---|---|
NeedsKey |
Yes |
Status: ⚠️ Deprecated
No vulnerabilities are recorded for this implementation.
2 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.
Vector 1 — F9: 20-byte message (LibTomCrypt)
| Field | Value |
|---|---|
key |
2bd6459f82c5b300952c49104881ff48 |
input |
38a6f056b8aefda9333234626339386137347940 |
expected |
46e00d4b |
Vector 2 — F9: 105-byte message (LibTomCrypt)
| Field | Value |
|---|---|
key |
83fd23a244a74cf358da3019f1722635 |
input |
36af61444f302ad235c68716633c66fb 750c266865d53c11ea05b1e9fa49c839 8d48e1efa5909d3947902837f5ae96d5 a05bc8d61ca8dbef1b13a4b4abfe4fb1 006045b674bb54729304c382be53a5af 05556176f6eaa2ef1d05e4b083181ee6 74cda5a485f74d7ac0 |
expected |
95ae41ba |