Use of computers for decrypting messages - Stefanović, Radiša R.; Srdanov, Aleksa S. (Vojnotehnički glasnik / Military Technical Courier, 2013)
Cryptography is as current as ever. The need to protect data and resources from unauthorised access and use has never ceased. This resulted in creating stronger protection and breaching most of those thought to be unbreachable. This paper analyses core problems and their implementation in breaching the translational cipher by using the programme language C. Introduction When the first computers appeared, a code was deemed to be unbreachable if a computer needed,e.g. a year to find a solution though raw search of all cases. After mere 30 years, computers can finish that job in minutes. What code is unbreachable now? Possibilities and speed of modern computers are such that there are no tasks representing a problem for them. Still, a combination of a man and a computer represents an unmatched team. Core problems Message encoding is free of any rules. If one conceives it in that way one cannot make a universal algorithm that could decode any cipher. The use of brute force or searching all possible cases is often impossible. In cases when there is no a password that could be checked, the computer cannot be sure if the job was done. A received decoded text has sense only to the man. It is still impossible to exclude the man from the deciphering process. The man creates tools used by the computer for the physical job that would be impossible for the man to achieve by himself. The first example An innocent death-row convict is waiting for the sentence to be executed. In the meantime, his lawyer receives a coded message, and if he succeeds in deciphering it, he might save his client’s life from unjust death sentence. Analysis of the problem for the first example Such a task cannot be solved in a general form. Also, one cannot expect a single programme to decipher any text. Such a task is resolved by a string of auxiliary programmes as tools, not a single programme, because one does not know what step to use after another one that was thought to lead to a goal. First, we would code a programme designating the lengths between the appearances of the same letters, because they can serve as a good example for finding the length of the cipher, i.e. a string of numbers the letters are translated with. In nested cycles, one will calculate positions of appearance of all letters in the alphabetical order and print an appropriate report. The given coded text is placed into the stream of symbols. The second example This problem was established long ago, in 1906. In the following 50 years, only one solution was found and another six were found later. The task is to decipher the following division, by placing a digit to each position. For zeros in front of numbers in interim results, one does not specify especially whether they are allowed or not. For the final solution, we would assume that a stream of numbers does not start with zeroes. Analysis of the problem for the second example The task can be interpreted as a problem of multiplying one six-digit number with a five-digit number so that one receives a ten-digit number with additional limitations visible from the given interim results. The algorithm should include the function that would check whether the number 7 is in designated positions in interim results. We would assume that one seeks only for solutions that assign a digit to an unknown position, and a digit different from zero to the first position. In other words, interim results and the numerator should not start with zero. This causes the task to have a unique solution. Conclusion The paper shows the results of researching possibilities to decipher an encoded text by using the computer with the application of the programming language C. The paper shows some examples of deciphering an alphabetical and numerical cipher that could be especially interesting for the application in the military, police or diplomacy. The analysis shows that, with a good assumption by the man, and using computers with a stream of auxiliary programmes as tools, one can reach the goal in reasonable time. Sinceit is not possible to create a universal algorithm that could decode any cipher, the logical conclusions and selection of tools are the prerequisite of the man. Finally, the very contents of the deciphered text have sense only for further human activities, while computers help only physically to finish the task in a significantly shorter period. The two practical examples explore possibilities of deciphering as well as a justification of the statement that a team made of the man and the computer is unmatched when it comes to resolving cryptographic tasks.
Keywords: cryptography; encoding; translational cipher