On the Subject of the GRANIT CM
Create a key using the keyword on screen 1 and the Boolean Expression on screen A. Make sure to remove any Xs. Create a straddling checkerboard by creating a table with 3 rows and 9 columns. Label the columns with the numbers 1-9. Cross out all the first-row cells in the columns whose labels are present in the 2 digit number on screen B . Label the 2nd row of the table with the left number on screen B. Label the 3rd row of the table with the right number on screen B. Fill the remaining 26 cells with the key in reading order. This will be referred to as the GRANIT Key.
Convert every letter of the encrypted word to digits via the GRANIT Key. Each letter that occurs in the first row gets turned into the single digit that labels its column; all other letters turn into digits labeling the row followed by the column.
Take the keyword from screen 2 and assign each letter in alphabetical order where 1 is a letter that occurs earliest from the alphabet. If there is a tie, assign each tie the SAME number. This will be referred to as the Myszkowski Key.
If the Submit Button is white, follow the instructions under Encrypt Instructions. Otherwise follow the instructions under Decrypt Instructions.
Encrypt Instructions
- Write the digit string underneath the Myszkowski Key so that it fits in the columns of the key in reading order.
- Read each digit in ascending numerical order. In the case of duplicate numbers, read them from left to right, top to bottom for the current duplicate number.
Decrypt Instructions
- Write X dashes underneath the Myszkowski Key so that it fits in the columns of the key in reading order. X is equal to the length of the digit string.
- Place each digit of the digit string in ascending numerical order, replacing each dash underneath the number. In the case of duplicate numbers, place them from left to right, top to bottom for the current duplicate number, until each of the dashes underneath the duplicate numbers have been replaced.
- Finally, read the digits in reading order to get a new digit string.