problem using Optiga Trust X I2C

What type of Arduino are you using?

How did you wire your setup? Please post a complete wiring diagram.

  Wire.requestFrom(48, 4);
  while(Wire.available()==0){

  }
  val = Wire.read(); // Reads the data from the register

Three problems with this block: You're requesting 4 bytes from the slave but you read only one. The while loop is not necessary and will end in an endless loop if the data couldn't be read from the device. And you don't check the return value of Wire.requestFrom() so you don't know if the request was successful.