Hawkynt

KDF1-ISO-18033

KDF1 Key Derivation Function from ISO/IEC 18033-2. Counter-based iterative hash KDF supporting arbitrary output lengths with 32-bit counter starting at 0.

Properties

Property Value
Category Key Derivation Functions
Sub-category Counter-based KDF
Security status 🎓 Educational Only
Complexity Beginner
Inventor ISO/IEC JTC 1/SC 27
Year 2006
Origin Not specified
Source algorithms/kdf/kdf1.js

Parameters

Parameter Supported values
Output sizes 1 byte (8 bits) to 2147483647 bytes (17179869176 bits)

Capabilities

Flag Value
SaltRequired No

Security

Status: 🎓 Educational Only

Known vulnerabilities

Issue Description Mitigation
Counter Overflow KDF1-ISO-18033 uses 32-bit counter; output limited to 2^32 hash blocks (theoretical max ~80GB for SHA-1) —
Hash Function Strength Security depends on hash function choice. SHA-1 is considered weak; use SHA-256 or stronger —
Counter Starts at Zero Unlike KDF2 which starts at 1, KDF1-ISO-18033 counter starts at 0. This is intentional per ISO spec —

Documentation

References

Test vectors

4 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.

Vector 1 — KDF1-ISO-18033(SHA-1) Test Vector C.5.1 - 107 byte output

Field Value
salt (empty)
outputSize 107
hashFunction SHA-1
input d6e168c5f256a2dcff7ef12facd390f393c7a88d
expected c325ebbb41a82551d5d0ad4834870a05 ef3918c8caae38873f07dca43127a4de e36a6ca5970f6c06926037de7df79c49 15d83ff705821d2c46a1fa7bb81b73e2 7176feb7fd3a45e40b843f1aaebccb1e f4fa7ee3b9b491a342f43eaaa435efde d41e0a3a6ec2eff1f2ed95

Vector 2 — KDF1-ISO-18033(SHA-1) Test Vector C.5.1 - 20 byte output (truncated)

Field Value
salt (empty)
outputSize 20
hashFunction SHA-1
input b711f58766b5d696513538f03036f30e 0fc11ce1caae38873f07dca43127a4de e36a6ca5970f6c06926037de7df79c49 15d83ff705821d2c46a1fa7bb81b73e2 7176feb7fd3a45e40b843f1aaebccb1f d4ae168aca94f8d062951edec1469bfe b97b79490fa58ad1d3ccb4
expected 281d7cb2d7d5531ed1f9382152d9be9a89a1df09

Vector 3 — KDF1-ISO-18033(SHA-256) Test Vector C.5.3 - 20 byte output

Field Value
salt (empty)
outputSize 20
hashFunction SHA-256
input d6e168c5f256a2dcff7ef12facd390f393c7a88d
expected 0742ba966813af75536bb6149cc44fc256fd6406

Vector 4 — KDF1-ISO-18033(SHA-256) Test Vector - 20 byte output

Field Value
salt (empty)
outputSize 20
hashFunction SHA-256
input 09248da92dcf5ca8360ae7f18533a19c 6ba8e99adf79665bc31dc5a62f70535e 52c53015b9d37d412ff3c1193439599e 1b628774c50d9ccb78d82c425e4521ee 47b8c36a4bcffe8b8112a89312fc0443 2a6db6f05118f9946c80230cd9222e01 46f2cbd5251cc388a62359
expected 6f0195f38eed2417aa6eb7a365245073e58711db

← All algorithms