Enhancing embedded SRAM security and error tolerance with hardware CRC and obfuscation