crocs-muni / CryptoStreams

Tool for generation of data from cryptoprimitives (block and stream ciphers, hash functions). Cryptoprimitives are round-reduced and the data can be configured for multiple testing scenarios.
MIT License
13 stars 9 forks source link

Implement Skipjack block function #51

Open Bender250 opened 6 years ago

Bender250 commented 6 years ago

Implement Skipjack - old NSA block cipher.

This is "good first issue" - for new contributors preferably, as the implementation should be exemplary for CryptoStreams workflow.

Steps:

  1. Find no licence/MIT/BSD licensed implementation, preferably reference version (this is more difficult here, as Skipjack was classified crypto). Do not use heavilly optimized implementations, it will be hard to use them correctly.
  2. Implement it to CryptoStreams, in appropriate folder, with appropriate naming - inspire yourself by AES or others.
  3. Write test vectors.
  4. Round reduce the function.
  5. Document it in https://github.com/crocs-muni/CryptoStreams/wiki/Block-ciphers-list
Bender250 commented 6 years ago

(We can duplicate this function with A5/1, A5/2, Streebog).

Bender250 commented 6 years ago

KeeLoq