Answer the question
In order to leave comments, you need to log in
[RSA] Why isn't a scheme with data encryption directly "practically secure"?
It is necessary to implement encryption and wondered why the data is not directly encrypted using RSA, but only the keys of symmetric algorithms are encrypted.
Found on Wikipedia that
This scheme is not used in practice due to the fact that it is not practically reliable (semantically secured). Indeed, the one-way function E(m) is deterministic — with the same values of the input parameters (key and message) it produces the same result — which means that the necessary condition for the practical (semantic) reliability of the cipher is not met.
Answer the question
In order to leave comments, you need to log in
Let the parties for encryption constantly use the same pair of keys (not necessarily RSA), and we intercept their traffic. Even without knowing the keys themselves, we can notice that every time Alice starts a dialogue with Bob, we get the same encrypted block. We can assume that this is a greeting, and by going through the options "Hello", "Hello", etc., get possible keys that are checked on other blocks.
That is why a mandatory part of the encrypted exchange is the periodic change of keys, and fixed personal keys are used only for the exchange of non-repeating session keys.
From my bell tower I see nonsense. In fact, RSA is not used for direct encryption for exactly two reasons.
Expensive. The high cost is due to the high cost of operations. Modulo and exponentiation are not the simplest operations for the CPU, the most difficult (of the primitive ones) is perhaps division. In addition, using the most efficient algorithms, the complexity of encryption is somewhere O (n log (n)), perhaps even higher, but even so, on huge data, the logarithm spoils all the raspberries. As a result - low productivity. Here, even specialized circuits do not help much, because their complexity is too great and the cost of production is also high. You can think of credit cards, which almost everyone has, but their performance is very low, it’s just enough, but barely.
Uncomfortable. All operations occur in the field on a very, very large prime number. This does her no credit, absolutely none (a number of attacks even exploit this problem). It is simply impossible to make a full mapping of 2048 bits in a field of a huge number, so the data is simply chopped off. Given the simply huge key size, this is imperceptible, but the problem still exists.
In any case, there is no point in using the same key. An absolutely similar result can be obtained using a symmetric cipher. Much more interesting, if the key changes from block to block, then you can easily get the strength of a one-time pad (more precisely, a random number generator, and the number of prime numbers is still limited, but these are trifles). So it's complete nonsense that straight RSA is useless. But the previous two reasons almost completely decided its fate, as a cipher for a symmetric key or a hash.
It can be illustrated something like this: imagine that you have a huge file of zeros, in which there is a very small (in percentage terms) number of ones. By directly encrypting RSA blocks, you will easily see blocks consisting only of zeros, and blocks containing ones. And if the distribution of units is not uniform and is known, then by accumulating some statistics you will be able to distinguish in which position of the block the unit is located and you will be able to completely decode the text.
Therefore, to encrypt a large amount of data, stream ciphers are usually used (or block ciphers in a special mode that protects against such attacks - feedback gamma) with a unique gamma (key). And with the help of RSA, only one-time unique random or non-secret data is encrypted.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question