From 49dc272d2fc91e7340e56e9e7b96da6ab63514bb Mon Sep 17 00:00:00 2001 From: Neil Smith Date: Wed, 26 Feb 2014 21:03:50 +0000 Subject: [PATCH] Finished for a bit --- cipherbreak.py | 46 +++--- language_models.py | 151 ++++++++++++------- norms.py | 21 +-- segment.py | 39 +---- unknown-word-probability-investigation.ipynb | 28 ++-- 5 files changed, 142 insertions(+), 143 deletions(-) diff --git a/cipherbreak.py b/cipherbreak.py index 728cb81..3993a42 100644 --- a/cipherbreak.py +++ b/cipherbreak.py @@ -3,7 +3,7 @@ import collections import norms import logging from itertools import zip_longest, cycle, permutations -from segment import segment, Pwords +from segment import segment from multiprocessing import Pool from math import log10 @@ -55,39 +55,39 @@ def frequencies(text): # counts[c] += 1 #return counts return collections.Counter(c for c in text) -letter_frequencies = frequencies -def bigram_likelihood(bigram, bf, lf): - return bf[bigram] / (lf[bigram[0]] * lf[bigram[1]]) +def frequency_compare(text, target_frequency, frequency_scaling, metric): + counts = frequency_scaling(frequencies(text)) + return -1 * metric(target_frequency, counts) +def euclidean_compare(text): + return frequency_compare(text, norms.euclidean_scale(english_counts), + norms.euclidean_scale, norms.euclidean_distance) -def caesar_break(message, - metric=norms.euclidean_distance, - target_counts=normalised_english_counts, - message_frequency_scaling=norms.normalise): + +def caesar_break(message, fitness=Pletters): """Breaks a Caesar cipher using frequency analysis >>> caesar_break('ibxcsyorsaqcheyklxivoexlevmrimwxsfiqevvmihrsasrxliwyrh' \ 'ecjsppsamrkwleppfmergefifvmhixscsymjcsyqeoixlm') # doctest: +ELLIPSIS - (4, 0.080345432737...) + (4, -130.849890899...) >>> caesar_break('wxwmaxdgheetgwuxztgptedbgznitgwwhpguxyhkxbmhvvtlbhgtee' \ 'raxlmhiixweblmxgxwmhmaxybkbgztgwztsxwbgmxgmert') # doctest: +ELLIPSIS - (19, 0.11189290326...) + (19, -128.82516920...) >>> caesar_break('yltbbqnqnzvguvaxurorgenafsbezqvagbnornfgsbevpnaabjurer' \ 'svaquvzyvxrnznazlybequrvfohgriraabjtbaruraprur') # doctest: +ELLIPSIS - (13, 0.08293968842...) + (13, -126.25233502...) """ sanitised_message = sanitise(message) best_shift = 0 - best_fit = float("inf") + best_fit = float('-inf') for shift in range(26): plaintext = caesar_decipher(sanitised_message, shift) - counts = message_frequency_scaling(letter_frequencies(plaintext)) - fit = metric(target_counts, counts) + fit = fitness(plaintext) logger.debug('Caesar break attempt using key {0} gives fit of {1} ' 'and decrypt starting: {2}'.format(shift, fit, plaintext[:50])) - if fit < best_fit: + if fit > best_fit: best_fit = fit best_shift = shift logger.info('Caesar break best fit: key {0} gives fit of {1} and ' @@ -119,7 +119,7 @@ def affine_break(message, for adder in range(26): plaintext = affine_decipher(sanitised_message, multiplier, adder, one_based) - counts = message_frequency_scaling(letter_frequencies(plaintext)) + counts = message_frequency_scaling(frequencies(plaintext)) fit = metric(target_counts, counts) logger.debug('Affine break attempt using key {0}x+{1} ({2}) ' 'gives fit of {3} and decrypt starting: {4}'. @@ -156,7 +156,7 @@ def keyword_break(message, for wrap_alphabet in range(3): for keyword in wordlist: plaintext = keyword_decipher(message, keyword, wrap_alphabet) - counts = message_frequency_scaling(letter_frequencies(plaintext)) + counts = message_frequency_scaling(frequencies(plaintext)) fit = metric(target_counts, counts) logger.debug('Keyword break attempt using key {0} (wrap={1}) ' 'gives fit of {2} and decrypt starting: {3}'.format( @@ -199,7 +199,7 @@ def keyword_break_mp(message, def keyword_break_worker(message, keyword, wrap_alphabet, metric, target_counts, message_frequency_scaling): plaintext = keyword_decipher(message, keyword, wrap_alphabet) - counts = message_frequency_scaling(letter_frequencies(plaintext)) + counts = message_frequency_scaling(frequencies(plaintext)) fit = metric(target_counts, counts) logger.debug('Keyword break attempt using key {0} (wrap={1}) gives fit of ' '{2} and decrypt starting: {3}'.format(keyword, @@ -339,7 +339,7 @@ def vigenere_keyword_break(message, best_fit = float("inf") for keyword in wordlist: plaintext = vigenere_decipher(message, keyword) - counts = message_frequency_scaling(letter_frequencies(plaintext)) + counts = message_frequency_scaling(frequencies(plaintext)) fit = metric(target_counts, counts) logger.debug('Vigenere break attempt using key {0} ' 'gives fit of {1} and decrypt starting: {2}'.format( @@ -380,7 +380,7 @@ def vigenere_keyword_break_mp(message, def vigenere_keyword_break_worker(message, keyword, metric, target_counts, message_frequency_scaling): plaintext = vigenere_decipher(message, keyword) - counts = message_frequency_scaling(letter_frequencies(plaintext)) + counts = message_frequency_scaling(frequencies(plaintext)) fit = metric(target_counts, counts) logger.debug('Vigenere keyword break attempt using key {0} gives fit of ' '{1} and decrypt starting: {2}'.format(keyword, @@ -406,7 +406,7 @@ def vigenere_frequency_break(message, sanitised_message = sanitise(message) for trial_length in range(1, 20): splits = every_nth(sanitised_message, trial_length) - key = ''.join([chr(caesar_break(s, target_counts=target_counts)[0] + ord('a')) for s in splits]) + key = ''.join([chr(caesar_break(s)[0] + ord('a')) for s in splits]) plaintext = vigenere_decipher(sanitised_message, key) counts = message_frequency_scaling(frequencies(plaintext)) fit = metric(target_counts, counts) @@ -427,7 +427,7 @@ def beaufort_frequency_break(message, message_frequency_scaling=norms.normalise): """Breaks a Beaufort cipher with frequency analysis - >>> vigenere_frequency_break(vigenere_encipher(sanitise("It is time to " \ + >>> beaufort_frequency_break(beaufort_encipher(sanitise("It is time to " \ "run. She is ready and so am I. I stole Daniel's pocketbook this " \ "afternoon when he left his jacket hanging on the easel in the " \ "attic."), 'florence')) # doctest: +ELLIPSIS @@ -438,7 +438,7 @@ def beaufort_frequency_break(message, sanitised_message = sanitise(message) for trial_length in range(1, 20): splits = every_nth(sanitised_message, trial_length) - key = ''.join([chr(caesar_break(s, target_counts=target_counts)[0] + ord('a')) for s in splits]) + key = ''.join([chr(caesar_break(s)[0] + ord('a')) for s in splits]) plaintext = beaufort_decipher(sanitised_message, key) counts = message_frequency_scaling(frequencies(plaintext)) fit = metric(target_counts, counts) diff --git a/language_models.py b/language_models.py index 8c98a2e..d457386 100644 --- a/language_models.py +++ b/language_models.py @@ -3,33 +3,76 @@ import norms import random import collections import unicodedata +import itertools +from math import log10 -english_counts = collections.defaultdict(int) -with open('count_1l.txt', 'r') as f: - for line in f: - (letter, count) = line.split("\t") - english_counts[letter] = int(count) +def letters(text): + """Remove all non-alphabetic characters from a text + >>> letters('The Quick') + 'TheQuick' + >>> letters('The Quick BROWN fox jumped! over... the (9lazy) DOG') + 'TheQuickBROWNfoxjumpedoverthelazyDOG' + """ + return ''.join([c for c in text if c in string.ascii_letters]) + +def unaccent(text): + """Remove all accents from letters. + It does this by converting the unicode string to decomposed compatability + form, dropping all the combining accents, then re-encoding the bytes. + + >>> unaccent('hello') + 'hello' + >>> unaccent('HELLO') + 'HELLO' + >>> unaccent('héllo') + 'hello' + >>> unaccent('héllö') + 'hello' + >>> unaccent('HÉLLÖ') + 'HELLO' + """ + return unicodedata.normalize('NFKD', text).\ + encode('ascii', 'ignore').\ + decode('utf-8') + +def sanitise(text): + """Remove all non-alphabetic characters and convert the text to lowercase + + >>> sanitise('The Quick') + 'thequick' + >>> sanitise('The Quick BROWN fox jumped! over... the (9lazy) DOG') + 'thequickbrownfoxjumpedoverthelazydog' + >>> sanitise('HÉLLÖ') + 'hello' + """ + # sanitised = [c.lower() for c in text if c in string.ascii_letters] + # return ''.join(sanitised) + return letters(unaccent(text)).lower() + + +def datafile(name, sep='\t'): + """Read key,value pairs from file. + """ + with open(name, 'r') as f: + for line in f: + splits = line.split(sep) + yield [splits[0], int(splits[1])] + +english_counts = collections.Counter(dict(datafile('count_1l.txt'))) normalised_english_counts = norms.normalise(english_counts) -english_bigram_counts = collections.defaultdict(int) -with open('count_2l.txt', 'r') as f: - for line in f: - (bigram, count) = line.split("\t") - english_bigram_counts[bigram] = int(count) +english_bigram_counts = collections.Counter(dict(datafile('count_2l.txt'))) normalised_english_bigram_counts = norms.normalise(english_bigram_counts) -english_trigram_counts = collections.defaultdict(int) -with open('count_3l.txt', 'r') as f: - for line in f: - (trigram, count) = line.split("\t") - english_trigram_counts[trigram] = int(count) +english_trigram_counts = collections.Counter(dict(datafile('count_3l.txt'))) normalised_english_trigram_counts = norms.normalise(english_trigram_counts) with open('words.txt', 'r') as f: keywords = [line.rstrip() for line in f] + def weighted_choice(d): - """Generate a set of random items from a dictionary of item counts + """Generate random item from a dictionary of item counts """ target = random.uniform(0, sum(d.values())) cuml = 0.0 @@ -45,48 +88,48 @@ def random_english_letter(): return weighted_choice(normalised_english_counts) -def letters(text): - """Remove all non-alphabetic characters from a text - >>> letters('The Quick') - 'TheQuick' - >>> letters('The Quick BROWN fox jumped! over... the (9lazy) DOG') - 'TheQuickBROWNfoxjumpedoverthelazyDOG' +class Pdist(dict): + """A probability distribution estimated from counts in datafile. + Values are stored and returned as log probabilities. """ - return ''.join([c for c in text if c in string.ascii_letters]) + def __init__(self, data=[], estimate_of_missing=None): + data1, data2 = itertools.tee(data) + self.total = sum([d[1] for d in data1]) + for key, count in data2: + self[key] = log10(count / self.total) + self.estimate_of_missing = estimate_of_missing or (lambda k, N: 1./N) + def __missing__(self, key): + return self.estimate_of_missing(key, self.total) -def unaccent(text): - """Remove all accents from letters. - It does this by converting the unicode string to decomposed compatability - form, dropping all the combining accents, then re-encoding the bytes. - - >>> unaccent('hello') - 'hello' - >>> unaccent('HELLO') - 'HELLO' - >>> unaccent('héllo') - 'hello' - >>> unaccent('héllö') - 'hello' - >>> unaccent('HÉLLÖ') - 'HELLO' - """ - return unicodedata.normalize('NFKD', text).\ - encode('ascii', 'ignore').\ - decode('utf-8') +def log_probability_of_unknown_word(key, N): + """Estimate the probability of an unknown word. + """ + return -log10(N * 10**((len(key) - 2) * 1.4)) -def sanitise(text): - """Remove all non-alphabetic characters and convert the text to lowercase - - >>> sanitise('The Quick') - 'thequick' - >>> sanitise('The Quick BROWN fox jumped! over... the (9lazy) DOG') - 'thequickbrownfoxjumpedoverthelazydog' - >>> sanitise('HÉLLÖ') - 'hello' +Pw = Pdist(datafile('count_1w.txt'), log_probability_of_unknown_word) +Pl = Pdist(datafile('count_1l.txt'), lambda _k, _N: 0) + +def Pwords(words): + """The Naive Bayes log probability of a sequence of words. """ - # sanitised = [c.lower() for c in text if c in string.ascii_letters] - # return ''.join(sanitised) - return letters(unaccent(text)).lower() + return sum(Pw[w.lower()] for w in words) + +def Pletters(letters): + """The Naive Bayes log probability of a sequence of letters. + """ + return sum(Pl[l.lower()] for l in letters) + + + +def cosine_distance_score(text): + """Finds the dissimilarity of a text to English, using the cosine distance + of the frequency distribution. + + >>> cosine_distance_score('abcabc') # doctest: +ELLIPSIS + 0.370847405... + """ + return norms.cosine_distance(english_counts, + collections.Counter(sanitise(text))) if __name__ == "__main__": diff --git a/norms.py b/norms.py index 36af606..3d6d37d 100644 --- a/norms.py +++ b/norms.py @@ -164,13 +164,13 @@ def cosine_distance(frequencies1, frequencies2): Assumes every key in frequencies1 is also in frequencies2 >>> cosine_distance({'a':1, 'b':1, 'c':1}, {'a':1, 'b':1, 'c':1}) # doctest: +ELLIPSIS - -2.22044604...e-16 + 1.0000000000... >>> cosine_distance({'a':2, 'b':2, 'c':2}, {'a':1, 'b':1, 'c':1}) # doctest: +ELLIPSIS - -2.22044604...e-16 + 1.0000000000... >>> cosine_distance({'a':0, 'b':2, 'c':0}, {'a':1, 'b':1, 'c':1}) # doctest: +ELLIPSIS - 0.4226497308... + 0.5773502691... >>> cosine_distance({'a':0, 'b':1}, {'a':1, 'b':1}) # doctest: +ELLIPSIS - 0.29289321881... + 0.7071067811... """ numerator = 0 length1 = 0 @@ -180,20 +180,9 @@ def cosine_distance(frequencies1, frequencies2): length1 += frequencies1[k]**2 for k in frequencies2.keys(): length2 += frequencies2[k] - return 1 - (numerator / (length1 ** 0.5 * length2 ** 0.5)) + return numerator / (length1 ** 0.5 * length2 ** 0.5) -def log_pl(frequencies1, frequencies2): - return sum([frequencies2[l] * log10(frequencies1[l]) for l in frequencies1]) - -def inverse_log_pl(frequencies1, frequencies2): - return -log_pl(frequencies1, frequencies2) - -def index_of_coincidence(frequencies): - """Finds the (expected) index of coincidence given a set of frequencies - """ - return sum([f ** 2 for f in frequencies.values()]) * len(frequencies.keys()) - if __name__ == "__main__": import doctest diff --git a/segment.py b/segment.py index dd0b2a8..ba3ddd7 100644 --- a/segment.py +++ b/segment.py @@ -1,7 +1,4 @@ -import string -import collections -from math import log10 -import itertools +import language_models import sys from functools import lru_cache sys.setrecursionlimit(1000000) @@ -12,7 +9,7 @@ def segment(text): """ if not text: return [] candidates = ([first]+segment(rest) for first,rest in splits(text)) - return max(candidates, key=Pwords) + return max(candidates, key=language_models.Pwords) def splits(text, L=20): """Return a list of all possible (first, rest) pairs, len(first)<=L. @@ -20,35 +17,3 @@ def splits(text, L=20): return [(text[:i+1], text[i+1:]) for i in range(min(len(text), L))] -def Pwords(words): - """The Naive Bayes log probability of a sequence of words. - """ - return sum(Pw[w.lower()] for w in words) - -class Pdist(dict): - """A probability distribution estimated from counts in datafile. - Values are stored and returned as log probabilities. - """ - def __init__(self, data=[], estimate_of_missing=None): - data1, data2 = itertools.tee(data) - self.total = sum([int(d[1]) for d in data1]) - for key, count in data2: - self[key] = log10(int(count) / self.total) - self.estimate_of_missing = estimate_of_missing or (lambda k, N: 1./N) - def __missing__(self, key): - return self.estimate_of_missing(key, self.total) - -def datafile(name, sep='\t'): - """Read key,value pairs from file. - """ - with open(name, 'r') as f: - for line in f: - yield line.split(sep) - -def avoid_long_words(key, N): - """Estimate the probability of an unknown word. - """ - return -log10((N * 10**(len(key) - 2))) - -Pw = Pdist(datafile('count_1w.txt'), avoid_long_words) - diff --git a/unknown-word-probability-investigation.ipynb b/unknown-word-probability-investigation.ipynb index 75931f9..cba89bf 100644 --- a/unknown-word-probability-investigation.ipynb +++ b/unknown-word-probability-investigation.ipynb @@ -20,7 +20,7 @@ "language": "python", "metadata": {}, "outputs": [], - "prompt_number": 5 + "prompt_number": 1 }, { "cell_type": "code", @@ -39,7 +39,7 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 9, + "prompt_number": 2, "text": [ "[1.0,\n", " 1.0,\n", @@ -64,7 +64,7 @@ ] } ], - "prompt_number": 9 + "prompt_number": 2 }, { "cell_type": "code", @@ -83,11 +83,11 @@ "output_type": "display_data", "png": "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\nA6P5Ivy3tPMPAAAAAElFTkSuQmCC\n", "text": [ - "" + "" ] } ], - "prompt_number": 10 + "prompt_number": 3 }, { "cell_type": "code", @@ -107,11 +107,11 @@ "output_type": "display_data", "png": "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\n", "text": [ - "" + "" ] } ], - "prompt_number": 39 + "prompt_number": 4 }, { "cell_type": "code", @@ -131,11 +131,11 @@ "output_type": "display_data", "png": "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\n/w+H/CoI41pxawAAAABJRU5ErkJggg==\n", "text": [ - "" + "" ] } ], - "prompt_number": 41 + "prompt_number": 5 }, { "cell_type": "code", @@ -144,6 +144,7 @@ "plt.plot([log10(f) for f in fractions], 'bo')\n", "plt.plot([i for i in range(2,20)], [-(i-2) for i in range(2,20)], 'g-')\n", "plt.plot([i for i in range(2,20)], [-(i-3)*1.5 for i in range(2,20)], 'r-')\n", + "plt.plot([i for i in range(2,20)], [-(i-2)*1.4 for i in range(2,20)], 'r^-')\n", "plt.ylabel(\"Log probability of word\")\n", "plt.xlabel(\"Word length\")\n", "plt.show()" @@ -154,13 +155,13 @@ { "metadata": {}, "output_type": "display_data", - "png": "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\n", + "png": "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\n", "text": [ - "" + "" ] } ], - "prompt_number": 40 + "prompt_number": 9 }, { "cell_type": "code", @@ -168,7 +169,8 @@ "input": [], "language": "python", "metadata": {}, - "outputs": [] + "outputs": [], + "prompt_number": 6 } ], "metadata": {} -- 2.34.1