From 0a392471277d486f105aee10e864fdabd852c687 Mon Sep 17 00:00:00 2001 From: aditya1904 Date: Sun, 29 Oct 2017 21:04:51 +0530 Subject: [PATCH 1/5] Different Encryption Techniques added. --- Encrytion-Techniques/AES/AES256.py | 150 +++++++++++++ Encrytion-Techniques/AES/README | 10 + Encrytion-Techniques/AES/demo.png | Bin 0 -> 44641 bytes Encrytion-Techniques/AES/main.py | 52 +++++ Encrytion-Techniques/AES/readfiles.py | 38 ++++ Encrytion-Techniques/AES/tables.py | 163 ++++++++++++++ Encrytion-Techniques/AES/testBlock | 1 + Encrytion-Techniques/AES/testKey | 1 + Encrytion-Techniques/Caesar-Cipher/caesar.py | 92 ++++++++ .../Caesar-Cipher/cipher.input | 6 + .../Caesar-Cipher/decrypt.output | 208 ++++++++++++++++++ Encrytion-Techniques/Caesar-Cipher/demo.png | Bin 0 -> 37696 bytes .../Caesar-Cipher/plain.input | 5 + Encrytion-Techniques/DES/SDES.pdf | Bin 0 -> 137354 bytes Encrytion-Techniques/DES/demo.png | Bin 0 -> 33326 bytes Encrytion-Techniques/DES/sdes.py | 156 +++++++++++++ Encrytion-Techniques/Hill-Cipher/demo.png | Bin 0 -> 38972 bytes Encrytion-Techniques/Hill-Cipher/hill.py | 164 ++++++++++++++ Encrytion-Techniques/IDEA/demo.png | Bin 0 -> 41414 bytes Encrytion-Techniques/IDEA/key | 1 + Encrytion-Techniques/IDEA/key&plaintext.png | Bin 0 -> 4674 bytes Encrytion-Techniques/IDEA/plaintext | 1 + Encrytion-Techniques/IDEA/s_idea.py | 153 +++++++++++++ Encrytion-Techniques/README.md | 17 ++ Encrytion-Techniques/RSA/demo.png | Bin 0 -> 57047 bytes Encrytion-Techniques/RSA/rsa.py | 114 ++++++++++ .../Transposition-Cipher/demo.png | Bin 0 -> 26170 bytes .../Transposition-Cipher/trans.py | 98 +++++++++ 28 files changed, 1430 insertions(+) create mode 100755 Encrytion-Techniques/AES/AES256.py create mode 100755 Encrytion-Techniques/AES/README create mode 100644 Encrytion-Techniques/AES/demo.png create mode 100755 Encrytion-Techniques/AES/main.py create mode 100755 Encrytion-Techniques/AES/readfiles.py create mode 100755 Encrytion-Techniques/AES/tables.py create mode 100755 Encrytion-Techniques/AES/testBlock create mode 100755 Encrytion-Techniques/AES/testKey create mode 100755 Encrytion-Techniques/Caesar-Cipher/caesar.py create mode 100755 Encrytion-Techniques/Caesar-Cipher/cipher.input create mode 100644 Encrytion-Techniques/Caesar-Cipher/decrypt.output create mode 100644 Encrytion-Techniques/Caesar-Cipher/demo.png create mode 100755 Encrytion-Techniques/Caesar-Cipher/plain.input create mode 100755 Encrytion-Techniques/DES/SDES.pdf create mode 100755 Encrytion-Techniques/DES/demo.png create mode 100755 Encrytion-Techniques/DES/sdes.py create mode 100755 Encrytion-Techniques/Hill-Cipher/demo.png create mode 100755 Encrytion-Techniques/Hill-Cipher/hill.py create mode 100755 Encrytion-Techniques/IDEA/demo.png create mode 100755 Encrytion-Techniques/IDEA/key create mode 100755 Encrytion-Techniques/IDEA/key&plaintext.png create mode 100755 Encrytion-Techniques/IDEA/plaintext create mode 100755 Encrytion-Techniques/IDEA/s_idea.py create mode 100755 Encrytion-Techniques/README.md create mode 100755 Encrytion-Techniques/RSA/demo.png create mode 100755 Encrytion-Techniques/RSA/rsa.py create mode 100644 Encrytion-Techniques/Transposition-Cipher/demo.png create mode 100755 Encrytion-Techniques/Transposition-Cipher/trans.py diff --git a/Encrytion-Techniques/AES/AES256.py b/Encrytion-Techniques/AES/AES256.py new file mode 100755 index 0000000..e87182a --- /dev/null +++ b/Encrytion-Techniques/AES/AES256.py @@ -0,0 +1,150 @@ +from copy import copy +from tables import * + +def subBytes(block): + for i in range(len(block)): + block[i] = sbox[block[i]] + return block + +def subBytesInv(block): + for i in range(len(block)): + block[i] = sboxInv[block[i]] + return block + +def keyScheduleCore(word, i): + newWord = word[1:]+word[:1] + subBytes(newWord) + newWord[0] = newWord[0] ^ rCon[i] + return newWord + +def expandKey(cipherKey): + cipherKeySize = len(cipherKey) + assert cipherKeySize == 32 + expandedKey = [] + currentSize,rconIter = 0,1 + + t = [0,0,0,0] + + for i in range(cipherKeySize): + expandedKey.append(cipherKey[i]) + currentSize += cipherKeySize + + while currentSize < 240: + for i in range(4): + t[i] = expandedKey[(currentSize - 4) + i] + if currentSize % cipherKeySize == 0: + t = keyScheduleCore(t, rconIter) + rconIter += 1 + if currentSize % cipherKeySize == 16: + for i in range(4): + t[i] = sbox[t[i]] + for i in range(4): + expandedKey.append(((expandedKey[currentSize - cipherKeySize]) ^ (t[i]))) + currentSize += 1 + return expandedKey + +def createRoundKey(expandedKey,i): + return expandedKey[i*16:i*16+16] + +def addroundkey(block,roundKey): + for i in range(len(block)): + block[i] = block[i] ^ roundKey[i] + return block + +def blockfileColumn(filename): + test2 = filename + testarr = [] + for row in range(0,4): + for column in range(0,len(test2),4): + testarr.append(test2[row+column]) + return testarr + +def rotate(rotate, n): + return rotate[n:]+rotate[0:n] + +def shiftRow(blockfile): + block = blockfileColumn(blockfile) + for i in range(4): + block[i*4:i*4+4] = rotate(block[i*4:i*4+4], i) + blockDone = blockfileColumn(block) + return blockDone + +def shiftRowInv(blockfile): + block = blockfileColumn(blockfile) + for i in range(4): + block[i*4:i*4+4] = rotate(block[i*4:i*4+4], -i) + block = blockfileColumn(block) + return block + +def mixColumn(column): + col = copy(column) + column[0] = table_2[col[0]] ^ table_3[col[1]] ^ col[2] ^ col[3] + column[1] = col[0] ^ table_2[col[1]] ^ table_3[col[2]] ^ col[3] + column[2] = col[0] ^ col[1] ^ table_2[col[2]] ^ table_3[col[3]] + column[3] = table_3[col[0]] ^ col[1] ^ col[2] ^ table_2[col[3]] + return column + + +def mixColumns(col): + outCol = [] + for i in range(0,len(col),4): + outCol.append(mixColumn(col[i:i+4])) + return listoflist2singlelist(outCol) + +def mixColumnInv(column): + col = copy(column) + column[0] = table_14[col[0]] ^ table_11[col[1]] ^ table_13[col[2]] ^ table_9[col[3]] + column[1] = table_9[col[0]] ^ table_14[col[1]] ^ table_11[col[2]] ^ table_13[col[3]] + column[2] = table_13[col[0]] ^ table_9[col[1]] ^ table_14[col[2]] ^ table_11[col[3]] + column[3] = table_11[col[0]] ^ table_13[col[1]] ^ table_9[col[2]] ^ table_14[col[3]] + return column + + +def mixColumnsInv(col): + intList = [] + for i in range(0,len(col),4): + intList.append(mixColumnInv(col[i:i+4])) + return listoflist2singlelist(intList) + +def listoflist2singlelist(column): + columnList = [] + for row in column: + for i in range(0,len(row)): + columnList.append(row[i]) + return columnList + +def encrypt(block,key): + expandedKey = expandKey(key) + roundKey = createRoundKey(expandedKey,0) + block = addroundkey(block,roundKey) + + for i in range(1,14): + roundKey = createRoundKey(expandedKey,i) + block = subBytes(block) + block = shiftRow(block) + block = mixColumns(block) + block = addroundkey(block,roundKey) + + roundKey = createRoundKey(expandedKey,14) + block = subBytes(block) + block = shiftRow(block) + block = addroundkey(block,roundKey) + return block + +def decrypt(block,key): + expandedKey = expandKey(key) + roundKey = createRoundKey(expandedKey,14) + block = addroundkey(block,roundKey) + block = shiftRowInv(block) + block = subBytesInv(block) + + for i in range(13,0,-1): + roundKey = createRoundKey(expandedKey,i) + block = addroundkey(block,roundKey) + block = mixColumnsInv(block) + block = shiftRowInv(block) + block = subBytesInv(block) + + roundKey = createRoundKey(expandedKey,0) + block = addroundkey(block,roundKey) + return block diff --git a/Encrytion-Techniques/AES/README b/Encrytion-Techniques/AES/README new file mode 100755 index 0000000..1318531 --- /dev/null +++ b/Encrytion-Techniques/AES/README @@ -0,0 +1,10 @@ +Instructions: + 1. The 16-byte hex you want to encrypt is in file 'testBlock'. + 2. The key for this encryption is in file 'testKey'. Key is 32 byte hex. + 3. To encrypt run - + python main.py encrypt + --- Encrypted text gets written in file 'encrypted_file' + 4. To decrypt run - + python main.py decrypt + --- Decrypted text gets written in file 'decrypted_file' + diff --git a/Encrytion-Techniques/AES/demo.png b/Encrytion-Techniques/AES/demo.png new file mode 100644 index 0000000000000000000000000000000000000000..d97e982b4d40e467ce9b81a3fc0da3b77640cdc9 GIT binary patch literal 44641 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 16: + blockarray.append(arr[0:16]) + arr = arr[16:] + if len(arr) < 16: + temparray = [0]*16 + for k in range(0,len(arr)): + temparray[k] = arr[k] + blockarray.append(temparray) + return blockarray diff --git a/Encrytion-Techniques/AES/tables.py b/Encrytion-Techniques/AES/tables.py new file mode 100755 index 0000000..76982a8 --- /dev/null +++ b/Encrytion-Techniques/AES/tables.py @@ -0,0 +1,163 @@ +sbox = [ + 0x63, 0x7C, 0x77, 0x7B, 0xF2, 0x6B, 0x6F, 0xC5, 0x30, 0x01, 0x67, 0x2B, 0xFE, 0xD7, 0xAB, 0x76, + 0xCA, 0x82, 0xC9, 0x7D, 0xFA, 0x59, 0x47, 0xF0, 0xAD, 0xD4, 0xA2, 0xAF, 0x9C, 0xA4, 0x72, 0xC0, + 0xB7, 0xFD, 0x93, 0x26, 0x36, 0x3F, 0xF7, 0xCC, 0x34, 0xA5, 0xE5, 0xF1, 0x71, 0xD8, 0x31, 0x15, + 0x04, 0xC7, 0x23, 0xC3, 0x18, 0x96, 0x05, 0x9A, 0x07, 0x12, 0x80, 0xE2, 0xEB, 0x27, 0xB2, 0x75, + 0x09, 0x83, 0x2C, 0x1A, 0x1B, 0x6E, 0x5A, 0xA0, 0x52, 0x3B, 0xD6, 0xB3, 0x29, 0xE3, 0x2F, 0x84, + 0x53, 0xD1, 0x00, 0xED, 0x20, 0xFC, 0xB1, 0x5B, 0x6A, 0xCB, 0xBE, 0x39, 0x4A, 0x4C, 0x58, 0xCF, + 0xD0, 0xEF, 0xAA, 0xFB, 0x43, 0x4D, 0x33, 0x85, 0x45, 0xF9, 0x02, 0x7F, 0x50, 0x3C, 0x9F, 0xA8, + 0x51, 0xA3, 0x40, 0x8F, 0x92, 0x9D, 0x38, 0xF5, 0xBC, 0xB6, 0xDA, 0x21, 0x10, 0xFF, 0xF3, 0xD2, + 0xCD, 0x0C, 0x13, 0xEC, 0x5F, 0x97, 0x44, 0x17, 0xC4, 0xA7, 0x7E, 0x3D, 0x64, 0x5D, 0x19, 0x73, + 0x60, 0x81, 0x4F, 0xDC, 0x22, 0x2A, 0x90, 0x88, 0x46, 0xEE, 0xB8, 0x14, 0xDE, 0x5E, 0x0B, 0xDB, + 0xE0, 0x32, 0x3A, 0x0A, 0x49, 0x06, 0x24, 0x5C, 0xC2, 0xD3, 0xAC, 0x62, 0x91, 0x95, 0xE4, 0x79, + 0xE7, 0xC8, 0x37, 0x6D, 0x8D, 0xD5, 0x4E, 0xA9, 0x6C, 0x56, 0xF4, 0xEA, 0x65, 0x7A, 0xAE, 0x08, + 0xBA, 0x78, 0x25, 0x2E, 0x1C, 0xA6, 0xB4, 0xC6, 0xE8, 0xDD, 0x74, 0x1F, 0x4B, 0xBD, 0x8B, 0x8A, + 0x70, 0x3E, 0xB5, 0x66, 0x48, 0x03, 0xF6, 0x0E, 0x61, 0x35, 0x57, 0xB9, 0x86, 0xC1, 0x1D, 0x9E, + 0xE1, 0xF8, 0x98, 0x11, 0x69, 0xD9, 0x8E, 0x94, 0x9B, 0x1E, 0x87, 0xE9, 0xCE, 0x55, 0x28, 0xDF, + 0x8C, 0xA1, 0x89, 0x0D, 0xBF, 0xE6, 0x42, 0x68, 0x41, 0x99, 0x2D, 0x0F, 0xB0, 0x54, 0xBB, 0x16 + ] + +sboxInv = [ + 0x52, 0x09, 0x6A, 0xD5, 0x30, 0x36, 0xA5, 0x38, 0xBF, 0x40, 0xA3, 0x9E, 0x81, 0xF3, 0xD7, 0xFB, + 0x7C, 0xE3, 0x39, 0x82, 0x9B, 0x2F, 0xFF, 0x87, 0x34, 0x8E, 0x43, 0x44, 0xC4, 0xDE, 0xE9, 0xCB, + 0x54, 0x7B, 0x94, 0x32, 0xA6, 0xC2, 0x23, 0x3D, 0xEE, 0x4C, 0x95, 0x0B, 0x42, 0xFA, 0xC3, 0x4E, + 0x08, 0x2E, 0xA1, 0x66, 0x28, 0xD9, 0x24, 0xB2, 0x76, 0x5B, 0xA2, 0x49, 0x6D, 0x8B, 0xD1, 0x25, + 0x72, 0xF8, 0xF6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xD4, 0xA4, 0x5C, 0xCC, 0x5D, 0x65, 0xB6, 0x92, + 0x6C, 0x70, 0x48, 0x50, 0xFD, 0xED, 0xB9, 0xDA, 0x5E, 0x15, 0x46, 0x57, 0xA7, 0x8D, 0x9D, 0x84, + 0x90, 0xD8, 0xAB, 0x00, 0x8C, 0xBC, 0xD3, 0x0A, 0xF7, 0xE4, 0x58, 0x05, 0xB8, 0xB3, 0x45, 0x06, + 0xD0, 0x2C, 0x1E, 0x8F, 0xCA, 0x3F, 0x0F, 0x02, 0xC1, 0xAF, 0xBD, 0x03, 0x01, 0x13, 0x8A, 0x6B, + 0x3A, 0x91, 0x11, 0x41, 0x4F, 0x67, 0xDC, 0xEA, 0x97, 0xF2, 0xCF, 0xCE, 0xF0, 0xB4, 0xE6, 0x73, + 0x96, 0xAC, 0x74, 0x22, 0xE7, 0xAD, 0x35, 0x85, 0xE2, 0xF9, 0x37, 0xE8, 0x1C, 0x75, 0xDF, 0x6E, + 0x47, 0xF1, 0x1A, 0x71, 0x1D, 0x29, 0xC5, 0x89, 0x6F, 0xB7, 0x62, 0x0E, 0xAA, 0x18, 0xBE, 0x1B, + 0xFC, 0x56, 0x3E, 0x4B, 0xC6, 0xD2, 0x79, 0x20, 0x9A, 0xDB, 0xC0, 0xFE, 0x78, 0xCD, 0x5A, 0xF4, + 0x1F, 0xDD, 0xA8, 0x33, 0x88, 0x07, 0xC7, 0x31, 0xB1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xEC, 0x5F, + 0x60, 0x51, 0x7F, 0xA9, 0x19, 0xB5, 0x4A, 0x0D, 0x2D, 0xE5, 0x7A, 0x9F, 0x93, 0xC9, 0x9C, 0xEF, + 0xA0, 0xE0, 0x3B, 0x4D, 0xAE, 0x2A, 0xF5, 0xB0, 0xC8, 0xEB, 0xBB, 0x3C, 0x83, 0x53, 0x99, 0x61, + 0x17, 0x2B, 0x04, 0x7E, 0xBA, 0x77, 0xD6, 0x26, 0xE1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0C, 0x7D + ] + +rCon = [ + 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, + 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, + 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, + 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, + 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, + 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, + 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, + 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, + 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, + 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, + 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, + 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, + 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, + 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, + 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, + 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d + ] + +vector_table = [2, 3, 1, 1, + 1, 2, 3, 1, + 1, 1, 2, 3, + 3, 1, 1, 2] + +table_2 = [ 0x00, 0x02, 0x04, 0x06, 0x08, 0x0a, 0x0c, 0x0e, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e, + 0x20, 0x22, 0x24, 0x26, 0x28, 0x2a, 0x2c, 0x2e, 0x30, 0x32, 0x34, 0x36, 0x38, 0x3a, 0x3c, 0x3e, + 0x40, 0x42, 0x44, 0x46, 0x48, 0x4a, 0x4c, 0x4e, 0x50, 0x52, 0x54, 0x56, 0x58, 0x5a, 0x5c, 0x5e, + 0x60, 0x62, 0x64, 0x66, 0x68, 0x6a, 0x6c, 0x6e, 0x70, 0x72, 0x74, 0x76, 0x78, 0x7a, 0x7c, 0x7e, + 0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x8c, 0x8e, 0x90, 0x92, 0x94, 0x96, 0x98, 0x9a, 0x9c, 0x9e, + 0xa0, 0xa2, 0xa4, 0xa6, 0xa8, 0xaa, 0xac, 0xae, 0xb0, 0xb2, 0xb4, 0xb6, 0xb8, 0xba, 0xbc, 0xbe, + 0xc0, 0xc2, 0xc4, 0xc6, 0xc8, 0xca, 0xcc, 0xce, 0xd0, 0xd2, 0xd4, 0xd6, 0xd8, 0xda, 0xdc, 0xde, + 0xe0, 0xe2, 0xe4, 0xe6, 0xe8, 0xea, 0xec, 0xee, 0xf0, 0xf2, 0xf4, 0xf6, 0xf8, 0xfa, 0xfc, 0xfe, + 0x1b, 0x19, 0x1f, 0x1d, 0x13, 0x11, 0x17, 0x15, 0x0b, 0x09, 0x0f, 0x0d, 0x03, 0x01, 0x07, 0x05, + 0x3b, 0x39, 0x3f, 0x3d, 0x33, 0x31, 0x37, 0x35, 0x2b, 0x29, 0x2f, 0x2d, 0x23, 0x21, 0x27, 0x25, + 0x5b, 0x59, 0x5f, 0x5d, 0x53, 0x51, 0x57, 0x55, 0x4b, 0x49, 0x4f, 0x4d, 0x43, 0x41, 0x47, 0x45, + 0x7b, 0x79, 0x7f, 0x7d, 0x73, 0x71, 0x77, 0x75, 0x6b, 0x69, 0x6f, 0x6d, 0x63, 0x61, 0x67, 0x65, + 0x9b, 0x99, 0x9f, 0x9d, 0x93, 0x91, 0x97, 0x95, 0x8b, 0x89, 0x8f, 0x8d, 0x83, 0x81, 0x87, 0x85, + 0xbb, 0xb9, 0xbf, 0xbd, 0xb3, 0xb1, 0xb7, 0xb5, 0xab, 0xa9, 0xaf, 0xad, 0xa3, 0xa1, 0xa7, 0xa5, + 0xdb, 0xd9, 0xdf, 0xdd, 0xd3, 0xd1, 0xd7, 0xd5, 0xcb, 0xc9, 0xcf, 0xcd, 0xc3, 0xc1, 0xc7, 0xc5, + 0xfb, 0xf9, 0xff, 0xfd, 0xf3, 0xf1, 0xf7, 0xf5, 0xeb, 0xe9, 0xef, 0xed, 0xe3, 0xe1, 0xe7, 0xe5] + +table_3 = [ 0x00, 0x03, 0x06, 0x05, 0x0c, 0x0f, 0x0a, 0x09, 0x18, 0x1b, 0x1e, 0x1d, 0x14, 0x17, 0x12, 0x11, + 0x30, 0x33, 0x36, 0x35, 0x3c, 0x3f, 0x3a, 0x39, 0x28, 0x2b, 0x2e, 0x2d, 0x24, 0x27, 0x22, 0x21, + 0x60, 0x63, 0x66, 0x65, 0x6c, 0x6f, 0x6a, 0x69, 0x78, 0x7b, 0x7e, 0x7d, 0x74, 0x77, 0x72, 0x71, + 0x50, 0x53, 0x56, 0x55, 0x5c, 0x5f, 0x5a, 0x59, 0x48, 0x4b, 0x4e, 0x4d, 0x44, 0x47, 0x42, 0x41, + 0xc0, 0xc3, 0xc6, 0xc5, 0xcc, 0xcf, 0xca, 0xc9, 0xd8, 0xdb, 0xde, 0xdd, 0xd4, 0xd7, 0xd2, 0xd1, + 0xf0, 0xf3, 0xf6, 0xf5, 0xfc, 0xff, 0xfa, 0xf9, 0xe8, 0xeb, 0xee, 0xed, 0xe4, 0xe7, 0xe2, 0xe1, + 0xa0, 0xa3, 0xa6, 0xa5, 0xac, 0xaf, 0xaa, 0xa9, 0xb8, 0xbb, 0xbe, 0xbd, 0xb4, 0xb7, 0xb2, 0xb1, + 0x90, 0x93, 0x96, 0x95, 0x9c, 0x9f, 0x9a, 0x99, 0x88, 0x8b, 0x8e, 0x8d, 0x84, 0x87, 0x82, 0x81, + 0x9b, 0x98, 0x9d, 0x9e, 0x97, 0x94, 0x91, 0x92, 0x83, 0x80, 0x85, 0x86, 0x8f, 0x8c, 0x89, 0x8a, + 0xab, 0xa8, 0xad, 0xae, 0xa7, 0xa4, 0xa1, 0xa2, 0xb3, 0xb0, 0xb5, 0xb6, 0xbf, 0xbc, 0xb9, 0xba, + 0xfb, 0xf8, 0xfd, 0xfe, 0xf7, 0xf4, 0xf1, 0xf2, 0xe3, 0xe0, 0xe5, 0xe6, 0xef, 0xec, 0xe9, 0xea, + 0xcb, 0xc8, 0xcd, 0xce, 0xc7, 0xc4, 0xc1, 0xc2, 0xd3, 0xd0, 0xd5, 0xd6, 0xdf, 0xdc, 0xd9, 0xda, + 0x5b, 0x58, 0x5d, 0x5e, 0x57, 0x54, 0x51, 0x52, 0x43, 0x40, 0x45, 0x46, 0x4f, 0x4c, 0x49, 0x4a, + 0x6b, 0x68, 0x6d, 0x6e, 0x67, 0x64, 0x61, 0x62, 0x73, 0x70, 0x75, 0x76, 0x7f, 0x7c, 0x79, 0x7a, + 0x3b, 0x38, 0x3d, 0x3e, 0x37, 0x34, 0x31, 0x32, 0x23, 0x20, 0x25, 0x26, 0x2f, 0x2c, 0x29, 0x2a, + 0x0b, 0x08, 0x0d, 0x0e, 0x07, 0x04, 0x01, 0x02, 0x13, 0x10, 0x15, 0x16, 0x1f, 0x1c, 0x19, 0x1a] + +table_9 = [ 0x00, 0x09, 0x12, 0x1b, 0x24, 0x2d, 0x36, 0x3f, 0x48, 0x41, 0x5a, 0x53, 0x6c, 0x65, 0x7e, 0x77, + 0x90, 0x99, 0x82, 0x8b, 0xb4, 0xbd, 0xa6, 0xaf, 0xd8, 0xd1, 0xca, 0xc3, 0xfc, 0xf5, 0xee, 0xe7, + 0x3b, 0x32, 0x29, 0x20, 0x1f, 0x16, 0x0d, 0x04, 0x73, 0x7a, 0x61, 0x68, 0x57, 0x5e, 0x45, 0x4c, + 0xab, 0xa2, 0xb9, 0xb0, 0x8f, 0x86, 0x9d, 0x94, 0xe3, 0xea, 0xf1, 0xf8, 0xc7, 0xce, 0xd5, 0xdc, + 0x76, 0x7f, 0x64, 0x6d, 0x52, 0x5b, 0x40, 0x49, 0x3e, 0x37, 0x2c, 0x25, 0x1a, 0x13, 0x08, 0x01, + 0xe6, 0xef, 0xf4, 0xfd, 0xc2, 0xcb, 0xd0, 0xd9, 0xae, 0xa7, 0xbc, 0xb5, 0x8a, 0x83, 0x98, 0x91, + 0x4d, 0x44, 0x5f, 0x56, 0x69, 0x60, 0x7b, 0x72, 0x05, 0x0c, 0x17, 0x1e, 0x21, 0x28, 0x33, 0x3a, + 0xdd, 0xd4, 0xcf, 0xc6, 0xf9, 0xf0, 0xeb, 0xe2, 0x95, 0x9c, 0x87, 0x8e, 0xb1, 0xb8, 0xa3, 0xaa, + 0xec, 0xe5, 0xfe, 0xf7, 0xc8, 0xc1, 0xda, 0xd3, 0xa4, 0xad, 0xb6, 0xbf, 0x80, 0x89, 0x92, 0x9b, + 0x7c, 0x75, 0x6e, 0x67, 0x58, 0x51, 0x4a, 0x43, 0x34, 0x3d, 0x26, 0x2f, 0x10, 0x19, 0x02, 0x0b, + 0xd7, 0xde, 0xc5, 0xcc, 0xf3, 0xfa, 0xe1, 0xe8, 0x9f, 0x96, 0x8d, 0x84, 0xbb, 0xb2, 0xa9, 0xa0, + 0x47, 0x4e, 0x55, 0x5c, 0x63, 0x6a, 0x71, 0x78, 0x0f, 0x06, 0x1d, 0x14, 0x2b, 0x22, 0x39, 0x30, + 0x9a, 0x93, 0x88, 0x81, 0xbe, 0xb7, 0xac, 0xa5, 0xd2, 0xdb, 0xc0, 0xc9, 0xf6, 0xff, 0xe4, 0xed, + 0x0a, 0x03, 0x18, 0x11, 0x2e, 0x27, 0x3c, 0x35, 0x42, 0x4b, 0x50, 0x59, 0x66, 0x6f, 0x74, 0x7d, + 0xa1, 0xa8, 0xb3, 0xba, 0x85, 0x8c, 0x97, 0x9e, 0xe9, 0xe0, 0xfb, 0xf2, 0xcd, 0xc4, 0xdf, 0xd6, + 0x31, 0x38, 0x23, 0x2a, 0x15, 0x1c, 0x07, 0x0e, 0x79, 0x70, 0x6b, 0x62, 0x5d, 0x54, 0x4f, 0x46] + +table_11 = [0x00, 0x0b, 0x16, 0x1d, 0x2c, 0x27, 0x3a, 0x31, 0x58, 0x53, 0x4e, 0x45, 0x74, 0x7f, 0x62, 0x69, + 0xb0, 0xbb, 0xa6, 0xad, 0x9c, 0x97, 0x8a, 0x81, 0xe8, 0xe3, 0xfe, 0xf5, 0xc4, 0xcf, 0xd2, 0xd9, + 0x7b, 0x70, 0x6d, 0x66, 0x57, 0x5c, 0x41, 0x4a, 0x23, 0x28, 0x35, 0x3e, 0x0f, 0x04, 0x19, 0x12, + 0xcb, 0xc0, 0xdd, 0xd6, 0xe7, 0xec, 0xf1, 0xfa, 0x93, 0x98, 0x85, 0x8e, 0xbf, 0xb4, 0xa9, 0xa2, + 0xf6, 0xfd, 0xe0, 0xeb, 0xda, 0xd1, 0xcc, 0xc7, 0xae, 0xa5, 0xb8, 0xb3, 0x82, 0x89, 0x94, 0x9f, + 0x46, 0x4d, 0x50, 0x5b, 0x6a, 0x61, 0x7c, 0x77, 0x1e, 0x15, 0x08, 0x03, 0x32, 0x39, 0x24, 0x2f, + 0x8d, 0x86, 0x9b, 0x90, 0xa1, 0xaa, 0xb7, 0xbc, 0xd5, 0xde, 0xc3, 0xc8, 0xf9, 0xf2, 0xef, 0xe4, + 0x3d, 0x36, 0x2b, 0x20, 0x11, 0x1a, 0x07, 0x0c, 0x65, 0x6e, 0x73, 0x78, 0x49, 0x42, 0x5f, 0x54, + 0xf7, 0xfc, 0xe1, 0xea, 0xdb, 0xd0, 0xcd, 0xc6, 0xaf, 0xa4, 0xb9, 0xb2, 0x83, 0x88, 0x95, 0x9e, + 0x47, 0x4c, 0x51, 0x5a, 0x6b, 0x60, 0x7d, 0x76, 0x1f, 0x14, 0x09, 0x02, 0x33, 0x38, 0x25, 0x2e, + 0x8c, 0x87, 0x9a, 0x91, 0xa0, 0xab, 0xb6, 0xbd, 0xd4, 0xdf, 0xc2, 0xc9, 0xf8, 0xf3, 0xee, 0xe5, + 0x3c, 0x37, 0x2a, 0x21, 0x10, 0x1b, 0x06, 0x0d, 0x64, 0x6f, 0x72, 0x79, 0x48, 0x43, 0x5e, 0x55, + 0x01, 0x0a, 0x17, 0x1c, 0x2d, 0x26, 0x3b, 0x30, 0x59, 0x52, 0x4f, 0x44, 0x75, 0x7e, 0x63, 0x68, + 0xb1, 0xba, 0xa7, 0xac, 0x9d, 0x96, 0x8b, 0x80, 0xe9, 0xe2, 0xff, 0xf4, 0xc5, 0xce, 0xd3, 0xd8, + 0x7a, 0x71, 0x6c, 0x67, 0x56, 0x5d, 0x40, 0x4b, 0x22, 0x29, 0x34, 0x3f, 0x0e, 0x05, 0x18, 0x13, + 0xca, 0xc1, 0xdc, 0xd7, 0xe6, 0xed, 0xf0, 0xfb, 0x92, 0x99, 0x84, 0x8f, 0xbe, 0xb5, 0xa8, 0xa3] + +table_13 = [0x00, 0x0d, 0x1a, 0x17, 0x34, 0x39, 0x2e, 0x23, 0x68, 0x65, 0x72, 0x7f, 0x5c, 0x51, 0x46, 0x4b, + 0xd0, 0xdd, 0xca, 0xc7, 0xe4, 0xe9, 0xfe, 0xf3, 0xb8, 0xb5, 0xa2, 0xaf, 0x8c, 0x81, 0x96, 0x9b, + 0xbb, 0xb6, 0xa1, 0xac, 0x8f, 0x82, 0x95, 0x98, 0xd3, 0xde, 0xc9, 0xc4, 0xe7, 0xea, 0xfd, 0xf0, + 0x6b, 0x66, 0x71, 0x7c, 0x5f, 0x52, 0x45, 0x48, 0x03, 0x0e, 0x19, 0x14, 0x37, 0x3a, 0x2d, 0x20, + 0x6d, 0x60, 0x77, 0x7a, 0x59, 0x54, 0x43, 0x4e, 0x05, 0x08, 0x1f, 0x12, 0x31, 0x3c, 0x2b, 0x26, + 0xbd, 0xb0, 0xa7, 0xaa, 0x89, 0x84, 0x93, 0x9e, 0xd5, 0xd8, 0xcf, 0xc2, 0xe1, 0xec, 0xfb, 0xf6, + 0xd6, 0xdb, 0xcc, 0xc1, 0xe2, 0xef, 0xf8, 0xf5, 0xbe, 0xb3, 0xa4, 0xa9, 0x8a, 0x87, 0x90, 0x9d, + 0x06, 0x0b, 0x1c, 0x11, 0x32, 0x3f, 0x28, 0x25, 0x6e, 0x63, 0x74, 0x79, 0x5a, 0x57, 0x40, 0x4d, + 0xda, 0xd7, 0xc0, 0xcd, 0xee, 0xe3, 0xf4, 0xf9, 0xb2, 0xbf, 0xa8, 0xa5, 0x86, 0x8b, 0x9c, 0x91, + 0x0a, 0x07, 0x10, 0x1d, 0x3e, 0x33, 0x24, 0x29, 0x62, 0x6f, 0x78, 0x75, 0x56, 0x5b, 0x4c, 0x41, + 0x61, 0x6c, 0x7b, 0x76, 0x55, 0x58, 0x4f, 0x42, 0x09, 0x04, 0x13, 0x1e, 0x3d, 0x30, 0x27, 0x2a, + 0xb1, 0xbc, 0xab, 0xa6, 0x85, 0x88, 0x9f, 0x92, 0xd9, 0xd4, 0xc3, 0xce, 0xed, 0xe0, 0xf7, 0xfa, + 0xb7, 0xba, 0xad, 0xa0, 0x83, 0x8e, 0x99, 0x94, 0xdf, 0xd2, 0xc5, 0xc8, 0xeb, 0xe6, 0xf1, 0xfc, + 0x67, 0x6a, 0x7d, 0x70, 0x53, 0x5e, 0x49, 0x44, 0x0f, 0x02, 0x15, 0x18, 0x3b, 0x36, 0x21, 0x2c, + 0x0c, 0x01, 0x16, 0x1b, 0x38, 0x35, 0x22, 0x2f, 0x64, 0x69, 0x7e, 0x73, 0x50, 0x5d, 0x4a, 0x47, + 0xdc, 0xd1, 0xc6, 0xcb, 0xe8, 0xe5, 0xf2, 0xff, 0xb4, 0xb9, 0xae, 0xa3, 0x80, 0x8d, 0x9a, 0x97] + +table_14 = [0x00, 0x0e, 0x1c, 0x12, 0x38, 0x36, 0x24, 0x2a, 0x70, 0x7e, 0x6c, 0x62, 0x48, 0x46, 0x54, 0x5a, + 0xe0, 0xee, 0xfc, 0xf2, 0xd8, 0xd6, 0xc4, 0xca, 0x90, 0x9e, 0x8c, 0x82, 0xa8, 0xa6, 0xb4, 0xba, + 0xdb, 0xd5, 0xc7, 0xc9, 0xe3, 0xed, 0xff, 0xf1, 0xab, 0xa5, 0xb7, 0xb9, 0x93, 0x9d, 0x8f, 0x81, + 0x3b, 0x35, 0x27, 0x29, 0x03, 0x0d, 0x1f, 0x11, 0x4b, 0x45, 0x57, 0x59, 0x73, 0x7d, 0x6f, 0x61, + 0xad, 0xa3, 0xb1, 0xbf, 0x95, 0x9b, 0x89, 0x87, 0xdd, 0xd3, 0xc1, 0xcf, 0xe5, 0xeb, 0xf9, 0xf7, + 0x4d, 0x43, 0x51, 0x5f, 0x75, 0x7b, 0x69, 0x67, 0x3d, 0x33, 0x21, 0x2f, 0x05, 0x0b, 0x19, 0x17, + 0x76, 0x78, 0x6a, 0x64, 0x4e, 0x40, 0x52, 0x5c, 0x06, 0x08, 0x1a, 0x14, 0x3e, 0x30, 0x22, 0x2c, + 0x96, 0x98, 0x8a, 0x84, 0xae, 0xa0, 0xb2, 0xbc, 0xe6, 0xe8, 0xfa, 0xf4, 0xde, 0xd0, 0xc2, 0xcc, + 0x41, 0x4f, 0x5d, 0x53, 0x79, 0x77, 0x65, 0x6b, 0x31, 0x3f, 0x2d, 0x23, 0x09, 0x07, 0x15, 0x1b, + 0xa1, 0xaf, 0xbd, 0xb3, 0x99, 0x97, 0x85, 0x8b, 0xd1, 0xdf, 0xcd, 0xc3, 0xe9, 0xe7, 0xf5, 0xfb, + 0x9a, 0x94, 0x86, 0x88, 0xa2, 0xac, 0xbe, 0xb0, 0xea, 0xe4, 0xf6, 0xf8, 0xd2, 0xdc, 0xce, 0xc0, + 0x7a, 0x74, 0x66, 0x68, 0x42, 0x4c, 0x5e, 0x50, 0x0a, 0x04, 0x16, 0x18, 0x32, 0x3c, 0x2e, 0x20, + 0xec, 0xe2, 0xf0, 0xfe, 0xd4, 0xda, 0xc8, 0xc6, 0x9c, 0x92, 0x80, 0x8e, 0xa4, 0xaa, 0xb8, 0xb6, + 0x0c, 0x02, 0x10, 0x1e, 0x34, 0x3a, 0x28, 0x26, 0x7c, 0x72, 0x60, 0x6e, 0x44, 0x4a, 0x58, 0x56, + 0x37, 0x39, 0x2b, 0x25, 0x0f, 0x01, 0x13, 0x1d, 0x47, 0x49, 0x5b, 0x55, 0x7f, 0x71, 0x63, 0x6d, + 0xd7, 0xd9, 0xcb, 0xc5, 0xef, 0xe1, 0xf3, 0xfd, 0xa7, 0xa9, 0xbb, 0xb5, 0x9f, 0x91, 0x83, 0x8d] \ No newline at end of file diff --git a/Encrytion-Techniques/AES/testBlock b/Encrytion-Techniques/AES/testBlock new file mode 100755 index 0000000..55c80f2 --- /dev/null +++ b/Encrytion-Techniques/AES/testBlock @@ -0,0 +1 @@ +00112233445566778899AABBCCDDEEFF \ No newline at end of file diff --git a/Encrytion-Techniques/AES/testKey b/Encrytion-Techniques/AES/testKey new file mode 100755 index 0000000..9c7bc66 --- /dev/null +++ b/Encrytion-Techniques/AES/testKey @@ -0,0 +1 @@ +0000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file diff --git a/Encrytion-Techniques/Caesar-Cipher/caesar.py b/Encrytion-Techniques/Caesar-Cipher/caesar.py new file mode 100755 index 0000000..1684847 --- /dev/null +++ b/Encrytion-Techniques/Caesar-Cipher/caesar.py @@ -0,0 +1,92 @@ +#!/usr/bin/env python +import sys +from string import punctuation + +def remove_punctuation(content): + content = content.translate(None, punctuation); #removing !"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ + content = ''.join(content.split()) #removing tabs, spaces, newlines + return content.lower() + +def take_input(): + try: + k = int(raw_input("Enter key: ")) + return k + except Exception as e: + print "Error : ", e + sys.exit(0) + +def file_input(): + try: + fp = open(raw_input("Enter file: "), "r") + content = fp.read() + fp.close() + return content + except Exception as e: + print "Error : ", e + sys.exit(1) + +def display_format(message): + ''' Print the final encoded message in blocks of five letters and ten blocks per line. + The last line may be shorter than five blocks, and the last block may be shorter + than five letters. ''' + output = [] + enc = "" + while message: + output.append(message[:5]) + message = message[5:] + for index, block in enumerate(output): + if((index + 1) % 10 == 0): + enc = enc + block + "\n" + else: + enc = enc + block + " " + return enc + +def encrypt(content, k): + encrypted_message = "" + print "Discarding the punctuation..." + content = remove_punctuation(content) + print "Encrypting the text..." + for char in content: + encrypted_message += chr((ord(char) - ord('a') + k)%26 + ord('a')) #ord func gives ascii value #chr func gives character + encrypted_message = display_format(encrypted_message) + return encrypted_message + +def decrypt(content): + content = remove_punctuation(content) + print "Decryting the text with each key and writing to the file \"decrypt.output\"..." + try: + fp = open("decrypt.output", "w"); + for k in range(26): + plain_text = "" + for char in content: + plain_text += chr((ord(char) - ord('a') - (k+1))%26 + ord('a')) #ord func gives ascii value #chr func gives character + plain_text = display_format(plain_text) + fp.write("Key " + str(k+1) + " :\n") + fp.write(plain_text + "\n\n") + fp.close() + except Exception as e: + print "Error : ", e + +def main(): + try: + case = int(raw_input("1 to encrypt plain_text from file\n2 to decrypt ciphertext from file\nEnter option : ")) + if(case == 1): + k = take_input() + file_content = file_input() + encrypted_message = encrypt(file_content, k) + print "Encrypted Message..." + print encrypted_message + sys.exit(0) + if(case == 2): + encrypted_message = file_input() + decrypt(encrypted_message) + sys.exit(0) + else: + print "Wrong option" + sys.exit(0) + except KeyboardInterrupt: + print "\nClosing the program..." + sys.exit(0) + +if __name__ == '__main__': + main() diff --git a/Encrytion-Techniques/Caesar-Cipher/cipher.input b/Encrytion-Techniques/Caesar-Cipher/cipher.input new file mode 100755 index 0000000..a223a5c --- /dev/null +++ b/Encrytion-Techniques/Caesar-Cipher/cipher.input @@ -0,0 +1,6 @@ +mrxli ievpc hecwf ymphm rkgsq tyxiv wcwxi qwaew iewca lccsy +ewofi geywi ywivw hmhrx ibtig xqygl mxmwx lswih evrih ywivw +amxlx limvi btigx exmsr wsjie wisjy wilmk ltivj svqer givip +mefmp mxcix gxlex viepp clezi pihxs eppxl iwili ehegl iwrib +xxmqi csyqi ixsri sjxls wigsq tyxiv ywivw xlero xliqj svepp +xlitv sfpiq wxlic lezig eywih diff --git a/Encrytion-Techniques/Caesar-Cipher/decrypt.output b/Encrytion-Techniques/Caesar-Cipher/decrypt.output new file mode 100644 index 0000000..45eff78 --- /dev/null +++ b/Encrytion-Techniques/Caesar-Cipher/decrypt.output @@ -0,0 +1,208 @@ +Key 1 : +lqwkh hduob gdbve xlogl qjfrp sxwhu vbvwh pvzdv hdvbz kbbrx +dvneh fdxvh xvhuv glgqw hashf wpxfk lwlvw krvhg duqhg xvhuv +zlwkw khluh ashfw dwlrq vrihd vhrix vhklj kshui rupdq fhuho +ldelo lwbhw fwkdw uhdoo bkdyh ohgwr doowk hvhkh dgdfk hvqha +wwlph brxph hwrqh riwkr vhfrp sxwhu xvhuv wkdqn wkhpi rudoo +wkhsu reohp vwkhb kdyhf dxvhg + +Key 2 : +kpvjg gctna fcaud wknfk pieqo rwvgt uauvg ouycu gcuay jaaqw +cumdg ecwug wugtu fkfpv gzrge vowej kvkuv jqugf ctpgf wugtu +ykvjv jgktg zrgev cvkqp uqhgc ugqhw ugjki jrgth qtocp egtgn +kcdkn kvagv evjcv tgcnn ajcxg ngfvq cnnvj gugjg cfcej gupgz +vvkog aqwog gvqpg qhvjq ugeqo rwvgt wugtu vjcpm vjgoh qtcnn +vjgrt qdngo uvjga jcxge cwugf + +Key 3 : +jouif fbsmz ebztc vjmej ohdpn qvufs tztuf ntxbt fbtzx izzpv +btlcf dbvtf vtfst ejeou fyqfd unvdi jujtu iptfe bsofe vtfst +xjuiu ifjsf yqfdu bujpo tpgfb tfpgv tfijh iqfsg psnbo dfsfm +jbcjm juzfu duibu sfbmm zibwf mfeup bmmui ftfif bebdi ftofy +uujnf zpvnf fupof pguip tfdpn qvufs vtfst uibol uifng psbmm +uifqs pcmfn tuifz ibwfd bvtfe + +Key 4 : +inthe early daysb uildi ngcom puter syste mswas easyw hyyou +askbe cause users didnt expec tmuch itist hosed arned users +witht heire xpect ation sofea seofu sehig hperf orman cerel +iabil ityet cthat reall yhave ledto allth esehe adach esnex +ttime youme etone oftho secom puter users thank themf orall +thepr oblem sthey havec aused + +Key 5 : +hmsgd dzqkx czxra thkch mfbnl otsdq rxrsd lrvzr dzrxv gxxnt +zrjad bztrd trdqr chcms dwodb sltbg hshrs gnrdc zqmdc trdqr +vhsgs gdhqd wodbs zshnm rnedz rdnet rdghf godqe nqlzm bdqdk +hzahk hsxds bsgzs qdzkk xgzud kdcsn zkksg drdgd zczbg drmdw +sshld xntld dsnmd nesgn rdbnl otsdq trdqr sgzmj sgdle nqzkk +sgdoq nakdl rsgdx gzudb ztrdc + +Key 6 : +glrfc cypjw bywqz sgjbg leamk nsrcp qwqrc kquyq cyqwu fwwms +yqizc aysqc sqcpq bgblr cvnca rksaf grgqr fmqcb yplcb sqcpq +ugrfr fcgpc vncar yrgml qmdcy qcmds qcfge fncpd mpkyl acpcj +gyzgj grwcr arfyr pcyjj wfytc jcbrm yjjrf cqcfc ybyaf cqlcv +rrgkc wmskc crmlc mdrfm qcamk nsrcp sqcpq rfyli rfckd mpyjj +rfcnp mzjck qrfcw fytca ysqcb + +Key 7 : +fkqeb bxoiv axvpy rfiaf kdzlj mrqbo pvpqb jptxp bxpvt evvlr +xphyb zxrpb rpbop afakq bumbz qjrze fqfpq elpba xokba rpbop +tfqeq ebfob umbzq xqflk plcbx pblcr pbefd emboc lojxk zbobi +fxyfi fqvbq zqexq obxii vexsb ibaql xiiqe bpbeb xaxze bpkbu +qqfjb vlrjb bqlkb lcqel pbzlj mrqbo rpbop qexkh qebjc loxii +qebmo lyibj pqebv exsbz xrpba + +Key 8 : +ejpda awnhu zwuox qehze jcyki lqpan ouopa ioswo awous duukq +wogxa ywqoa qoano zezjp atlay piqyd epeop dkoaz wnjaz qoano +sepdp daena tlayp wpekj okbaw oakbq oadec dlanb kniwj yanah +ewxeh epuap ypdwp nawhh udwra hazpk whhpd aoada wzwyd aojat +ppeia ukqia apkja kbpdk oayki lqpan qoano pdwjg pdaib knwhh +pdaln kxhai opdau dwray wqoaz + +Key 9 : +diocz zvmgt yvtnw pdgyd ibxjh kpozm ntnoz hnrvn zvntr cttjp +vnfwz xvpnz pnzmn ydyio zskzx ohpxc dodno cjnzy vmizy pnzmn +rdoco czdmz skzxo vodji njazv nzjap nzcdb ckzma jmhvi xzmzg +dvwdg dotzo xocvo mzvgg tcvqz gzyoj vggoc znzcz vyvxc znizs +oodhz tjphz zojiz jaocj nzxjh kpozm pnzmn ocvif oczha jmvgg +oczkm jwgzh noczt cvqzx vpnzy + +Key 10 : +chnby yulfs xusmv ocfxc hawig jonyl msmny gmqum yumsq bssio +umevy wuomy omylm xcxhn yrjyw ngowb cncmn bimyx ulhyx omylm +qcnbn bycly rjywn uncih mizyu myizo mybca bjylz ilguh wylyf +cuvcf cnsyn wnbun lyuff sbupy fyxni uffnb ymyby uxuwb ymhyr +nncgy siogy ynihy iznbi mywig jonyl omylm nbuhe nbygz iluff +nbyjl ivfyg mnbys bupyw uomyx + +Key 11 : +bgmax xtker wtrlu nbewb gzvhf inmxk lrlmx flptl xtlrp arrhn +tldux vtnlx nlxkl wbwgm xqixv mfnva bmblm ahlxw tkgxw nlxkl +pbmam axbkx qixvm tmbhg lhyxt lxhyn lxabz aixky hkftg vxkxe +btube bmrxm vmatm kxtee ratox exwmh teema xlxax twtva xlgxq +mmbfx rhnfx xmhgx hymah lxvhf inmxk nlxkl matgd maxfy hktee +maxik huexf lmaxr atoxv tnlxw + +Key 12 : +aflzw wsjdq vsqkt madva fyuge hmlwj kqklw ekosk wskqo zqqgm +skctw usmkw mkwjk vavfl wphwu lemuz alakl zgkwv sjfwv mkwjk +oalzl zwajw phwul slagf kgxws kwgxm kwzay zhwjx gjesf uwjwd +astad alqwl ulzsl jwsdd qzsnw dwvlg sddlz wkwzw svsuz wkfwp +llaew qgmew wlgfw gxlzg kwuge hmlwj mkwjk lzsfc lzwex gjsdd +lzwhj gtdwe klzwq zsnwu smkwv + +Key 13 : +zekyv vricp urpjs lzcuz extfd glkvi jpjkv djnrj vrjpn yppfl +rjbsv trljv ljvij uzuek vogvt kdlty zkzjk yfjvu rievu ljvij +nzkyk yvziv ogvtk rkzfe jfwvr jvfwl jvyzx ygviw fidre tvivc +zrszc zkpvk tkyrk ivrcc pyrmv cvukf rccky vjvyv rurty vjevo +kkzdv pfldv vkfev fwkyf jvtfd glkvi ljvij kyreb kyvdw fircc +kyvgi fscvd jkyvp yrmvt rljvu + +Key 14 : +ydjxu uqhbo tqoir kybty dwsec fkjuh ioiju cimqi uqiom xooek +qiaru sqkiu kiuhi tytdj unfus jcksx yjyij xeiut qhdut kiuhi +myjxj xuyhu nfusj qjyed ievuq iuevk iuxyw xfuhv ehcqd suhub +yqryb yjouj sjxqj huqbb oxqlu butje qbbjx uiuxu qtqsx uidun +jjycu oekcu ujedu evjxe iusec fkjuh kiuhi jxqda jxucv ehqbb +jxufh erbuc ijxuo xqlus qkiut + +Key 15 : +xciwt tpgan spnhq jxasx cvrdb ejitg hnhit bhlph tphnl wnndj +phzqt rpjht jhtgh sxsci tmetr ibjrw xixhi wdhts pgcts jhtgh +lxiwi wtxgt metri pixdc hdutp htduj htwxv wetgu dgbpc rtgta +xpqxa xinti riwpi gtpaa nwpkt atsid paaiw thtwt psprw thctm +iixbt ndjbt tidct duiwd htrdb ejitg jhtgh iwpcz iwtbu dgpaa +iwteg dqatb hiwtn wpktr pjhts + +Key 16 : +wbhvs sofzm romgp iwzrw buqca dihsf gmghs agkog sogmk vmmci +ogyps qoigs igsfg rwrbh sldsq haiqv whwgh vcgsr ofbsr igsfg +kwhvh vswfs ldsqh ohwcb gctso gscti gsvwu vdsft cfaob qsfsz +wopwz whmsh qhvoh fsozz mvojs zsrhc ozzhv sgsvs oroqv sgbsl +hhwas mcias shcbs cthvc gsqca dihsf igsfg hvoby hvsat cfozz +hvsdf cpzsa ghvsm vojsq oigsr + +Key 17 : +vagur rneyl qnlfo hvyqv atpbz chgre flfgr zfjnf rnflj ullbh +nfxor pnhfr hfref qvqag rkcrp gzhpu vgvfg ubfrq nearq hfref +jvgug urver kcrpg ngvba fbsrn frbsh fruvt ucres bezna prery +vnovy vglrg pgung ernyy lunir yrqgb nyygu rfrur nqnpu rfark +ggvzr lbhzr rgbar bsgub frpbz chgre hfref gunax gurzs benyy +gurce boyrz fgurl unirp nhfrq + +Key 18 : +uzftq qmdxk pmken guxpu zsoay bgfqd ekefq yeime qmeki tkkag +mewnq omgeq geqde pupzf qjbqo fygot ufuef taeqp mdzqp geqde +iuftf tqudq jbqof mfuaz earqm eqarg eqtus tbqdr adymz oqdqx +umnux ufkqf oftmf dqmxx ktmhq xqpfa mxxft qeqtq mpmot qezqj +ffuyq kagyq qfazq arfta eqoay bgfqd geqde ftmzw ftqyr admxx +ftqbd anxqy eftqk tmhqo mgeqp + +Key 19 : +tyesp plcwj oljdm ftwot yrnzx afepc djdep xdhld pldjh sjjzf +ldvmp nlfdp fdpcd otoye piapn exfns tetde szdpo lcypo fdpcd +htese sptcp iapne letzy dzqpl dpzqf dpstr sapcq zcxly npcpw +tlmtw tejpe nesle cplww jslgp wpoez lwwes pdpsp lolns pdypi +eetxp jzfxp pezyp zqesz dpnzx afepc fdpcd eslyv espxq zclww +espac zmwpx despj slgpn lfdpo + +Key 20 : +sxdro okbvi nkicl esvns xqmyw zedob cicdo wcgkc okcig riiye +kculo mkeco ecobc nsnxd ohzom dwemr sdscd rycon kbxon ecobc +gsdrd rosbo hzomd kdsyx cypok coype corsq rzobp ybwkx mobov +sklsv sdiod mdrkd bokvv irkfo vondy kvvdr ocoro knkmr ocxoh +ddswo iyewo odyxo ypdry comyw zedob ecobc drkxu drowp ybkvv +drozb ylvow cdroi rkfom kecon + +Key 21 : +rwcqn njauh mjhbk drumr wplxv ydcna bhbcn vbfjb njbhf qhhxd +jbtkn ljdbn dbnab mrmwc ngynl cvdlq rcrbc qxbnm jawnm dbnab +frcqc qnran gynlc jcrxw bxonj bnxod bnqrp qynao xavjw lnanu +rjkru rchnc lcqjc anjuu hqjen unmcx juucq nbnqn jmjlq nbwng +ccrvn hxdvn ncxwn xocqx bnlxv ydcna dbnab cqjwt cqnvo xajuu +cqnya xkunv bcqnh qjenl jdbnm + +Key 22 : +qvbpm miztg ligaj cqtlq vokwu xcbmz agabm uaeia miage pggwc +iasjm kicam camza lqlvb mfxmk buckp qbqab pwaml izvml camza +eqbpb pmqzm fxmkb ibqwv awnmi amwnc ampqo pxmzn wzuiv kmzmt +qijqt qbgmb kbpib zmitt gpidm tmlbw ittbp mampm ilikp mavmf +bbqum gwcum mbwvm wnbpw amkwu xcbmz camza bpivs bpmun wzitt +bpmxz wjtmu abpmg pidmk icaml + +Key 23 : +puaol lhysf khfzi bpskp unjvt wbaly zfzal tzdhz lhzfd offvb +hzril jhbzl bzlyz kpkua lewlj atbjo papza ovzlk hyulk bzlyz +dpaoa olpyl ewlja hapvu zvmlh zlvmb zlopn owlym vythu jlyls +phips pafla jaoha ylhss fohcl slkav hssao lzlol hkhjo lzule +aaptl fvbtl lavul vmaov zljvt wbaly bzlyz aohur aoltm vyhss +aolwy vislt zaolf ohclj hbzlk + +Key 24 : +otznk kgxre jgeyh aorjo tmius vazkx yeyzk sycgy kgyec neeua +gyqhk igayk aykxy jojtz kdvki zsain ozoyz nuykj gxtkj aykxy +coznz nkoxk dvkiz gzout yulkg ykula yknom nvkxl uxsgt ikxkr +oghor ozekz izngz xkgrr engbk rkjzu grrzn kyknk gjgin kytkd +zzosk euask kzutk ulznu ykius vazkx aykxy zngtq znksl uxgrr +znkvx uhrks yznke ngbki gaykj + +Key 25 : +nsymj jfwqd ifdxg znqin slhtr uzyjw xdxyj rxbfx jfxdb mddtz +fxpgj hfzxj zxjwx inisy jcujh yrzhm nynxy mtxji fwsji zxjwx +bnymy mjnwj cujhy fynts xtkjf xjtkz xjmnl mujwk twrfs hjwjq +nfgnq nydjy hymfy wjfqq dmfaj qjiyt fqqym jxjmj fifhm jxsjc +yynrj dtzrj jytsj tkymt xjhtr uzyjw zxjwx ymfsp ymjrk twfqq +ymjuw tgqjr xymjd mfajh fzxji + +Key 26 : +mrxli ievpc hecwf ymphm rkgsq tyxiv wcwxi qwaew iewca lccsy +ewofi geywi ywivw hmhrx ibtig xqygl mxmwx lswih evrih ywivw +amxlx limvi btigx exmsr wsjie wisjy wilmk ltivj svqer givip +mefmp mxcix gxlex viepp clezi pihxs eppxl iwili ehegl iwrib +xxmqi csyqi ixsri sjxls wigsq tyxiv ywivw xlero xliqj svepp +xlitv sfpiq wxlic lezig eywih + diff --git a/Encrytion-Techniques/Caesar-Cipher/demo.png b/Encrytion-Techniques/Caesar-Cipher/demo.png new file mode 100644 index 0000000000000000000000000000000000000000..c60db83ce5c7544c801e0843a66f263e62b7ab5e GIT binary patch literal 37696 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⪦0qEDAeF7643kG)mk+g)JY^@;yMZy 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%0D?ZM$9R;%GQ!`|-xT9FO=IF{MG{3QlSh=HOnt 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 literal 0 HcmV?d00001 diff --git a/Encrytion-Techniques/DES/demo.png b/Encrytion-Techniques/DES/demo.png new file mode 100755 index 0000000000000000000000000000000000000000..ad6b00115483ec2e0272ae2701d4d7f538edfedd GIT binary patch literal 33326 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

    v)StwOId*J%aky}!nv^?>3=;2Qj>_@Fw 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

    9y7E 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

    -$haTOuO`VC8?0A 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 https://stackoverflow.com/a/39881366/5394031 +# Reference : https://en.wikipedia.org/wiki/Hill_cipher +# keysize = 9 | key_matrix = 3 x 3 + +import sys + +#alphabets = list('abcdefghijklmnopqrstuvwxyz') +alphabets = list('abcdefghijklmnopqrstuvwxyz.,!') +punctuation = '"#$%&\'()*+-/:;<=>?@[\\]^_`{|}~' +len_alpha = len(alphabets) + +def remove_punctuation(message): + message = message.translate(None, punctuation); #removing "#$%&\'()*+-/:;<=>?@[\\]^_`{|}~ + message = ''.join(message.split()) #removing tabs, spaces, newlines + return message.lower() + +def padthemessage(message): + if(len(message)%3 == 0): + return message + else: + short = 3 - len(message)%3 + for i in range(short): + message += 'x' #appending x to make message length a multiple of 3 + return message + +def display_format(message): + ''' Print the final encoded message in blocks of five letters and ten blocks per line. + The last line may be shorter than five blocks, and the last block may be shorter + than five letters. ''' + output = [] + enc = "" + while message: + output.append(message[:5]) + message = message[5:] + for index, block in enumerate(output): + if((index + 1) % 10 == 0): + enc = enc + block + "\n" + else: + enc = enc + block + " " + return enc + +def modular_multiplicative_inverse(number): + for i in range(len_alpha): + if (number*i)%len_alpha == 1: + return i + return 0 + +def matrix_transpose(matrix): + return [list(x) for x in zip(*matrix)] + +def matrix_minor(matrix,i,j): + return [row[:j] + row[j+1:] for row in (matrix[:i]+matrix[i+1:])] + +def matrix_determinant(matrix): + #base case for 2x2 matrix + if len(matrix) == 2: + return matrix[0][0]*matrix[1][1]-matrix[0][1]*matrix[1][0] + + determinant = 0 + for c in range(len(matrix)): + determinant += ((-1)**c)*matrix[0][c]*matrix_determinant(matrix_minor(matrix,0,c)) + return determinant + +def key_matrix_inverse(matrix): + determinant = matrix_determinant(matrix) + #find matrix of cofactors + cofactors = [] + for r in range(len(matrix)): + cofactorRow = [] + for c in range(len(matrix)): + minor = matrix_minor(matrix,r,c) + cofactorRow.append(((-1)**(r+c)) * matrix_determinant(minor)) + cofactors.append(cofactorRow) + cofactors = matrix_transpose(cofactors) + determinant = modular_multiplicative_inverse(determinant) # why do you need modular_multiplicative_inverse? Answer : https://wikipedia.org/wiki/Hill_cipher + for r in range(len(cofactors)): + for c in range(len(cofactors)): + cofactors[r][c] = (cofactors[r][c]*determinant)%len_alpha + return cofactors + +def matrix_multiply(matrix_1, matrix_2): + if(len(matrix_1[0]) == len(matrix_2)): ##Condition for matrix multiplication. + rows = len(matrix_1) + cols = len(matrix_2[0]) + cipher_matrix = [[0]]*rows + for i in range(rows): + row = [] + for j in range(cols): + res = 0 + for k in range(len(matrix_2)): + res += (matrix_1[i][k] * matrix_2[k][j]) + row.append(alphabets[res%len_alpha]) + cipher_matrix[i] = row + cipher_matrix = matrix_transpose(cipher_matrix) ## transpose of a matrix + return cipher_matrix + else: + print "Matrices cannnot be multiplied..." + sys.exit(0); + +def generate_matrix(content, rows, cols): + matrix = [[0]]*rows #initializing a matrix with zeros + k = 0 + for i in range(rows): + row = [] + for j in range(cols): + row.append(alphabets.index(content[k])) + k+=1 + matrix[i] = row + return matrix + +def encrypt(message, key): + key_matrix = generate_matrix(key, 3, 3) + if(matrix_determinant(key_matrix) == 0): + print "the determinant of your key is 0. you won't be able to decrypt. use another key." # determinant = 0 means inverse doesn't exist # Since inverse doesn't exist no decryption + sys.exit(0) + message_matrix = generate_matrix(message, len(message)/3 , 3) + message_matrix = matrix_transpose(message_matrix) ## transpose of a matrix + cipher_matrix = matrix_multiply(key_matrix, message_matrix) + ciphertext = ''.join([ch for row in cipher_matrix for ch in row]) + ciphertext = display_format(ciphertext) + return ciphertext + +def decrypt(ciphertext, key): + key_matrix = generate_matrix(key, 3, 3) + key_matrix = key_matrix_inverse(key_matrix) + cipher_matrix = generate_matrix(ciphertext, len(ciphertext)/3 , 3) + cipher_matrix = matrix_transpose(cipher_matrix) ## transpose of a matrix + message_matrix = matrix_multiply(key_matrix, cipher_matrix) + plaintext = ''.join([ch for row in message_matrix for ch in row]) + return plaintext + +def main(): + try: + case = int(raw_input("1 to encrypt plain_text\n2 to decrypt ciphertext\nEnter option : ")) + if(case == 1): + k = raw_input("Enter key (exactly 9 chars): ") + if(len(k) != 9): + print("Enter key of size 9 only...") + sys.exit(0) + message = padthemessage(remove_punctuation(raw_input("Message[Plain Text]: "))) + encrypted_message = encrypt(message, k) + print "Encrypted Message..." + print encrypted_message + sys.exit(0) + if(case == 2): + k = raw_input("Enter key (exactly 9 chars): ") + if(len(k) != 9): + print("Enter key of size 9 only...") + sys.exit(0) + encrypted_message = remove_punctuation(raw_input("Ciphertext: ")) + plain_text = decrypt(encrypted_message, k) + print "Decrypted Message..." + print plain_text + sys.exit(0) + else: + print "Wrong option" + sys.exit(0) + except KeyboardInterrupt: + print "\nClosing the program..." + sys.exit(0) + +if __name__ == '__main__': + main() diff --git a/Encrytion-Techniques/IDEA/demo.png b/Encrytion-Techniques/IDEA/demo.png new file mode 100755 index 0000000000000000000000000000000000000000..814585d9f09320b54a5def4cf6e0f74957e496e3 GIT binary patch literal 41414 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

    lZX=~;cGll*2ZNpuE3peuL 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 literal 0 HcmV?d00001 diff --git a/Encrytion-Techniques/IDEA/key b/Encrytion-Techniques/IDEA/key new file mode 100755 index 0000000..f0681ee --- /dev/null +++ b/Encrytion-Techniques/IDEA/key @@ -0,0 +1 @@ +11011100011011110011111101011001 \ No newline at end of file diff --git a/Encrytion-Techniques/IDEA/key&plaintext.png b/Encrytion-Techniques/IDEA/key&plaintext.png new file mode 100755 index 0000000000000000000000000000000000000000..72fc1494ab70bca5a7d80a5b90bea666b22c15a9 GIT binary patch literal 4674 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 literal 0 HcmV?d00001 diff --git a/Encrytion-Techniques/IDEA/plaintext b/Encrytion-Techniques/IDEA/plaintext new file mode 100755 index 0000000..060c39e --- /dev/null +++ b/Encrytion-Techniques/IDEA/plaintext @@ -0,0 +1 @@ +1001110010101100 \ No newline at end of file diff --git a/Encrytion-Techniques/IDEA/s_idea.py b/Encrytion-Techniques/IDEA/s_idea.py new file mode 100755 index 0000000..ad80d29 --- /dev/null +++ b/Encrytion-Techniques/IDEA/s_idea.py @@ -0,0 +1,153 @@ +#!/usr/bin/env python + +# +# Copyright (c) 2017 by Aditya Malu adityamalu1@gmail.com. All Rights Reserved. +# + +import sys + +bin_to_int = {'0000':0, '0001':1, '0010':2, '0011':3, '0100':4, '0101':5, '0110':6 , '0111':7, '1000':8, '1001':9, '1010':10, '1011':11, + '1100':12, '1101':13, '1110':14, '1111':15 } +int_to_bin = {0:'0000', 1:'0001', 2:'0010', 3:'0011', 4:'0100', 5:'0101', 6:'0110' , 7:'0111', 8:'1000', 9:'1001', 10:'1010', 11:'1011', + 12:'1100', 13:'1101', 14:'1110', 15:'1111' } +add_inv = {'0000':'0000', '0001':'1111', '0010':'1110', '0011':'1101', '0100':'1100', '0101':'1011', '0110':'1010' , '0111':'1001', + '1000':'1000', '1001':'0111', '1010':'0110', '1011':'0101', '1100':'0100', '1101':'0011', '1110':'0010', '1111':'0001' } +mul_inv = {'0000':'0000', '0001':'0001', '0010':'1001', '0011':'0110', '0100':'1101', '0101':'0111', '0110':'0011' , '0111':'0101', + '1000':'1111', '1001':'0010', '1010':'1100', '1011':'1110', '1100':'1010', '1101':'0100', '1110':'1011', '1111':'1000' } + +def mul_mod_17(a1, a2): + '''The 16 nibbles are thought of as 0001, ..., 1111, 0000, which represent 1,..., 15, 16, for multiplication modulo 17. + Notice that 0000, which is 16, is congruent to -1 modulo 17. 0000 is its own inverse under multiplication modulo 17''' + if a1 == 0: + a1 = 16 + a3 = (a1 * a2) % 17 + if a3 == 16: + a3 = 0 + return a3 + +def readfile(filename): + try: + fp = open(filename, "r") + content = fp.read() + return content + except IOError: + print "Error opening file:", filename + sys.exit(1) + +def generate_encryption_keys(key): + key_format = [] + last_round = [] + shift_key_1 = key[6:] + key[:6] + shift_key_2 = shift_key_1[6:] + shift_key_1[:6] + shift_key_3 = shift_key_2[6:] + shift_key_2[:6] + long_key = key + shift_key_1 + shift_key_2 + shift_key_3[:16] + for i in range(4): + round_i = [] + for j in range(6): + round_i.append(long_key[:4]) + long_key = long_key[4:] + key_format.append(round_i) + for k in range(4): + last_round.append(long_key[:4]) + long_key = long_key[4:] + key_format.append(last_round) + return key_format + +def generate_decryption_keys(key): + ''' Bad function. Bad coding. Hard Coded.''' + en_keys = generate_encryption_keys(key) + de_keys, round_1, round_2, round_3, round_4, round_5 = [], [], [], [], [], [] + round_1.append(mul_inv[en_keys[4][0]]) + round_1.append(add_inv[en_keys[4][1]]) + round_1.append(add_inv[en_keys[4][2]]) + round_1.append(mul_inv[en_keys[4][3]]) + round_1.append(en_keys[3][4]) + round_1.append(en_keys[3][5]) + de_keys.append(round_1) + round_2.append(mul_inv[en_keys[3][0]]) + round_2.append(add_inv[en_keys[3][1]]) + round_2.append(add_inv[en_keys[3][2]]) + round_2.append(mul_inv[en_keys[3][3]]) + round_2.append(en_keys[2][4]) + round_2.append(en_keys[2][5]) + de_keys.append(round_2) + round_3.append(mul_inv[en_keys[2][0]]) + round_3.append(add_inv[en_keys[2][1]]) + round_3.append(add_inv[en_keys[2][2]]) + round_3.append(mul_inv[en_keys[2][3]]) + round_3.append(en_keys[1][4]) + round_3.append(en_keys[1][5]) + de_keys.append(round_3) + round_4.append(mul_inv[en_keys[1][0]]) + round_4.append(add_inv[en_keys[1][1]]) + round_4.append(add_inv[en_keys[1][2]]) + round_4.append(mul_inv[en_keys[1][3]]) + round_4.append(en_keys[0][4]) + round_4.append(en_keys[0][5]) + de_keys.append(round_4) + round_5.append(mul_inv[en_keys[0][0]]) + round_5.append(add_inv[en_keys[0][1]]) + round_5.append(add_inv[en_keys[0][2]]) + round_5.append(mul_inv[en_keys[0][3]]) + de_keys.append(round_5) + return de_keys + +def do_operations(s, round_i): + k1, k2, k3, k4, k5, k6 = bin_to_int[round_i[0]], bin_to_int[round_i[1]], bin_to_int[round_i[2]], bin_to_int[round_i[3]], bin_to_int[round_i[4]], bin_to_int[round_i[5]] + s1, s2, s3, s4 = bin_to_int[s[0]], bin_to_int[s[1]], bin_to_int[s[2]], bin_to_int[s[3]] + a1 = mul_mod_17(s1, k1) + a2 = (s2 + k2) % 16 + a3 = (s3 + k3) % 16 + a4 = mul_mod_17(s4, k4) + a5 = a1 ^ a3 + a6 = a2 ^ a4 + a7 = mul_mod_17(a5, k5) + a8 = (a6 + a7) % 16 + a9 = mul_mod_17(a8, k6) + a10 = (a7 + a9) % 16 + a11 = a1 ^ a9 + a12 = a3 ^ a9 + a13 = a2 ^ a10 + a14 = a4 ^ a10 + s1, s2, s3, s4 = int_to_bin[a11], int_to_bin[a13], int_to_bin[a12], int_to_bin[a14] + return [s1] + [s2] + [s3] + [s4] + +def do_last_round(s, last_round): + k1, k2, k3, k4 = bin_to_int[last_round[0]], bin_to_int[last_round[1]], bin_to_int[last_round[2]], bin_to_int[last_round[3]] + s1, s2, s3, s4 = bin_to_int[s[0]], bin_to_int[s[1]], bin_to_int[s[2]], bin_to_int[s[3]] + v1 = mul_mod_17(s1, k1) + v2 = (s2 + k2) % 16 + v3 = (s3 + k3) % 16 + v4 = mul_mod_17(s4, k4) + return int_to_bin[v1] + int_to_bin[v2] + int_to_bin[v3] + int_to_bin[v4] + +def encrypt_decrypt(text, keys): + s1, s2, s3, s4 = text[:4], text[4:8], text[8:12], text[12:16] + s = [s1] + [s2] + [s3] + [s4] + for r in range(len(keys)-1): + s = do_operations(s, keys[r]) + last_round = keys[len(keys)-1] + ctext = do_last_round(s, last_round) + return ctext + +def main(): + print '-'*40 + case = int(raw_input("Option 1 to encrypt\nOption 2 to decrypt \nEnter option : ")) + ## Encrypt case + if case == 1: + key = readfile(raw_input("Enter key file: ")) + keys = generate_encryption_keys(key) + plaintext = readfile(raw_input("Enter plaintext file: ")) + encrypted = encrypt_decrypt(plaintext, keys) + print "Encrypted: ", encrypted + ## Decrypt case + if case == 2: + key = readfile(raw_input("Enter key file: ")) + de_keys = generate_decryption_keys(key) + ciphertext = readfile(raw_input("Enter ciphertext file: ")) + detext = encrypt_decrypt(ciphertext, de_keys) + print "Decrypted: ", detext + print '-'*40 + +if __name__ == '__main__': + main() diff --git a/Encrytion-Techniques/README.md b/Encrytion-Techniques/README.md new file mode 100755 index 0000000..b8b842f --- /dev/null +++ b/Encrytion-Techniques/README.md @@ -0,0 +1,17 @@ +### Encryption Techniques +* [Caesar Cipher](https://en.wikipedia.org/wiki/Caesar_cipher) + * [Code](Caesar-Cipher/) +* [Hill Cipher](https://en.wikipedia.org/wiki/Hill_cipher) + * [Code](Hill-Cipher/) +* [Transposition Cipher](https://en.wikipedia.org/wiki/Transposition_cipher) + * [Code](Transposition-Cipher/) +* [Data Encryption Standard (DES)](https://en.wikipedia.org/wiki/Data_Encryption_Standard) + * This is an implementation of [Simplified DES](https://www.cs.uri.edu/cryptography/dessimplified.htm). + * [Code](DES/) +* [Advanced Encryption Standard (AES)](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard) + * [Code](AES/) +* [International Data Encryption Algorithm (IDEA)](https://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm) + * This is an implementation of [Simplified IDEA](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.501.2662&rep=rep1&type=pdf). + * [Code](IDEA/) +* [RSA (cryptosystem)](https://en.wikipedia.org/wiki/RSA_(cryptosystem)) + * [Code](RSA/) \ No newline at end of file diff --git a/Encrytion-Techniques/RSA/demo.png b/Encrytion-Techniques/RSA/demo.png new file mode 100755 index 0000000000000000000000000000000000000000..24c9e3d029a205b08e0e25c11fe67009e9e4df41 GIT binary patch literal 57047 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 F{2vCA4^RLA literal 0 HcmV?d00001 diff --git a/Encrytion-Techniques/RSA/rsa.py b/Encrytion-Techniques/RSA/rsa.py new file mode 100755 index 0000000..4b9cb55 --- /dev/null +++ b/Encrytion-Techniques/RSA/rsa.py @@ -0,0 +1,114 @@ +#!/usr/bin/env python +# +# Copyright (c) 2017 by Aditya Malu adityamalu1@gmail.com. All Rights Reserved. +# + +## Sample Program to show the working of RSA cryptosystem ## + +from random import * +import json +import sys + +max_of_p_q = 10000 + +def is_prime(num): + """Returns True if the number is prime + else False.""" + if num == 0 or num == 1: + return False + for x in range(2, num//2): + if num % x == 0: + return False + else: + return True + +def gcd(a, b): + """Calculate the Greatest Common Divisor of a and b. + Unless b==0, the result will have the same sign as b (so that when + b is divided by it, the result comes out positive). + """ + while b: + a, b = b, a%b + return a + +def lcm(a, b): + return (a*b) / gcd(a, b) + +def is_coprime(a, b): + if gcd(a, b) == 1: + return True + else: + return False + +def mod_mul_inv(a, num): + ''' This is a simple method. Extended Euclidean Algorithm is recommended for + modular multiplicative inverse''' + for i in xrange(num): + if (a*i)%num == 1: + return i + return 0 + +def generate_keys(): + p, q = 1, 1 + while(not is_prime(p)): + p = randint(1, max_of_p_q) + while(not is_prime(q) and p!=q): + q = randint(1, max_of_p_q) + n = p * q + lambda_n = lcm(p-1, q-1) + e = randint(1, lambda_n) + while(not is_coprime(e, lambda_n)): + e = randint(1, lambda_n) + d = mod_mul_inv(e, lambda_n) + public_key = (e, n) + private_key = (d, n) + return public_key, private_key + +def encrypt(public_key, m): + e = public_key[0] + n = public_key[1] + c = pow(m, e, n) + return c + +def decrypt(private_key, ciphertext): + d = private_key[0] + n = private_key[1] + plaintext = pow(ciphertext, d, n) + return plaintext + +def main(): + case = int(raw_input("1 to generate keys and save in file\n2 to encrypt\n3 to decrypt\n")) + if case == 1: + public_key, private_key = generate_keys() + print "Public Key (e, n) : ", public_key + print "Private Key (d, n) : ", private_key + pubkey = {} + pubkey["e"] = public_key[0] + pubkey["n"] = public_key[1] + with open("public_key.json", "w") as pubkeyfile: + json.dump(pubkey, pubkeyfile) + prikey = {} + prikey["d"] = private_key[0] + prikey["n"] = private_key[1] + with open("private_key.json", "w") as prikeyfile: + json.dump(prikey, prikeyfile) + elif case == 2: + m = int(raw_input("Enter message num: ")) + with open("public_key.json", "r") as pubkeyfile: + pubkey = json.load(pubkeyfile) + public_key = (pubkey["e"], pubkey["n"]) + ciphertext = encrypt(public_key, m) + print "Encrypted: ", ciphertext + elif case == 3: + ciphertext = int(raw_input("Enter Encrypted num: ")) + with open("private_key.json", "r") as prikeyfile: + prikey = json.load(prikeyfile) + private_key = (prikey["d"], prikey["n"]) + plaintext = decrypt(private_key, ciphertext) + print "Decrypted: ", plaintext + else: + print "Invalid option\n" + sys.exit(0) + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/Encrytion-Techniques/Transposition-Cipher/demo.png b/Encrytion-Techniques/Transposition-Cipher/demo.png new file mode 100644 index 0000000000000000000000000000000000000000..dc26adc8d34d5702a9dfb8040f9e250a5e4932f8 GIT binary patch literal 26170 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 literal 0 HcmV?d00001 diff --git a/Encrytion-Techniques/Transposition-Cipher/trans.py b/Encrytion-Techniques/Transposition-Cipher/trans.py new file mode 100755 index 0000000..70e7e24 --- /dev/null +++ b/Encrytion-Techniques/Transposition-Cipher/trans.py @@ -0,0 +1,98 @@ +#!/usr/bin/env python +import sys +alphabets = list('abcdefghijklmnopqrstuvwxyz.,!') +def col_wise(matrix,i): # access the matrix column wise + return [row[i] for row in matrix] + +def creat_key_num(key): # function to create key numbering + l1 = list(key) + l1.sort() + l = {} + for i in range(len(key)): + l[key[i]] = l1.index(key[i]) + return l + +def generate_matrix(content, rows, cols): #function to generate matrix of given text + matrix = [[0]]*rows #initializing a matrix with zeros + k = 0 + for i in range(rows): + row = [] + for j in range(cols): + if(k != len(content)): + row.append(content[k]) #alphabets.index(content[k]) + k+=1 + else: + row.append(" ") + matrix[i] = row + return matrix + +def encrypt(message, key): #encryption function + cipher = '' + cols = len(key) + rows = len(message) / cols + if(len(message) % cols != 0): + rows = rows+1 + matrix = generate_matrix(message,rows,cols) + key_num = creat_key_num(key) + for i in range(len(key)): + j = key_num[key[i]] + cipher += ''.join(col_wise(matrix,j)) + return cipher + +def decrypt(ciphertext, key): #decryption function + temp = {} + cipher = [] + dicipher = '' + cols = len(key) + rows = len(ciphertext) / cols + if(len(ciphertext) % cols != 0): + rows = rows+1 + matrix = generate_matrix(ciphertext,cols,rows) + for i in range(len(key)): + temp[key[i]] = matrix[i] + for i in sorted(temp): + cipher.append(temp[i]) + for i in range(rows): + dicipher += ''.join(col_wise(cipher,i)) + return dicipher + +def main(): + try: + case = int(raw_input("1 to encrypt plain_text\n2 to decrypt ciphertext\nEnter option : ")) + if(case == 1): + k = raw_input("Enter key: ") + if(len(k) == 0): + print("Enter key atleast of size 1...") + sys.exit(0) + + message = raw_input("Message[Plain Text]: ") + + print "Key numbering: ", + key_num = creat_key_num(k) + + for i in list(k): + print key_num[i], + print ' ' + encrypted_message = encrypt(message, k) + print "Encrypted Message :" + print encrypted_message + sys.exit(0) + if(case == 2): + k = raw_input("Enter key: ") + if(len(k) == 0): + print("Enter key atleast of size 1...") + sys.exit(0) + encrypted_message = raw_input("Ciphertext: ") + plain_text = decrypt(encrypted_message, k) + print "Decrypted Message :" + print plain_text + sys.exit(0) + else: + print "Wrong option" + sys.exit(0) + except KeyboardInterrupt: + print "\nClosing the program..." + sys.exit(0) + +if __name__ == '__main__': + main() From 4511c0d97acbffe5f77dfe42a78d9a4a046ff149 Mon Sep 17 00:00:00 2001 From: aditya1904 Date: Sun, 29 Oct 2017 22:55:48 +0530 Subject: [PATCH 2/5] update Readme --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index d2d9839..ab17fd2 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,7 @@ New to Python? Take a look [here](https://github.com/prateekiiest/Code-Sleep-Pyt * [Whisky Classification](https://github.com/prateekiiest/Code-Sleep-Python#whisky-classification) * [Bird Migration](https://github.com/prateekiiest/Code-Sleep-Python#whisky-classification) * [Social Network Analysis](https://github.com/prateekiiest/Code-Sleep-Python#whisky-classification) +* [Encryption-Techniques](#Encryption-Techniques) ---------------------------------- @@ -100,6 +101,13 @@ Homophily is a network characteristic. Homophily occurs when nodes that share an ---------------------------------------------------- +### Encryption-Techniques + +Encryption is an interesting piece of technology that works by scrambling data so it is unreadable by unintended parties. The technology comes in many forms, with key size and strength generally being the biggest differences in one variety from the next. This repo has implementations of different encryption techniques. More [here](https://en.wikipedia.org/wiki/Encryption). + +**[CODE](Encryption-Techniques/)** + +---------------------------------------------------- ## Getting started with Python New to Python? No problem! Take a look at the following resources: From bd64fad0950754a496eafc74b2744ba8f386ff30 Mon Sep 17 00:00:00 2001 From: aditya1904 Date: Sun, 29 Oct 2017 22:58:23 +0530 Subject: [PATCH 3/5] folder name corrected --- .../AES/AES256.py | 0 .../AES/README | 0 .../AES/demo.png | Bin .../AES/main.py | 0 .../AES/readfiles.py | 0 .../AES/tables.py | 0 .../AES/testBlock | 0 .../AES/testKey | 0 .../Caesar-Cipher/caesar.py | 0 .../Caesar-Cipher/cipher.input | 0 .../Caesar-Cipher/decrypt.output | 0 .../Caesar-Cipher/demo.png | Bin .../Caesar-Cipher/plain.input | 0 .../DES/SDES.pdf | Bin .../DES/demo.png | Bin .../DES/sdes.py | 0 .../Hill-Cipher/demo.png | Bin .../Hill-Cipher/hill.py | 0 .../IDEA/demo.png | Bin .../IDEA/key | 0 .../IDEA/key&plaintext.png | Bin .../IDEA/plaintext | 0 .../IDEA/s_idea.py | 0 .../README.md | 0 .../RSA/demo.png | Bin .../RSA/rsa.py | 0 .../Transposition-Cipher/demo.png | Bin .../Transposition-Cipher/trans.py | 0 28 files changed, 0 insertions(+), 0 deletions(-) rename {Encrytion-Techniques => Encryption-Techniques}/AES/AES256.py (100%) rename {Encrytion-Techniques => Encryption-Techniques}/AES/README (100%) rename {Encrytion-Techniques => Encryption-Techniques}/AES/demo.png (100%) rename {Encrytion-Techniques => Encryption-Techniques}/AES/main.py (100%) rename {Encrytion-Techniques => Encryption-Techniques}/AES/readfiles.py (100%) rename {Encrytion-Techniques => Encryption-Techniques}/AES/tables.py (100%) rename {Encrytion-Techniques => Encryption-Techniques}/AES/testBlock (100%) rename {Encrytion-Techniques => Encryption-Techniques}/AES/testKey (100%) rename {Encrytion-Techniques => Encryption-Techniques}/Caesar-Cipher/caesar.py (100%) rename {Encrytion-Techniques => Encryption-Techniques}/Caesar-Cipher/cipher.input (100%) rename {Encrytion-Techniques => Encryption-Techniques}/Caesar-Cipher/decrypt.output (100%) rename {Encrytion-Techniques => Encryption-Techniques}/Caesar-Cipher/demo.png (100%) rename {Encrytion-Techniques => Encryption-Techniques}/Caesar-Cipher/plain.input (100%) rename {Encrytion-Techniques => Encryption-Techniques}/DES/SDES.pdf (100%) rename {Encrytion-Techniques => Encryption-Techniques}/DES/demo.png (100%) rename {Encrytion-Techniques => Encryption-Techniques}/DES/sdes.py (100%) rename {Encrytion-Techniques => Encryption-Techniques}/Hill-Cipher/demo.png (100%) rename {Encrytion-Techniques => Encryption-Techniques}/Hill-Cipher/hill.py (100%) rename {Encrytion-Techniques => Encryption-Techniques}/IDEA/demo.png (100%) rename {Encrytion-Techniques => Encryption-Techniques}/IDEA/key (100%) rename {Encrytion-Techniques => Encryption-Techniques}/IDEA/key&plaintext.png (100%) rename {Encrytion-Techniques => Encryption-Techniques}/IDEA/plaintext (100%) rename {Encrytion-Techniques => Encryption-Techniques}/IDEA/s_idea.py (100%) rename {Encrytion-Techniques => Encryption-Techniques}/README.md (100%) rename {Encrytion-Techniques => Encryption-Techniques}/RSA/demo.png (100%) rename {Encrytion-Techniques => Encryption-Techniques}/RSA/rsa.py (100%) rename {Encrytion-Techniques => Encryption-Techniques}/Transposition-Cipher/demo.png (100%) rename {Encrytion-Techniques => Encryption-Techniques}/Transposition-Cipher/trans.py (100%) diff --git a/Encrytion-Techniques/AES/AES256.py b/Encryption-Techniques/AES/AES256.py similarity index 100% rename from Encrytion-Techniques/AES/AES256.py rename to Encryption-Techniques/AES/AES256.py diff --git a/Encrytion-Techniques/AES/README b/Encryption-Techniques/AES/README similarity index 100% rename from Encrytion-Techniques/AES/README rename to Encryption-Techniques/AES/README diff --git a/Encrytion-Techniques/AES/demo.png b/Encryption-Techniques/AES/demo.png similarity index 100% rename from Encrytion-Techniques/AES/demo.png rename to Encryption-Techniques/AES/demo.png diff --git a/Encrytion-Techniques/AES/main.py b/Encryption-Techniques/AES/main.py similarity index 100% rename from Encrytion-Techniques/AES/main.py rename to Encryption-Techniques/AES/main.py diff --git a/Encrytion-Techniques/AES/readfiles.py b/Encryption-Techniques/AES/readfiles.py similarity index 100% rename from Encrytion-Techniques/AES/readfiles.py rename to Encryption-Techniques/AES/readfiles.py diff --git a/Encrytion-Techniques/AES/tables.py b/Encryption-Techniques/AES/tables.py similarity index 100% rename from Encrytion-Techniques/AES/tables.py rename to Encryption-Techniques/AES/tables.py diff --git a/Encrytion-Techniques/AES/testBlock b/Encryption-Techniques/AES/testBlock similarity index 100% rename from Encrytion-Techniques/AES/testBlock rename to Encryption-Techniques/AES/testBlock diff --git a/Encrytion-Techniques/AES/testKey b/Encryption-Techniques/AES/testKey similarity index 100% rename from Encrytion-Techniques/AES/testKey rename to Encryption-Techniques/AES/testKey diff --git a/Encrytion-Techniques/Caesar-Cipher/caesar.py b/Encryption-Techniques/Caesar-Cipher/caesar.py similarity index 100% rename from Encrytion-Techniques/Caesar-Cipher/caesar.py rename to Encryption-Techniques/Caesar-Cipher/caesar.py diff --git a/Encrytion-Techniques/Caesar-Cipher/cipher.input b/Encryption-Techniques/Caesar-Cipher/cipher.input similarity index 100% rename from Encrytion-Techniques/Caesar-Cipher/cipher.input rename to Encryption-Techniques/Caesar-Cipher/cipher.input diff --git a/Encrytion-Techniques/Caesar-Cipher/decrypt.output b/Encryption-Techniques/Caesar-Cipher/decrypt.output similarity index 100% rename from Encrytion-Techniques/Caesar-Cipher/decrypt.output rename to Encryption-Techniques/Caesar-Cipher/decrypt.output diff --git a/Encrytion-Techniques/Caesar-Cipher/demo.png b/Encryption-Techniques/Caesar-Cipher/demo.png similarity index 100% rename from Encrytion-Techniques/Caesar-Cipher/demo.png rename to Encryption-Techniques/Caesar-Cipher/demo.png diff --git a/Encrytion-Techniques/Caesar-Cipher/plain.input b/Encryption-Techniques/Caesar-Cipher/plain.input similarity index 100% rename from Encrytion-Techniques/Caesar-Cipher/plain.input rename to Encryption-Techniques/Caesar-Cipher/plain.input diff --git a/Encrytion-Techniques/DES/SDES.pdf b/Encryption-Techniques/DES/SDES.pdf similarity index 100% rename from Encrytion-Techniques/DES/SDES.pdf rename to Encryption-Techniques/DES/SDES.pdf diff --git a/Encrytion-Techniques/DES/demo.png b/Encryption-Techniques/DES/demo.png similarity index 100% rename from Encrytion-Techniques/DES/demo.png rename to Encryption-Techniques/DES/demo.png diff --git a/Encrytion-Techniques/DES/sdes.py b/Encryption-Techniques/DES/sdes.py similarity index 100% rename from Encrytion-Techniques/DES/sdes.py rename to Encryption-Techniques/DES/sdes.py diff --git a/Encrytion-Techniques/Hill-Cipher/demo.png b/Encryption-Techniques/Hill-Cipher/demo.png similarity index 100% rename from Encrytion-Techniques/Hill-Cipher/demo.png rename to Encryption-Techniques/Hill-Cipher/demo.png diff --git a/Encrytion-Techniques/Hill-Cipher/hill.py b/Encryption-Techniques/Hill-Cipher/hill.py similarity index 100% rename from Encrytion-Techniques/Hill-Cipher/hill.py rename to Encryption-Techniques/Hill-Cipher/hill.py diff --git a/Encrytion-Techniques/IDEA/demo.png b/Encryption-Techniques/IDEA/demo.png similarity index 100% rename from Encrytion-Techniques/IDEA/demo.png rename to Encryption-Techniques/IDEA/demo.png diff --git a/Encrytion-Techniques/IDEA/key b/Encryption-Techniques/IDEA/key similarity index 100% rename from Encrytion-Techniques/IDEA/key rename to Encryption-Techniques/IDEA/key diff --git a/Encrytion-Techniques/IDEA/key&plaintext.png b/Encryption-Techniques/IDEA/key&plaintext.png similarity index 100% rename from Encrytion-Techniques/IDEA/key&plaintext.png rename to Encryption-Techniques/IDEA/key&plaintext.png diff --git a/Encrytion-Techniques/IDEA/plaintext b/Encryption-Techniques/IDEA/plaintext similarity index 100% rename from Encrytion-Techniques/IDEA/plaintext rename to Encryption-Techniques/IDEA/plaintext diff --git a/Encrytion-Techniques/IDEA/s_idea.py b/Encryption-Techniques/IDEA/s_idea.py similarity index 100% rename from Encrytion-Techniques/IDEA/s_idea.py rename to Encryption-Techniques/IDEA/s_idea.py diff --git a/Encrytion-Techniques/README.md b/Encryption-Techniques/README.md similarity index 100% rename from Encrytion-Techniques/README.md rename to Encryption-Techniques/README.md diff --git a/Encrytion-Techniques/RSA/demo.png b/Encryption-Techniques/RSA/demo.png similarity index 100% rename from Encrytion-Techniques/RSA/demo.png rename to Encryption-Techniques/RSA/demo.png diff --git a/Encrytion-Techniques/RSA/rsa.py b/Encryption-Techniques/RSA/rsa.py similarity index 100% rename from Encrytion-Techniques/RSA/rsa.py rename to Encryption-Techniques/RSA/rsa.py diff --git a/Encrytion-Techniques/Transposition-Cipher/demo.png b/Encryption-Techniques/Transposition-Cipher/demo.png similarity index 100% rename from Encrytion-Techniques/Transposition-Cipher/demo.png rename to Encryption-Techniques/Transposition-Cipher/demo.png diff --git a/Encrytion-Techniques/Transposition-Cipher/trans.py b/Encryption-Techniques/Transposition-Cipher/trans.py similarity index 100% rename from Encrytion-Techniques/Transposition-Cipher/trans.py rename to Encryption-Techniques/Transposition-Cipher/trans.py From 6f7d2e4dbddcaeb6fc7ef2ced0c3265c13d9bdb1 Mon Sep 17 00:00:00 2001 From: aditya1904 Date: Sun, 29 Oct 2017 23:17:54 +0530 Subject: [PATCH 4/5] update readme --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index e64051d..2d57d34 100644 --- a/README.md +++ b/README.md @@ -21,11 +21,16 @@ New to Python? Take a look [here](https://github.com/prateekiiest/Code-Sleep-Pyt * [Translations of Hamlet](https://github.com/prateekiiest/Code-Sleep-Python#translations-of-hamlet) * [Classification](https://github.com/prateekiiest/Code-Sleep-Python#classification) * [Whisky Classification](https://github.com/prateekiiest/Code-Sleep-Python#whisky-classification) +<<<<<<< HEAD +* [Bird Migration](https://github.com/prateekiiest/Code-Sleep-Python#whisky-classification) +* [Social Network Analysis](https://github.com/prateekiiest/Code-Sleep-Python#whisky-classification) +======= * [Bird Migration](https://github.com/prateekiiest/Code-Sleep-Python#Bird_mirgation) * [Social Network Analysis](https://github.com/prateekiiest/Code-Sleep-Python#social_network) * [Prime](https://github.com/prateekiiest/Code-Sleep-Python#Prime) * [Website status check](https://github.com/prateekiiest/Code-Sleep-Python#website_status_check) * [Encryption-Techniques](#Encryption-Techniques) +>>>>>>> ece519a1ca496abf3b3fa74ba0a60104b6cf9c6a ---------------------------------- @@ -99,6 +104,8 @@ Homophily is a network characteristic. Homophily occurs when nodes that share an ---------------------------------------------------- +<<<<<<< HEAD +======= ### Prime number finder The implementation of Sieve of Eratosthenes is used to find prime numbers. @@ -129,6 +136,7 @@ Encryption is an interesting piece of technology that works by scrambling data s ---------------------------------------------------- ======= +>>>>>>> ece519a1ca496abf3b3fa74ba0a60104b6cf9c6a ## Getting started with Python New to Python? No problem! Take a look at the following resources: From d7392ea7e8308e50ccd9ee7e57a7b0353e275011 Mon Sep 17 00:00:00 2001 From: Prateek Chanda Date: Mon, 30 Oct 2017 07:44:48 +0530 Subject: [PATCH 5/5] Update README.md --- README.md | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 2d57d34..5874522 100644 --- a/README.md +++ b/README.md @@ -21,16 +21,13 @@ New to Python? Take a look [here](https://github.com/prateekiiest/Code-Sleep-Pyt * [Translations of Hamlet](https://github.com/prateekiiest/Code-Sleep-Python#translations-of-hamlet) * [Classification](https://github.com/prateekiiest/Code-Sleep-Python#classification) * [Whisky Classification](https://github.com/prateekiiest/Code-Sleep-Python#whisky-classification) -<<<<<<< HEAD * [Bird Migration](https://github.com/prateekiiest/Code-Sleep-Python#whisky-classification) * [Social Network Analysis](https://github.com/prateekiiest/Code-Sleep-Python#whisky-classification) -======= * [Bird Migration](https://github.com/prateekiiest/Code-Sleep-Python#Bird_mirgation) * [Social Network Analysis](https://github.com/prateekiiest/Code-Sleep-Python#social_network) * [Prime](https://github.com/prateekiiest/Code-Sleep-Python#Prime) * [Website status check](https://github.com/prateekiiest/Code-Sleep-Python#website_status_check) * [Encryption-Techniques](#Encryption-Techniques) ->>>>>>> ece519a1ca496abf3b3fa74ba0a60104b6cf9c6a ---------------------------------- @@ -104,8 +101,7 @@ Homophily is a network characteristic. Homophily occurs when nodes that share an ---------------------------------------------------- -<<<<<<< HEAD -======= + ### Prime number finder The implementation of Sieve of Eratosthenes is used to find prime numbers. @@ -134,9 +130,9 @@ Encryption is an interesting piece of technology that works by scrambling data s **[CODE](Encrytion-Techniques/)** ---------------------------------------------------- -======= ->>>>>>> ece519a1ca496abf3b3fa74ba0a60104b6cf9c6a + + ## Getting started with Python New to Python? No problem! Take a look at the following resources: