The PPCxx cipher (PencilandPaper Cipher  xx) is a complex handcipher, used to encrypt a message, containing letters, numbers and spaces. There are four variations, each with a different key system. PPCxx is a highly secure cipher, with a key space of at least 10E18*47 (PPCN). PPCxx uses three steps: an extended straddling checkerboard, a normal columnar transposition and a disrupted columnar transposition. The combination of fractioning by the checkerboard and the double disrupted transposition makes PPCxx a very powerful encryption method. A variant of PPCxx with a more complex keying system is the Secom cipher. Before explaining the PPCxx Cipher, we will show the four different key systems. For each method, the first part is used for the checkerboard, the second for the first transposition and the third part for the second (disrupted) transposition. Although both sender and receiver must agree on the keying method, one can determine the used keying by looking at the key format. PPCNWith PPCN, PencilandPaper Cipher  Numbers, the checkerboard and transposition keys are determined by a fixed length of 10 digits (09) each. Checkerboard and both transposition are 10 columns wide. Example Key: 3971285460  9632587401  0987654321 The checkerboard and transpositions order are applied with the same order as the key, with 0 as last digit. Key format (in groups of five): 39712 85460 96325 87401 09876 54321 PPCNEWith PPCNE, PencilandPaper Cipher  Numbers Extended, the checkerboard key is determined by a fixed length of 10 digits (09), and both transposition keys are determined by a series of numbers, written out in two digits (01nn), where the two transposition keys are separated by '00'. Both transpositions can be up to 99 columns wide, which gives an astronomical number of possible keys. Example Key: 2587413690  0602140304110105070813091012  00  0702110310040501060809 The checkerboard order is determined by the first 10 digits, with 0 as last number. The first transposition order is read out, in twodigit figures, until '00' is reached. The second transposition starts after the '00'. Key format (in groups of five): 25874 13690 06021 40304 11010 50708 13091 01200 07021 10310 04050 10608 09 PPCAWith PPCA, PencilandPaper Cipher  Alphabet, the checkerboard and transposition keys are determined by the order of the letters of the alphabet, where the transposition keys are separated by 'X'. The letter 'X' should not appear in the three keys parts. Therefore, each transposition can be up to 25 columns wide. Example Key: HJKRDCVAWP  DEEGUJCSASAZE  X  GTFDCLPMSDETGFGGHIKJ The checkerboard and transpositions order are applied in the alphabetical order. Assign 1 to the first letter of the alphabet, and so on, and assigning digits in order to identical letters (example: DACAB gives order 51423). Key format (in groups of five): HJKRD CVAWP DEEGU JCSAS AZEXG TFDCL PMSDE TGFGG HIKJ PPCWWith PPCW, PencilandPaper Cipher  Words, the checkerboard and transposition keys are determined by the order of the letters in the words or pieces of a sentence, where the checkerboard uses the first 10 letters, and the transposition keys are seperated by 'X' or by using a new line. The width of both transpositions is unlimited, giving a large key space. However, the key space is less than which is mathematically possible, due to the use of words and/or sentences. To optimize the key space, use many small words. Example Key: DOWHATEVER  YOUNEEDTO  ACHIEVEYOURGOAL The checkerboard and transpositions order are applied in the alphabetical order. Assign 1 to the first letter of the alphabet, and so on, and assigning digits in order to identical letters (example: DACAB gives order 51423). Key format 1: DO WHATEVER YOU NEED TO X ACHIEVE YOUR GOAL Key format 2: DO WHATEVER YOU NEED TO ACHIEVE YOUR GOAL Enciphering a messageWe will demonstrate the encryption technique by the following example: Plain text: RV TOMORROW AT 1400PM TO COMPLETE TRANSACTION USE DEADDROP AS USUAL Step 1  The CheckerboardDetermine the key order for the checkerboard according to the key system used (PCCN, PCCNE, PCCA or PCCW). Note that in each key system, the checkerboard is determined by the first 10 digits or letters. In our example, we use the order 8139065427. These 10 digits are used as the top row of numbers for a straddling checkerboard. The second row of the checkerboard contains the highest frequency letters ESTONIA, with a blank in the 3rd , 6th and 9th square. Write the digits, located above an empty square, downwards in the first column. Complete the checkerboard with the following letters and numbers: B C D F G H J K L M P Q R U V W X Y Z * 1 2 3 4 5 6 7 8 9 0 However, we start the filling of the rows in the column, pointed to by the digit at the left of that row. In our example, the start positions are underlined. Complete until the end of that row and proceed at the beginning of the row. If the left row digit is 0, the filling will start at the last, rightmost position.  8 1 3 9 0 6 5 4 2 7 +  E S T O N I A 3 L M B C D F G H J K 6 W X Y Z * P Q R U V 2 0 1 2 3 4 5 6 7 8 9 We convert the plain text into numbers according to the straddling checkerboard. If a letter is located in the top row, it is replaced by the digit above it. If the letter or number is located in one of the numbered rows, it is replaced by the digit of its row, followed by the digit of its column. R V * TOM OR R OW * AT* 1 4 0 0 P M * TO* C OM P L ETE* 64676090310646406860796021202828663160906039031663889860 TR ANSAC TION* U SE* D EAD D R OP * AS* U SU AL 964751739940560621860308730306406660716062162738 Step 2  The Columnar TranspositionThe first transposition is a simple columnar transposition. Determine the width and order of the first (normal) columnar transposition, according to the key system used (PCCN, PCCNE, PCCA or PCCW) and fill the transposition block, row by row, with the numbers, obtained by the checkerboard conversion. At this stage, null digits are appended to the message, so that it will fill a whole number of 5digit groups. In our example, we add one null digit. In our example, we will use FCGKHADEILJB as the order of the transposition. We will use letters to make things easier, since we have more than 10 columns: FCGKHADEILJB  646760903106 464068607960 212028286631 609060390316 638898609647 517399405606 218603087303 064066607160 621627380 The message is then read off in columns, using the top row letters alphabetically or digits ordinally as the transposition key: 088089367 60167630 461031162 962364063 008900808 642665206 642987841 662699062 376095770 06314006 700083606 19636631 Step 3  The Disrupted Columnar TranspositionDetermine the width and order of the second (disrupted) columnar transposition, according to the key system used (PCCN, PCCNE, PCCA or PCCW). In our example, we will use KIDJAFBCGEH as the order of the transposition. We will use letters to make things easier, since we have more than 10 columns. To apply a disrupted transposition, we first determine and fill the triangular areas, and then fill the remaining area. The first triangular area starts at the top of the column which will be read out first, and extends to the end of the first row. It continues in the next row, starting one column later, and so on until it includes only the digit in the last column. Then, if possible, after one full row, a second triangular area starts, this time in the column which will be read out second. A third, fourth, and more triangular areas can be added, if enough rows are available. Since we know that the message is 105 digits long, we know that we have to fill 9 rows with 11 digits, and 1 row with 6 digits. First, we fill the transposition block row by row with the numbers from the first transposition, first avoiding the triangular areas: KIDJAFBCGEH  0880 89367 601676 3046103 11629623 640630089 0080864266 52066429878 416626 990623XXXXX Next, we fill in the triangular areas, row by row as well: KIDJAFBCGEH  08807609577 89367006314 60167600670 30461030083 11629623606 64063008919 00808642666 52066429878 41662636631 990623XXXXX Again, the message is read off in columns, using the top row digits as transposition key: 7771938622 000320423 960038296 8314608060 717801673 6060606463 536069686 740369681 8900140219 0666260666 0863160549 Finally, the digits are divided in groups of 5 to get the fully encrypted message: 77719 38622 00032 04239 60038 29683 14608 06071 78016 73606 06064 63536 06968 67403 69681 89001 40219 06662 60666 08631 60549 Decrypting a messageTo decrypt a message, we determine the checkerboard and transposition orders, according to the key system used (PCCN, PCCNE, PCCA or PCCW). Next, we apply the transpositions in reverse order. We create the block for the second disrupted  transposition, with the appropriate column lengths and triangular areas. We fill in the encrypted message column by column, according to the 2nd transposition key. First, we read of the message row by row, avoiding the triangular areas. Next, we read off the triangular areas, also row by row. The result is filled in the first  simple  transposition block, also created with the appropriate column lengths, column by column according to the 1st transposition key. Again, we read off the digits row by row. The resulting sequence of digits is converted to plain text, using the checkerboard. Note that, at the end of the sequence, up to four null digits could be added to complete a block of five, and should be disregarded during conversion. Notes on the key spaceWe can calculate the number of possible sequences for a given transposition width. On keying systems with variable transposition width (PCCNE, PCCA or PCCW) it is advicable to use a width of at least 10 rows, one width an even number of digits or letters, and one with an odd number. The checkerboard has a fixed width with 3,628,800 different ways to fill the top row. To calculate the total key space, we need to use each of the three sequences: Total keyspace = 3,628,800 x key space T1 x key space T2 For PCCN, the method with the smallest keyspace where all key parts have a fixed size of 10 digits, we have: 3,628,800 x 3,628,800 x 3,628,800 = 47,784,725,839,872,000,000 possible keys ( 10E18*47 )
