## Speck Simulation
## Speck Implementation
First of all, a very simplified Speck implementation to support Speck 23/64 with 22 rounds and ALPHA = 7 and BETA = 3
1) Key = bytesToWords16(key)
2) scheduled_key = key_schedule(Key)
3) ciphertext = encrypt(plaintext, scheduled_key)
-> The encrypt funktion is currently `missing` ... only `simple_speck()`
['0x708', '0x506', '0x304', '0x102']
## Running the key schedule
['0x708', '0x506', '0x304', '0x102']
## Running tests to verify the output is still fine
# Simulation
The following code simulates the Speck encryption process for an randomly choosen plaintext and the choosen key: **0x69**.
It correlates 1000 encryptions for random plaintext and correlates them for execution with every possible keybyte
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++
8000
8000
+++++++++++++++++++++++++++++++++++++++++++

Correct 8-bit key is: 0x69
### $\rightarrow$ Dafuq, at least something seems to w0rk
## 16-bit key
Breaking byte-by-byte for a 16-bit key (to not require the full $2^{16}$ keyspace)
Correct 8-bit key is: 0xfe
Correct 8-bit key is: 0xc0
Full 16-bit Key: 0xc0fe