]> AND Private Git Repository - canny.git/commitdiff
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
reprise
authorcouchot <couchot@couchot-Latitude-E6320.(none)>
Fri, 14 Sep 2012 09:48:51 +0000 (11:48 +0200)
committercouchot <couchot@couchot-Latitude-E6320.(none)>
Fri, 14 Sep 2012 09:48:51 +0000 (11:48 +0200)
stc/exp/raphus/bbs.py
stc/exp/raphus/sobel555_for_ensemble.py

index f2e9fd8e9e99dee4a4a087099a3edbd1c0512ea3..88a5e6d0fc75ec2f1244be51af5615dfc0149fe0 100644 (file)
@@ -116,9 +116,9 @@ class BlumBlumShub(object):
             x = x>>1 
         return q     
 
             x = x>>1 
         return q     
 
-    def next(self, numBits):
+    def next(self, numBits=160):
         self.state = (self.state**2) % self.n
         self.state = (self.state**2) % self.n
-        return float(self.state)/self.n
+        return self.state
 
     def random(self):
         self.state = (self.state**2) % self.n
 
     def random(self):
         self.state = (self.state**2) % self.n
index 1a7f7c614575b8724c2a1a46f033e7b11f982461..3a1e5f588e6c38a7ff9528f8148df393d1d332d9 100644 (file)
@@ -13,6 +13,12 @@ from bbs import *
 
 infinity = 1000000000
 
 
 infinity = 1000000000
 
+M=18532395500947174450709383384936679868383424444311405679463280782405796233163977*39688644836832882526173831577536117815818454437810437210221644553381995813014959
+# M clef
+X=18532395500947174450709383384936679868383424444311
+# X clef
+
+
 
 
 
 
 
 
@@ -377,8 +383,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()
@@ -495,6 +501,13 @@ def compute_filter_canny(level,image,MsgLen):
 
 
 def mystego(filein, fileout):
 
 
 def mystego(filein, fileout):
+
+    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()
@@ -506,51 +519,22 @@ 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."
 
 
     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)
-    message=message+((leng_msg+7)/8*8-leng_msg)*" "
-    leng_msg=len(message)
-
-    leng='%08d'%len(message)
-
-
-
-
-    len_leng=len(leng)
-    leng_error=int(len_leng)
-    leng_cor=leng
-    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):
     l=0
 
 
    
     List_random=[]
     while len(List_random)<len(List_bit_to_change):
-        X=(X*X)%M
-        List_random.extend(Denary2Binary(X))
+        List_random.extend(Denary2Binary(bbs.next()))
 
     size=0
     for i in range(leng_msg/8):
 
     size=0
     for i in range(leng_msg/8):
@@ -624,7 +608,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 +618,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 = {