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