In cryptography, Full Domaine Hash ( FDH or full domain hash ) is an RSA- based signature scheme that follows the hashing and signature paradigm. It is provably protected (that is, it did not succumb to the influence of adaptive attacks using selected messages) in the random oracle model. FDH involves hashing a message using a function whose image size is equal to the size of the RSA module, and then raising the result to the power of the RSA secret exponent.
Introduction
Since the discovery by Whitfield Diffie of Whitfield and Martin Hellman of public key cryptography [1], one of the most important research topics has been the development of practical and provable (in practical understanding) secure cryptosystems. Proof of practical security is usually computational complexity from solving a well-known problem to breaking a cryptosystem. Well-known tasks include factorization of large integers , computing a discrete logarithm modulo a prime number p, or extracting a root modulo a composite integer on which the RSA cryptosystem is based [2] .
A very common practice for signing with RSA is to hash the message first, add salt to the message, and then raise it to the public key level. This hash and decrypt paradigm is the foundation of numerous standards such as [3] . The scheme is to take a hash function whose output size is exactly equal to the size of the module: this is the full-domain hash scheme (FDH) introduced by and in the article "Random oracles are practical: a paradigm for designing efficient protocols " [4] . The FDH scheme is provably safe in the random oracle model, assuming that it is difficult to invert RSA , that is, extract the root modulo a composite integer. The random oracle methodology was introduced by Bellar and Rogaway in "Random oracles are practical: a paradigm for designing efficient protocols" [4] , where they show how to develop highly secure signature schemes from any secret input function . In the random oracle model, the hash function is considered as an oracle that produces a random value for each new request. In the original article, a random oracle converts a sequence of 0 and 1 of fixed length into a sequence of infinite length and randomly selects from the sequence a subsequence of the required length . The fundamental work of Bellar and Rogaway emphasizes that for the practical application of provable security, it is important to take into account the “hard” decline in security. The security decrease is “tough” when any cryptanalyst's actions to crack the signature scheme lead to the solution of a well-established task with sufficient probability, ideally with a probability of 1. In this case, the signature scheme is almost as safe as the established task. On the contrary, if the reduction is “weak”, that is, the aforementioned probability is too small, the guarantee on the signature scheme may be rather weak.
Definition
The signature scheme of the full domain hash (Gen, Sign, Verify) is defined as follows. The key generation algorithm launches RSA to obtain . He outputs where and . Signature and verification algorithm has access to oracle with hash function
Signature and verification are performed as follows:
FDH Schema Security Analysis
Bellar and Rogway Approach
Theorem 1 Assume that RSA -safe (hacking with probability ɛ ′ takes t ′ of time) Then the FDH signature scheme is -safe where
- .
The disadvantage of this result is that could be much smaller . For example, if we assume that a cryptanalyst can request number of signatures and calculate hashes on messages, even if the probability of RSA inversion is only , then all we get is that the probability is almost that is not satisfactory. To obtain an acceptable level of security, we must use a larger module size, which will positively affect the efficiency of the circuit.
To get the most appropriate security margin, Bellar and Rogaway developed a new scheme - a probabilistic signature scheme. , which provides a strict security reduction: the probability of a fake signature is almost as low as when inverting . Instead, there is an alternative approach that can be applied to the FDH scheme to get a better border. [five]
Alternative Approach
Another abbreviation that provides the best safety rating for FDH is based on the proof of the theorem.
Theorem 2 Let RSA - safe. Then the FDH signature scheme is -safe where
- {\ displaystyle {\ begin {aligned} t & = t '- (q _ {\ text {hash}} + q _ {\ text {sig}} + 1) \\\ epsilon & = {\ frac {1} {\ left (1 - {\ frac {1} {q _ {\ text {sig}}}} right) ^ {q _ {\ text {sig}} + 1}}} \ cdot q _ {\ text {sig}} \ cdot \ epsilon '\ end {aligned}}} .
For large , .
Definition 1:
Inverter - we will call the algorithm cracking RSA, the probability of success of which after no more than t processing time is at least ɛ.
Definition 2:
Counterfeiter - we will call the algorithm violating the signature scheme (Gen, Sign, Verify), if after no more than requests to the hash oracle, signed requests and processing time, displays a fake signature with a probability of at least ɛ.
Proof let - counterfeiter that hacks FDH. We assume that never repeats the same oracle hash request or signature request. Build an inverter that hacks the RSA. Inverter receives as input {\ displaystyle (N, e, y)} where Is the public key, and randomly selected in (subsets of all hashed messages). Inverter trying to find where - RSA function defined from . Inverter starts up for this public key. Forger makes requests to the oracle hash and requests for signature. receiving a response from the hash oracle independently signs them.
For simplicity, we assume that when makes a request to sign a message he has already made the corresponding request to the hash oracle for . If not, continue and independently create a request to the hash oracle for the message .In inverter counter is used initially set to zero. When makes an oracle hash request for a message inverter increases , matches the hashed message with the original message , and also selects a random number at . then returns with probability and with probability . Here - a fixed probability, which will be determined later. When makes a request for a signature for he already requested a hash , so that for some .If a then returns as a signature. Otherwise, the process stops and the inverter fails.
Finally, finishes work and displays a fake . We assume that requested a hash earlier. If not, independently makes a hash oracle request, so anyway for some . Then if , we get, and displays as the reciprocal of . Otherwise, the process stops and the inverter fails.
The probability that we will respond to all signature requests is at least . Then deduces the opposite for with probability . Thus, with a probability of at least , deduces the opposite for . Function maximum for and
Therefore, we get:
- .
For large ,
.
Working hours Is work time added to the time needed to calculate the values . Essentially, this is one RSA calculation that is cubic time (or better). This gives the formula for .
Final reduction
The quality of the new reduction does not depend on the number of hash calls made by the falsifier, and depends only on the number of requests for signatures. This is of practical importance, since in real applications the number of hash function calls is limited only by the forger’s processing power, while the number of signature requests may be limited: the signer may refuse to sign more or messages. However, the reduction is still not tough and there is a significant gap between the exact security of FDH and the exact security of PSS .
In many security proofs in the random oracle model, the inverter must “guess” which hash request the adversary will use to fake, resulting in a coefficient in the likelihood of success. It is proven that the best method is to include a query in response to many hash requests, so that a fake is more likely to be useful for the inverter. This observation also applies to the signature scheme of Rabin [6] , the signature scheme of Peyet [7] , as well as the signature scheme of Gennaro-Halevi-Rabin [8] , for which the coefficient in evidence of the safety of an accidental oracle can also be reduced to .
Notes
- ↑ New directions in cryptography .
- ↑ A method for obtaining digital signatures and public key cryptosystems .
- ↑ RSA cryptography specifications .
- ↑ 1 2 Random oracles are practical: a paradigm for designing efficient protocols .
- ↑ The exact security of digital signatures - How to sign with RSA and Rabin .
- ↑ Digitalized signatures and public-key functions as intractable as factorization unspecified .
- ↑ Public-key crypto systems based on composite degree residuosity classes. Proceedings of Eurocrypt'99 .
- ↑ Secure hash-and-sign signatures without the ran- dom oracle, proceedings of Eurocrypt'99 .