Question: [Wikipedia - Wiener Deconvolution](http://en.wikipedia.org/wiki/Wiener_deconvolution) shows this formula:
$$
\ G(f) = \frac{H^\*(f)S(f)}{ |H(f)|^2 S(f) + N(f) }
$$

Could someone explain the derivation?  

Specifically, where does the squaring ($|H(f)|^2$) come from?

Answer: 
The Wiener Filter can also be derived by another (Easier) way.

Let's assume the following model:

$$ y = h \ast x + n $$

Namely the data is a result of a linear combination (Convolution) of $ x $ with Additive Noise. 

If we assume the noise model is Gaussian and our data is also formed by a Gaussian distribution then we should try to minimize (MAP Estimator):

$$ \hat{x} = \frac{1}{2 {\sigma}\_{n}^{2}} \left\| h \ast x - y \right\|\_{2}^{2} + \frac{1}{ 2 {\sigma}\_{x}^{2} } \left\| x \right\|\_{2}^{2} $$

Since the convolution is Linear Operation and assuming we in finite dimension then it can be rewritten as:

$$ \hat{x} = \frac{1}{2} \left\| H x - y \right\|\_{2}^{2} + \frac{{\sigma}\_{n}^{2}}{ 2 {\sigma}\_{x}^{2} } \left\| x \right\|\_{2}^{2} $$

This is just a Tikhonov Regulaized Least Squares with the solution given by:

$$ \hat{x} = \left( {H}^{T} H + \frac{{\sigma}\_{n}^{2}}{{\sigma}\_{x}^{2}} I \right)^{-1} {H}^{T} y $$

Now, if we use the discrete form of the circular convolution then $ H $ is a circulant matrix which means all can be solved in the Frequency Domain which results in the same equation as above.
As Jan pointed out, the wikipedia article very lucidly explains the derivation of the weiner filter. The goal of the weiner filter is to reduce the mean of the error in prediction. Hence, you would do the same. Write down the estimate of the error and then differentiate it with respect to G(f) to obtain the optimum G(f)