Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- k='Thats my Kung Fu'
- import pymysql
- conn=pymysql.connect(host='localhost',user='root',password='123456789',db='cyber')
- cur=conn.cursor(pymysql.cursors.DictCursor)
- cur.execute("select top 1 from data")
- m = cur.fetchone()
- cur.execute("delete top 1 from data")
- global k1
- k1=[0 for i in range(16)]
- r=[[0 for j in range(16)] for i in range(5)]
- if(len(m)<16):
- m=m + ' '*(16-len(m))
- for i in range(16):
- k1[i]=m[i].encode("utf-8").hex()
- def rkey(q):
- def sbox(a,b):
- if(a=='0'):
- return {
- '0': '63',
- '1': '7c',
- '2': '77',
- '3': '7b',
- '4': 'f2',
- '5': '6b',
- '6': '6f',
- '7': 'c5',
- '8': '30',
- '9': '01',
- 'a': '67',
- 'b': '2b',
- 'c': 'fe',
- 'd': 'd7',
- 'e': 'ab',
- 'f': '76',
- }[b]
- if(a=='1'):
- return {
- '0': 'ca',
- '1': '82',
- '2': 'c9',
- '3': '7d',
- '4': 'fa',
- '5': '59',
- '6': '47',
- '7': 'f0',
- '8': 'ad',
- '9': 'd4',
- 'a': 'a2',
- 'b': 'af',
- 'c': '9c',
- 'd': 'a4',
- 'e': '72',
- 'f': 'c0',
- }[b]
- if(a=='2'):
- return {
- '0': 'b7',
- '1': 'fd',
- '2': '93',
- '3': '26',
- '4': '36',
- '5': '3f',
- '6': 'f7',
- '7': 'cc',
- '8': '34',
- '9': 'a5',
- 'a': 'e5',
- 'b': 'f1',
- 'c': '71',
- 'd': 'd8',
- 'e': '31',
- 'f': '15',
- }[b]
- if(a=='3'):
- return {
- '0': '04',
- '1': 'c7',
- '2': '23',
- '3': 'c3',
- '4': '18',
- '5': '96',
- '6': '05',
- '7': '9a',
- '8': '07',
- '9': '12',
- 'a': '80',
- 'b': 'e2',
- 'c': 'eb',
- 'd': '27',
- 'e': 'b2',
- 'f': '75',
- }[b]
- if(a=='4'):
- return {
- '0': '09',
- '1': '83',
- '2': '2c',
- '3': '1a',
- '4': '1b',
- '5': '6e',
- '6': '5a',
- '7': 'a0',
- '8': '52',
- '9': '3b',
- 'a': 'd6',
- 'b': 'b3',
- 'c': '29',
- 'd': 'e3',
- 'e': '2f',
- 'f': '84',
- }[b]
- if(a=='5'):
- return {
- '0': '53',
- '1': 'd1',
- '2': '00',
- '3': 'ed',
- '4': '20',
- '5': 'fc',
- '6': 'b1',
- '7': '5b',
- '8': '6a',
- '9': 'cb',
- 'a': 'be',
- 'b': '39',
- 'c': '4a',
- 'd': '4c',
- 'e': '58',
- 'f': 'cf',
- }[b]
- if(a=='6'):
- return {
- '0': 'd0',
- '1': 'ef',
- '2': 'aa',
- '3': 'fb',
- '4': '43',
- '5': '4d',
- '6': '33',
- '7': '85',
- '8': '45',
- '9': 'f9',
- 'a': '02',
- 'b': '7f',
- 'c': '50',
- 'd': '3c',
- 'e': '9f',
- 'f': 'a8',
- }[b]
- if(a=='7'):
- return {
- '0': '51',
- '1': 'a3',
- '2': '40',
- '3': '8f',
- '4': '92',
- '5': '9d',
- '6': '38',
- '7': 'f5',
- '8': 'bc',
- '9': 'b6',
- 'a': 'da',
- 'b': '21',
- 'c': '10',
- 'd': 'ff',
- 'e': 'f3',
- 'f': 'd2',
- }[b]
- if(a=='8'):
- return {
- '0': 'cd',
- '1': '0c',
- '2': '13',
- '3': 'ec',
- '4': '5f',
- '5': '97',
- '6': '44',
- '7': '17',
- '8': 'c4',
- '9': 'a7',
- 'a': '7e',
- 'b': '3d',
- 'c': '64',
- 'd': '5d',
- 'e': '19',
- 'f': '73',
- }[b]
- if(a=='9'):
- return {
- '0': '60',
- '1': '81',
- '2': '4f',
- '3': 'dc',
- '4': '22',
- '5': '2a',
- '6': '90',
- '7': '88',
- '8': '46',
- '9': 'ee',
- 'a': 'b8',
- 'b': '14',
- 'c': 'de',
- 'd': '5e',
- 'e': '0b',
- 'f': 'db',
- }[b]
- if(a=='a'):
- return {
- '0': 'e0',
- '1': '32',
- '2': '3a',
- '3': '0a',
- '4': '49',
- '5': '06',
- '6': '24',
- '7': '5c',
- '8': 'c2',
- '9': 'd3',
- 'a': 'ac',
- 'b': '62',
- 'c': '91',
- 'd': '95',
- 'e': 'e4',
- 'f': '79',
- }[b]
- if(a=='b'):
- return {
- '0': 'e7',
- '1': 'c8',
- '2': '37',
- '3': '6d',
- '4': '8d',
- '5': 'd5',
- '6': '4e',
- '7': 'a9',
- '8': '6c',
- '9': '56',
- 'a': 'f4',
- 'b': 'ea',
- 'c': '65',
- 'd': '7a',
- 'e': 'ae',
- 'f': '08',
- }[b]
- if(a=='c'):
- return {
- '0': 'ba',
- '1': '78',
- '2': '25',
- '3': '2e',
- '4': '1c',
- '5': 'a6',
- '6': 'b4',
- '7': 'c6',
- '8': 'e8',
- '9': 'dd',
- 'a': '74',
- 'b': '1f',
- 'c': '4b',
- 'd': 'bd',
- 'e': '8b',
- 'f': '8a',
- }[b]
- if(a=='d'):
- return {
- '0': '70',
- '1': '3e',
- '2': 'b5',
- '3': '66',
- '4': '48',
- '5': '03',
- '6': 'f6',
- '7': '0e',
- '8': '61',
- '9': '35',
- 'a': '57',
- 'b': 'b9',
- 'c': '86',
- 'd': 'c1',
- 'e': '1d',
- 'f': '9e',
- }[b]
- if(a=='e'):
- return {
- '0': 'e1',
- '1': 'f8',
- '2': '98',
- '3': '11',
- '4': '69',
- '5': 'd9',
- '6': '8e',
- '7': '94',
- '8': '9b',
- '9': '1e',
- 'a': '87',
- 'b': 'e9',
- 'c': 'ce',
- 'd': '55',
- 'e': '28',
- 'f': 'df',
- }[b]
- if(a=='f'):
- return {
- '0': '8c',
- '1': 'a1',
- '2': '89',
- '3': '0d',
- '4': 'bf',
- '5': 'e6',
- '6': '42',
- '7': '68',
- '8': '41',
- '9': '99',
- 'a': '2d',
- 'b': '0f',
- 'c': 'b0',
- 'd': '54',
- 'e': 'bb',
- 'f': '16',
- }[b]
- w=[[0 for j in range(4)] for i in range(8)]
- e=[0 for i in range(16)]
- o=q
- for i in range(16):
- w[i//4][i%4]=o[i]
- t=w[3][0]
- for i in range(3):
- w[3][i]=w[3][i+1]
- w[3][3]=t
- for i in range(4):
- w[3][i]=sbox(w[3][i][0],w[3][i][1])
- for i in range(4):
- for j in range(4):
- w[i][j]=int(w[i][j],16)
- for i in range(4):
- w[4][i]=w[3][i]^w[0][i]
- w[5][i]=w[4][i]^w[1][i]
- w[6][i]=w[5][i]^w[2][i]
- w[7][i]=w[6][i]^w[3][i]
- for i in range(16):
- e[i]=format(w[4+(i//4)][i%4],'x')
- if(len(e[i])==1):
- e[i]='0'+e[i]
- return e
- r[0]=rkey(k1)
- r[1]=rkey(r[0])
- r[2]=rkey(r[1])
- r[3]=rkey(r[2])
- r[4]=rkey(r[3])
- def encrypt(a):
- def sbox(a,b):
- if(a=='0'):
- return {
- '0': '63',
- '1': '7c',
- '2': '77',
- '3': '7b',
- '4': 'f2',
- '5': '6b',
- '6': '6f',
- '7': 'c5',
- '8': '30',
- '9': '01',
- 'a': '67',
- 'b': '2b',
- 'c': 'fe',
- 'd': 'd7',
- 'e': 'ab',
- 'f': '76',
- }[b]
- if(a=='1'):
- return {
- '0': 'ca',
- '1': '82',
- '2': 'c9',
- '3': '7d',
- '4': 'fa',
- '5': '59',
- '6': '47',
- '7': 'f0',
- '8': 'ad',
- '9': 'd4',
- 'a': 'a2',
- 'b': 'af',
- 'c': '9c',
- 'd': 'a4',
- 'e': '72',
- 'f': 'c0',
- }[b]
- if(a=='2'):
- return {
- '0': 'b7',
- '1': 'fd',
- '2': '93',
- '3': '26',
- '4': '36',
- '5': '3f',
- '6': 'f7',
- '7': 'cc',
- '8': '34',
- '9': 'a5',
- 'a': 'e5',
- 'b': 'f1',
- 'c': '71',
- 'd': 'd8',
- 'e': '31',
- 'f': '15',
- }[b]
- if(a=='3'):
- return {
- '0': '04',
- '1': 'c7',
- '2': '23',
- '3': 'c3',
- '4': '18',
- '5': '96',
- '6': '05',
- '7': '9a',
- '8': '07',
- '9': '12',
- 'a': '80',
- 'b': 'e2',
- 'c': 'eb',
- 'd': '27',
- 'e': 'b2',
- 'f': '75',
- }[b]
- if(a=='4'):
- return {
- '0': '09',
- '1': '83',
- '2': '2c',
- '3': '1a',
- '4': '1b',
- '5': '6e',
- '6': '5a',
- '7': 'a0',
- '8': '52',
- '9': '3b',
- 'a': 'd6',
- 'b': 'b3',
- 'c': '29',
- 'd': 'e3',
- 'e': '2f',
- 'f': '84',
- }[b]
- if(a=='5'):
- return {
- '0': '53',
- '1': 'd1',
- '2': '00',
- '3': 'ed',
- '4': '20',
- '5': 'fc',
- '6': 'b1',
- '7': '5b',
- '8': '6a',
- '9': 'cb',
- 'a': 'be',
- 'b': '39',
- 'c': '4a',
- 'd': '4c',
- 'e': '58',
- 'f': 'cf',
- }[b]
- if(a=='6'):
- return {
- '0': 'd0',
- '1': 'ef',
- '2': 'aa',
- '3': 'fb',
- '4': '43',
- '5': '4d',
- '6': '33',
- '7': '85',
- '8': '45',
- '9': 'f9',
- 'a': '02',
- 'b': '7f',
- 'c': '50',
- 'd': '3c',
- 'e': '9f',
- 'f': 'a8',
- }[b]
- if(a=='7'):
- return {
- '0': '51',
- '1': 'a3',
- '2': '40',
- '3': '8f',
- '4': '92',
- '5': '9d',
- '6': '38',
- '7': 'f5',
- '8': 'bc',
- '9': 'b6',
- 'a': 'da',
- 'b': '21',
- 'c': '10',
- 'd': 'ff',
- 'e': 'f3',
- 'f': 'd2',
- }[b]
- if(a=='8'):
- return {
- '0': 'cd',
- '1': '0c',
- '2': '13',
- '3': 'ec',
- '4': '5f',
- '5': '97',
- '6': '44',
- '7': '17',
- '8': 'c4',
- '9': 'a7',
- 'a': '7e',
- 'b': '3d',
- 'c': '64',
- 'd': '5d',
- 'e': '19',
- 'f': '73',
- }[b]
- if(a=='9'):
- return {
- '0': '60',
- '1': '81',
- '2': '4f',
- '3': 'dc',
- '4': '22',
- '5': '2a',
- '6': '90',
- '7': '88',
- '8': '46',
- '9': 'ee',
- 'a': 'b8',
- 'b': '14',
- 'c': 'de',
- 'd': '5e',
- 'e': '0b',
- 'f': 'db',
- }[b]
- if(a=='a'):
- return {
- '0': 'e0',
- '1': '32',
- '2': '3a',
- '3': '0a',
- '4': '49',
- '5': '06',
- '6': '24',
- '7': '5c',
- '8': 'c2',
- '9': 'd3',
- 'a': 'ac',
- 'b': '62',
- 'c': '91',
- 'd': '95',
- 'e': 'e4',
- 'f': '79',
- }[b]
- if(a=='b'):
- return {
- '0': 'e7',
- '1': 'c8',
- '2': '37',
- '3': '6d',
- '4': '8d',
- '5': 'd5',
- '6': '4e',
- '7': 'a9',
- '8': '6c',
- '9': '56',
- 'a': 'f4',
- 'b': 'ea',
- 'c': '65',
- 'd': '7a',
- 'e': 'ae',
- 'f': '08',
- }[b]
- if(a=='c'):
- return {
- '0': 'ba',
- '1': '78',
- '2': '25',
- '3': '2e',
- '4': '1c',
- '5': 'a6',
- '6': 'b4',
- '7': 'c6',
- '8': 'e8',
- '9': 'dd',
- 'a': '74',
- 'b': '1f',
- 'c': '4b',
- 'd': 'bd',
- 'e': '8b',
- 'f': '8a',
- }[b]
- if(a=='d'):
- return {
- '0': '70',
- '1': '3e',
- '2': 'b5',
- '3': '66',
- '4': '48',
- '5': '03',
- '6': 'f6',
- '7': '0e',
- '8': '61',
- '9': '35',
- 'a': '57',
- 'b': 'b9',
- 'c': '86',
- 'd': 'c1',
- 'e': '1d',
- 'f': '9e',
- }[b]
- if(a=='e'):
- return {
- '0': 'e1',
- '1': 'f8',
- '2': '98',
- '3': '11',
- '4': '69',
- '5': 'd9',
- '6': '8e',
- '7': '94',
- '8': '9b',
- '9': '1e',
- 'a': '87',
- 'b': 'e9',
- 'c': 'ce',
- 'd': '55',
- 'e': '28',
- 'f': 'df',
- }[b]
- if(a=='f'):
- return {
- '0': '8c',
- '1': 'a1',
- '2': '89',
- '3': '0d',
- '4': 'bf',
- '5': 'e6',
- '6': '42',
- '7': '68',
- '8': '41',
- '9': '99',
- 'a': '2d',
- 'b': '0f',
- 'c': 'b0',
- 'd': '54',
- 'e': 'bb',
- 'f': '16',
- }[b]
- f=a
- global k1
- c=[['02','03','01','01'],['01','02','03','01'],['01','01','02','03'],['03','01','01','02']]
- w=[[0 for j in range(4)] for i in range(4)]
- g=[[0 for j in range(4)] for i in range(4)]
- h=[[0 for j in range(4)] for i in range(4)]
- for i in range(16):
- w[i//4][i%4]=int(f[i],16)
- g[i//4][i%4]=k1[i]
- for i in range(4):
- for j in range(4):
- g[i][j]=sbox(g[i][j][0],g[i][j][1])
- for i in range(4):
- for j in range(4):
- g[i][j]=int(g[i][j],16)
- t=g[1][0]
- for i in range(3):
- g[1][i]=g[1][i+1]
- g[1][3]=t
- t=g[2][0]
- for i in range(3):
- g[2][i]=g[2][i+1]
- g[2][3]=t
- t=g[2][0]
- for i in range(3):
- g[2][i]=g[2][i+1]
- g[2][3]=t
- t=g[3][3]
- for i in range(3,0,-1):
- g[3][i]=g[3][i-1]
- g[3][0]=t
- for i in range(4):
- for j in range(4):
- h[i][j]=int(c[i][j],16)^g[i][j]
- for i in range(4):
- for j in range(4):
- g[i][j]=format(h[i][j]^w[i][j],'x')
- for i in range(16):
- k1[i]=g[i//4][i%4]
- if(len(k1[i])==1):
- k1[i]='0'+k1[i]
- for i in range(16):
- k1[i]=format(int(k1[i],16)^int(r[0][i],16),'x')
- if(len(k1[i])==1):
- k1[i]='0'+k1[i]
- encrypt(r[1])
- encrypt(r[2])
- encrypt(r[3])
- encrypt(r[4])
- final=''.join(k1)
- print("The encrypted message is ",final)
- cur.execute("insert into enc_data values('%s')"%(final))
- cur.commit()
Add Comment
Please, Sign In to add comment