First commit, with caesar, solitaire, vigenere, monoalphabetic encrypt/decrypt

This commit is contained in:
Smaug123
2016-01-03 20:58:35 +00:00
parent e8bcf6216c
commit 27675bee94
3 changed files with 38 additions and 4 deletions

View File

@@ -1,3 +1,20 @@
# ClassicalCiphers
## Main Features
Provides access to encryption and decryption of strings according to a variety of classical algorithms.
The Solitaire cipher is included for completeness, though it is perhaps not strictly classical.
## Currently Implemented
* [Caesar]
* [Monoalphabetic substitution]
* [Vigenère]
* [Solitaire]
[Caesar]: https://en.wikipedia.org/wiki/Caesar_cipher
[Vigenere]: https://en.wikipedia.org/wiki/Vigen%C3%A8re_cipher
[Monoalphabetic substitution]: https://en.wikipedia.org/wiki/Substitution_cipher
[Solitaire]: https://en.wikipedia.org/wiki/Solitaire_(cipher)
[![Build Status](https://travis-ci.org/Smaug123/ClassicalCiphers.jl.svg?branch=master)](https://travis-ci.org/Smaug123/ClassicalCiphers.jl)

View File

@@ -1,5 +1,16 @@
module ClassicalCiphers
# package code goes here
# Monoalphabetic
include("common.jl")
include("monoalphabetic.jl")
include("caesar.jl")
include("vigenere.jl")
include("solitaire.jl")
export encrypt_monoalphabetic, decrypt_monoalphabetic,
encrypt_caesar, decrypt_caesar,
encrypt_vigenere, decrypt_vigenere,
encrypt_solitaire, decrypt_solitaire
end # module

View File

@@ -1,5 +1,11 @@
using ClassicalCiphers
using Base.Test
# write your own tests here
@test 1 == 1
tests = ["vigenere", "monoalphabetic", "solitaire"]
println("Running tests:")
for t in tests
test_fn = "$t.jl"
println(" * $test_fn")
include(test_fn)
end