Hawkynt

KDF1

KDF1 Key Derivation Function from IEEE 1363. Single-hash KDF limited to one hash block output, used primarily for compatibility with legacy systems.

Properties

Property Value
Category Key Derivation Functions
Sub-category Basic KDF
Security status πŸŽ“ Educational Only
Complexity Beginner
Inventor IEEE 1363 Working Group
Year 2000
Origin πŸ‡ΊπŸ‡Έ United States
Source algorithms/kdf/kdf1.js

Parameters

Parameter Supported values
Output sizes 1 byte (8 bits) to 64 bytes (512 bits)

Capabilities

Flag Value
SaltRequired No

Security

Status: πŸŽ“ Educational Only

Known vulnerabilities

Issue Description Mitigation
Single Hash Block Limitation KDF1 (IEEE 1363) limited to single hash output - maximum 20 bytes for SHA-1, 32 for SHA-256, 64 for SHA-512 β€”
Legacy Algorithm KDF1 provided for compatibility only. Use KDF2, HKDF, or KDF1-ISO-18033 for new systems β€”
Hash Function Strength Security depends on hash function choice. SHA-1 is considered weak; use SHA-256 or stronger β€”

Documentation

References

Test vectors

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

Vector 1 β€” KDF1(SHA-1) Test Vector 1 - Full hash output

Field Value
salt (empty)
outputSize 20
hashFunction SHA-1
input 61736f67696a6f7367696a736f69676a 736f6964676a6f696a6f736467696a73 6f6964676a736f6964676a736f696a
expected a0d760447f105ce64db99ff2fc92f961f24e7d9c

Vector 2 β€” KDF1(SHA-1) Test Vector 2 - Truncated output (10 bytes)

Field Value
salt (empty)
outputSize 10
hashFunction SHA-1
input 61736f67696a6f7367696a736f69676a 736f6964676a6f696a6f736467696a73 6f6964676a736f6964676a736f696a
expected a0d760447f105ce64db9

Vector 3 β€” KDF1(SHA-1) Test Vector 3 - With salt (full output)

Field Value
salt 6f6964676a736f6964676a736f696a
outputSize 20
hashFunction SHA-1
input 61736f67696a6f7367696a736f69676a736f6964676a6f696a6f736467696a73
expected a0d760447f105ce64db99ff2fc92f961f24e7d9c

Vector 4 β€” KDF1(SHA-1) Test Vector 4 - With salt (full output, different split)

Field Value
salt 736f6964676a736f6964676a736f696a
outputSize 20
hashFunction SHA-1
input 61736f67696a6f7367696a736f69676a736f6964676a6f696a6f736467696a
expected a0d760447f105ce64db99ff2fc92f961f24e7d9c

Vector 5 β€” KDF1(SHA-1) Test Vector 5 - Full hash output with newline

Field Value
salt (empty)
outputSize 20
hashFunction SHA-1
input 617361736f67696a6f7367696a736f69 676a736f6964676a6f696a6f73646769 6a736f6964676a736f6964676a736f69 6a0a
expected dbfefa0ea12d352c4ae5b0af17d061e0e2c469a8

Vector 6 β€” KDF1(SHA-1) Test Vector 6 - With salt and newline

Field Value
salt 6a736f6964676a736f6964676a736f696a0a
outputSize 20
hashFunction SHA-1
input 617361736f67696a6f7367696a736f69676a736f6964676a6f696a6f73646769
expected dbfefa0ea12d352c4ae5b0af17d061e0e2c469a8

← All algorithms