国内网站设计,怎样实现wordpress订单提醒功能,vps 网站能打开,wordpress菜单栏不显示不出来目录
1.程序功能描述
2.测试软件版本以及运行结果展示
3.核心程序
4.本算法原理
4.1 AES 加密算法概述
4.2 基于 AES 的遥感图像加密算法原理
5.完整程序 1.程序功能描述 通过AES算法对遥感图像进行加密和解密#xff0c;分析加解密处理后图像的直方图#xff0c;相关…目录
1.程序功能描述
2.测试软件版本以及运行结果展示
3.核心程序
4.本算法原理
4.1 AES 加密算法概述
4.2 基于 AES 的遥感图像加密算法原理
5.完整程序 1.程序功能描述 通过AES算法对遥感图像进行加密和解密分析加解密处理后图像的直方图相关性熵解密后图像质量等。
2.测试软件版本以及运行结果展示
MATLAB2022A版本运行 3.核心程序 Image_RGB rgb2gray(I);
Image_RGB imresize(Image_RGB,[256,256]);figure;
subplot(131);
imshow(Image_RGB,[]);
title([原图]);[rr,cc] size(Image_RGB);for i 1:rr/16for j 1:ccM_data2{i,j} Image_RGB(16*(i-1)1:16*i , j);end
end%设置密钥
key_hex {00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f};
%AES初始化[SBOX,invSBOX,w,polys,invpolys] func_AES_parameter(key_hex); %加密处理
for i 1:rr/16for j 1:ccimages_AES{i,j} func_AES(double(M_data2{i,j}),w,SBOX,polys,1);end
end%显示加密后的图像
for i 1:rr/16for j 1:cctmp (images_AES{i,j});iamges_aes(16*(i-1)1:16*i,j) double(tmp);end
endsubplot(132);
imshow(iamges_aes,[]);
title([加密图]);[rr,cc] size(Image_RGB);
%解密处理
for i 1:rr/16for j 1:ccimages_deAES{i,j} func_invAES(images_AES{i,j},w,invSBOX,invpolys,1);end
end
%显示解密后的图像
for i 1:rr/16for j 1:cctmp (images_deAES{i,j});iamges_deaes(16*(i-1)1:16*i,j) double(tmp);end
endsubplot(133);
imshow(iamges_deaes,[]);
title([解密图]);PSNR psnr(uint8(Image_RGB), uint8(iamges_deaes))
29_005_1m4.本算法原理 随着遥感技术的不断发展遥感图像在军事、环境监测、资源勘探等领域发挥着越来越重要的作用。然而由于遥感图像通常包含大量敏感信息如地理坐标、军事设施等因此对其进行安全有效的加密成为了一个至关重要的问题。高级加密标准Advanced Encryption StandardAES作为一种广泛应用的对称加密算法具有加密速度快、安全性高的特点非常适合用于遥感图像的加密。
4.1 AES 加密算法概述 AES 是一种分组密码算法它将明文分成固定长度的分组然后对每个分组进行加密。AES 的分组长度可以是 128 位、192 位或 256 位密钥长度也可以是 128 位、192 位或 256 位。AES 算法主要由以下几个部分组成
字节替换SubBytes
行移位ShiftRows
列混合MixColumns
轮密钥加AddRoundKey
AES 加密算法通常进行多轮迭代每一轮都包括上述四个操作。在最后一轮中不进行列混合操作。
4.2 基于 AES 的遥感图像加密算法原理
将遥感图像转换为二维矩阵形式。假设图像的大小为 M×N将其表示为一个 M×N 的矩阵 I。然后对矩阵 I 进行灰度化处理将其转换为灰度图像。灰度化处理可以采用加权平均法即对于彩色图像的每个像素点根据其 RGB 分量的值计算出一个灰度值。设像素点的 RGB 分量分别为 R、G、B则灰度值 Gray 0.299R 0.587G 0.114B。最后将灰度图像的像素值进行归一化处理使其取值范围在[0, 1]之间。归一化处理可以采用公式Gray_norm Gray / 255。
AES 加密过程
密钥生成选择一个合适的密钥长度如 128 位或 256 位。使用密钥生成算法生成一个密钥 K。
分组处理将预处理后的图像矩阵 I 按照 AES 的分组长度进行分组。如果图像的大小不是分组长度的整数倍则需要进行填充处理使图像的大小能够被分组长度整除。
轮密钥扩展根据密钥 K使用轮密钥扩展算法生成多个轮密钥。轮密钥的数量取决于 AES 的加密轮数和密钥长度。
加密迭代对每个图像分组进行多轮加密迭代。每一轮加密包括以下四个步骤
字节替换SubBytes使用一个 S 盒Substitution Box对每个字节进行替换操作。S 盒是一个 16×16 的矩阵它将输入的字节映射为另一个字节。设输入字节为 x则替换后的字节为 S[x]。
行移位ShiftRows将矩阵的每一行进行循环移位操作。第 0 行不进行移位第 1 行循环左移 1 个字节第 2 行循环左移 2 个字节第 3 行循环左移 3 个字节。
列混合MixColumns对矩阵的每一列进行线性变换操作。设矩阵的一列向量为 [s0, s1, s2, s3]则经过列混合后的向量为 [s0, s1, s2, s3]其中
s0 (2s0 3s1 1s2 1s3) mod 256 s1 (1s0 2s1 3s2 1s3) mod 256 s2 (1s0 1s1 2s2 3s3) mod 256 s3 (3s0 1s1 1s2 2s3) mod 256
轮密钥加AddRoundKey将当前轮的轮密钥与矩阵进行异或操作。设矩阵为 A轮密钥为 K则异或后的矩阵为 A ⊕ K。
5.完整程序
VVV