lfam / randomart

Standalone version of the OpenSSH hash visualization tool, fingerprint_randomart.
Other
7 stars 0 forks source link

Possible features #1

Open DonaldTsang opened 6 years ago

DonaldTsang commented 6 years ago
  1. file hash visualization
  2. extended length hash for skein and more (1024bits and beyond)
  3. Python wrapper for input/output function instead of bash (for integrating into other projects)
  4. Colored character using ANSI code in the terminal
  5. drunken knights and drunken rooks (and other alternate chess)
  6. Multiple chess pieces (e.g. double bishop/knight/rook, bishop+knight)
lfam commented 6 years ago

Thanks, some neat ideas :)

Let me know if you are interested in working on any of them.

DonaldTsang commented 6 years ago

I do have a general idea of what can be done.

  1. ANSI colors already exists https://github.com/atoponce/keyart/blob/master/keyart#L213
  2. Alternate hash libraries exists https://github.com/coruus/sphlib and everything follows a upper for input/output function instead of bash (for integrating into other projects)niform syntax in C
    #include <stdlib.h>
    #include <stdint.h>
    #include <string.h>
    #include <stdio.h>
    #include "sha3/sph_skein.h" // assuming we are only using skein
    ...
    uint32_t output[16]; // assuming it is a 512-bit output, otherwise 12 for 384-bit or 8 for 256-bit
    sph_skein512_context ctx_skein; // set the context, each context have a standard name of "[name][length]"
    sph_skein512_init(&ctx_skein); // initiating the state of the hash function to start mutating it
    sph_skein512 (&ctx_skein, input, input_length); // buffering strings or arrays into the state
    sph_skein512_close (&ctx_skein, output); // creating output of the hash function based on whole input
  3. Double drunken bishops/rooks works with two starting places, having alternating turns between the bishops/rooks creates more entropy. Having multiple bishops/rooks with rotating turns works as well, but then we need to handle even more complex starting position and passing of intermediate states. Mixing bishops and rooks (both have an entropy of 2 per move) together adds in complexity. (rooks only change with x = x+1, y = y+1, x = x-1 and y = y-1)
  4. Rectangular chess board would be another good addition to the whole system. It is still an array but now the lengths of X and Y needs to be different.