]> AND Private Git Repository - canny.git/blobdiff - stc/exp/raphus/sobel555_for_ensemble.py
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
reprise
[canny.git] / stc / exp / raphus / sobel555_for_ensemble.py
index 1a7f7c614575b8724c2a1a46f033e7b11f982461..37333f85b5057ae94a2a343b74402e351f7e7421 100644 (file)
@@ -12,6 +12,10 @@ from bbs import *
 
 
 infinity = 1000000000
 
 
 infinity = 1000000000
+M=18532395500947174450709383384936679868383424444311405679463280782405796233163977*39688644836832882526173831577536117815818454437810437210221644553381995813014959
+X=18532395500947174450709383384936679868383424444311
+
+
 
 
 
 
 
 
@@ -377,8 +381,8 @@ def compute_list_bit_to_change(threshold,processed):
 def compute_filter_canny(level,image,MsgLen):
 
     bbs = BlumBlumShub();
 def compute_filter_canny(level,image,MsgLen):
 
     bbs = BlumBlumShub();
-    bbs.setN(18532395500947174450709383384936679868383424444311405679463280782405796233163977*39688644836832882526173831577536117815818454437810437210221644553381995813014959)
-    bbs.setSeed(18532395500947174450709383384936679868383424444311)
+    bbs.setN(M)
+    bbs.setSeed(X)
 
     level2=level.copy()
     level2= array(level2.getdata()).flatten()
 
     level2=level.copy()
     level2= array(level2.getdata()).flatten()
@@ -473,15 +477,9 @@ def compute_filter_canny(level,image,MsgLen):
             Weight[l]=1000
         l+=1
 
             Weight[l]=1000
         l+=1
 
-            
-        
-
     List_bit_to_change=sub
         
         
     List_bit_to_change=sub
         
         
-
-
-
     return [sub,Weight]
 
 
     return [sub,Weight]
 
 
@@ -495,6 +493,12 @@ def compute_filter_canny(level,image,MsgLen):
 
 
 def mystego(filein, fileout):
 
 
 def mystego(filein, fileout):
+    bit_to_read = 1
+    global M,X
+    bbs = BlumBlumShub();
+    bbs.setN(M)
+    bbs.setSeed(X)
+
     dd = im.open(filein)
     dd = dd.convert('RGB') 
     red, green, blue = dd.split()
     dd = im.open(filein)
     dd = dd.convert('RGB') 
     red, green, blue = dd.split()
@@ -502,56 +506,31 @@ def mystego(filein, fileout):
 
 
 
 
 
 
+
+
     message="Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete   Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete  Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete   Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete  Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete   Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete  Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete   Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete   Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete  Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete   Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete Ce que j'écris est très original... Bref, je suis un poete   Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete Ce que j'écris est très original... Bref, je suis un poete   Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete voila c'est la fin blablabla:-)"
 
     message="Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete   Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela."
 
     message="Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete   Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete  Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete   Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete  Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete   Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete  Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete   Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete   Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete  Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete   Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete Ce que j'écris est très original... Bref, je suis un poete   Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete Ce que j'écris est très original... Bref, je suis un poete   Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete voila c'est la fin blablabla:-)"
 
     message="Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela. Bon voici un test avec un message un peu plus long. Bon j'en rajoute pour voir. Ce que j'écris est très original... Bref, je suis un poete   Salut christophe, arrives tu à lire ce message? normalement tu dois lire cela."
 
+    """
+    message = ""
+    for c in [x if x==0 else 1 for x in im.open("invader.png").getdata()]:
+        message +=str(c)        
+    
+    print message
+    """
 
 
-    message=message[0:len(message)/1]
     leng_msg=len(message)
     leng_msg=len(message)
+    print "taille du message en caracteres",leng_msg
     message=message+((leng_msg+7)/8*8-leng_msg)*" "
     leng_msg=len(message)
     message=message+((leng_msg+7)/8*8-leng_msg)*" "
     leng_msg=len(message)
-
     leng='%08d'%len(message)
     leng='%08d'%len(message)
-
-
-
-
+    
     len_leng=len(leng)
     leng_error=int(len_leng)
     leng_cor=leng
     len_leng=len(leng)
     leng_error=int(len_leng)
     leng_cor=leng
+    
     List_pack=a2b_list(leng_cor)
     List_pack=a2b_list(leng_cor)
-
-
-
-
-
-    [List_bit_to_change,Weight]=compute_filter_canny(level,dd,leng_msg)
-    level= array(level.getdata()).flatten()
-
-
-    bit_to_read=1  
-
-
-
-
-    M=18532395500947174450709383384936679868383424444311405679463280782405796233163977*39688644836832882526173831577536117815818454437810437210221644553381995813014959
-    # M clef
-    X=18532395500947174450709383384936679868383424444311
-    # X clef
-
-
-
-
-    l=0
-
-
-   
-    List_random=[]
-    while len(List_random)<len(List_bit_to_change):
-        X=(X*X)%M
-        List_random.extend(Denary2Binary(X))
-
     size=0
     for i in range(leng_msg/8):
         m=message[i*8:(i+1)*8]
     size=0
     for i in range(leng_msg/8):
         m=message[i*8:(i+1)*8]
@@ -561,18 +540,21 @@ def mystego(filein, fileout):
         List_pack.extend(m_bin) 
 
 
         List_pack.extend(m_bin) 
 
 
+    leng_msg=len(List_pack)
 
 
-
-
-
+    [List_bit_to_change,Weight]=compute_filter_canny(level,dd,leng_msg)
+    level= array(level.getdata()).flatten()
    
    
+    List_random=[]
+    while len(List_random)<len(List_bit_to_change):
+        List_random.extend(Denary2Binary(bbs.next()))
 
 
-    #List_bit_to_change = support
-    #print len(List_bit_to_change)
-
+        
 
     #print List_bit_to_change
 
     #print List_bit_to_change
-    Support=[getBit(level[l],bit_to_read) for l in List_bit_to_change]
+    Support=[]
+    for l in List_bit_to_change : 
+        Support += [getBit(level[l],bit_to_read) ]
     #print len(List_pack)
     #List_pack = message
 
     #print len(List_pack)
     #List_pack = message
 
@@ -624,7 +606,7 @@ def mystego(filein, fileout):
     red2, green, blue = dd2.split()
     level2=red2.copy()
 
     red2, green, blue = dd2.split()
     level2=red2.copy()
 
-    [List_bit_to_change2,Weight2]=compute_filter_canny(level2,dd2,len(Message))
+    [List_bit_to_change2,Weight2]=compute_filter_canny(level2,dd2,leng_msg)
 
 
     level2= array(level2.getdata()).flatten()
 
 
     level2= array(level2.getdata()).flatten()
@@ -634,7 +616,6 @@ def mystego(filein, fileout):
     print "weight2",len(Weight2)
 
     alpha = float(len(List_bit_to_change2))/len(Message)
     print "weight2",len(Weight2)
 
     alpha = float(len(List_bit_to_change2))/len(Message)
-    print alpha
     assert alpha >= 2 
     index = min(int(alpha),9)
     H_hat2 = {
     assert alpha >= 2 
     index = min(int(alpha),9)
     H_hat2 = {
@@ -708,7 +689,7 @@ def mystego(filein, fileout):
     print decoded_msg#[0:20]
     print len(List_bit_to_change)
     list_nb_bit.append(filein)
     print decoded_msg#[0:20]
     print len(List_bit_to_change)
     list_nb_bit.append(filein)
-    list_nb_bit.append(len(List_bit_to_change))
+    list_nb_bit.append(len(List_bit_to_change2))