コード例 #1
0
from substitution import Substitution
import random

# Parameters
alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
true_key = "BCDAEFGLKJIHOMNQPRSWVUTYZX"
n_gram = [1, 2]
alpha = [0.3, 0.7]
c0 = 0.8
c1 = 2
c2 = 2

# n_gram statistics
n_gram_files = ["english_monograms.txt", "english_bigrams.txt"]
target = Frequency(n_gram, alphabet)
target.get_frequency_from_file(n_gram_files)
# target.get_frequency(open("text_original.txt", "r").read())

read_cypher = False

originaltext = ""
cyphertext = ""
if (read_cypher):
    cyphertext = open("text_cypher.txt", "r").read()
else:
    # Create cypher text from originaltext_file
    originaltext_file = "text_original.txt"
    originaltext = plaintext(open(originaltext_file, "r").read(), alphabet)
    cyphertext = Substitution(alphabet, true_key).encrypt(originaltext)
    cyphertext_file = "text_cypher.txt"
    open(cyphertext_file, "w").write(cyphertext)