Professional Documents
Culture Documents
1. Introduction
Cryptography is the science of writing messages in secret code and an ancient art; the first documented use of cryptography in writing dates back to circa 1900 B.C. The new forms of cryptography came soon after the widespread development of computer communications. In data and telecommunications, cryptography is necessary when communicating over any untrusted medium, which includes just about any network, particularly the Internet. Cryptography, not only protects data from hacking or alteration, but can also be used for user authentication. In all cases, the initial unencrypted data is referred to as plaintext. It is encrypted into cipher text, which will in turn (usually) be decrypted into usable plaintext. Here I introduce a block based encryption technique named, co-factor based cyclic technique. For encryption a key has to be generated. Key length and bit stream is chosen at random. Now num [ ], sum [ ] and s [ ] are generated. Calculate distinct loops and L.C.M. Plaintext is decomposed into finite number of blocks having same size of random number. Converted into corresponding decimal numbers and apply encryption rounds.
15
International Journal of Computational Intelligence and Information Security, March 2012 Vol. 3, No. 3 In decryption process applying previous steps of encryption calculate L.C.M. and rest of the decryption rounds are performed to get the original text.
Step8: Take the length of each distinct loop and calculate the L.C.M. Step9: According to the length of random number r the binary stream bs is decomposed into k number of blocks such as b1,b2,..,bk. It may happen at the last some blocks having the length less than r, is kept in ub, which will be appended at the end of getting final encryption. Step10: Calculate the decimal values for each of the blocks, which must be equal to any of the elements of num []. Step11: The number of rounds for encryption provided by user, also kept in key. Calculated decimal values for each block b1, b2 bk will traversed following step 6 up to user defined round number. Step12: Resultant decimal values are converted to corresponding binary numbers and append the unchanged block ub at the end of the binary stream to get the final encrypted text ct.
Segment 1 2
Description Random Number, having the maximum value 2^n-1 used to represents the block length. Encryption rounds Total Key size
16
International Journal of Computational Intelligence and Information Security, March 2012 Vol. 3, No. 3
3. Example
To illustrate the algorithm, an example has been shown. The algorithm can be operated on a binary stream bs act as plain text for an example. bs is :11100101101111
According to the encryption process the decimal num will be generated from 0 to 7 and keep it in num [ ]. Sum[ ] =Sum of co-factors of each number in num[ ] S[ ]=rank of the element of the sum[ ] in descending order.
num [ ] 0 1 2 3 4 5 6 7
sum[ ] 0 1 3 4 7 6 12 8
s[ ] 7 6 5 4 2 3 0 1
International Journal of Computational Intelligence and Information Security, March 2012 Vol. 3, No. 3 The distinct loop is:0------------>7---->1------>6--->0
Second Loop:num[ ] 2 5 3 4 s[ ] 5 3 4 2
The L.C.M =(L.C.M of number of elements in each distinct loop) Here L.C.M is 4 Here the length of the random number is 3. Divide bs into four 3bits blocks. Now b1=111 b2=001 b3=011 b4=011 Last 2 bits block remain unchanged block ub which does not involve into any encryption process. so ub=11. b1,b2,b3,b4 are converted into corresponding decimal numbers and they are b1=7 b2=1 b3=3 b4=3 Now user will provide the number of encryption rounds. Say the encryption round =2. Then ,applying two rounds of step 6 on above decimal values will get---------b1 111 7 1st: 2 :
nd
b2 001 1 6 0
b3 011 3 4 2
b4 011 3 4 2
1 6
18
International Journal of Computational Intelligence and Information Security, March 2012 Vol. 3, No. 3 Now, converting above decimal numbers into binary stream we get:b1 6 110 b2 0 000 b3 2 010 b4 2 010
Append the unchanged block ub at the end of the stream to get the encrypted text ct. So, the final encrypted text is:-Ct =11000001001011.
c2 000 0 7 1
c3 010 2 5 3
c4 010 2 5 3
0 7
Now converting the decimal values to corresponding binary numbers we get 111001011011 Now, appending the unchanged block ub i.e. 11 at the end we recover the whole plain text as bs=11100101101111
4. Analysis
In this algorithm encryption is performed on binary data. All data which is under stable by the computer is finally converted into binary bits. So it can be implemented for any data type encryption process. Such as text encryption, image encryption or sound encryption process. In this algorithm the length of the plain text is not restricted, so it can be applicable for any larger file. Random number is different for each user. The num [ ] array is generated using random number. Since random number kept in key so it is difficult to compute the number of elements of num [ ] array. If the block length is increases then the generation of numbers Then, applying two rounds of step 6 on above decimal values in num[ ] array will increases exponentially. That means the cofactors and the sum of the co-factors of each number also increase which will lead to increase the number of individual loops that means there will be a possibility for a large valued L.C.M will generate. So it will be very difficult for cryptanalytic to crack this methodology cause the total number of rounds will increase accordingly, among them some rounds are used for encryption and rest of the rounds which are 19
International Journal of Computational Intelligence and Information Security, March 2012 Vol. 3, No. 3 calculated by subtracting the number of encryption rounds from L.C.M, are used as decryption rounds. These rounds have to be applied to get back the original position from where it started. The number of rounds taken for encryption may be more than L.C.M. In that case expected rounds during the decryption process is the difference between immediate larger multiple of L.C.M. than the encryption round and the encryption round itself. As total length of the key file and the taken random number is known, it is very easy to calculate the number of bits used for keeping the encryption round in key.
References
[1] Prof.(Dr)Pranam Paul, Saurabh Dutta, A.K.Bhattacharjee-Enhancement of Security through an Efficient Substitution based Block Cipher of Bit-level Implementation with Possible Lossless CompressionIJCSNS International Journal of Computer Science and Network Security, (VOL.8 No.4, April 2008) [2] Prof.(Dr)Pranam Paul-An Application to ensure Security through Bit-leve Encryption IJCSNS International Journal of Computer Science and Network Security,( VOL.9 No.11, November-2009). [3] Prof.(Dr)Pranam Paul- Implementation of Information Security based on Common Division IJCSNS International Journal of Computer Science and Network Security,(VOL.11 No.2, February 2011). [4] John C. Bowman, Math 422 Coding Theory & Cryptography, University of Alberta, Edmonton, Canada. [5] David A. Santos, Linear Algebra Notes, January 2, 2010 Revision, dsantos@ccp.edu. [6] Pranam Paul, Saurabh Dutta, An Enhancement of Information SecurityUsing Substitution of Bits Through Prime Detection in Blocks, of National Conference on Recent Trends in Information Systems (ReTIS-06), , Proceedings Organized by IEEE Gold Affinity Group, IEEE Calcutta Section, Computer Science &
Engineering Department,CMATER & SRUVM Project- Jadavpur University and Computer Jagat. July 1415, 2006. [7] Koblitz, N. A Course in Number Theory and Cryptography, 2nd ed. New York: Springer-Verlag, 1994. [8] A. Menezes, P. van Oorschot, and S. Vanstone, Handbook of Applied Cryptography, CRC Press, 1996 [9] Mark Adler and Jean-Loup Gailly,An Introduction to Cryptography, released June 8, 2004. www.pgp.com. [10] Prakash Kuppuswamy, Dr.C.Chandrasekar, ENRICHMENT OF SECURITY THROUGH
CRYPTOGRAPHIC PUBLIC KEY Science ALGORITHM BASED ON BLOCK CIPHER Indian Journal of Computer and Engineering (IJCSE), Vol. 2 No. 3 Jun-Jul.2011.
20