From b417a74f270da1ad1a8b11552a8508c45cb75085 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jean-Fran=C3=A7ois=20Couchot?= Date: Fri, 21 Jun 2013 17:36:30 +0200 Subject: [PATCH] maj --- emb.ps | 887 ++++++++++++++++++++++++++++++------------------ intro.tex | 20 +- main.tex | 25 +- ourapproach.tex | 136 ++++---- rec.ps | 592 ++++++++++++++++---------------- schema.dot | 54 ++- schema2.dot | 23 +- 7 files changed, 999 insertions(+), 738 deletions(-) diff --git a/emb.ps b/emb.ps index cd23145..37a2205 100644 --- a/emb.ps +++ b/emb.ps @@ -178,807 +178,1028 @@ def %%EndSetup setupLatin1 %%Page: 1 1 -%%PageBoundingBox: 36 36 429 616 +%%PageBoundingBox: 36 36 601 722 %%PageOrientation: Portrait 0 0 1 beginpage gsave -36 36 393 580 boxprim clip newpath +36 36 565 686 boxprim clip newpath 1 1 set_scale 0 rotate 40 41 translate -% IC +% PI gsave 1 setlinewidth 0 0 0 nodecolor -newpath 131 498 moveto -79 498 lineto +newpath 72 604 moveto +12 604 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 79 498 moveto -73 498 67 492 67 486 curveto +newpath 12 604 moveto +6 604 0 598 0 592 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 67 486 moveto -67 466 lineto +newpath 0 592 moveto +0 572 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 67 466 moveto -67 460 73 454 79 454 curveto +newpath 0 572 moveto +0 566 6 560 12 560 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 79 454 moveto -131 454 lineto +newpath 12 560 moveto +72 560 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 131 454 moveto -137 454 143 460 143 466 curveto +newpath 72 560 moveto +78 560 84 566 84 572 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 143 466 moveto -143 486 lineto +newpath 84 572 moveto +84 592 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 143 486 moveto -143 492 137 498 131 498 curveto +newpath 84 592 moveto +84 598 78 604 72 604 curveto stroke 0 0 0 nodecolor 14 /Times-Roman set_font -83.5 481.4 moveto 43 (Image) alignedtext +8 587.4 moveto 68 (Choice of ) alignedtext 0 0 0 nodecolor 14 /Times-Roman set_font -74.5 463.4 moveto 61 (Cover X ) alignedtext +13 569.4 moveto 58 ( cover X) alignedtext grestore % ED gsave 1 setlinewidth 0 0 0 nodecolor -newpath 158 416 moveto -54 416 lineto +newpath 215 522 moveto +55 522 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 54 416 moveto -48 416 42 410 42 404 curveto +newpath 55 522 moveto +49 522 43 516 43 510 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 42 404 moveto -42 384 lineto +newpath 43 510 moveto +43 498 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 42 384 moveto -42 378 48 372 54 372 curveto +newpath 43 498 moveto +43 492 49 486 55 486 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 54 372 moveto -158 372 lineto +newpath 55 486 moveto +215 486 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 158 372 moveto -164 372 170 378 170 384 curveto +newpath 215 486 moveto +221 486 227 492 227 498 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 170 384 moveto -170 404 lineto +newpath 227 498 moveto +227 510 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 170 404 moveto -170 410 164 416 158 416 curveto +newpath 227 510 moveto +227 516 221 522 215 522 curveto stroke 0 0 0 nodecolor 14 /Times-Roman set_font -56 399.4 moveto 100 (x= LSB \(7 bits) alignedtext +50.5 500.4 moveto 169 (x=edgeDetection\(b bits\)) alignedtext +grestore +% PI->ED +gsave +1 setlinewidth +0 0 0 edgecolor +newpath 68.4 559.86 moveto +79.92 550.2 93.48 538.83 105.34 528.87 curveto +stroke +0 0 0 edgecolor +newpath 107.83 531.36 moveto +113.24 522.25 lineto +103.33 526 lineto +closepath fill +1 setlinewidth +solid +0 0 0 edgecolor +newpath 107.83 531.36 moveto +113.24 522.25 lineto +103.33 526 lineto +closepath stroke +grestore +% PIb +gsave +1 setlinewidth +0 0 0 nodecolor +newpath 172 600 moveto +114 600 lineto +stroke +1 setlinewidth +0 0 0 nodecolor +newpath 114 600 moveto +108 600 102 594 102 588 curveto +stroke +1 setlinewidth +0 0 0 nodecolor +newpath 102 588 moveto +102 576 lineto +stroke +1 setlinewidth +0 0 0 nodecolor +newpath 102 576 moveto +102 570 108 564 114 564 curveto +stroke +1 setlinewidth +0 0 0 nodecolor +newpath 114 564 moveto +172 564 lineto +stroke +1 setlinewidth +0 0 0 nodecolor +newpath 172 564 moveto +178 564 184 570 184 576 curveto +stroke +1 setlinewidth +0 0 0 nodecolor +newpath 184 576 moveto +184 588 lineto +stroke +1 setlinewidth +0 0 0 nodecolor +newpath 184 588 moveto +184 594 178 600 172 600 curveto +stroke 0 0 0 nodecolor 14 /Times-Roman set_font -50 381.4 moveto 112 (Edge Detection\)) alignedtext +110 578.4 moveto 66 (Param. b ) alignedtext grestore -% IC->ED +% PIb->ED gsave 1 setlinewidth 0 0 0 edgecolor -newpath 105.27 453.59 moveto -105.38 445.12 105.5 435.3 105.61 426.1 curveto +newpath 141.14 563.91 moveto +140.18 554.53 138.98 542.85 137.9 532.3 curveto stroke 0 0 0 edgecolor -newpath 109.11 426.14 moveto -105.73 416.1 lineto -102.11 426.05 lineto +newpath 141.38 531.85 moveto +136.87 522.26 lineto +134.41 532.57 lineto closepath fill 1 setlinewidth solid 0 0 0 edgecolor -newpath 109.11 426.14 moveto -105.73 416.1 lineto -102.11 426.05 lineto +newpath 141.38 531.85 moveto +136.87 522.26 lineto +134.41 532.57 lineto closepath stroke grestore % message gsave 1 setlinewidth 0 0 0 nodecolor -newpath 225 494 moveto -173 494 lineto +newpath 376 600 moveto +286 600 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 173 494 moveto -167 494 161 488 161 482 curveto +newpath 286 600 moveto +280 600 274 594 274 588 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 161 482 moveto -161 470 lineto +newpath 274 588 moveto +274 576 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 161 470 moveto -161 464 167 458 173 458 curveto +newpath 274 576 moveto +274 570 280 564 286 564 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 173 458 moveto -225 458 lineto +newpath 286 564 moveto +376 564 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 225 458 moveto -231 458 237 464 237 470 curveto +newpath 376 564 moveto +382 564 388 570 388 576 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 237 470 moveto -237 482 lineto +newpath 388 576 moveto +388 588 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 237 482 moveto -237 488 231 494 225 494 curveto +newpath 388 588 moveto +388 594 382 600 376 600 curveto stroke 0 0 0 nodecolor 14 /Times-Roman set_font -169 472.4 moveto 60 (message) alignedtext +282 578.4 moveto 98 (Message mess) alignedtext grestore % encrypt gsave 1 setlinewidth 0 0 0 nodecolor -newpath 360 412 moveto -200 412 lineto +newpath 405 522 moveto +257 522 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 200 412 moveto -194 412 188 406 188 400 curveto +newpath 257 522 moveto +251 522 245 516 245 510 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 188 400 moveto -188 388 lineto +newpath 245 510 moveto +245 498 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 188 388 moveto -188 382 194 376 200 376 curveto +newpath 245 498 moveto +245 492 251 486 257 486 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 200 376 moveto -360 376 lineto +newpath 257 486 moveto +405 486 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 360 376 moveto -366 376 372 382 372 388 curveto +newpath 405 486 moveto +411 486 417 492 417 498 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 372 388 moveto -372 400 lineto +newpath 417 498 moveto +417 510 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 372 400 moveto -372 406 366 412 360 412 curveto +newpath 417 510 moveto +417 516 411 522 405 522 curveto stroke 0 0 0 nodecolor 14 /Times-Roman set_font -195.5 390.4 moveto 169 (m=encryption\(message\)) alignedtext +252.5 500.4 moveto 157 (m=encryption\(mess,k\)) alignedtext grestore % message->encrypt gsave 1 setlinewidth 0 0 0 edgecolor -newpath 216.98 457.8 moveto -228.09 446.55 242.53 431.93 254.78 419.53 curveto +newpath 331 563.91 moveto +331 554.53 331 542.85 331 532.3 curveto stroke 0 0 0 edgecolor -newpath 257.54 421.72 moveto -262.07 412.15 lineto -252.56 416.8 lineto +newpath 334.5 532.26 moveto +331 522.26 lineto +327.5 532.26 lineto closepath fill 1 setlinewidth solid 0 0 0 edgecolor -newpath 257.54 421.72 moveto -262.07 412.15 lineto -252.56 416.8 lineto +newpath 334.5 532.26 moveto +331 522.26 lineto +327.5 532.26 lineto closepath stroke grestore % key gsave 1 setlinewidth 0 0 0 nodecolor -newpath 297 494 moveto -267 494 lineto +newpath 244 600 moveto +214 600 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 267 494 moveto -261 494 255 488 255 482 curveto +newpath 214 600 moveto +208 600 202 594 202 588 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 255 482 moveto -255 470 lineto +newpath 202 588 moveto +202 576 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 255 470 moveto -255 464 261 458 267 458 curveto +newpath 202 576 moveto +202 570 208 564 214 564 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 267 458 moveto -297 458 lineto +newpath 214 564 moveto +244 564 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 297 458 moveto -303 458 309 464 309 470 curveto +newpath 244 564 moveto +250 564 256 570 256 576 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 309 470 moveto -309 482 lineto +newpath 256 576 moveto +256 588 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 309 482 moveto -309 488 303 494 297 494 curveto +newpath 256 588 moveto +256 594 250 600 244 600 curveto stroke 0 0 0 nodecolor 14 /Times-Roman set_font -269.5 472.4 moveto 25 (key) alignedtext +210 578.4 moveto 38 (Key k) alignedtext grestore % key->encrypt gsave 1 setlinewidth 0 0 0 edgecolor -newpath 281.56 457.8 moveto -281.3 447.4 280.98 434.12 280.69 422.38 curveto +newpath 252.66 563.91 moveto +266.46 553.35 284.06 539.9 299.08 528.41 curveto stroke 0 0 0 edgecolor -newpath 284.19 422.06 moveto -280.44 412.15 lineto -277.19 422.23 lineto +newpath 301.3 531.12 moveto +307.12 522.26 lineto +297.05 525.56 lineto closepath fill 1 setlinewidth solid 0 0 0 edgecolor -newpath 284.19 422.06 moveto -280.44 412.15 lineto -277.19 422.23 lineto +newpath 301.3 531.12 moveto +307.12 522.26 lineto +297.05 525.56 lineto closepath stroke grestore -% PI +% ee gsave 1 setlinewidth 0 0 0 nodecolor -newpath 92 192 moveto -12 192 lineto +newpath 195 184 moveto +101 184 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 12 192 moveto -6 192 0 186 0 180 curveto +newpath 101 184 moveto +95 184 89 178 89 172 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 0 180 moveto -0 160 lineto +newpath 89 172 moveto +89 160 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 0 160 moveto -0 154 6 148 12 148 curveto +newpath 89 160 moveto +89 154 95 148 101 148 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 12 148 moveto -92 148 lineto +newpath 101 148 moveto +195 148 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 92 148 moveto -98 148 104 154 104 160 curveto +newpath 195 148 moveto +201 148 207 154 207 160 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 104 160 moveto -104 180 lineto +newpath 207 160 moveto +207 172 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 104 180 moveto -104 186 98 192 92 192 curveto +newpath 207 172 moveto +207 178 201 184 195 184 curveto stroke 0 0 0 nodecolor 14 /Times-Roman set_font -15.5 175.4 moveto 73 (Parameter) alignedtext +97 162.4 moveto 102 (Enlarge edges ) alignedtext +grestore +% ee->ED +gsave +1 setlinewidth +0 0 0 edgecolor +newpath 128.36 184.04 moveto +115.27 197.46 99.19 217.03 92 238 curveto +63.24 321.83 100.59 427.26 121.96 476.41 curveto +stroke +0 0 0 edgecolor +newpath 118.85 478.04 moveto +126.12 485.74 lineto +125.25 475.18 lineto +closepath fill +1 setlinewidth +solid +0 0 0 edgecolor +newpath 118.85 478.04 moveto +126.12 485.74 lineto +125.25 475.18 lineto +closepath stroke +grestore +% cond +gsave +1 setlinewidth +0 0 0 nodecolor +newpath 273 432 moveto +160 388 lineto +273 344 lineto +386 388 lineto +closepath stroke +0 0 0 nodecolor +14 /Times-Roman set_font +243 393.4 moveto 60 (Size of x) alignedtext 0 0 0 nodecolor 14 /Times-Roman set_font -7.5 157.4 moveto 89 (Instantiation) alignedtext +224.5 375.4 moveto 97 ( enough for m) alignedtext grestore -% PI->ED +% encrypt->cond gsave 1 setlinewidth 0 0 0 edgecolor -newpath 51.72 192.11 moveto -51.94 224.2 54.73 285.19 71 334 curveto -74.35 344.04 79.51 354.25 84.85 363.33 curveto +newpath 321.94 485.88 moveto +315.05 472.09 305.24 452.49 296.22 434.44 curveto stroke 0 0 0 edgecolor -newpath 81.97 365.31 moveto -90.2 371.98 lineto -87.92 361.63 lineto +newpath 299.19 432.56 moveto +291.59 425.18 lineto +292.93 435.69 lineto closepath fill 1 setlinewidth solid 0 0 0 edgecolor -newpath 81.97 365.31 moveto -90.2 371.98 lineto -87.92 361.63 lineto +newpath 299.19 432.56 moveto +291.59 425.18 lineto +292.93 435.69 lineto closepath stroke grestore % STC gsave 1 setlinewidth 0 0 0 nodecolor -newpath 338 188 moveto -258 188 lineto +newpath 392 184 moveto +312 184 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 258 188 moveto -252 188 246 182 246 176 curveto +newpath 312 184 moveto +306 184 300 178 300 172 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 246 176 moveto -246 164 lineto +newpath 300 172 moveto +300 160 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 246 164 moveto -246 158 252 152 258 152 curveto +newpath 300 160 moveto +300 154 306 148 312 148 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 258 152 moveto -338 152 lineto +newpath 312 148 moveto +392 148 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 338 152 moveto -344 152 350 158 350 164 curveto +newpath 392 148 moveto +398 148 404 154 404 160 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 350 164 moveto -350 176 lineto +newpath 404 160 moveto +404 172 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 350 176 moveto -350 182 344 188 338 188 curveto +newpath 404 172 moveto +404 178 398 184 392 184 curveto stroke 0 0 0 nodecolor 14 /Times-Roman set_font -254 166.4 moveto 88 (y= STC\(x,m\)) alignedtext +308 162.4 moveto 88 (y= STC\(x,m\)) alignedtext grestore -% encrypt->STC +% emb gsave 1 setlinewidth -0 0 0 edgecolor -newpath 293.94 375.96 moveto -301.81 364.6 310.88 349.25 315 334 curveto -327.61 287.37 316.21 230.96 306.97 197.92 curveto +0 0 0 nodecolor +newpath 506 110 moveto +356 110 lineto stroke -0 0 0 edgecolor -newpath 310.25 196.67 moveto -304.08 188.06 lineto -303.54 198.64 lineto -closepath fill 1 setlinewidth -solid -0 0 0 edgecolor -newpath 310.25 196.67 moveto -304.08 188.06 lineto -303.54 198.64 lineto -closepath stroke -grestore -% cond -gsave +0 0 0 nodecolor +newpath 356 110 moveto +350 110 344 104 344 98 curveto +stroke 1 setlinewidth 0 0 0 nodecolor -newpath 193 334 moveto -80 290 lineto -193 246 lineto -306 290 lineto -closepath stroke +newpath 344 98 moveto +344 86 lineto +stroke +1 setlinewidth 0 0 0 nodecolor -14 /Times-Roman set_font -163 295.4 moveto 60 (Size of x) alignedtext +newpath 344 86 moveto +344 80 350 74 356 74 curveto +stroke +1 setlinewidth +0 0 0 nodecolor +newpath 356 74 moveto +506 74 lineto +stroke +1 setlinewidth +0 0 0 nodecolor +newpath 506 74 moveto +512 74 518 80 518 86 curveto +stroke +1 setlinewidth +0 0 0 nodecolor +newpath 518 86 moveto +518 98 lineto +stroke +1 setlinewidth +0 0 0 nodecolor +newpath 518 98 moveto +518 104 512 110 506 110 curveto +stroke 0 0 0 nodecolor 14 /Times-Roman set_font -144.5 277.4 moveto 97 ( enough for m) alignedtext +351.5 88.4 moveto 159 (stego=embedding\(y,X\)) alignedtext grestore -% encrypt->cond +% STC->emb gsave 1 setlinewidth 0 0 0 edgecolor -newpath 264.85 375.88 moveto -254.56 363.59 240.54 346.83 227.61 331.38 curveto +newpath 371.53 147.71 moveto +381.38 138.48 393.49 127.14 404.2 117.11 curveto stroke 0 0 0 edgecolor -newpath 230.08 328.87 moveto -220.98 323.44 lineto -224.71 333.36 lineto +newpath 406.79 119.47 moveto +411.7 110.08 lineto +402.01 114.36 lineto closepath fill 1 setlinewidth solid 0 0 0 edgecolor -newpath 230.08 328.87 moveto -220.98 323.44 lineto -224.71 333.36 lineto +newpath 406.79 119.47 moveto +411.7 110.08 lineto +402.01 114.36 lineto closepath stroke grestore -% emb +% sample gsave 1 setlinewidth 0 0 0 nodecolor -newpath 373 110 moveto -223 110 lineto +newpath 534 184 moveto +434 184 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 223 110 moveto -217 110 211 104 211 98 curveto +newpath 434 184 moveto +428 184 422 178 422 172 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 211 98 moveto -211 86 lineto +newpath 422 172 moveto +422 160 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 211 86 moveto -211 80 217 74 223 74 curveto +newpath 422 160 moveto +422 154 428 148 434 148 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 223 74 moveto -373 74 lineto +newpath 434 148 moveto +534 148 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 373 74 moveto -379 74 385 80 385 86 curveto +newpath 534 148 moveto +540 148 546 154 546 160 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 385 86 moveto -385 98 lineto +newpath 546 160 moveto +546 172 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 385 98 moveto -385 104 379 110 373 110 curveto +newpath 546 172 moveto +546 178 540 184 534 184 curveto stroke 0 0 0 nodecolor 14 /Times-Roman set_font -218.5 88.4 moveto 159 (stego=embedding\(y,X\)) alignedtext +429.5 162.4 moveto 109 (y= sample\(x,m\)) alignedtext grestore -% STC->emb +% sample->emb gsave 1 setlinewidth 0 0 0 edgecolor -newpath 298 151.91 moveto -298 142.53 298 130.85 298 120.3 curveto +newpath 470.9 147.71 moveto +464.54 138.84 456.8 128.02 449.82 118.28 curveto stroke 0 0 0 edgecolor -newpath 301.5 120.26 moveto -298 110.26 lineto -294.5 120.26 lineto +newpath 452.62 116.17 moveto +443.95 110.08 lineto +446.93 120.25 lineto closepath fill 1 setlinewidth solid 0 0 0 edgecolor -newpath 301.5 120.26 moveto -298 110.26 lineto -294.5 120.26 lineto +newpath 452.62 116.17 moveto +443.95 110.08 lineto +446.93 120.25 lineto closepath stroke grestore % end gsave 1 setlinewidth 0 0 0 nodecolor -newpath 313 36 moveto -283 36 lineto +newpath 446 36 moveto +416 36 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 283 36 moveto -277 36 271 30 271 24 curveto +newpath 416 36 moveto +410 36 404 30 404 24 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 271 24 moveto -271 12 lineto +newpath 404 24 moveto +404 12 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 271 12 moveto -271 6 277 0 283 0 curveto +newpath 404 12 moveto +404 6 410 0 416 0 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 283 0 moveto -313 0 lineto +newpath 416 0 moveto +446 0 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 313 0 moveto -319 0 325 6 325 12 curveto +newpath 446 0 moveto +452 0 458 6 458 12 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 325 12 moveto -325 24 lineto +newpath 458 12 moveto +458 24 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 325 24 moveto -325 30 319 36 313 36 curveto +newpath 458 24 moveto +458 30 452 36 446 36 curveto stroke 0 0 0 nodecolor 14 /Times-Roman set_font -285 14.4 moveto 26 (end) alignedtext +417.5 14.4 moveto 27 (End) alignedtext grestore % emb->end gsave 1 setlinewidth 0 0 0 edgecolor -newpath 298 73.71 moveto -298 65.46 298 55.54 298 46.36 curveto +newpath 431 73.71 moveto +431 65.46 431 55.54 431 46.36 curveto stroke 0 0 0 edgecolor -newpath 301.5 46.08 moveto -298 36.08 lineto -294.5 46.08 lineto +newpath 434.5 46.08 moveto +431 36.08 lineto +427.5 46.08 lineto closepath fill 1 setlinewidth solid 0 0 0 edgecolor -newpath 301.5 46.08 moveto -298 36.08 lineto -294.5 46.08 lineto +newpath 434.5 46.08 moveto +431 36.08 lineto +427.5 46.08 lineto closepath stroke grestore % start gsave 1 setlinewidth 0 0 0 nodecolor -newpath 164 572 moveto -134 572 lineto +newpath 200 678 moveto +170 678 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 134 572 moveto -128 572 122 566 122 560 curveto +newpath 170 678 moveto +164 678 158 672 158 666 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 122 560 moveto -122 548 lineto +newpath 158 666 moveto +158 654 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 122 548 moveto -122 542 128 536 134 536 curveto +newpath 158 654 moveto +158 648 164 642 170 642 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 134 536 moveto -164 536 lineto +newpath 170 642 moveto +200 642 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 164 536 moveto -170 536 176 542 176 548 curveto +newpath 200 642 moveto +206 642 212 648 212 654 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 176 548 moveto -176 560 lineto +newpath 212 654 moveto +212 666 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 176 560 moveto -176 566 170 572 164 572 curveto +newpath 212 666 moveto +212 672 206 678 200 678 curveto stroke 0 0 0 nodecolor 14 /Times-Roman set_font -132 550.4 moveto 34 (start) alignedtext +167 656.4 moveto 36 (Start) alignedtext grestore -% start->IC +% start->PI gsave 1 setlinewidth 0 0 0 edgecolor -newpath 138.79 535.91 moveto -133.94 527.3 127.99 516.75 122.44 506.92 curveto +newpath 157.77 645.15 moveto +139.03 634.93 113.62 621.07 91.38 608.93 curveto stroke 0 0 0 edgecolor -newpath 125.47 505.16 moveto -117.51 498.17 lineto -119.37 508.6 lineto +newpath 92.84 605.75 moveto +82.39 604.03 lineto +89.49 611.89 lineto closepath fill 1 setlinewidth solid 0 0 0 edgecolor -newpath 125.47 505.16 moveto -117.51 498.17 lineto -119.37 508.6 lineto +newpath 92.84 605.75 moveto +82.39 604.03 lineto +89.49 611.89 lineto +closepath stroke +grestore +% start->PIb +gsave +1 setlinewidth +0 0 0 edgecolor +newpath 175.26 641.91 moveto +170.05 632.23 163.53 620.12 157.71 609.32 curveto +stroke +0 0 0 edgecolor +newpath 160.66 607.41 moveto +152.83 600.26 lineto +154.49 610.73 lineto +closepath fill +1 setlinewidth +solid +0 0 0 edgecolor +newpath 160.66 607.41 moveto +152.83 600.26 lineto +154.49 610.73 lineto closepath stroke grestore % start->message gsave 1 setlinewidth 0 0 0 edgecolor -newpath 160.6 535.91 moveto -166.86 526.13 174.72 513.87 181.7 502.99 curveto +newpath 212.12 645.51 moveto +233.4 634.14 263.42 618.1 287.97 604.99 curveto stroke 0 0 0 edgecolor -newpath 184.84 504.57 moveto -187.29 494.26 lineto -178.95 500.79 lineto +newpath 289.92 607.92 moveto +297.09 600.12 lineto +286.62 601.74 lineto closepath fill 1 setlinewidth solid 0 0 0 edgecolor -newpath 184.84 504.57 moveto -187.29 494.26 lineto -178.95 500.79 lineto +newpath 289.92 607.92 moveto +297.09 600.12 lineto +286.62 601.74 lineto closepath stroke grestore % start->key gsave 1 setlinewidth 0 0 0 edgecolor -newpath 176.28 538.49 moveto -195.78 527.35 222.6 511.9 246 498 curveto -246.09 497.95 246.18 497.89 246.27 497.84 curveto +newpath 195.21 641.91 moveto +200.72 632.13 207.64 619.87 213.77 608.99 curveto stroke 0 0 0 edgecolor -newpath 248.14 500.8 moveto -254.92 492.65 lineto -244.54 494.79 lineto +newpath 216.83 610.69 moveto +218.7 600.26 lineto +210.74 607.25 lineto closepath fill 1 setlinewidth solid 0 0 0 edgecolor -newpath 248.14 500.8 moveto -254.92 492.65 lineto -244.54 494.79 lineto +newpath 216.83 610.69 moveto +218.7 600.26 lineto +210.74 607.25 lineto closepath stroke grestore -% start->PI +% ED->cond gsave 1 setlinewidth 0 0 0 edgecolor -newpath 121.68 550.56 moveto -82.23 543.9 14 525.26 14 476 curveto -14 476 14 476 14 290 curveto -14 258.89 25.75 225.26 36.19 201.54 curveto +newpath 156.56 485.88 moveto +175.99 469.55 205.14 445.04 229.41 424.64 curveto stroke 0 0 0 edgecolor -newpath 39.42 202.89 moveto -40.39 192.34 lineto -33.06 199.98 lineto +newpath 231.7 427.29 moveto +237.1 418.17 lineto +227.2 421.93 lineto closepath fill 1 setlinewidth solid 0 0 0 edgecolor -newpath 39.42 202.89 moveto -40.39 192.34 lineto -33.06 199.98 lineto +newpath 231.7 427.29 moveto +237.1 418.17 lineto +227.2 421.93 lineto closepath stroke grestore -% ED->cond +% condStrat +gsave +1 setlinewidth +0 0 0 nodecolor +newpath 229 290 moveto +101 264 lineto +229 238 lineto +357 264 lineto +closepath stroke +0 0 0 nodecolor +14 /Times-Roman set_font +173 260.4 moveto 112 (Strategy is fixed) alignedtext +grestore +% cond->condStrat +gsave +1 setlinewidth +0 0 0 edgecolor +newpath 259.2 349.11 moveto +253.41 332.79 246.74 313.99 241.14 298.21 curveto +stroke +0 0 0 edgecolor +newpath 244.28 296.59 moveto +237.64 288.34 lineto +237.68 298.93 lineto +closepath fill +1 setlinewidth +solid +0 0 0 edgecolor +newpath 244.28 296.59 moveto +237.64 288.34 lineto +237.68 298.93 lineto +closepath stroke +0 0 0 edgecolor +14 /Times-Roman set_font +251 313.4 moveto 19 (No) alignedtext +grestore +% condEmb +gsave +1 setlinewidth +0 0 0 nodecolor +newpath 466 290 moveto +375 264 lineto +466 238 lineto +557 264 lineto +closepath stroke +0 0 0 nodecolor +14 /Times-Roman set_font +428.5 260.4 moveto 75 (Use of STC) alignedtext +grestore +% cond->condEmb gsave 1 setlinewidth 0 0 0 edgecolor -newpath 124.45 371.94 moveto -134.29 360.18 146.73 345.32 158.29 331.49 curveto +newpath 315.83 360.48 moveto +349.84 338.63 396.88 308.41 429.2 287.64 curveto stroke 0 0 0 edgecolor -newpath 161.25 333.41 moveto -164.98 323.5 lineto -155.88 328.92 lineto +newpath 431.39 290.4 moveto +437.91 282.05 lineto +427.6 284.51 lineto closepath fill 1 setlinewidth solid 0 0 0 edgecolor -newpath 161.25 333.41 moveto -164.98 323.5 lineto -155.88 328.92 lineto +newpath 431.39 290.4 moveto +437.91 282.05 lineto +427.6 284.51 lineto closepath stroke +0 0 0 edgecolor +14 /Times-Roman set_font +392 313.4 moveto 23 (Yes) alignedtext +grestore +% condStrat->PI +gsave +1 setlinewidth +0 0 0 edgecolor +newpath 200.83 284.29 moveto +155.04 319.28 66.32 395.95 34 486 curveto +26.66 506.45 28.83 530.88 32.75 549.97 curveto +stroke +0 0 0 edgecolor +newpath 29.4 551.01 moveto +35.06 559.97 lineto +36.22 549.44 lineto +closepath fill +1 setlinewidth +solid +0 0 0 edgecolor +newpath 29.4 551.01 moveto +35.06 559.97 lineto +36.22 549.44 lineto +closepath stroke +0 0 0 edgecolor +14 /Times-Roman set_font +49 455.4 moveto 19 (No) alignedtext +grestore +% condStrat->ee +gsave +1 setlinewidth +0 0 0 edgecolor +newpath 210.21 241.27 moveto +198.07 226.58 182.22 207.41 169.57 192.09 curveto +stroke +0 0 0 edgecolor +newpath 171.97 189.51 moveto +162.9 184.03 lineto +166.58 193.97 lineto +closepath fill +1 setlinewidth +solid +0 0 0 edgecolor +newpath 171.97 189.51 moveto +162.9 184.03 lineto +166.58 193.97 lineto +closepath stroke +0 0 0 edgecolor +14 /Times-Roman set_font +190 207.4 moveto 23 (Yes) alignedtext grestore -% cond->PI +% condEmb->STC gsave 1 setlinewidth 0 0 0 edgecolor -newpath 157.42 259.72 moveto -135.48 241.04 107.5 217.23 85.88 198.83 curveto +newpath 443.2 244.4 moveto +425.27 228.99 400.17 207.41 380.84 190.8 curveto stroke 0 0 0 edgecolor -newpath 88.11 196.13 moveto -78.22 192.32 lineto -83.57 201.46 lineto +newpath 383.08 188.1 moveto +373.22 184.24 lineto +378.52 193.41 lineto closepath fill 1 setlinewidth solid 0 0 0 edgecolor -newpath 88.11 196.13 moveto -78.22 192.32 lineto -83.57 201.46 lineto +newpath 383.08 188.1 moveto +373.22 184.24 lineto +378.52 193.41 lineto closepath stroke 0 0 0 edgecolor 14 /Times-Roman set_font -119 215.4 moveto 19 (No) alignedtext +412 207.4 moveto 23 (Yes) alignedtext grestore -% cond->STC +% condEmb->sample gsave 1 setlinewidth 0 0 0 edgecolor -newpath 221.97 256.89 moveto -238.81 237.64 259.73 213.73 275.36 195.87 curveto +newpath 470.54 239.27 moveto +473.05 225.62 476.17 208.62 478.78 194.43 curveto stroke 0 0 0 edgecolor -newpath 278.19 197.96 moveto -282.14 188.13 lineto -272.92 193.35 lineto +newpath 482.29 194.69 moveto +480.65 184.22 lineto +475.4 193.43 lineto closepath fill 1 setlinewidth solid 0 0 0 edgecolor -newpath 278.19 197.96 moveto -282.14 188.13 lineto -272.92 193.35 lineto +newpath 482.29 194.69 moveto +480.65 184.22 lineto +475.4 193.43 lineto closepath stroke 0 0 0 edgecolor 14 /Times-Roman set_font -262 215.4 moveto 23 (Yes) alignedtext +477 207.4 moveto 19 (No) alignedtext grestore endpage showpage @@ -987,7 +1208,7 @@ grestore %%EndPage: 1 %%Trailer %%Pages: 1 -%%BoundingBox: 36 36 429 616 +%%BoundingBox: 36 36 601 722 end restore %%EOF diff --git a/intro.tex b/intro.tex index 71eebb9..8ff5f41 100644 --- a/intro.tex +++ b/intro.tex @@ -1,4 +1,3 @@ - This research work takes place in the field of information hiding, considerably developed these last two decades. The proposed method for steganography considers digital images as covers. @@ -7,7 +6,9 @@ of spatial least significant bits (LSBs) replacement schemes. Let us recall that, in this LSBR category, a subset of all the LSBs of the cover image is modified with a secret bit stream depending on: a secret key, the cover, and the message to embed. In this well studied steganographic approach, -pixels with even values (resp. odd values) are never decreased (resp. increased), +if we consider that a LSB is the last bit of each pixel value, +pixels with an even value (resp. an odd value) +are never decreased (resp. increased), thus such schemes may break the structural symmetry of the host images. And these structural alterations can be detected by @@ -97,13 +98,14 @@ by only considering the payload, not the type of image signal: the higher the pa the better the approach is said to be. Contrarily, we argue that some images should not be taken as a cover because of the nature of their signal. Consider for instance a uniformly black image: a very tiny modification of its pixels can be easily detectable. -The approach we propose is thus to provide a self adaptive algorithm with a high payload, which depends on the -cover signal. - -Additionally, in the steganographic context, the data hiding procedure is often required -to be a reversible one. We thus need to be able to compute the same edge detection pixels set for the cover and the stego image. For this, we propose to apply the edge detection algorithm not on all the bits of the image, but to exclude the LSBs which are modified. -% Finally, even if the steganalysis discipline -% has done great leaps forward these last years, it is currently impossible to prove rigorously +The approach we propose is thus to provide a self adaptive algorithm with a high payload, which depends on the cover signal. +% Message extraction is achieved by computing the same +% edge detection pixels set for the cover and the stego image. +% The edge detection algorithm is thus not applied on all the bits of the image, +% but to exclude the LSBs which are modified. + +Finally, even if the steganalysis discipline + has done great leaps forward these last years, it is currently impossible to prove rigorously that a given hidden message cannot be recovered by an attacker. This is why we add to our scheme a reasonable message encryption stage, to be certain that, diff --git a/main.tex b/main.tex index 9c672af..aa7b735 100755 --- a/main.tex +++ b/main.tex @@ -1,15 +1,9 @@ \documentclass[10pt]{NSP1} -\usepackage{url,floatflt} -\usepackage{helvet,times} -\usepackage{psfig,graphics} +\usepackage{url} +\usepackage{graphicx} \usepackage{mathptmx,amsmath,amssymb,bm} -\usepackage{float} -\usepackage[bf,hypcap]{caption} \usepackage{subfig} \usepackage{color} -%\usepackage{graphicx} -\usepackage{url} -\usepackage{cite} \tolerance=1 @@ -36,8 +30,6 @@ -\begin{document} - \titlefigurecaption{{\large \bf \rm Applied Mathematics \& Information Sciences }\\ {\it\small An International Journal}} @@ -80,7 +72,7 @@ edge-based steganographic approach} \mail{jean-francois.couchot@femto-st.fr} -\newcommand{\JFC}[1]{\begin{color}{green}\textit{}\end{color}} +\newcommand{\JFC}[1]{\begin{color}{green}\textit{#1}\end{color}} \newcommand{\RC}[1]{\begin{color}{red}\textit{}\end{color}} \newcommand{\CG}[1]{\begin{color}{blue}\textit{}\end{color}} % make the title area @@ -96,7 +88,7 @@ edge-based steganographic approach} \abstracttext{A novel steganographic method called STABYLO is introduced in this research work. Its main avantage for being is to be much lighter than the so-called -Highly Undetectable steGO (HUGO) method, a well known state of the art +Highly Undetectable steGO (HUGO) scheme, a well known state of the art steganographic process in spatial domain. Additionally to this effectiveness, quite comparable results through noise measures like PSNR-HVS-M, @@ -107,6 +99,8 @@ coding theory, and cryptography are combined together, leading to a scheme that can reasonably face up-to-date steganalysers.} +\begin{document} + \maketitle @@ -139,6 +133,13 @@ After having introduced with details the proposed method, we have evaluated it through noise measures (namely, the PSNR, PSNR-HVS-M, BIQI, and weighted PSNR) and using well established steganalysers. +% Of course, other detectors like the fuzzy edge methods +% deserve much further attention, which is why we intend +% to investigate systematically all of these detectors in our next work. + + + + For future work, the authors' intention is to investigate systematically all the existing edge detection methods, to see if the STABYLO evaluation scores can be improved by replacing Canny with another edge filter. We will try diff --git a/ourapproach.tex b/ourapproach.tex index b49c449..74c1b55 100644 --- a/ourapproach.tex +++ b/ourapproach.tex @@ -1,9 +1,10 @@ -The flowcharts given in Fig.~\ref{fig:sch} summarize our steganography scheme denoted by +The flowcharts given in Fig.~\ref{fig:sch} +summarize our steganography scheme denoted by STABYLO, which stands for STeganography with cAnny, Bbs, binarY embedding at LOw cost. What follows are successively details of the inner steps and flows inside both the embedding stage (Fig.~\ref{fig:sch:emb}) and the extraction one (Fig.~\ref{fig:sch:ext}). - +Let us first focus on the data embedding. \begin{figure*}[t] \begin{center} @@ -11,7 +12,7 @@ and the extraction one (Fig.~\ref{fig:sch:ext}). \begin{minipage}{0.49\textwidth} \begin{center} %\includegraphics[width=5cm]{emb.pdf} - \includegraphics[width=5cm]{emb.ps} + \includegraphics[scale=0.5]{emb.ps} \end{center} \end{minipage} \label{fig:sch:emb} @@ -20,7 +21,7 @@ and the extraction one (Fig.~\ref{fig:sch:ext}). \begin{minipage}{0.49\textwidth} \begin{center} %\includegraphics[width=5cm]{rec.pdf} - \includegraphics[width=5cm]{rec.ps} + \includegraphics[scale=0.5]{rec.ps} \end{center} \end{minipage} \label{fig:sch:ext} @@ -33,16 +34,38 @@ and the extraction one (Fig.~\ref{fig:sch:ext}). -\subsection{Data Embedding} -This section describes the main three steps of the STABYLO data embedding -scheme. -\subsubsection{Edge-Based Image Steganography} + +\subsection{Security Considerations} +Among methods of message encryption/decryption +(see~\cite{DBLP:journals/ejisec/FontaineG07} for a survey) +we implement the Blum-Goldwasser cryptosystem~\cite{Blum:1985:EPP:19478.19501} +that is based on the Blum Blum Shub~\cite{DBLP:conf/crypto/ShubBB82} +pseudorandom number generator (PRNG) and the +XOR binary function. +It has been indeed proven~\cite{DBLP:conf/crypto/ShubBB82} that this PRNG +has the property of cryptographical security, \textit{i.e.}, +for any sequence of $L$ output bits $x_i$, $x_{i+1}$, \ldots, $x_{i+L-1}$, +there is no algorithm, whose time complexity is polynomial in $L$, and +which allows to find $x_{i-1}$ and $x_{i+L}$ with a probability greater +than $1/2$. +Equivalent formulations of such a property can +be found. They all lead to the fact that, +even if the encrypted message is extracted, +it is impossible to retrieve the original one in +polynomial time. + +Starting thus with a key $k$ and the message \textit{mess} to hide, +this step computes a message $m$, which is the encrypted version of \textit{mess}. + + +\subsection{Edge-Based Image Steganography} -The edge-based image steganography schemes +The edge-based image +steganography schemes already presented \cite{Luo:2010:EAI:1824719.1824720,DBLP:journals/eswa/ChenCL10} differ in how carefully they select edge pixels, and how they modify them. @@ -57,30 +80,32 @@ Many techniques have been proposed in the literature to detect edges in images (whose noise has been initially reduced). They can be separated in two categories: first and second order detection methods on the one hand, and fuzzy detectors on the other hand~\cite{KF11}. -In first order methods like Sobel, +In first order methods like Sobel, Canny~\cite{Canny:1986:CAE:11274.11275}, \ldots, a first-order derivative (gradient magnitude, etc.) is computed to search for local maxima, whereas in second order ones, zero crossings in a second-order derivative, like the Laplacian computed from the image, are searched in order to find edges. -As for as fuzzy edge methods are concerned, they are obviously based on fuzzy logic to highlight -edges. +As for as fuzzy edge methods are concerned, they are obviously based on fuzzy logic to highlight edges. + Canny filters, on their parts, are an old family of algorithms still remaining a state-of-the-art edge detector. They can be well approximated by first-order derivatives of Gaussians. -%% -% -%Of course, all the algorithms have advantages and drawbacks that depend on the -%motivations behind that edges detection. Unfortunately unless testing most of the -%algorithms, which would require many times, it is quite difficult to have an -%accurate idea on what would produce such algorithm compared to another. -%That is -%why we have chosen As the Canny algorithm is well known and studied, fast, and implementable on many kinds of architectures like FPGAs, smartphones, desktop machines, and GPUs, we have chosen this edge detector for illustrative purpose. -Of course, other detectors like the fuzzy edge methods -deserve much further attention, which is why we intend -to investigate systematically all of these detectors in our next work. -%we do not pretend that this is the best solution. -In order to be able to compute the same set of edge pixels, we suggest to consider all the bits of the image (cover or stego) without the LSB. Thus, with an 8 bits image, only the 7 first bits are considered. In our flowcharts, this is represented by ``LSB(7 bits Edge Detection)''. +This edge detection is applied on a filtered version of the image given +as input. +More precisely, only $b$ most +significant bits are concerned by this step, where +the parameter $b$ is practically set with $6$ or $7$. +If set with the same value $b$, the edge detection returns thus the same +set of pixels for both the cover and the stego image. +In our flowcharts, this is represented by ``edgeDetection(b bits)''. +Then only the 2 LSBs of pixels in the set of edges are returned if $b$ is 6, +and the LSB of pixels if $b$ is 7. +Let $x$ be the sequence of these bits. + +\JFC{il faudrait comparer les complexites des algo fuzy and canny} + + % First of all, let us discuss about compexity of edge detetction methods. % Let then $M$ and $N$ be the dimension of the original image. % According to~\cite{Hu:2007:HPE:1282866.1282944}, @@ -92,11 +117,23 @@ In order to be able to compute the same set of edge pixels, we suggest to consid % In experiments detailled in this article, the Canny method has been retained % but the whole approach can be updated to consider % the fuzzy logic edge detector. -Next, following~\cite{Luo:2010:EAI:1824719.1824720}, our scheme automatically -modifies the Canny algorithm -parameters to get a sufficiently large set of edge bits: this -one is practically enlarged until its size is at least twice as large -as the size of the embedded message. + + + + + + +As argue in the introduction section, we do not adapt the parameters of the +the edge detection as in~\cite{Luo:2010:EAI:1824719.1824720} but we modify +the size of the embedding message. Practically, the lenght of $x$ +has to be at least twice as large +as the size of the embedded encrypted message. +Otherwise, a new image is used to hide the remaning part of the message. + +\subsection{Minimizing Distortion with Syndrome-Treillis Codes} +\input{stc} + + % Edge Based Image Steganography schemes % already studied~\cite{Luo:2010:EAI:1824719.1824720,DBLP:journals/eswa/ChenCL10,DBLP:conf/ih/PevnyFB10} differ @@ -121,51 +158,12 @@ as the size of the embedded message. % than the size of embedded message. -\subsubsection{Security Considerations} -Among methods of message encryption/decryption -(see~\cite{DBLP:journals/ejisec/FontaineG07} for a survey) -we implement the Blum-Goldwasser cryptosystem~\cite{Blum:1985:EPP:19478.19501} -that is based on the Blum Blum Shub~\cite{DBLP:conf/crypto/ShubBB82} pseudorandom number generator (PRNG) -for security reasons. -It has been indeed proven~\cite{DBLP:conf/crypto/ShubBB82} that this PRNG -has the property of cryptographical security, \textit{i.e.}, -for any sequence of $L$ output bits $x_i$, $x_{i+1}$, \ldots, $x_{i+L-1}$, -there is no algorithm, whose time complexity is polynomial in $L$, and -which allows to find $x_{i-1}$ and $x_{i+L}$ with a probability greater -than $1/2$. -Equivalent formulations of such a property can -be found. They all lead to the fact that, -even if the encrypted message is extracted, -it is impossible to retrieve the original one in -polynomial time. - %%RAPH: paragraphe en double :-) -%% \subsubsection{Security Considerations} -%% Among methods of message encryption/decryption -%% (see~\cite{DBLP:journals/ejisec/FontaineG07} for a survey) -%% we implement the Blum-Goldwasser cryptosystem~\cite{Blum:1985:EPP:19478.19501} -%% which is based on the Blum Blum Shub~\cite{DBLP:conf/crypto/ShubBB82} Pseudo Random Number Generator (PRNG) -%% for security reasons. -%% It has been indeed proven~\cite{DBLP:conf/crypto/ShubBB82} that this PRNG -%% has the cryptographically security property, \textit{i.e.}, -%% for any sequence $L$ of output bits $x_i$, $x_{i+1}$, \ldots, $x_{i+L-1}$, -%% there is no algorithm, whose time complexity is polynomial in $L$, and -%% which allows to find $x_{i-1}$ and $x_{i+L}$ with a probability greater -%% than $1/2$. -%% Thus, even if the encrypted message would be extracted, -%% it would thus be not possible to retrieve the original one in a -%% polynomial time. - - -\subsubsection{Minimizing Distortion with Syndrome-Treillis Codes} -\input{stc} - - \subsection{Data Extraction} The message extraction summarized in Fig.~\ref{fig:sch:ext} follows data embedding since there exists a reverse function for all its steps. diff --git a/rec.ps b/rec.ps index 807940f..d853031 100644 --- a/rec.ps +++ b/rec.ps @@ -178,632 +178,646 @@ def %%EndSetup setupLatin1 %%Page: 1 1 -%%PageBoundingBox: 36 36 374 642 +%%PageBoundingBox: 36 36 420 440 %%PageOrientation: Portrait 0 0 1 beginpage gsave -36 36 338 606 boxprim clip newpath +36 36 384 404 boxprim clip newpath 1 1 set_scale 0 rotate 40 41 translate % SI gsave 1 setlinewidth 0 0 0 nodecolor -newpath 179 524 moveto -101 524 lineto +newpath 120 324 moveto +42 324 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 101 524 moveto -95 524 89 518 89 512 curveto +newpath 42 324 moveto +36 324 30 318 30 312 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 89 512 moveto -89 500 lineto +newpath 30 312 moveto +30 300 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 89 500 moveto -89 494 95 488 101 488 curveto +newpath 30 300 moveto +30 294 36 288 42 288 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 101 488 moveto -179 488 lineto +newpath 42 288 moveto +120 288 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 179 488 moveto -185 488 191 494 191 500 curveto +newpath 120 288 moveto +126 288 132 294 132 300 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 191 500 moveto -191 512 lineto +newpath 132 300 moveto +132 312 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 191 512 moveto -191 518 185 524 179 524 curveto +newpath 132 312 moveto +132 318 126 324 120 324 curveto stroke 0 0 0 nodecolor 14 /Times-Roman set_font -96.5 502.4 moveto 87 (Stego Image) alignedtext +37.5 302.4 moveto 87 (Stego Image) alignedtext grestore % ED gsave 1 setlinewidth 0 0 0 nodecolor -newpath 199 416 moveto -81 416 lineto +newpath 172 252 moveto +12 252 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 81 416 moveto -75 416 69 410 69 404 curveto +newpath 12 252 moveto +6 252 0 246 0 240 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 69 404 moveto -69 384 lineto +newpath 0 240 moveto +0 228 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 69 384 moveto -69 378 75 372 81 372 curveto +newpath 0 228 moveto +0 222 6 216 12 216 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 81 372 moveto -199 372 lineto +newpath 12 216 moveto +172 216 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 199 372 moveto -205 372 211 378 211 384 curveto +newpath 172 216 moveto +178 216 184 222 184 228 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 211 384 moveto -211 404 lineto +newpath 184 228 moveto +184 240 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 211 404 moveto -211 410 205 416 199 416 curveto +newpath 184 240 moveto +184 246 178 252 172 252 curveto stroke 0 0 0 nodecolor 14 /Times-Roman set_font -77 399.4 moveto 126 (\(y,H\)= LSB \(7 bits) alignedtext -0 0 0 nodecolor -14 /Times-Roman set_font -84 381.4 moveto 112 (Edge Detection\)) alignedtext +7.5 230.4 moveto 169 (y=edgeDetection\(b bits\)) alignedtext grestore % SI->ED gsave 1 setlinewidth 0 0 0 edgecolor -newpath 140 487.51 moveto -140 470.97 140 446.36 140 426.53 curveto +newpath 83.78 287.83 moveto +84.95 280.13 86.35 270.97 87.66 262.42 curveto stroke 0 0 0 edgecolor -newpath 143.5 426.38 moveto -140 416.38 lineto -136.5 426.38 lineto +newpath 91.14 262.83 moveto +89.19 252.41 lineto +84.22 261.77 lineto closepath fill 1 setlinewidth solid 0 0 0 edgecolor -newpath 143.5 426.38 moveto -140 416.38 lineto -136.5 426.38 lineto +newpath 91.14 262.83 moveto +89.19 252.41 lineto +84.22 261.77 lineto closepath stroke grestore -% cond +% key gsave 1 setlinewidth 0 0 0 nodecolor -newpath 162 334 moveto -86 290 lineto -162 246 lineto -238 290 lineto -closepath stroke +newpath 342 252 moveto +312 252 lineto +stroke +1 setlinewidth 0 0 0 nodecolor -14 /Times-Roman set_font -132 295.4 moveto 60 (Size of y) alignedtext +newpath 312 252 moveto +306 252 300 246 300 240 curveto +stroke +1 setlinewidth +0 0 0 nodecolor +newpath 300 240 moveto +300 228 lineto +stroke +1 setlinewidth +0 0 0 nodecolor +newpath 300 228 moveto +300 222 306 216 312 216 curveto +stroke +1 setlinewidth +0 0 0 nodecolor +newpath 312 216 moveto +342 216 lineto +stroke +1 setlinewidth +0 0 0 nodecolor +newpath 342 216 moveto +348 216 354 222 354 228 curveto +stroke +1 setlinewidth +0 0 0 nodecolor +newpath 354 228 moveto +354 240 lineto +stroke +1 setlinewidth +0 0 0 nodecolor +newpath 354 240 moveto +354 246 348 252 342 252 curveto +stroke 0 0 0 nodecolor 14 /Times-Roman set_font -133.5 277.4 moveto 57 ( enough) alignedtext +308 230.4 moveto 38 (Key k) alignedtext grestore -% PI +% decrypt gsave 1 setlinewidth 0 0 0 nodecolor -newpath 92 192 moveto -12 192 lineto +newpath 364 108 moveto +204 108 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 12 192 moveto -6 192 0 186 0 180 curveto +newpath 204 108 moveto +198 108 192 102 192 96 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 0 180 moveto -0 160 lineto +newpath 192 96 moveto +192 84 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 0 160 moveto -0 154 6 148 12 148 curveto +newpath 192 84 moveto +192 78 198 72 204 72 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 12 148 moveto -92 148 lineto +newpath 204 72 moveto +364 72 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 92 148 moveto -98 148 104 154 104 160 curveto +newpath 364 72 moveto +370 72 376 78 376 84 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 104 160 moveto -104 180 lineto +newpath 376 84 moveto +376 96 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 104 180 moveto -104 186 98 192 92 192 curveto +newpath 376 96 moveto +376 102 370 108 364 108 curveto stroke 0 0 0 nodecolor 14 /Times-Roman set_font -15.5 175.4 moveto 73 (Parameter) alignedtext -0 0 0 nodecolor -14 /Times-Roman set_font -7.5 157.4 moveto 89 (Instantiation) alignedtext +200 86.4 moveto 168 (message=decryption\(m\)) alignedtext grestore -% cond->PI +% key->decrypt gsave 1 setlinewidth 0 0 0 edgecolor -newpath 135.37 260.95 moveto -118.35 242.38 96.33 218.36 79.19 199.67 curveto +newpath 324.31 215.78 moveto +321.33 197.39 315.87 168.31 308 144 curveto +305.14 135.16 301.3 125.82 297.53 117.43 curveto stroke 0 0 0 edgecolor -newpath 81.52 197.02 moveto -72.18 192.01 lineto -76.36 201.75 lineto +newpath 300.59 115.71 moveto +293.2 108.12 lineto +294.24 118.66 lineto closepath fill 1 setlinewidth solid 0 0 0 edgecolor -newpath 81.52 197.02 moveto -72.18 192.01 lineto -76.36 201.75 lineto +newpath 300.59 115.71 moveto +293.2 108.12 lineto +294.24 118.66 lineto closepath stroke -0 0 0 edgecolor -14 /Times-Roman set_font -104 215.4 moveto 19 (No) alignedtext grestore -% STC +% start gsave 1 setlinewidth 0 0 0 nodecolor -newpath 226 188 moveto -134 188 lineto +newpath 236 396 moveto +206 396 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 134 188 moveto -128 188 122 182 122 176 curveto +newpath 206 396 moveto +200 396 194 390 194 384 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 122 176 moveto -122 164 lineto +newpath 194 384 moveto +194 372 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 122 164 moveto -122 158 128 152 134 152 curveto +newpath 194 372 moveto +194 366 200 360 206 360 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 134 152 moveto -226 152 lineto +newpath 206 360 moveto +236 360 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 226 152 moveto -232 152 238 158 238 164 curveto +newpath 236 360 moveto +242 360 248 366 248 372 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 238 164 moveto -238 176 lineto +newpath 248 372 moveto +248 384 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 238 176 moveto -238 182 232 188 226 188 curveto +newpath 248 384 moveto +248 390 242 396 236 396 curveto stroke 0 0 0 nodecolor 14 /Times-Roman set_font -129.5 166.4 moveto 101 (m = STCr\(y,H\)) alignedtext +203 374.4 moveto 36 (Start) alignedtext grestore -% cond->STC +% start->SI gsave 1 setlinewidth 0 0 0 edgecolor -newpath 168.09 249.37 moveto -170.61 232.63 173.45 213.63 175.74 198.42 curveto +newpath 193.67 363.95 moveto +174.23 353.95 147.69 340.3 125.24 328.75 curveto stroke 0 0 0 edgecolor -newpath 179.26 198.51 moveto -177.28 188.1 lineto -172.34 197.47 lineto +newpath 126.72 325.58 moveto +116.23 324.12 lineto +123.52 331.8 lineto closepath fill 1 setlinewidth solid 0 0 0 edgecolor -newpath 179.26 198.51 moveto -177.28 188.1 lineto -172.34 197.47 lineto +newpath 126.72 325.58 moveto +116.23 324.12 lineto +123.52 331.8 lineto closepath stroke +grestore +% start->key +gsave +1 setlinewidth 0 0 0 edgecolor -14 /Times-Roman set_font -174 215.4 moveto 23 (Yes) alignedtext +newpath 234.42 359.76 moveto +252.9 334.66 286.29 289.3 307.52 260.47 curveto +stroke +0 0 0 edgecolor +newpath 310.57 262.22 moveto +313.68 252.09 lineto +304.94 258.07 lineto +closepath fill +1 setlinewidth +solid +0 0 0 edgecolor +newpath 310.57 262.22 moveto +313.68 252.09 lineto +304.94 258.07 lineto +closepath stroke grestore -% key +% PIb gsave 1 setlinewidth 0 0 0 nodecolor -newpath 269 470 moveto -239 470 lineto +newpath 214 324 moveto +162 324 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 239 470 moveto -233 470 227 464 227 458 curveto +newpath 162 324 moveto +156 324 150 318 150 312 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 227 458 moveto -227 446 lineto +newpath 150 312 moveto +150 300 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 227 446 moveto -227 440 233 434 239 434 curveto +newpath 150 300 moveto +150 294 156 288 162 288 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 239 434 moveto -269 434 lineto +newpath 162 288 moveto +214 288 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 269 434 moveto -275 434 281 440 281 446 curveto +newpath 214 288 moveto +220 288 226 294 226 300 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 281 446 moveto -281 458 lineto +newpath 226 300 moveto +226 312 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 281 458 moveto -281 464 275 470 269 470 curveto +newpath 226 312 moveto +226 318 220 324 214 324 curveto stroke 0 0 0 nodecolor 14 /Times-Roman set_font -241.5 448.4 moveto 25 (key) alignedtext +157.5 302.4 moveto 61 (Param. b) alignedtext grestore -% decrypt +% start->PIb +gsave +1 setlinewidth +0 0 0 edgecolor +newpath 212.67 359.83 moveto +209.03 351.88 204.67 342.37 200.64 333.57 curveto +stroke +0 0 0 edgecolor +newpath 203.79 332.05 moveto +196.44 324.41 lineto +197.42 334.96 lineto +closepath fill +1 setlinewidth +solid +0 0 0 edgecolor +newpath 203.79 332.05 moveto +196.44 324.41 lineto +197.42 334.96 lineto +closepath stroke +grestore +% PIh gsave 1 setlinewidth 0 0 0 nodecolor -newpath 318 110 moveto -158 110 lineto +newpath 270 252 moveto +214 252 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 158 110 moveto -152 110 146 104 146 98 curveto +newpath 214 252 moveto +208 252 202 246 202 240 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 146 98 moveto -146 86 lineto +newpath 202 240 moveto +202 228 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 146 86 moveto -146 80 152 74 158 74 curveto +newpath 202 228 moveto +202 222 208 216 214 216 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 158 74 moveto -318 74 lineto +newpath 214 216 moveto +270 216 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 318 74 moveto -324 74 330 80 330 86 curveto +newpath 270 216 moveto +276 216 282 222 282 228 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 330 86 moveto -330 98 lineto +newpath 282 228 moveto +282 240 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 330 98 moveto -330 104 324 110 318 110 curveto +newpath 282 240 moveto +282 246 276 252 270 252 curveto stroke 0 0 0 nodecolor 14 /Times-Roman set_font -154 88.4 moveto 168 (message=decryption\(m\)) alignedtext +210 230.4 moveto 64 (Param. H) alignedtext grestore -% key->decrypt +% start->PIh gsave 1 setlinewidth 0 0 0 edgecolor -newpath 257.54 433.83 moveto -261.08 414.04 266 381.39 266 353 curveto -266 353 266 353 266 170 curveto -266 152.58 259.74 134.19 253.14 119.65 curveto +newpath 226.61 359.68 moveto +229.56 349.31 232.99 336.04 235 324 curveto +238.44 303.42 240.2 279.91 241.09 262.08 curveto stroke 0 0 0 edgecolor -newpath 256.09 117.73 moveto -248.59 110.25 lineto -249.8 120.78 lineto +newpath 244.59 262.19 moveto +241.53 252.04 lineto +237.59 261.88 lineto closepath fill 1 setlinewidth solid 0 0 0 edgecolor -newpath 256.09 117.73 moveto -248.59 110.25 lineto -249.8 120.78 lineto +newpath 244.59 262.19 moveto +241.53 252.04 lineto +237.59 261.88 lineto closepath stroke grestore -% start +% end gsave 1 setlinewidth 0 0 0 nodecolor -newpath 155 598 moveto -125 598 lineto +newpath 299 36 moveto +269 36 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 125 598 moveto -119 598 113 592 113 586 curveto +newpath 269 36 moveto +263 36 257 30 257 24 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 113 586 moveto -113 574 lineto +newpath 257 24 moveto +257 12 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 113 574 moveto -113 568 119 562 125 562 curveto +newpath 257 12 moveto +257 6 263 0 269 0 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 125 562 moveto -155 562 lineto +newpath 269 0 moveto +299 0 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 155 562 moveto -161 562 167 568 167 574 curveto +newpath 299 0 moveto +305 0 311 6 311 12 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 167 574 moveto -167 586 lineto +newpath 311 12 moveto +311 24 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 167 586 moveto -167 592 161 598 155 598 curveto +newpath 311 24 moveto +311 30 305 36 299 36 curveto stroke 0 0 0 nodecolor 14 /Times-Roman set_font -123 576.4 moveto 34 (start) alignedtext -grestore -% start->SI -gsave -1 setlinewidth -0 0 0 edgecolor -newpath 140 561.71 moveto -140 553.46 140 543.54 140 534.36 curveto -stroke -0 0 0 edgecolor -newpath 143.5 534.08 moveto -140 524.08 lineto -136.5 534.08 lineto -closepath fill -1 setlinewidth -solid -0 0 0 edgecolor -newpath 143.5 534.08 moveto -140 524.08 lineto -136.5 534.08 lineto -closepath stroke -grestore -% start->key -gsave -1 setlinewidth -0 0 0 edgecolor -newpath 161.14 561.93 moveto -173.05 551.35 187.91 537.46 200 524 curveto -212.88 509.65 225.89 492.41 235.91 478.4 curveto -stroke -0 0 0 edgecolor -newpath 238.83 480.33 moveto -241.74 470.14 lineto -233.11 476.29 lineto -closepath fill -1 setlinewidth -solid -0 0 0 edgecolor -newpath 238.83 480.33 moveto -241.74 470.14 lineto -233.11 476.29 lineto -closepath stroke +270.5 14.4 moveto 27 (End) alignedtext grestore -% start->PI +% PIb->ED gsave 1 setlinewidth 0 0 0 edgecolor -newpath 112.77 575.59 moveto -77.37 568.11 20 549.32 20 506 curveto -20 506 20 506 20 290 curveto -20 259.25 29.93 225.51 38.73 201.67 curveto +newpath 163.78 287.83 moveto +151.84 278.88 137.27 267.96 124.39 258.3 curveto stroke 0 0 0 edgecolor -newpath 42.09 202.68 moveto -42.4 192.09 lineto -35.55 200.18 lineto +newpath 126.32 255.36 moveto +116.22 252.16 lineto +122.12 260.96 lineto closepath fill 1 setlinewidth solid 0 0 0 edgecolor -newpath 42.09 202.68 moveto -42.4 192.09 lineto -35.55 200.18 lineto +newpath 126.32 255.36 moveto +116.22 252.16 lineto +122.12 260.96 lineto closepath stroke grestore -% end +% STC gsave 1 setlinewidth 0 0 0 nodecolor -newpath 253 36 moveto -223 36 lineto +newpath 287 180 moveto +195 180 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 223 36 moveto -217 36 211 30 211 24 curveto +newpath 195 180 moveto +189 180 183 174 183 168 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 211 24 moveto -211 12 lineto +newpath 183 168 moveto +183 156 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 211 12 moveto -211 6 217 0 223 0 curveto +newpath 183 156 moveto +183 150 189 144 195 144 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 223 0 moveto -253 0 lineto +newpath 195 144 moveto +287 144 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 253 0 moveto -259 0 265 6 265 12 curveto +newpath 287 144 moveto +293 144 299 150 299 156 curveto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 265 12 moveto -265 24 lineto +newpath 299 156 moveto +299 168 lineto stroke 1 setlinewidth 0 0 0 nodecolor -newpath 265 24 moveto -265 30 259 36 253 36 curveto +newpath 299 168 moveto +299 174 293 180 287 180 curveto stroke 0 0 0 nodecolor 14 /Times-Roman set_font -225 14.4 moveto 26 (end) alignedtext +190.5 158.4 moveto 101 (m = STCr\(y,H\)) alignedtext grestore -% PI->ED +% PIh->STC gsave 1 setlinewidth 0 0 0 edgecolor -newpath 50.98 192.08 moveto -50.38 224.93 52.9 287.77 77 334 curveto -83 345.52 92.09 356.07 101.5 365.01 curveto +newpath 241.75 215.83 moveto +241.64 208.13 241.51 198.97 241.39 190.42 curveto stroke 0 0 0 edgecolor -newpath 99.29 367.73 moveto -109.07 371.81 lineto -103.97 362.52 lineto +newpath 244.89 190.36 moveto +241.26 180.41 lineto +237.9 190.46 lineto closepath fill 1 setlinewidth solid 0 0 0 edgecolor -newpath 99.29 367.73 moveto -109.07 371.81 lineto -103.97 362.52 lineto +newpath 244.89 190.36 moveto +241.26 180.41 lineto +237.9 190.46 lineto closepath stroke grestore % STC->decrypt gsave 1 setlinewidth 0 0 0 edgecolor -newpath 193.45 151.91 moveto -200.87 141.94 210.2 129.38 218.41 118.34 curveto +newpath 251.85 143.83 moveto +256.7 135.71 262.52 125.96 267.87 117.01 curveto stroke 0 0 0 edgecolor -newpath 221.26 120.38 moveto -224.42 110.26 lineto -215.64 116.2 lineto +newpath 270.88 118.79 moveto +273 108.41 lineto +264.87 115.2 lineto closepath fill 1 setlinewidth solid 0 0 0 edgecolor -newpath 221.26 120.38 moveto -224.42 110.26 lineto -215.64 116.2 lineto +newpath 270.88 118.79 moveto +273 108.41 lineto +264.87 115.2 lineto closepath stroke grestore -% ED->cond +% ED->STC gsave 1 setlinewidth 0 0 0 edgecolor -newpath 144.67 371.94 moveto -146.69 362.35 149.16 350.7 151.59 339.22 curveto +newpath 129.6 215.83 moveto +149.35 206.29 173.73 194.51 194.64 184.4 curveto stroke 0 0 0 edgecolor -newpath 155.05 339.75 moveto -153.7 329.24 lineto -148.2 338.3 lineto +newpath 196.19 187.54 moveto +203.67 180.04 lineto +193.14 181.24 lineto closepath fill 1 setlinewidth solid 0 0 0 edgecolor -newpath 155.05 339.75 moveto -153.7 329.24 lineto -148.2 338.3 lineto +newpath 196.19 187.54 moveto +203.67 180.04 lineto +193.14 181.24 lineto closepath stroke grestore % decrypt->end gsave 1 setlinewidth 0 0 0 edgecolor -newpath 238 73.71 moveto -238 65.46 238 55.54 238 46.36 curveto +newpath 284 71.83 moveto +284 64.13 284 54.97 284 46.42 curveto stroke 0 0 0 edgecolor -newpath 241.5 46.08 moveto -238 36.08 lineto -234.5 46.08 lineto +newpath 287.5 46.41 moveto +284 36.41 lineto +280.5 46.41 lineto closepath fill 1 setlinewidth solid 0 0 0 edgecolor -newpath 241.5 46.08 moveto -238 36.08 lineto -234.5 46.08 lineto +newpath 287.5 46.41 moveto +284 36.41 lineto +280.5 46.41 lineto closepath stroke grestore endpage @@ -813,7 +827,7 @@ grestore %%EndPage: 1 %%Trailer %%Pages: 1 -%%BoundingBox: 36 36 374 642 +%%BoundingBox: 36 36 420 440 end restore %%EOF diff --git a/schema.dot b/schema.dot index e905e97..62dc32c 100644 --- a/schema.dot +++ b/schema.dot @@ -1,20 +1,30 @@ digraph start_up { - node [style = rounded, shape = rect] IC [label="Image\nCover X "] - node [style = rounded, shape = rect] message [label="message"] - node [style = rounded, shape = rect] key + node [style = rounded, shape = rect] PI [label="Choice of \n cover X"] + node [style = rounded, shape = rect] PIb [label="Param. b "] + - node [style = rounded, shape = rect] PI [label="Parameter\nInstantiation"] - node [style = rounded, shape = rect] encrypt [label="m=encryption(message)"] - node [style = rounded, shape = rect] STC [label="y= STC(x,m)"] - node [style = rounded, shape = rect] emb [label="stego=embedding(y,X)"] - node [style = rounded, shape = rect] start end; - node [style = rounded, shape = rect] ED [label="x= LSB (7 bits\nEdge Detection)"] + node [style = rounded, shape = rect] message [label="Message mess"] + node [style = rounded, shape = rect] key [label="Key k"] + node [style = rounded, shape = rect] ee [label="Enlarge edges "] + + + node [style = rounded, shape = rect] encrypt [label="m=encryption(mess,k)"] + node [style = rounded, shape = rect] STC [label="y= STC(x,m)"] node [style = rounded, shape = rect] sample [label="y= sample(x,m)"] + node [style = rounded, shape = rect] emb [label="stego=embedding(y,X)"] - node [style = "", shape = diamond] cond [label="Size of x\n enough for m"]; + node [style = rounded, shape = rect] start [label="Start"] + node [style = rounded, shape = rect] end [label="End"] + node [style = rounded, shape = rect] ED [label="x=edgeDetection(b bits)"] + node [style = "", shape = diamond] cond [label="Size of x\n enough for m"]; + node [style = "", shape = diamond] condStrat [label="Strategy is fixed"]; + + node [style = "", shape = diamond] condEmb [label="Use of STC"]; + start -> PI - start -> IC + start -> PIb + start -> message start -> key @@ -22,15 +32,27 @@ digraph start_up { message -> encrypt - IC -> ED ED -> cond encrypt -> cond - encrypt -> STC - cond -> STC [label="Yes"] - cond -> PI [label="No"] + cond -> condEmb [label="Yes"] + + condEmb -> STC [label="Yes"] + condEmb -> sample [label="No"] + + + + cond -> condStrat [label="No"] + condStrat -> PI [label="No"] + condStrat -> ee [label="Yes"] + ee -> ED PI -> ED + PIb -> ED STC -> emb - emb -> end + sample -> emb + emb -> end + + + } \ No newline at end of file diff --git a/schema2.dot b/schema2.dot index 86c81ab..6c8a0ae 100644 --- a/schema2.dot +++ b/schema2.dot @@ -1,24 +1,27 @@ digraph start_up { node [style = rounded, shape = rect] SI [label="Stego Image"] - node [style = "", shape = diamond] cond [label="Size of y\n enough"]; - node [style = rounded, shape = rect] key - node [style = rounded, shape = rect] start end; - node [style = rounded, shape = rect] PI [label="Parameter\nInstantiation"] + node [style = rounded, shape = rect] key [label="Key k"] + node [style = rounded, shape = rect] start [label="Start"] + node [style = rounded, shape = rect] end [label="End"] + node [style = rounded, shape = rect] PIb [label="Param. b"] + node [style = rounded, shape = rect] PIh [label="Param. H"] node [style = rounded, shape = rect] STC [label="m = STCr(y,H)"] - node [style = rounded, shape = rect] ED [label="(y,H)= LSB (7 bits\nEdge Detection)"] + node [style = rounded, shape = rect] ED [label="y=edgeDetection(b bits)"] node [style = rounded, shape = rect] decrypt [label="message=decryption(m)"] start -> SI - start -> PI - PI -> ED + start -> PIb + start -> PIh + + PIb -> ED + PIh -> STC + start -> key SI -> ED - ED -> cond - cond -> STC [label="Yes"] - cond -> PI [label="No"] + ED -> STC STC -> decrypt key -> decrypt -- 2.39.5