If you are translating your points in 2D with a matrix as well as rotating them, you will need a 3x3 matrix, where the points you transform require an extra term w which equals 1:
[x,y,1] * M = [x', y', 1]
If you only have uniform scaling (or no scaling), then for vectors such as normals you can use the same matrix you used to transform the points but set the w term equal to 0 which will ignore the translation:
[nx, ny, 0] * M = [nx', ny', 0]
However, if you have non-uniform scaling then you need to use the inverse transpose to transform the normals:
If you have no scaling (or only uniform scaling), then just multiply [x, y, 0] by the 3x3 matrix. If you have scaling, you will need to first invert the matrix, then transpose it, then multiple [x, y, 0] by it.