Neil Smith [Tue, 17 May 2016 10:58:12 +0000 (11:58 +0100)]
Added bombe
Neil Smith [Mon, 16 May 2016 10:38:07 +0000 (11:38 +0100)]
Converted Enigma notebook to Python file, included tests as doctest
Neil Smith [Sun, 15 May 2016 22:45:52 +0000 (23:45 +0100)]
Updated engima machine, refactored, added tests
Neil Smith [Sat, 14 May 2016 07:26:16 +0000 (08:26 +0100)]
Built enigma machine
Neil Smith [Sun, 27 Mar 2016 12:16:30 +0000 (13:16 +0100)]
Added cat and wcat utility functions
Neil Smith [Sun, 10 Jan 2016 15:35:04 +0000 (15:35 +0000)]
More tweaking
Neil Smith [Thu, 7 Jan 2016 16:39:43 +0000 (16:39 +0000)]
Moved cracking files into directories
Neil Smith [Wed, 6 Jan 2016 20:52:58 +0000 (20:52 +0000)]
Challenge 8a done, 8b not attempted
Neil Smith [Wed, 6 Jan 2016 18:45:44 +0000 (18:45 +0000)]
Done challenge 7, updated Amsco implementation to match
Neil Smith [Fri, 27 Nov 2015 17:45:16 +0000 (17:45 +0000)]
Challenge 6
Neil Smith [Fri, 20 Nov 2015 15:44:00 +0000 (15:44 +0000)]
Done challenge 5
Neil Smith [Sun, 15 Nov 2015 21:15:33 +0000 (21:15 +0000)]
Resigned
Neil Smith [Sun, 15 Nov 2015 21:12:59 +0000 (21:12 +0000)]
Done tasks 3 and 4
Neil Smith [Fri, 16 Oct 2015 08:49:42 +0000 (09:49 +0100)]
Started 2015 challenges
Neil Smith [Mon, 23 Feb 2015 09:11:46 +0000 (09:11 +0000)]
More work on challenge 8b
Neil Smith [Mon, 29 Dec 2014 22:29:29 +0000 (22:29 +0000)]
Signed
Neil Smith [Mon, 29 Dec 2014 22:24:54 +0000 (22:24 +0000)]
Done Cadenus ciphers, but not automated breaking
Neil Smith [Fri, 19 Dec 2014 14:42:48 +0000 (14:42 +0000)]
Added challenge 8 files, done 8a
Neil Smith [Wed, 17 Dec 2014 03:48:13 +0000 (03:48 +0000)]
Added keybase signature
Neil Smith [Mon, 8 Dec 2014 20:09:47 +0000 (20:09 +0000)]
Deleted the Sublime project file
# Conflicts:
# cipher.sublime-project
Neil Smith [Mon, 8 Dec 2014 17:08:53 +0000 (17:08 +0000)]
Added AMSCO ciphers, done challenge 7
Neil Smith [Sun, 30 Nov 2014 16:04:43 +0000 (16:04 +0000)]
Breaking hill ciphers done, challenge 6 done.
Neil Smith [Sun, 30 Nov 2014 12:32:39 +0000 (12:32 +0000)]
Hill ciphers enciphering and deciphering done
Neil Smith [Fri, 28 Nov 2014 15:13:35 +0000 (15:13 +0000)]
Fixed railfence ciphers, done challenges 2014 4 and 5
Neil Smith [Fri, 24 Oct 2014 07:53:36 +0000 (08:53 +0100)]
Done railfence ciphers
Neil Smith [Thu, 23 Oct 2014 15:44:07 +0000 (16:44 +0100)]
Started on challenge 4
Neil Smith [Wed, 22 Oct 2014 19:08:55 +0000 (20:08 +0100)]
Challenge 3
Neil Smith [Mon, 13 Oct 2014 09:53:20 +0000 (10:53 +0100)]
Solved 2014 challenges 1 and 2
Neil Smith [Mon, 13 Oct 2014 09:26:32 +0000 (10:26 +0100)]
Added 2014 challenge 1 and 2
Neil Smith [Thu, 6 Mar 2014 16:17:50 +0000 (11:17 -0500)]
Moved ngrams
Neil Smith [Thu, 6 Mar 2014 02:58:51 +0000 (21:58 -0500)]
All breaking tests now pass
Neil Smith [Wed, 5 Mar 2014 21:37:40 +0000 (16:37 -0500)]
Changed the break routines, no to make them all work again
Neil Smith [Wed, 5 Mar 2014 18:17:14 +0000 (13:17 -0500)]
Finished the revision of norms, with the revised method for finding the best parameters for breaking caesar ciphers
Neil Smith [Wed, 26 Feb 2014 21:03:50 +0000 (21:03 +0000)]
Finished for a bit
Neil Smith [Wed, 12 Feb 2014 22:24:25 +0000 (22:24 +0000)]
Investigation into unknown word probabilities
Neil Smith [Wed, 12 Feb 2014 21:01:24 +0000 (21:01 +0000)]
Transpositions rewritten
Neil Smith [Wed, 12 Feb 2014 18:20:14 +0000 (18:20 +0000)]
Transposition ciphers working
Neil Smith [Wed, 12 Feb 2014 17:03:41 +0000 (17:03 +0000)]
Fiddling with cracking dictionaries
Neil Smith [Fri, 31 Jan 2014 15:32:45 +0000 (15:32 +0000)]
Merge branch 'transpositions' of git.njae.me.uk:national-cipher-challenge into transpositions
Neil Smith [Fri, 31 Jan 2014 15:32:30 +0000 (15:32 +0000)]
Various changes
Neil Smith [Fri, 31 Jan 2014 15:31:08 +0000 (15:31 +0000)]
Merge branch 'transpositions' of git.njae.me.uk:national-cipher-challenge into transpositions
Neil Smith [Fri, 31 Jan 2014 15:30:37 +0000 (15:30 +0000)]
Changed dictionary iterations
Neil Smith [Mon, 27 Jan 2014 11:24:18 +0000 (11:24 +0000)]
Fixed accent removal
Neil Smith [Sun, 26 Jan 2014 21:22:13 +0000 (21:22 +0000)]
Done for the day
Neil Smith [Sun, 26 Jan 2014 16:55:55 +0000 (16:55 +0000)]
Moving to a different machine
Neil Smith [Sun, 19 Jan 2014 20:51:20 +0000 (20:51 +0000)]
Deleted old copy of 'find caesar break params'
Neil Smith [Sun, 19 Jan 2014 20:42:10 +0000 (20:42 +0000)]
Fixed typos, changed 'find parameters' output formatting
Neil Smith [Sat, 18 Jan 2014 18:39:06 +0000 (18:39 +0000)]
Tweaks, and record of a run
Neil Smith [Sat, 18 Jan 2014 17:18:26 +0000 (17:18 +0000)]
New version of find casesar break parameters
Neil Smith [Fri, 17 Jan 2014 20:00:49 +0000 (20:00 +0000)]
Caesar parameter trials updated
Neil Smith [Tue, 31 Dec 2013 22:55:53 +0000 (22:55 +0000)]
Challenges 6 and 7
Neil Smith [Tue, 26 Nov 2013 16:53:58 +0000 (16:53 +0000)]
Renamed break.py to cipherbreak.py so it wasn't a reserved word.
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