{'fraction_non_alphanumeric': 0.0572367443932868, 'fraction_numerical': 0.013868260804990346, 'mean_word_length': 3.6733472149921917, 'pattern_counts': {'":': 0, '<': 6, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 43, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A mathematical problem for security analysis of hash functions and pseudorandom generators

In this paper, we specify a class of mathematical problems, which we refer to as"Function Density Problems"(FDPs, in short), and point out novel connections of FDPs to the following two cryptographic topics; theoretical security evaluations of keyless hash functions (such as SHA-1), and constructions of provably secure pseudorandom generators (PRGs) with some enhanced security property introduced by Dubrov and Ishai [STOC 2006]. Our argument aims at proposing new theoretical frameworks for these topics (especially for the former) based on FDPs, rather than providing some concrete and practical results on the topics. We also give some examples of mathematical discussions on FDPs, which would be of independent interest from mathematical viewpoints. Finally, we discuss possible directions of future research on other cryptographic applications of FDPs and on mathematical studies on FDPs themselves.


Background and related works
It is widely understood that some mathematical problems have been playing indispensable roles in research on cryptography and information security. For instance, the (expected) computational difficulty of integer factorization is the source of security of RSA cryptosystem [10], while the problem of solving multivariate quadratic (MQ) equations has attracted several studies after the development of Matsumoto-Imai cryptosystem [7] and its variants, whose constructions are closely related to MQ equations. Hence, posing and studying an interesting mathematical problem which arises in certain cryptographic settings can contribute to the progress of cryptography and information security.
The aim of this paper is to emphasize the significance of a certain mathematical problem, which has connections to the following two major topics in information security; security analysis of keyless hash functions in the real world (such as MD5 and SHA-1), and construction of pseudorandom generators (PRGs) with some enhanced security property. First, we give some descriptions of these two topics.
Security analysis of keyless hash functions. Intuitively, a hash function is a function H : X → Y from some (finite) set X to another (finite) set Y that possesses a certain desirable security property. When we concern efficiency or computability of H, we consider an algorithm that computes H (also denoted by H) and call it a hash algorithm. One of the standard security requirements for hash functions is collision resistance, which informally means that it is difficult to find a collision pair (x 1 , x 2 ) for H, i.e., x 1 = x 2 ∈ X satisfying H(x 1 ) = H(x 2 ). Hash functions have been playing central roles in various information security applications, and secure hash functions for real-life applications are usually expected to possess the collision resistance property.
However, most of the preceding successful studies that show security of hash functions actually dealt with keyed hash functions (or hash families); intuitively, a family of hash functions H k parameterized by a key k is called collision resistant if, for any (efficient) adversary, the attack to find a collision pair of H k fails with high probability for a randomly chosen key k. Several constructions of keyed hash functions have been proposed so far (e.g., [3]). The above security notion of keyed hash functions can be interpreted as allowing one to (randomly) choose a concrete instance H k of the hash family after an adversary is given. In contrast, in most of real-life applications, the concrete instance of hash algorithms is specified first (for example, by a standardization), and then an adversary can try to attack the fixed hash algorithm. This reversal of order causes a crucial difficulty in guaranteeing (or even formalizing in a reasonable manner) security of a keyless hash algorithm H, as (unless the trivial situation where the domain of H is not larger than the image of H) there does always exist a collision pair (x 1 , x 2 ) for H and any adversary (existing in theory) who innately knows the pair (x 1 , x 2 ) is obviously able to efficiently attack the fixed hash algorithm H. In fact, even an instance of standardized (or de facto standard) hash algorithms, whose security must be evaluated well before the standardization, has been suffered from feasible attacks (e.g., [12]). In this paper, we try to propose a theoretical and unified way to say something, preferably affirmative, about security of a concrete (keyless) instance of hash algorithms.
For related works, Rogaway [11] gave a detailed observation about the difference between "inexistence of effective attack algorithms" and "lack of knowledge on construction of effective attack algorithms" for keyless hash algorithms. He emphasized the difference of the two situations (by the term "human ignorance"), and discussed how to prove security of a cryptographic protocol by reducing the security into "lack of knowledge on concrete attacks" on the hash algorithm internally used by the protocol. However, he did not discuss how to theoretically evaluate security of keyless hash algorithms themselves, which we study in this paper. On the other hand, in this paper we adopt concrete security formulation rather than asymptotic one; while some observation for security of keyless hash algorithms in asymptotic security formulation is also given in Rogaway's paper.
Construction of enhanced PRGs. A PRG is an algorithm G : S → X with (finite) set S of inputs (seeds) and (finite) output set X with the property that, when a seed s ∈ S is chosen uniformly at random, the output G(s) ∈ X of G is also "random" in some sense. Conventionally, the meaning of "randomness" here is formulated by using the notion of distinguisher, which is an algorithm D : X → {0, 1} with 1-bit output and the input set being the output set X of G. In this paper we adopt concrete security formulation rather than asymptotic one, in which case the security requirement for PRGs can be formulated as (T, ε)security; namely, G is called (T, ε)-secure [5] if, for any distinguisher D for G with (time) complexity bounded by T , the statistical distance between the output distribution D(G(U S )) of D with input given by G with uniformly random seed s ∈ S (referred to as "pseudorandom input") and the output distribution D(U X ) of D with uniformly random input x ∈ X (referred to as "random input") is bounded by ε. (Intuitively, any such D cannot distinguish the random element x and the pseudorandom element G(s) in X with significant advantage.) There are a large number of constructions of PRGs, most of which are provably secure (possibly in asymptotic security formulation) under standard computational assumptions (e.g., [2,5]).
On the other hand, in a preceding work of Dubrov and Ishai [4], an enhanced notion for PRGs, called pseudorandom generators that fool non-boolean distinguishers (nb-PRGs, in short), was proposed. This notion is obtained by allowing the distinguishers D in the above security notion to have larger output sets; namely, G is called (T, n, ε)-secure if, for any "non-boolean" distinguisher D : X → Y for G with (time) complexity bounded by T and output set Y of size at most n, the statistical distance between the output distributions of D with random and pseudorandom inputs is bounded by ε. Dubrov and Ishai showed interesting applications of nb-PRGs, e.g., secure pseudorandomization of a certain kind of informationtheoretically secure protocols without any restriction on computational complexity of the adversary's attack algorithm.
However, constructing secure nb-PRGs seems much more difficult than the case of the usual PRGs.
Indeed, to the authors' best knowledge, the only constructions of nb-PRGs proposed so far are ones in the original paper [4], which are based on certain less standard computational assumptions. Hence it will be fruitful if we can give some results implying that any usual PRG (with some parameter) is also an nb-PRG (with a possibly different parameter). In fact, a straightforward implication has been mentioned in [4], but this is far from being efficient (i.e., to obtain nb-PRGs with reasonable security parameters, the original PRGs are required to have somewhat impractical security parameters). In this paper, we try to establish a more efficient implication result.

Our contributions, and organization of this paper
In Section 2, we propose a class of mathematical problems, which we refer to as "Function Density Problems". Intuitively, this problem is to evaluate the possibility of close approximations of arbitrary functions by using some "easily describable (or analyzable)" functions. Then we introduce motivating applications of Function Density Problems to two topics in information security. First, in Section 3, we discuss theoretical analysis of collision resistance of keyless hash algorithms. We give an abstract framework for attacking a given hash algorithm by using known attacks on some other "easily breakable" hash algorithms. In the framework, it is essential to evaluate how closely a target hash algorithm can be approximated by "easily breakable" hash algorithms; thus Function Density Problems play a significant role in the security evaluation of hash algorithms.
Secondly, in Section 4, we study an enhanced security notion for PRGs (called nb-PRG) introduced by Dubrov and Ishai [4]. We give some implication results showing that any secure PRG with some parameter is also a secure nb-PRG with somewhat modified security parameter. In the results, the overheads in the bounds of (time) complexity and of advantages for the distinguishers are in trade-off relations, and Function Density Problems can be applied to evaluate to what extent the trade-off will be improved by our proposed result.
Then, in order to arise some image or intuition of how Function Density Problems can be mathematically studied, in Section 5 we give some concrete examples of mathematical discussions on Function Density Problems themselves, using combinatorial and geometric arguments and techniques in Gröbner bases. In particular, we deal with special cases where the set of "easily describable (or analyzable)" functions forms a linear subspace (related to low-degree boolean functions, perfect linear codes and Reed-Solomon codes), which would be of independent interest from mathematical viewpoints.
Finally, in Section 6 we give a concluding remark, which includes discussions on further possible applications of Function Density Problems in information security, and on possible directions of future research on Function Density Problems themselves.

Function Density Problems
In this section, we specify a class of mathematical problems, which we call Function Density Problems (FDPs) in this paper. As the class of FDPs in a most general form will include too various problems to obtain meaningful insights for their properties, it is significant to restrict the class suitably according to each situation under consideration. Relations of FDPs to some concrete topics in cryptography will be shown in the following sections.
We give a general description of our problem: Definition 1 (Function Density Problems). Let C be a set of some functions, and let C ′ be a subset of C. Let d(·, ·) be a distance function for the pairs of functions in C. In this setting, we define a Function Density Problem to be a problem of estimating the following quantity: where, for each f ∈ C, d(f, C ′ ) := inf{d(f, g) | g ∈ C ′ } is the distance from f to C ′ . (The symbol 'r' stands for "radius", by an analogy as if C ′ is a single central point in the figure C, in which case the r is the radius of C in usual sense.) Among very various situations covered by Definition 1 (where C in fact need not even to be a set of functions), in the applications of FDPs discussed in this paper we will focus on the following typical cases: Definition 2 (Function Density Problems -typical cases). Let C be the set of all functions f : X → Y from a given finite set X to a given finite set Y . Let C ′ ⊂ C. For any f, g ∈ C, we define the distance between f and g by In this setting, a Function Density Problem is a problem of estimating the quantity r(C, C ′ ) defined by (1) with d(·, ·) = d H (·, ·).
In the case of Definition 2, the "sup" and "inf" in Definition 1 can be simply replaced with "max" and "min", respectively. Moreover, the distance defined by (2) coincides with the (generalized) Hamming distance when members of C are identified with sequences of length |X| over the alphabet Y in a natural manner. Note that the quantity r(C, C ′ ) can be regarded as a special case of so-called Hausdorff distance for two subsets of a metric space, which would support that it is reasonable to consider r(C, C ′ ).
An intuitive explanation of a motivation for the above definition is as follows. Given a set C of functions, a subset C ′ consists of members of C which are in some sense "easily analyzable" or "with simple descriptions". The distance d(f, g) measures how two functions f and g are similar. Then the quantity d(f, C ′ ) evaluates how accurately a function f ∈ C can be approximated by an "easy" function in C ′ , and the quantity r(C, C ′ ) evaluates how densely the "easy" functions distribute among the entire set C. In other words, when r(C, C ′ ) is revealed to be small, it shows potential availability of a close approximation of any member of C by an "easy" function in C ′ . For example, in the case of Definition 2, any function f ∈ C can in principle be converted into some function g ∈ C ′ by changing the values f (x) for at most r(C, C ′ ) points x ∈ X. (We emphasize that it does not mean that a close approximation of f by a function in C ′ can be efficiently computable. Such a difference between existence and efficient computability is also relevant to a preceding observation for "human ignorance" by Rogaway [11].)

Hash Functions and FDPs
In this section, we point out a relation of FDPs introduced in Section 2 to security analysis of keyless hash functions. Here we propose a new framework for theoretical security evaluation of keyless hash functions based on FDPs. Although theoretical security evaluation of keyless hash functions is evidently an extremely difficult problem and our proposed framework is unfortunately not yet practical, we hope that our framework can be a clue to this problem.
We consider a keyless hash function H : X → Y with possibly large but finite domain X and relatively small (finite) range Y . Among the major security requirements for hash functions, we focus on the collision resistance of H; we discuss how it is difficult to find a collision pair (x 1 , x 2 ) for H (recall that (x 1 , x 2 ) is called a collision pair for H if we have x 1 , x 2 ∈ X, x 1 = x 2 and H(x 1 ) = H(x 2 )). To show the relevance of FDPs to this problem, first we give a somewhat informal description of an abstract "typical" strategy for finding a collision pair: 1. Construct a close approximation H ′ : X → Y of H in such a way that collision pairs for H ′ can be found with reasonable computational time.
3. Construct from (x ′ 1 , x ′ 2 ) a candidate (x 1 , x 2 ) of a collision pair for H (in the simplest case, we just set (x 1 , is a collision pair of H; if it is indeed a collision pair of H, then output (x 1 , x 2 ) and stop the process.

5.
If (x 1 , x 2 ) is not a collision pair of H, go back to Step (2) and repeat the process.
Intuitively, the number of iterations in the above strategy before finding a collision pair for H would be expected to be small if the approximation H ′ is sufficiently close to H (see Lemma 1 below for a quantitative expression of this expected tendency). Hence security of a hash algorithm H against such an attack strategy is related to the possibility of finding its close approximation. More precisely, we set (x 1 , x 2 ) = (x ′ 1 , x ′ 2 ) in the above strategy for simplicity. We consider the case of Definition 2, and let C ′ be a subset of C with the property that any hash function H ′ in C ′ admits an efficient attack (finding a collision pair) by a certain known attack strategy. In the above attack strategy, the approximation H ′ for H specified in Step (1) is supposed to be chosen from C ′ . Now we have the following lemma: Then the probability that a collision pair for H ′ , which is chosen uniformly at random from the set of all collision pairs for H ′ , is also a collision pair for H is not lower than where α 0 = ⌊(|X| − d − 1)/n⌋. Moreover, when |X| ≥ d + (n − 1) 2 , the value in (3) is getting larger as d becomes smaller.
A proof of Lemma 1 will be provided in the last of this section. Now let us imagine the following situation. Two candidate sets C 1 , C 2 for a new standard hash function are given, and we can specify subsets C ′ 1 ⊂ C 1 and C ′ 2 ⊂ C 2 in such a way that each C ′ i (i = 1, 2) consists of some hash functions for which collision pairs can be found in reasonable computational time by using some known techniques. We suppose that r(C 1 , C ′ 1 ) is significantly small and r(C 2 , C ′ 2 ) is significantly large. Then any hash function H chosen from C 1 can be potentially attacked by just finding a close approximation H ′ ∈ C ′ 1 of H (using some expert's sixth sense, for example) and applying the above attack strategy combined with known collision finding techniques. On the other hand, C 2 contains at least one hash function H for which the above attack strategy combined with any known collision finding technique will not succeed. This would suggest that it can be potentially safer to choose a new hash function from C 2 rather than C 1 , as we already know the potential attack on any hash function in C 1 but not the same for C 2 .
The authors hope that studies of FDPs can contribute to security analysis of keyless hash functions in the above manner, though how to specify the subset C ′ in practical cases is of course a big problem to be concerned. One may also feel that it seems infeasible to compute the quantity r(C, C ′ ) for practical classes of hash functions; even if so, some estimate of a bound or tendency of r(C, C ′ ) would still give us an insight into the security level of those hash functions.
Remark 1. Here we notice that, although we have focused on the collision resistance in the above argument, a similar idea would also be applicable to other security notions for keyless hash functions, such as the (second) preimage resistance.
To conclude this section, we give a proof of Lemma 1.
Proof of Lemma 1. We write (m) 2 := m(m − 1) for any integer m. Put Y := {y 1 , . . . , y n }, and for each Moreover, put where a := (a 1 , . . . , a n ) and b := (b 1 , . . . , b n ). Then the number of collision pairs for H ′ is ϕ 1 ( a; b), while the number of collision pairs for H is at least ϕ 2 ( a; b). Therefore the probability specified in the statement of Lemma 1 is at least From now, we give a lower bound for the values of ϕ under the following conditions implied by the definitions: For the purpose, we show the following two lemmas: In the above setting, if the minimum value of the function ϕ is attained by a and b, then we have b i > 0 for a unique index i, and a i − b i ≥ a j for every index j = i.
Proof. If we have i = j and b i , b j > 0, and we suppose a i ≤ a j by symmetry, then we have therefore the value of ϕ 1 increases when a i , a j , b i and b j are replaced with a i − 1, a j + 1, b i − 1 and b j + 1, respectively. On the other hand, the value of ϕ 2 is not changed by this replacement. Therefore the value of ϕ is decreased by this replacement, contradicting the assumption on the choice of a and b. Hence an index with equality holding when and only when a i − b i = a j − 1. This implies that the value of ϕ at the a and b is larger than or equal to the value of ϕ with b i and b j (= 0) being replaced with b i − 1 and 1, respectively, where the equality holds if and only if a i − b i = a j − 1. As the former value is assumed to be the minimum, the equality condition then the latter value of ϕ (which is now equal to the former) cannot be the minimum by the above argument, which also leads to a contradiction. Hence we have b i = 1 (therefore d = 1) and a i = a j . Now we have This implies that the value of ϕ will decrease when a i and a j are replaced with a i + 1 and a j − 1, respectively, contradicting the assumption that the former value is the minimum. Hence we have a i − b i ≥ a j for every j = i, concluding the proof of Lemma 2. Proof. Assume contrary that a i − a j ≥ 2 for such a pair of indices i = j. For ℓ ∈ {1, 2}, let α ℓ denote the value of ϕ ℓ at the a and b, and let β ℓ denote the value of ϕ ℓ with a i and a j being replaced with a i − 1 and a j + 1, respectively. Then we have by the assumption and Lemma 2, therefore α 1 > α 2 . Now we present the following lemma, which is proven by an easy calculation: Lemma 4. If p > q ≥ 0 and r > 0, then q/p < (q + r)/(p + r).
By using this lemma, we have contradicting the assumption that α 2 /α 1 is the minimum of the value of ϕ. Hence Lemma 3 holds.
By Lemma 2 and Lemma 3, the points a and b that attain the minimum of ϕ satisfy the following conditions: b i > 0 for a unique i, and there is an integer α satisfying that a i − b i ≥ α + 1 and a j ∈ {α, α + 1} for every j = i. Note that this α can be taken as α ≥ 0; indeed, this is obvious if some a j with j = i is positive, while the remaining possibility that a j = 0 for every j = i allows us to choose α = 0 as a i = |X| > d = b i and a i − b i ≥ 1. Let k be the number of indices j = i with a j = α + 1, therefore 0 ≤ k ≤ n − 1. Then we have Now we write the values of ϕ 1 and ϕ 2 in this case as ϕ 1 (α, k) and ϕ 2 (α, k), respectively. Then we have (12) (note that 2d((n − 1)α + k) ≥ 0 as α ≥ 0). Let ψ(α, k) denote the denominator of the right-hand side. Then, by virtue of the property ∂ ∂k therefore which proves the lower bound (3) in the statement of Lemma 1. Finally, suppose that d ≥ 2, and let η 1 (d) and η 2 (d) denote the denominator and the numerator in (3), respectively. For any value x depending on d, let ∆[x] temporarily denote the value of x at d − 1 minus the value of x at d.
(where we used the assumption |X| ≥ d + (n − 1) 2 ). Now by Lemma 4, we have Hence the proof of Lemma 1 is concluded.

PRGs and FDPs
As our second application of FDPs, in this section we present some results which prove that any (computationally indistinguishable) PRG with some parameter is also an nb-PRG with a (possibly different) specified parameter. The concrete relations between parameters for an algorithm as a PRG and as an nb-PRG, respectively, will be determined by applying FDPs. First we recall the security notion for PRGs. We emphasize that, for the sake of simplicity, here we adopt definitions in forms of concrete security rather than asymptotic security. Let U X denote the uniform probability distribution over a finite set X.
Definition 3 (see e.g., [5]). Let G : S → X be an algorithm with finite input set S and finite output set X. Given parameters T ≥ 0 and ε ≥ 0, G is called a (T, ε)-secure pseudorandom generator (PRG) if, for any algorithm (called a distinguisher ) D : Let ∆(P 1 , P 2 ) denote the statistical distance of two probability distributions P 1 , P 2 over the same finite set Z defined by Then the advantage Adv D (G) of a distinguisher D defined above is equal to ∆(D(U X ), D(G(U S ))), as both D(U X ) and D(G(U S )) are probability distributions over {0, 1}. This interpretation of the advantage gives us a motivation to enhance the above security notion of PRGs, as in the following definition introduced by Dubrov and Ishai [4] (with slightly different formulation):
Note that (T, 2, ε)-security is equivalent to (T, ε)-security in Definition 3. Several applications of nb-PRGs are discussed in [4]. For example, it was shown that randomness used in some kinds of informationtheoretically secure protocols (such as multi-party computation of certain types) can be replaced with outputs of nb-PRGs, without any restriction on computational complexity of the adversary against the protocol. However, despite the significance of nb-PRGs mentioned above, it seems much more difficult to construct secure nb-PRGs than the case of usual PRGs against 1-bit output distinguishers. Indeed, to the authors' best knowledge, the only constructions of nb-PRGs in the literature so far are the ones by Dubrov and Ishai themselves in the original paper [4], and their construction is based on certain computational assumption which is less standard than those used in constructions of usual PRGs. Hence, it is worthy to investigate a method to construct nb-PRGs (under standard computational assumptions).
Our proposal here is to establish a general theorem of the following form: Any (T ′ , ε ′ )-secure PRG is also a (T, n, ε)-secure nb-PRG, where the parameters T ′ and ε ′ as a usual PRG are determined by T , n and ε in a certain manner. Such an implication result is evidently meaningful, as it enables us to convert a large number of existing PRGs under standard assumptions into nb-PRGs. In fact, an implication relation as above has been mentioned (without proof) in [4]. Our aim here is to improve the preceding relation by introducing the idea of FDPs.
The above-mentioned relation is derived from the first expression (21) of statistical distance, in the following manner (which refers to a description in [9]). We introduce some notations. Put Y := {0, 1, . . . , n− 1} for simplicity. For any subset Z ⊂ Y , let χ Z : Y → {0, 1} denote the characteristic function of Z defined by χ Z (x) = 1 if x ∈ Z and χ Z (x) = 0 if x ∈ Y \ Z. We write χ z = χ {z} for simplicity when Z = {z}. In this setting, for any PRG G : S → X and any non-boolean distinguisher D : X → Y , the statistical distance ∆(D(U X ), D(G(U S ))) is equal to where χ y • D denotes an algorithm performed by first executing the distinguisher D and then evaluating the output of D by the function χ y . An important property is that χ y • D is a 1-bit output algorithm, therefore it can be regarded as a distinguisher for the PRG G. This implies that, to show that a (T ′ , ε ′ )-secure PRG G is also a (T, n, ε)-secure nb-PRG, it suffices to choose the parameters as T ′ = T + δ 1 and ε ′ = 2ε/n, where δ 1 is the maximum of the overhead in computational complexity of composing some χ y (y ∈ Y ) to D (usually, δ 1 can be set to be almost zero in practical situations). In other words, we have the following proposition (which has been mentioned in [4]): Proposition 1. In this setting, any (T + δ 1 , 2ε/n)-secure PRG is also (T, n, ε)-secure, where the quantity δ 1 is defined in the above manner.
A drawback of this result is that, in practical applications the parameter n (which is relevant to the allowable input size for an adversary against a protocol under consideration) should frequently be large, which makes the overhead in a bound of advantage in Proposition 1 too heavy. We try to resolve the drawback by improving or modifying the above result.
Our first idea is to use the second expression (22) of statistical distance instead of the first one (21) used in the preceding argument. Namely, in the same setting as above, the statistical distance ∆(D(U X ), D(G(U S ))) is equal to In the same way as Proposition 1, the above argument implies the following result: Proposition 2. In this setting, any (T + δ 2 , ε)-secure PRG is also (T, n, ε)-secure, where δ 2 is the maximum of the overhead in computational complexity of composing some χ Z with Z ⊂ Y := {0, 1, . . . , n − 1} to D.
In contrast to Proposition 1, there exists no overhead for a bound of advantage ε in Proposition 2. However, instead, the overhead δ 2 for a bound of time complexity of distinguishers is expected to be too heavy, as the set Y (of somewhat large size) may contain an extremely complicated subset Z, for which the computation of χ Z would be inefficient.
From now, we try to improve the above-mentioned trade-off between overheads for bounds of advantage and of computational complexity, by applying the idea of FDPs. Put Y := {0, 1, . . . , n − 1} as above, and let C be the set of characteristic functions χ Z : Y → {0, 1} for subsets Z ⊂ Y , and let d = d H (see (2)). Then for of two subsets Y 1 and Y 2 . Now we fix a subset C ′ of C. Let δ 3 be the maximum of the overhead in computational complexity of composing some χ Z ∈ C ′ to D. Moreover, we put r := r(C, C ′ ) for simplicity. Then we have the following result (we notice that, when C ′ = {χ ∅ }, the theorem gives almost the same result as Proposition 1): Theorem 1. In the above situation, let δ 1 be as specified in Proposition 1. If G : S → X is (T +δ 1 , ε 1 )-secure and (T + δ 3 , ε 3 )-secure, then G is also (T, n, rε 1 + ε 3 )-secure.
Note that Y 0 can be chosen in such a way that µ Moreover, by the definition of r, there is a subset therefore we have Moreover, the right-hand side is equal to Now if D has computational complexity bounded by T , then the assumption on G and the definition of δ 1 imply that This and (26) implies that concluding the proof of Theorem 1.
Regarding the relation between parameters in Theorem 1, first note that it is natural by the definitions to expect that δ 1 ≤ δ 3 , which allows us to suppose that ε 1 ≤ ε 3 . Now let us imagine the following situation: We can find an appropriate subset C ′ ⊂ C in such a way that every characteristic function χ Z ∈ C ′ has low computational complexity and the quantity r := r(C, C ′ ) is small. In this case, δ 3 can be small as well as r, and it would make the implication relation given by Theorem 1 more efficient than those in Propositions 1 and 2, therefore the above-mentioned trade-off is improved. Hence a study of FDPs (in particular, those for functions with 1-bit output sets) will contribute to establish a better relation between PRGs and nb-PRGs.
Remark 2. We mention that, for the two applications of FDPs discussed in the last two sections, a kind of "risk-hedging" relation exists as follows. Namely, if we find that the quantity r(C, C ′ ) tends to be large in general, then it would support the argument in Section 3 to show that keyless hash functions under consideration would have better security. On the other hand, if we find that the quantity r(C, C ′ ) tends to be small in general, then it would support the argument in Section 4 to show that overheads in parameters for nb-PRGs compared to PRGs would be practically small.
At the last of this section, we give an example of the possible choices of the distinguished subset C ′ of C. We consider the case that n = 2 ℓ for an integer ℓ; now the set Y is identified with {0, 1} ℓ via the binary expression of integers, and each element χ Z of C is regarded as a boolean function {0, 1} ℓ → {0, 1} with ℓ-bit input. In this setting, our task is to find a set C ′ of "easy" boolean functions with ℓ-bit inputs, for which each function in C can be closely approximated by some function in C ′ . Here we consider ℓ-variable disjunctive normal form (DNF ) formulae; recall that a literal is y i or y i (logical NOT of y i ) where y 1 , . . . , y ℓ ∈ {0, 1} are input bits for a boolean function, a term is a logical AND of literals, and a DNF formula is a logical OR of terms. The number of terms in a DNF formula is called the size of the formula. It is straightforward to show that any ℓ-bit input boolean function is equivalent to some DNF formula of size 2 ℓ . Below we will define C ′ to be the set of (ℓ-bit input) boolean functions which are either a logical XOR of at most ℓ DNF formulae of size significantly smaller than 2 ℓ , or the logical NOT of such a function. Now the functions in C ′ is expected to be easier to compute than general boolean functions, hence the overhead δ 3 in the bound for the distinguisher's computational complexity in Theorem 1 would be significantly better (i.e., smaller) than its counterpart δ 2 in Proposition 2, as desired.
Before specifying the sizes of the DNF formulae in the choice of C ′ , first we give the following argument.
Proof. Let Z 1 denote the filter of {0, 1} ℓ generated by the minimal (with respect to the order of {0, 1} ℓ ) elements of Z. Then we have Z ⊂ Z 1 and χ Z = χ Z1 ⊕ χ Z1\Z where ⊕ denotes the logical XOR. The claim holds if Z 1 \ Z = ∅. On the other hand, if Z 1 \ Z = ∅, then we iterate the process to decompose χ Z1\Z . As the minimum weight of minimal elements of Z 1 \ Z is strictly larger than the minimum weight of minimal elements of Z, and 0 ∈ Z by the assumption, the process terminates with at most ℓ steps, giving the decomposition χ Z = χ Z1 ⊕ · · · ⊕ χ Z ℓ ′ with Z i being filters of {0, 1} ℓ , 1 ≤ i ≤ ℓ ′ ≤ ℓ. Hence the claim holds.
By the lemma, for any χ Z ∈ C, either χ Z or χ Z = χ {0,1} ℓ \Z can be expressed as the logical XOR of at most ℓ monotone boolean functions. On the other hand, for each of these monotone functions, recently Blais, Håstad, Servedio and Tan [1] showed the following result: Proposition 3 (See [1]). For any 0 < η < 1, every ℓ-bit input monotone boolean function f can be approximated by a DNF formula g of size 2 ℓ−Ω( √ ℓ) satisfying that d(f, g) ≤ η · 2 ℓ (where the dependence on η is omitted in the Ω notation for simplicity).
Owing to the result, we define the subset C ′ of C as above, with the sizes of the DNF formulae satisfying the bound in Proposition 3. Then by Lemma 5 and Proposition 3, we have r = r(C, C ′ ) ≤ ℓη · 2 ℓ , which is o(2 ℓ ) if η = o(1/ℓ). This makes the trade-off in Theorem 1 better than Proposition 1 as desired, if ε 3 is not too larger than r · ε 1 .
We note that there are several results in the literature on approximations of boolean functions by not only DNF formulae but also those in other special classes. For example, upper approximations of boolean functions (i.e., approximations of f by g satisfying that f (y) ≤ g(y) for every y ∈ {0, 1} ℓ ) by affine boolean functions were studied in e.g., [6]. The authors hope that the present work provides another motivation for the well-studied area of good approximations of boolean functions.

Mathematical Examples of FDPs
This section is devoted to describe some examples for mathematical studies of FDPs themselves, rather than their cryptographic applications such as ones discussed in Sections 3 and 4. The authors hope that one would feel that FDPs themselves are of independent interest as mathematical problems and mathematical studies of FDPs will be promoted.

Vector spaces and their subspaces: A general bound
The examples of FDPs discussed below can be interpreted in the following manner. The set C forms a finite-dimensional vector space over a finite field F, with a distinguished basis v 1 , . . . , v d where d := dim(C), hence each element of C admits a vector expression. A subset C ′ is a linear subspace of C, and the distance d(f, g) is defined to be the (generalized) Hamming distance with respect to the vector expressions of f, g ∈ C.
In this subsection, we show a general upper and lower bounds of the quantity r(C, C ′ ) in this case. Namely, we have the following: Proposition 4. In the above setting, let ℓ denote the minimal integer ℓ ′ satisfying that Proof. Put d ′ := dim(C ′ ), therefore codim C (C ′ ) = d − d ′ . First we prove the lower bound. For each w ∈ C and k ≥ 0, put B(w, k) On the other hand, by the definition of r(C, C ′ ), we have C ⊂ w∈C ′ B(w, r(C, C ′ )). This implies that Hence we have ℓ ≤ r(C, C ′ ) by the choice of ℓ. Secondly, we prove the upper bound. By applying Gaussian elimination to any basis of C ′ , it follows that there exist a basis u 1 , . . . , u d ′ of C ′ and distinct indices i 1 , . . . , i d ′ ∈ {1, 2, . . . , d} with the property that, for each 1 ≤ j ≤ d ′ , the coefficient of a basis element v ij of C in u j is 1 and the coefficient of v ij in any other u k (k = j) is 0. Now for an arbitrary element w = d i=1 c i v i ∈ C (c i ∈ F), the above property of u 1 , . . . , u d ′ implies that the distance between w and w ′ : where c ℓ = ℓ + 1 if F is the two-element field F 2 , and c ℓ = (|F| − 1)/(|F| − 2) otherwise.
Proof. It suffices to prove the second inequality.
if q ≥ 3 and c ′ m := m + 1 if q = 2, and we set 0 0 = 1 (note that ℓ ≤ codim C (C ′ ) ≤ d). We use induction on m. The case m = 0 is trivial. For the case m ≥ 1, we have By the relation m ≤ N and the definition of c ′ m , we have therefore the desired inequality holds for this m as well. Hence the claim of Proposition 5 holds.

Boolean functions of low degrees
As a first concrete example, here we deal with the set C of the functions X → Y with n-bit inputs and 1-bit outputs, i.e., we set X := {0, 1} n and Y := {0, 1} (which is relevant to the situation of Section 4). First note that, when we identify {0, 1} naturally with F 2 , each function f : X → Y can be expressed as an n-variable square-free polynomial; f (x 1 , . . . , x n ) = a=(a1,...,an)∈{0,1} n f ( a)χ a (x 1 , . . . , x n ) where we put χ a (x 1 , . . . , x n ) := i;ai=0 x i for a = (a 1 , . . . , a n ) (note that χ a (x 1 , . . . , x n ) = 1 if x i = a i for every i and χ a (x 1 , . . . , x n ) = 0 otherwise, therefore χ a is indeed the characteristic function of a ∈ {0, 1} n ). For example, when n = 2 we have Now for each 0 ≤ k ≤ n, we set C ′ = C ′ k to be the subset of C consisting of functions that can be expressed as a square-free polynomial of degree ≤ k. For example, C ′ 0 is the set of constant functions, and C ′ 1 is the set of affine functions. The distance d(f, g) = d H (f, g) is defined as in (2). Note that changing the value of f ∈ C at a point a ∈ {0, 1} n is equivalent to adding the function χ a to the f . In this situation, we have the following upper and lower bounds for the quantity r(C, C ′ k ): Proposition 6. In the above setting, put u n,k := n i=k+1 n i , and let ℓ n,k be the minimum integer ℓ satisfying that 2 u n,k ≤ ℓ i=0 2 n i . Then we have Proof. For the upper bound, note that r(C, C ′ k ) ≤ 2 n−1 , as any function f ∈ C can be converted into a constant function by changing the value f (x) at every point x ∈ {0, 1} n with the property that f (x) is in the minority among the 2 n values of f (the number of such points is at most 2 n−1 ). Then the upper bound follows from Proposition 4, as C is an F 2 -vector space of dimension 2 n and C ′ k is its subspace of codimension u n,k . The lower bound also follows from Proposition 4.
By Proposition 5, the quantities ℓ n,k and u n,k in Proposition 6 satisfy the relation ℓ n,k ≤ u n,k ≤ nℓ n,k + log 2 (ℓ n,k + 1) − log 2 ℓ n,k !. Table 1 gives the precise values of ℓ n,k for some smaller cases.  Here we introduce a geometric point of view to the above problem. We introduce some notations. For a subset I ⊂ [n] := {1, 2, . . . , n}, put x I := i∈I x i , and let a I be the element (a 1 , . . . , a n ) of {0, 1} n determined by a i = 1 when and only when i ∈ I. We write δ I := χ aI for simplicity. Let ∆ n−1 Based on the above observation, we consider the following puzzle. We imagine a situation that a lamp is associated to each face of ∆ n−1 + . A state of ∆ n−1 + is a collection of light/dark properties of all the lamps. Given a function f , the corresponding initial state I f is defined in such a way that a lamp at a face is light if and only if the relative interior of the face is contained in G f . At any state, the player of the puzzle is allowed to indicate a face F of ∆ n−1 + (we call it "push the face F "), then the light/dark properties of lamps at P and every sub-face of F are flipped; such a process is regarded as a move of the puzzle. An initial state I f is said to be solved when the lamps of all faces of ∆ n n−k−1 are switched off by a sequence of moves started from I f . With this interpretation, the distance d(f, C ′ k ) from f ∈ C to C ′ k is the minimum of the number of moves to solve I f , and the quantity r(C, C ′ k ) is the minimal necessary number of moves to solve any initial state.
Moreover, we also introduce a simplified puzzle on ∆ n−1 instead of ∆ n−1 + by ignoring the isolated point P in the above puzzle. Let r ′ n,k denote the minimal necessary number of moves to solve (for the simplified puzzle) any initial state. Then we have r(C, C ′ k ) = r ′ n,k + 1, as for an initial state I of the simplified puzzle for which solving I requires precisely r ′ n,k moves, one of the two initial states of the original puzzle obtained by adding a lamp at P which is light and dark, respectively, requires r ′ n,k + 1 moves. Hence it suffices to consider the simplified puzzle on ∆ n−1 for determining the quantity r(C, C ′ k ). Example 1. We set n = 4 and show that r(C, C ′ 1 ) = 6, or equivalently r ′ 4,1 = 5. Note that the general bounds in Proposition 6 only guarantee that 4 ≤ r(C, C ′ 1 ) ≤ 8 (note that u 4,1 = 11 > 8 = 2 4−1 ). We identify naturally each state in the puzzle on ∆ n−1 = ∆ 3 with each family of non-empty subsets of [n] = [4], and we write {i 1 , i 2 , . . . , i ℓ } as i 1 i 2 · · · i ℓ for simplicity. Moreover, to express each state we omit the subsets of [4] of size larger than 2, as the lamps at faces of dimension at least n − k − 1 = 2 are not relevant to determine whether the puzzle has been solved or not. In other words, in the present situation, we can regard each state as edge and vertex coloring of the complete graph K 4 .
First, we show that the initial state I = {13, 24} requires more than 4 moves to solve. Assume contrary that I can be solved by at most 4 moves. If the player pushes the face 1234, then a state {1, 2, 3, 4, 12, 23, 34, 41} is obtained. To solve the state by at most 3 remaining moves, the player has to push at least one 2-dimensional face; we may assume by symmetry that the face is 123. Then the resulting state is {4, 13, 34, 41}; however, a case-by-case analysis shows that to solve the state by at most 2 remaining moves is impossible. Therefore the player does not push the face 1234. On the other hand, if the player pushes a 2-dimensional face, then we may assume by symmetry that the face is 123, resulting in a state {1, 2, 3, 12, 23, 24}. To solve the state by at most 3 remaining moves, the player has to push at least one more 2-dimensional face. If it is 124, then we obtain a state {3, 4, 23, 41}, but a case-by-case analysis shows that to solve the state by at most 2 remaining moves is impossible (the case of 234 is similar by symmetry). If it is 134, then we obtain a state {2, 4, 12, 13, 14, 23, 24, 34}, but a case-by-case analysis shows that to solve the state by at most 2 remaining moves is impossible as well. Therefore the player does not push a 2-dimensional face. This implies that the player should push 13 and 24, resulting in a state {1, 2, 3, 4}, from which to solve the state by at most 2 remaining moves is impossible. Hence we have a contradiction, therefore the initial state S = {13, 24} indeed requires more than 4 moves to solve.
Secondly, we show that any initial state I can be solved by at most 5 moves. The player can solve I by at most 4 moves when no lamps in I at 1-dimensional faces are light, therefore I can be solved by at most 5 moves when at most 1 lamp in I at 1-dimensional face is light. When 2 lamps in I at 1-dimensional faces are light, a case-by-case analysis shows that I can be solved by at most 4 moves unless I is of the form {i 1 i 2 , i 3 i 4 } with {i 1 , i 2 } ∩ {i 3 , i 4 } = ∅, and for any I of the latter form, I can be solved by pushing the faces 1234, i 1 i 2 i 3 , i 1 i 2 i 4 , i 1 , and i 2 . When 3 lamps in I at 1-dimensional faces are light, the problem can be reduced to the case of 2 light lamps at 1-dimensional faces by pushing one of the 3 light lamps at 1-dimensional faces. When 4 lamps in I at 1-dimensional faces are light, the problem can be reduced to the case of 2 light lamps at 1-dimensional faces by pushing the face 1234 unless I is of the form {1, 2, 3, 4, i 1 i 3 , i 1 i 4 , i 2 i 3 , i 2 i 4 } with {i 1 , i 2 } ∩ {i 3 , i 4 } = ∅, and for any I of the latter form, I can be solved by pushing the faces i 1 i 2 i 3 , i 1 i 2 i 4 , i 1 , and i 2 . When 5 lamps in I at 1-dimensional faces are light, the problem can be reduced to the case of 2 light lamps at 1-dimensional faces by pushing an appropriate 2-dimensional face. Finally, when 6 lamps in I at 1-dimensional faces are light, the problem can be reduced to the case of no light lamps at 1-dimensional faces by pushing the face 1234. Hence any initial state I can be solved by at most 5 moves, therefore we have r ′ 4,1 = 5 as desired. From now, we investigate FDPs in the above setting by using Gröbner bases. Recall that X = {0, 1} n . Let R := K[z v | v ∈ X] be a polynomial ring in 2 n variables over a field K of characteristic 0. We define the following ideal of R: For each f ∈ C, put Then the set {z f | f ∈ C} of all square-free monomials in R forms a linear basis of the quotient ring A 0 := R/I 0 . Note that z f z g = z f +g (mod I 0 ) and the degree deg(z f ) of z f in R is equal to d(f, 0) for any f, g ∈ C, where 0 denotes the function in C taking constant value 0. Let C ′ be a subset of C, which need not be a linear subspace of C unless otherwise specified. We define the following ideal of R:Ǐ and consider the ideal I C ′ := I 0 +Ǐ C ′ of R. We identify the quotient ring A C ′ := R/I C ′ with the quotient ring of A 0 by the image ofǏ C ′ . Now fix a graded monomial order, i.e., a monomial order ≺ satisfying that v∈X z v αv ≺ v∈X z v βv for any exponents (α v ) v∈X and (β v ) v∈X with v∈X α v < v∈X β v . Let G be a Gröbner basis for the ideal I C ′ , and consider the reduction process with respect to the Gröbner basis G. As each generator of I C ′ is of the form "(monic monomial) − (monic monomial)", G can be chosen in such a way that every element of G is of the same form, and the linear basis of A 0 consisting of the square-free monic monomials can be partitioned into equivalence classes when projected onto the quotient ring A C ′ . This also implies that the normal form nf(z f ) of each f ∈ C with respect to G is a square-free monic monomial, i.e., of the form z g with g ∈ C, and we have Now we consider the case that 0 ∈ C ′ . Note that z f z f = 1 = z 0 (mod I 0 ) for any f ∈ C. Now if f, g ∈ C and z f = z g (mod I C ′ ), then we have z f +g = z f z g = z f z f = z 0 (mod I C ′ ), therefore f + g ∈ C ′ . Conversely, if f + g ∈ C ′ , then we have z f z g = z f +g = z 0 = 1 (mod I C ′ ), therefore z f = z f z g z g = z g (mod I C ′ ). Hence deg(nf(z f )) is equal to the minimal degree of z g with g ∈ C satisfying that f + g ∈ C ′ , therefore d(f, C ′ ) = deg(nf(z f )). This argument reduces the FDP in this setting to the problem of computing (the degrees of) the normal forms of square-free monomials. More precisely, let h i denote the number of monic monomials in A C ′ whose normal forms have degree i, and put s := max{i | h i > 0}. (If the ideal is homogeneous, then (h i ) i is called the Hilbert function and it does not depend on the choice of a monomial order.) Now the above argument implies that r(C, C ′ ) = s. Moreover, if C ′ is a linear subspace of C, then we have h i · |C ′ | = |{f ∈ C | d(f, C ′ ) = i}|, therefore the data (h i ) i express the distributions of the distances d(f, C ′ ) over the functions f ∈ C.
Based on the above argument, Proposition 4 can be restated for the present case as follows: Proposition 7. In the above setting, suppose that C ′ is a linear subspace of C. Then we have Proof. Note that the number of monic monomials in A C ′ is 2 n /|C ′ |. Then the lower bound follows from the fact that the normal form of each monic monomial is also a monic monomial and that there exist n i square-free monic monomials of degree i, hence h i ≤ n i . On the other hand, the upper bound is deduced from the fact that each divisor of a monic monomial of normal form is also of normal form, hence h i = 0 if h j = 0 and j < i. This concludes the proof.
For the case C ′ = C ′ k as discussed above, Table 2 shows a calculation result of r(C, C ′ k ) and (h i ) i for small parameters n and k, which is obtained by using computer algebra software Singular/Sage. By the table, we have r(C, C ′ k ) = 6 when (n, k) = (4, 1), as explained in Example 1. Note that the values of r(C, C ′ k ) in Table 2 are consistent with the lower bounds shown in Table 1.

Perfect codes and Reed-Solomon codes
In this subsection, we consider the case that C is an n-dimensional vector space over the q-element field F q , hence C is identified with F q n , the distance d(·, ·) is defined to be the (generalized) Hamming distance (with respect to the vector expressions of elements), and C ′ is a linear subspace of C coming from the coding theory. Let the subspace C ′ be an (n, m, d)-code, i.e., dim(C ′ ) = m and the minimum distance of C ′ is d. By the definition of minimum distance, we have the following well-known relation This and the argument in Proposition 4 implies that r(C, C ′ ) ≥ ⌊d/2⌋. We say that C ′ is a perfect code, if the equality holds in (47). For a perfect code C ′ , the above argument and Proposition 4 implies that r(C, C ′ ) = ⌊d/2⌋. For example, if n = 2 k − 1, q = 2 and C ′ is the Hamming code H k which is a (2 k − 1, 2 k − k − 1, 3)-code, then we have r(C, C ′ ) = 1. On the other hand, if n = 23, q = 2 and C ′ is the binary Golay code G 23 which is a perfect (23, 12, 7)-code, then we have r(C, C ′ ) = 3. (In the case of the extended Golay code C ′ = G 24 which is a nearly perfect (24, 12, 8)-code, where we set n = 24 and q = 2, we also have r(C, C ′ ) = 4 in a similar manner.) As another concrete class of C ′ for which the quantity r(C, C ′ ) can be explicitly determined, from now we study the case of Reed-Solomon codes, which is also an important class of linear codes. We write q = p e with a prime number p and an integer e ≥ 1, and choose an integer k with 1 ≤ k < n. Take a primitive element α of F q , i.e., F q × = α . Define a polynomial G(x) ∈ F q [x] of degree n − k by G(x) := (x − 1)(x − α)(x − α 2 ) · · · (x − α n−k−1 ) .
For any integer j ≥ 0, let P j denote the set of polynomials in F q [x] of degrees up to j, which is a (j + 1)dimensional F q -linear subspace of F q [x]. We identify P n−1 with C via the correspondence n−1 i=0 a i x i → n−1 i=0 a i v i , where (v 0 , . . . , v n−1 ) is a distinguished linear basis of C. Now we introduce the following two linear maps: ϕ n,k : P k−1 → P n−1 , f (x) → G(x)f (x) , ψ n,k : P n−1 → F q n−k , f (x) → (f (1), f (α), f (α 2 ), . . . , f (α n−k−1 )) .
Let C ′ be the image of ϕ n,k , which is a subspace of C (via the above identification C ≃ P n−1 ). This C ′ is a Reed-Solomon code. Note that C ′ coincides with the kernel of ψ n,k . Now we have the following result: Proposition 8. In the above setting of Reed-Solomon code, we have r(C, C ′ ) = n − k.
Proof. As dim(C ′ ) = k, the inequality r(C, C ′ ) ≤ n − k follows from Proposition 4. From now, we show that r(C, C ′ ) ≥ n − k, or equivalently, there exists an element u ∈ C satisfying that d(u, C ′ ) ≥ n − k.
where c denotes the column vector t (c 1 , c 2 , . . . , c n−k−1 ). For simplicity, let B and b denote, respectively, the first n − k − 1 rows and the last row of the above matrix; i.e., the above condition is written as Now, as α is a primitive element of F q , all β νj are distinct with each other and hence B is a Vandermonde matrix which is invertible. Therefore, the condition (51) implies that c = B −1 · t (f (α 0 ), f (α 1 ), . . . , f (α n−k−2 )) and f (α n−k−1 ) = b c. On the other hand, the latter condition is not satisfied when f (α i ) = 0 for every 0 ≤ i ≤ n − k − 2 and f (α n−k−1 ) = 0, e.g., f (x) = n−k−2 i=0 (x − α i ). Hence this element f (x) ∈ C satisfies that d(f (x), C ′ ) ≥ n − k, as desired. This concludes the proof of Proposition 8.

Concluding Remarks
In this paper, we first specified a class of mathematical problems, which we call Function Density Problems. Then we pointed out novel connections of Function Density Problems to theoretical security evaluations of keyless hash functions and to constructions of provably secure pseudorandom generators with some enhanced security property. Our argument aimed at proposing new theoretical frameworks for these topics (especially for the former) based on Function Density Problems, rather than providing some concrete and practical results on the topics. We also gave some examples of mathematical discussions on the problems, which would be of independent interest from mathematical viewpoints.
To conclude this paper, we discuss some possible directions of future works. First, there exist some cryptographic protocols for which the constructions are motivated by some NP-complete/NP-hard problems, but actually the distributions of the problem instances in the protocols are somewhat biased, therefore it has not succeeded to prove the security of the protocols directly from the hardness of the underlying problems (e.g., McEliece cryptosystem and other code-based protocols relevant to decoding problem for random linear codes; knapsack cryptosystem relevant to Subset Sum Problem; etc.). We hope that the idea of Function Density Problems can be applied to measure the closeness of the approximations of the underlying hard problems in those protocols. Secondly, for the mathematical characteristics of Function Density Problems, it would be interesting to evaluate the computational difficulty of Function Density Problems (e.g., to prove, if possible, that Function Density Problems are NP-hard). Moreover, as the examples of Function Density Problems in this paper are for the case that the subset C ′ of C forms a linear subspace, it would be also significant to study the other cases that C ′ is not a linear subspace of C.