X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/canny.git/blobdiff_plain/b1c010eca96441b41474c775ecc14895152d6d6a..70660073a3e38d00d230d6be415339e48cc23ead:/stc/exp/python/stc.py?ds=sidebyside diff --git a/stc/exp/python/stc.py b/stc/exp/python/stc.py index cb1c396..4d0b1f1 100644 --- a/stc/exp/python/stc.py +++ b/stc/exp/python/stc.py @@ -61,8 +61,9 @@ def forward(H_hat,x,message,lnm): indx,indm = 0,0 i=0 while i < nbblock: # pour chaque bit du message - if i%100 == 0 : + """if i%100 == 0 : print i + """ for j in xrange(w): # pour chaque colonne de H_hat #print indx, "en entrant",wght k = 0 @@ -99,8 +100,9 @@ def backward(start,H_hat,x,message,lnm,path): y=np.zeros(len(x)) i=0 while i < nbblock: - if i%10000 == 0 : + """if i%10000 == 0 : print i + """ l = range(w) l.reverse() for j in l: # pour chaque colonne de H_hat @@ -123,6 +125,7 @@ def trouve_H_hat(n,m,h): assert alpha >= 2 index = min(int(alpha),9) mat = { + 1 : [255] 2 : [71,109], 3 : [95, 101, 121], 4 : [81, 95, 107, 121], @@ -192,18 +195,33 @@ def equiv(x,y): ################ -x = [randint(0,1) for _ in xrange(50000)] -message = [randint(0,1) for _ in xrange(10000)] -(x_b,y,H_hat) = stc(x,message) + # x_b est la sous partie de x qui va etre modifiee # y est le vecteur des bits modifies # H_hat est la sous-matrice retenue qui est embarquee dans H - - -print nbdif(x_b,y) - +eval = True +count = 0 + +"""" +while count < 1000 and eval : + lx = randint(500,1000) + x = [randint(0,1) for _ in xrange(lx)] + lm = randint(lx/10,lx/2) + message = [randint(0,1) for _ in xrange(lm)] + (x_b,y,H_hat) = stc(x,message) + eval = equiv(message, prod(H_hat,len(message),y)) + if not (eval): + print x + print message + + count +=1 + if count % 100 == 0 : + print count + +print nbdif(x_b,y),count +"""