# Tag Info

21

I fail to see why one would want to use classical or pencil and paper tools for derivation. For anyone attacking your technique it will make no difference. An attacker with a modern computer will only brute force the part you memorized. Any key stretching done on pencil and paper will be a minor nuisance at best; anything done on paper will add no time at ...

12

I would say MiMC is the simplest block cipher with plausible security. The idea is to cube the state, add a random constant, and repeat. This is typically done in a large prime field, but it is trivial to implement field arithmetic in any language with big integer support. Here's a Python implementation: def mimc(x, p, k, constants): x = (x + k) % p ...

11

I will throw tiny encryption algorithm into the mix: https://en.m.wikipedia.org/wiki/Tiny_Encryption_Algorithm It's a very respectable block cipher. It really works as a block cipher with convenient block size of 64 bits and key size of 128 bits. So it behaves much like a DES or AES as in how you use it securely. It's a Feistel network which anyone starting ...

9

The one time pad technically meets all your criteria and I think it's the simplest. It gets used all the time within encryption schemes where it's usually called blinding. Otherwise I would look into small block ciphers. For example, RC5 and skip32. These are probably the simplest beside the OTP.

8

I think the most simple ciphers that are available are stream ciphers. Of course there are secure and non-secure stream ciphers. But e.g. LFSR's based ciphers are pretty easy to understand, and generally you just have to deal with bitops and basic possibly (modulo) addition. Those operations are generally easy to perform "by hand". Of course, to ...

7

If there is no upper bound on the length of the password to be used, the most common suggestion I know to create strong, easily-memorable (for some definition of "easy") password is diceware. The basic idea behind it is that it chooses each word via a roll of 5 d6's (e.g. each word has $6^5= 7765= 2^{12.92}\approx 2^{13}$ options). The entire ...

6

However how do I determine which transposition cipher I would need to use? Am I right to assume this is definitely a transposition cipher also? As you found out that the ciphertext has a similar frequency to the English letter frequency. This can lead to lots of possibilities It can be a shift cipher, that is the generalization of the Caesar cipher $$c = m ... 5 Short Answer: No But it depends on what you mean by good. If pretty lousy by modern standards is your idea of good enough, and you want to use it on your little brother, then this cipher may exceed expectations. Sorge's cipher was powerful in its day. However, it is not a one-time pad; that is, it never offered perfect security. The Sorge cipher is not a ... 4 Let N(\alpha,\beta) be the number of times the equation$$ \alpha\cdot x \oplus \beta \cdot y=0 \tag{0} \label{0} $$holds. Then the LAT matrix entry is$$ L(\alpha\cdot x \oplus \beta \cdot y )= N(\alpha\cdot x \oplus \beta \cdot y)-2^{n-1} $$and since the second term is even (can prove n=1 case directly) we need to show that N(\alpha\cdot x \oplus \... 3 The answer can be found here: The initial function of Colossus was to help determine the starting point of the wheels. Colossus read the cipher’s stream of characters and counted the frequency of each character. Cryptographers then compared the results to the frequency of letter distribution in the German language and to a sample chi-wheel combination, ... 3 a\cdot x +b  means affine not permutation. And a\cdot x +b \bmod 26 is modular affine transformation. a\cdot x +b \bmod 26 can have at most 26\cdot 26 affine transformations some of which have no inverse and therefore without an inverse an affine transformation is not suitable for encryption where it is already not close to the modern encryption ... 2 The one-time pad can be made of digits 0-9, and you can read more about that here. One could also use binary digits, 0 and 1, or letters such as A-Z. Those three alphabets are the most common. Are there any cryptanalysis methods that that allows for that wouldn't apply to a one-time pad composed of letters? No, there are not. A properly generated one-... 2 If the single character frequencies in your ciphertext indeed approximately match typical English letter frequencies — i.e. if the mix of letters is about 13% E, 9% T, 8% A, 7.5% O, 7% I, etc. — then you can indeed be fairly sure that you're dealing with a pure transposition cipher. (If the frequencies are a bit off, but still look plausible for natural text ... 1 Judging by the use-case and solution it's really a pointless thing to do. GPG is used on a computer, so why would you want to create steps to generate the password manually if in the end you'd still need to write it via keyboard? If anything, it's a possible attack vector if the instructions get leaked e.g. via a co-located person or you forgetting it ... 1 Normally you would use a key derivation function, but since this question is about classical cryptography, I'll stick to the basics. An example of what I'll be doing below can be found on Wikipedia. I'll assume the user can remember multiple words of different lengths, for example ["london", "istanbul", "sheffield"]. You can use ... 1 A Ciphertext-only attack is what it sounds like, it's a type of attack model in which the attacker only knows the ciphertext (encrypted text) and has no knowledge of the plaintext (decrypted text). In practice though, usually the attacker has at least some knowledge of the plaintext, like the set of characters used or the language used. A one time pad can't ... 1 A mono-alphabetic substitution cipher simply replaces each symbol with another symbol, in a 1:1 fashion. So indeed you have 26 symbols or letters in the ciphertext. Now say you write down the ABC: ABCDEFGHIJKLMNOPQRSTUVWXYZ Each of these letters will need to be substituted by another one to go from plaintext to ciphertext. Lets use the same same symbols ... 1 Your second Answer first. [2] write down the key column wise as shown ,then fill the plain text row by row so you will get the matrix of (len(plaintext)/7 x 7), now for ciphertext, take first row and then start taking the value in ascending order of key, see below, key and particular row for ex for row 1:- {1:e, 2:r, 3:a,4:s, 5:b,6:l,7:e} row 2:- {1:c,2:a, ... 1 Block size 8 symbols because repetitions. it is not caesar or vigenere because next symbol (B instead of A) in input doesnt mean next symbol in output(j instead of i). It is primitive cipher because 1 letter input makes 1 letter output. Closest thing is likely enigma, the world war 2 cipher machine. To decode think about it as 8 substitute ciphers. Symbol in ... 1 try this one crackthehash2, and share your results :) 1 Not sure anyone here has a sense of humour. But in case they do:- Obviously Kryptos, CIA headquarters, Langley. Less obviously, this sad one time pad message, Surrey, England (also proving that OTPs did exist and were useful). Good luck, and please post your answers here :-( 1 Those are good answers if you need a cypher or public key cryptosystem, but they are not the most secure nor the most simple of cryptographic algorithms. Even Playfair is more complicated than codebook encryption. The more simple and most secure cryptographic algorithm by far is the one-time pad. It is proven secure, and exists of an exclusive-or. The ... 1 No. From 3 “words” as in the question, there can't be any fast public transformation (like the one considered in the question) creating a key of more than about 10 letters in A…Z that is indistinguishable from a key made in a truly random manner, in the sense that has in crypto. Taking the question's numbers, we pick 3 words in a set of 180,000. That's (180,... 1 Shift cipher does not satisfy the perfect secrecy property if message length ≥ 2. Directly quote from https://www.ics.uci.edu/~stasio/fall04/lect1.pdf Proof: Take m_1 = “AB”, m_2 = “AZ”, c = “BC” Then$$ \exists k ∈ K, s.t.Enc(k, m_1) = c$$Namely k = 1. However, for all k ∈ K we have Enc(k, m2) \neq c, and hence$$Prob[Enc(K, m_1) = c] = 1/26  while ...

Only top voted, non community-wiki answers of a minimum length are eligible