基于RSA算法的图像加密与解密系统
项目介绍
本项目是一个利用RSA非对称加密算法对数字图像进行安全加密与解密的系统。系统能够处理灰度或彩色图像,通过高强度的大整数运算保护图像数据的隐私与完整性,适用于军事、医疗、商业等对图像保密性要求高的场景。
功能特性
- RSA非对称加密:采用公钥加密、私钥解密的机制,确保密钥分发安全。
- 多格式图像支持:可处理JPEG、PNG、BMP等常见格式的灰度或彩色图像。
- 自定义密钥参数:支持用户指定RSA密钥长度(如1024位、2048位),或直接使用现有密钥对。
- 数据格式转换:将图像像素数据转换为适合RSA大整数运算的格式,完成加密/解密后还原为图像。
- 密钥对生成:可生成符合条件的RSA公钥与私钥对,供用户直接使用。
使用方法
- 加密图像
- 输入原始图像路径、公钥(模数n和指数e)及密钥长度(可选)。
- 系统将图像数据分块加密,输出加密后的图像文件。
- 解密图像
- 输入加密图像路径、私钥(模数n和指数d)。
- 系统对加密数据解密并重组,还原出原始图像。
- 生成密钥对
- 输入所需密钥长度(如2048),系统生成并输出公钥(n, e)与私钥(n, d)文件。
系统要求
- 操作系统:Windows/Linux/macOS
- 运行环境:MATLAB R2018a或更高版本
- 依赖工具包:图像处理工具箱(Image Processing Toolbox)
文件说明
主程序文件作为系统入口,整合了图像读取、数据预处理、RSA密钥生成、加密与解密流程控制、结果图像输出等核心功能。具体实现了用户交互界面,根据输入参数调用相应的密钥处理、图像块加密/解密及数据转换模块,并确保加密后的图像数据完整性与解密图像的无损还原。