Techniques For Audio Encryption: Bhavesh Patel Surajit Karmakar Khushal Chheda Tej Gala
Techniques For Audio Encryption: Bhavesh Patel Surajit Karmakar Khushal Chheda Tej Gala
Techniques For Audio Encryption: Bhavesh Patel Surajit Karmakar Khushal Chheda Tej Gala
Bhavesh Patel
Shah & Anchor Kutchhi Polytechnic, Mumbai
Surajit Karmakar
Shah & Anchor Kutchhi Polytechnic, Mumbai
Khushal Chheda
Shah & Anchor Kutchhi Polytechnic, Mumbai
Tej Gala
Shah & Anchor Kutchhi Polytechnic, Mumbai
patelbv@acm.or g
surajit.3528@ya hoo.co.in
legentkiller123 @gmail.com
tejgala@gmail.c om
ABSTRACT
Audio in its digital form is popularly used now-a-days. It is also being used for the distribution of music in digital format. Thus there is a need for its encryption to prevent it from misuse and unauthorized access. This paper will discuss some of the algorithms that may be used for encryption of digital audio files. Also a custom algorithm is proposed. 4D 54 68 64 00 00 00 06 ff ff nn nn dd dd
The ASCII equivalent of the first 4 bytes (32 bits) is MThd (i.e the first four bytes are the ASCII values for 'M', 'T', 'h', and d); Next comes the 4-byte size of the header. This will always be 00 00 00 06, because the actual header information will always be 6 bytes. ff ff stands for file format. It specifies the overall organization of the file. nn nn is the number of tracks in the midi file. dd dd is the number of delta-time ticks per quarter note.
General Terms
Audio Encryption, DES, AES, Novell, Custom.
Keywords
Audio, Encryption, DES, AES, RSA, Novell, Custom.
INTRODUCTION
Piracy in todays world has reached its limit and almost every distributable digital data is pirated by hackers all over the world. One way to stop this is to distribute the digital data in licensed copies which is nothing but a type of encryption in which the digital certificates and signatures are used to truly identify the distributer and the one purchasing it. However, hackers are successful in breaking such cryptographic functions as most of them are just the standard methods implemented in programming code. So there is a need to encrypt the digital data using some hybrid and complex cryptographic functions which may include more than two standard cryptographic functions.
0 1 2
Single track is fairly self-explanatory - one track only.. Synchronous multiple tracks means that the tracks will all be vertically synchronous, or in
other words, they all start at the same time, and so can represent different parts in one song. Asynchronous multiple tracks do not necessarily start at the same time, and can be completely asynchronous.
The Length does not include the 8 byte chunk header. It simply tells you how many bytes of data are in the chunk following this header.
JMUSIC
jMusic is a package of Java classes which provides an environment for non-real time music composition. jMusic is an open source package distributed under the GNU. It is being developed to support computer music making and the development of shared tools. We hope that this will encourage people to become a part of the jMusic community and contribute to, as well as benefit from, the development of jMusic. Any music created with jMusic is not itself covered by any licence and can be freely distributed or sold by the composer. Extensions to the jMusic language and application built using the jMusic libraries are subject to the Licence which, in short, requires that source code be freely available for other musicians to utilise and extend further. The music data structure is practical for analysis as well as composition, and jMusic reads and writes standard MIDI files to facilitate interaction with existing computer-based music systems. jMusic includes audio classes for sound synthesis, and signal processing. jMusic is not a scripting language but a direct extension of the Java programming language. This allows access to the full functionality of Java, including the ability to write applets for Internet usage, and for applications to be run unchanged on a wide range of platforms (even with graphical interfaces). jMusic is designed to be used as a compositional medium, therefore it is primarily designed for musicians rather than computer programmers.
Fig 1: Architecture of Audio Encryption An emerging field, Audio Encryption algorithms are still not widely famous. The proposed algorithm is made to achieve strong audio encryption.
We accept the audio file and a passkey from the user. In step 2 we divide the passkey as explained in detail in algorithm below. Step 3 is modifying the present values with the help of passkey Then we make group of values, shuffle them and place them back so as to increase security. Proposed Algorithm:
The proposed algorithm can be divided into 3 procedures. It requires a MIDI file to be encrypted and a passkey pk1 as input where Pk1 is of 80 bits and Each 8 bits refer to one alphanumeric character Procedure 1: Prepare audio file and Passkey Step1: Accept the audio file A. Step2: Accept passkey pk1. Step3: Divide passkey pk1 such that Pk1=sk1+sk2+sk3+sk4+sk5 //where each sk key is of 16 bit Step 4: End Procedure Procedure 2: Processing Step 1: For i = 0 to A.Length Val[i] = A[i] End For Step 2:F1=5 , F2=1 Step 3: For i = 0 to Val.Length if(F1==5) { if(F2==1) { Val[i]=+[Sum of digits of sk1]+sk5 F2=2; } else if(F2==2) { Val[i]=+[Sum of digits of sk2]+sk5 F2=3; } else if(F2==3) { Val[i]=+[Sum of digits of sk3]+sk5 F2=4; } else if(F2==4) { Val[i]=+[Sum of digits of sk4]+sk5 F2=1; F1=4; } } else if(F1==4) { if(F2==1) { Val[i]=+[Sum of digits of sk1]+sk4 F2=2; } else if(F2==2) { Val[i]=+[Sum of digits of sk2]+sk4 F2=3; } else if(F2==3) {
Val[i]=+[Sum of digits of sk3]+sk4 F2=5; } else if(F2==5) { Val[i]=+[Sum of digits of sk5]+sk4 F2=1; F1=3; } } else if(F1==3) { if(F2==1) { Val[i]=+[Sum of digits of sk1]+sk3 F2=2; } else if(F2==2) { Val[i]=+[Sum of digits of sk2]+sk3 F2=4; } else if(F2==4) { Val[i]=+[Sum of digits of sk4]+sk3 F2=5; } else if(F2==5) { Val[i]=+[Sum of digits of sk5]+sk3 F2=1; F1=2; } } else if(F1==2) { if(F2==1) { Val[i]=+[Sum of digits of sk1]+sk2 F2=3; } else if(F2==3) { Val[i]=+[Sum of digits of sk3]+sk2 F2=4; } else if(F2==4) { Val[i]=+[Sum of digits of sk4]+sk2 F2=5; } else if(F2==5) { Val[i]=+[Sum of digits of sk5]+sk2 F2=2; F1=1; } } else if(F1==1) {
if(F2==2) { Val[i]=+[Sum of digits of sk2]+sk1 F2=3; } else if(F2==3) { Val[i]=+[Sum of digits of sk3]+sk1 F2=4; } else if(F2==4) { Val[i]=+[Sum of digits of sk4]+sk1 F2=5; } else if(F2==5) { Val[i]=+[Sum of digits of sk5]+sk1 F2=1; F1=5; } } Step 4: End Procedure Procedure 3: Shuffling Step1: Take 16 values from the array in a 4*4 matrix
Step 4: If(!End of file) Got to step 1 End If Step 5: Write back the data to a new MIDI File Step 6: End Procedure
Step 2:The four corner values are swapped with the inner corresponding diagonal values as follows
COMPARISON TABLE
Algorit hm
DES
Approach
It uses a 64 bit key out of which 56 bits are used for encryption and remaining 8 bits are used for parity. Works on blocks of 64 bits using 56 bit key. The 64 bit block passes through Initial Permutation (IP) which uses IP matrix followed by 16
Advanta ges
Easy to recover key. Takes less time for processing .
Limitati ons
More vulnerable as keys can be hacked. Easy to decrypt as compared to others algorithms .
Step 3: The remaining values are swapped with the corresponding non swapped neighbor as follows.
AES
rounds of the same function, which involves both permutation and substitution functions. After the 16th round, the left and right sides of the outputs are swapped to produce the preoutput. This output passes through inverse IP matrix. First round keys are derived from the cipher key using Rijndael's key schedule. Then Initial round where AddRoundKeyeach byte of the state is combined with the round key using bitwise XOR. Then Rounds of following are followed; SubBytes- a non-linear substitution step where each byte is replaced with another according to a lookup table. ShiftRows- a transposition step where each row of the state is shifted cyclically a certain number of steps. MixColumns- a mixing
RSA
Difficult to compromi se the algorithm. Provides higher level of security than DES.
operation which operates on the columns of the state, combining the four bytes in each column. AddRoundKey. Then Final Round with all steps but no MixColumns is done. Encryption is done with the public key and decrypted with the private key The public key consists of the modulus n and the public (or encryption) exponent e. The private key consists of the modulus n and the private (or decryption) exponent d which must be kept secret. Encryption function: c = me (mod n). Decryption Function: m = cd (mod n). where e is 1 < e < (n) and gcd(e,(n)) = 1, i.e. e and (n) are coprime. (n) = (p1) (q1) and n = pq. Divides 80 bit key into 5 parts each of 16 bits, and then encrypts the file using the parts in a specific
Variable key size. Processing time depends on the size of the key.
Works on plain text only. Requires computing 2 different keys, private and public.
manner as seen in the description and then the output is shuffled. Thus this approach uses two stage, static as well as dynamic.
REFERENCES
http://www.ijcsit.com/docs/Volume %202/vol2issue4/ijcsit2011020443.pdf http://searchsecurity.techtarget.com/definition/encryptio n http://www.webopedia.com/TERM/E/encryption.html http://eprints.qut.edu.au/6805/1/6805.pdf