Esempio n. 1
0
    def __init__(self, graph, n_words=None):
        self.graph = graph
        self.n_words = n_words = n_words or len(graph.wordlist) - 1
        assert self.graph.wordlist[0] == ''
        self.idx_to_graph = sorted(range(1, n_words + 1),
                                   key=self.graph.wordlist.__getitem__)

        graph_to_idx = [
            self.idx_to_graph.index(n) for n in range(1, n_words + 1)
        ]
        graph_to_idx = [None] + sorted(range(n_words),
                                       key=self.idx_to_graph.__getitem__)
        assert 0 not in self.idx_to_graph
        assert 0 in graph_to_idx
        for n in range(n_words):
            assert n == graph_to_idx[self.idx_to_graph[n]], n
        # print(self.idx_to_graph, [self.graph.wordlist[x] for x in self.idx_to_graph])
        self.adjacency_lists = [0] * n_words
        for n in range(1, n_words + 1):
            self.adjacency_lists[graph_to_idx[n]] = sorted([
                graph_to_idx[x] for x in digest.decode(self.graph.followers[n])
                if x <= n_words
            ])
        self.path_counts = []
        self.total_paths = 0
Esempio n. 2
0
    def init_decrypt(self):
        self.get_save_path()
        self.write_error()
        ciph_file = self.open_file(self.file_box.get(), "r")
        if ciph_file:
            try:
                contents = [i.strip() for i in ciph_file.split(",")]
                ck = (int(contents[0]), (int(contents[1]), int(contents[2])))
                # temp0 = 0
                # temp1 = []
                # for i in ciph_file:
                #     temp0 += 1
                #     if i == ",":
                #         temp1.append(temp0)
                # c = int(ciph_file[0:temp1[0] - 1])
                # d = int(ciph_file[temp1[0]:temp1[1] - 1])
                # n = int(ciph_file[temp1[1]:len(ciph_file)])
                # ck = (c, (d, n))
                encoded_text = decrypt(ck)
                plain_text = decode(encoded_text)
                decrypted_save_path = self.save_file_path + self.file_name + "_decrypted.txt"

                self.write_output(plain_text)
                self.open_file(decrypted_save_path, "w", plain_text)
                self.write_error(
                    f"Successfully decrypted to {decrypted_save_path}.")
            except IndexError:
                self.write_error("Error: Invalid encrypted file")
            except ValueError:
                self.write_error("Error: Invalid encrypted file")
Esempio n. 3
0
def decrypt():
    """Create decrypted file."""
    try:
        with open("encrypted.txt", "r") as encrypted_file:
            cipher = encrypted_file.read()
            encrypted_file.close()
    except FileNotFoundError:
        print("Error: 'encrypted.txt' not found.")
        return main()
    try:
        with open("key.txt", "r") as key_file:
            priv_key = key_file.read()
            key_file.close()
    except FileNotFoundError:
        print("Error: 'key.txt' not found.")
        return main()
    temp_key = ""
    key = []
    for i in priv_key:
        if i != ",":
            temp_key += i
        else:
            key.append(temp_key)
            temp_key = ""
    decrypted = crypto.decrypt(int(cipher), int(key[0]), int(key[1]))
    print(decrypted)
    plaintext = digest.decode(decrypted)
    print(plaintext)
    with open("decrypted.txt", "w") as output_file:
        output_file.write(str(plaintext))
        output_file.close()
    print("Decryption of 'encrypted.txt' completed successfully.\n\
Please check 'decrypted.txt'.")
Esempio n. 4
0
 def __init__(self, graph, n_words):
     self.graph = graph
     self.n_words = n_words
     self.adjacency_lists = []
     for n in xrange(n_words):
         self.adjacency_lists.append([x for x in digest.decode(self.graph.followers[n])
                                      if x < n_words])
Esempio n. 5
0
 def __init__(self, graph, n_words):
     self.graph = graph
     self.n_words = n_words
     self.adjacency_lists = []
     for n in xrange(n_words):
         self.adjacency_lists.append(
             [x for x in digest.decode(self.graph.followers[n])
              if x < n_words])
Esempio n. 6
0
 def get_followers(self, node_number):
     return set(digest.decode(self.followers[node_number]))
Esempio n. 7
0
def wordgraph_dump(a, b):
    for n in range(a, b):
        print('#%d: %s: %.30s %s' % (n, graph.wordlist[n], graph.followers[n],
                                     digest.decode(graph.followers[n])))
Esempio n. 8
0
 def get_followers(self, node_number):
     return set(digest.decode(self.followers[node_number]))
Esempio n. 9
0
def wordgraph_dump(a, b):
    for n in xrange(a, b):
        print '#%d: %s: %.30s %s' % (n, graph.wordlist[n], graph.followers[n],
                                     digest.decode(graph.followers[n]))