Recently, arithmetic coding has attracted the attention of many scholars because of its high compression capability. Accordingly, in this paper, a method that adds secrecy to this well-known source code is proposed. Finite state arithmetic code is used as source code to add security. Its finite state machine characteristic is exploited to insert some random jumps during source coding process. In addition, a Huffman code is designed for each state to make decoding possible even in jumps. Being prefix-free, Huffman codes are useful in tracking correct states for an authorized user when he/she decodes with correct symmetric pseudo-random key. The robustness of our proposed scheme is further reinforced by adding another extra uncertainty by swapping outputs of Huffman codes in each state. Several test images are used for inspecting the validity of the proposed Huffman finite state arithmetic coding (HFSAC). The results of several experimental key space analyses, statistical analyses, key and plaintext sensitivity tests show that HFSAC with a little effect on compression efficiency provides an efficient and secure method for real-time image encryption and transmission.
Read full abstract