SPECK cipher


Reading time: less than 1 minute

SPECK is a lightweight block cipher. It’s an ARX cipher, making it easy to implement in constant-time code.

Encryption round

Here’s one round of encryption with SPECK.

fn ernd(x: u64, y: u64, k: u64) -> (u64, u64) {
  let mut x = x;
  let mut y = y;
  x = x.rotate_right(8);
  x = x.wrapping_add(y);
  x ^= k;
  y = y.rotate_left(3);
  y ^= x;
  (x, y)
}

Key schedule

The following pages link here

Citation

If you find this work useful, please cite it as:
@article{yaltirakli,
  title   = "SPECK cipher",
  author  = "Yaltirakli, Gokberk",
  journal = "gkbrk.com",
  year    = "2024",
  url     = "https://www.gkbrk.com/speck-cipher"
}
Not using BibTeX? Click here for more citation styles.
IEEE Citation
Gokberk Yaltirakli, "SPECK cipher", November, 2024. [Online]. Available: https://www.gkbrk.com/speck-cipher. [Accessed Nov. 12, 2024].
APA Style
Yaltirakli, G. (2024, November 12). SPECK cipher. https://www.gkbrk.com/speck-cipher
Bluebook Style
Gokberk Yaltirakli, SPECK cipher, GKBRK.COM (Nov. 12, 2024), https://www.gkbrk.com/speck-cipher

Comments

© 2024 Gokberk Yaltirakli