cipher-tools.git
11 years agoVigenere cipher breaking now with frequency analysis
Neil Smith [Tue, 26 Nov 2013 16:46:38 +0000 (16:46 +0000)]
Vigenere cipher breaking now with frequency analysis

11 years agoMerge branch 'master' into neil
Neil Smith [Mon, 25 Nov 2013 17:37:10 +0000 (17:37 +0000)]
Merge branch 'master' into neil

11 years agoChanged norms.normalise to sum elements to one (e.g. probabilities). Index of coincid...
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

11 years agoTidyied imports, removed use of itertools.repeat
Neil Smith [Fri, 22 Nov 2013 10:41:38 +0000 (10:41 +0000)]
Tidyied imports, removed use of itertools.repeat

11 years agoFixed vigenere break tests
Neil Smith [Fri, 22 Nov 2013 10:38:09 +0000 (10:38 +0000)]
Fixed vigenere break tests

11 years agoSplit breaking routines out into a separate file. Column transposition now uses as...
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).

11 years agoDone Vigenere ciphers and breaking wth a keyword dictionary. Solved challenge 5
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

11 years agoAdded files for challenge 5
Neil Smith [Thu, 21 Nov 2013 18:23:38 +0000 (18:23 +0000)]
Added files for challenge 5

11 years agoUsing ngram length for scytale break
Neil Smith [Wed, 20 Nov 2013 12:14:24 +0000 (12:14 +0000)]
Using ngram length for scytale break

11 years agoMerge branch 'columns' into neil
Neil Smith [Wed, 20 Nov 2013 12:12:47 +0000 (12:12 +0000)]
Merge branch 'columns' into neil

11 years agoTidying
Neil Smith [Wed, 20 Nov 2013 12:12:33 +0000 (12:12 +0000)]
Tidying

11 years agoTest for column transposition break now done
Neil Smith [Wed, 20 Nov 2013 11:46:26 +0000 (11:46 +0000)]
Test for column transposition break now done

11 years agoMerge branch 'neil' of git.njae.me.uk:national-cipher-challenge into neil
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

11 years agoAdded Mona Lisa specific dictionary
Neil Smith [Tue, 19 Nov 2013 07:36:13 +0000 (07:36 +0000)]
Added Mona Lisa specific dictionary

11 years agoMerge branch 'neil' of git.njae.me.uk:national-cipher-challenge into neil
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

11 years agoTidyied use of flag in calling column transposition worker
Neil Smith [Mon, 18 Nov 2013 15:19:30 +0000 (15:19 +0000)]
Tidyied use of flag in calling column transposition worker

11 years agoUsed a list comprehension in transpositions_of, refactored column transposition en...
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

11 years agoColumn transposition working, needs more tests
Neil Smith [Mon, 18 Nov 2013 14:40:09 +0000 (14:40 +0000)]
Column transposition working, needs more tests

11 years agoColumn transposition written but untested
Neil Smith [Sun, 17 Nov 2013 23:22:45 +0000 (23:22 +0000)]
Column transposition written but untested

11 years agoDone challenge 4
Neil Smith [Thu, 14 Nov 2013 18:22:18 +0000 (18:22 +0000)]
Done challenge 4

11 years agoChanged sanitise and segment to cope with capital letters
Neil Smith [Thu, 14 Nov 2013 11:58:50 +0000 (11:58 +0000)]
Changed sanitise and segment to cope with capital letters

11 years agoChanged frequencies procedure to use a Counter object
Neil Smith [Tue, 12 Nov 2013 11:34:09 +0000 (11:34 +0000)]
Changed frequencies procedure to use a Counter object

11 years agoAdded keyword dictionary eloise
Neil Smith [Sat, 9 Nov 2013 13:49:24 +0000 (13:49 +0000)]
Added keyword dictionary

11 years agoAdded challenge 3 files
Neil Smith [Sat, 9 Nov 2013 11:24:13 +0000 (11:24 +0000)]
Added challenge 3 files

11 years agoDone challenge 3, added list of solutions
Neil Smith [Thu, 7 Nov 2013 17:13:26 +0000 (17:13 +0000)]
Done challenge 3, added list of solutions

11 years agoMore whitespace and line length tidying
Neil Smith [Wed, 6 Nov 2013 21:46:26 +0000 (21:46 +0000)]
More whitespace and line length tidying

