FPGA based remote code integrity verification of programs in distributed embedded systems