def test_pad(): pads = ["None","PKCS7","Zeros","ANSIX923","ISO10126"] print("init ",plain) for i in pads: print(i) pad_m = pad(m=plain,blocksize=16,padding=i) print("pad:",pad_m) unpad_m = unpad(pad(plain,16,i),16,i) print("unpad",unpad_m) print(plain == unpad_m)
def test_pad(): print(sys._getframe().f_code.co_name+"#"*100) plain = "1111111111111我11".encode() pads = ["NoPadding","PKCS7","Zeros","ANSIX923","ISO10126"] print("init ",plain) for i in pads: print(i) pad_m = pad(m=plain,blocksize=16,padding=i) print("pad:",pad_m) unpad_m = unpad(pad(plain,16,i),16,i) print("unpad",unpad_m) print(plain == unpad_m)
def ecb_encrypt(m, k, method, blocksize, padding="PKCS7"): method_full = "%s_encrypt" % method.lower() f = globals()[method_full] m = pad(m, blocksize=blocksize, padding=padding) blocknum = len(m) // blocksize result = b"" for i in range(blocknum): block = m[blocksize * i:blocksize * (i + 1)] result += f(block, k) return result
def cbc_encrypt(m, k, method, blocksize, iv=None, padding="PKCS7"): if (iv is None): iv = b'\x00' * blocksize method_full = "%s_encrypt" % method.lower() f = globals()[method_full] m = pad(m, blocksize=blocksize, padding=padding) blocknum = len(m) // blocksize result = b"" for i in range(blocknum): block = m[blocksize * i:blocksize * (i + 1)] out = f(xor(block, iv), k) result += out iv = out return result
def maxsupression(A): Values = [] del Values[:] framed = np.zeros(((np.size(A,0)+2),(np.size(A,1)+2))) sizx = np.size(A,0)+1 sizy = np.size(A,1)+1 framed[1:sizx,1:sizy]=A A=framed #print(A) Shifts = np.zeros((prod(size(A)),9)) #print(Shifts) x=np.eye(9) for i in range(0,9): y = x[:,i] X = pad( A, -inf) #print(X) z = y.transpose() Y1 = np.reshape( z,( 3, 3)) Y = Y1.transpose() #print(Y) Shift = signal.convolve2d(X,Y, mode='valid') #Shift = conv2(X,Y, mode='valid') #print(Shift) fi = find(z) #print(fi) z1 = np.size(Shift,0) z2 = np.size(Shift,1) #print(z1,z2,z3) l=0 for j in range(0,z2): for k in range(0,z1): Shifts[l,fi] = Shift[k,j] #print(Shifts) l=l+1 #Shifts[:,fi] = Shift[:] #print(Shifts[0,0]) #np.savetxt('TrainingSet.txt',Shifts) #print(Shifts) Anms = np.ones((size(A))) #print(np.size(Anms)) for shiftind in range(0,4): Anms = np.uint64(Anms) & np.uint64(Shifts[ :, 4] >= Shifts[ :, shiftind]) #print(Anms) for shiftind in range(5,9): Anms = np.uint64(Anms) & np.uint64(Shifts[ :, 4] > Shifts[ :, shiftind]) #print(Anms) locmaxind = find(Anms) #print(locmaxind) #xx=np.meshgrid(A,A) #print(xx) ysize = np.size(A,1) xsize = np.size(A,0) Col=np.zeros((xsize,ysize)) Row=np.zeros((xsize,ysize)) for i in range(0,xsize): for j in range(0,ysize): Row[i][j]=j+1; Col[i][j]=i+1; #print(Col) #print(Row) #Pos = [Row(locmaxind) Col(locmaxind)] #print(Pos) length = np.size(locmaxind) #print(length) pos = [[] for i in range(length)] for i in range(0,length): point = locmaxind[i]+1 #print(point) c=point/xsize r=point%xsize #print(c,r) pos[i] = ([Row[c,r-1],Col[c,r-1]]) #print(pos) a = int(Row[c,r-1]-1) b = int(Col[c,r-1]-1) Values.extend([A[a,b]]) #print(pos) #print(Values) Anms = np.reshape( Anms, (np.size( A, 0), np.size( A, 1))) * A #print(Anms) pos1 = np.array(pos) pos = pos1-1 position = [] del position[:] #print(pos) position = pos #print(np.size(position)) Anms=Anms[1:(np.size(Anms,0)-1),1:(np.size(Anms,1)-1)] #print(np.size(Anms)) return position,Values
def aes_cfb_encrypt(m, k, iv=b'\x00' * 16, blocksize=16, padding="PKCS7"): m = pad(m, blocksize=blocksize, padding=padding) result = AES.new(k, mode=AES.MODE_CFB, IV=iv).encrypt(m) return result
def des3_cfb_encrypt(m, k, iv=b'\x00' * 8, blocksize=8, padding="PKCS7"): m = pad(m, blocksize=blocksize, padding=padding) result = DES3.new(k, mode=DES3.MODE_CFB, IV=iv).encrypt(m) return result
def des3_ctr_encrypt(m, k, blocksize=8, padding="PKCS7"): m = pad(m, blocksize=blocksize, padding=padding) ctr = Counter.new(64) result = DES3.new(k, mode=DES3.MODE_CTR, counter=ctr).encrypt(m) return result
def des_cbc_encrypt(m, k, iv=b'\x00' * 8, blocksize=8, padding="PKCS7"): m = pad(m, blocksize=blocksize, padding=padding) print(m.hex()) result = DES.new(k, mode=DES.MODE_CBC, IV=iv).encrypt(m) return result
def maxsupressionn(A): #A=np.array([[1,0,6], # [8,0,0]]) Values = [] del Values[:] framed = np.zeros(((np.size(A,0)+2),(np.size(A,1)+2))) sizx = np.size(A,0)+1 sizy = np.size(A,1)+1 framed[1:sizx,1:sizy]=A A=framed #print(A) Shifts = np.zeros((prod(size(A)),9)) #print(Shifts) x=np.eye(9) for i in range(0,9): y = x[:,i] X = pad( A, -inf) #print(X) z = y.transpose() Y = np.reshape( z,( 3, 3)) #print(Y) Shift = signal.convolve2d(X,Y, mode='valid') #Shift = conv2(X,Y, mode='valid') #print(Shift) fi = find(z) #print(fi) z1 = np.size(Shift,0) z2 = np.size(Shift,1) #print(z1,z2,z3) l=0 for j in range(0,z2): for k in range(0,z1): Shifts[l,fi] = Shift[k,j] #print(Shifts) l=l+1 #Shifts[:,fi] = Shift[:] #print(Shifts[0,0]) #print(Shifts) Anms = np.ones((size(A))) #print(np.size(Anms)) for shiftind in range(0,4): Anms = np.uint64(Anms) & np.uint64(Shifts[ :, 4] >= Shifts[ :, shiftind]) #print(Anms) for shiftind in range(5,9): Anms = np.uint64(Anms) & np.uint64(Shifts[ :, 4] > Shifts[ :, shiftind]) #print(Anms) locmaxind = find(Anms) #print(locmaxind) #xx=np.meshgrid(A,A) #print(xx) ysize = np.size(A,1) xsize = np.size(A,0) Col=np.zeros((xsize,ysize)) Row=np.zeros((xsize,ysize)) for i in range(0,xsize): for j in range(0,ysize): Col[i][j]=j+1; Row[i][j]=i+1; #print(Col) #print(Row) #Pos = [Row(locmaxind) Col(locmaxind)] #print(Pos) length = np.size(locmaxind) #print(length) for i in range(0,length): point = locmaxind[i] #print(point) c=point/xsize r=point%xsize Values.extend([A[c,r-1]]) return Values
def des3_ecb_encrypt(m, k, blocksize=8, padding="PKCS7"): m = pad(m, blocksize=blocksize, padding=padding) result = DES3.new(k, mode=DES3.MODE_ECB).encrypt(m) return result