11 years agoFew more whitespace tweaks
Neil Smith [Tue, 5 Nov 2013 11:11:36 +0000 (11:11 +0000)]
Few more whitespace tweaks

11 years agoFixed whitespace and line lengths
Neil Smith [Tue, 5 Nov 2013 11:08:39 +0000 (11:08 +0000)]
Fixed whitespace and line lengths

11 years agoComment tidying
Neil Smith [Mon, 4 Nov 2013 10:30:00 +0000 (10:30 +0000)]
Comment tidying

11 years agoTuned default chunksize for keyword break
Neil Smith [Sun, 3 Nov 2013 23:06:02 +0000 (23:06 +0000)]
Tuned default chunksize for keyword break

11 years agoMerge branch 'multiprocessing' into neil
Neil Smith [Sun, 3 Nov 2013 15:53:01 +0000 (15:53 +0000)]
Merge branch 'multiprocessing' into neil

11 years agoMultiprocessing now working
Neil Smith [Sun, 3 Nov 2013 13:55:05 +0000 (13:55 +0000)]
Multiprocessing now working

11 years agoNow using the built-in functools.lru_cache instead of my own memo function
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

11 years agoMultiprocessing seems to work, but doesn't return a result
Neil Smith [Sun, 3 Nov 2013 11:36:44 +0000 (11:36 +0000)]
Multiprocessing seems to work, but doesn't return a result

11 years agoDone scytale breaking
Neil Smith [Tue, 29 Oct 2013 15:54:22 +0000 (15:54 +0000)]
Done scytale breaking

11 years agoScytale fixed by padding message during enciphering and assuming all rows are the...
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.

11 years agoScytale enciphering working, but have to think about what to do with a 16 character...
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

11 years agoSimplified affine ciphers
Neil Smith [Fri, 25 Oct 2013 16:39:09 +0000 (17:39 +0100)]
Simplified affine ciphers

11 years agoFixed typo
Neil Smith [Fri, 25 Oct 2013 16:27:36 +0000 (17:27 +0100)]
Fixed typo

11 years agoDone affine ciphers and breaking them, done challenge 2
Neil Smith [Fri, 25 Oct 2013 15:15:48 +0000 (16:15 +0100)]
Done affine ciphers and breaking them, done challenge 2

11 years agoTidied affine cipher and decipher
Neil Smith [Fri, 25 Oct 2013 09:58:15 +0000 (10:58 +0100)]
Tidied affine cipher and decipher

11 years agoAdded 2013 challenge 2 files
Neil Smith [Fri, 25 Oct 2013 09:55:12 +0000 (10:55 +0100)]
Added 2013 challenge 2 files

11 years agoAffine letter enciphering working
Neil Smith [Fri, 25 Oct 2013 09:54:44 +0000 (10:54 +0100)]
Affine letter enciphering working

11 years ago2013 Challenge 2 done.
Neil Smith [Thu, 24 Oct 2013 17:37:46 +0000 (18:37 +0100)]
2013 Challenge 2 done.

11 years agoAdded text splitting and combining functions
Neil Smith [Wed, 23 Oct 2013 13:04:34 +0000 (14:04 +0100)]
Added text splitting and combining functions

11 years agoAdded notes on using timeit
Neil Smith [Sun, 20 Oct 2013 15:42:29 +0000 (16:42 +0100)]
Added notes on using timeit

11 years agoIncreased recursion limit in segment.py
Neil Smith [Sat, 19 Oct 2013 15:23:24 +0000 (16:23 +0100)]
Increased recursion limit in segment.py

11 years agoRemoved needless parameter from segment.py
Neil Smith [Sat, 19 Oct 2013 14:12:30 +0000 (15:12 +0100)]
Removed needless parameter from segment.py

11 years agoSegmentation working, though hits recursion limit for texts longer than 250 characters
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

11 years agoAdded another mode to keyword cipher.
Neil Smith [Fri, 18 Oct 2013 08:34:50 +0000 (09:34 +0100)]
Added another mode to keyword cipher.

11 years agoWord segmentation not working, but it's now late...
Neil Smith [Thu, 17 Oct 2013 20:19:23 +0000 (21:19 +0100)]
Word segmentation not working, but it's now late...

11 years agoAdded some test cases and refactored keyword cipher out into a separate function
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

