You are on page 1of 32

OPENPUFF V4.

00 STEGANOGRAPHY & WATERMARKING


Data hiding and watermarking made easy, safe and free
EmbeddedSW, 2013
Send your suggestions, comments, bug reports, requests
to embedded@embeddedsw.net
OPENPUFF O!EP"#E
$E#"$ %E!"%&S
FE"'U%ES( )* +S '+S S'E#"NO#%"P* 'OO$ D+FFE%EN' F%O! 'E O'E%S,
FE"'U%ES( P%O#%"! "%-+'E-'U%E
FE"'U%ES( "D"P'+.E EN-OD+N# "ND S'E#"N"$*S+S %ES+S'"N-E
FE"'U%ES( !U$'+/-%*P'O#%"P* 0 D"'" O1FUS-"'+ON
)"' +S S'E#"NO#%"P*,
)"' +S DEN+"1$E S'E#"NO#%"P*,
)"' +S !"%&+N#,
SUPPO%'ED FO%!"'S +N DE'"+$
SU##ES'+ONS FO% 1E''E% %ESU$'S
OP'+ONS( 1+'S SE$E-'+ON $E.E$
S'EP 1* S'EP D"'" +D+N#
S'EP 1* S'EP D"'" UN+D+N#
S'EP 1* S'EP !"%& SE''+N#
S'EP 1* S'EP !"%& -E-&+N#
S'EP 1* S'EP D"'" 0 !"%& E%"S+N#
OPENPUFF V4.00 - ENGLISH - 7/7/2012 1
$E#"$ %E!"%&S
%emember( this program was not written for i22ega2 use3 Usage of this program that may 4io2ate your
country5s 2aws is se4ere2y forbidden3 'he author dec2ines a22 responsibi2ities for improper use of this
program3
No patented code or format has been added to this program3
'his program, un2ike codecs 6encoder7decoder 2ibraries8, doesn5t process any 4ideo or audio data3
"nci22ary bits on2y 6unused stream bits8 are processed3 "nything e2se is simp2y copied untouched3
'+S +S " F%EE)"%E SOF')"%E
'his software is re2eased under -- 1*/ND 93:
*ou;re free to copy, distribute, remi< and make commercia2 use of this software under the fo22owing
conditions(
*ou ha4e to cite the author 6and copyright owner8( EmbeddedSW
*ou ha4e to pro4ide a 2ink to the author;s omepage( E!1EDDEDS)3NE'
1"-&
OPENPUFF V4.00 - ENGLISH - 7/7/2012 2
Features: w! "s t"s ste#a$%#ra&! t%%' ("))ere$t )r%* te %ters+
OpenPuff is a professiona2 steganography too2, with unique features you won;t find among any other
free or commercia2 software3 OpenPuff is =::> free and suitab2e for high2y sensiti4e data co4ert
transmission3
)"' +S S'E#"NO#%"P*,
$et;s take a 2ook at its features
?-"%%+E%S -"+NS@
Data is sp2it among many carriers3 On2y the correct carrier sequence enab2es unhiding3 !oreo4er,
up to ABC!b can be hidden, if you ha4e enough carriers at disposa23 $ast carrier wi22 be fi22ed with
random bits in order to make it undistinguishab2e from others3
?SUPPO%'ED FO%!"'S@
+mages, audios, 4ideos, f2ash, adobe3
SUPPO%'ED FO%!"'S +N DE'"+$
?$"*E%S OF SE-U%+'*@
Data, before carrier inDection, is encrypted 6=8, scramb2ed 6A8, whitened 698 and encoded 6E83
FE"'U%ES( P%O#%"! "%-+'E-'U%E
?$"*E% = / !ODE%N !U$'+/-%+P'O#%"P*@
" set of =C modern ABCbit open/source cryptography a2gorithms has been Doined into a doub2e/
password mu2ti/cryptography a2gorithm 6ABCbitFABCbit83
?$"*E% A / -SP%N# 1"SED S-%"!1$+N#@
Encrypted data is a2ways scramb2ed to break any remaining stream pattern3 " new
cryptographica22y secure pseudo random number generator 6-SP%N#8 is seeded with a third
password 6ABCbit8 and data is g2oba22y shuff2ed with random inde<es3
?$"*E% 9 / -SP%N# 1"SED )+'EN+N#@
Scramb2ed data is a2ways mi<ed with a high amount of noise, taken from an independent
-SP%N# seeded with hardware entropy3
OP'+ONS( 1+'S SE$E-'+ON $E.E$
?$"*E% E / "D"P'+.E NON/$+NE"% EN-OD+N#@
)hitened data is a2ways encoded using a non/2inear function that takes a2so origina2 carrier bits
as input3 !odified carriers wi22 need much 2ess change and decei4e many stegana2ysis tests
6e3g3(
A
test83
FE"'U%ES( "D"P'+.E EN-OD+N# "ND S'E#"N"$*S+S %ES+S'"N-E
?EG'%" SE-U%+'* / DEN+"1$E S'E#"NO#%"P*@
'op secret data can be protected using 2ess secret data as a decoy3
)"' +S DEN+"1$E S'E#"NO#%"P*,
OPENPUFF V4.00 - ENGLISH - 7/7/2012 3
?SOU%-E -ODE@
'his program re2ies on the $+1O1FUS-"'E system/independent open/source 2ibrary3 Users and
de4e2opers are abso2ute2y free to 2ink to the core 2ibrary 6=::> of the cryptography 0 obfuscation
code8, read it and modify it3
Youre kindly asked to send me any libObfusate !ortin"#u!"rade#ustomi$in"#deri%ed sw, in order
to analy$e t&em and add t&em to t&e !ro'et &ome!a"e. ( entral u!dated offiial re!ository will
a%oid s!arseness and unrea&ability of t&e !ro'et deri%ed ode.
1"-&
OPENPUFF V4.00 - ENGLISH - 7/7/2012 4
FEATURES: PROGRAM AR,HITE,TURE
" high/2e4e2 g2oba2 description of OpenPuff;s architecture
data is sp2it among carriers
each carrier is associated to a random initia2iHation 4ector array 6+.S 8
te<t passwords 69A characters I ABCbit8 are associated 6&DFE 8 to he<adecima2 passwords
data is first encrypted with two ABCbit &E*S 6A8 6-8, using mu2ti/cryptography
encrypted data is then scramb2ed, with a third key 6,8, to break any remaining stream pattern
scramb2ed data is then whitened 6I mi<ed with random noise8
whitened data is then encoded using a function that takes a2so origina2 carrier bits as input
modified carriers recei4e the processed stream
J
J
J
OPENPUFF V4.00 - ENGLISH - 7/7/2012 5
%andom Engine 6-SP%N#8
+.s ?1)*@ ./N 6=AKbit8
+.s ?1)*@ 0/N 6=AKbit8
+.s ?1)*@ N/N 6=AKbit8
Data 0/N Data N/N
" 1 Encryption 6-SP%N#8
- Scramb2ing 6-SP%N#8
-arrier 0/N
+od,arrier 0/N +od,arrier ./N
-arrier N/N
+od,arrier N/N
Data ./N
)hitening 6-SP%N#8
-arrier ./N
" Pssw
&DF
E
"dapti4e Encoding
-arrier Engine
1 Pssw
- Pssw
-ryptography is a mu2ti step process
each carrier gets an independent setup
,arrierSetu!i I L -.si , ,S/012i , 3eysi M
each cipher gets an independent setup
,i!&er' I L -.' , 3ey' M
each data b2ock is processed with a different cipher, se2ected using the -SP%N#
,arrieri ,ry!ted4lokk I r 0and5i 68 N ,i!&err 6 -.r , 3eyr , ,arrieri 4lokk 8
J
J
!odified carriers recei4e
an encrypted copy of 6"ES8 its initia2iHation 4ector array
,ry!ted-.sn I ,ry!t 6 -.sn , ,ry!ted-.sn51 8
processed data
J
OPENPUFF V4.00 - ENGLISH - 7/7/2012 6
-SP%N#/i
-arrier
i
6=AKbit IN1
12ock
=7N
-arrier
i
6=AKbit IN1
12ock
A7N
-arrier
i
6=AKbit IN1
12ock
N7N
-arrier
i
6=AKbit OUT8
AES612ock
=7N
8
-arrier
i
6=AKbit OUT8
MARS612ock
N7N
8
-arrier
i
6=AKbit OUT8
R,2612ock
A7N
8
%"ND/i 68 I MARS
+.s ?1)*@ 0/N
AES
+od,arrier 0/N
-arrier Engine
+.s ?1)*@ ./N +.s ?1)*@ N/N8
AES AES
+od,arrier ./N +od,arrier N/N
%"ND/i 68 I AES %"ND/i 68 I R,2
+.s
i
?1)*@
6=AKbit8
OpenPuff imp2ements a cryptographica22y secure pseudo random number generator 6-SP%N# 8 using
"ES/ABC encryption3 12ock/based secure a2gorithms running in -ounter/!ode 6-'%8 beha4e, by
construction, as a random engine3
" good hardware source of starting entropy has been pro4ided, not depending on any third/party
2ibrary or system/"P+3 'hreads are a2ways schedu2ed by the OS in an unpredictab2e sequence 6due to
an una4oidab2e 2ack of timing accuracy8, easi2y a22owing to get a significant amount of EGE-U'+ON %"-E
-OND+'+ON 3 N threads run in para22e2, incrementing and decrementing shared 4a2ues that, after a whi2e,
turn into random 4a2ues3
J
OPENPUFF V4.00 - ENGLISH - 7/7/2012 7
-'% 6=AKbit8 Entropy
&ey 6ABCbit8
%andom
%andom Engine 6-SP%N#8
=AKbit 12ocks / ABCbit &ey / -'%

