Hawkynt

PRESENT-128

PRESENT-128 variant of the lightweight block cipher with extended 128-bit key size. Substitution-Permutation Network with 64-bit blocks, 128-bit keys, and 31 rounds. Educational implementation extending the ISO/IEC 29192-2 specification.

Properties

Property Value
Category Block Ciphers
Sub-category Block Cipher
Security status 🎓 Educational Only
Complexity Not specified
Inventor Andrey Bogdanov, Lars R. Knudsen, Gregor Leander, Christof Paar, Axel Poschmann, Matthew J.B. Robshaw, Yannick Seurin, C. Vikkelsoe
Year 2007
Origin 🇩🇪 Germany
Source algorithms/block/present.js

Parameters

Parameter Supported values
Key sizes 16 bytes (128 bits)
Block sizes 8 bytes (64 bits)

Security

Status: 🎓 Educational Only

Known vulnerabilities

Issue Description Mitigation
Linear cryptanalysis Susceptible to linear cryptanalytic attacks Use for educational purposes only in constrained environments
Small block size 64-bit block size vulnerable to birthday attacks Avoid encrypting large amounts of data with single key

Documentation

References

Test vectors

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

Vector 1 — PRESENT-128 all zeros test vector - educational

Field Value
key 00000000000000000000000000000000
input 0000000000000000
expected 96db702a2e6900af

Vector 2 — PRESENT-128 pattern test vector - educational

Field Value
key ffffffffffffffffffffffffffffffff
input 0000000000000000
expected 13238c710272a5d8

Vector 3 — PRESENT-128 all-ones plaintext, zero key

Field Value
key 00000000000000000000000000000000
input ffffffffffffffff
expected 3c6019e5e5edd563

Vector 4 — PRESENT-128 all-ones plaintext and key

Field Value
key ffffffffffffffffffffffffffffffff
input ffffffffffffffff
expected 628d9fbd4218e5b4

← All algorithms