You might try embedding into a larger matrix in a way that the relations work out. So the imaginary unit becomes {{0,1},{1,0}}, real values become diagonal 2x2 matrices, and for this particular c it looks like {{1,0},{0,-1}} will work. This will involve simple replacements, some array flattening and unflattening, and a simple undoing of the replacements. Also important is to realize that we really have four generators, not 3, insofar as resulting 2x2 matrices will need to be reconstructed as a real part, an imaginary part, a c part, and one other reverse diagonal which can be in terms of either "I*c" or "c*I". Since multiplications is commutative we cannot use these explicitly and so I will just use a surrogate variable, called ci, for the latter. Also I will use i from the beginning to represent out imaginary unit, rather than Complex[0,1]. So here is how we proceed.
Start with replacements that take us from scalar to 2x2 matrix form, and reverse.
replacements = {i -> {{0, 1}, {1, 0}}, c -> {{1, 0}, {0, -1}}}; cirForm[mat_?MatrixQ /; Dimensions[mat] === {2, 2}] := (mat[[1, 1]] + mat[[2, 2]])/2 + c*(mat[[1, 1]] - mat[[2, 2]])/2 + i*(mat[[1, 2]] + mat[[2, 1]])/2 + ci*(mat[[1, 2]] - mat[[2, 1]])/2
We create an example using two 4x4 matrices containing real, imaginary, and c parts.
SeedRandom[1234]; rand1 = RandomInteger[{-10, 10}, {3, 4, 4}]; rand2 = RandomInteger[{-10, 10}, {3, 4, 4}]; mat1 = {1, i, c}.rand1 mat2 = {1, i, c}.rand2 (* Out[1606]= {{-9 - 6 c + 6 i, 10 - 8 c + 8 i, 10 + 6 c + 10 i, -9 - 6 c - 3 i}, {-10 + 6 c + 4 i, 6 - 9 c + 6 i, 7 + 3 c - 4 i, -6 + 7 c - 9 i}, {-5 - c + 5 i, 9 + 10 c - 3 i, 5 + c - 2 i, 6 - 4 c + 3 i}, {9 + 4 c + 3 i, -8 + 8 c - 9 i, 2 + c + 5 i, -5 - 8 c - 2 i}} Out[1607]= {{-6 - 8 c - 5 i, 6 - 6 c - i, 5 - 8 c + 6 i, 1 + 10 i}, {-1 - 2 i, 4 + 6 c - 10 i, 2 + 4 c + 7 i, 9 - 6 c - i}, {9 + 2 c + 8 i, 10 + c - 9 i, 1 + 9 c - 8 i, -9 - 9 c + 4 i}, {-2 + 4 c - 5 i, 7 + 8 i, -8 + 4 c - 2 i, -8 + c + 2 i}} *)
Now flatten into 8x8s.
mat1Full = ArrayFlatten[mat1 /. replacements, 2] mat2Full = ArrayFlatten[mat2 /. replacements, 2] (* Out[1608]= {{-15, -3, 2, 18, 16, 20, -15, -12}, {-3, -3, 18, 18, 20, 4, -12, -3}, {-4, -6, -3, 12, 10, 3, 1, -15}, {-6, -16, 12, 15, 3, 4, -15, -13}, {-6, 0, 19, 6, 6, 3, 2, 9}, {0, -4, 6, -1, 3, 4, 9, 10}, {13, 12, 0, -17, 3, 7, -13, -7}, {12, 5, -17, -16, 7, 1, -7, 3}} Out[1609]= {{-14, -11, 0, 5, -3, 11, 1, 11}, {-11, 2, 5, 12, 11, 13, 11, 1}, {-1, -3, 10, -6, 6, 9, 3, 8}, {-3, -1, -6, -2, 9, -2, 8, 15}, {11, 17, 11, 1, 10, -7, -18, -5}, {17, 7, 1, 9, -7, -8, -5, 0}, {2, -7, 7, 15, -4, -10, -7, -6}, {-7, -6, 15, 7, -10, -12, -6, -9}} *)
Take the product and repartition into a 4x4 comprised of 2x2s.
matProductFull = mat1Full.mat2Full (* Out[1600]= {{757, 724, -192, -272, 386, -200, -109, 236}, {288, 425, 152, -340, 496, 38, -116, 377}, {357, 303, -237, -151, 261, -97, -95, 185}, {365, 245, -313, -601, 241, 57, 83, 431}, {105, 58, 372, -30, 127, -101, -92, 53}, {90, -69, 296, 162, -151, -259, -231, -130}, {-88, 131, 6, 65, 43, 470, 53, 26}, {-99, 102, 25, 186, -166, 53, -212, -259}} *) matProduct = Partition[matProductFull, {2, 2}] (* Out[1601]= {{{{757, 724}, {288, 425}}, {{-192, -272}, {152, -340}}, {{386, -200}, {496, 38}}, {{-109, 236}, {-116, 377}}}, {{{357, 303}, {365, 245}}, {{-237, -151}, {-313, -601}}, {{261, -97}, {241, 57}}, {{-95, 185}, {83, 431}}}, {{{105, 58}, {90, -69}}, {{372, -30}, {296, 162}}, {{127, -101}, {-151, -259}}, {{-92, 53}, {-231, -130}}}, {{{-88, 131}, {-99, 102}}, {{6, 65}, {25, 186}}, {{43, 470}, {-166, 53}}, {{53, 26}, {-212, -259}}}} *)
Rewrite in "cir" form.
cirmatProduct = Map[cirForm, matProduct, {2}] (* Out[1602]= {{591 + 166 c + 218 ci + 506 i, -266 + 74 c - 212 ci - 60 i, 212 + 174 c - 348 ci + 148 i, 134 - 243 c + 176 ci + 60 i}, {301 + 56 c - 31 ci + 334 i, -419 + 182 c + 81 ci - 232 i, 159 + 102 c - 169 ci + 72 i, 168 - 263 c + 51 ci + 134 i}, {18 + 87 c - 16 ci + 74 i, 267 + 105 c - 163 ci + 133 i, -66 + 193 c + 25 ci - 126 i, -111 + 19 c + 142 ci - 89 i}, {7 - 95 c + 115 ci + 16 i, 96 - 90 c + 20 ci + 45 i, 48 - 5 c + 318 ci + 152 i, -103 + 156 c + 119 ci - 93 i}} *)