Downloading and running the executable bifid6x6.exe Create a new folder in a location you can find easily, called CryptoPrograms or something similar that you will easily recognize. Create another folder inside this one for the cipher type, e.g., Bifid6x6. Now download the executable bifid6x6.exe into this folder. You will also need to place a con in this folder, as a text file. This file should consist of the con itself as a continuous string with no spaces, and the tip in uppercase letters on the next line. You can start with the sample con file available for download from the same Computer Column folder on the ACA website that you got the bifid6x6.exe file. For example, the sample con for the Bifid6x6 cipher is called E26ND2010.txt. To run the program, double-click the executable, and a new window should open. It will give the name of the program and ask for the file name of the con. Before going further, I suggest that you customize the window as follows: 1. There is an icon just to the left of the title at the top left of the window. Clicking on this reveals a drop-down menu. Select the Defaults option. This opens another window called Console Windows Properties, which has 4 tabs. Change nothing in the General tab. 2. Click on the Font tab and choose Raster font, since the 0 and O are not differentiated in other choice . 3. Click on the Layout tab. Increase both the window width and screen buffer width from 80 to 100, giving a slightly wider window. 4. Click on the Colors tab. Change the screen background from black to white and the screen text from white to black by clicking on the appropriate radio button and then on the desired color square. 5. When you have finished making the changes, click OK. These changes don't take effect until after the window is closed and re-opened. To make the changes immediate, select Properties in the drop-down menu and make the same changes. You can make the window longer by dragging down on the lower right corner of the window. At the correct mouse position, a double-headed arrow control should appear. You can't make the window wider using this control. After customizing the window, go back to the program window, enter the name of the con file. If you made the con file using Notepad or another text editor, it will show up in the folder with the name you used when saving it. IMPORTANT: For these programs you must add the .txt extension when typing in the name. When the tableau comes up, proceed to solve the con, following the directions given by the program. Quitting the program is accomplished by entering -1 when it is given as an option. If at some point you want to print out the display, you will need to prepare the window to highlight the part you want to print. To do this, follow these steps: 1. Click on the icon at the top left corner of the window and mouse down to Edit. 2. A second menu opens; select Mark. 3. Now use the mouse to highlight the portion of the window you want to print. This is done by selecting the area you want just as in a word-processing document. 4. Open the drop-down menu again, mouse down to Edit, and select Copy in the second menu. 5. Open a new document in Notepad. 6. In Notepad's Edit menu select Paste. The part of the window you highlighted should now appear in this Notepad document, and you can print it. When you are finished solving, enter -1 as directed by the program. The solution and square will be written to a text file called sol.txt, which you can look at later with Notepad by double-clicking it. Bifid6x6 solution hints: Choose the tip position by using the score for the various tip locations (the third number). Usually the position with the highest score is the correct one. The relationships extracted for each position are shown underneath. When you choose a tip position, the program will find partial Polybius squares, and keyed alphabets from each one will be given a numerical score. The time taken depends strongly on the number of relationships. For more than 12 relationships, the times will start to get quite long. When the program has checked all possibilities, the 40 top-scoring keyed alphabets will be printed out, with the partial keyed alphabet, partial keysquare, and the resulting plaintext. There is also a label telling which way the square was written in. The highest scoring candidate should be tried first, unless there are many with the same score. In this case, try to extend the tip by guesswork and start the process over again. If this is not working, see if you can eliminate partial square candidates by checking to see that the square doesn't contain errors, particularly late in the keyed alphabet. Look for blanks where no letter is possible, etc. Once you have settled on a square to try, enter its case number (found in front of the keyed alphabet), and when asked for input, immediately try to add numbers that follow the letters A-J or letters that precede the numbers 1-0. Then look for places to add more plaintext. Periodically check the keysquare to see if you can add letters there. If you make a mistake and enter the wrong letter in the keyword square, just undo the entry by entering 0. Program flow: after the con file is read in, data on nearest neighbors and paths are stored in arrays, and pathstrings are converted to address numbers. The period display is constructed, and strings Top and Bottom are built (no r's and c's) for crib dragging. The same display routine is repeated in procedure DisplayCipher, used by the interactive solving assistant, except strings Top and Bottom are not included. The crib is dragged through ciphertext, and relationships are built in array rel[i][j]. Row and column sets rc[i].row and rc[i].col are built from relationships, and consolidated at each tip position i. Surviving sets are moved to frc[i].row and frc[i].col. Then the search for partial squares is begun. For this to happen, you must enter a tip position: first the period number, then the position in that period. Tests on the number of characters per row and column and duplicate addresses are done here. A coarse test on letter number pairs is done using the nearest neighbor data. A much more thorough test of this nature is done when individual keyed alphabets are analyzed. After all the possibilities are checked, the top 40 candidates are printed out. Modifications: For even-period bifid6x6, the strings Top and Bottom have to be constructed differently, as is described in the column. This means the routine DisplayCipher must be changed, as well as the initial display routine which follows the pathstring conversion routine in the main program. Once this is done, everything else is identical. For 5x5 bifid, all program actions related to a 6x6 Polybius square have to be converted to a form appropriate for a 5x5 square. Tests involving numbers 1-0 and letters A-J must also be dropped. These are found in Test (3) (do a "find" on this phrase), and in the function KeyVal.