You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[X]`rotN`: aka Caesar cipher (*N* belongs to [1,25])
292
344
-[X]`scytaleN`: encrypts using the number of letters on the rod (*N* belongs to [1,[)
293
345
-[X]`shiftN`: shift ordinals (*N* belongs to [1,255])
346
+
-[X]`trithemius`: aka Trithemius Cipher (variant of Vigenere Cipher)
347
+
-[X]`vic`: aka VIC Cipher
348
+
-[X]`vigenere`: aka Vigenere Cipher
294
349
-[X]`xorN`: XOR with a single byte (*N* belongs to [1,255])
295
350
296
351
> :warning: Crypto functions are of course definitely **NOT** encoding functions ; they are implemented for leveraging the `.encode(...)` API from `codecs`.
`autoclave` | text <-> Autoclave ciphertext | `autoclave-cipher`, `autokey` |
81
+
82
+
```python
83
+
>>> codext.encode("This is a test !", "autoclave-test")
84
+
'Mlal bz i lmkt !'
85
+
>>> codext.decode("Mlal bz i lmkt !", "autokey_cipher-test")
86
+
'This is a test !'
87
+
```
88
+
89
+
-----
90
+
74
91
### Baconian Cipher
75
92
76
93
It support only letters.
@@ -109,6 +126,25 @@ It implements the cipher for its 4 different keys.
109
126
110
127
-----
111
128
129
+
### Beaufort Cipher
130
+
131
+
This is a variant of the [Vigenere Cipher](#vigenere-cipher). There is no default key, meaning that `beaufort` as the encoding scheme throws a `LookupError` indicating that the _key must be a non-empty alphabetic string_.
This implements the well-known Polybius Square cipher, using the square with the alphabet in normal order as the default. It can be used dynamically with a custom alphabet.
0 commit comments