I have trouble wrapping my head around the way 2d convoluion with fft is performed. I understand how 2d convolution works when performed clasically (technically I'm interested in cross-correlation as this is all in context of images and filters applied to them). This can be also performed using Fourier transform in accordance with convolution theorem (which I believe holds for cross-correlation as well, one matrix has to be conjugated though) we could perform simple multiplication in frequency domain, and then find the inverse Fourier transform to obtain the result.
Suppose I want to convolve two $10 \times 10$ images, then I would find fft of each one, multiply element-wise, inverse and obtain $10 \times 10$ result, which would be the same as 'same' convolution performed clasically. What do I do when I want to convolve $10 \times 10$ image with $3 \times 3$ filter? As far as I understand the dimentions of 2d Fourier transforms do not match, so I cannot multiply them. Surely I must be understanding something wrong, I would appreciate any help.