A semiconductor integrated circuit having a plurality of selectable
pathways inter-connected to data sources and data destinations; a
cryptographic circuit connected to the selectable pathways to selectively
receive data from at least one of the data sources, to decrypt or encrypt
the data in accordance with a key, and to selectively provide the
encrypted or decrypted data to at least one of the data destinations; an
instruction interpreter arranged to receive an instruction signal and to
generate an output to control the plurality of selectable pathways to
select from which of the data sources the cryptographic circuit receives
data and to which destination the cryptographic circuit provides data.
The instruction interpreter configured such that the instruction signal
defines a data pathway that operates in accordance with a rule that
limits the data pathway configurations which are selectable.