summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Neil Smith [Tue, 26 Nov 2013 16:46:38 +0000 (16:46 +0000)]
Vigenere cipher breaking now with frequency analysis
Neil Smith [Mon, 25 Nov 2013 17:37:10 +0000 (17:37 +0000)]
Merge branch 'master' into neil
Neil Smith [Mon, 25 Nov 2013 17:24:36 +0000 (17:24 +0000)]
Changed norms.normalise to sum elements to one (e.g. probabilities). Index of coincidence still not working properly
Neil Smith [Fri, 22 Nov 2013 10:41:38 +0000 (10:41 +0000)]
Tidyied imports, removed use of itertools.repeat
Neil Smith [Fri, 22 Nov 2013 10:38:09 +0000 (10:38 +0000)]
Fixed vigenere break tests
Neil Smith [Fri, 22 Nov 2013 10:32:20 +0000 (10:32 +0000)]
Split breaking routines out into a separate file. Column transposition now uses as set of transpositions rather than keywords (so keywords with equivalent transpositions are only tested once).
Neil Smith [Fri, 22 Nov 2013 09:10:18 +0000 (09:10 +0000)]
Done Vigenere ciphers and breaking wth a keyword dictionary. Solved challenge 5
Neil Smith [Thu, 21 Nov 2013 18:23:38 +0000 (18:23 +0000)]
Added files for challenge 5
Neil Smith [Wed, 20 Nov 2013 12:14:24 +0000 (12:14 +0000)]
Using ngram length for scytale break
Neil Smith [Wed, 20 Nov 2013 12:12:47 +0000 (12:12 +0000)]
Merge branch 'columns' into neil
Neil Smith [Wed, 20 Nov 2013 12:12:33 +0000 (12:12 +0000)]
Tidying
Neil Smith [Wed, 20 Nov 2013 11:46:26 +0000 (11:46 +0000)]
Test for column transposition break now done
Neil Smith [Tue, 19 Nov 2013 07:36:20 +0000 (07:36 +0000)]
Merge branch 'neil' of git.njae.me.uk:national-cipher-challenge into neil
Neil Smith [Tue, 19 Nov 2013 07:36:13 +0000 (07:36 +0000)]
Added Mona Lisa specific dictionary
Neil Smith [Mon, 18 Nov 2013 20:19:40 +0000 (20:19 +0000)]
Merge branch 'neil' of git.njae.me.uk:national-cipher-challenge into neil
Neil Smith [Mon, 18 Nov 2013 15:19:30 +0000 (15:19 +0000)]
Tidyied use of flag in calling column transposition worker
Neil Smith [Mon, 18 Nov 2013 15:17:46 +0000 (15:17 +0000)]
Used a list comprehension in transpositions_of, refactored column transposition en-/de- cipher
Neil Smith [Mon, 18 Nov 2013 14:40:09 +0000 (14:40 +0000)]
Column transposition working, needs more tests
Neil Smith [Sun, 17 Nov 2013 23:22:45 +0000 (23:22 +0000)]
Column transposition written but untested
Neil Smith [Thu, 14 Nov 2013 18:22:18 +0000 (18:22 +0000)]
Done challenge 4
Neil Smith [Thu, 14 Nov 2013 11:58:50 +0000 (11:58 +0000)]
Changed sanitise and segment to cope with capital letters
Neil Smith [Tue, 12 Nov 2013 11:34:09 +0000 (11:34 +0000)]
Changed frequencies procedure to use a Counter object
Neil Smith [Sat, 9 Nov 2013 13:49:24 +0000 (13:49 +0000)]
Added keyword dictionary
Neil Smith [Sat, 9 Nov 2013 11:24:13 +0000 (11:24 +0000)]
Added challenge 3 files
Neil Smith [Thu, 7 Nov 2013 17:13:26 +0000 (17:13 +0000)]
Done challenge 3, added list of solutions
Neil Smith [Wed, 6 Nov 2013 21:46:26 +0000 (21:46 +0000)]
More whitespace and line length tidying
Neil Smith [Tue, 5 Nov 2013 11:11:36 +0000 (11:11 +0000)]
Few more whitespace tweaks
Neil Smith [Tue, 5 Nov 2013 11:08:39 +0000 (11:08 +0000)]
Fixed whitespace and line lengths
Neil Smith [Mon, 4 Nov 2013 10:30:00 +0000 (10:30 +0000)]
Comment tidying
Neil Smith [Sun, 3 Nov 2013 23:06:02 +0000 (23:06 +0000)]
Tuned default chunksize for keyword break
Neil Smith [Sun, 3 Nov 2013 15:53:01 +0000 (15:53 +0000)]
Merge branch 'multiprocessing' into neil
Neil Smith [Sun, 3 Nov 2013 13:55:05 +0000 (13:55 +0000)]
Multiprocessing now working
Neil Smith [Sun, 3 Nov 2013 11:42:51 +0000 (11:42 +0000)]
Now using the built-in functools.lru_cache instead of my own memo function
Neil Smith [Sun, 3 Nov 2013 11:36:44 +0000 (11:36 +0000)]
Multiprocessing seems to work, but doesn't return a result
Neil Smith [Tue, 29 Oct 2013 15:54:22 +0000 (15:54 +0000)]
Done scytale breaking
Neil Smith [Tue, 29 Oct 2013 12:38:44 +0000 (12:38 +0000)]
Scytale fixed by padding message during enciphering and assuming all rows are the same length during deciphering.
Neil Smith [Fri, 25 Oct 2013 18:59:19 +0000 (19:59 +0100)]
Scytale enciphering working, but have to think about what to do with a 16 character message and a 5-row scytale
Neil Smith [Fri, 25 Oct 2013 16:39:09 +0000 (17:39 +0100)]
Simplified affine ciphers
Neil Smith [Fri, 25 Oct 2013 16:27:36 +0000 (17:27 +0100)]
Fixed typo
Neil Smith [Fri, 25 Oct 2013 15:15:48 +0000 (16:15 +0100)]
Done affine ciphers and breaking them, done challenge 2
Neil Smith [Fri, 25 Oct 2013 09:58:15 +0000 (10:58 +0100)]
Tidied affine cipher and decipher
Neil Smith [Fri, 25 Oct 2013 09:55:12 +0000 (10:55 +0100)]
Added 2013 challenge 2 files
Neil Smith [Fri, 25 Oct 2013 09:54:44 +0000 (10:54 +0100)]
Affine letter enciphering working
Neil Smith [Thu, 24 Oct 2013 17:37:46 +0000 (18:37 +0100)]
2013 Challenge 2 done.
Neil Smith [Wed, 23 Oct 2013 13:04:34 +0000 (14:04 +0100)]
Added text splitting and combining functions
Neil Smith [Sun, 20 Oct 2013 15:42:29 +0000 (16:42 +0100)]
Added notes on using timeit
Neil Smith [Sat, 19 Oct 2013 15:23:24 +0000 (16:23 +0100)]
Increased recursion limit in segment.py
Neil Smith [Sat, 19 Oct 2013 14:12:30 +0000 (15:12 +0100)]
Removed needless parameter from segment.py
Neil Smith [Sat, 19 Oct 2013 14:09:06 +0000 (15:09 +0100)]
Segmentation working, though hits recursion limit for texts longer than 250 characters
Neil Smith [Fri, 18 Oct 2013 08:34:50 +0000 (09:34 +0100)]
Added another mode to keyword cipher.
Neil Smith [Thu, 17 Oct 2013 20:19:23 +0000 (21:19 +0100)]
Word segmentation not working, but it's now late...
Neil Smith [Thu, 17 Oct 2013 18:56:11 +0000 (19:56 +0100)]
Added some test cases and refactored keyword cipher out into a separate function
Neil Smith [Thu, 17 Oct 2013 15:42:54 +0000 (16:42 +0100)]
Tidied up ignored files
Neil Smith [Thu, 17 Oct 2013 14:40:18 +0000 (15:40 +0100)]
Merge branch 'master' of git.njae.me.uk:national-cipher-challenge
Neil Smith [Thu, 17 Oct 2013 14:39:49 +0000 (15:39 +0100)]
Added .gitignore file
Neil Smith [Thu, 17 Oct 2013 14:36:20 +0000 (15:36 +0100)]
Updated .gitignore to ignore .pyc files
Neil Smith [Mon, 14 Oct 2013 21:19:51 +0000 (22:19 +0100)]
Fixed numeric accuracy in doctests
Neil Smith [Mon, 14 Oct 2013 21:15:06 +0000 (22:15 +0100)]
Keyword ciphers now wrap the alphabet
Neil Smith [Mon, 14 Oct 2013 18:33:12 +0000 (19:33 +0100)]
Done keyword ciphers and breaking
Neil Smith [Sat, 12 Oct 2013 16:30:39 +0000 (17:30 +0100)]
Added a test for ngrams
Neil Smith [Fri, 11 Oct 2013 22:38:55 +0000 (23:38 +0100)]
Done one-based affine ciphers, and breaking them.
Neil Smith [Fri, 11 Oct 2013 17:38:10 +0000 (18:38 +0100)]
Tidied files
Neil Smith [Fri, 11 Oct 2013 17:37:13 +0000 (18:37 +0100)]
Can now break Caesar ciphers
Neil Smith [Fri, 11 Oct 2013 10:14:05 +0000 (11:14 +0100)]
Refactored out sanitise, added loading of English letter counts
Neil Smith [Fri, 11 Oct 2013 07:55:21 +0000 (08:55 +0100)]
Added challenge 1 ciphetexts
Neil Smith [Fri, 11 Oct 2013 07:50:09 +0000 (08:50 +0100)]
Challenge 1 done
Neil Smith [Mon, 7 Oct 2013 13:46:41 +0000 (14:46 +0100)]
Removed spurious affine tests
Neil Smith [Mon, 7 Oct 2013 13:45:53 +0000 (14:45 +0100)]
Affine ciphers enciphered, deciphered, and broken. Still needs testing.
Neil Smith [Mon, 7 Oct 2013 12:31:44 +0000 (13:31 +0100)]
Fixed whitespace typo
Neil Smith [Mon, 7 Oct 2013 12:30:28 +0000 (13:30 +0100)]
Fixed bug in Caesar break, added tests.
Neil Smith [Mon, 7 Oct 2013 12:28:24 +0000 (13:28 +0100)]
Fixed bugs in geometric and harmonic means, added some tests.
Neil Smith [Sun, 6 Oct 2013 17:09:49 +0000 (18:09 +0100)]
Added experiment for checking which metrics work best for using unigram frequency analysis for breaking Caesar ciphers
Neil Smith [Sun, 6 Oct 2013 11:37:11 +0000 (12:37 +0100)]
Pulled out the norms into a separate file, corrected a bug in normalise, redid the tests.
Neil Smith [Thu, 3 Oct 2013 19:34:21 +0000 (20:34 +0100)]
Can now do frequency analysis
Neil Smith [Thu, 3 Oct 2013 11:02:42 +0000 (12:02 +0100)]
Created Neil's branch
Neil Smith [Thu, 3 Oct 2013 10:58:35 +0000 (11:58 +0100)]
Initial import