{"id":18,"date":"2024-08-23T14:15:02","date_gmt":"2024-08-23T14:15:02","guid":{"rendered":"http:\/\/blog.petitcolas.net\/?page_id=18"},"modified":"2024-08-23T14:15:02","modified_gmt":"2024-08-23T14:15:02","slug":"the-image-downgrading-problem","status":"publish","type":"page","link":"https:\/\/blog.petitcolas.net\/index.php\/the-image-downgrading-problem\/","title":{"rendered":"The image downgrading problem"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">In multilevel security systems (such as the one used by the army) one wants sometimes to declassify some information from, say, \u2018top secret\u2019 to \u2018confidential\u2019 or even \u2018public\u2019. Unfortunately this is not as easy as it seems, especially if you want to downgrade images. [Examples of declassified pictures can be found on the US Government\u2019s&nbsp;<a href=\"http:\/\/eros.usgs.gov\/\">EROS Data Centre web site<\/a>]. Indeed information could have been covertly hidden in a \u2018top secret\u2019 image for later retrieval when the image is declassified.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This problem has been pointed out in 1992 by C. Kurak and J. McHugh in&nbsp;<em>A cautionary note on image downgrading<\/em>&nbsp;(Computer Security Applications Conference). Below, we give an example of this technique which replaces the least significant bit planes of the image to be declassified by the most significant bit planes of another one which should stay \u2018top secret\u2019. You can also look at the&nbsp;<a href=\"https:\/\/petitcolas.net\/steganography\/image_downgrading\/#steps\">various steps if you replace 1, 2, &#8230; to 7 bit planes<\/a>. [Implementation: see my&nbsp;<a href=\"https:\/\/petitcolas.net\/steganography\/image_downgrading\/code.html\">code for Matlab<\/a>]<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The process was recently improved by K. Knox: he uses error diffusion to improve the quality of both views (cover and stego). See \u2018Reversible digital images\u2019, from Electronic Imaging\u201999 (SPIE);<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here is the example:<\/p>\n\n\n\n<div class=\"wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-c020569f wp-block-group-is-layout-flex\">\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-f56f613f wp-block-group-is-layout-flex\">\n<div class=\"wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-c020569f wp-block-group-is-layout-flex\">\n<p class=\"wp-block-paragraph\">The image in which we want to hide another image:\u2018Arctic hare\u2019 \u2013 Copyright photos courtesy of Robert E. Barber, Barber Nature Photography (tlankerd@wmis.net)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"202\" src=\"https:\/\/petitcolas.net\/steganography\/image_downgrading\/arctic_hare.bmp\" alt=\"The image we wish to hide\"><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-c020569f wp-block-group-is-layout-flex\">\n<p class=\"wp-block-paragraph\">The image we wish to hide: \u2018F15\u2019 \u2013 Copyright photo courtesy of Toni Lankerd, 18347 Woodland Ridge Dr. Apt #7, Spring Lake, MI 49456, U.S.A. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"202\" src=\"https:\/\/petitcolas.net\/steganography\/image_downgrading\/F15.bmp\" alt=\"The image we wish to hide\"><\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-f56f613f wp-block-group-is-layout-flex\">\n<div class=\"wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-c020569f wp-block-group-is-layout-flex\">\n<p class=\"wp-block-paragraph\">The stego-image (i.e., after the hiding process):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"202\" src=\"https:\/\/petitcolas.net\/steganography\/image_downgrading\/stego4.bmp\" alt=\"The image we wish to hide\"><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-c020569f wp-block-group-is-layout-flex\">\n<p class=\"wp-block-paragraph\">The image extracted from the stego-image:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"202\" src=\"https:\/\/petitcolas.net\/steganography\/image_downgrading\/extract4.bmp\" alt=\"The image we wish to hide\"><\/p>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"steps\">Embedding steps<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><\/li>\n\n\n\n<li><\/li>\n\n\n\n<li><\/li>\n\n\n\n<li><\/li>\n\n\n\n<li><\/li>\n\n\n\n<li><\/li>\n\n\n\n<li><\/li>\n\n\n\n<li><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><img loading=\"lazy\" decoding=\"async\" alt=\"Original image: \u2018Arctic hare\u2019\" src=\"https:\/\/petitcolas.net\/steganography\/image_downgrading\/arctic_hare.bmp\" width=\"512\" height=\"345\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/petitcolas.net\/steganography\/image_downgrading\/F15.bmp\" width=\"512\" height=\"345\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Original images: \u2018Arctic hare\u2019 and \u2018F15\u2019.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/petitcolas.net\/steganography\/image_downgrading\/#carousel-example-generic\"><\/a><a href=\"https:\/\/petitcolas.net\/steganography\/image_downgrading\/#carousel-example-generic\"><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In multilevel security systems (such as the one used by the army) one wants sometimes to declassify some information from, say, \u2018top secret\u2019 to \u2018confidential\u2019 or even \u2018public\u2019. Unfortunately this is not as easy as it seems, especially if you want to downgrade images. [Examples of declassified pictures can be found on the US Government\u2019s&nbsp;EROS [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-18","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/blog.petitcolas.net\/index.php\/wp-json\/wp\/v2\/pages\/18","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.petitcolas.net\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blog.petitcolas.net\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/blog.petitcolas.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.petitcolas.net\/index.php\/wp-json\/wp\/v2\/comments?post=18"}],"version-history":[{"count":1,"href":"https:\/\/blog.petitcolas.net\/index.php\/wp-json\/wp\/v2\/pages\/18\/revisions"}],"predecessor-version":[{"id":20,"href":"https:\/\/blog.petitcolas.net\/index.php\/wp-json\/wp\/v2\/pages\/18\/revisions\/20"}],"wp:attachment":[{"href":"https:\/\/blog.petitcolas.net\/index.php\/wp-json\/wp\/v2\/media?parent=18"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}