Merge conflict resolved
[cipher-training.git] / SIGNED.md
1 ##### Signed by https://keybase.io/neilnjae
2 ```
3 -----BEGIN PGP SIGNATURE-----
4 Version: GnuPG v2
5
6 iQIcBAABCAAGBQJWjphGAAoJEJPB2e07Pgbq0+wQAII6vI8FpwiD0kEdLDw/2CH3
7 9DjXHEe8FEf5cSt7jfg8uwvUO703FzjiR9fZvy+VcryE4BM4PKaJzb0D1t2NifV8
8 IsCccX1YZG5R5RruPmnQvmHZQn2JWk34lsHjjwUvv6QWbMZPkdIlMW5lt/QG81vy
9 IuFmEhoqzp8QwKIhJla/4/buWGgJRliGdjLMrzn3xWgIqVOtSLtpIhvpXT9sIpfa
10 5/YnE0H4QcT+FgOxkvn9htMLK2FMMY1Oh4eSha0vcp028A7xYTysN766I1a2Vm87
11 jpe/jZ04qUxrVgF5d/hNr5wWRgEChrATTrL6Xj3jtxHNbbV+6+wDew5h1FJ38NdT
12 auILHtRkxmRaUl+39yehxRSzOz6NSRFbqNsy2hpcIxFMkre+9WYCQgqoEbtlLiaJ
13 Wo2Z2t2WIQL3tHDask0k9PkUVGi7YcOxpNJ+Xcr1s028YeKpcFqS6cDMGDV3zCbj
14 KyRWMsxBx2plhLcXcVQkLwKyTe17XrvBB02jzKP2GnNmaHeYezhbmnl5yrlGiV4r
15 eQgfo6Jw7L11IHn3QFYeR5B6RSBqn46Eld1VXmYREY9mwfeFyvKpQnn+nLilBQn0
16 w6Oss26B2HHFAO4xcUAdd91AFylBlGle9egANDpUZV0lrIXsiyvSDov116VnRFDS
17 caoDSNKSuugHWQZOFMx+
18 =vYxp
19 -----END PGP SIGNATURE-----
20
21 ```
22
23 <!-- END SIGNATURES -->
24
25 ### Begin signed statement
26
27 #### Expect
28
29 ```
30 size exec file contents
31 ./
32 384 .gitignore a93de2ae5c2a47a38599751d1f914566569dfa09dd1778e207117db6c71421dd
33 2012/
34 1678 1a.ciphertext c7c16198650e7d91577683acca664a0e588ac5474046a028dea3d9dc4b388df8
35 1678 1a.plaintext 1b34de5b1d1422a3089c54d751dfd3938449c98526137a0b8b3b6561a700f9b5
36 3312 1b.ciphertext ec263c5cb415f99924e5744846c618b2566a072ac79f6b3cfdde294b99c491fd
37 3323 1b.plaintext a7fde879259e64fccca52618a9c008f2111e485ed1c6bfad863c90d8e6ceacae
38 1716 2a.ciphertext 2203112c5b43e09b61d8e2918554831559efc7a1157aafda85c25d5ae67f2f0f
39 1716 2a.plaintext 28afae88a3b3f0e553f326be7efb896587cb4ac43b9fd664d2cc3f9b2489de35
40 2268 2b.ciphertext 587ba7bb4c39d6bd23cbefdcef63d1211d81f6340d401027f9b8e97c97a71b6c
41 2268 2b.plaintext 4ee16e37ec82a6ea5446c3d03689bcf608d7408cf79542accaabc297fe6d9f97
42 1549 3a.ciphertext fcfff1c90fb5e0cb4240b0617cd7a0bfb1f81ee513a572b44562a0e9db9b4a1b
43 1549 3a.plaintext 54c6b1ec3364c34a824ee693c00fa41c466f4bfccad281c4111ce1966232c9f4
44 2009 3b.ciphertext 4a568ac5e67430cd30a2bfd73214a7b3984b3117be16f649ea99c40d3de551c3
45 2118 3b.plaintext a2b398c99fe1f00d3e7c558c5a9ea9d6739120d63e84b17f19d8f524ae9adf26
46 1495 4a.ciphertext 4cbf7aa5d463087f40c3ca724a3860f38b8cad1fc281374eb4567df004d3b5ca
47 1559 4a.plaintext b1c02b4ed9df29fcefb046aec75a7702f6e6c1cd28bd56cc67bec1f4ae2af4fb
48 2137 4b.ciphertext 829ef4812a023567b9652c57f92da6f48c0b854694eac1a7c9452645723e15db
49 2212 4b.plaintext d811c945afab0212c346531fd557c0f1d9a3fb0207835152a1426deda9e0b2a1
50 1449 5a.ciphertext 9fb9fbe92a26b3d1b2f54909e732a0d1afde90f97483affcfa9bbacb4edf3d77
51 1524 5a.plaintext 203ea3702e17269cbed804f019dd887ae7fc27b2585f1551fc758692e5ba14dd
52 2561 5b.ciphertext c0bc2532c853e723fb7c3529c60ca859b7d61af238a98ddaabe0c01423e2a3ab
53 2618 5b.plaintext 61431a5bfd9a0e1e21e8ac7ba764ba46cc4b2a3e7adf22fff13153fdc278a451
54 1225 6a.ciphertext d22c65b2445ab1228c8351239c37310188d4ec9e173825da43f79509d957aada
55 1285 6a.plaintext 27e574c224ad11d7b6258ef6212e8961decac5af3e93c9b08b0919c82c376f98
56 1478 6b.ciphertext e80fc065648e8a4207a7d698cd0f39722d69df819fdf756a7d30e2886670542c
57 1544 6b.plaintext 424fc647b26f1ef153ec73eda2745896813bc1c6b498a5a0b0b05ff931ec5bf6
58 1331 7a.ciphertext d73fe6633bafb097a283396bb5a9b8a5f025031453d1df14156f9c41e898fac3
59 1412 7a.plaintext e13149a6f2df3d7d466f761d58c4a8ca3a82fbbc4f6dca983e83442e5caa748f
60 2551 7b.ciphertext 15200bf858dede4f6cabffaac54c14d37171cd4f7641a059258cd44b6cb98e7d
61 2661 7b.plaintext 430d167225a8f8c98d6e3f69aaca5846ba7d112567b987f3481832b07b03fc05
62 1125 8a.ciphertext 5c47ee5314dc118b515b2ab8dc5ed14c492294e70a67f9329ed10d3486fd9ba6
63 1195 8a.plaintext a1deee4fa908fb536035435eb066d5c1fed91f962cfd0390f5c51fbb60caceb7
64 1783 8b.ciphertext c782e2765c9e3cb0ec72cc77f063ad7f90f2a003d5078b452c24ce3a4549f696
65 1783 8b.plaintext 925b270f35dce522f0447085f78795a6f8101013648c836b029f0535f4d752e6
66 2013/
67 1340 1a.ciphertext 6b69f06bd684fdaa79ff35497715af6ded3c176277859d1d774bb2569dd53a97
68 1340 1a.plaintext cbdaac33a7943a752ba5dd21cf7af23bdbdd22e4a5feb0bccecce45d605d0581
69 1495 1b.ciphertext 2e0389e2c7d3156892f7d361ee79f86eb79d34812fca37d8ce692cb6f3976446
70 1495 1b.plaintext 717b1f8955515a5d5d2f049f0ffe137820d71f8b2a1689e1a29ec30ed7c9d473
71 1135 2a.ciphertext 85ad3dac4751a8db90f391d0f06935a5ef2118d9ac72e05fe0518d7f77bff058
72 1135 2a.plaintext 11cdf7c462c536085daced417023adaeff2f6b7a6162ccd12b340b079bd36b48
73 926 2b.ciphertext 0fc59b28e4cd2db0aa9f28a603e2b25988a6688f05f90a59b205088093721340
74 973 2b.plaintext 019c012f87531e2f9173acae952e7d4a304ed1a62ef341e71455a128d3e7056f
75 983 3a.ciphertext 20ab3ad9342e51d82243a678eaf2bc9187553bcedb50c830541a54f34dc9b3dd
76 1090 3b.ciphertext c35efccfb68ce3eaa5e7c699ed36a09f23aa719125e4df9f2faef11da1cd5d8a
77 1134 4a.ciphertext 523d35a8b412bf2e2a88b160529cae76c512d08f2a589ba53b2ac3c4d4184858
78 1061 4b.ciphertext 2cdebce220d9d20ef4c85f208999f81940383a9181bbb0e63b37b7031edcb688
79 875 5a.ciphertext b841414d1fbf8af991df389b1b9466d0401c39074f7433dcf3e90648b4d9ab5f
80 957 5b.ciphertext 5b6303144fde83cdcdb74976da515933444b7c29efd8ad15d33e65edd2ef78fb
81 712 6a.ciphertext 1313d5ffe4e6d2ee82b4f4bbffbe522d5e073775baa53a11bec10c2a693bc7da
82 1888 6b.ciphertext 137618d9d92a8a28b7b7fff9a385c4c2db76dff10e0d326895cb0723a63a6adc
83 2132 7a.ciphertext d604c136b793701d7501c72821d4069975ce098c2da55fac29331f0045c62b5f
84 1565 7b.ciphertext adeef9d9e985c534c40acee5c6734d04195895a32efd9452a89cafef1fdc91b8
85 182 mona-lisa-words.txt d7d05c9c86f6282fa66df5f4ca795c89f01cef88a9ce8c921ce4484b3d6078a7
86 1190 solutions.txt bd14d8cb1b6694ee4b07d7f38f4df7931e89c10247f101878b6056647bf67cee
87 2014/
88 2015/
89 10000 pysol.zip 64e25c247e877f37285db635fcb5dea101e0c531fdbfe5000bcc088c22caad79|68d878fb019198e691d321be1dd6744fae0b48da9c4e705c34f96e351b00fbed
90 2195 sol.py.zip 4c22e57eaacd8a91ef9b0c338429e400210a03dec9fbacec4a45fe1faed50720|1fd0a62af53125eacfa11016088451e2c58269d98aaef74c320730ebc7601b66
91 18025 LICENSE a01259a1b522cf0de95824f9860613b453153eebac468e96196d5d7dba84786c
92 429647 Programming+for+A+level+Computing+through+automated+cipher+breaking.pdf 2f4008ad7217d7902c99bbfc7394c9b9128a3073f4c5d096ef4653d753358b9d|6c1eb93f74c8e3fd5a180e80ce7b315cb642a9f5f66805a4398f6b793dd9b852
93 61 README.md 277247b410300ee16477b12ca54ad878d81c8061f6134e2e1cadccaf299de3a3
94 6488666 big.txt fa066c7d40f0f201ac4144e652aa62430e58a6b3805ec70650f678da5804e87b
95 318 cipher-training.sublime-project 58e5d5b4e54fb29abecaef2d41266e3355adccb8b6a70bd595e509bd07c16587
96 11564 count_1edit.txt 3bf563ef032ba151ec1a4b2d1f33f50c49f4a47e4dc5b8152394bc5b63f57655|b5fbacbebcc25f5011ce97bc9ac967a09c50eef28b4aa98379a6c426df6ac08b
97 4956241 count_1w.txt 51df159fd3de12b20e403c108f526e96dbd723d9cabdd5f17955cdc16059e690
98 9270 count_2l.txt bc2895f800189070c193907cd8bca956ad65fed2e25c14300d4bb5b6a243ba99
99 5566017 count_2w.txt 781c0596c3eea532d30bef9f3dba1d5137d652f00376260822c761a7584dfb8c
100 220441 count_3l.txt 8702c95530c7d0d182ab94dc03ed7681fcf969819f6db011a58de31411dc6365
101 320508 count_big.txt 3ba257fba1934bd138413d8274e79b56c5992431a27692fd562929aa43ec01a3
102 6357 course-blurb.docx b363ea532c9a12f47e7282ddfcb2a92d72ab6d62d669ea2e5fe31d864486f2f8|dfadc44f8ebac5145acd01156029539bc1e2b697d461ddd9e042f1ce9cc74bbd
103 52120 course-blurb.odt c4ef99012123e3d073cd7895efbe7bcd725e8ecaac7fb82a2936b64d757be90f|c6efb4dcdd883d30a0763c8c1c152e9c8a708a0cfc187aaab7378ff795267650
104 8411 norms.pyc ac7a18765c7bcc27e406d8f38d943408097b3384a271502185d53482e6ec0da7|002b186e716cec64869a00bd2d72e16614931e696daa0cf3529d634a0f270e42
105 4538523 shakespeare.txt 6f9c770efced5c3d87efa6197cd3091b982341372e36c6357f865df91ddecde6
106 592309 sherlock-holmes.txt 0027de6f4110440ea51d67a2f3af3484898c630808f13b1d4db108e6283e67a3|2034ee1ebdec47e839607124d22b674d4614e1cc6209d758f7b6e99e69ae8e08
107 slides/
108 2493 affine-break.html e2ffcbe50ceefb51638a54163829f9eec880a43a900cb7d0e945ce2df153f036
109 6441 affine-encipher.html 4f239d2d9e0ef1f5080d1ab3cbb7c876ea1997e5b6f2b6ba0ff5099297006d8c
110 3320 aims.html a45e8f4b0cc2987656a1b008351e089dcdc2a717aa1b6aa540bf4e8a4435fe17
111 6835 alternative-plaintext-scoring.html c313d095c04faa6dae6c57fc20dd5b94f08746c4e8352c73178f335328a8a02d
112 7831 c1a_frequency_histogram.png a79cdaebf4db843aae7e302c2cb3c4606908465f5d6aed702c5c33d591780561|13ea628dccda1a22116fce7fc348b0977b451ba76f671184e45dcad239db6dd6
113 8128 caesar-break.html 51cbf526cbdaef6ec506f888f883eb9239cf6afef54d1321721247e1e7029874
114 3793 caesar-encipher.html 66d4b2d96571a9d7edb10f79d176327efbc3923af2e19c7f61800eea376716e3
115 7860 caesarwheel1.gif fd5a9d2d8ef261b0b7ec4536fc56a27ebec94ac91ff2ca136b74d5c066f3ecce|4c536ee4df63c73c2e5e213ca1f96c2fea0bc058efe991f78fd304ff215e6fcd
116 8200 english_frequency_histogram.png c4a1afec62d2fcda15824f71df3c997088c4a952ee5fe0bc6fa753ede08b2098|6eabd4ebdc616722c9fe3a419e8ca5fc309452120e5023b2e5cb783b9d6d2df8
117 9192 fast-good-cheap.gif 4bc052364a91f4c7f98d5ac4e5ac6abd3a3968cabc7f892eb7c3b987adf9e793|4359cbb234f29ca93ff2fa8dd931ce95dab97cd723788937c5d5d259f913afb7
118 2714 further-work.html 66339213b16c1a98e4afc5c1ec4878bb4839c43ae963e56dd4be624fc60b8895
119 31180 gcd.svg d5b93a7fe870742df02c201d8e12172f2a67798376c54761281c0a660160e753
120 2870 index.html f6c2cbaaaeb43db84e9e1bbd2654c31103e22ae3bdf683bfe6d6719a074c9024
121 5312 keyword-break.html 3217d573ee8ce0ce73e57d23122dec2de39088d006eb0af16d14405361e99d6c
122 5456 keyword-encipher.html d8d54fc7ebc88b52bade6c3da2ba81bceb110beeb1a82ff5ffd3fa2593ecdab8
123 2989 pocket-enigma-break.html aff9bd947680764ebc7fbf7e62cee948f290b1b81f4c2c2f819734ed24c34da1
124 6195 pocket-enigma-encipher.html d930d9149da4ca6766343524aa7df77a64bceaa5264f97bad48574bf0f46e69b
125 108903 pocket-enigma-small.jpg df9796ce51dbd5b86c1c1ec8a3a6806a77a67025c4dd4400676d24ae53b02cfe|395240459ad459032cab96c25d7ad682faaf7e4e2d9c58f64175ce5eb5467235
126 409764 pocket-enigma.jpg aeb79ca953b7fac863340d71f675a50029687aa97bae8af4068927414aeec96c|0fd2d5b1683451ecee1a6501c4ccfa311293e15bcdb063314776493e5746a04b
127 3460 transposition-break.html 5d3df37e584ac2b0cf2a6b49cc9276bf0964cf4290bda35e808467c12224b2ea
128 5758 transposition-encipher.html 2c1c3e64dc875de00a481eefe782fd1a812a9035a10a27e993ccf9414e087762
129 52398 typingmonkeylarge.jpg 04eba431d38b1d9b5a89065c6a6571e28cddb7052ade379b532d4475ab99cf4a|1357b8bbc859ae4487dac3e431463a2df0ac46851baf24e2811a70bc3b11100c
130 15756 vector-dot-product.svg 7dbdf0245ee01f8c920518164ef88f3978312a85ef0e9b6c7771c5a053227d26
131 9845 vector-subtraction.svg 25bf3a4c46253c529f9fe801c350e26f34401e8176496b1de2041b329cd8f1d8
132 8918 word-segmentation.html f39cb54c31412c00c5bdeadcc235f261663596293ecb639921d6dc79ac1fafa8
133 451530 spell-errors.txt a4abe6ce6c24280f9a8d0485cbf78ddd2e58279ca01293692630a08ba4b13407
134 3291641 war-and-peace.txt 3ed0f41cfdf660846878943bad5b9d575bcae1e4a92ee9a7f43d3c9dba2af344|6799e48d3fd0a6f4c40b9951ec86de6da81f0b9cd36e413490ac511542ca54d3
135 868202 words.txt aa77abbcba3c6dee1306d93adcedc2b2ccb8a4e0344a39d0676732ff58ebd5e5
136 868384 words_2013.txt 57faa4841fe28dd82a5da4488b6381c194df6e1ecc04e61fb9f60e842bbca18c
137 ```
138
139 #### Ignore
140
141 ```
142 /SIGNED.md
143 ```
144
145 #### Presets
146
147 ```
148 git # ignore .git and anything as described by .gitignore files
149 ```
150
151 <!-- summarize version = 0.0.9 -->
152
153 ### End signed statement
154
155 <hr>
156
157 #### Notes
158
159 With keybase you can sign any directory's contents, whether it's a git repo,
160 source code distribution, or a personal documents folder. It aims to replace the drudgery of:
161
162 1. comparing a zipped file to a detached statement
163 2. downloading a public key
164 3. confirming it is in fact the author's by reviewing public statements they've made, using it
165
166 All in one simple command:
167
168 ```bash
169 keybase dir verify
170 ```
171
172 There are lots of options, including assertions for automating your checks.
173
174 For more info, check out https://keybase.io/docs/command_line/code_signing