【图像加密】基于matlab RSA图像加密解密【含Matlab源码 1442期】

一、RSA图像加密简介

图像数据的获取、传输和处理已经遍及了数字时代的各个角落,图像的安全问题日益严重,尤其是在军事、商业和医疗等特殊领域 。RSA是一种目前被公开应用的加密算法,它采用非对称的加密* 。下面,笔者在研究图像加密算法的基础上,将RSA算法应用到图像加密技术中,重点研究了算法优化、密钥生成、密钥分发和文件传输等内容,提出了一套完整的数字图像加密和解密解决方案。

1 RSA基本原理
RSA算法采用一种非对称密码加密*,在整个加密过程中密钥和算法独立分开,使得密钥更能有效的等到分配 。其采用大素数因子分解的难度来保障安全性,目前,大素数分解问题仍然没有很好的解决方法 。
RSA算法加密的基本步骤如下:
Step1选取不同的2个大素数a,b,然后计算2个数乘积m=a×b。
Step2选取大整数加密密钥d,要求d与(a-1)×(b-1)互质。
Step3求解密密钥e,e×d=1mod(a-1)×(b-1)。
Step4将明文P加密为密文C(C=Pdmod m),密文C解密为明文P(P=Cemod m)。
根据以上步骤可以看出,只知道m和d不能计算出解密密钥e,可见,任何人都可以对明文P进行加密,但只有获得授权许可后才能对密文C进行解密。

2 RSA图像加密流程设计
RSA图像加密流程设计是先对图像进行读取并转化成十六进制数据流;然后生成RSA算法所需密钥,将密钥与图像进行幂乘及取模运算,生成十进制数据;最后将数据转换为字符串数据流进行保存。其中,最重要的是密钥的生成[ ,其决定最后图像加密效果。密钥的生成过程包括自动生成大素数并存储、对大素数进行算术运算、大数幂模与乘模运算和素数的自动生成4部分,具体加密流程如图1所示。

3 RSA图像加密功能设计
根据RSA图像加密流程,设计图像加密功能,主要包括RSA图像加密、解密和密钥生成等功能。系统功能模块如图2所示。
1)数字图像加密。对数字图像进行字节流

上一篇:git设置ssh key(提交不需要密码)


下一篇:Linux 禁止密码登录,使用私钥登录