方形图像加密之置乱加密:基于矩阵乘法和取模运算的多轮加密算法

编程入门 行业动态 更新时间:2024-10-10 00:25:08

方形图像加密之置乱加密:基于矩阵<a href=https://www.elefans.com/category/jswz/34/1768740.html style=乘法和取模运算的多轮加密算法"/>

方形图像加密之置乱加密:基于矩阵乘法和取模运算的多轮加密算法

索引

  • 算法思想与条件分析
    • 整 [ 0 , N − 1 ] × [ 0 , N − 1 ] \left[ 0,N-1 \right]\times \left[ 0,N-1 \right] [0,N−1]×[0,N−1]上满射性质分析
    • 整 [ 0 , N − 1 ] × [ 0 , N − 1 ] \left[ 0,N-1 \right]\times \left[ 0,N-1 \right] [0,N−1]×[0,N−1]上单射性质分析
    • 解密可行性
  • 一轮加解密算法步骤
  • 多轮加解密算法策略
  • Matlab代码

置乱加密:仅改变像素位置的加密。

算法思想与条件分析

  给定一幅 N × N N\times N N×N的明文图像 I I I,对其进行置乱加密。考虑将明文图像 I I I的 ( i , j ) \left( i,j \right) (i,j)像素处的信息赋予到密文图像 C C C的 ( m , n ) \left( m,n \right) (m,n)像素, i , j , m , n ∈ { 0 , 1 , ⋯   , N − 1 } i,j,m,n\in \left\{ 0,1,\cdots ,N-1 \right\} i,j,m,n∈{0,1,⋯,N−1},赋予过程考虑采用矩阵乘法和取模运算的方式。
( m n ) = ( a b c d ) ( i j )     m o d   N \left( \begin{matrix} m \\ n \\ \end{matrix} \right)=\left( \begin{matrix} a & b \\ c & d \\ \end{matrix} \right)\left( \begin{matrix} i \\ j \\ \end{matrix} \right)\text{ }\bmod N (mn​)=(ac​bd​)(ij​) modN
其中 a , b , c , d a,b,c,d a,b,c,d均为整数。
理想的加密效果是:

  1. 密文图像 C C C是一幅“完整的”图像,即 C C C的规格也是 N × N N\times N N×N,并且每个像素处的信息 C ( m , n ) C\left( m,n \right) C(m,n)非空,来自于明文图像 I I I中的某个像素处的信息 I ( i , j ) I\left( i,j \right) I(i,j)。
  2. 不发生信息覆盖和重叠,即明文图像 I I I中两个不同像素处的信息 I ( i 1 , j 1 ) , I ( i 2 , j 2 ) I\left( {{i}_{1}},{{j}_{1}} \right),I\left( {{i}_{2}},{{j}_{2}} \right) I(i1​,j1​),I(i2​,j2​), ( i 1 , j 1 ) ≠ ( i 2 , j 2 ) \left( {{i}_{1}},{{j}_{1}} \right)\ne \left( {{i}_{2}},{{j}_{2}} \right) (i1​,j1​)​=(i2​,j2​),不能赋向密文图像 C C C中同一个像素 ( m , n ) \left( m,n \right) (m,n)。

  由赋予过程的表达式我们得到了等价的同余式组
{ m ≡ a i + b j     m o d   N n ≡ c i + d j     m o d   N \left\{ \begin{aligned} & m\equiv ai+bj\text{ }\bmod N \\ & n\equiv ci+dj\text{ }\bmod N \\ \end{aligned} \right. {​m≡ai+bj modNn≡ci+dj modN​

整 [ 0 , N − 1 ] × [ 0 , N − 1 ] \left[ 0,N-1 \right]\times \left[ 0,N-1 \right] [0,N−1]×[0,N−1]上满射性质分析

  效果1实质上等价于要求整 [ 0 , N − 1 ] × [ 0 , N − 1 ] \left[ 0,N-1 \right]\times \left[ 0,N-1 \right] [0,N−1]×[0,N−1]上的映射
T : { ( a , b ) ∈ Z 2 : 0 ≤ a , b ≤ N − 1 } → { ( a , b ) ∈ Z 2 : 0 ≤ a , b ≤ N − 1 } ( i , j ) → ( m , n ) \mathcal{T}:\begin{matrix} \left\{ \left( a,b \right)\in {{\mathbb{Z}}^{2}}:0\le a,b\le N-1 \right\} & \to & \left\{ \left( a,b \right)\in {{\mathbb{Z}}^{2}}:0\le a,b\le N-1 \right\} \\ \left( i,j \right) & \to & \left( m,n \right) \\ \end{matrix} T:{(a,b)∈Z2:0≤a,b≤N−1}(i,j)​→→​{(a,b)∈Z2:0≤a,b≤N−1}(m,n)​
满射。因此要求 ∀ m 0 , n 0 ∈ { 0 , 1 , ⋯   , N − 1 } \forall {{m}_{0}},{{n}_{0}}\in \left\{ 0,1,\cdots ,N-1 \right\} ∀m0​,n0​∈{0,1,⋯,N−1},关于 i , j i,j i,j的同余式组
{ a i + b j ≡ m 0     m o d   N c i + d j ≡ n 0     m o d   N \left\{ \begin{aligned} & ai+bj\equiv {{m}_{0}}\text{ }\bmod N \\ & ci+dj\equiv {{n}_{0}}\text{ }\bmod N \\ \end{aligned} \right. {​ai+bj≡m0​ modNci+dj≡n0​ modN​
有解。

  将同余式组作以下推理
① { a i + b j ≡ m 0     m o d   N c i + d j ≡ n 0     m o d   N   ⇒   { { a c i + b c j ≡ c m 0     m o d   N a c i + a d j ≡ a n 0     m o d   N   ⇒   ( b c − a d ) j ≡ c m 0 − a n 0     m o d   N { a d i + b d j ≡ d m 0     m o d   N b c i + b d j ≡ b n 0     m o d   N   ⇒   ( a d − b c ) i ≡ d m 0 − b n 0     m o d   N } ② ①\left\{ \begin{aligned} & ai+bj\equiv {{m}_{0}}\text{ }\bmod N \\ & ci+dj\equiv {{n}_{0}}\text{ }\bmod N \\ \end{aligned} \right.\text{ }\Rightarrow \text{ }\left\{ \left. \begin{aligned} & \left\{ \begin{aligned} & aci+bcj\equiv c{{m}_{0}}\text{ }\bmod N \\ & aci+adj\equiv a{{n}_{0}}\text{ }\bmod N \\ \end{aligned} \right.\text{ }\Rightarrow \text{ }\left( bc-ad \right)j\equiv c{{m}_{0}}-a{{n}_{0}}\text{ }\bmod N \\ & \left\{ \begin{aligned} & adi+bdj\equiv d{{m}_{0}}\text{ }\bmod N \\ & bci+bdj\equiv b{

更多推荐

方形图像加密之置乱加密:基于矩阵乘法和取模运算的多轮加密算法

本文发布于:2024-02-11 15:40:37,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1681790.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:乘法   矩阵   方形   加密算法   图像

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!