Not just that, but two 1D
iterated box blurs, requiring an amount of work per pixel that is constant with respect to the blur radius—as opposed to quadratic for the naive convolution, or linear for the 2D-to-1D transformation with a full Gaussian kernel.
http://elynxsdk.free.fr/ext-docs/Blur/Fast_box_blur.pdf