【图像加密】基于低对称密码算法实现图像加密解密附matlab代码

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 【图像加密】基于低对称密码算法实现图像加密解密附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法       神经网络预测       雷达通信      无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机

⛄ 内容介绍

Since devices in the Wireless Sensor Network (WSN) are usually small in size, resource constraint is one of the critical issues that needs to be taken into consideration. In this paper, a low-complexity symmetric cryptographic algorithm, denoted as Secure Force (SF), is proposed. It is developed based on the Feistel structure, and the encryption part can be implemented by using a simple architecture that only consists of basic mathematical operations (AND, OR, XOR, XNOR, shifting, swapping). This can help to reduce the burden on encoder, because the more complex key expansion process is only carried out at the decoder. Besides confusion and diffusion of data, different substitution and permutation techniques are also included to complex the cipher. The proposed algorithm is also compared to several existing algorithms in terms of architecture, flexibility, and security.

⛄ 部分代码


% Performance Evaluation of Secure Force Symmetric Key Algorithm

% CCIS Springer 2015


%% Citation 2

% Ebrahim, Mansoor, and Chai Wai Chong.

% "Secure Force: A low-complexity cryptographic algorithm for Wireless Sensor Network (WSN)." Control System, Computing and Engi-neering (ICCSCE), 2013 IEEE International Conference on. IEEE, 2013.


clc

clear all

close all

tic

addpath subFunctions

% Data=imread('images\cameraman.tif');

% Data=imread('images\rice.tif');

% Data=imread('images\Lena.jpg');

% Data=imread('images\football.jpg');

Data=imread('images\onion.png');

% Data=imread('images\ORLFace.jpg');

[row,col,dim]=size(Data);

if (dim>1)

Data=rgb2gray(Data); % convert into grayscale if input image is a color image

end


%% Scalling and Convertion to binary

% Scalling to convert image into array of 8-pixels; each pixel is of 8 bits

% therefore 8 pixel will be equals to 64 bit of data

[Data,padding]=Scalling(Data,8);

Data_binary=convert2bin(Data);


%% Key Selection and Expansion

% Input the key in the form of 133457799bbcdff1

hex_key = '133457799bbcdff1';

[bin_key] = Hex2Bin( hex_key );

[K1,K2,K3,K4,K5]=SF_Key_Gen(bin_key);


%% Encryption and Decryption

orignal_msg=[];

 encrypt_msg=[];

 decrypt_msg=[];

for i=1:size(Data_binary,1)

   orignal=Data_binary(i,:);

   tic

   [cipher]=SF_Encrypt(orignal,K1,K2,K3,K4,K5);

   encryption_time(i)=toc;

   [plaintext]=SF_Decryption(cipher,K1,K2,K3,K4,K5);

 encrypt_msg(:,i)=Binary2Dec(cipher);

 decrypt_msg(:,i)=Binary2Dec(plaintext);

end


if (padding~=0)

   Data=reshape(Data,[size(Data,1)*size(Data,2) 1]);

   Data=Data(1:end-padding);

   encrypt_msg=reshape(encrypt_msg,[size(encrypt_msg,1)*size(encrypt_msg,2) 1]);

   encrypt_msg=encrypt_msg(1:end-padding);

   decrypt_msg=reshape(decrypt_msg,[size(decrypt_msg,1)*size(decrypt_msg,2) 1]);

   decrypt_msg=decrypt_msg(1:end-padding);

end


%% Converting the Vectors into Images

Orignal=uint8(reshape(Data,[row,col]));

Encrypted=uint8(reshape(encrypt_msg,[row,col]));

Decrypted=uint8(reshape(decrypt_msg,[row,col]));

figure

subplot(1,3,1)

imshow(Orignal)

title('Orignal')

subplot(1,3,2)

imshow(Encrypted)

title('Encrypted')

subplot(1,3,3)

imshow(Decrypted)

title('Decrypted')

figure

subplot(2,1,1)

imhist(Orignal);

subplot(2,1,2)

imhist(Encrypted);

display('Done');

toc


%% Calculating the Encrypted and Orignal image's Entropy

