We start with defining the Discrete Fourier Transformation (DFT) and an effective way of computing DFT by means of the Fast Fourier Transform algorithm (FFT). DFT can be used in a quite natural way for computing product of two degree N polynomials over a field where DFT is defined in O(N\log N) elementary arithmetical operations over the field. If DFT is not defined, there are numerous tricks to overcome this by using appropriate field extensions. We will outline only the ideas of the most important algorithms giving the best general upper bound of O(N\log N\log\log N) elementary arithmetical operations over the field to multiply two degree N polynomials: Schönhage-Strassen (1971), Schönhage (1976), Cantor-Kaltofen (1991).