From 3d5f6b5210e43166f0d233495269c0072faca66c Mon Sep 17 00:00:00 2001 From: namtranvn <33787604+namtranvn@users.noreply.github.com> Date: Wed, 25 Jul 2018 23:32:56 +0900 Subject: [PATCH 01/18] Delete SHA1 --- SHA1 | 1 - 1 file changed, 1 deletion(-) delete mode 100644 SHA1 diff --git a/SHA1 b/SHA1 deleted file mode 100644 index 8b13789..0000000 --- a/SHA1 +++ /dev/null @@ -1 +0,0 @@ - From 14985653cdbb5ef34a168d7bde1fea599d2e02c1 Mon Sep 17 00:00:00 2001 From: namtranvn <33787604+namtranvn@users.noreply.github.com> Date: Wed, 25 Jul 2018 23:38:21 +0900 Subject: [PATCH 02/18] Create SHA1.txt --- SHA1/SHA1.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 SHA1/SHA1.txt diff --git a/SHA1/SHA1.txt b/SHA1/SHA1.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/SHA1/SHA1.txt @@ -0,0 +1 @@ + From 1d18f47c0dcf4ac02eadb6b0a29c0321c195d96b Mon Sep 17 00:00:00 2001 From: namtranvn <33787604+namtranvn@users.noreply.github.com> Date: Wed, 25 Jul 2018 23:38:56 +0900 Subject: [PATCH 03/18] Add files via upload --- SHA1/SHA-1-1.pdf | Bin 0 -> 578092 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 SHA1/SHA-1-1.pdf diff --git a/SHA1/SHA-1-1.pdf b/SHA1/SHA-1-1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ebed75d48d0454301e252eed1221bc32dd3e7502 GIT binary patch literal 578092 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ꪑ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 z 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Π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 z Date: Thu, 26 Jul 2018 08:32:44 +0700 Subject: [PATCH 04/18] update code des --- 3DES/DES/conversion.py | 190 ----------------------------------- 3DES/DES/destable.py | 121 +++++++++++++--------- 3DES/DES/huanlv_code_3DES.py | 159 +++++++++++++++++++++++++++++ 3DES/DES/main.py | 8 -- 3DES/DES/test.py | 8 ++ 5 files changed, 238 insertions(+), 248 deletions(-) delete mode 100644 3DES/DES/conversion.py create mode 100644 3DES/DES/huanlv_code_3DES.py delete mode 100644 3DES/DES/main.py create mode 100644 3DES/DES/test.py diff --git a/3DES/DES/conversion.py b/3DES/DES/conversion.py deleted file mode 100644 index 6e8fb55..0000000 --- a/3DES/DES/conversion.py +++ /dev/null @@ -1,190 +0,0 @@ -from destable import * - -def textToHex(text): - return (text.encode("UTF-8")).hex() -def hexToText(hexText): - return (bytes.fromhex(hexText)).decode("UTF-8") -def binToHex(text): - lookup = {"0000" : "0", "0001" : "1", "0010" : "2", "0011" : "3", "0100" : "4", "0101" : "5", "0110" : "6", "0111" : "7", "1000" : "8", "1001" : "9", "1010" : "a", "1011" : "b", "1100" : "c", "1101":"d" , "1110":"e" , "1111":"f"} - result = "" - for i in range(0,len(text),4): - result += lookup[text[i]+text[i+1]+text[i+2]+text[i+3]] - return result -def hexToBin(text): - lookup = {"0" : "0000", "1" : "0001", "2" : "0010", "3" : "0011", "4" : "0100", "5" : "0101", "6" : "0110", "7" : "0111", "8" : "1000", "9" : "1001", "a" : "1010", "b" : "1011", "c" : "1100", "d" : "1101", "e" : "1110", "f" : "1111"} - result = "" - for byte in text: - result = result + lookup[byte] - return result -def dec16ToBin(dec): - result = bin(dec)[2:] - if len(result) < 4 : - result = "0"*(4-len(result))+result - return result -def toPermute(text,pc): - result = "" - for i in range(len(pc)): - j = pc[i] - 1 - result += text[j] - return result -def cat2(text): - result = [] - result.append(text[:int(len(text)/2)]) - result.append(text[int(len(text)/2):]) - return result -def cat8(text): - result = [] - l = int(len(text)/8) - for i in range(8): - result.append(text[i*l:(i+1)*l]) - return result -def xor(binA,binB): - result = ''.join('0' if i == j else '1' for i, j in zip(binA,binB)) - return result -def toLeft(text,bit): - s1 = text[:bit] - s2 = text[bit:] - return s2 + s1 -def toRight(text,bit): - s1 = text[:len(text)-bit] - s2 = text[len(text)-bit:] - return s2 +s1 -def toArray2D(text): - l = int(len(text)/4) - result = [] - temp =[] - k = 0 - for i in range(4): - for j in range(l): - temp.append(text[k]) - k +=1 - result.append(temp) - temp = [] - return result -def binTo2Dec(text): - bae = text[0]+text[len(text)-1] - betw = text[1:len(text)-1] - baeDec = int(bae,2) - betwDec = int(betw,2) - result = [] - result.append(baeDec) - result.append(betwDec) - return result -def convertKeyToHex(key): - hexKey = textToHex(key) - l = len(hexKey) - if l >16 : - hexKey = hexKey[:16] - elif l<16: - temp = "0"*(16-l) - hexKey = hexKey+temp - return hexKey -def sBox(bit,num): - arr2D = [] - if(num==0): arr2D = toArray2D(s1) - if(num==1): arr2D = toArray2D(s2) - if(num==2): arr2D = toArray2D(s3) - if(num==3): arr2D = toArray2D(s4) - if(num==4): arr2D = toArray2D(s5) - if(num==5): arr2D = toArray2D(s6) - if(num==6): arr2D = toArray2D(s7) - if(num==7): arr2D = toArray2D(s8) - arrDec = binTo2Dec(bit) - row = arrDec[0] - column = arrDec[1] - - return dec16ToBin(arr2D[row][column]) -def F(R,K): - extR = toPermute(R,e) - xorRK = xor(extR,K) - catXorRK = cat8(xorRK) - strSbox = "" - for i in range(8): - B = catXorRK[i] - BS = sBox(B,i) - strSbox += BS - B = [] - BS = [] - return toPermute(strSbox,p) -def cat(text): - l = len(text) - nl = 16 - l%16 - text = text + "0"*nl - nBlock = int(len(text)/16) - result = [] - for i in range(nBlock): - block = text[i*16:(i+1)*16] - result.append(block) - return result -def createKeys(keyString): - C=[] - D=[] - CD=[] - K=[] - #kHex=[] - keyHex = convertKeyToHex(keyString) - keyBin = hexToBin(keyHex) - keyPc1 = toPermute(keyBin,pc1) - catKey = cat2(keyPc1) - C.append(catKey[0]) - D.append(catKey[1]) - - for i in range(1,17): - bit = 2 - if i in [1,2,9,16]: - bit = 1 - C.append(toLeft(C[i-1],bit)) - D.append(toRight(D[i-2],bit)) - CD.append(C[i]+D[i]) - K.append(toPermute(CD[i-1],pc2)) - #kHex.append(binToHex(K[i-1])) - - return K - -def encrypt(plaintext,key): - K = createKeys(key) - hexText = textToHex(plaintext) - nBlock = cat(hexText) - cBlock = len(nBlock) - ciphertext = "" - R=[] - L=[] - for i in range(cBlock): - x = nBlock[i] - xBin = hexToBin(x) - xIp = toPermute(xBin,ip) - catx = cat2(xIp) - L.append(catx[0]) - R.append(catx[1]) - for i in range(16): - L.append(R[i]) - f = F(R[i],K[i]) - R.append(xor(L[i],f)) - strRL = R[15]+L[15] - strOut = toPermute(strRL,ip_1) - ciphertext = binToHex(strOut) - return ciphertext - -"""def decrypt(ciphertext,key): - K = createKeys(key) - nBlock = cat(ciphertext) - cBlock = len(nBlock) - plaintext = "" - R=[] - L=[] - for i in range(cBlock): - x = nBlock[i] - xBin = hexToBin(x) - xIp = toPermute(xBin,ip) - catx = cat2(xIp) - L.append(catx[0]) - R.append(catx[1]) - for i in range(16): - L.append(R[i]) - f = F(R[i],K[15-i]) - R.append(xor(L[i],f)) - strRL = R[15]+L[15] - strOut = toPermute(strRL,ip_1) - plaintext = binToHex(strOut) - plaintext = hexToText(plaintext) - return plaintext""" \ No newline at end of file diff --git a/3DES/DES/destable.py b/3DES/DES/destable.py index 5ea60d1..d8edaf8 100644 --- a/3DES/DES/destable.py +++ b/3DES/DES/destable.py @@ -27,7 +27,7 @@ 61, 53, 45, 37, 29, 21, 13, 5, 63, 55, 47, 39, 31, 23, 15, 7 ) -ip_1 = ( +ip1 = ( 40, 8, 48, 16, 56, 24, 64, 32, 39, 7, 47, 15, 55, 23, 63, 31, 38, 6, 46, 14, 54, 22, 62, 30, @@ -47,57 +47,78 @@ 24, 25, 26, 27, 28, 29, 28, 29, 30, 31, 32, 1 ) -s1 = ( - 14, 4, 13, 1, 2, 15, 11, 8, 3, 10, 6, 12, 5, 9, 0, 7, - 0, 15, 7, 4, 14, 2, 13, 1, 10, 6, 12, 11, 9, 5, 3, 8, - 4, 1, 14, 8, 13, 6, 2, 11, 15, 12, 9, 7, 3, 10, 5, 0, - 15, 12, 8, 2, 4, 9, 1, 7, 5, 11, 3, 14, 10, 0, 6, 13 - ) -s2 = ( - 15, 1, 8, 14, 6, 11, 3, 4, 9, 7, 2, 13, 12, 0, 5, 10, - 3, 13, 4, 7, 15, 2, 8, 14, 12, 0, 1, 10, 6, 9, 11, 5, - 0, 14, 7, 11, 10, 4, 13, 1, 5, 8, 12, 6, 9, 3, 2, 15, - 13, 8, 10, 1, 3, 15, 4, 2, 11, 6, 7, 12, 0, 5, 14, 9 - ) -s3 = ( - 10, 0, 9, 14, 6, 3, 15, 5, 1, 13, 12, 7, 11, 4, 2, 8, - 13, 7, 0, 9, 3, 4, 6, 10, 2, 8, 5, 14, 12, 11, 15, 1, - 13, 6, 4, 9, 8, 15, 3, 0, 11, 1, 2, 12, 5, 10, 14, 7, - 1, 10, 13, 0, 6, 9, 8, 7, 4, 15, 14, 3, 11, 5, 2, 12 - ) -s4 = ( - 7, 13, 14, 3, 0, 6, 9, 10, 1, 2, 8, 5, 11, 12, 4, 15, - 13, 8, 11, 5, 6, 15, 0, 3, 4, 7, 2, 12, 1, 10, 14, 9, - 10, 6, 9, 0, 12, 11, 7, 13, 15, 1, 3, 14, 5, 2, 8, 4, - 3, 15, 0, 6, 10, 1, 13, 8, 9, 4, 5, 11, 12, 7, 2, 14 - ) -s5 = ( - 2, 12, 4, 1, 7, 10, 11, 6, 8, 5, 3, 15, 13, 0, 14, 9, - 14, 11, 2, 12, 4, 7, 13, 1, 5, 0, 15, 10, 3, 9, 8, 6, - 4, 2, 1, 11, 10, 13, 7, 8, 15, 9, 12, 5, 6, 3, 0, 14, - 11, 8, 12, 7, 1, 14, 2, 13, 6, 15, 0, 9, 10, 4, 5, 3 - ) -s6 = ( - 12, 1, 10, 15, 9, 2, 6, 8, 0, 13, 3, 4, 14, 7, 5, 11, - 10, 15, 4, 2, 7, 12, 9, 5, 6, 1, 13, 14, 0, 11, 3, 8, - 9, 14, 15, 5, 2, 8, 12, 3, 7, 0, 4, 10, 1, 13, 11, 6, - 4, 3, 2, 12, 9, 5, 15, 10, 11, 14, 1, 7, 6, 0, 8, 13 - ) -s7 = ( - 4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1, - 13, 0, 11, 7, 4, 9, 1, 10, 14, 3, 5, 12, 2, 15, 8, 6, - 1, 4, 11, 13, 12, 3, 7, 14, 10, 15, 6, 8, 0, 5, 9, 2, - 6, 11, 13, 8, 1, 4, 10, 7, 9, 5, 0, 15, 14, 2, 3, 12 - ) -s8 = ( - 13, 2, 8, 4, 6, 15, 11, 1, 10, 9, 3, 14, 5, 0, 12, 7, - 1, 15, 13, 8, 10, 3, 7, 4, 12, 5, 6, 11, 0, 14, 9, 2, - 7, 11, 4, 1, 9, 12, 14, 2, 0, 6, 10, 13, 15, 3, 5, 8, - 2, 1, 14, 7, 4, 10, 8, 13, 15, 12, 9, 0, 3, 5, 6, 11 - ) +box = [ +# Box-1 +[ +[14,4,13,1,2,15,11,8,3,10,6,12,5,9,0,7], +[0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8], +[4,1,14,8,13,6,2,11,15,12,9,7,3,10,5,0], +[15,12,8,2,4,9,1,7,5,11,3,14,10,0,6,13] +], +# Box-2 + +[ +[15,1,8,14,6,11,3,4,9,7,2,13,12,0,5,10], +[3,13,4,7,15,2,8,14,12,0,1,10,6,9,11,5], +[0,14,7,11,10,4,13,1,5,8,12,6,9,3,2,15], +[13,8,10,1,3,15,4,2,11,6,7,12,0,5,14,9] +], + +# Box-3 + +[ +[10,0,9,14,6,3,15,5,1,13,12,7,11,4,2,8], +[13,7,0,9,3,4,6,10,2,8,5,14,12,11,15,1], +[13,6,4,9,8,15,3,0,11,1,2,12,5,10,14,7], +[1,10,13,0,6,9,8,7,4,15,14,3,11,5,2,12] + +], + +# Box-4 +[ +[7,13,14,3,0,6,9,10,1,2,8,5,11,12,4,15], +[13,8,11,5,6,15,0,3,4,7,2,12,1,10,14,9], +[10,6,9,0,12,11,7,13,15,1,3,14,5,2,8,4], +[3,15,0,6,10,1,13,8,9,4,5,11,12,7,2,14] +], + +# Box-5 +[ +[2,12,4,1,7,10,11,6,8,5,3,15,13,0,14,9], +[14,11,2,12,4,7,13,1,5,0,15,10,3,9,8,6], +[4,2,1,11,10,13,7,8,15,9,12,5,6,3,0,14], +[11,8,12,7,1,14,2,13,6,15,0,9,10,4,5,3] +], +# Box-6 + +[ +[12,1,10,15,9,2,6,8,0,13,3,4,14,7,5,11], +[10,15,4,2,7,12,9,5,6,1,13,14,0,11,3,8], +[9,14,15,5,2,8,12,3,7,0,4,10,1,13,11,6], +[4,3,2,12,9,5,15,10,11,14,1,7,6,0,8,13] + +], +# Box-7 +[ +[4,11,2,14,15,0,8,13,3,12,9,7,5,10,6,1], +[13,0,11,7,4,9,1,10,14,3,5,12,2,15,8,6], +[1,4,11,13,12,3,7,14,10,15,6,8,0,5,9,2], +[6,11,13,8,1,4,10,7,9,5,0,15,14,2,3,12] +], +# Box-8 + +[ +[13,2,8,4,6,15,11,1,10,9,3,14,5,0,12,7], +[1,15,13,8,10,3,7,4,12,5,6,11,0,14,9,2], +[7,11,4,1,9,12,14,2,0,6,10,13,15,3,5,8], +[2,1,14,7,4,10,8,13,15,12,9,0,3,5,6,11] +] + +] p = ( 16, 7, 20, 21, 29, 12, 28, 17, 1, 15, 23, 26, 5, 18, 31, 10, 2, 8, 24, 14, 32, 27, 3, 9, 19, 13, 30, 6, 22, 11, 4, 25 - ) \ No newline at end of file + ) +rk = (1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1) \ No newline at end of file diff --git a/3DES/DES/huanlv_code_3DES.py b/3DES/DES/huanlv_code_3DES.py new file mode 100644 index 0000000..da41c84 --- /dev/null +++ b/3DES/DES/huanlv_code_3DES.py @@ -0,0 +1,159 @@ +#This function take input are permutation table and key 64 bit and return key 56 bit +def applyPc1(pc1,key64bits): + key56bits = "" + for i in pc1: + key56bits += key64bits[i-1] + return key56bits +#This function will cut key 56 bits to 2 keys 28 bits +def cutHaftKey56bits(key56bits): + leftKey = key56bits[:28] + rightKey = key56bits[28:] + return leftKey,rightKey +#This function will shift left bit by number of bits +def leftShift(bits,numBits): + result = bits[numBits:]+bits[:numBits] + return result +#This function tacke input are key 56 bits and compression table and return key 48 bits +def applyPc2(pc2,key56bits): + key48bits = "" + for i in pc2: + key48bits += key56bits[i-1] + return key48bits +#This function will return 16 keys +def generateKeys(key64bits,rk,pc1,pc2): + roundKeys = [] + pc1Out = applyPc1(pc1,key64bits) + L0,R0 = cutHaftKey56bits(pc1Out) + for i in range(16): + newL = leftShift(L0,rk[i]) + newR = leftShift(R0,rk[i]) + roundKey = applyPc2(pc2,newL+newR) + roundKeys.append(roundKey) + return roundKeys +def XOR(bits1,bits2): + xorResult = "" + for i in range(len(bits1)): + if bits1[i] == bits2[i]: + xorResult += '0' + else: + xorResult += '1' + return xorResult +#This function take input string 32 bits and return string 48 bits +def applyExpansion(e,bits32): + bits48 = "" + for i in e: + bits48 += bits32[i-1] + return bits48 +#This function cut strign 48 bits to 6 bits +import textwrap +def cutTo6bits(str48bits): + result = textwrap.wrap(str48bits,6) + return result +#Some functions to support +def binToDec(bina): + decimal = int(bina,2) + return decimal +def decToBin(deci): + bin4bits = bin(deci)[2:].zfill(4) + return bin4bits +def getFirstLastBit(bits6): + return bits6[0]+bits6[-1] +def getMiddleBit(bits6): + return bits6[1:5] +def boxLookup(box,boxCount,firstLast,middle): + dFirstLast = binToDec(firstLast) + dMiddle = binToDec(middle) + + value = box[boxCount][dFirstLast][dMiddle] + return decToBin(value) +#This function will return string 32 bits +def applyP(p,s32bits): + result = "" + for i in p: + result += s32bits[i-1] + return result +#This is tha F function +def functionF(p,box,e,pre32bits,key48bits): + result = "" + expanded_left_half = applyExpansion(e,pre32bits) + xor_value = XOR(expanded_left_half,key48bits) + bits6list = cutTo6bits(xor_value) + for sboxcount, bits6 in enumerate(bits6list): + first_last = getFirstLastBit(bits6) + middle4 = getMiddleBit(bits6) + sboxvalue = boxLookup(box,sboxcount,first_last,middle4) + result += sboxvalue + final32bits = applyP(p,result) + return final32bits +def textToHex(text): + return (text.encode("UTF-8")).hex() +def hexToText(hexText): + return (bytes.fromhex(hexText)).decode("UTF-8") +#This function will convert hex to bin +def hexToBin(hexdigits): + bindigits = "" + for hexdigit in hexdigits: + bindigits += bin(int(hexdigit,16))[2:].zfill(4) + return bindigits +def binToHex(text): + lookup = {"0000" : "0", "0001" : "1", "0010" : "2", "0011" : "3", "0100" : "4", "0101" : "5", "0110" : "6", "0111" : "7", "1000" : "8", "1001" : "9", "1010" : "a", "1011" : "b", "1100" : "c", "1101":"d" , "1110":"e" , "1111":"f"} + result = "" + for i in range(0,len(text),4): + result += lookup[text[i]+text[i+1]+text[i+2]+text[i+3]] + return result +#Use initial permutation table +def applyIp(ip,plaintext): + permutated = "" + for i in ip: + permutated += plaintext[int(i)-1] + return permutated +def spliHalf(binarybits): + return binarybits[:32],binarybits[32:] +def applyIp1(ip1, text): + cipher = "" + for index in ip1: + cipher += text[int(index)-1] + return cipher +#encrypt by des +def encryptDes(message,key,ip,ip1,p,e,rk,pc1,pc2,box): + cipher = "" + # Convert hex digits to binary + plaintext_bits = hexToBin(message) + key_bits = hexToBin(key) + # Generate rounds key + roundkeys = generateKeys(key_bits,rk,pc1,pc2) + + ## initial permutation + p_plaintext = applyIp(ip,plaintext_bits) + ## split in tow half + L,R = spliHalf(p_plaintext) + ## start rounds + for round in range(16): + newR = XOR(L,functionF(p,box,e,R, roundkeys[round])) + newL = R + R = newR + L = newL + cipher = applyIp1(ip1, R+L) + cipher = binToHex(cipher) + return cipher +def decryptDes(message,key,ip,ip1,p,e,rk,pc1,pc2,box): + text = "" + # Convert hex digits to binary + cipher_bits = hexToBin(message) + key_bits = hexToBin(key) + # Generate rounds key + roundkeys = generateKeys(key_bits,rk,pc1,pc2) + + ## initial permutation + p_plaintext = applyIp(ip,cipher_bits) + ## split in tow half + L,R = spliHalf(p_plaintext) + ## start rounds + for round in range(16): + newR = XOR(L,functionF(p,box,e,R, roundkeys[15-round])) + newL = R + R = newR + L = newL + text = applyIp1(ip1, R+L) + text = binToHex(text) + return text \ No newline at end of file diff --git a/3DES/DES/main.py b/3DES/DES/main.py deleted file mode 100644 index 39322ee..0000000 --- a/3DES/DES/main.py +++ /dev/null @@ -1,8 +0,0 @@ -#import lib -from conversion import * -key = "hello" -text = "I love vietnam" - -#ciphertext = encrypt(text,key) -#plaintext = decrypt(ciphertext,key) -print(ciphertext) \ No newline at end of file diff --git a/3DES/DES/test.py b/3DES/DES/test.py new file mode 100644 index 0000000..070b1b2 --- /dev/null +++ b/3DES/DES/test.py @@ -0,0 +1,8 @@ +from destable import * +from huanlv_code_3DES import * +message = '0123456789ABCDEF' +key ='12345678ABCEDFF9' +ciphertext = encryptDes(message,key,ip,ip1,p,e,rk,pc1,pc2,box) +print(ciphertext) +text = decryptDes(ciphertext,key,ip,ip1,p,e,rk,pc1,pc2,box) +print(text) \ No newline at end of file From 4f57a75d012528fed3b4a261e386273fa4bc588b Mon Sep 17 00:00:00 2001 From: Lai Huan Date: Thu, 26 Jul 2018 08:35:02 +0700 Subject: [PATCH 05/18] update report --- huanlv_report.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/huanlv_report.txt b/huanlv_report.txt index c2edad9..2a19c6d 100644 --- a/huanlv_report.txt +++ b/huanlv_report.txt @@ -1,3 +1,4 @@ 23/07-Hoàn thành code mô phỏng thuật toán Caesar 24/07-Tìm hiểu thuật toán des và viết một số hàm cần thiết cho thuật toán des -25/07-Hoàn thiện các hàm cần thiết, viết hàm sinh keys thuật toán des \ No newline at end of file +25/07-Hoàn thiện các hàm cần thiết, viết hàm sinh keys thuật toán des +26/07-Hoàn thiệt hàm mã hóa và giải mã thuật toán des \ No newline at end of file From 3dccbd8a1244180508b43539747afc505d69eb95 Mon Sep 17 00:00:00 2001 From: pakitocode <41419066+pakitocode@users.noreply.github.com> Date: Thu, 26 Jul 2018 09:25:29 +0700 Subject: [PATCH 06/18] Add files via upload --- thachls_code_vigenere.py | 253 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 253 insertions(+) create mode 100644 thachls_code_vigenere.py diff --git a/thachls_code_vigenere.py b/thachls_code_vigenere.py new file mode 100644 index 0000000..1d7d41c --- /dev/null +++ b/thachls_code_vigenere.py @@ -0,0 +1,253 @@ +##################################################################### +# VIGENERE CIPHER +# Function of this program: + # Senders input their message and the key + # Program will encrypt their messages into Vigenere code and send to the receiver + # Senders provide the key to the receiver to decrypt the text has been sent by senders + + +import math +import numpy as np +x_value = { + "Z": 0, "A": 1, "B": 2, "C": 3, "D": 4, "E": 5, + "F": 6, "G": 7, "H": 8, "I": 9, "J": 10, "K": 11, + "L": 12, "M": 13, "N": 14, "O": 15, "P": 16, "Q": 17, + "R": 18, "S": 19, "T": 20, "U": 21, "V": 22, "W":23, "X": 24, "Y": 25 +} + +y_value = { + "A": 26, "B": 25, "C": 24, "D": 23, "E": 22, + "F": 21, "G": 20, "H": 19, "I": 18, "J": 17, "K": 16, + "L": 15, "M": 14, "N": 13, "O": 12, "P": 11, "Q": 10, + "R": 9, "S": 8, "T": 7, "U": 6, "V": 5, "W":4, "X": 3, "Y": 2, "Z": 1, " ": 100 +} + + +reverse_x_value = { + 0: "Z", 1: "A", 2: "B", 3: "C", 4: "D", 5: "E", + 6: "F", 7: "G", 8: "H", 9: "I", 10: "J", 11: "K", + 12: "L", 13: "M", 14: "N", 15: "O", 16: "P", 17: "Q", + 18: "R", 19: "S", 20: "T", 21: "U", 22: "V", 23: "W", 24: "X", 25: "Y", 100: " " +} + +#this part of senders +def message_sender(): + # senders send their message + message = input("Please input your message: ") + message = message.upper() + # message belongs to y_value + message_y_value = [] + if len(message) <= 0: + print("Invalid message value, please enter your message again") + message = input("Please input your message: ") + message = message.upper() + for i in message: + message_y_value.append(i) + else: + for i in message: + message_y_value.append(i) + return message_y_value +message_y_value = message_sender() + + +def key_encrypt(): + #senders enter their keys + key = input("Please enter your key:") + key = key.upper() + # key belongs to x_value + key_x_value = [] + if len(key) <= 0: + print("Invalid key value, please enter your key again") + key = input("Please enter your key:") + key = key.upper() + for i in key: + key_x_value.append(i) + else: + for i in key: + key_x_value.append(i) + return key_x_value +key_x_value = key_encrypt() + +def convert_message_to_value(): + #convert message to value + message_sender_value = [] + for i in message_y_value: + message_sender_value.append(y_value[i]) + return message_sender_value +message_sender_value = convert_message_to_value() +def convert_to_key_value(): + #convert key to value + key_value = [] + for k in key_x_value: + key_value.append(x_value[k]) + return key_value +key_value = convert_to_key_value() + +def change_length_of_key_value(): + #change the length of key_value equal of length of message_sender_value + key_value_update = [] + if len(key_value) > len(message_sender_value): + key_value_update = key_value[:len(message_sender_value)] + else: + n = len(message_sender_value)/len(key_value) + n = math.ceil(n) + for i in range(n): + key_value_update += key_value + i += 1 + key_value_update = key_value_update[: len(message_sender_value)] + return key_value_update + + return key_value_update +key_value_update = change_length_of_key_value() + +encrypted_message_alphabet = [] +def encrypt_message_alphabet(): + #export encrypted message alphabet + for i in range(len(key_value_update)): + if message_sender_value[i] != 100: + value = key_value_update[i] - message_sender_value[i] + if value >= 0: + encrypted_message_alphabet.append(reverse_x_value[value]) + else: + value = 26 + value + encrypted_message_alphabet.append(reverse_x_value[value]) + else: + encrypted_message_alphabet.append(100) + + return encrypted_message_alphabet + + +def export_message_alphabet(): + user_message_encrypted ="" + for i in encrypted_message_alphabet: + if i == 100: + i = " " + user_message_encrypted += i + else: + user_message_encrypted += i + return user_message_encrypted + + +def sender_message(): + #this function for sender message + message_sender_value = convert_message_to_value() + key_value = convert_to_key_value() + key_value_update = change_length_of_key_value() + encrypted_message_alphabet = encrypt_message_alphabet() + user_message_encrypted = export_message_alphabet() + print("Your encrypted message: \n",user_message_encrypted) +sender_message() + + + +# this part of receivers +vigenere_value = { + "A": 0, "B": 1, "C": 2, "D": 3, "E": 4, + "F": 5, "G": 6, "H": 7, "I": 8, "J": 9, "K": 10, + "L": 11, "M": 12, "N": 13, "O": 14, "P": 15, "Q": 16, + "R": 17, "S": 18, "T": 19, "U": 20, "V": 21, "W":22, "X": 23, "Y": 24, "Z": 25, " ": 100 +} +reverse_vigenere_value = { + 0: "A", 1: "B", 2: "C", 3: "D", 4: "E", 5: "F", + 6: "G", 7: "H", 8: "I", 9: "J", 10: "K", 11: "L", + 12: "M", 13: "N", 14: "O", 15: "P", 16: "Q", 17: "R", + 18: "S", 19: "T", 20: "U", 21: "V", 22: "W", 23: "X", 24: "Y", 25: "Z", 100: " " +} + +def receiver_text(): + text = input("Please input your message: ") + text = text.upper() + # text belongs to vigenere_value + text_receiver = [] + if len(text) <= 0: + print("Invalid message value, please enter your message again") + else: + for i in text: + text_receiver.append(i) + return text_receiver +text_receiver = receiver_text() + +def receiver_key(): + #receiver enter key + key = input("Please enter your key:") + key = key.upper() + # key belongs to vigenere_value + key_receiver = [] + if len(key) <= 0: + print("Invalid key value, please enter your key again") + key = input("Please enter your key:") + key = key.upper() + for i in key: + key_receiver.append(i) + else: + for i in key: + key_receiver.append(i) + return key_receiver +key_receiver = receiver_key() + +def receiver_text_value(): + convert_receiver_text_value = [] + for i in text_receiver: + convert_receiver_text_value.append(vigenere_value[i]) + return convert_receiver_text_value +convert_receiver_text_value = receiver_text_value() + +def receiver_key_value(): + convert_receiver_key_value = [] + for i in key_receiver: + convert_receiver_key_value.append(vigenere_value[i]) + return convert_receiver_key_value +convert_receiver_key_value = receiver_key_value() + +def change_length_receiver_key_value(): + #change the length of receiver_key_value equal of length of receiver_text_value + receiver_key_value_update = [] + if len(convert_receiver_key_value) > len(convert_receiver_text_value): + receiver_key_value_update = convert_receiver_key_value[:len(convert_receiver_text_value)] + else: + n = len(convert_receiver_text_value)/len(convert_receiver_key_value) + n = math.ceil(n) + for i in range(n): + receiver_key_value_update += convert_receiver_key_value + i += 1 + receiver_key_value_update = receiver_key_value_update[: len(convert_receiver_text_value)] + return receiver_key_value_update + + return receiver_key_value_update +receiver_key_value_update = change_length_receiver_key_value() + +decrypted_receiver_message_alphabet = [] +def decrypt_message_alphabet(): + #export encrypted message alphabet + for i in range(len(receiver_key_value_update)): + if convert_receiver_text_value[i] != 100: + value = convert_receiver_text_value[i] - receiver_key_value_update[i] + if value >= 0: + decrypted_receiver_message_alphabet.append(reverse_vigenere_value[value]) + else: + value = 26 + value + decrypted_receiver_message_alphabet.append(reverse_vigenere_value[value]) + else: + decrypted_receiver_message_alphabet.append(" ") + + return decrypted_receiver_message_alphabet + +def export_receiver_message_alphabet(): + receiver_message_decrypted ="" + for i in decrypted_receiver_message_alphabet: + receiver_message_decrypted += i + return receiver_message_decrypted + +def receiver_message(): + #this function for receiver message + convert_receiver_text_value = receiver_text_value() + convert_receiver_key_value = receiver_key_value() + receiver_key_value_update = change_length_receiver_key_value() + decrypted_receiver_message_alphabet = decrypt_message_alphabet() + receiver_message_decrypted = export_receiver_message_alphabet() + print("Your message has been decrypted sucessful: \n",receiver_message_decrypted) +receiver_message() + + + + From 75b1eb99d91b5202c289734fae90427c06042d44 Mon Sep 17 00:00:00 2001 From: pakitocode <41419066+pakitocode@users.noreply.github.com> Date: Thu, 26 Jul 2018 09:29:30 +0700 Subject: [PATCH 07/18] Create thachls_code_vigenere --- thachls_code_vigenere | 1 + 1 file changed, 1 insertion(+) create mode 100644 thachls_code_vigenere diff --git a/thachls_code_vigenere b/thachls_code_vigenere new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/thachls_code_vigenere @@ -0,0 +1 @@ + From bf26ffc1c2da94605ec166c1c7b163696f05eaf3 Mon Sep 17 00:00:00 2001 From: Khanh Nguyen Date: Thu, 26 Jul 2018 09:46:19 +0700 Subject: [PATCH 08/18] Change --- .../huongnm_code_des.py | 248 ++++++++--------- Vigenere/thachls_code_vigenere.py | 253 ++++++++++++++++++ 2 files changed, 377 insertions(+), 124 deletions(-) rename huongnm_code_des.py => DES/huongnm_code_des.py (97%) create mode 100644 Vigenere/thachls_code_vigenere.py diff --git a/huongnm_code_des.py b/DES/huongnm_code_des.py similarity index 97% rename from huongnm_code_des.py rename to DES/huongnm_code_des.py index 934fe5f..d344369 100644 --- a/huongnm_code_des.py +++ b/DES/huongnm_code_des.py @@ -1,125 +1,125 @@ -from sys import exit -from time import time - -KeyLength = 10 -SubKeyLength = 8 -DataLength = 8 -FLength = 4 - -# Bảng cho hoán vị ban đầu và cuối cùng (b1, b2, b3, ... b8) -IPtable = (2, 6, 3, 1, 4, 8, 5, 7) -FPtable = (4, 1, 3, 5, 7, 2, 8, 6) - -# Bảng để tạo khóa con (k1, k2, k3, ... k10) -P10table = (3, 5, 2, 7, 4, 10, 1, 9, 8, 6) -P8table = (6, 3, 7, 4, 8, 5, 10, 9) - -# Tables for the fk function -EPtable = (4, 1, 2, 3, 2, 3, 4, 1) -S0table = (1, 0, 3, 2, 3, 2, 1, 0, 0, 2, 1, 3, 3, 1, 3, 2) -S1table = (0, 1, 2, 3, 2, 0, 1, 3, 3, 0, 1, 0, 2, 1, 0, 3) -P4table = (2, 4, 3, 1) - -def perm(inputByte, permTable): - """Permute input byte according to permutation table""" - outputByte = 0 - for index, elem in enumerate(permTable): - if index >= elem: - outputByte |= (inputByte & (128 >> (elem - 1))) >> (index - (elem - 1)) - else: - outputByte |= (inputByte & (128 >> (elem - 1))) << ((elem - 1) - index) - return outputByte - -def ip(inputByte): - """Perform the initial permutation on data""" - return perm(inputByte, IPtable) - -def fp(inputByte): - """Perform the final permutation on data""" - return perm(inputByte, FPtable) - -def swapNibbles(inputByte): - """Swap the two nibbles of data""" - return (inputByte << 4 | inputByte >> 4) & 0xff - -def keyGen(key): - """Generate the two required subkeys""" - def leftShift(keyBitList): - """Perform a circular left shift on the first and second five bits""" - shiftedKey = [None] * KeyLength - shiftedKey[0:9] = keyBitList[1:10] - shiftedKey[4] = keyBitList[0] - shiftedKey[9] = keyBitList[5] - return shiftedKey - - # Converts input key (integer) into a list of binary digits - keyList = [(key & 1 << i) >> i for i in reversed(range(KeyLength))] - permKeyList = [None] * KeyLength - for index, elem in enumerate(P10table): - permKeyList[index] = keyList[elem - 1] - shiftedOnceKey = leftShift(permKeyList) - shiftedTwiceKey = leftShift(leftShift(shiftedOnceKey)) - subKey1 = subKey2 = 0 - for index, elem in enumerate(P8table): - subKey1 += (128 >> index) * shiftedOnceKey[elem - 1] - subKey2 += (128 >> index) * shiftedTwiceKey[elem - 1] - return (subKey1, subKey2) - -def fk(subKey, inputData): - """Apply Feistel function on data with given subkey""" - def F(sKey, rightNibble): - aux = sKey ^ perm(swapNibbles(rightNibble), EPtable) - index1 = ((aux & 0x80) >> 4) + ((aux & 0x40) >> 5) + \ - ((aux & 0x20) >> 5) + ((aux & 0x10) >> 2) - index2 = ((aux & 0x08) >> 0) + ((aux & 0x04) >> 1) + \ - ((aux & 0x02) >> 1) + ((aux & 0x01) << 2) - sboxOutputs = swapNibbles((S0table[index1] << 2) + S1table[index2]) - return perm(sboxOutputs, P4table) - - leftNibble, rightNibble = inputData & 0xf0, inputData & 0x0f - return (leftNibble ^ F(subKey, rightNibble)) | rightNibble - -def encrypt(key, plaintext): - """Encrypt plaintext with given key""" - data = fk(keyGen(key)[0], ip(plaintext)) - return fp(fk(keyGen(key)[1], swapNibbles(data))) - -def decrypt(key, ciphertext): - """Decrypt ciphertext with given key""" - data = fk(keyGen(key)[1], ip(ciphertext)) - return fp(fk(keyGen(key)[0], swapNibbles(data))) - -if __name__ == '__main__': - - - try: - assert encrypt(0b0000000000, 0b10101010) == 0b00010001 - except AssertionError: - print("Error on encrypt:") - print("Output: ", encrypt(0b0000000000, 0b10101010), "Expected: ", 0b00010001) - exit(1) - try: - assert encrypt(0b1110001110, 0b10101010) == 0b11001010 - except AssertionError: - print("Error on encrypt:") - print("Output: ", encrypt(0b1110001110, 0b10101010), "Expected: ", 0b11001010) - exit(1) - try: - assert encrypt(0b1110001110, 0b01010101) == 0b01110000 - except AssertionError: - print("Error on encrypt:") - print("Output: ", encrypt(0b1110001110, 0b01010101), "Expected: ", 0b01110000) - exit(1) - try: - assert encrypt(0b1111111111, 0b10101010) == 0b00000100 - except AssertionError: - print("Error on encrypt:") - print("Output: ", encrypt(0b1111111111, 0b10101010), "Expected: ", 0b00000100) - exit(1) - - t1 = time() - for i in range(1000): - encrypt(0b1110001110, 0b10101010) - t2 = time() - print("Elapsed time for 1,000 encryptions: {:0.3f}s".format(t2 - t1)) +from sys import exit +from time import time + +KeyLength = 10 +SubKeyLength = 8 +DataLength = 8 +FLength = 4 + +# Bảng cho hoán vị ban đầu và cuối cùng (b1, b2, b3, ... b8) +IPtable = (2, 6, 3, 1, 4, 8, 5, 7) +FPtable = (4, 1, 3, 5, 7, 2, 8, 6) + +# Bảng để tạo khóa con (k1, k2, k3, ... k10) +P10table = (3, 5, 2, 7, 4, 10, 1, 9, 8, 6) +P8table = (6, 3, 7, 4, 8, 5, 10, 9) + +# Tables for the fk function +EPtable = (4, 1, 2, 3, 2, 3, 4, 1) +S0table = (1, 0, 3, 2, 3, 2, 1, 0, 0, 2, 1, 3, 3, 1, 3, 2) +S1table = (0, 1, 2, 3, 2, 0, 1, 3, 3, 0, 1, 0, 2, 1, 0, 3) +P4table = (2, 4, 3, 1) + +def perm(inputByte, permTable): + """Permute input byte according to permutation table""" + outputByte = 0 + for index, elem in enumerate(permTable): + if index >= elem: + outputByte |= (inputByte & (128 >> (elem - 1))) >> (index - (elem - 1)) + else: + outputByte |= (inputByte & (128 >> (elem - 1))) << ((elem - 1) - index) + return outputByte + +def ip(inputByte): + """Perform the initial permutation on data""" + return perm(inputByte, IPtable) + +def fp(inputByte): + """Perform the final permutation on data""" + return perm(inputByte, FPtable) + +def swapNibbles(inputByte): + """Swap the two nibbles of data""" + return (inputByte << 4 | inputByte >> 4) & 0xff + +def keyGen(key): + """Generate the two required subkeys""" + def leftShift(keyBitList): + """Perform a circular left shift on the first and second five bits""" + shiftedKey = [None] * KeyLength + shiftedKey[0:9] = keyBitList[1:10] + shiftedKey[4] = keyBitList[0] + shiftedKey[9] = keyBitList[5] + return shiftedKey + + # Converts input key (integer) into a list of binary digits + keyList = [(key & 1 << i) >> i for i in reversed(range(KeyLength))] + permKeyList = [None] * KeyLength + for index, elem in enumerate(P10table): + permKeyList[index] = keyList[elem - 1] + shiftedOnceKey = leftShift(permKeyList) + shiftedTwiceKey = leftShift(leftShift(shiftedOnceKey)) + subKey1 = subKey2 = 0 + for index, elem in enumerate(P8table): + subKey1 += (128 >> index) * shiftedOnceKey[elem - 1] + subKey2 += (128 >> index) * shiftedTwiceKey[elem - 1] + return (subKey1, subKey2) + +def fk(subKey, inputData): + """Apply Feistel function on data with given subkey""" + def F(sKey, rightNibble): + aux = sKey ^ perm(swapNibbles(rightNibble), EPtable) + index1 = ((aux & 0x80) >> 4) + ((aux & 0x40) >> 5) + \ + ((aux & 0x20) >> 5) + ((aux & 0x10) >> 2) + index2 = ((aux & 0x08) >> 0) + ((aux & 0x04) >> 1) + \ + ((aux & 0x02) >> 1) + ((aux & 0x01) << 2) + sboxOutputs = swapNibbles((S0table[index1] << 2) + S1table[index2]) + return perm(sboxOutputs, P4table) + + leftNibble, rightNibble = inputData & 0xf0, inputData & 0x0f + return (leftNibble ^ F(subKey, rightNibble)) | rightNibble + +def encrypt(key, plaintext): + """Encrypt plaintext with given key""" + data = fk(keyGen(key)[0], ip(plaintext)) + return fp(fk(keyGen(key)[1], swapNibbles(data))) + +def decrypt(key, ciphertext): + """Decrypt ciphertext with given key""" + data = fk(keyGen(key)[1], ip(ciphertext)) + return fp(fk(keyGen(key)[0], swapNibbles(data))) + +if __name__ == '__main__': + + + try: + assert encrypt(0b0000000000, 0b10101010) == 0b00010001 + except AssertionError: + print("Error on encrypt:") + print("Output: ", encrypt(0b0000000000, 0b10101010), "Expected: ", 0b00010001) + exit(1) + try: + assert encrypt(0b1110001110, 0b10101010) == 0b11001010 + except AssertionError: + print("Error on encrypt:") + print("Output: ", encrypt(0b1110001110, 0b10101010), "Expected: ", 0b11001010) + exit(1) + try: + assert encrypt(0b1110001110, 0b01010101) == 0b01110000 + except AssertionError: + print("Error on encrypt:") + print("Output: ", encrypt(0b1110001110, 0b01010101), "Expected: ", 0b01110000) + exit(1) + try: + assert encrypt(0b1111111111, 0b10101010) == 0b00000100 + except AssertionError: + print("Error on encrypt:") + print("Output: ", encrypt(0b1111111111, 0b10101010), "Expected: ", 0b00000100) + exit(1) + + t1 = time() + for i in range(1000): + encrypt(0b1110001110, 0b10101010) + t2 = time() + print("Elapsed time for 1,000 encryptions: {:0.3f}s".format(t2 - t1)) exit() \ No newline at end of file diff --git a/Vigenere/thachls_code_vigenere.py b/Vigenere/thachls_code_vigenere.py new file mode 100644 index 0000000..950f8d0 --- /dev/null +++ b/Vigenere/thachls_code_vigenere.py @@ -0,0 +1,253 @@ +##################################################################### +# VIGENERE CIPHER +# Function of this program: + # Senders input their message and the key + # Program will encrypt their messages into Vigenere code and send to the receiver + # Senders provide the key to the receiver to decrypt the text has been sent by senders + + +import math +import numpy as np +x_value = { + "Z": 0, "A": 1, "B": 2, "C": 3, "D": 4, "E": 5, + "F": 6, "G": 7, "H": 8, "I": 9, "J": 10, "K": 11, + "L": 12, "M": 13, "N": 14, "O": 15, "P": 16, "Q": 17, + "R": 18, "S": 19, "T": 20, "U": 21, "V": 22, "W":23, "X": 24, "Y": 25 +} + +y_value = { + "A": 26, "B": 25, "C": 24, "D": 23, "E": 22, + "F": 21, "G": 20, "H": 19, "I": 18, "J": 17, "K": 16, + "L": 15, "M": 14, "N": 13, "O": 12, "P": 11, "Q": 10, + "R": 9, "S": 8, "T": 7, "U": 6, "V": 5, "W":4, "X": 3, "Y": 2, "Z": 1, " ": 100 +} + + +reverse_x_value = { + 0: "Z", 1: "A", 2: "B", 3: "C", 4: "D", 5: "E", + 6: "F", 7: "G", 8: "H", 9: "I", 10: "J", 11: "K", + 12: "L", 13: "M", 14: "N", 15: "O", 16: "P", 17: "Q", + 18: "R", 19: "S", 20: "T", 21: "U", 22: "V", 23: "W", 24: "X", 25: "Y", 100: " " +} + +#this part of senders +def message_sender(): + # senders send their message + message = input("Please input your message: ") + message = message.upper() + # message belongs to y_value + message_y_value = [] + if len(message) <= 0: + print("Invalid message value, please enter your message again") + message = input("Please input your message: ") + message = message.upper() + for i in message: + message_y_value.append(i) + else: + for i in message: + message_y_value.append(i) + return message_y_value +message_y_value = message_sender() + + +def key_encrypt(): + #senders enter their keys + key = input("Please enter your key:") + key = key.upper() + # key belongs to x_value + key_x_value = [] + if len(key) <= 0: + print("Invalid key value, please enter your key again") + key = input("Please enter your key:") + key = key.upper() + for i in key: + key_x_value.append(i) + else: + for i in key: + key_x_value.append(i) + return key_x_value +key_x_value = key_encrypt() + +def convert_message_to_value(): + #convert message to value + message_sender_value = [] + for i in message_y_value: + message_sender_value.append(y_value[i]) + return message_sender_value +message_sender_value = convert_message_to_value() +def convert_to_key_value(): + #convert key to value + key_value = [] + for k in key_x_value: + key_value.append(x_value[k]) + return key_value +key_value = convert_to_key_value() + +def change_length_of_key_value(): + #change the length of key_value equal of length of message_sender_value + key_value_update = [] + if len(key_value) > len(message_sender_value): + key_value_update = key_value[:len(message_sender_value)] + else: + n = len(message_sender_value)/len(key_value) + n = math.ceil(n) + for i in range(n): + key_value_update += key_value + i += 1 + key_value_update = key_value_update[: len(message_sender_value)] + return key_value_update + + return key_value_update +key_value_update = change_length_of_key_value() + +encrypted_message_alphabet = [] +def encrypt_message_alphabet(): + #export encrypted message alphabet + for i in range(len(key_value_update)): + if message_sender_value[i] != 100: + value = key_value_update[i] - message_sender_value[i] + if value >= 0: + encrypted_message_alphabet.append(reverse_x_value[value]) + else: + value = 26 + value + encrypted_message_alphabet.append(reverse_x_value[value]) + else: + encrypted_message_alphabet.append(100) + + return encrypted_message_alphabet + + +def export_message_alphabet(): + user_message_encrypted ="" + for i in encrypted_message_alphabet: + if i == 100: + i = " " + user_message_encrypted += i + else: + user_message_encrypted += i + return user_message_encrypted + + +def sender_message(): + #this function for sender message + message_sender_value = convert_message_to_value() + key_value = convert_to_key_value() + key_value_update = change_length_of_key_value() + encrypted_message_alphabet = encrypt_message_alphabet() + user_message_encrypted = export_message_alphabet() + print("Your encrypted message: \n",user_message_encrypted) +sender_message() + + + +# this part of receivers +vigenere_value = { + "A": 0, "B": 1, "C": 2, "D": 3, "E": 4, + "F": 5, "G": 6, "H": 7, "I": 8, "J": 9, "K": 10, + "L": 11, "M": 12, "N": 13, "O": 14, "P": 15, "Q": 16, + "R": 17, "S": 18, "T": 19, "U": 20, "V": 21, "W":22, "X": 23, "Y": 24, "Z": 25, " ": 100 +} +reverse_vigenere_value = { + 0: "A", 1: "B", 2: "C", 3: "D", 4: "E", 5: "F", + 6: "G", 7: "H", 8: "I", 9: "J", 10: "K", 11: "L", + 12: "M", 13: "N", 14: "O", 15: "P", 16: "Q", 17: "R", + 18: "S", 19: "T", 20: "U", 21: "V", 22: "W", 23: "X", 24: "Y", 25: "Z", 100: " " +} + +def receiver_text(): + text = input("Please input your message: ") + text = text.upper() + # text belongs to vigenere_value + text_receiver = [] + if len(text) <= 0: + print("Invalid message value, please enter your message again") + else: + for i in text: + text_receiver.append(i) + return text_receiver +text_receiver = receiver_text() + +def receiver_key(): + #receiver enter key + key = input("Please enter your key:") + key = key.upper() + # key belongs to vigenere_value + key_receiver = [] + if len(key) <= 0: + print("Invalid key value, please enter your key again") + key = input("Please enter your key:") + key = key.upper() + for i in key: + key_receiver.append(i) + else: + for i in key: + key_receiver.append(i) + return key_receiver +key_receiver = receiver_key() + +def receiver_text_value(): + convert_receiver_text_value = [] + for i in text_receiver: + convert_receiver_text_value.append(vigenere_value[i]) + return convert_receiver_text_value +convert_receiver_text_value = receiver_text_value() + +def receiver_key_value(): + convert_receiver_key_value = [] + for i in key_receiver: + convert_receiver_key_value.append(vigenere_value[i]) + return convert_receiver_key_value +convert_receiver_key_value = receiver_key_value() + +def change_length_receiver_key_value(): + #change the length of receiver_key_value equal of length of receiver_text_value + receiver_key_value_update = [] + if len(convert_receiver_key_value) > len(convert_receiver_text_value): + receiver_key_value_update = convert_receiver_key_value[:len(convert_receiver_text_value)] + else: + n = len(convert_receiver_text_value)/len(convert_receiver_key_value) + n = math.ceil(n) + for i in range(n): + receiver_key_value_update += convert_receiver_key_value + i += 1 + receiver_key_value_update = receiver_key_value_update[: len(convert_receiver_text_value)] + return receiver_key_value_update + + return receiver_key_value_update +receiver_key_value_update = change_length_receiver_key_value() + +decrypted_receiver_message_alphabet = [] +def decrypt_message_alphabet(): + #export encrypted message alphabet + for i in range(len(receiver_key_value_update)): + if convert_receiver_text_value[i] != 100: + value = convert_receiver_text_value[i] - receiver_key_value_update[i] + if value >= 0: + decrypted_receiver_message_alphabet.append(reverse_vigenere_value[value]) + else: + value = 26 + value + decrypted_receiver_message_alphabet.append(reverse_vigenere_value[value]) + else: + decrypted_receiver_message_alphabet.append(" ") + + return decrypted_receiver_message_alphabet + +def export_receiver_message_alphabet(): + receiver_message_decrypted ="" + for i in decrypted_receiver_message_alphabet: + receiver_message_decrypted += i + return receiver_message_decrypted + +def receiver_message(): + #this function for receiver message + convert_receiver_text_value = receiver_text_value() + convert_receiver_key_value = receiver_key_value() + receiver_key_value_update = change_length_receiver_key_value() + decrypted_receiver_message_alphabet = decrypt_message_alphabet() + receiver_message_decrypted = export_receiver_message_alphabet() + print("Your message has been decrypted sucessful: \n",receiver_message_decrypted) +receiver_message() + + + + From 6ada05c876bbf16b9497c334adb5ff70855ec501 Mon Sep 17 00:00:00 2001 From: Lai Huan Date: Thu, 26 Jul 2018 13:37:35 +0700 Subject: [PATCH 09/18] update --- 3DES/DES/destable.py | 124 ---------------- 3DES/DES/huanlv_code_3DES.py | 267 +++++++++++++++++++++++++++-------- 3DES/DES/report.txt | 9 ++ 3DES/DES/test.py | 8 -- 4 files changed, 219 insertions(+), 189 deletions(-) delete mode 100644 3DES/DES/destable.py create mode 100644 3DES/DES/report.txt delete mode 100644 3DES/DES/test.py diff --git a/3DES/DES/destable.py b/3DES/DES/destable.py deleted file mode 100644 index d8edaf8..0000000 --- a/3DES/DES/destable.py +++ /dev/null @@ -1,124 +0,0 @@ -pc1 = ( - 57, 49, 41, 33, 25, 17, 9, - 1, 58, 50, 42, 34, 26, 18, - 10, 2, 59, 51, 43, 35, 27, - 19, 11, 3, 60, 52, 44, 36, - 63, 55, 47, 39, 31, 23, 15, - 7, 62, 54, 46, 38, 30, 22, - 14, 6, 61, 53, 45, 37, 29, - 21, 13, 5, 28, 20, 12, 4 - ) -pc2 = ( - 14, 17, 11, 24, 1, 5, 3, - 28, 15, 6, 21, 10, 23, 19, - 12, 4, 26, 8, 16, 7, 27, - 20, 13, 2, 41, 52, 31, 37, - 47, 55, 30, 40, 51, 45, 33, - 48, 44, 49, 39, 56, 34, 53, - 46, 42, 50, 36, 29, 32 - ) -ip = ( - 58, 50, 42, 34, 26, 18, 10, 2, - 60, 52, 44, 36, 28, 20, 12, 4, - 62, 54, 46, 38, 30, 22, 14, 6, - 64, 56, 48, 40, 32, 24, 16, 8, - 57, 49, 41, 33, 25, 17, 9, 1, - 59, 51, 43, 35, 27, 19, 11, 3, - 61, 53, 45, 37, 29, 21, 13, 5, - 63, 55, 47, 39, 31, 23, 15, 7 - ) -ip1 = ( - 40, 8, 48, 16, 56, 24, 64, 32, - 39, 7, 47, 15, 55, 23, 63, 31, - 38, 6, 46, 14, 54, 22, 62, 30, - 37, 5, 45, 13, 53, 21, 61, 29, - 36, 4, 44, 12, 52, 20, 60, 28, - 35, 3, 43, 11, 51, 19, 59, 27, - 34, 2, 42, 10, 50, 18, 58, 26, - 33, 1, 41, 9, 49, 17, 57, 25 - ) -e = ( - 32, 1, 2, 3, 4, 5, - 4, 5, 6, 7, 8, 9, - 8, 9, 10, 11, 12, 13, - 12, 13, 14, 15, 16, 17, - 16, 17, 18, 19, 20, 21, - 20, 21, 22, 23, 24, 25, - 24, 25, 26, 27, 28, 29, - 28, 29, 30, 31, 32, 1 - ) -box = [ -# Box-1 -[ -[14,4,13,1,2,15,11,8,3,10,6,12,5,9,0,7], -[0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8], -[4,1,14,8,13,6,2,11,15,12,9,7,3,10,5,0], -[15,12,8,2,4,9,1,7,5,11,3,14,10,0,6,13] -], -# Box-2 - -[ -[15,1,8,14,6,11,3,4,9,7,2,13,12,0,5,10], -[3,13,4,7,15,2,8,14,12,0,1,10,6,9,11,5], -[0,14,7,11,10,4,13,1,5,8,12,6,9,3,2,15], -[13,8,10,1,3,15,4,2,11,6,7,12,0,5,14,9] -], - -# Box-3 - -[ -[10,0,9,14,6,3,15,5,1,13,12,7,11,4,2,8], -[13,7,0,9,3,4,6,10,2,8,5,14,12,11,15,1], -[13,6,4,9,8,15,3,0,11,1,2,12,5,10,14,7], -[1,10,13,0,6,9,8,7,4,15,14,3,11,5,2,12] - -], - -# Box-4 -[ -[7,13,14,3,0,6,9,10,1,2,8,5,11,12,4,15], -[13,8,11,5,6,15,0,3,4,7,2,12,1,10,14,9], -[10,6,9,0,12,11,7,13,15,1,3,14,5,2,8,4], -[3,15,0,6,10,1,13,8,9,4,5,11,12,7,2,14] -], - -# Box-5 -[ -[2,12,4,1,7,10,11,6,8,5,3,15,13,0,14,9], -[14,11,2,12,4,7,13,1,5,0,15,10,3,9,8,6], -[4,2,1,11,10,13,7,8,15,9,12,5,6,3,0,14], -[11,8,12,7,1,14,2,13,6,15,0,9,10,4,5,3] -], -# Box-6 - -[ -[12,1,10,15,9,2,6,8,0,13,3,4,14,7,5,11], -[10,15,4,2,7,12,9,5,6,1,13,14,0,11,3,8], -[9,14,15,5,2,8,12,3,7,0,4,10,1,13,11,6], -[4,3,2,12,9,5,15,10,11,14,1,7,6,0,8,13] - -], -# Box-7 -[ -[4,11,2,14,15,0,8,13,3,12,9,7,5,10,6,1], -[13,0,11,7,4,9,1,10,14,3,5,12,2,15,8,6], -[1,4,11,13,12,3,7,14,10,15,6,8,0,5,9,2], -[6,11,13,8,1,4,10,7,9,5,0,15,14,2,3,12] -], -# Box-8 - -[ -[13,2,8,4,6,15,11,1,10,9,3,14,5,0,12,7], -[1,15,13,8,10,3,7,4,12,5,6,11,0,14,9,2], -[7,11,4,1,9,12,14,2,0,6,10,13,15,3,5,8], -[2,1,14,7,4,10,8,13,15,12,9,0,3,5,6,11] -] - -] -p = ( - 16, 7, 20, 21, 29, 12, 28, 17, - 1, 15, 23, 26, 5, 18, 31, 10, - 2, 8, 24, 14, 32, 27, 3, 9, - 19, 13, 30, 6, 22, 11, 4, 25 - ) -rk = (1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1) \ No newline at end of file diff --git a/3DES/DES/huanlv_code_3DES.py b/3DES/DES/huanlv_code_3DES.py index da41c84..99b966c 100644 --- a/3DES/DES/huanlv_code_3DES.py +++ b/3DES/DES/huanlv_code_3DES.py @@ -1,5 +1,138 @@ +#Some usage tables for DES algorithm +#Initial permut made on the key +pc1 = ( + 57, 49, 41, 33, 25, 17, 9, + 1, 58, 50, 42, 34, 26, 18, + 10, 2, 59, 51, 43, 35, 27, + 19, 11, 3, 60, 52, 44, 36, + 63, 55, 47, 39, 31, 23, 15, + 7, 62, 54, 46, 38, 30, 22, + 14, 6, 61, 53, 45, 37, 29, + 21, 13, 5, 28, 20, 12, 4 + ) +#Permut applied on shifted key to get Ki+1 +pc2 = ( + 14, 17, 11, 24, 1, 5, 3, + 28, 15, 6, 21, 10, 23, 19, + 12, 4, 26, 8, 16, 7, 27, + 20, 13, 2, 41, 52, 31, 37, + 47, 55, 30, 40, 51, 45, 33, + 48, 44, 49, 39, 56, 34, 53, + 46, 42, 50, 36, 29, 32 + ) +#Initial permut matrix for the datas +ip = ( + 58, 50, 42, 34, 26, 18, 10, 2, + 60, 52, 44, 36, 28, 20, 12, 4, + 62, 54, 46, 38, 30, 22, 14, 6, + 64, 56, 48, 40, 32, 24, 16, 8, + 57, 49, 41, 33, 25, 17, 9, 1, + 59, 51, 43, 35, 27, 19, 11, 3, + 61, 53, 45, 37, 29, 21, 13, 5, + 63, 55, 47, 39, 31, 23, 15, 7 + ) +#Final permut for datas after the 16 rounds +ip1 = ( + 40, 8, 48, 16, 56, 24, 64, 32, + 39, 7, 47, 15, 55, 23, 63, 31, + 38, 6, 46, 14, 54, 22, 62, 30, + 37, 5, 45, 13, 53, 21, 61, 29, + 36, 4, 44, 12, 52, 20, 60, 28, + 35, 3, 43, 11, 51, 19, 59, 27, + 34, 2, 42, 10, 50, 18, 58, 26, + 33, 1, 41, 9, 49, 17, 57, 25 + ) +#Expand matrix to get a 48bits matrix of datas to apply the xor with Ki +e = ( + 32, 1, 2, 3, 4, 5, + 4, 5, 6, 7, 8, 9, + 8, 9, 10, 11, 12, 13, + 12, 13, 14, 15, 16, 17, + 16, 17, 18, 19, 20, 21, + 20, 21, 22, 23, 24, 25, + 24, 25, 26, 27, 28, 29, + 28, 29, 30, 31, 32, 1 + ) +box = [ +# Box-1 +[ +[14,4,13,1,2,15,11,8,3,10,6,12,5,9,0,7], +[0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8], +[4,1,14,8,13,6,2,11,15,12,9,7,3,10,5,0], +[15,12,8,2,4,9,1,7,5,11,3,14,10,0,6,13] +], +# Box-2 + +[ +[15,1,8,14,6,11,3,4,9,7,2,13,12,0,5,10], +[3,13,4,7,15,2,8,14,12,0,1,10,6,9,11,5], +[0,14,7,11,10,4,13,1,5,8,12,6,9,3,2,15], +[13,8,10,1,3,15,4,2,11,6,7,12,0,5,14,9] +], + +# Box-3 + +[ +[10,0,9,14,6,3,15,5,1,13,12,7,11,4,2,8], +[13,7,0,9,3,4,6,10,2,8,5,14,12,11,15,1], +[13,6,4,9,8,15,3,0,11,1,2,12,5,10,14,7], +[1,10,13,0,6,9,8,7,4,15,14,3,11,5,2,12] + +], + +# Box-4 +[ +[7,13,14,3,0,6,9,10,1,2,8,5,11,12,4,15], +[13,8,11,5,6,15,0,3,4,7,2,12,1,10,14,9], +[10,6,9,0,12,11,7,13,15,1,3,14,5,2,8,4], +[3,15,0,6,10,1,13,8,9,4,5,11,12,7,2,14] +], + +# Box-5 +[ +[2,12,4,1,7,10,11,6,8,5,3,15,13,0,14,9], +[14,11,2,12,4,7,13,1,5,0,15,10,3,9,8,6], +[4,2,1,11,10,13,7,8,15,9,12,5,6,3,0,14], +[11,8,12,7,1,14,2,13,6,15,0,9,10,4,5,3] +], +# Box-6 + +[ +[12,1,10,15,9,2,6,8,0,13,3,4,14,7,5,11], +[10,15,4,2,7,12,9,5,6,1,13,14,0,11,3,8], +[9,14,15,5,2,8,12,3,7,0,4,10,1,13,11,6], +[4,3,2,12,9,5,15,10,11,14,1,7,6,0,8,13] + +], +# Box-7 +[ +[4,11,2,14,15,0,8,13,3,12,9,7,5,10,6,1], +[13,0,11,7,4,9,1,10,14,3,5,12,2,15,8,6], +[1,4,11,13,12,3,7,14,10,15,6,8,0,5,9,2], +[6,11,13,8,1,4,10,7,9,5,0,15,14,2,3,12] +], +# Box-8 + +[ +[13,2,8,4,6,15,11,1,10,9,3,14,5,0,12,7], +[1,15,13,8,10,3,7,4,12,5,6,11,0,14,9,2], +[7,11,4,1,9,12,14,2,0,6,10,13,15,3,5,8], +[2,1,14,7,4,10,8,13,15,12,9,0,3,5,6,11] +] + +] +#Permut made after each SBox substitution for each round +p = ( + 16, 7, 20, 21, 29, 12, 28, 17, + 1, 15, 23, 26, 5, 18, 31, 10, + 2, 8, 24, 14, 32, 27, 3, 9, + 19, 13, 30, 6, 22, 11, 4, 25 + ) +#Matrix that determine the shift for each round of keys +rk = (1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1) + #This function take input are permutation table and key 64 bit and return key 56 bit -def applyPc1(pc1,key64bits): +def applyPc1(key64bits): key56bits = "" for i in pc1: key56bits += key64bits[i-1] @@ -14,20 +147,20 @@ def leftShift(bits,numBits): result = bits[numBits:]+bits[:numBits] return result #This function tacke input are key 56 bits and compression table and return key 48 bits -def applyPc2(pc2,key56bits): +def applyPc2(key56bits): key48bits = "" for i in pc2: key48bits += key56bits[i-1] return key48bits #This function will return 16 keys -def generateKeys(key64bits,rk,pc1,pc2): +def generateKeys(key64bits): roundKeys = [] - pc1Out = applyPc1(pc1,key64bits) + pc1Out = applyPc1(key64bits) L0,R0 = cutHaftKey56bits(pc1Out) for i in range(16): newL = leftShift(L0,rk[i]) newR = leftShift(R0,rk[i]) - roundKey = applyPc2(pc2,newL+newR) + roundKey = applyPc2(newL+newR) roundKeys.append(roundKey) return roundKeys def XOR(bits1,bits2): @@ -39,7 +172,7 @@ def XOR(bits1,bits2): xorResult += '1' return xorResult #This function take input string 32 bits and return string 48 bits -def applyExpansion(e,bits32): +def applyExpansion(bits32): bits48 = "" for i in e: bits48 += bits32[i-1] @@ -60,36 +193,36 @@ def getFirstLastBit(bits6): return bits6[0]+bits6[-1] def getMiddleBit(bits6): return bits6[1:5] -def boxLookup(box,boxCount,firstLast,middle): +def boxLookup(boxCount,firstLast,middle): dFirstLast = binToDec(firstLast) dMiddle = binToDec(middle) value = box[boxCount][dFirstLast][dMiddle] return decToBin(value) #This function will return string 32 bits -def applyP(p,s32bits): +def applyP(s32bits): result = "" for i in p: result += s32bits[i-1] return result #This is tha F function -def functionF(p,box,e,pre32bits,key48bits): +def functionF(pre32bits,key48bits): result = "" - expanded_left_half = applyExpansion(e,pre32bits) + expanded_left_half = applyExpansion(pre32bits) xor_value = XOR(expanded_left_half,key48bits) bits6list = cutTo6bits(xor_value) for sboxcount, bits6 in enumerate(bits6list): first_last = getFirstLastBit(bits6) middle4 = getMiddleBit(bits6) - sboxvalue = boxLookup(box,sboxcount,first_last,middle4) + sboxvalue = boxLookup(sboxcount,first_last,middle4) result += sboxvalue - final32bits = applyP(p,result) + final32bits = applyP(result) return final32bits +#Some functions convert def textToHex(text): return (text.encode("UTF-8")).hex() def hexToText(hexText): return (bytes.fromhex(hexText)).decode("UTF-8") -#This function will convert hex to bin def hexToBin(hexdigits): bindigits = "" for hexdigit in hexdigits: @@ -102,58 +235,78 @@ def binToHex(text): result += lookup[text[i]+text[i+1]+text[i+2]+text[i+3]] return result #Use initial permutation table -def applyIp(ip,plaintext): +def applyIp(plaintext): permutated = "" for i in ip: permutated += plaintext[int(i)-1] return permutated def spliHalf(binarybits): return binarybits[:32],binarybits[32:] -def applyIp1(ip1, text): +def applyIp1(text): cipher = "" for index in ip1: cipher += text[int(index)-1] return cipher #encrypt by des -def encryptDes(message,key,ip,ip1,p,e,rk,pc1,pc2,box): - cipher = "" - # Convert hex digits to binary - plaintext_bits = hexToBin(message) - key_bits = hexToBin(key) - # Generate rounds key - roundkeys = generateKeys(key_bits,rk,pc1,pc2) - - ## initial permutation - p_plaintext = applyIp(ip,plaintext_bits) - ## split in tow half - L,R = spliHalf(p_plaintext) - ## start rounds - for round in range(16): - newR = XOR(L,functionF(p,box,e,R, roundkeys[round])) - newL = R - R = newR - L = newL - cipher = applyIp1(ip1, R+L) - cipher = binToHex(cipher) - return cipher -def decryptDes(message,key,ip,ip1,p,e,rk,pc1,pc2,box): - text = "" - # Convert hex digits to binary - cipher_bits = hexToBin(message) - key_bits = hexToBin(key) - # Generate rounds key - roundkeys = generateKeys(key_bits,rk,pc1,pc2) - - ## initial permutation - p_plaintext = applyIp(ip,cipher_bits) - ## split in tow half - L,R = spliHalf(p_plaintext) - ## start rounds - for round in range(16): - newR = XOR(L,functionF(p,box,e,R, roundkeys[15-round])) - newL = R - R = newR - L = newL - text = applyIp1(ip1, R+L) - text = binToHex(text) - return text \ No newline at end of file +def encryptDes(message,key): + message = textToHex(message) + key = textToHex(key) + result="" + list64bits = textwrap.wrap(message,16) + for item in list64bits: + cipher = "" + # Convert hex digits to binary + plaintext_bits = hexToBin(item) + key_bits = hexToBin(key) + # Generate rounds key + roundkeys = generateKeys(key_bits) + + ## initial permutation + p_plaintext = applyIp(plaintext_bits) + ## split in tow half + L,R = spliHalf(p_plaintext) + ## start rounds + for round in range(16): + newR = XOR(L,functionF(R, roundkeys[round])) + newL = R + R = newR + L = newL + cipher = applyIp1(R+L) + cipher = binToHex(cipher) + result += cipher + return result +def decryptDes(message,key): + result="" + list64bits = textwrap.wrap(message,16) + key = textToHex(key) + for item in list64bits: + text = "" + # Convert hex digits to binary + plaintext_bits = hexToBin(item) + key_bits = hexToBin(key) + # Generate rounds key + roundkeys = generateKeys(key_bits) + + ## initial permutation + p_plaintext = applyIp(plaintext_bits) + ## split in tow half + L,R = spliHalf(p_plaintext) + ## start rounds + for round in range(16): + newR = XOR(L,functionF(R, roundkeys[15-round])) + newL = R + R = newR + L = newL + text = applyIp1(R+L) + text = binToHex(text) + result += hexToText(text) + return result + + +"""TEST""" +message = 'xin chao cac ban' +key ='hello may cung' +ciphertext = encryptDes(message,key) +print(ciphertext) +text = decryptDes(ciphertext,key) +print(text) \ No newline at end of file diff --git a/3DES/DES/report.txt b/3DES/DES/report.txt new file mode 100644 index 0000000..bfc86a4 --- /dev/null +++ b/3DES/DES/report.txt @@ -0,0 +1,9 @@ +#Mã hóa DES + +Thuật toán Des là gì? + -Des là một thuật toán mã hóa dối xứng, được IBM phát triển từ đầu những năm 1970 + -Des hoạt động vói đầu vào là một key 64 bits và các khối 64 bits cho đầu ra cũng là các khối 64 bits tương ứng sau mã hóa +Các giai đoạn chính: + -Sinh khóa + -Mã hóa + -Giải mã \ No newline at end of file diff --git a/3DES/DES/test.py b/3DES/DES/test.py deleted file mode 100644 index 070b1b2..0000000 --- a/3DES/DES/test.py +++ /dev/null @@ -1,8 +0,0 @@ -from destable import * -from huanlv_code_3DES import * -message = '0123456789ABCDEF' -key ='12345678ABCEDFF9' -ciphertext = encryptDes(message,key,ip,ip1,p,e,rk,pc1,pc2,box) -print(ciphertext) -text = decryptDes(ciphertext,key,ip,ip1,p,e,rk,pc1,pc2,box) -print(text) \ No newline at end of file From 77cc671ae2c9fe3315abb81f9664359cc3e85426 Mon Sep 17 00:00:00 2001 From: namtranvn <33787604+namtranvn@users.noreply.github.com> Date: Thu, 26 Jul 2018 21:26:50 +0900 Subject: [PATCH 10/18] Create sha1.py --- SHA1/sha1.py | 198 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 198 insertions(+) create mode 100644 SHA1/sha1.py diff --git a/SHA1/sha1.py b/SHA1/sha1.py new file mode 100644 index 0000000..fcbc396 --- /dev/null +++ b/SHA1/sha1.py @@ -0,0 +1,198 @@ +#!/usr/bin/env python + +from __future__ import print_function +import struct +import io + +try: + range = xrange +except NameError: + pass + + +def _left_rotate(n, b): + """Left rotate a 32-bit integer n by b bits.""" + return ((n << b) | (n >> (32 - b))) & 0xffffffff + + +def _process_chunk(chunk, h0, h1, h2, h3, h4): + """Process a chunk of data and return the new digest variables.""" + assert len(chunk) == 64 + + w = [0] * 80 + + # Break chunk into sixteen 4-byte big-endian words w[i] + for i in range(16): + w[i] = struct.unpack(b'>I', chunk[i * 4:i * 4 + 4])[0] + + # Extend the sixteen 4-byte words into eighty 4-byte words + for i in range(16, 80): + w[i] = _left_rotate(w[i - 3] ^ w[i - 8] ^ w[i - 14] ^ w[i - 16], 1) + + # Initialize hash value for this chunk + a = h0 + b = h1 + c = h2 + d = h3 + e = h4 + + for i in range(80): + if 0 <= i <= 19: + # Use alternative 1 for f from FIPS PB 180-1 to avoid bitwise not + f = d ^ (b & (c ^ d)) + k = 0x5A827999 + elif 20 <= i <= 39: + f = b ^ c ^ d + k = 0x6ED9EBA1 + elif 40 <= i <= 59: + f = (b & c) | (b & d) | (c & d) + k = 0x8F1BBCDC + elif 60 <= i <= 79: + f = b ^ c ^ d + k = 0xCA62C1D6 + + a, b, c, d, e = ((_left_rotate(a, 5) + f + e + k + w[i]) & 0xffffffff, + a, _left_rotate(b, 30), c, d) + + # Add this chunk's hash to result so far + h0 = (h0 + a) & 0xffffffff + h1 = (h1 + b) & 0xffffffff + h2 = (h2 + c) & 0xffffffff + h3 = (h3 + d) & 0xffffffff + h4 = (h4 + e) & 0xffffffff + + return h0, h1, h2, h3, h4 + + +class Sha1Hash(object): + """A class that mimics that hashlib api and implements the SHA-1 algorithm.""" + + name = 'python-sha1' + digest_size = 20 + block_size = 64 + + def __init__(self): + # Initial digest variables + self._h = ( + 0x67452301, + 0xEFCDAB89, + 0x98BADCFE, + 0x10325476, + 0xC3D2E1F0, + ) + + # bytes object with 0 <= len < 64 used to store the end of the message + # if the message length is not congruent to 64 + self._unprocessed = b'' + # Length in bytes of all data that has been processed so far + self._message_byte_length = 0 + + def update(self, arg): + """Update the current digest. + This may be called repeatedly, even after calling digest or hexdigest. + Arguments: + arg: bytes, bytearray, or BytesIO object to read from. + """ + if isinstance(arg, (bytes, bytearray)): + arg = io.BytesIO(arg) + + # Try to build a chunk out of the unprocessed data, if any + chunk = self._unprocessed + arg.read(64 - len(self._unprocessed)) + + # Read the rest of the data, 64 bytes at a time + while len(chunk) == 64: + self._h = _process_chunk(chunk, *self._h) + self._message_byte_length += 64 + chunk = arg.read(64) + + self._unprocessed = chunk + return self + + def digest(self): + """Produce the final hash value (big-endian) as a bytes object""" + return b''.join(struct.pack(b'>I', h) for h in self._produce_digest()) + + def hexdigest(self): + """Produce the final hash value (big-endian) as a hex string""" + return '%08x%08x%08x%08x%08x' % self._produce_digest() + + def _produce_digest(self): + """Return finalized digest variables for the data processed so far.""" + # Pre-processing: + message = self._unprocessed + message_byte_length = self._message_byte_length + len(message) + + # append the bit '1' to the message + message += b'\x80' + + # append 0 <= k < 512 bits '0', so that the resulting message length (in bytes) + # is congruent to 56 (mod 64) + message += b'\x00' * ((56 - (message_byte_length + 1) % 64) % 64) + + # append length of message (before pre-processing), in bits, as 64-bit big-endian integer + message_bit_length = message_byte_length * 8 + message += struct.pack(b'>Q', message_bit_length) + + # Process the final chunk + # At this point, the length of the message is either 64 or 128 bytes. + h = _process_chunk(message[:64], *self._h) + if len(message) == 64: + return h + return _process_chunk(message[64:], *h) + + +def sha1(data): + """SHA-1 Hashing Function + A custom SHA-1 hashing function implemented entirely in Python. + Arguments: + data: A bytes or BytesIO object containing the input message to hash. + Returns: + A hex SHA-1 digest of the input message. + """ + return Sha1Hash().update(data).hexdigest() + + +if __name__ == '__main__': + # Imports required for command line parsing. No need for these elsewhere + import argparse + import sys + import os + + # Parse the incoming arguments + parser = argparse.ArgumentParser() + parser.add_argument('input', nargs='*', + help='input file or message to hash') + args = parser.parse_args() + + data = None + if len(args.input) == 0: + # No argument given, assume message comes from standard input + try: + # sys.stdin is opened in text mode, which can change line endings, + # leading to incorrect results. Detach fixes this issue, but it's + # new in Python 3.1 + data = sys.stdin.detach() + + except AttributeError: + # Linux ans OSX both use \n line endings, so only windows is a + # problem. + if sys.platform == "win32": + import msvcrt + + msvcrt.setmode(sys.stdin.fileno(), os.O_BINARY) + data = sys.stdin + + # Output to console + print('sha1-digest:', sha1(data)) + + else: + # Loop through arguments list + for argument in args.input: + if (os.path.isfile(argument)): + # An argument is given and it's a valid file. Read it + data = open(argument, 'rb') + + # Show the final digest + print('sha1-digest:', sha1(data)) + else: + print("Error, could not find " + argument + " file." ) From dadc37c31e91743b36152bb6abe43b31913d18c4 Mon Sep 17 00:00:00 2001 From: namtranvn <33787604+namtranvn@users.noreply.github.com> Date: Thu, 26 Jul 2018 21:32:29 +0900 Subject: [PATCH 11/18] Rename sha1.py to sha1.py (reference) --- SHA1/{sha1.py => sha1.py (reference)} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename SHA1/{sha1.py => sha1.py (reference)} (100%) diff --git a/SHA1/sha1.py b/SHA1/sha1.py (reference) similarity index 100% rename from SHA1/sha1.py rename to SHA1/sha1.py (reference) From fa3ed27cf731e0df69432123cb9fdf9a63c90294 Mon Sep 17 00:00:00 2001 From: namtranvn <33787604+namtranvn@users.noreply.github.com> Date: Thu, 26 Jul 2018 21:36:09 +0900 Subject: [PATCH 12/18] Update sha1.py (reference) --- SHA1/sha1.py (reference) | 319 +++++++++++++++++---------------------- 1 file changed, 141 insertions(+), 178 deletions(-) diff --git a/SHA1/sha1.py (reference) b/SHA1/sha1.py (reference) index fcbc396..1d60d10 100644 --- a/SHA1/sha1.py (reference) +++ b/SHA1/sha1.py (reference) @@ -1,198 +1,161 @@ #!/usr/bin/env python +# -*- coding: utf-8 -*- +# SHA1.py +# ---------------------------------------------------------------------- -from __future__ import print_function -import struct -import io - -try: - range = xrange -except NameError: - pass - - -def _left_rotate(n, b): - """Left rotate a 32-bit integer n by b bits.""" - return ((n << b) | (n >> (32 - b))) & 0xffffffff - - -def _process_chunk(chunk, h0, h1, h2, h3, h4): - """Process a chunk of data and return the new digest variables.""" - assert len(chunk) == 64 - - w = [0] * 80 - - # Break chunk into sixteen 4-byte big-endian words w[i] - for i in range(16): - w[i] = struct.unpack(b'>I', chunk[i * 4:i * 4 + 4])[0] - - # Extend the sixteen 4-byte words into eighty 4-byte words - for i in range(16, 80): - w[i] = _left_rotate(w[i - 3] ^ w[i - 8] ^ w[i - 14] ^ w[i - 16], 1) - - # Initialize hash value for this chunk - a = h0 - b = h1 - c = h2 - d = h3 - e = h4 - - for i in range(80): - if 0 <= i <= 19: - # Use alternative 1 for f from FIPS PB 180-1 to avoid bitwise not - f = d ^ (b & (c ^ d)) - k = 0x5A827999 - elif 20 <= i <= 39: - f = b ^ c ^ d - k = 0x6ED9EBA1 - elif 40 <= i <= 59: - f = (b & c) | (b & d) | (c & d) - k = 0x8F1BBCDC - elif 60 <= i <= 79: - f = b ^ c ^ d - k = 0xCA62C1D6 - - a, b, c, d, e = ((_left_rotate(a, 5) + f + e + k + w[i]) & 0xffffffff, - a, _left_rotate(b, 30), c, d) - - # Add this chunk's hash to result so far - h0 = (h0 + a) & 0xffffffff - h1 = (h1 + b) & 0xffffffff - h2 = (h2 + c) & 0xffffffff - h3 = (h3 + d) & 0xffffffff - h4 = (h4 + e) & 0xffffffff - - return h0, h1, h2, h3, h4 - - -class Sha1Hash(object): - """A class that mimics that hashlib api and implements the SHA-1 algorithm.""" - - name = 'python-sha1' - digest_size = 20 - block_size = 64 +import sys +class SHA1: def __init__(self): - # Initial digest variables - self._h = ( + self.__H = [ 0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, - 0xC3D2E1F0, - ) - - # bytes object with 0 <= len < 64 used to store the end of the message - # if the message length is not congruent to 64 - self._unprocessed = b'' - # Length in bytes of all data that has been processed so far - self._message_byte_length = 0 - - def update(self, arg): - """Update the current digest. - This may be called repeatedly, even after calling digest or hexdigest. - Arguments: - arg: bytes, bytearray, or BytesIO object to read from. - """ - if isinstance(arg, (bytes, bytearray)): - arg = io.BytesIO(arg) - - # Try to build a chunk out of the unprocessed data, if any - chunk = self._unprocessed + arg.read(64 - len(self._unprocessed)) - - # Read the rest of the data, 64 bytes at a time - while len(chunk) == 64: - self._h = _process_chunk(chunk, *self._h) - self._message_byte_length += 64 - chunk = arg.read(64) - - self._unprocessed = chunk - return self + 0xC3D2E1F0 + ] + + def __str__(self): + return ''.join((hex(h)[2:]).rjust(8, '0') for h in self.__H) + + # Private static methods used for internal operations. + @staticmethod + def __ROTL(n, x, w=32): + return ((x << n) | (x >> w - n)) + + @staticmethod + def __padding(stream): + l = len(stream) # Bytes + hl = [int((hex(l*8)[2:]).rjust(16, '0')[i:i+2], 16) + for i in range(0, 16, 2)] + + l0 = (56 - l) % 64 + if not l0: + l0 = 64 + + if isinstance(stream, str): + stream += chr(0b10000000) + stream += chr(0)*(l0-1) + for a in hl: + stream += chr(a) + elif isinstance(stream, bytes): + stream += bytes([0b10000000]) + stream += bytes(l0-1) + stream += bytes(hl) + + return stream + + @staticmethod + def __prepare(stream): + M = [] + n_blocks = len(stream) // 64 + + stream = bytearray(stream) + + for i in range(n_blocks): # 64 Bytes per Block + m = [] + + for j in range(16): # 16 Words per Block + n = 0 + for k in range(4): # 4 Bytes per Word + n <<= 8 + n += stream[i*64 + j*4 + k] + + m.append(n) + + M.append(m[:]) + + return M + + @staticmethod + def __debug_print(t, a, b, c, d, e): + print('t = {0} : \t'.format(t), + (hex(a)[2:]).rjust(8, '0'), + (hex(b)[2:]).rjust(8, '0'), + (hex(c)[2:]).rjust(8, '0'), + (hex(d)[2:]).rjust(8, '0'), + (hex(e)[2:]).rjust(8, '0') + ) + + # Private instance methods used for internal operations. + def __process_block(self, block): + MASK = 2**32-1 + + W = block[:] + for t in range(16, 80): + W.append(SHA1.__ROTL(1, (W[t-3] ^ W[t-8] ^ W[t-14] ^ W[t-16])) + & MASK) + + a, b, c, d, e = self.__H[:] + + for t in range(80): + if t <= 19: + K = 0x5a827999 + f = (b & c) ^ (~b & d) + elif t <= 39: + K = 0x6ed9eba1 + f = b ^ c ^ d + elif t <= 59: + K = 0x8f1bbcdc + f = (b & c) ^ (b & d) ^ (c & d) + else: + K = 0xca62c1d6 + f = b ^ c ^ d - def digest(self): - """Produce the final hash value (big-endian) as a bytes object""" - return b''.join(struct.pack(b'>I', h) for h in self._produce_digest()) + T = ((SHA1.__ROTL(5, a) + f + e + K + W[t]) & MASK) + e = d + d = c + c = SHA1.__ROTL(30, b) & MASK + b = a + a = T - def hexdigest(self): - """Produce the final hash value (big-endian) as a hex string""" - return '%08x%08x%08x%08x%08x' % self._produce_digest() + #SHA1.debug_print(t, a,b,c,d,e) - def _produce_digest(self): - """Return finalized digest variables for the data processed so far.""" - # Pre-processing: - message = self._unprocessed - message_byte_length = self._message_byte_length + len(message) + self.__H[0] = (a + self.__H[0]) & MASK + self.__H[1] = (b + self.__H[1]) & MASK + self.__H[2] = (c + self.__H[2]) & MASK + self.__H[3] = (d + self.__H[3]) & MASK + self.__H[4] = (e + self.__H[4]) & MASK - # append the bit '1' to the message - message += b'\x80' + # Public methods for class use. + def update(self, stream): + stream = SHA1.__padding(stream) + stream = SHA1.__prepare(stream) - # append 0 <= k < 512 bits '0', so that the resulting message length (in bytes) - # is congruent to 56 (mod 64) - message += b'\x00' * ((56 - (message_byte_length + 1) % 64) % 64) + for block in stream: + self.__process_block(block) - # append length of message (before pre-processing), in bits, as 64-bit big-endian integer - message_bit_length = message_byte_length * 8 - message += struct.pack(b'>Q', message_bit_length) + def digest(self): + pass - # Process the final chunk - # At this point, the length of the message is either 64 or 128 bytes. - h = _process_chunk(message[:64], *self._h) - if len(message) == 64: - return h - return _process_chunk(message[64:], *h) + def hexdigest(self): + s = '' + for h in self.__H: + s += (hex(h)[2:]).rjust(8, '0') + return s +def usage(): + print('Usage: python SHA1.py [ ...]') + sys.exit() -def sha1(data): - """SHA-1 Hashing Function - A custom SHA-1 hashing function implemented entirely in Python. - Arguments: - data: A bytes or BytesIO object containing the input message to hash. - Returns: - A hex SHA-1 digest of the input message. - """ - return Sha1Hash().update(data).hexdigest() +def main(): + if len(sys.argv) < 2: + usage() -if __name__ == '__main__': - # Imports required for command line parsing. No need for these elsewhere - import argparse - import sys - import os - - # Parse the incoming arguments - parser = argparse.ArgumentParser() - parser.add_argument('input', nargs='*', - help='input file or message to hash') - args = parser.parse_args() - - data = None - if len(args.input) == 0: - # No argument given, assume message comes from standard input + for filename in sys.argv[1:]: try: - # sys.stdin is opened in text mode, which can change line endings, - # leading to incorrect results. Detach fixes this issue, but it's - # new in Python 3.1 - data = sys.stdin.detach() - - except AttributeError: - # Linux ans OSX both use \n line endings, so only windows is a - # problem. - if sys.platform == "win32": - import msvcrt - - msvcrt.setmode(sys.stdin.fileno(), os.O_BINARY) - data = sys.stdin - - # Output to console - print('sha1-digest:', sha1(data)) - - else: - # Loop through arguments list - for argument in args.input: - if (os.path.isfile(argument)): - # An argument is given and it's a valid file. Read it - data = open(argument, 'rb') - - # Show the final digest - print('sha1-digest:', sha1(data)) - else: - print("Error, could not find " + argument + " file." ) + with open(filename, 'rb') as f: + content = f.read() + + except: + print ('ERROR: Input file "{0}" cannot be read.'.format(filename)) + + else: + h = SHA1() + h.update(content) + hex_sha = h.hexdigest() + print("{0} {1}".format(hex_sha, filename)) + +if __name__ == '__main__': + main() From 7536ca39c6cb88f10a3824b162c56ae1504bfc82 Mon Sep 17 00:00:00 2001 From: namtranvn <33787604+namtranvn@users.noreply.github.com> Date: Thu, 26 Jul 2018 21:44:05 +0900 Subject: [PATCH 13/18] Rename sha1.py (reference) to sha1.py --- SHA1/{sha1.py (reference) => sha1.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename SHA1/{sha1.py (reference) => sha1.py} (100%) diff --git a/SHA1/sha1.py (reference) b/SHA1/sha1.py similarity index 100% rename from SHA1/sha1.py (reference) rename to SHA1/sha1.py From 638a56c890f566aca0b251949a8fb889b489c89e Mon Sep 17 00:00:00 2001 From: namtranvn <33787604+namtranvn@users.noreply.github.com> Date: Thu, 26 Jul 2018 21:51:46 +0900 Subject: [PATCH 14/18] Update sha1.py --- SHA1/sha1.py | 213 +++++++++++++++------------------------------------ 1 file changed, 60 insertions(+), 153 deletions(-) diff --git a/SHA1/sha1.py b/SHA1/sha1.py index 1d60d10..abb2a6a 100644 --- a/SHA1/sha1.py +++ b/SHA1/sha1.py @@ -1,161 +1,68 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# SHA1.py -# ---------------------------------------------------------------------- - -import sys - -class SHA1: - def __init__(self): - self.__H = [ - 0x67452301, - 0xEFCDAB89, - 0x98BADCFE, - 0x10325476, - 0xC3D2E1F0 - ] - - def __str__(self): - return ''.join((hex(h)[2:]).rjust(8, '0') for h in self.__H) - - # Private static methods used for internal operations. - @staticmethod - def __ROTL(n, x, w=32): - return ((x << n) | (x >> w - n)) - - @staticmethod - def __padding(stream): - l = len(stream) # Bytes - hl = [int((hex(l*8)[2:]).rjust(16, '0')[i:i+2], 16) - for i in range(0, 16, 2)] - - l0 = (56 - l) % 64 - if not l0: - l0 = 64 - - if isinstance(stream, str): - stream += chr(0b10000000) - stream += chr(0)*(l0-1) - for a in hl: - stream += chr(a) - elif isinstance(stream, bytes): - stream += bytes([0b10000000]) - stream += bytes(l0-1) - stream += bytes(hl) - - return stream - - @staticmethod - def __prepare(stream): - M = [] - n_blocks = len(stream) // 64 - - stream = bytearray(stream) - - for i in range(n_blocks): # 64 Bytes per Block - m = [] - - for j in range(16): # 16 Words per Block - n = 0 - for k in range(4): # 4 Bytes per Word - n <<= 8 - n += stream[i*64 + j*4 + k] - - m.append(n) - - M.append(m[:]) - - return M - - @staticmethod - def __debug_print(t, a, b, c, d, e): - print('t = {0} : \t'.format(t), - (hex(a)[2:]).rjust(8, '0'), - (hex(b)[2:]).rjust(8, '0'), - (hex(c)[2:]).rjust(8, '0'), - (hex(d)[2:]).rjust(8, '0'), - (hex(e)[2:]).rjust(8, '0') - ) - - # Private instance methods used for internal operations. - def __process_block(self, block): - MASK = 2**32-1 - - W = block[:] - for t in range(16, 80): - W.append(SHA1.__ROTL(1, (W[t-3] ^ W[t-8] ^ W[t-14] ^ W[t-16])) - & MASK) - - a, b, c, d, e = self.__H[:] - - for t in range(80): - if t <= 19: - K = 0x5a827999 - f = (b & c) ^ (~b & d) - elif t <= 39: - K = 0x6ed9eba1 +def sha1(data): + bytes = "" + + h0 = 0x67452301 + h1 = 0xEFCDAB89 + h2 = 0x98BADCFE + h3 = 0x10325476 + h4 = 0xC3D2E1F0 + + for n in range(len(data)): + bytes+='{0:08b}'.format(ord(data[n])) + bits = bytes+"1" + pBits = bits + #pad until length equals 448 mod 512 + while len(pBits)%512 != 448: + pBits+="0" + #append the original length + pBits+='{0:064b}'.format(len(bits)-1) + + def chunks(l, n): + return [l[i:i+n] for i in range(0, len(l), n)] + + def rol(n, b): + return ((n << b) | (n >> (32 - b))) & 0xffffffff + + for c in chunks(pBits, 512): + words = chunks(c, 32) + w = [0]*80 + for n in range(0, 16): + w[n] = int(words[n], 2) + for i in range(16, 80): + w[i] = rol((w[i-3] ^ w[i-8] ^ w[i-14] ^ w[i-16]), 1) + + a = h0 + b = h1 + c = h2 + d = h3 + e = h4 + #Main loop + for i in range(0, 80): + if 0 <= i <= 19: + f = (b & c) | ((~b) & d) + k = 0x5A827999 + elif 20 <= i <= 39: f = b ^ c ^ d - elif t <= 59: - K = 0x8f1bbcdc - f = (b & c) ^ (b & d) ^ (c & d) - else: - K = 0xca62c1d6 + k = 0x6ED9EBA1 + elif 40 <= i <= 59: + f = (b & c) | (b & d) | (c & d) + k = 0x8F1BBCDC + elif 60 <= i <= 79: f = b ^ c ^ d + k = 0xCA62C1D6 - T = ((SHA1.__ROTL(5, a) + f + e + K + W[t]) & MASK) + temp = rol(a, 5) + f + e + k + w[i] & 0xffffffff e = d d = c - c = SHA1.__ROTL(30, b) & MASK + c = rol(b, 30) b = a - a = T - - #SHA1.debug_print(t, a,b,c,d,e) - - self.__H[0] = (a + self.__H[0]) & MASK - self.__H[1] = (b + self.__H[1]) & MASK - self.__H[2] = (c + self.__H[2]) & MASK - self.__H[3] = (d + self.__H[3]) & MASK - self.__H[4] = (e + self.__H[4]) & MASK - - # Public methods for class use. - def update(self, stream): - stream = SHA1.__padding(stream) - stream = SHA1.__prepare(stream) - - for block in stream: - self.__process_block(block) - - def digest(self): - pass - - def hexdigest(self): - s = '' - for h in self.__H: - s += (hex(h)[2:]).rjust(8, '0') - return s - -def usage(): - print('Usage: python SHA1.py [ ...]') - sys.exit() - -def main(): - - if len(sys.argv) < 2: - usage() - - for filename in sys.argv[1:]: - try: - with open(filename, 'rb') as f: - content = f.read() - - except: - print ('ERROR: Input file "{0}" cannot be read.'.format(filename)) + a = temp - else: - h = SHA1() - h.update(content) - hex_sha = h.hexdigest() - print("{0} {1}".format(hex_sha, filename)) + h0 = h0 + a & 0xffffffff + h1 = h1 + b & 0xffffffff + h2 = h2 + c & 0xffffffff + h3 = h3 + d & 0xffffffff + h4 = h4 + e & 0xffffffff + return '%08x%08x%08x%08x%08x' % (h0, h1, h2, h3, h4) -if __name__ == '__main__': - main() +print sha1("hello world") From b29527675c28a69e605705a7ac1eea004eb332df Mon Sep 17 00:00:00 2001 From: namtranvn <33787604+namtranvn@users.noreply.github.com> Date: Thu, 26 Jul 2018 21:56:30 +0900 Subject: [PATCH 15/18] Update sha1.py --- SHA1/sha1.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SHA1/sha1.py b/SHA1/sha1.py index abb2a6a..a0e1490 100644 --- a/SHA1/sha1.py +++ b/SHA1/sha1.py @@ -64,5 +64,5 @@ def rol(n, b): h3 = h3 + d & 0xffffffff h4 = h4 + e & 0xffffffff return '%08x%08x%08x%08x%08x' % (h0, h1, h2, h3, h4) - -print sha1("hello world") + +print (sha1("hello world")) From 0e4d06c298a228165da8b640cddd1208a3568b13 Mon Sep 17 00:00:00 2001 From: Lai Huan Date: Thu, 26 Jul 2018 21:19:44 +0700 Subject: [PATCH 16/18] Report 3DES cipher --- 3DES/DES/report.txt | 9 --------- 3DES/{DES => }/huanlv_code_3DES.py | 24 ++++++++++++++++++------ 3DES/report 3DES cipher.txt | 23 +++++++++++++++++++++++ huanlv_report.txt | 2 +- 4 files changed, 42 insertions(+), 16 deletions(-) delete mode 100644 3DES/DES/report.txt rename 3DES/{DES => }/huanlv_code_3DES.py (93%) create mode 100644 3DES/report 3DES cipher.txt diff --git a/3DES/DES/report.txt b/3DES/DES/report.txt deleted file mode 100644 index bfc86a4..0000000 --- a/3DES/DES/report.txt +++ /dev/null @@ -1,9 +0,0 @@ -#Mã hóa DES - -Thuật toán Des là gì? - -Des là một thuật toán mã hóa dối xứng, được IBM phát triển từ đầu những năm 1970 - -Des hoạt động vói đầu vào là một key 64 bits và các khối 64 bits cho đầu ra cũng là các khối 64 bits tương ứng sau mã hóa -Các giai đoạn chính: - -Sinh khóa - -Mã hóa - -Giải mã \ No newline at end of file diff --git a/3DES/DES/huanlv_code_3DES.py b/3DES/huanlv_code_3DES.py similarity index 93% rename from 3DES/DES/huanlv_code_3DES.py rename to 3DES/huanlv_code_3DES.py index 99b966c..465fffd 100644 --- a/3DES/DES/huanlv_code_3DES.py +++ b/3DES/huanlv_code_3DES.py @@ -249,7 +249,6 @@ def applyIp1(text): return cipher #encrypt by des def encryptDes(message,key): - message = textToHex(message) key = textToHex(key) result="" list64bits = textwrap.wrap(message,16) @@ -299,14 +298,27 @@ def decryptDes(message,key): L = newL text = applyIp1(R+L) text = binToHex(text) - result += hexToText(text) + #result += hexToText(text) + result += text return result - +def encrypt3Des(message,key): + message = textToHex(message) + listKey = textwrap.wrap(key,8) + temp1 = encryptDes(message,listKey[0]) + temp2 = decryptDes(temp1,listKey[1]) + temp3 = encryptDes(temp2,listKey[2]) + return temp3 +def decrypt3Des(message,key): + listKey = textwrap.wrap(key,8) + temp1 = decryptDes(message,listKey[2]) + temp2 = encryptDes(temp1,listKey[1]) + temp3 = decryptDes(temp2,listKey[0]) + return hexToText(temp3) """TEST""" message = 'xin chao cac ban' -key ='hello may cung' -ciphertext = encryptDes(message,key) +key ='12345678abcdefgh12345678' +ciphertext = encrypt3Des(message,key) print(ciphertext) -text = decryptDes(ciphertext,key) +text = decrypt3Des(ciphertext,key) print(text) \ No newline at end of file diff --git a/3DES/report 3DES cipher.txt b/3DES/report 3DES cipher.txt new file mode 100644 index 0000000..fb8eca0 --- /dev/null +++ b/3DES/report 3DES cipher.txt @@ -0,0 +1,23 @@ +# Mã hóa Triple DES +* Người thực hiện: Lại Văn Huân + +#Lý thuyết +**Triple DES là gì? + -Triple DES là một biến thể của DES, được ra đời sau khi mã hóa DES không còn an toàn từ năm 1990 + -Hoạt động của Triple DES thực chất vẫn dựa trên thuật toán DES, thay vì chỉ mã hóa một lần thì Triple DES đã thực +hiện 3 lần gồm mã hóa và giải mã của thuật toán DES +**Triple DES hoạt động dựa vào 3 bước: + -Sinh khóa + -Mã hóa + -Giải mã +[+]Sinh khóa: + -Khóa chính đưa vào sẽ có độ dài 64*3 bits => chia thành 3 khóa con là key1, key2, key3 + -Các nhóm khóa con 48 bits được sinh ra từ key1, key2, key3 dựa trên thuật toán sinh khóa của DES +[+]Mã hóa: + -Quá trình mã hóa là tập hợp 3 bước liên tục của thuật toán DES: + +Mã hóa với key1 + +Giải mã với key2 + +Mã hóa với key3 +[+]Giải mã: + -Đảo ngược quá trình mã hóa ta sẽ được chuỗi sau giải mã. + diff --git a/huanlv_report.txt b/huanlv_report.txt index 2a19c6d..5e66c0b 100644 --- a/huanlv_report.txt +++ b/huanlv_report.txt @@ -1,4 +1,4 @@ 23/07-Hoàn thành code mô phỏng thuật toán Caesar 24/07-Tìm hiểu thuật toán des và viết một số hàm cần thiết cho thuật toán des 25/07-Hoàn thiện các hàm cần thiết, viết hàm sinh keys thuật toán des -26/07-Hoàn thiệt hàm mã hóa và giải mã thuật toán des \ No newline at end of file +26/07-Hoàn thiệt hàm mã hóa và giải mã thuật toán 3des \ No newline at end of file From 6511978930d298bb5a9bfcbc58ac0c22636c6462 Mon Sep 17 00:00:00 2001 From: Lai Huan Date: Tue, 31 Jul 2018 10:59:40 +0700 Subject: [PATCH 17/18] update comment --- 3DES/huanlv_code_3DES.py | 107 +++++++++++++++++++++++---------------- 3DES/run.png | Bin 0 -> 25136 bytes 2 files changed, 64 insertions(+), 43 deletions(-) create mode 100644 3DES/run.png diff --git a/3DES/huanlv_code_3DES.py b/3DES/huanlv_code_3DES.py index 465fffd..7e38143 100644 --- a/3DES/huanlv_code_3DES.py +++ b/3DES/huanlv_code_3DES.py @@ -1,5 +1,12 @@ -#Some usage tables for DES algorithm -#Initial permut made on the key +""" + Hướng dẫn cài đặt thuật toán: + + Sử dụng ngôn ngữ python để chạy mã code (version 3.7) + + Sau khi tải về mở powershell/termiral tại thư mục chứ file mã code + + Chạy lệnh " python huanlv_code_3DES.py " để quan sát +""" + +# Một số bảng cần dùng cho thuật toán 3DES +# Bảng hoán vị pc-1 pc1 = ( 57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, @@ -10,7 +17,7 @@ 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4 ) -#Permut applied on shifted key to get Ki+1 +# Bảng hoán vị pc-2 pc2 = ( 14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, @@ -20,7 +27,7 @@ 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32 ) -#Initial permut matrix for the datas +# Bảng hoán vị đầu ip = ( 58, 50, 42, 34, 26, 18, 10, 2, 60, 52, 44, 36, 28, 20, 12, 4, @@ -31,7 +38,7 @@ 61, 53, 45, 37, 29, 21, 13, 5, 63, 55, 47, 39, 31, 23, 15, 7 ) -#Final permut for datas after the 16 rounds +# Bảng hoán vị sau cùng ip1 = ( 40, 8, 48, 16, 56, 24, 64, 32, 39, 7, 47, 15, 55, 23, 63, 31, @@ -42,7 +49,7 @@ 34, 2, 42, 10, 50, 18, 58, 26, 33, 1, 41, 9, 49, 17, 57, 25 ) -#Expand matrix to get a 48bits matrix of datas to apply the xor with Ki +# Bảng hoán vị mở rộng e = ( 32, 1, 2, 3, 4, 5, 4, 5, 6, 7, 8, 9, @@ -53,6 +60,7 @@ 24, 25, 26, 27, 28, 29, 28, 29, 30, 31, 32, 1 ) +# Các bảng s-Box box = [ # Box-1 [ @@ -121,38 +129,38 @@ ] ] -#Permut made after each SBox substitution for each round +# Bảng hoán vị P p = ( 16, 7, 20, 21, 29, 12, 28, 17, 1, 15, 23, 26, 5, 18, 31, 10, 2, 8, 24, 14, 32, 27, 3, 9, 19, 13, 30, 6, 22, 11, 4, 25 ) -#Matrix that determine the shift for each round of keys +# Bảng dịch chuyển bit rk = (1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1) -#This function take input are permutation table and key 64 bit and return key 56 bit +# Hàm tạo ra key 56 bits từ key 64 bits và bảng hoán vị pc1 def applyPc1(key64bits): key56bits = "" for i in pc1: key56bits += key64bits[i-1] return key56bits -#This function will cut key 56 bits to 2 keys 28 bits +# Hàm cắt key 56 bits thành 2 key 28 bits def cutHaftKey56bits(key56bits): leftKey = key56bits[:28] rightKey = key56bits[28:] return leftKey,rightKey -#This function will shift left bit by number of bits +# Hàm dịch bit def leftShift(bits,numBits): result = bits[numBits:]+bits[:numBits] return result -#This function tacke input are key 56 bits and compression table and return key 48 bits +# Hàm tạo key 48 bits từ key 56 bits và bảng pc2 def applyPc2(key56bits): key48bits = "" for i in pc2: key48bits += key56bits[i-1] return key48bits -#This function will return 16 keys +# Hàm tạo key (sẽ tạo ra 16 key) def generateKeys(key64bits): roundKeys = [] pc1Out = applyPc1(key64bits) @@ -171,24 +179,18 @@ def XOR(bits1,bits2): else: xorResult += '1' return xorResult -#This function take input string 32 bits and return string 48 bits +# hàm nâng độ dài key từ 32 bit len 48 bit def applyExpansion(bits32): bits48 = "" for i in e: bits48 += bits32[i-1] return bits48 -#This function cut strign 48 bits to 6 bits +# Hàm cắt key 48 bít thành các dãy 6 bits import textwrap def cutTo6bits(str48bits): result = textwrap.wrap(str48bits,6) return result -#Some functions to support -def binToDec(bina): - decimal = int(bina,2) - return decimal -def decToBin(deci): - bin4bits = bin(deci)[2:].zfill(4) - return bin4bits +# Một số hàm hỗ trợ def getFirstLastBit(bits6): return bits6[0]+bits6[-1] def getMiddleBit(bits6): @@ -199,13 +201,13 @@ def boxLookup(boxCount,firstLast,middle): value = box[boxCount][dFirstLast][dMiddle] return decToBin(value) -#This function will return string 32 bits +# Sử dụng bảng hoán vị p để hoán vị khối 32 bits(Khối L và R) def applyP(s32bits): result = "" for i in p: result += s32bits[i-1] return result -#This is tha F function +# HÀM F def functionF(pre32bits,key48bits): result = "" expanded_left_half = applyExpansion(pre32bits) @@ -218,7 +220,13 @@ def functionF(pre32bits,key48bits): result += sboxvalue final32bits = applyP(result) return final32bits -#Some functions convert +#Một số hàm chuyển đổi giữa các kiểu dữ liệu +def binToDec(bina): + decimal = int(bina,2) + return decimal +def decToBin(deci): + bin4bits = bin(deci)[2:].zfill(4) + return bin4bits def textToHex(text): return (text.encode("UTF-8")).hex() def hexToText(hexText): @@ -234,7 +242,7 @@ def binToHex(text): for i in range(0,len(text),4): result += lookup[text[i]+text[i+1]+text[i+2]+text[i+3]] return result -#Use initial permutation table +#Sử dụng bảng hoán vị Ip def applyIp(plaintext): permutated = "" for i in ip: @@ -247,24 +255,24 @@ def applyIp1(text): for index in ip1: cipher += text[int(index)-1] return cipher -#encrypt by des +"""MÃ HÓA VÀ GIẢI MÃ THEO THUẬT TOÁN DES""" def encryptDes(message,key): key = textToHex(key) result="" list64bits = textwrap.wrap(message,16) for item in list64bits: cipher = "" - # Convert hex digits to binary + # Chuyển key và message cần mã háo sang dạng nhị phân plaintext_bits = hexToBin(item) key_bits = hexToBin(key) - # Generate rounds key + # Tạo key cho 16 vòng lặp roundkeys = generateKeys(key_bits) - ## initial permutation + # Áp dụng bảng hoán vị Ip p_plaintext = applyIp(plaintext_bits) - ## split in tow half + ## Chia p_plaintext thành 2 nửa trái và phải L,R = spliHalf(p_plaintext) - ## start rounds + ## Mã hóa for round in range(16): newR = XOR(L,functionF(R, roundkeys[round])) newL = R @@ -280,17 +288,17 @@ def decryptDes(message,key): key = textToHex(key) for item in list64bits: text = "" - # Convert hex digits to binary + # Chuyển key và message cần mã háo sang dạng nhị phân plaintext_bits = hexToBin(item) key_bits = hexToBin(key) - # Generate rounds key + # Tạo key cho 16 vòng lặp roundkeys = generateKeys(key_bits) - ## initial permutation + # Áp dụng bảng hoán vị Ip p_plaintext = applyIp(plaintext_bits) - ## split in tow half + ## Chia p_plaintext thành 2 nửa trái và phải L,R = spliHalf(p_plaintext) - ## start rounds + ## Giải mã for round in range(16): newR = XOR(L,functionF(R, roundkeys[15-round])) newL = R @@ -301,6 +309,7 @@ def decryptDes(message,key): #result += hexToText(text) result += text return result +"""MÃ HÓA VÀ GIẢI MÃ THEO THUẬT TOÁN 3DES""" def encrypt3Des(message,key): message = textToHex(message) listKey = textwrap.wrap(key,8) @@ -316,9 +325,21 @@ def decrypt3Des(message,key): return hexToText(temp3) """TEST""" -message = 'xin chao cac ban' -key ='12345678abcdefgh12345678' -ciphertext = encrypt3Des(message,key) -print(ciphertext) -text = decrypt3Des(ciphertext,key) -print(text) \ No newline at end of file +check = True +while check: + print("""Enter your chose:\n\t1. Encode\n\t2. Decode\n\t3. Exit""") + chose = input("Your chose is: ") + if chose == '1': + key = input("[+]Enter your key: ") + text = input("[+]The text you want encode: ") + ciphertext = encrypt3Des(text,key) + print("*The text after encode: ",ciphertext+"\n"+"*"*35) + elif chose == '2': + key = input("[+]Enter your key: ") + text = input("[+]The text you want decode: ") + plaintext = decrypt3Des(text,key) + print("*The text after decode: ",plaintext+"\n"+"*"*35) + elif chose == '3': + check = False + else: + print("ERROR! You must chose 1,2 or 3.\n"+"*"*35) \ No newline at end of file diff --git a/3DES/run.png b/3DES/run.png new file mode 100644 index 0000000000000000000000000000000000000000..b521fe5fc134dd0630dc8a5d954c7b88494dd01b GIT binary patch literal 25136 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 Q+-b3>T|->OE1L)X4>I@{BLDyZ literal 0 HcmV?d00001 From 68fbe97e6cba765fc58795b326e4ce7c96be8d53 Mon Sep 17 00:00:00 2001 From: nguyenmaihuong2051989 <41557599+nguyenmaihuong2051989@users.noreply.github.com> Date: Tue, 31 Jul 2018 16:26:39 +0700 Subject: [PATCH 18/18] Add files via upload --- huongnm_code_Ripemd | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 huongnm_code_Ripemd diff --git a/huongnm_code_Ripemd b/huongnm_code_Ripemd new file mode 100644 index 0000000..5efed8a --- /dev/null +++ b/huongnm_code_Ripemd @@ -0,0 +1,13 @@ +import hashlib +# from Crypto.Cipher import AES +# from Crypto.Hash import SHA256 +print("thuat toan ripemd160") +#thực hiện băm public key với SHA256 và ra kết quả RIPEMD – 160 +hash_256 = hashlib.sha256() +hash_str = "abcdefg" +hash_256.update(hash_str.encode('utf-8')) +hash_256_value = hash_256.hexdigest() +obj = hashlib.new('ripemd160', hash_256_value.encode('utf-8')) +ripemd_160_value = obj.hexdigest() +print("sha256:", hash_256_value) +print("ripemd160 :", ripemd_160_value) \ No newline at end of file