A method for secure exchange of text message(s) between two or more end devices, the method comprising: connecting and pairing an end device with a communication unit, which is an external unit that is connected at one side to an end device and at the other side to a communication network, thereby providing the end device with a connection to a communication network; starting of a communication session; secure exchanging of text message(s); and terminating of the communication session, wherein the end device comprises: a display module; a text input module; a communication interface module; a cryptographic module; and a Central Processing Unit (CPU) having Read Only Memory (ROM) or Write Protected Memory (WPM) based code memory, wherein a Write Protected Memory (WPM) comprises a memory that does not support any remote update to its content but requires physical access to the end device, and a manual change of the hardware settings in order to update the WPM content; wherein the Central Processing Unit (CPU) is divided to two or more separate Central Processing Units; wherein the separate Central Processing Units comprises: a display CPU, a cryptographic CPU, and a text input CPU; wherein at least one of the Central Processing Units (CPU) is configured to execute the instructions directly from the Read Only Memory (ROM) or Write Protected Memory (WPM); wherein the display CPU is internally connected to a communication interface module via unidirectional connection only, out of the communication interface module into the display CPU; and wherein the text input CPU is internally connected to a communication interface module via unidirectional connection only, out of the text test input CPU into the communication interface module. connecting and pairing an end device with a communication unit, which is an external unit that is connected at one side to an end device and at the other side to a communication network, thereby providing the end device with a connection to a communication network; starting of a communication session; secure exchanging of text message(s); and terminating of the communication session, wherein the end device comprises: a display module; a text input module; a communication interface module; a cryptographic module; and a Central Processing Unit (CPU) having Read Only Memory (ROM) or Write Protected Memory (WPM) based code memory, wherein a Write Protected Memory (WPM) comprises a memory that does not support any remote update to its content but requires physical access to the end device, and a manual change of the hardware settings in order to update the WPM content; wherein the Central Processing Unit (CPU) is divided to two or more separate Central Processing Units; wherein the separate Central Processing Units comprises: a display CPU, a cryptographic CPU, and a text input CPU; wherein at least one of the Central Processing Units (CPU) is configured to execute the instructions directly from the Read Only Memory (ROM) or Write Protected Memory (WPM); wherein the display CPU is internally connected to a communication interface module via unidirectional connection only, out of the communication interface module into the display CPU; and wherein the text input CPU is internally connected to a communication interface module via unidirectional connection only, out of the text test input CPU into the communication interface module. <EOS>