Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- import math
- B = 8192
- r = 9
- def distinguish(ctxt_blocks):
- R_i = np.zeros((256, 16))
- for c_blk in ctxt_blocks:
- for i in xrange(16):
- R_i[ord(c_blk[i]), i] +=1
- chi_sq = 0
- rows, cols = R_i.shape
- for i in xrange(rows):
- for j in xrange(cols):
- E_i = B/float(256)
- chi_sq += (E_i - R_i[i, j])**2 / E_i
- mean_cs = (rows*cols) - 1
- std_cs = math.sqrt(2*mean_cs)
- if abs(chi_sq - mean_cs) > 3*std_cs :
- return 0
- else :
- return 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement