Hot answers tagged

8

Historically, there did exist a benefit to using a language that the adversary was not familiar with. The name for this is code talkers, and the most famous ones (at least in the USA) are the Navajo code talkers of World War II. The idea was to defeat attacks that relied on statistics about the language used in the plaintext. In modern cryptography, ...


5

Is there a reason that expanded messages are much more difficult to crack? When looking purely at encryption, message expansion does not really tell you anything about the difficulty to crack it. Message expansion is often a feature of asymmetric cryptosystems. Those are not inherently more difficult to crack than symmetric systems. Block ciphers also ...


4

Disclaimer: I'm answering without any knowledge on the content of the paper in question. Why there are numbers in this Figure 1, that are placed in vertical form? Because otherwise the figure would not fit into the page width (or the authors would have to use unreadably small font). How to interpret this axis X? I imagine that are interval times ...


4

If you're referring to a classical cipher, it might complicate frequency analysis and other such techniques. For a modern cipher, it makes no difference. Modern ciphers operate on arbitrary patterns of information. Ideally, the ciphertext of a modern cipher should have no relation of any kind to the associated plaintext, other then the key.


3

The actual "encryption" is done on this line: mysecretmessage[i] ^= ((mysecretvalue>>(8*(i%4)))&255); Clearly, this line XORs every byte (or at least, every element; but it makes sense to assume that this is indeed a byte array) of mysecretmessage with some value derived from mysecretvalue and the byte counter i. So what does the expression ((...


3

Assuming your differential uniformity and non-linearity figures are correct, then yes, your s-box is slightly stronger against basic differential and linear cryptanalysis. Although Anubis already was essentially immune to basic differential and linear cryptanalysis. However your s-box would need to be evaluated against other forms of cryptanalysis (e.g. ...


2

It will be uniformly random for such a simple statistical test. The problem is that you are treating the probability of bits having a particular state as independent of each other. You would need to look at the conditional probability distributions of certain bits being set given other bits. The entire joint distribution of output and input bits for a ...


2

Let $n = pq$. By assumption, $3$ divides $\varphi(n) = (p-1)(q-1)$. Without loss of generality, I assume that $3$ divides $(p-1)$ or, equivalently, that $p \equiv 1 \pmod {3}$. Fact Let $p$ be a prime such that $p \equiv 1 \pmod 3$. Let also $c$ be a cubic residue modulo $p$. If $y$ is a cubic root of $c$ then so are $y\cdot \omega \pmod p$ and $y \cdot \...


2

Around and about one hundred years ago, your idea would surely have made sense… but nowadays, modern technology and evolved cryptanalytic techniques are too smart to have a real problem coping with something like that. (Also see my related answer to “Why was the Navajo code not broken by the Japanese in WWII?”) Even when we completely ignore Kerckhoffs’ ...


2

This is not very secure. You directly leak the symbol distribution, because only the order of symbols changes. For short enough messages this allows easy decryption – e.g. "dr olllWeoH" is quite clearly "Hello World". Even for long messages or binary values, the fact that you leak e.g. a crucial byte may be enough. You also have not defined how the same key ...


2

I am basing my answer on Cryptopals. The basic idea is that as {c0,c0+3,c0+6,…} have all been xor-ed with the same byte, the number of differing bits between c0 and c3 is the same as between p0 and p3. (this number is called the Hamming distance between two characters. Furthermore, the distance between [c0 c1 c2] and [c3 c4 c5] is the same as between [p0 ...


1

"Guessed ID" means ID that the oracle guesses the attacker algorithm $A$ will attack.


1

I am wondering why people are using RSA keys when some types of double substitution ciphers seem to be just as secure if not better off. First of all, RSA is an asymmetric cipher while a substitution cipher is a symmetric cipher. Asymmetric ciphers are used to achieve different security needs, e.g. TLS authentication or non-repudiation of documents. Or, ...


1

As SEJPM already hinted at in his comment, a 7 bit key is short enough to allow a plain and simple brute-force attack because there are merely 128 different keys to be tested. Hint: 7 bit = 1111111 = 127, + 1 for the 0000000 key = 128 possible keys. Even when using a low-resource device, testing 128 different keys to find the correct one should be a pretty ...


1

a) The question seems to be about a comparison of the size of the key spaces. The hint already shows the key spaces for Vigenère with a 10-letter key ($26^{10}$) and for simple substitution ($26!$). Simple substitution has the much bigger key space. b) Using frequency analysis simple substitution is much easier to solve. Basic frequency analysis does not ...


1

To prove an encryption scheme to be perfectly secure, we need to prove: $$P[M=m|C=c]=P[M=m]$$ where $c$ is a cipher text and $m$ is a plain text. From Bayes theorem, we have: $$P[M=m|C=c]=\frac{P[C=c|M=m] \cdot P[M=m]}{P[C=c]}$$ It is noteworthy that: $$P[C=c|M=m]=P[K=k]$$ where $K$ is the key space and $k$ is a particular key. Now: $$P[C=c]=P[K=k]=\frac{...


1

The security levels for RSA are based on the strongest known attacks against RSA compared to amount of processing that would be needed to break symmetric encryption algorithms. The equation NIST recommends to compute approximate length for key is found in FIPS 140-2 Implementation Guidance Question 7.5. It is: $x = \frac{1.923 \times \sqrt[3]{L \times ln(...


1

I have reformatted the above equation as a program for GNU bc (part of GNU coreutils, found on most Linux systems). GNU bc will be much easier to find than Mathematica (although it is quite eccentric). Here is the code: $ cat RSA-gnfs.bc #!/usr/bin/bc -l scale = 14 a = 1/3 b = 2/3 #print "RSA Key Length? " c = read() t = l( l(2 ^ c) ) # if b < 1, ...



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