A cyber-security device for providing secure communication of data in a system including a control device, wherein the system is operable in one or more system states, the cyber-security device comprising: a first communication interface configured for accepting incoming messages destined for the control device; a second communication interface configured for accepting outgoing messages from the control device; a memory configured to store current system state information and a rule-set comprising rules for qualifying and validating the incoming and the outgoing messages, wherein the rule-set includes a system state-dependent rule; a processor operatively coupled to the memory and to the first communication interface and the second communication interface, and configured to qualify and validate the incoming messages and the outgoing messages on a byte-by-byte basis; wherein the processor is operable in an operational mode to: accept messages received from one of the first communication interface and the second communication interface; retrieve the rule-set from the memory; qualify the received messages, including any received messages containing received system state information, on a byte-by-byte basis, based on compliance with the rule-set; for any received message that has been qualified, validate the qualified received message, on a byte-by-byte basis, in accordance with the rule-set, wherein the qualified received message is validated by compliance with the system state-dependent rule in the rule-set based on the current system state information; transmit the received messages to the other of the first communication interface and the second communication interface only if the received message is validated in compliance with the rule-set; and update the current system state information based on the system state information in any validated message that includes received system state information. a first communication interface configured for accepting incoming messages destined for the control device; a second communication interface configured for accepting outgoing messages from the control device; a memory configured to store current system state information and a rule-set comprising rules for qualifying and validating the incoming and the outgoing messages, wherein the rule-set includes a system state-dependent rule; a processor operatively coupled to the memory and to the first communication interface and the second communication interface, and configured to qualify and validate the incoming messages and the outgoing messages on a byte-by-byte basis; wherein the processor is operable in an operational mode to: accept messages received from one of the first communication interface and the second communication interface; retrieve the rule-set from the memory; qualify the received messages, including any received messages containing received system state information, on a byte-by-byte basis, based on compliance with the rule-set; for any received message that has been qualified, validate the qualified received message, on a byte-by-byte basis, in accordance with the rule-set, wherein the qualified received message is validated by compliance with the system state-dependent rule in the rule-set based on the current system state information; transmit the received messages to the other of the first communication interface and the second communication interface only if the received message is validated in compliance with the rule-set; and update the current system state information based on the system state information in any validated message that includes received system state information. accept messages received from one of the first communication interface and the second communication interface; retrieve the rule-set from the memory; qualify the received messages, including any received messages containing received system state information, on a byte-by-byte basis, based on compliance with the rule-set; for any received message that has been qualified, validate the qualified received message, on a byte-by-byte basis, in accordance with the rule-set, wherein the qualified received message is validated by compliance with the system state-dependent rule in the rule-set based on the current system state information; transmit the received messages to the other of the first communication interface and the second communication interface only if the received message is validated in compliance with the rule-set; and update the current system state information based on the system state information in any validated message that includes received system state information.