Y=(imhist(Encrypted)+0.00001)/(row*col);

Y=-sum(Y.*log2(Y));

X=(imhist(Orignal)+0.00001)/(row*col);

X=-sum(X.*log2(X));

Re=[X Y]

⛄ 运行结果

⛄ 参考文献

Secure Force: A low-complexity cryptographic algorithm for Wireless Sensor Network (WSN)." Control System, Computing and Engi-neering (ICCSCE), 2013 IEEE International Conference on. IEEE, 2013.

⛳️ 代码获取关注我

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料

🍅 仿真咨询

1.卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
2.图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知
3.旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划
4.无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配
5.传感器部署优化、通信协议优化、路由优化、目标定位
6.信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号
7.生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化
8.微电网优化、无功优化、配电网重构、储能配置
9.元胞自动机交通流 人群疏散 病毒扩散 晶体生长


目录
打赏
0
1
2
0
842
分享
相关文章
基于FPGA的图像双线性插值算法verilog实现,包括tb测试文件和MATLAB辅助验证
本项目展示了256×256图像通过双线性插值放大至512×512的效果,无水印展示。使用Matlab 2022a和Vivado 2019.2开发,提供完整代码及详细中文注释、操作视频。核心程序实现图像缩放,并在Matlab中验证效果。双线性插值算法通过FPGA高效实现图像缩放,确保质量。
JavaScript 中通过Array.sort() 实现多字段排序、排序稳定性、随机排序洗牌算法、优化排序性能,JS中排序算法的使用详解(附实际应用代码)
Array.sort() 是一个功能强大的方法,通过自定义的比较函数,可以处理各种复杂的排序逻辑。无论是简单的数字排序,还是多字段、嵌套对象、分组排序等高级应用,Array.sort() 都能胜任。同时,通过性能优化技巧(如映射排序)和结合其他数组方法(如 reduce),Array.sort() 可以用来实现高效的数据处理逻辑。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
基于信息论的高动态范围图像评价算法matlab仿真
本项目基于信息论开发了一种高动态范围(HDR)图像评价算法,并通过MATLAB 2022A进行仿真。该算法利用自然图像的概率模型,研究图像熵与成像动态范围的关系,提出了理想成像动态范围的计算公式。核心程序实现了图像裁剪处理、熵计算等功能,展示了图像熵与动态范围之间的关系。测试结果显示,在[μ-3σ, μ+3σ]区间内图像熵趋于稳定,表明系统动态范围足以对景物成像。此外,还探讨了HDR图像亮度和对比度对图像质量的影响,为HDR图像评价提供了理论基础。
基于一阶梯度的图像亚像素位移matlab仿真,带GUI界面
本项目提供图像亚像素位移估计算法,使用Matlab2022a开发。完整程序无水印运行效果佳,附带详细中文注释代码和操作视频。该算法通过一阶梯度信息和泰勒级数展开,实现比像素更精细的位置变化测量,广泛应用于医学影像、遥感图像、视频监控、精密测量等领域,显著提升图像配准和分析精度。
基于Affine-Sift算法的图像配准matlab仿真
本项目展示了Affine-SIFT算法的运行效果(无水印),适用于图像配准任务,能够处理旋转、缩放、平移及仿射变换。程序基于MATLAB2022A开发,包含完整代码与操作视频。核心步骤为:先用SIFT提取特征点,再通过仿射变换实现高精度对准。
基于图像形态学处理的移动物体目标跟踪和质心提取matlab仿真,带GUI界面
本项目展示了一种基于图像形态学处理的移动物体目标跟踪和质心提取算法。完整程序运行效果无水印,使用Matlab2022a开发。核心代码包含详细中文注释及操作视频。算法通过多帧图像像素值求平均、中值法或高斯混合模型估计背景,结合形态学处理(开闭运算、阈值处理)去除噪声并优化目标检测,提高准确性。颜色直方图匹配用于目标跟踪,结构元素膨胀操作扩大搜索范围,增强鲁棒性。
|
7月前
|
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
299 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
177 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
206 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
目录
目录
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等