4 <title>Keyword ciphers
</title>
5 <meta http-equiv=
"Content-Type" content=
"text/html; charset=UTF-8"/>
6 <style type=
"text/css">
15 h1 { font-size:
3em; }
16 h2 { font-size:
2em; }
17 h3 { font-size:
1.6em; }
19 text-decoration: none;
22 -moz-border-radius:
5px;
23 -web-border-radius:
5px;
31 text-shadow:
0 0 20px #
333;
37 text-shadow:
0 0 20px #
333;
46 <textarea id=
"source">
48 # Cipher programming training
51 * Caesar ciphers: [Making](caesar-encipher.html) and [Breaking](caesar-break.html)
52 * Affine ciphers: [Making](affine-encipher.html) and [Breaking](affine-break.html)
53 * [Word segmentation](word-segmentation.html)
54 * Keyword ciphers: [Making](keyword-encipher.html) and [Breaking](keyword-break.html)
55 * Transposition ciphers: [Making](transposition-encipher.html) and [Breaking](transposition-break.html)
56 * [Alternative plausability scoring](alternative-plaintext-scoring.html)
57 * [Further work](further-work.html)
60 <script src=
"http://gnab.github.io/remark/downloads/remark-0.6.0.min.js" type=
"text/javascript">
63 <script type=
"text/javascript"
64 src=
"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML&delayStartupUntil=configured"></script>
66 <script type=
"text/javascript">
67 var slideshow = remark.create({ ratio:
"16:9" });
72 skipTags: ['script', 'noscript', 'style', 'textarea', 'pre']
75 MathJax.Hub.Queue(function() {
76 $(MathJax.Hub.getAllJax()).map(function(index, elem) {
77 return(elem.SourceElement());
78 }).parent().addClass('has-jax');
80 MathJax.Hub.Configured();