PHP a Delphi y viceversa Cifrado-Descifrado usando Rijndael

Tengo problemas para descifrar cadenas enviadas desde PHP a Delphi usando el cifrado rijndael. Estoy usando mcrypt en el lado de PHP y DCP_rijndael en el lado de Delphi.

En este momento tengo el siguiente código.

PHP:

function encRJ($key, $iv, $data)
{
    $r = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $data, MCRYPT_MODE_CBC, $iv);
    $r = base64_encode($r);
    return $r;
}

Y en Delphi:

function decRJ(Data: string; Key: string; IV: string): string;
var ciph: TDCP_rijndael;
begin
  Data := Base64DecodeStr(Data);

  ciph:= TDCP_rijndael.Create(Self);
  ciph.Init(Key[1], 256, @IV[1]);
  ciph.DecryptCBC(Data[1], Data[1], Length(Data));
  ciph.Free;

  Result := Data;
end;

He intentado usar varias Unidades en Internet implementando el cifrado, y descubrí que la mayoría de la gente dice sobre los componentes DCP. Aun así, no he logrado descifrarlo correctamente. Intenté usar matrices de bytes para los parámetros, AnsiStrings, WideStrings, etc., pero desafortunadamente no tuve suerte.

isculpe si me falta algo realmente obvio aquí, ya que mi mente no está en buen estado, después de horas de buscar el asunto.

Respuestas a la pregunta(2)

Su respuesta a la pregunta