One time pad 图像加密MATLAB程序

news/2024/6/17 6:37:27 标签: matlab, 计算机视觉, 图像处理

使用一次加密的形式对图像进行加密。

采用异或的方式实现。

加密、解密结果如下:

 

程序代码如下:


% 读取原始图像并显示
originalImage = imread('lena256.bmp'); % 更换为你的图像文件名
subplot(1,3,1),imshow(originalImage);
title('Original Image');

% 生成与图像相同大小的随机一次性密钥
key = uint8(rand(size(originalImage)) * 255);

% 加密图像
encryptedImage = encryptImage(originalImage, key);
subplot(1,3,2); imshow(encryptedImage);
title('Encrypted Image');

% 解密图像
decryptedImage = decryptImage(encryptedImage, key);
subplot(1,3,3),imshow(decryptedImage);
title('Decrypted Image');




function encryptedImage = encryptImage(image, key)
    % 将图像数据和密钥转换为向量
    imageVector = image(:);
    keyVector = key(:);
    
    % 执行异或操作进行加密
    encryptedVector = bitxor(imageVector, keyVector);
    
    % 将加

http://www.niftyadmin.cn/n/5364766.html

相关文章

最短编辑距离问题与动态规划----LeetCode 72.编辑距离

动态规划(Dynamic Programming, DP)是解决复杂问题的一个强大工具,它将问题分解成更小的子问题,并使用这些子问题的解决方案来构建整体问题的解决方案。在深入探讨最短编辑距离问题之前,让我们先理解什么是动态规划&am…

【5G SA流程】5G SA下终端完整注册流程介绍

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。 博客内容主要围绕: 5G/6G协议讲解 …

操作系统透视:从历史沿革到现代应用,剖析Linux与网站服务架构

目录 操作系统 windows macos Linux 服务器搭建网站 关于解释器的流程 curl -I命令 名词解释 dos bash/terminal,(终端) nginx/apache(Linux平台下的) iis(Windows平台下的) GUI(图形化管理接口&#xff…

Alt + TAB 禁止在 Edge 标签页之间切换

(原文:https://blog.iyatt.com/?p13587 ) 浏览器标签页之间切换可以用 {Ctrl}{Tab} 或者 {Ctrl}{数字}精准到标签页码,结果 Windows 11 默认把 Edge 标签页切换混入了 {Alt}{Tab} 前台应用窗口切换,经常不注意是在 Ed…

k8s-常用工作负载控制器(更高级管理Pod)

一、工作负载控制器是什么? 二、Deploymennt控制器:介绍与部署应用 部署 三、Deployment控制器:滚动升级、零停机 方式一: 通个加入健康检查可以,看到,nginx容器逐个被替代,最终每个都升级完成&…

kafka客户端生产者消费者kafka可视化工具(可生产和消费消息)

点击下载《kafka客户端生产者消费者kafka可视化工具(可生产和消费消息)》 1. 前言 因在工作中经常有用到kafka做消息的收发,每次调试过程中,经常需要查看接收的消息内容以及人为发送消息,从网上搜寻了一下&#xff0…

Angular BaseView抽离页面公用属性

前言 如果有一系列的页面布局很类似,为了节省时间,我们可以把这些类似的页面所通用的属性和方法抽离成一个BaseView,让其它页面继承该基础页面,同时将一些经常改变的属性和差异的属性写到配置文件里。例如树容器初始时是否展开、…

2024最新最详细【接口测试总结】

序章 ​ 说起接口测试,网上有很多例子,但是当初做为新手的我来说,看了不不知道他们说的什么,觉得接口测试,好高大上。认为学会了接口测试就能屌丝逆袭,走上人生巅峰,迎娶白富美。因此学了点开发…