It is my opinion that C++ and C code performing the same task, written in efficient code, will not be hugely different in performance and size.

It is perfectly possible to write inefficient and unnecessarily large code in both C and C++ - and I guess C++ can HIDE the complexity of a complicated piece of code - but in the end, someone who knows what he/she is doing should be able to produce good, efficient code in both languages, and unless you have good evidence that the code is inefficient, translating an encryption algorithm from C++ to C will just make your life hard, without much benefit.

The task of translating C++ to C when it's heavily relying on C++ functionality can be quite hard, as has been stated.

--
Mats