Advertisement
Guest User

Untitled

a guest
Mar 27th, 2017
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.55 KB | None | 0 0
  1. import numpy as np
  2. import math
  3. B = 8192
  4. r = 9
  5.  
  6.  
  7. def distinguish(ctxt_blocks):
  8.     R_i = np.zeros((256, 16))
  9.     for c_blk in ctxt_blocks:
  10.         for i in xrange(16):
  11.             R_i[ord(c_blk[i]), i] +=1
  12.     chi_sq = 0
  13.     rows, cols = R_i.shape
  14.     for i in xrange(rows):
  15.         for j in xrange(cols):
  16.             E_i = B/float(256)
  17.             chi_sq +=  (E_i - R_i[i, j])**2 / E_i
  18.     mean_cs = (rows*cols) - 1
  19.     std_cs = math.sqrt(2*mean_cs)
  20.     if abs(chi_sq - mean_cs) > 3*std_cs :
  21.         return 0
  22.     else :
  23.         return 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement