图像异或加密、解密的实现

很多论文提到了从左上角开始做异或,逐行推导得到结果。

解密过程是加密的逆过程。

先看其基本方法:

参考文献:

A Chaotic System Based Image Encryption Scheme with Identical Encryption and Decryption Algorithm

大多数论文都用了这个思路,我们使用MATLAB实现代码如下:



% 在正向扩散过程中,明文图像P通过以下公式与伪随机矩阵X进行XOR操作,转换为一个称为D的矩阵:
% D(1, 1) = P(1, 1) XOR X(1, 1) XOR r1 (8)
% D(1, j) = P(1, j) XOR X(1, j) XOR D(1, j−1), j = 2, 3, ···, N (9)
% D(i, 1) = P(i, 1) XOR X(i, 1) XOR D(i−1, N) XOR D(i−1, 1), i = 2, 3, ···, M (10)
% D(i, j) = P(i, j) XOR X(i, j) XOR D(i−1, j) XOR D(i, j−1), i = 2, 3, ···, M, j = 2, 3, ···, N (11)



function D = forward_diffusion(P, X)
    [M, N] = size(P);  % 假设P和X拥有相同的尺寸
    D = zeros(M, N);   % 初始化矩阵D

    % 根据公式(8)实现
    D(1, 1) = bitxor

相关推荐

  1. (67)动态口令 (68)解码数组

    2024-02-02 10:40:07       43 阅读
  2. leetcode位运算(1720. 解码数组)

    2024-02-02 10:40:07       23 阅读
  3. 加密原理及简单应用(C语言版)

    2024-02-02 10:40:07       56 阅读
  4. 算法刷题笔记 最大对(详细注释C++实现

    2024-02-02 10:40:07       26 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-02 10:40:07       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-02 10:40:07       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-02 10:40:07       87 阅读
  4. Python语言-面向对象

    2024-02-02 10:40:07       96 阅读

热门阅读

  1. 设计模式第一天|单例模式 1.小明的购物车

    2024-02-02 10:40:07       62 阅读
  2. 每日OJ题_算法_模拟①_力扣1576. 替换所有的问号

    2024-02-02 10:40:07       56 阅读
  3. python将“{‘a‘:1}“和‘{“a“:None}‘转化为dict

    2024-02-02 10:40:07       35 阅读
  4. 为什么要用Qt开发Android应用?

    2024-02-02 10:40:07       48 阅读