├── GUI ├── Logistic_position_decryption.m ├── Logistic_position_encryption.m ├── RLC_decompress.m ├── conbine_adjacent_bits.m ├── extract_embeded_watermark.m ├── gui_image_decrypt_and_recover.fig ├── gui_image_decrypt_and_recover.m ├── head_parser.m ├── high_bit_plane_RLC.m ├── image_bit_plane_sep_high_and_low.m ├── image_compression_and_rebuild.m ├── image_compression_rebuild_and_encryption.m ├── image_data_hiding.fig ├── image_data_hiding.m ├── image_decrypt_and_recover.m ├── image_rebuild_and_encrypt.fig ├── image_rebuild_and_encrypt.m ├── read_embeded_watermark.m ├── record_max_and_min_and_min_position_info.m ├── reversible_data_hiding_in_encrypted_medical_image.fig ├── reversible_data_hiding_in_encrypted_medical_image.m ├── separate_adjacent_bits.m ├── sequence_watermark_embed.m ├── text_watermark_decrypt_and_parse.m ├── text_watermark_generate_and_encrypt.m ├── watermark_embed.m ├── watermark_reader_and_extractor.fig └── watermark_reader_and_extractor.m └── README.md /GUI/Logistic_position_decryption.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kivenyangming/Reversible-data-hiding-in-encrypted-image/8c45682840f32e46f11c31729f13477bf3f880d3/GUI/Logistic_position_decryption.m -------------------------------------------------------------------------------- /GUI/Logistic_position_encryption.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kivenyangming/Reversible-data-hiding-in-encrypted-image/8c45682840f32e46f11c31729f13477bf3f880d3/GUI/Logistic_position_encryption.m -------------------------------------------------------------------------------- /GUI/RLC_decompress.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kivenyangming/Reversible-data-hiding-in-encrypted-image/8c45682840f32e46f11c31729f13477bf3f880d3/GUI/RLC_decompress.m -------------------------------------------------------------------------------- /GUI/conbine_adjacent_bits.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kivenyangming/Reversible-data-hiding-in-encrypted-image/8c45682840f32e46f11c31729f13477bf3f880d3/GUI/conbine_adjacent_bits.m -------------------------------------------------------------------------------- /GUI/extract_embeded_watermark.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kivenyangming/Reversible-data-hiding-in-encrypted-image/8c45682840f32e46f11c31729f13477bf3f880d3/GUI/extract_embeded_watermark.m -------------------------------------------------------------------------------- /GUI/gui_image_decrypt_and_recover.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kivenyangming/Reversible-data-hiding-in-encrypted-image/8c45682840f32e46f11c31729f13477bf3f880d3/GUI/gui_image_decrypt_and_recover.fig -------------------------------------------------------------------------------- /GUI/gui_image_decrypt_and_recover.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kivenyangming/Reversible-data-hiding-in-encrypted-image/8c45682840f32e46f11c31729f13477bf3f880d3/GUI/gui_image_decrypt_and_recover.m -------------------------------------------------------------------------------- /GUI/head_parser.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kivenyangming/Reversible-data-hiding-in-encrypted-image/8c45682840f32e46f11c31729f13477bf3f880d3/GUI/head_parser.m -------------------------------------------------------------------------------- /GUI/high_bit_plane_RLC.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kivenyangming/Reversible-data-hiding-in-encrypted-image/8c45682840f32e46f11c31729f13477bf3f880d3/GUI/high_bit_plane_RLC.m -------------------------------------------------------------------------------- /GUI/image_bit_plane_sep_high_and_low.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kivenyangming/Reversible-data-hiding-in-encrypted-image/8c45682840f32e46f11c31729f13477bf3f880d3/GUI/image_bit_plane_sep_high_and_low.m -------------------------------------------------------------------------------- /GUI/image_compression_and_rebuild.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kivenyangming/Reversible-data-hiding-in-encrypted-image/8c45682840f32e46f11c31729f13477bf3f880d3/GUI/image_compression_and_rebuild.m -------------------------------------------------------------------------------- /GUI/image_compression_rebuild_and_encryption.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kivenyangming/Reversible-data-hiding-in-encrypted-image/8c45682840f32e46f11c31729f13477bf3f880d3/GUI/image_compression_rebuild_and_encryption.m -------------------------------------------------------------------------------- /GUI/image_data_hiding.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kivenyangming/Reversible-data-hiding-in-encrypted-image/8c45682840f32e46f11c31729f13477bf3f880d3/GUI/image_data_hiding.fig -------------------------------------------------------------------------------- /GUI/image_data_hiding.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kivenyangming/Reversible-data-hiding-in-encrypted-image/8c45682840f32e46f11c31729f13477bf3f880d3/GUI/image_data_hiding.m -------------------------------------------------------------------------------- /GUI/image_decrypt_and_recover.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kivenyangming/Reversible-data-hiding-in-encrypted-image/8c45682840f32e46f11c31729f13477bf3f880d3/GUI/image_decrypt_and_recover.m -------------------------------------------------------------------------------- /GUI/image_rebuild_and_encrypt.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kivenyangming/Reversible-data-hiding-in-encrypted-image/8c45682840f32e46f11c31729f13477bf3f880d3/GUI/image_rebuild_and_encrypt.fig -------------------------------------------------------------------------------- /GUI/image_rebuild_and_encrypt.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kivenyangming/Reversible-data-hiding-in-encrypted-image/8c45682840f32e46f11c31729f13477bf3f880d3/GUI/image_rebuild_and_encrypt.m -------------------------------------------------------------------------------- /GUI/read_embeded_watermark.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kivenyangming/Reversible-data-hiding-in-encrypted-image/8c45682840f32e46f11c31729f13477bf3f880d3/GUI/read_embeded_watermark.m -------------------------------------------------------------------------------- /GUI/record_max_and_min_and_min_position_info.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kivenyangming/Reversible-data-hiding-in-encrypted-image/8c45682840f32e46f11c31729f13477bf3f880d3/GUI/record_max_and_min_and_min_position_info.m -------------------------------------------------------------------------------- /GUI/reversible_data_hiding_in_encrypted_medical_image.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kivenyangming/Reversible-data-hiding-in-encrypted-image/8c45682840f32e46f11c31729f13477bf3f880d3/GUI/reversible_data_hiding_in_encrypted_medical_image.fig -------------------------------------------------------------------------------- /GUI/reversible_data_hiding_in_encrypted_medical_image.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kivenyangming/Reversible-data-hiding-in-encrypted-image/8c45682840f32e46f11c31729f13477bf3f880d3/GUI/reversible_data_hiding_in_encrypted_medical_image.m -------------------------------------------------------------------------------- /GUI/separate_adjacent_bits.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kivenyangming/Reversible-data-hiding-in-encrypted-image/8c45682840f32e46f11c31729f13477bf3f880d3/GUI/separate_adjacent_bits.m -------------------------------------------------------------------------------- /GUI/sequence_watermark_embed.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kivenyangming/Reversible-data-hiding-in-encrypted-image/8c45682840f32e46f11c31729f13477bf3f880d3/GUI/sequence_watermark_embed.m -------------------------------------------------------------------------------- /GUI/text_watermark_decrypt_and_parse.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kivenyangming/Reversible-data-hiding-in-encrypted-image/8c45682840f32e46f11c31729f13477bf3f880d3/GUI/text_watermark_decrypt_and_parse.m -------------------------------------------------------------------------------- /GUI/text_watermark_generate_and_encrypt.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kivenyangming/Reversible-data-hiding-in-encrypted-image/8c45682840f32e46f11c31729f13477bf3f880d3/GUI/text_watermark_generate_and_encrypt.m -------------------------------------------------------------------------------- /GUI/watermark_embed.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kivenyangming/Reversible-data-hiding-in-encrypted-image/8c45682840f32e46f11c31729f13477bf3f880d3/GUI/watermark_embed.m -------------------------------------------------------------------------------- /GUI/watermark_reader_and_extractor.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kivenyangming/Reversible-data-hiding-in-encrypted-image/8c45682840f32e46f11c31729f13477bf3f880d3/GUI/watermark_reader_and_extractor.fig -------------------------------------------------------------------------------- /GUI/watermark_reader_and_extractor.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kivenyangming/Reversible-data-hiding-in-encrypted-image/8c45682840f32e46f11c31729f13477bf3f880d3/GUI/watermark_reader_and_extractor.m -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## 基于位平面压缩的图像可逆信息隐藏算法 2 | ### The reversible data hiding algorithm of encrypted images based on bit plane compression 3 | 4 | 在matlab中运行文件reversible_data_hiding_in_encrypted_medical_image.m,会出现程序各部分入口 5 | 各部分运行结果如下: 6 | 1.图像重构与加密:输入图像、图像加密密钥(没有输入会自动随机生成);输出加密后的图像、图像加密密钥文本文件(Key.txt)和头部密钥文本文件(Key_head.txt) 7 | 2.水印嵌入:输入加密后的图像,读取头部密钥文本文件(Key_head.txt),设置水印加密密钥(没有输入会自动随机生成),输入要嵌入的水印信息(支持读取txt文本);输出嵌入水印的图像、数据嵌入密钥文本文件(Key_extract.txt)、数据嵌入密钥及水印加密密钥文本文件(Key_data.txt)、返回值序列文本文件(Key_feedback_value.txt) 8 | 3.水印的读取与提取:输入嵌入水印的图像,输入数据嵌入密钥和返回值序列,点击提取水印可以从加密图像中提取出水印,得到提取出水印的图像;输入嵌入水印的图像,输入数据嵌入密钥及水印加密密钥、返回值序列,点击读取水印,可以从加密图像中读出水印信息; 9 | 4.图像解密与复原:输入加密后的图像,输入图像加密密钥(Key.txt),得到解密复原后的图像 10 | 11 | #### 本程序参考文献:郑洪英, 任雯, 程惠惠. 基于位平面压缩的密文医学图像可逆信息隐藏算法 [J]. 计算机应用, 2016, 36(11): 3088-3092. 12 | --------------------------------------------------------------------------------