11 years agoTidied up ignored files
Neil Smith [Thu, 17 Oct 2013 15:42:54 +0000 (16:42 +0100)]
Tidied up ignored files

11 years agoMerge branch 'master' of git.njae.me.uk:national-cipher-challenge
Neil Smith [Thu, 17 Oct 2013 14:40:18 +0000 (15:40 +0100)]
Merge branch 'master' of git.njae.me.uk:national-cipher-challenge

11 years agoAdded .gitignore file
Neil Smith [Thu, 17 Oct 2013 14:39:49 +0000 (15:39 +0100)]
Added .gitignore file

11 years agoUpdated .gitignore to ignore .pyc files
Neil Smith [Thu, 17 Oct 2013 14:36:20 +0000 (15:36 +0100)]
Updated .gitignore to ignore .pyc files

11 years agoFixed numeric accuracy in doctests
Neil Smith [Mon, 14 Oct 2013 21:19:51 +0000 (22:19 +0100)]
Fixed numeric accuracy in doctests

11 years agoKeyword ciphers now wrap the alphabet
Neil Smith [Mon, 14 Oct 2013 21:15:06 +0000 (22:15 +0100)]
Keyword ciphers now wrap the alphabet

11 years agoDone keyword ciphers and breaking
Neil Smith [Mon, 14 Oct 2013 18:33:12 +0000 (19:33 +0100)]
Done keyword ciphers and breaking

11 years agoAdded a test for ngrams
Neil Smith [Sat, 12 Oct 2013 16:30:39 +0000 (17:30 +0100)]
Added a test for ngrams

11 years agoDone one-based affine ciphers, and breaking them.
Neil Smith [Fri, 11 Oct 2013 22:38:55 +0000 (23:38 +0100)]
Done one-based affine ciphers, and breaking them.

11 years agoTidied files
Neil Smith [Fri, 11 Oct 2013 17:38:10 +0000 (18:38 +0100)]
Tidied files

11 years agoCan now break Caesar ciphers
Neil Smith [Fri, 11 Oct 2013 17:37:13 +0000 (18:37 +0100)]
Can now break Caesar ciphers

11 years agoRefactored out sanitise, added loading of English letter counts
Neil Smith [Fri, 11 Oct 2013 10:14:05 +0000 (11:14 +0100)]
Refactored out sanitise, added loading of English letter counts

11 years agoAdded challenge 1 ciphetexts
Neil Smith [Fri, 11 Oct 2013 07:55:21 +0000 (08:55 +0100)]
Added challenge 1 ciphetexts

11 years agoChallenge 1 done
Neil Smith [Fri, 11 Oct 2013 07:50:09 +0000 (08:50 +0100)]
Challenge 1 done

11 years agoRemoved spurious affine tests
Neil Smith [Mon, 7 Oct 2013 13:46:41 +0000 (14:46 +0100)]
Removed spurious affine tests

11 years agoAffine ciphers enciphered, deciphered, and broken. Still needs testing.
Neil Smith [Mon, 7 Oct 2013 13:45:53 +0000 (14:45 +0100)]
Affine ciphers enciphered, deciphered, and broken. Still needs testing.

11 years agoFixed whitespace typo
Neil Smith [Mon, 7 Oct 2013 12:31:44 +0000 (13:31 +0100)]
Fixed whitespace typo

11 years agoFixed bug in Caesar break, added tests.
Neil Smith [Mon, 7 Oct 2013 12:30:28 +0000 (13:30 +0100)]
Fixed bug in Caesar break, added tests.

11 years agoFixed bugs in geometric and harmonic means, added some tests.
Neil Smith [Mon, 7 Oct 2013 12:28:24 +0000 (13:28 +0100)]
Fixed bugs in geometric and harmonic means, added some tests.

11 years agoAdded experiment for checking which metrics work best for using unigram frequency...
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

11 years agoPulled out the norms into a separate file, corrected a bug in normalise, redid the...
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.

11 years agoCan now do frequency analysis
Neil Smith [Thu, 3 Oct 2013 19:34:21 +0000 (20:34 +0100)]
Can now do frequency analysis

11 years agoCreated Neil's branch
Neil Smith [Thu, 3 Oct 2013 11:02:42 +0000 (12:02 +0100)]
Created Neil's branch

11 years agoInitial import
Neil Smith [Thu, 3 Oct 2013 10:58:35 +0000 (11:58 +0100)]
Initial import