Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ‘Recursive’ Algorithms that naturally give low frequencies of repeats
- By repeats we mean the low numbers of a rune followed by the same rune, http://imgur.com/eAVCeeC
- 1. Example Plain-Text (PT):
- FOR ALL THAT LIUES IS HOLY. AN INSTRUCTION COMMAND YOUR OWN SELF.
- 2. Choose a shift that maps a low frequency rune to 0, for example IO = 0 (remember to preserve the order from the Gematria Primus):
- F->27, U->26, TH->25, O->24, R->23, C->22, G->21, W->20, H->19, N->18, I->17, J->16, EO->15, P->14, X->13, S->12,
- T->11, B->10, E->9, M->8, L->7, (I)NG->6, OE->5, D->4, A->3, AE->2, Y->1, IO->0, EA->28
- PT = {27,24,23},{3,7,7},{25,3,11},{7,17,26,9,12},{17,12},{19,24,7,1},{3,18},{17,18,12,11,23,26,22,11,0,18},{22,24,8,8,3,18,4},{1,24,26,23},{24,20,18},{12,9,7,27}
- 3. Choose a key the length of the message ,e.g. the primes:
- Key = 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229
- 4. Encryption Algorithm: calculate cipher text (CT) from PT and key, n is the index we iterate over (n=0 to length of PT)
- if n = 0
- CT[n] = ( PT[n] * key[n] ) % 29
- else
- CT[n] = ( PT[n] * key[n] + CT[n-1] ) % 29
- giving:
- CT = 25, 10, 9, 1, 20, 24, 14, 13, 5, 5, 10, 15, 7, 1, 17, 15, 5, 19, 24, 8, 24, 25, 15, 22, 26, 6, 26, 24, 15, 11, 11, 20, 18, 19, 22, 12, 19, 24, 25, 24, 28, 7, 21, 13, 9, 24, 4, 10, 4, 10
- Notice the CT has repeats (same number twice in a row) ONLY where the low frequency rune, IO, is, OR when key[n] = 0. Some runes are very infrequent in runeglish and so you can naturally get a low number of repeats in the CT with a method such as this. (This is the most simple algorithm I can think of that demonstrates this property, there are others)
- 5. Decrypting: To reverse the algorithm you need to work backwards, –n is the last part of the CT, and solve:
- (CT[-n]-CT[-n-1] + L * 29 ) / key[-n] = PT[n]
- Where PT[n] and L must be integers
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement