160-bit block cipher based on the SHA-1 hash function compression function. Submitted to NESSIE but not selected due to SHA-1 weaknesses. Uses 80 rounds with SHA-1 operations.
| Property | Value |
|---|---|
| Category | Block Ciphers |
| Sub-category | Block Cipher |
| Security status | π Educational Only |
| Complexity | Intermediate |
| Inventor | Helena Handschuh, David Naccache |
| Year | 2000 |
| Origin | π«π· France |
| Source | algorithms/block/shacal-1.js |
| Parameter | Supported values |
|---|---|
| Key sizes | 16 bytes (128 bits) to 64 bytes (512 bits) |
| Block sizes | 20 bytes (160 bits) |
Status: π Educational Only
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 β SHA-1 IV as plaintext, pad(ββ) as key - from the published SHA-1(ββ) digest
| Field | Value |
|---|---|
key |
80000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 |
input |
67452301efcdab8998badcfe10325476c3d2e1f0 |
expected |
72f480ed6e9d9f84999ae2f1852dc41aec052519 |
Vector 2 β SHA-1 IV as plaintext, pad(βabcβ) as key - from the published SHA-1(βabcβ) digest
| Field | Value |
|---|---|
key |
61626380000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000018 |
input |
67452301efcdab8998badcfe10325476c3d2e1f0 |
expected |
42541b355738d5e121834873681e6df6d8fdf6ad |
Vector 3 β SHA-1 IV as plaintext, pad(βmessage digestβ) as key - from the published SHA-1 digest
| Field | Value |
|---|---|
key |
6d657373616765206469676573748000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000070 |
input |
67452301efcdab8998badcfe10325476c3d2e1f0 |
expected |
59dd2fcdeabe3d10b4a4c32bfa14cea65943c8f3 |