From 10e7b98790a2c43964f49cea7e31557fb58015e6 Mon Sep 17 00:00:00 2001 From: couchot Date: Thu, 13 Sep 2012 21:24:57 +0200 Subject: [PATCH 1/1] sample repris --- stc/exp/raphus/bbs.py | 2 +- stc/exp/raphus/primes.pyc | Bin 1829 -> 1829 bytes stc/exp/raphus/sobel555_for_ensemble.py | 86 ++++++++++++++++-------- 3 files changed, 58 insertions(+), 30 deletions(-) diff --git a/stc/exp/raphus/bbs.py b/stc/exp/raphus/bbs.py index 3ddbe03..f2e9fd8 100644 --- a/stc/exp/raphus/bbs.py +++ b/stc/exp/raphus/bbs.py @@ -80,7 +80,7 @@ class BlumBlumShub(object): return p * q; - def __init__(self, bits): + def __init__(self, bits=160): """ Constructor, specifing bits for n. bits - number of bits diff --git a/stc/exp/raphus/primes.pyc b/stc/exp/raphus/primes.pyc index d0c71ed5502fd7a374e15b1869eb9e038ef2698f..c727af2b0368b7e01ba76a8c5b3ee36b86559421 100644 GIT binary patch delta 16 XcmZ3=x0H{a`7~ib?D)9uq diff --git a/stc/exp/raphus/sobel555_for_ensemble.py b/stc/exp/raphus/sobel555_for_ensemble.py index 89f8d98..1a7f7c6 100644 --- a/stc/exp/raphus/sobel555_for_ensemble.py +++ b/stc/exp/raphus/sobel555_for_ensemble.py @@ -8,6 +8,8 @@ import cv import os from random import * from math import * +from bbs import * + infinity = 1000000000 @@ -372,7 +374,12 @@ def compute_list_bit_to_change(threshold,processed): return List -def compute_filter_canny(level,image): +def compute_filter_canny(level,image,MsgLen): + + bbs = BlumBlumShub(); + bbs.setN(18532395500947174450709383384936679868383424444311405679463280782405796233163977*39688644836832882526173831577536117815818454437810437210221644553381995813014959) + bbs.setSeed(18532395500947174450709383384936679868383424444311) + level2=level.copy() level2= array(level2.getdata()).flatten() l=0 @@ -418,32 +425,44 @@ def compute_filter_canny(level,image): processed= array(processed.getdata()).flatten() List7=set(compute_list_bit_to_change(100,processed)) - nb_bit_embedded=(512*512/10)+40 + #nb_bit_embedded=(512*512/10)+40 + nb_bit_embedded=max(2*MsgLen,int(len(List3)/MsgLen)*MsgLen)+40 + print "nb_bit_embedded",nb_bit_embedded AvailablePixel3=List3 AvailablePixel5=AvailablePixel3.union(List5) AvailablePixel7=AvailablePixel5.union(List7) + sub=set() + if len(AvailablePixel3)>nb_bit_embedded: step=1 WorkingPixel=AvailablePixel3 + sub = bbs.sample(AvailablePixel3,nb_bit_embedded) elif len(AvailablePixel5)>nb_bit_embedded: step=2 WorkingPixel=AvailablePixel5 + sub = AvailablePixel3.union( + bbs.sample(AvailablePixel5-AvailablePixel3,nb_bit_embedded-len(AvailablePixel3))) + elif len(AvailablePixel7)>nb_bit_embedded: step=3 WorkingPixel=AvailablePixel7 + sub = AvailablePixel5.union( + bbs.sample(AvailablePixel7-AvailablePixel5,nb_bit_embedded-len(AvailablePixel5))) else: step=4 WorkingPixel=range(len(level2)) + sub = range(len(level2)) + print "avail P3",len(AvailablePixel3) print "avail P5",len(AvailablePixel5) print "avail P7",len(AvailablePixel7) - print "size WorkingPixel",len(WorkingPixel) - Weight=[0 for _ in WorkingPixel] + + Weight=[0 for _ in sub] l=0 - for i in WorkingPixel: + for i in sub: if step>=1 and i in List3: Weight[l]=1 if step>=2 and i in List5 and Weight[l]==0: @@ -457,13 +476,13 @@ def compute_filter_canny(level,image): - List_bit_to_change=WorkingPixel + List_bit_to_change=sub - return [List_bit_to_change,Weight] + return [sub,Weight] @@ -481,28 +500,13 @@ def mystego(filein, fileout): red, green, blue = dd.split() level=red.copy() - [List_bit_to_change,Weight]=compute_filter_canny(level,dd) - level= array(level.getdata()).flatten() - - - bit_to_read=1 - + 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:-)" - M=18532395500947174450709383384936679868383424444311405679463280782405796233163977*39688644836832882526173831577536117815818454437810437210221644553381995813014959 - # M clef - X=18532395500947174450709383384936679868383424444311 - # X clef - - - - - l=0 - + 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=message[0:len(message)/1] leng_msg=len(message) message=message+((leng_msg+7)/8*8-leng_msg)*" " @@ -517,7 +521,31 @@ def mystego(filein, fileout): leng_error=int(len_leng) leng_cor=leng List_pack=a2b_list(leng_cor) - print len(str(M)) + + + + + + [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)