【图像加密】基于低对称密码算法实现图像加密解密附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.元胞自动机交通流 人群疏散 病毒扩散 晶体生长


相关文章
|
3月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
199 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
3月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
128 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
3月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
90 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
6月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
6月前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
6月前
|
Serverless
基于Logistic函数的负荷需求响应(matlab代码)
基于Logistic函数的负荷需求响应(matlab代码)
|
6月前
|
供应链 算法
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
|
6月前
|
算法 调度
基于多目标粒子群算法冷热电联供综合能源系统运行优化(matlab代码)
基于多目标粒子群算法冷热电联供综合能源系统运行优化(matlab代码)
|
6月前
|
算法 调度 SoC
电动汽车充放电V2G模型(Matlab代码)
电动汽车充放电V2G模型(Matlab代码)