AES
'hread 0/N 'hread ./N 'hread N/N
Shared 4a2ues
Entropy %andom Engine 6-SP%N#8
'esting has been performed on the statistica2 resistance of the -SP%N# and the mu2ti/wrapper, using
the we22 known PSEUDO%"NDO! NU!1E% SEOUEN-E 'ES' P%O#%"! / EN' 3
Pro4ided resu2ts are taken from CE&b, =AK&b, 333 ABC!b samp2es(
bit entropy test resistance(
PQ3RRRR<< 7 K3:::::: referene6 78.9
compression test resistance 6siHe reduction after compression8(
:> referene6 :1;
chi/squared distribution test resistance(
A:> S de4iaHione S K:> referene6 710;, :90;
mean 4a2ue test resistance(
=AQ3E< 7 =AQ3B referene6 7128, :12<
!onte -ar2o test resistance(
errore S :3:=> referene6 : 1;
seria2 corre2ation test resistance(
S :3:::= referene6 : 0.01
1"-&
OPENPUFF V4.00 - ENGLISH - 7/7/2012 8
FEATURES: A3APTIVE EN,O3ING AN3 STEGANA4YSIS RESISTAN,E
Security, performance and stegana2ysis resistance are conf2icting trade/offs3
?Security 4s3 Performance@( )hitening
Pro( ensures higher data security
Pro( a22ows deniab2e steganography
,%$0( re=uires a lot of e*tra arrier bits
?Security 4s3 Stegana2ysis@( -ryptography F )hitening
Pro( ensure higher data security
,%$.( t&eir random5like statistial res!onse marks arriers as more >sus!iious?
Shou2d we then be concerned about OpenPuff;s S'E#"N"$*S+S %ES+S'"N-E , Data, before carrier
inDection, is encrypted 6=8, scramb2ed 6A8 and whitened 6983 Do these 9 steps turn a sma22 amount of
hidden data into a big chunk of suspicious data,
" new security 2ayer has been added at the bottom of the data process3 )hitened data is a2ways
encoded using a non/2inear function that takes a2so origina2 carrier bits as input3 !odified carriers wi22
need much 2ess change 6,%$08 and, 2owering their random/2ike statistica2 response, decei4e many
stegana2ysis tests 6,%$.83
TDEFEND+N# "#"+NS' S'"'+S'+-"$ S'E#"N"$*S+S T 6Nie2s Pro4os8
T-ONS'%U-'+N# #OOD -O.E%+N# -ODES FO% "PP$+-"'+ONS +N S'E#"NO#%"P* T 6Uessica Fridrich8
'he pro4ided coding imp2ementation is a no4e2 unpub2ished function 6bui2t from scratch8 that ensures
output password dependence
high 6B:>8 embedding efficiency
2ow 6SA:>8 change rate
1"-&
OPENPUFF V4.00 - ENGLISH - 7/7/2012 9
+od,arrier -arrier
Encrypt V Scramb2ing V )hitening
Encoding
Data
: = = =
: = = :
: = : =
: 0 = :
: = 0 =
FEATURES: MU4TI5,RYPTOGRAPHY & 3ATA O-FUS,ATION
FA6 0: W! ("($7t !%u s"*&'! "*&'e*e$t a sta$(ar( AES5.82 %r RSA500.4+
!odern open/source cryptography
has been thorough2y in4estigated and re4iewed by the scientific community
it;s wide2y accepted as the safest way to secure your data
fu2fi22s a2most e4ery standard need of security
OpenPuff doesn;t support any -ONSP+%"-* 'EO%* against our pri4acy 6SE-%E' -%"-&+N# 1"-&DOO%S ,
intentiona22y weak cryptography designs, J83 'here;s rea22y no reason not to trust standard modern
pub2ic2y a4ai2ab2e cryptography 6a2though some o2d ciphers ha4e been a2ready -%"-&ED 83
Steganography users, howe4er, are 4ery 2ike2y to be hiding 4ery sensiti4e data, with an unusually &i"&
need of security3 'heir secrets need to go through a deep process of data O1FUS-"'+ON in order to be
ab2e to lon"er sur4i4e forensic in4estigation and hardware aided brute force attacks3
FA6 .: Is *u't"59r!&t%#ra&! s"*"'ar t% *u't"&'e5e$9r!&t"%$+
!u2ti/cryptography is something rea22y different from !U$'+P$E/EN-%*P'+ON 6encrypting more than once83
'here;s rea22y no common agreement about mu2tip2e/encryption;s re2iabi2ity3 +t;s thought to be(
1E''E% than sing2e encryption
)E"& as the weakest cipher in the encryption queue7process
w%rse than sing2e encryption
OpenPuff supports the 2ast thesis 6worse8 and ne4er encrypts a2ready encrypted data3
FA6 :: Is *u't"59r!&t%#ra&! s"*"'ar t% ra$(%*/&%'!*%r&"959r!&t%#ra&!+
%andom/cryptography, a3k3a3 PO$*!O%P+- -%*P'O#%"P* , is a we22/known SN"&E/O+$ -%*P'O#%"P* 3
!u2ti/cryptography is something comp2ete2y different and ne4er aims to bui2d some better, random or
on/the/f2y cipher3
OpenPuff on2y re2ies on stab2e modern open/source cryptography3
FE"'U%ES( P%O#%"! "%-+'E-'U%E
1"-&
OPENPUFF V4.00 - ENGLISH - 7/7/2012 10
WHAT IS STEGANOGRAPHY+
+t5s a S!"%' )"* to hide data into other fi2es, ca22ed 9arr"ers3 !odified carriers wi22 2ook 2ike the origina2
ones, without perceptib2e changes3 1est carriers are 4ideos, images and audio fi2es, since e4erybody
can send7recei4e7down2oad them without suspects3
'he steganography process is high2y se2ecti4e and adapti4e, with a minimum pay2oad for each carrier3
-arriers with a ma<imum hidden data amount 2ess than the minimum pay2oad wi22 be discarded3
FABC1 +.
F=C1 a cryptography b2ock
FE"'U%ES( P%O#%"! "%-+'E-'U%E
'here;s no -"%%+E% bytes thresho2d during the marking process3
)"' +S !"%&+N#,
)* SOU$D + NEED '+S 'E-N+OUE,
*ou (%$;t $ee( this technique if your data
can be e<p2icit2y sent or stored in a2tered suspicious format3
*ou *a! <e interested in this technique if your data
needs hiding without turning into suspicious format3
ha4e to be easi2y accessib2e by e4eryone, but retrie4ab2e on2y by peop2e acquainted with your
secret intent3
1"-&
OPENPUFF V4.00 - ENGLISH - 7/7/2012 11
WHAT IS 3ENIA-4E STEGANOGRAPHY+
DEN+"1$E EN-%*P'+ON7S'E#"NO#%"P* is a decoy based technique that a22ows you to con4incing2y deny
the fact that you;re hiding se$s"t"=e (ata, e4en if attackers are ab2e to state that you;re hiding some
data3 *ou on2y ha4e to pro4ide some e<pendab2e decoy data that you wou2d &'aus"<'! want to keep
confidentia23 +t wi22 be re4ea2ed to the attacker, c2aiming that this is a22 there is3
ow is it possib2e, Encrypted and scramb2ed data, before carrier inDection, is whitened 6FE"'U%ES(
P%O#%"! "%-+'E-'U%E 8 with a high amount of noise 6OP'+ONS( 1+'S SE$E-'+ON $E.E$ 83 Decoy data can
rep2ace some of this noise without 2oosing fina2 properties of -%*P'"N"$*S+S %ES+S'"N-E 3
Sensiti4e data and decoy data are encrypted using different passwords3 *ou ha4e to choose two
different sets of different passwords3
E<amp2e(
Sensibi2e data( Password 6"8 W@irstAata/ssw1X
Password 618 WSeondAata/ssw2X
Password 6-8 W(not&erAata/ssw3X
6A > -8 Q:>, 6A > ,8 CQ>, 6- > ,8 CK>, "!!+N# D+S'"N-E Y AB>
Z Z Z
Decoy data( Password 6";8 W@irstAeoy/ssw1X
Password 61;8 WSeondAeoy/ssw2X
Password 6-;8 W(not&erAeoy/ssw3X
6A7 > -78 QA>, 6A7 > ,78 C:>, 6-7 > ,78 Q:>, "!!+N# D+S'"N-E Y AB>
OPENPUFF V4.00 - ENGLISH - 7/7/2012 12
N
O
%
!
"
$
"
'
'
"
-
&
)hitening
Data
Noise Data
Data
ise
)hitening
SecretData
SecretPasswords
DecoyData
DecoyPasswords
No
ide
DecoyPasswords DecoyData
Unhide
Unhide
SecretData
SecretPasswords
Each password has to be different 6at bit 2e4e28 and at 2east K characters 2ong3
E<amp2e( WDataPssw=X 6"8 WDataPsswAX 618 WDataPssw9X 6-8
6"8 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
618 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
6-8 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
6A > -8 RK>, 6A > ,8 RR>, 6- > ,8 RR>, "!!+N# D+S'"N-E S AB> KO
E<amp2e( WFirstDataPssw=X 6"8 WSecondDataPsswAX 618 W"notherDataPssw9X 6-8
6"8 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 J
618 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 J
6-8 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 J
6A > -8 Q:>, 6A > ,8 CQ>, 6- > ,8 CK>, "!!+N# D+S'"N-E Y AB> OK
*ou wi22 be asked for
two ("))ere$t sets of different passwords
a stream of sensiti4e data
a stream of decoy data 9%*&at"<'e 6by siHe8 with sensiti4e data
B
k { 1, N-1 }
usedCarrierCbytesD arr
k
E : Si$eofD Aeoy E F B
k { 1, N }
usedCarrierCbytesD arr
k
E
E<amp2e(
,arr"ers ,arr"er <!tes Se$s"t"=e3ata 3e9%!3ata
?,arr @0/N1 :. A Use(
B .2CC A Use(
?,arr @N50/N1 4C A Use(
?,arr @N/N1 24 N%t use(
T%ta' D .C:. T%ta' D .EF8 .E.0 G S"He I .E2C
1"-&
OPENPUFF V4.00 - ENGLISH - 7/7/2012 13
WHAT IS MARKING+
!arking is here stated as the action of signing a fi2e with your copyright mark 6best known as
)"'E%!"%&+N# 83 'his program does it in a steganographic way, app2ied to 4ideos, images and audio
fi2es3 *our copyright mark wi22 be in4isib2e, but accessib2e by e4eryone 6using this program8, since it
won5t be password protected3
)* SOU$D + NEED '+S 'E-N+OUE,
*ou (%$;t $ee( this technique if your copyright mark
needs to be c2ear2y 4isib2e
has to be independent from graphic7audio data, therefore capab2e of sur4i4ing editing operations
*ou *a! <e interested in this technique if your copyright mark
needs to be in4isib2e
has to be dependent from graphic7audio data, therefore incapab2e of sur4i4ing editing operations
has to be accessib2e by e4eryone 6using this program8
" possib2e usage of this technique cou2d be( insertion of an in4isib2e copyright mark into registered fi2es
that ha4e to be pub2ic2y shared3 +22ega22y manipu2ated copies wi22 maybe 2ook 2ike origina2 ones, but wi22
partia22y7tota22y 2oose the in4isib2e copyright mark3
1"-&
OPENPUFF V4.00 - ENGLISH - 7/7/2012 14
SUPPORTE3 FORMATS IN 3ETAI4
+mages( 1!P , UP# , P-G , PN# , '#"
"udios( "+FF , !P9 , NEG'7SUN , )".
.ideos( 9#P , F$. , !PE , !P# , S)F , .O1
F2ash/"dobe( PDF
-arriers wi22 keep their format
?in( 9A bits per p2ane '#", out( 9A bits per p2ane '#"@
?in( Stereo )"., out( Stereo )".@
?in( %#1F"2pha 1!P, out( %#1F"2pha 1!P@
etcJ
"dditiona2 tags7chunks and e<tra bytes wi22 be entire2y copied unchanged3
Don5t perform any further operation to modified carriers3 'heir carrier bits wou2d 4ery probab2y be
a2tered3
1"-&
OPENPUFF V4.00 - ENGLISH - 7/7/2012 15
1!P +!"#ES 6!+-%OSOF'8
&nown e<tensions( G.4+/, G.A-4
AE79A bits per pi<e2
!ono7%#17%#1F"2pha
Up to 4ersion B
1"-&
UP# +!"#ES 6UO+N' PO'O#%"P+- EGPE%'S #%OUP8
&nown e<tensions( G.H/2, G.H/E, G.H/E2, G.H@-@
K bits per p2ane
=/E p2anes per pi<e2, i3e3( !ono7%#17*-b-r7*-b-r&7-!*7-!*&
1ase2ine 2ossy D-'/Dfif with uffman compression
hA4A 6E(E8, h=4A 6E(A8, hA4= 6E(A8, h=4= 6E(=8 p2anes independent a2ignment
1"-&
P-G +!"#ES 6[SOF'8
&nown e<tensions( G./,I
AE bits per pi<e2 !ono7%#1
-ompressed7Uncompressed
1"-&
PN# +!"#ES 6PO%'"1$E NE')O%& #%"P+-S8
&nown e<tensions( G./12
K7=C bits per p2an
!ono7%#17!onoF"2pha7%#1F"2pha
+nter2aced7$inear
1"-&
'#" +!"#ES 6'"%#" '%UE.+S+ON8
&nown e<tensions( G.J2(, G..A(, G.-,4, G..SJ
!ono/K bits per pi<e2 or %#17%#1F"2pha/AE79A bits per pi<e2
-ompressed7Uncompressed
1"-&
OPENPUFF V4.00 - ENGLISH - 7/7/2012 16
"+FF "UD+OS 6"UD+O +N'E%-"N#E F+$E FO%!"'8
&nown e<tensions( G.(-@, G.(-@@
=C bits per samp2e
!ono7Stereo7!u2ti channe2s
$inear, uncompressed
1"-&
!P9 "UD+OS 6F%"UNOFE% +NS'+'U'8
&nown e<tensions( G.+/3
!P# =7!P# A7!P# A3B $ayer +++
Fi<ed7.ariab2e 1itrate
!ono7Dua2 -hanne27Uoint Stereo7Stereo
+D 'agged
1"-&
NEG'7SUN "UD+OS 6SUN 0 NEG'8
&nown e<tensions( G.(K, G.S1A
=C bits per samp2e
!ono7Stereo7!u2ti channe2s
$inear, uncompressed
1"-&
)". "UD+OS 6!+-%OSOF'8
&nown e<tensions( G.W(., G.W(.E
=C bits per samp2e
!ono7Stereo7!u2ti channe2s
P-!, uncompressed
1"-&
9#P .+DEOS 69%D #ENE%"'+ON P"%'NE%S+P P%O#%"!8
&nown e<tensions( G.32/, G.32//, G.322, G.32/2
Up to 4ersion =:
-odec independent support
Up to 9A tracks
1"-&
OPENPUFF V4.00 - ENGLISH - 7/7/2012 17
"DO1E F$. .+DEOS 6F$"S .+DEO8
&nown e<tensions( G.@L., G.@M., G.@M/, G.@M(, G.@M4
Up to 4ersion =:
-odec independent support
"udio !P9 tracks ana2ysis
1"-&
!PE .+DEOS 6!O'+ON P+-'U%E EGPE%'S #%OUP8
&nown e<tensions( G.+/M, G.+/2M, G.+/E2M, G.+M(, G.+M., G.+/M(, G.+/M.
Up to specification +SO7+E- =EERC/=A(A::K
-odec independent support
Up to 9A tracks
1"-&
!P# .+DEOS 6!O'+ON P+-'U%E EGPE%'S #%OUP8
&nown e<tensions( G.+/2, G.+/E2, G.+/(, G.+/., G.+/1, G.+/21, G.+1(, G.+1., G.+/1(,
G.+/1., G.+/2, G.+/22, G.+2(, G.+2., G.+/2(, G.+/2.
!peg + Systems / up to specification +SO7+E- ===QA/=(=RRR
!peg ++ Systems / up to specification +SO7+E- =9K=K/=(A::Q
-odec independent support
1"-&
"DO1E S)F .+DEOS 6SO-&)".E F$"S8
&nown e<tensions( G.SW@
Up to 4ersion =:
-odec independent support
"udio !P9 tracks ana2ysis
1"-&
.O1 .+DEOS 6D.D / .+DEO O1UE-'8
&nown e<tensions( G..O4
!peg ++ Systems / up to specification +SO7+E- =9K=K/=(A::Q
-odec independent support
1"-&
OPENPUFF V4.00 - ENGLISH - 7/7/2012 18
"DO1E PDF F+$ES 6PO%'"1$E DO-U!EN' FO%!"'8
&nown e<tensions( G./A@
Up to specification +SO7+E- 9A:::/=(A::K
%e4ision independent support
1"-&
OPENPUFF V4.00 - ENGLISH - 7/7/2012 19
SUGGESTIONS FOR -ETTER RESU4TS
-"%%+E% -"+NS(
ide your data into sing2e7mu2tip2e carrier chains, adding carriers in une<pected order3 Unhiding
attempts by una22owed curious peop2e wi22 grow in comp2e<ity3
Sing2e carrier e<amp2e( 6Simp2e, Fast unhiding time, Unsafe8
?M!3ata JJ K%$.*&:
Sing2e chain e<amp2e( 6!edium comp2e<ity, !edium unhiding time, Safe8
?M!3ata JJ -ear.L&# M N%%.t#a M Arr%w.&$# M K%$.<*& M B
!u2tip2e chains e<amp2e( 6!a<imum comp2e<ity, S2ow unhiding time, Safer8
?M!3ata @0/$1 JJ -ear.L&# M Arr%w.&$# M K%$.<*& M B
B
?M!3ata @$/$1 JJ N%%.t#a M Arr%w.&$# M -ee&.wa= M B
P"SS)O%D(
!ake use of 2ong 6P=C chars8 easy to remember passwords, changing them e4ery time3
-"%%+E% 1+'S SE$E-'+ON $E.E$(
!ake a2ways use of different 2e4e2s for each hiding process3 Unhiding attempts by una22owed curious
peop2e wi22 grow in comp2e<ity3
E<amp2e(
H"("$# &r%9ess 0:
A")): 4%w
-MP: Ver! '%w
KPG: MaO"*u*
B
H"("$# &r%9ess .:
AIFF: Me("u*
-MP: 4%w
KPG: M"$"*u*
B
OPENPUFF V4.00 - ENGLISH - 7/7/2012 20
" FU$$ S*S'E! -OU$D 1EJ
iding your data into many comp2e< chains 6hundreds of carriers, with non a2phabetica2 random
order8, each one with a comp2ete2y different set of 9A/chars/passwords
Sa4ing a22 settings inside an Winde<X sing2e carrier
E<amp2e(
?M!3ata @0/$1 P9arr"er0 M B M 9arr"er000Q
PVer!4%$#Passw%r(s0Q
P-"tsSe'e9t"%$4e=e'0Q
B
?M!3ata @$/$1 P9arr"er0 M B M 9arr"er000Q
PVer!4%$#Passw%r(sNQ
P-"tsSe'e9t"%$4e=e'NQ
" 4ery unsuspicious Winde<X carrier 6fi<ed password F fi<ed bits se2ection 2e4e28 ho2ding a te<t fi2e that
summaries
carriers name and order
passwords
bit se2ection 2e4e2s
1"-&
OPENPUFF V4.00 - ENGLISH - 7/7/2012 21
OPTIONS: -ITS SE4E,TION 4EVE4
6+inimum8 =7K data, Q7K whitening3
6.ery Low8 =7Q data, C7Q whitening3
6Low8 =7C data, B7C whitening3
6+edium8 =7B data, E7B whitening3
6Ni"&8 =7E data, 97E whitening3
6.ery Ni"&8 =79 data, A79 whitening3
6+a*imum8 =7A data, =7A whitening3
1"-&
OPENPUFF V4.00 - ENGLISH - 7/7/2012 22
3ATA HI3ING STEP -Y STEP
1E#+N(
6Nide8 #o to hiding pane2
Se2ect Nide3
S'EP =(
6,ry!to"ra!&y (8 First password 6cryptography keys8
6,ry!to"ra!&y 48 Second password 6cryptography -SP%N#8
6Sramblin" ,8 'hird password 6scramb2ing -SP%N#8
6Enable 48 Second password enab2e7disab2e
6Enable ,8 'hird password enab2e7disab2e
+nsert three separate passwords3 Each password has to be different 6at bit 2e4e28 and at 2east K
characters 2ong3 Password type and number can be easi2y customiHed disab2ing the second 618 and7or
the third 6-8 password3 Disab2ed passwords wi22 be set as the first 6"8 password3
E<amp2e( WDataPssw=X 6"8 WDataPsswAX 618 WDataPssw9X 6-8
6"8 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
618 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
6-8 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
6A > -8 RK>, 6A > ,8 RR>, 6- > ,8 RR>, "!!+N# D+S'"N-E S AB> KO
E<amp2e( WFirstDataPssw=X 6"8 WSecondDataPsswAX 618 W"notherDataPssw9X 6-8
6"8 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 J
618 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 J
6-8 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 J
6A > -8 Q:>, 6A > ,8 CQ>, 6- > ,8 CK>, "!!+N# D+S'"N-E Y AB> OK
SU##ES'+ONS FO% 1E''E% %ESU$'S
)"' +S DEN+"1$E S'E#"NO#%"P*,
OPENPUFF V4.00 - ENGLISH - 7/7/2012 23
S'EP A(
64rowse8 Se2ect a fi2e
-hoose the secret data you want to hide 6typica22y a Hip7rar7J archi4e83
S'EP 9(
6S&uffle8 %andom shuff2e a22 carriers
6,lear8 Discard a22 carriers
6(dd8 "dd new carriers to the 2ist
61ame87 64its8 Sort carriers by name7bits
6O87658 !o4e se2ected carriers up7down
6Ael8 De2ete se2ected carriers
Unti2 seleted bytes S total bytes try
adding new carriers
increasing bit se2ection 2e4e2
6+8 6++8
Some carriers wi22 not be added because of steganography/process constraints
6+8 not enough carrier bytes 6carrier bytes carrier siHe8
)"' +S S'E#"NO#%"P*,
6++8 unsupported format
SUPPO%'ED FO%!"'S +N DE'"+$
OPENPUFF V4.00 - ENGLISH - 7/7/2012 24
S'EP E(
60eset O!tions8 %eset a22 bits se2ection 2e4e2 to norma2
6(dd AeoyP8 "dd a decoy 6deniab2e steganography8
6NideP8 Start hiding
"fter
typing twice the same password, at 2east K chars
se2ecting a non/empty fi2e to hide
adding enough carrier bits
adding a decoy 6optiona28
start the hiding task
OP'+ONS( 1+'S SE$E-'+ON $E.E$
OPENPUFF V4.00 - ENGLISH - 7/7/2012 25
'"S& %EPO%'(
End report summariHes a22 information needed for a successfu2 unhiding3
S'EP E \ 6OP'+ON"$8(
6,ry!to"ra!&y (8 First password 6cryptography keys8
6,ry!to"ra!&y 48 Second password 6cryptography -SP%N#8
6Sramblin" ,8 'hird password 6scramb2ing -SP%N#8
6Enable 48 Second password enab2e7disab2e
6Enable ,8 'hird password enab2e7disab2e
64rowse8 Se2ect a fi2e
60eset8 %eset password and fi2e
6,&ek Q (e!t8 -heck password corre2ation and fi2e siHe
*ou can a2so add a decoy password and decoy data
decoy passwords ha4e to be each other ("))ere$t, and different from data passwords
decoy password type and number can be customiHed 2ike data passwords
decoy data has to be 9%*&at"<'e 6by siHe8 with sensiti4e data
B
k { 1, N-1 }
usedCarrierCbytesD arr
k
E : Si$eofD Aeoy E F B
k { 1, N }
usedCarrierCbytesD arr
k
E
)"' +S DEN+"1$E S'E#"NO#%"P*,
1"-&
OPENPUFF V4.00 - ENGLISH - 7/7/2012 26
3ATA UNHI3ING STEP -Y STEP
1E#+N(
6Kn&ide8 #o to unhiding pane2
Se2ect Kn&ide3
S'EP =(
6,ry!to"ra!&y (8 First password 6cryptography keys8
6,ry!to"ra!&y 48 Second password 6cryptography -SP%N#8
6Sramblin" ,8 'hird password 6scramb2ing -SP%N#8
6Enable 48 Second password enab2e7disab2e
6Enable ,8 'hird password enab2e7disab2e
+nsert your passwords 6secret to get secret data, decoy to get decoy data8, enab2ing on2y those used at
hiding time3
SU##ES'+ONS FO% 1E''E% %ESU$'S
)"' +S DEN+"1$E S'E#"NO#%"P*,
S'EP A(
6,lear8 Discard a22 carriers
6(dd8 "dd new carriers to the 2ist
61ame87 64its8 Sort carriers by name7bits
6O87658 !o4e se2ected carriers up7down
6Ael8 De2ete se2ected carriers
"dd a22 the carriers that ha4e been processed during the hide task3
OPENPUFF V4.00 - ENGLISH - 7/7/2012 27
SUPPO%'ED FO%!"'S +N DE'"+$
S'EP 9(
60eset O!tions8 %eset a22 bits se2ection 2e4e2
6Kn&ideP8 Start unhiding
"fter
typing twice the same password
adding a22 the carriers, in the right order
setting a22 bits se2ection 2e4e2s to the origina2 4a2ue
start the unhiding task
OP'+ONS( 1+'S SE$E-'+ON $E.E$
OPENPUFF V4.00 - ENGLISH - 7/7/2012 28
'"S& %EPO%'(
+f carriers ha4e been added in the right order, with the origina2 bits se2ection 2e4e2s, OpenPuff wi22 be
ab2e to reconstruct the origina2 data3 For better security, data wi22 be reconstructed on2y after a
successfu2 -%- check3
E%en t&e sli"&test &an"e in one of t&e arrier ould dama"e t&e data and !re%ent e%ery un&idin" try.
1"-&
OPENPUFF V4.00 - ENGLISH - 7/7/2012 29
MARK SETTING STEP -Y STEP
1E#+N(
6Set +ark8 #o to mark setting pane2
Se2ect Set +ark3
S'EP =(
6-nsert mark8 *our mark
'ype once your mark3
S'EP A(
6,lear8 Discard a22 carriers
6(dd8 "dd new carriers to the 2ist
61ame8 Sort carriers by name
6Ael8 De2ete se2ected carriers
6Set +arkP8 Start mark setting
"dd a22 the carriers that need to be marked3
Start the setting task3
SUPPO%'ED FO%!"'S +N DE'"+$
1"-&
OPENPUFF V4.00 - ENGLISH - 7/7/2012 30
MARK ,HE,KING STEP -Y STEP
1E#+N(
6,&ek +ark8 #o to mark checking pane2
Se2ect ,&ek +ark3
S'EP =(
6,lear8 Discard a22 carriers
6(dd8 "dd new carriers to the 2ist
61ame8 Sort carriers by name
6Ael8 De2ete se2ected carriers
6,&ek +arkP8 Start mark checking
"dd a22 the carriers that need to be checked3 Start the checking task3
SUPPO%'ED FO%!"'S +N DE'"+$
'"S& %EPO%'(
End report summariHes, for each carrier, integrity and mean integrity information3
1"-&
OPENPUFF V4.00 - ENGLISH - 7/7/2012 31
3ATA & MARK ERASING STEP -Y STEP
1E#+N(
6,lean K!8 #o to data 0 mark erasing pane2
Se2ect ,lean K!3
S'EP =(
6,lear8 Discard a22 carriers
6(dd8 "dd new carriers to the 2ist
61ame8 Sort carriers by name
6Ael8 De2ete se2ected carriers
6,lean K!P8 Start data 0 mark erasing
"dd a22 the carriers that need to be c2eaned and start the c2eaning task3
SUPPO%'ED FO%!"'S +N DE'"+$
1"-&
OPENPUFF V4.00 - ENGLISH - 7/7/2012 32

You might also like