One of the open problems in cryptography is factoring cyclotomic polynomials over finite fields. This has been approached by several researchers, A. Tuxanidy, Q. Wang, H. Meyn, L. Wang, etc. Like in all research, a researcher must hypothesize then test their hypothesis. In order to test a hypothesis about factoring cyclotomic polynomials over finite fields, Maple was used to factor specific polynomials and the program, “analyze_crypto_data.py”, was used to sort the factors into the number of factors of each degree. This sorting algorithm made it a lot easier to work with bigger data, in order to check some hypotheses faster.
- Open up a Terminal that has Python 2.7.x (I use 2.7.5) and change into the directory SixersApplication/MapleCrytography
- Type: python analyze_crypto_data.py --filename=data_good_copy
- Observe the produced file, data_good_copy_results
===== DESCRIPTION OF RESULTS
First, open “data_good_copy”. Observe that the polynomial, often very large, has many factors. Within the factors (the parentheses), the terms are sorted by the highest degree, eg: (x^10+x^9+x^8+x^7+x^6+x^5+x^4+x^3+x^2+x+1). But between the factors, there is no order. The task was to find the degree of each factor, and tally up the totals (where it would be nice to store the factors as proof of the count).
Now, open “data_good_copy_results”. Observe the degrees, the count (the number of factors that had such a degree), and the factors themselves. No need for manual headaches.
In the event that the script does not work for you, the results can be seen in “_data_good_copy_results”.