A Java cryptanalysis engine based on letter frequency analysis