Gaussian channel transmission of images and audio files using cryptcoding

IET CommunicationsVolume 13, Issue 11 p. 1625-1632 Research ArticleFree Access Gaussian channel transmission of images and audio files using cryptcoding Verica Bakeva, Verica Bakeva Faculty of Computer Science and Engineering, Ss. Cyril and Methodius University in Skopje, P.O. Box 393, Republic of North MacedoniaSearch for more papers by this authorAleksandra Popovska-Mitrovikj, Corresponding Author Aleksandra Popovska-Mitrovikj aleksandra.popovska.mitrovikj@finki.ukim.mk Faculty of Computer Science and Engineering, Ss. Cyril and Methodius University in Skopje, P.O. Box 393, Republic of North MacedoniaSearch for more papers by this authorDaniela Mechkaroska, Daniela Mechkaroska Faculty of Computer Science and Engineering, Ss. Cyril and Methodius University in Skopje, P.O. Box 393, Republic of North MacedoniaSearch for more papers by this authorVesna Dimitrova, Vesna Dimitrova Faculty of Computer Science and Engineering, Ss. Cyril and Methodius University in Skopje, P.O. Box 393, Republic of North MacedoniaSearch for more papers by this authorBoro Jakimovski, Boro Jakimovski Faculty of Computer Science and Engineering, Ss. Cyril and Methodius University in Skopje, P.O. Box 393, Republic of North MacedoniaSearch for more papers by this authorVladimir Ilievski, Vladimir Ilievski Ecole Polytechnique Fédérale de Lausanne, SwitzerlandSearch for more papers by this author Verica Bakeva, Verica Bakeva Faculty of Computer Science and Engineering, Ss. Cyril and Methodius University in Skopje, P.O. Box 393, Republic of North MacedoniaSearch for more papers by this authorAleksandra Popovska-Mitrovikj, Corresponding Author Aleksandra Popovska-Mitrovikj aleksandra.popovska.mitrovikj@finki.ukim.mk Faculty of Computer Science and Engineering, Ss. Cyril and Methodius University in Skopje, P.O. Box 393, Republic of North MacedoniaSearch for more papers by this authorDaniela Mechkaroska, Daniela Mechkaroska Faculty of Computer Science and Engineering, Ss. Cyril and Methodius University in Skopje, P.O. Box 393, Republic of North MacedoniaSearch for more papers by this authorVesna Dimitrova, Vesna Dimitrova Faculty of Computer Science and Engineering, Ss. Cyril and Methodius University in Skopje, P.O. Box 393, Republic of North MacedoniaSearch for more papers by this authorBoro Jakimovski, Boro Jakimovski Faculty of Computer Science and Engineering, Ss. Cyril and Methodius University in Skopje, P.O. Box 393, Republic of North MacedoniaSearch for more papers by this authorVladimir Ilievski, Vladimir Ilievski Ecole Polytechnique Fédérale de Lausanne, SwitzerlandSearch for more papers by this author First published: 01 July 2019 https://doi.org/10.1049/iet-com.2018.5636AboutSectionsPDF ToolsRequest permissionExport citationAdd to favoritesTrack citation ShareShare Give accessShare full text accessShare full-text accessPlease review our Terms and Conditions of Use and check box below to share full-text version of article.I have read and accept the Wiley Online Library Terms and Conditions of UseShareable LinkUse the link below to share a full-text version of this article with your friends and colleagues. Learn more.Copy URL Share a linkShare onFacebookTwitterLinkedInRedditWechat Abstract Random codes based on quasigroups (RCBQ) are cryptcodes, i.e. they are error-correcting codes, which provide information security. Cut-Decoding and 4-Sets-Cut-Decoding algorithms for these codes are defined elsewhere. Also, the performance of these codes for the transmission of text messages is investigated elsewhere. In this study, the authors investigate the RCBQ's performance with Cut-Decoding and 4-Sets-Cut-Decoding algorithms for transmission of images and audio files through a Gaussian channel. They compare experimental results for both coding/decoding algorithms and for different values of signal-to-noise ratio. In all experiments, the differences between the transmitted and decoded image or audio file are considered. Experimentally obtained values for bit-error rate and packet error rate and the decoding speed of both algorithms are compared. Also, two filters for enhancing the quality of the images decoded using RCBQ are proposed. 1 Introduction In this study, we investigate the performance and application of random codes based on quasigroups (RCBQs) for transmission of images and audio files through a Gaussian channel. RCBQs correct a certain amount of errors appeared during transmission through a noisy channel and at the same time encrypting the input messages, i.e. they are cryptcodes. This property is an advantage of RCBQs versus other error-correcting codes. There are few publications for the design of algorithms that combine error-correcting codes and ciphers [1-3], but almost all of them are for cryptographic purposes. RCBQs were initially proposed in [4]. Furthermore, we denote the coding/decoding algorithms given in [4] as the standard coding/decoding algorithm for RCBQs. The previous investigations of RCBQ [5, 6] showed that the speed of the decoding process is one of the biggest problems for standard RCBQs. The main reason for this is the length of the lists (called decoding-candidate sets) since the decoding of RCBQ is actually a list decoding. The length of the lists depends on the parameter – the predicted maximal number of bit errors appeared during transmission of a block. The larger value of gives larger lists and slower decoding process. In order to improve the decoding speed, in [7, 8] the authors proposed two new coding/decoding algorithms: Cut-Decoding and 4-Sets-Cut-Decoding algorithms. In these algorithms, the authors proposed coding/decoding in two (in Cut-Decoding) or four (in 4-Sets-Cut-Decoding) parallel processes. The decoding-candidate sets are reduced using the intersection of the sets obtained in the parallel decoding processes. In this way, the authors obtain faster decoding and also better results for packet-error rate (PER) and bit-error rate (BER) probabilities. The rest of the paper is organised in the following way. In Section 2, we give some preliminary definitions, description of coding/decoding algorithms of RCBQ and analysis of the cryptographic properties of these codes. In Section 3, we describe how our experiments are made. Several experimental results for coding/decoding images are given and analysed in Section 4. Also, in this section, we propose two filters for enhancing the quality of decoded images. The experimental results obtained for audio files are presented in Section 5. In Section 6, we make some conclusions. 2 Description and properties of RCBQ Random codes based on quasigroups are error-correcting codes designed using the encryption algorithm of the totally asynchronous cipher (TASC) implemented by quasigroup string transformations [9]. This cipher uses a quasigroup , i.e. a groupoid consisting of a set (called an alphabet) Q and operation with the following property: for all there exist unique satisfying the equations and . The main body of the multiplication table of a quasigroup is a Latin square over the set Q. For a quasigroup a new operation , called a parastrophe, can be derived from the operation as follows: . Then the algebra satisfies the identities (1)and is also a quasigroup. Quasigroup string transformations are defined on a finite quasigroup and they are mappings from to ( is the set of all non-empty words on Q). In RCBQs, we use two types of quasigroup transformations defined as follows. Let be a fixed element, called a leader. For every , and transformations are defined by (2)for each , where . By using the identities (1), we have that and . This means that and are permutations on , mutually inverse. We use compositions of and in the code design. 2.1 Description of coding/decoding algorithms At first, we describe the standard coding algorithm for RCBQs proposed in [4]. Let be a block of bits where and Q is an alphabet of 4-bit symbols (nibbles). First, we add a redundancy as zero symbols and produce a message of bits (), where , are sub-blocks of r symbols from Q. After erasing the redundant zeros from each , the message L will produce the original message M. In this way, we obtain code with rate . The codeword is produced after applying the encryption algorithm of TASC (given in Fig. 1) on the message L. For this purpose, a key should be chosen. The obtained codeword of M is where . Notice that the encryption algorithm of the TASC uses compositions of transformations. Fig. 1Open in figure viewerPowerPoint Encryption algorithm In the Cut-Decoding algorithm, instead of using code with rate R, we use two () codes with rate for coding/decoding the same message of bits. Namely, for coding, we apply the same encryption algorithm (given in Fig. 1) two times, on the same redundant message L using different parameters (different keys or quasigroups). In this way, we obtain the codeword of the message as a concatenation of two codewords of bits. The code rate is again . In the 4-Sets-Cut-Decoding algorithm, we use four codes with rate , on the same way as in coding with the Cut-Decoding algorithm and the codeword of the message is a concatenation of four codewords of bits (code rate ). The decoding in all three cases is actually a list decoding and it is described below. In the standard decoding algorithm for RCBQs, after transmission through a noisy channel (for our experiments we use Gaussian channel), the codeword C will be received as message where are blocks of r symbols from Q and . The decoding process consists of four steps: (i) procedure for generating the sets with a predefined Hamming distance, (ii) inverse coding algorithm, (iii) procedure for generating decoding candidate sets and (iv) decoding rule. Let be a given integer, which denotes the expected maximal number of errors occur in a block during transmission. The probability that at most bits in are not correctly transmitted is where is the probability of bit-error in a Gaussian channel. Then is the probability that at most errors occur in a block during transmission. We generate the sets for , where is the Hamming distance between and . The decoding candidate sets , , ,…, , are defined iteratively. Let , where is the empty sequence. Let be defined for . Then is the set of all pairs obtained by using the sets and as follows ( are bits). For each element and each , we apply the inverse coding algorithm (i.e. decryption algorithm given in Fig. 2) with input (the decoding algorithm uses compositions of transformations). If the output is the pair and if both sequences and have the redundant zeros in the same positions, then the pair () is an element of . Fig. 2Open in figure viewerPowerPoint Decryption algorithm In the Cut-Decoding algorithm, after transmission through a noisy channel, we divide the outgoing message into two messages and with equal lengths and we decode them parallelly with the corresponding parameters. In this decoding algorithm, we make modification in the procedure for generating decoding candidate sets. Let and be the decoding candidate sets obtained in the iteration of both parallel decoding processes, . Then, before the next iteration, we eliminate from all elements whose second part does not match with the second part of an element in , and vice versa. In the iteration both processes use the corresponding reduced sets and . In [8], the authors proposed four different versions of decoding with the 4-Sets-Cut-Decoding algorithm. The best results are obtained using 4-Sets-Cut-Decoding algorithm . Here, we use only this version and further on we briefly describe it. After transmission through a Gaussian channel, we divide the outgoing message into four messages , , and with equal lengths and we decode them parallelly with the corresponding parameters. Similarly, as in the Cut-Decoding algorithm, in each iteration of the decoding process, we reduce the decoding candidate sets obtained in four parallel decoding processes. In the 4-Sets-Cut-Decoding algorithm , we generate decoding candidate sets in the following way. Step 1. Let , …, , where is the empty sequence and , …, are the initial keys used for obtaining four codewords, respectively. Step 2. Let , …, be defined for . Step 3. Let four decoding candidate sets ,…, be obtained in four parallel decoding processes, in the same way as in the standard RCBQ. Step 4. Let ,…, and . If then . Step 5. For each and for each , if then . Step 6. If then increase i and go back to Step 3. After the last iteration, if all reduced sets , in the Cut-Decoding algorithm (or , , , in 4-Sets-Cut-Decoding) have only one element with the same second component , then (or ). In this case, we say that we have a successful decoding. If the decoded message is not the correct one then we have an undetected-error. If the reduced sets obtained in the last iteration have more than one element then we have a more-candidate-error. In this case, we apply the following heuristic: we randomly select a message from the reduced sets in the last iteration and we take this message as the decoded message. If we obtain in some iteration of Cut-Decoding or in some iteration of the 4-Sets-Cut-Decoding algorithm, then the process will stop (a null-error appears). However, if we obtain at least one non-empty decoding candidate set (in step 3) then the decoding continues with the non-empty sets (the reduced sets are obtained by the intersection of the non-empty sets only). If we obtain only one non-empty set, in some iteration, then the decoding continues with the non-empty set using the standard RCBQ decoding algorithm. In RCBQ, unsuccessful decoding with null-error occurs when more than predicted bit errors appear during transmission of some blocks. Some of these errors can be eliminated if we cancel a few of the iterations of the decoding process and reprocess all of them or part of them with a larger value of . Therefore, in [5], the authors have proposed a method for decreasing the number of null-errors by backtracking. In this method, if an empty set is obtained in some iteration (e.g. ), then k previous iterations (, , …, ) are cancelled. After that the first of cancelled iterations () is reprocessed with or , and the next iterations continue with the old value of . With this procedure, only part of null-errors will be eliminated since we cannot know exactly in which iteration the correct sub-block does not enter in the decoding candidate set and exactly how many transmission errors (, or more) occur in this sub-block. Also, we must note that using backtracking in some cases, we can obtain more-candidate-error instead of null-error. A similar method with backtracking in the case of more-candidate error is proposed in [7]. In this method, if the decoding process ends with more elements in the reduced decoding-candidate sets after the last iteration then a few of the iterations are cancelled and the first cancelled iteration is reprocessed using a smaller value of (the next iterations use the old value of ). In the experiments, we use the following combination of these two methods with backtracking. If the decoding ends with null-error, then the last two iterations are cancelled and the first of them is reprocessed with (the next iterations use the previous value of ). If the decoding ends with more-candidate-error, then the last two iterations of the decoding process are cancelled and the penultimate iteration is reprocessed with . In the decoding of a message, we use at most one backtracking for null-error and at most one backtracking for more-candidate-error. 2.2 Cryptographic properties of RCBQ The encryption and decryption algorithms are based on quasi-group string transformations ( and transformation). Therefore, here, we consider some cryptographic properties of quasigroups and quasigroups string transformations. One of the most important cryptographic properties is the uniform distribution of the symbols in the encrypted string, which provides resistance against statistical attack. This property of quasi-group transformation is addressed in [10], where the authors proved the following property. Let be a given finite quasigroup and be the probability distribution of the symbols in Q, such that for each i and . Then the following theorem (given in [10]) holds. Theorem 1.Consider a random string drawn i.i.d. according to the probability distribution . Let be obtained after k applications of an transformation on . If n is a large enough integer then the distribution of substrings of of length t is uniform for each . (We note that for the distribution of substrings of of length t is not uniform.) Another important cryptographic property of the encrypted string is its period. In [11], the authors proved that the period of quasigroup processed strings grows at least linearly and the increasing of the period depends on the chosen quasigroup. More about the period of the quasigroup processed string is given in [12]. Most cryptographic properties of quasigroup processed strings depend on the chosen quasigroup. Therefore, we give several cryptographic properties that are important for the choice of the quasigroup used in the encryption algorithm. A quasigroup of order n is shapeless if and only if it is non-idempotent, non-commutative, non-associative, it has neither left nor right unit, it does not contain proper sub-quasigroups, and there is no for which identities of these kinds are satisfied (3) The condition for identities (3) means that any left and right translation of quasigroup should have the order . For cryptographic purposes, it is preferable to choose a shapeless quasigroup [9]. The classifications of finite quasigroups are very important for the successful application of quasigroups in cryptography and coding theory. It is a difficult problem since the number of quasigroups (even of small order) is very large. A classification of quasigroups by graphical presentation of quasigroup processed strings is given in [13]. In that paper, the authors classified the set of all quasigroups of given finite order n into two disjoint classes, the class of so-called fractal quasigroups (if the graphical presentation of quasigroup processed strings has a structure), and the class of so-called non-fractal quasigroups (if the graphical presentation of quasigroup processed strings has no structure). The class of fractal groups is not recommended to be used for designing cryptographic primitives. In order to obtain RCBQs with good cryptographic properties, the quasigroup used in our experiments is chosen to satisfy the above properties. This means that the chosen quasigroup is shapeless and non-fractal quasi-group. 3 Experiments In this section, we explain how the experiments for the transmission of images and audio files through a Gaussian channel are made. All experiments are for code with rate , , different values of signal-to-noise ratio (SNR) and the following parameters: • In the Cut-Decoding algorithm – redundancy pattern: 1100 1100 1000 0000 1100 1000 1000 0000 1100 1100 1000 0000 1100 1000 1000 0000 0000 0000, for rate and two different keys of 10 nibbles. • In 4-Sets-Cut-Decoding algorithms – redundancy pattern: 1100 1110 1100 1100 1110 1100 1100 1100 0000 for rate and four different keys of ten nibbles. • In all experiments, we used the same quasigroup of order 16 on Q given in [8]. In all experiments (for different values of SNR in the channel), we consider the differences between the transmitted and decoded image or audio file. Also, we compare experimentally obtained values for bit-error probability (BER) and packet-error probability (PER) and the duration of the decoding processes with both algorithms. In all decoding algorithms for RCBQ, when a null-error appears, the decoding process ends earlier and only a part of the message is decoded. Therefore, in the experiments with images and audio files, we use the following solution. In the cases of a null-error (all reduced sets are empty in some iteration), we take the strings without redundant symbols from all elements in the sets from the previous iteration and find their maximal common prefix substring. If this substring has k symbols then in order to obtain a decoded message of l symbols, we take these k symbols and add zero symbols at the end of the message. In the next sections, we present and compare the results obtained using both algorithms for RCBQ with modifications for reducing the number of unsuccessful decoding. 4 Experimental results for images In the experiments for image transmission, we use the image of 'Lenna', given in Fig. 3a. In the same figure, the second image is an encrypted image of Lenna (using the encryption algorithm given in Section 2.1) before transmitting through a Gaussian channel. It is apparent that the algorithm crypts the images. After that, the image is transmitted through the channel (with different values of SNR) and the corresponding decoding algorithm is applied. In Figs. 4-8, we present images obtained for , , 0 and 1, respectively. In each figure, the first image is obtained after transmission through the channel without using any error-correcting code, the second image is obtained using the Cut-Decoding algorithm and the third one – using the 4-Sets-Cut-Decoding algorithm. Fig. 3Open in figure viewerPowerPoint Original and encrypted image (a) Original image, (b) Encrypted image Fig. 4Open in figure viewerPowerPoint Fig. 5Open in figure viewerPowerPoint Fig. 6Open in figure viewerPowerPoint Fig. 7Open in figure viewerPowerPoint Fig. 8Open in figure viewerPowerPoint From the figures, we can see that the Cut-Decoding and 4-Sets-Cut-Decoding algorithms correct many errors that appeared during transmission. Also, we obtain less damages (lines) of the images with the 4-Sets-Cut-Decoding algorithm than with the Cut-Decoding algorithm. The values of BER and PER obtained with both algorithms (presented in Tables 1 and 2) confirm our conclusions from the analyses of images. In these tables, and denote the probabilities for the Cut-Decoding algorithm and and – corresponding probabilities obtained by using the 4-Sets-Cut-Decoding algorithm. From the results in the tables, we can see that for all values of SNR, is more than three times smaller than . Also, the packet-error probabilities obtained with the 4-Sets-Cut-Decoding algorithm are more than two times smaller than the probabilities obtained with the Cut-Decoding algorithm. Table 1. Experimental results for BER SNR 0 1 Table 2. Experimental results for PER SNR 0 1 As we explain before when null-error appears we add zero symbols at the end of the message and this makes horizontal black lines on the image. The horizontal white and grey lines are obtained in the case of more-candidate-error when the randomly selected message from the reduced sets in the last iteration differs from the original message. On the other hand, the images obtained without using error-correcting codes do not have these lines, but the entire images have damaged pixels from incorrectly transmitted symbols. In Tables 3 and 4, probabilities of null-error () and more-candidate-error () are given. From these tables, we can conclude that with the Cut-Decoding algorithm, we obtain a much greater number of unsuccessful decodings with null-error than with the 4-Sets-Cut-Decoding algorithm, but the number of more-candidate-errors is smaller. Therefore, the images decoded with the Cut-Decoding algorithm have more black lines than the images decoded with the 4-Sets-Cut-Decoding algorithm. Also, most of the lines in the third images (obtained with the 4-Sets-Cut-Decoding algorithm) are white or grey. Table 3. Experimental results with Cut-Decoding SNR 0 0 1 0 Table 4. Experimental results with 4-Sets-Cut-Decoding SNR 0 1 Also, we analysed the speed of two algorithms and concluded that the 4-Sets-Cut-Decoding algorithm is faster than the Cut-Decoding algorithm. The speed of the algorithms depends on the value of SNR and it increases as SNR increases. For example, for , the 4-Sets-Cut-Decoding algorithm is two times faster than the Cut-Decoding algorithm, and for , it is 16 times faster. In order to clear some of the damages (horizontal lines) on the images, in the next subsection, we propose two filters that visually enhance pixels damaged by null-errors and more-candidate-errors. 4.1 Filter for images decoded by cryptcodes based on quasi-groups For repairing damage, a filter has to locate where it appears. Locating of the null-errors is easy since we add zero symbols in the place of the undecoded part of the message. In order to locate more-candidate-errors, we change the decoding rule for these kinds of errors. Instead of a random selection of a message from the reduced sets in the last iteration, we take a message of all zero symbols as a decoded message. Now, one pixel is considered as damaged if it belongs to a zero sub-block with at least four consecutive zero nibbles. The basic idea in the definition of the filters is to replace the damaged pixel intensity value with a new value taken over a neighbourhood of fixed size. In the first one, we use the median of the non-zero grey values of the surrounding pixels, so our filter is a median filter. For each damaged pixel in the position (i,j), the filter uses the following algorithm: Take a region centred around the pixel (i,j). Sort the non-zero intensity values of the pixels in the region in the ascending order. Select the middle value (the median) as the new value of the pixel (i,j). In Figs. 9-12, we present images obtained with the Cut-Decoding and 4-Sets-Cut-Decoding algorithm before and after the application of the proposed filter for , and 1, respectively. In each figure, first two images are for Cut-Decoding (without and with the filter, respectively) and last two images for the 4-Sets-Cut-Decoding algorithm (without and with the filter). Fig. 9Open in figure viewerPowerPoint Fig. 10Open in figure viewerPowerPoint Fig. 11Open in figure viewerPowerPoint Fig. 12Open in figure viewerPowerPoint From the presented images, we can notice that the proposed filter provides a great improvement of the images for all considered values of SNR. Also, this filter gives better results for the images obtained with the Cut-Decoding algorithm than with the 4-Sets-Cut-Decoding algorithm. The reason for this is the larger number of undetected-errors produced with the 4-Sets-Cut-Decoding algorithm. Notice that instead of the median filter, some other filters more suitable for hardware implementation can be used. For example, we can use the average filter given by the following algorithm: take a region centred around the pixel (i,j); calculate the average of the selected pixels and take this value as the new value of the pixel (i,j). For smaller SNR, we recommend the median filter since it gives better results for images with larger number of damaged pixels. In Fig. 13, we present image transmitted through the Gaussian channel for filtered by the median (the first image) and average filter (the second image). Fig. 13Open in figure viewerPowerPoint Median and average filter It is apparent that the median filter gives better results. For a larger value of SNR, both filters give similar results, so the average filter can be used, too. 5 Experimental results for audio files In these experiments, we use an audio, which consists of one 16-bit channel with a sampling rate of 44,100 Hz and is a part of Beethoven's 'Ode to joy' with a total length of 4.3 s. Here, we also present experimental results for different values of SNR obtained using the Cut-Decoding and 4-Sets-Cut-Decoding algorithms. In all experiments, we consider the differences between the sample values of the original and transmitted signals. We present these analyses on graphs where the sample number in the sequence of samples consisting the audio signal is on the x-axes and the value of the sample is on the y-axis. In Fig. 14, the original audio samples are presented. The samples for are given in Fig. 15. The first graph in this figure is obtained when the audio signal is transmitted through the channel without using any error-correcting code, the second graph is for Cut-Decoding and the third one is for the 4-Sets-Cut-Decoding algorithm. In Fig. 16, we present only two graphs per (a) and (b): the first one is for Cut-Decoding and the second is for the 4-Sets-Cut-Decoding algorithm. The graphs obtained when the audio signal is transmitted through the channel without using any error-correcting code are very similar to the first graph in Fig. 15 and we do not present them. Fig. 14Open in figure viewerPowerPoint Original audio samples Fig. 15Open in figure viewerPowerPoint Fig. 16Open in figure viewerPowerPoint Results for and (a) , (b) From the figures, it is evident that for all values of SNR, the results obtained using the 4-Sets-Cut-Decoding algorithm are better than the results obtained with the Cut-Decoding algorithm. For and , experiments with the Cut-Decoding algorithm did not finish in real-time since during decoding of some messages we obtain a large number of elements in the decoding-candidate sets. Therefore, we conclude that for there is no sense to make experiments with this algorithm and in Fig. 17, we present the results only for the 4-Sets-Cut-Decoding algorithm. The first graph on these figures is obtained when the audio signal is transmitted through the channel without any error-correcting code and the second one when the 4-Sets-Cut-Decoding algorithm is used. Fig. 17Open in figure viewerPowerPoint Results for and (a) , (b) In Tables 5 and 6, experimental results for BER and PER are given. These tables confirm our conclusions obtained from the figures. We can see that for the decoding audio files transmitted through a Gaussian channel, the 4-Sets-Cut-Decoding algorithm is better than the Cut-Decoding algorithm. Table 5. Experimental results for BER SNR / / 0 1 Table 6. Experimental results for PER SNR / / 0 1 All audio files obtained in our experiments for transmission through a Gaussian channel with different SNR can be found in the following link: https://www.dropbox.com/sh/hwhk63ylgukvfq9/AACymAdyUBE1K_QJ-1SM39Jea?dl=0. If one listen to these audio files, he/she would notice that as SNR decreases, the noise increases, but the original melody can be listened completely in the background. In order to explain the reason behind this phenomena, we calculate the energy spectral density of the audio signal. The energy spectral density shows how the energy of the signal is distributed with frequency and it is defined as where s is the signal. Since we consider finite discrete signals, in this case s long audio signal, using Parseval's theorem, we can express the energy spectral density in the frequency domain using Fourier analysis, i.e. where is the Fourier transformation of the signal s. Therefore, using the fast Fourier transform algorithm from the MatLab's signal processing toolbox, in Fig. 18, we plot the energy densities for the sounds. The first graph is for the original sound, the second is for transmitted sound in the channel with , without using the error-correcting code and the last two graphs are for the same sound coded/decoded using the Cut-Decoding and 4-Sets-Cut-Decoding algorithms, respectively. Fig. 18Open in figure viewerPowerPoint Energy spectral density for From the graphs, it is evident that after the transmission of the signal, the frequencies carrying the most of the signal's energy are still present, although a bit altered, all other energies are amplified. Consequently, this is the reason why we can still hear the original melody in the background intermixed with the noisy sounds. The graphs confirm that the noise is reduced when Cut-Decoding, especially the 4-Sets-Cut-Decoding algorithm is used. The same results are obtained for other values of SNR. The previous link also contains the audio file crypt_audio.wav obtained by encrypting the original audio. In this encrypted file, we cannot hear anything from the original melody, which confirms that the algorithm also crypts audio files. 6 Conclusion From all experiments made for investigation of the performances of Cut-Decoding and 4-Sets-Cut-Decoding algorithms for RCBQ for transmission of images and audio files through a Gaussian channel, we can conclude that these two algorithms show good performances in all experiments. We can see that for all values of SNR, a great part of errors appeared during the transmission are corrected. Also, from the comparison, we can conclude that the 4-Sets-Cut-Decoding algorithm is better than the Cut-Decoding algorithm. Namely, the values of PER and BER obtained by using the 4-Sets-Cut-Decoding algorithm are more than three times smaller than values obtained by using the Cut-Decoding algorithm. Moreover, the 4-Sets-Cut-Decoding algorithm in all experiments is more than two times faster than the Cut-Decoding algorithm. Also, we define filters for improving the quality of decoded images. We must note that the encryption algorithm in the design of these codes provides information security of the transmitted data. This can be concluded from the considered cryptographic properties of the algorithm and the encrypted image and audio file. Due to the good properties of the described codes, they can be successfully applied to different usage scenarios. One practical usage scenario might be using the codes in highly noisy wireless channels, where the code naturally fits in the data link layer, covering both coding and encryption purposes in one scheme. The proposed codes can also be used in satellite digital video broadcasting (DVB-S) coding and encryption schemes. Currently, DVB-S and DVB-S2 use two layers of encoding schemes, followed by an encryption scheme. Our coding approach replaces these layers of coding and encryption into a single scheme implementing all required features. As future work, we will consider the performances of RCBQ for correction of burst errors, especially when a Rayleigh fading channel is used. 7 Acknowledgments This research was partially supported by the Faculty of Computer Science and Engineering at the University 'Ss Cyril and Methodius' in Skopje. References 1Hwang T., Rao T.R.N.: ' Secret error-correcting codes', in S Goldwasser (Ed.): ' Advance in cryptology - CRYPTO'88', LNCS 403 ( Springer, 1990), pp. 540– 563 2Zivic N., Ruland C.: 'Parallel joint channel coding and cryptography', Int. J. Electr. Electron. Eng., 2010, 4, (2), pp. 140– 144 3Mathur C.N., Narayan K., Subbalakshmi K.P.: ' High diffusion cipher: encryption and error correction in a single cryptographic primitive', in J. Yung, M. Bao, F. Zhou (Eds.): ' Applied cryptography and network security', LNCS 3989 ( Springer, 2006), pp. 309– 324 4Gligoroski D., Markovski S., Kocarev L.: ' Error-correcting codes based on quasigroups'. Proc. 16th Int. Conf. on Computer Communications and Networks, Honolulu, USA, August 2007, pp. 165– 172 5Popovska-Mitrovikj A., Markovski S., Bakeva V.: ' Performances of error-correcting codes based on quasigroups', in D. Gómez, J.M Davcev (Ed.): ' ICT innovations 2009' ( Springer, Berlin, Heidelberg, 2010), pp. 377– 389 6Popovska-Mitrovikj A., Markovski S., Bakeva V.: 'On random error correcting codes based on quasigroups', Quasigroups Related Syst., 2011, 19, (2), pp. 301– 316 7Popovska-Mitrovikj A., Markovski S., Bakeva V.: ' Increasing the decoding speed of random codes based on quasigroups', ICT innovations 2012, pp. 93– 102. Available at: http://proceedings.ictinnovations.org/2012/paper/41/increasing-the-decoding-speed-of-random-codes-based-on-quasigroups 8Popovska-Mitrovikj A., Markovski S., Bakeva V.: '4-Sets-Cut-Decoding algorithms for random codes based on quasigroups.', AEU - Int. J. Electron. Commun., 2015, 69, (10), pp. 1417– 1428 9Gligoroski D., Markovski S., Kocarev L.: ' Totally asynchronous stream ciphers+ redundancy= Cryptcoding'. Proc. Int. Conf. on Security and Management, Las Vegas, USA, 2007, pp. 446– 451 10Markovski S., Gligoroski D., Bakeva V.: 'Quasigroup string processing: part 1', Contrib. Section Natural Math. Biotechnical Sci., 1999, 20, (1–2), pp. 13– 28 11Markovski S., Gligoroski D., Kocarev L.: ' Unbiased random sequences from quasigroup string transformations', in H. Gilbert, H Handschuh (Eds.): ' Fast software encryption' ( Springer, Berlin, Heidelberg, 2005), pp. 163– 180 12Dimitrova V., Markovski J.: ' On quasigroup pseudo random sequence generators'. Proc. 1st Balkan Conf. in Informatics, Thessaloniki, Greece, 2003, pp. 393– 401 13Dimitrova V., Markovski S.: ' Classification of quasigroups by image patterns'. Proc. 5th Int. Conf. for Informatics and Information Tehnology, Bitola, Macedonia, 2007, pp. 152– 160 Volume13, Issue11July 2019Pages 1625-1632 FiguresReferencesRelatedInformation