カオスに基づくデジタル画像暗号化アルゴリズム

カオスに基づくデジタル画像暗号化アルゴリズム

概要: 現在、カオスシステムと暗号化技術の組み合わせは、最もホットなトピックの 1 つです。多数の暗号化アルゴリズムが発表されていますが、これらの暗号化アルゴリズムは成熟しておらず、さらなる研究が必要です。この論文では、ピクセル位置スクランブル変換とピクセル値置換変換を組み合わせた暗号化のアイデアを採用し、カオスベースのデジタル画像暗号化アルゴリズムを設計します。整数領域での逆アフィン変換が導入されています。このアルゴリズムは、2 次元ロジスティック カオス マッピングと組み合わせた方法を使用して、複数のカオス シーケンス グループを生成します。ピクセル スクランブル変換とグレー値の置き換えは、これらのカオス シーケンスによって制御されます。複数のカオスシーケンスによって生成されるキー空間は、単一のカオスシーケンスによって生成されるキー空間よりも大きいため、この論文で研究されたアルゴリズムの暗号化強度は非常に高くなります。

1. 昆虫個体群モデル - ロジスティックカオスマッピング。

ロジスティック マップは、次のようなモデルを持つ生成非線形システムです。

図1 ロジスティックマッピング分岐画像

  1. すべてクリア
  2. クリック
  3. m(1)=0.632;
  4. 196601 ;
  5. m1 = [];
  6. u1 = 2.6の場合:0.02:4
  7. i = 1 :N-1の場合
  8. m(i+1)=u1*m(i)*(1-m(i));
  9. 終わり
  10.      m1 = [m1 m];
  11. 終わり
  12. プロット(m1,'k.')

2. ピクセルのグレースケール値を置き換えることによる画像暗号化

画像(i, j)のグレー値がI(i, j)であり、1≤i≤M、1≤j≤Nを満たすものとし、I′(i, j)は置換後の(i, j)におけるI(i, j)のグレー値を表すものとする。本稿では、空間領域でピクセル値の置換変換を実行し、カオスシーケンスとピクセル値の置換操作を実現するための 2 つのアイデアを設計します。

ピクセル置換の式は次のとおりです。

I′(i,j)=((r1(i,j)⊕I(i,j)⊕r2(i,j)+L−r3(ij)))modL)mod256

ここで、L は画像の色深度を表します。mod はモジュロ演算を表します。⊕ はビット単位の XOR 演算を表します。 r1、r2、r3 はカオスシーケンス値を表します。置換変換のキーは、r1、r2、r3 に対応するカオスシステムによって提供されます。変換は複数回実行できるため、暗号化効果が高くなります。繰り返し回数をnとすると、カオスモデルの初期値とパラメータとともにこの部分の鍵として利用され、鍵空間が拡大し、暗号強度が向上します。画像が非常に大きい場合、上記の式から、テンプレート行列 r1、r2、r3 をそれに応じて増やす必要があり、暗号化の効率が大幅に低下することがわかります。このため、ブロック処理によって画像を暗号化することができ、暗号化の効率が大幅に向上します。図 2 は元の画像と暗号化された画像を示しています。

図2 元の画像と暗号化された画像

jiami.m

  1. 関数e = jiami (x, データ)
  2. m(1)=データ(1);
  3. m1(1)=データ(2);
  4. m2(1)=データ(3);
  5. [a,b]=サイズ(x);
  6. N = a * b;
  7. u1 =データ(4);
  8. % u = 4 ;
  9. i = 1 :N-1の場合
  10. m(i+1) = u1 * m(i) * (1-m(i));
  11. 終わり
  12. m =モード(255*m,256);
  13. uint8倍数
  14. u2 =データ(5);
  15. i = 1 :N-1の場合
  16. m1(i+1) = u2 * m1(i) * (1-m1(i));
  17. 終わり
  18. m1 =モード(255*m1,256);
  19. m1 = uint8 (m1);
  20. u3 =データ(6);
  21. i = 1 :N-1の場合
  22. m2(i+1) = u3 * m2(i) * (1-m2(i));
  23. 終わり
  24. シグマデータ(7)
  25. m2 =モード(255*m2,256);
  26. m2 = uint8 (m2);
  27. % n = 1 ;
  28. n =データ(8);
  29. x =倍精度浮動小数点数型(x);
  30. m =倍精度浮動小数点数型(m);
  31. m1 =倍精度浮動小数点数型(m1);
  32. m2 =倍数(m2);
  33. i = 1 の場合:a
  34. j = 1 の場合:b
  35. e(i,j) = m(n) + m1(n);
  36. e(i,j) = ビットxor(e(i,j),m2(n));
  37. 関数 e(i,j) = e(i,j) + x(i,j) ;
  38. e(i,j) = mod(e(i,j),255);
  39.         n n =n+1;
  40. 終わり
  41. 終わり

メイン.m

  1. x = imread ('lena.png');
  2. x =倍精度浮動小数点数型(x(:,:,1));
  3. r = input ('暗号化キーkey1を入力してください:');
  4. e = jiami (x,r);
  5. サブプロット(121);
  6. imshow(x,[]);
  7. title('元の画像');
  8. サブプロット(122);
  9. imshow(e,[]);
  10. title('暗号化された画像');

キーは[0.343 0.432 0.63 3.769 3.82 3.85 0.1 1] 8ビット

#p#

3. 暗号化された画像の復号化

復号化は暗号化の逆であり、式は次のようになります。

I(i,j)=(r1(i,j)⊕(I′(i,j)+r3(i,j))modL)⊕r2(i,j))mod256

じえみ1.m

  1. 関数kk = jiemi1 (e,データ)
  2. e =倍精度浮動小数点数型(e);
  3. [a,b]=サイズ(e);
  4. e =(e);
  5. m3(1)=データ(1);
  6. m4(1)=データ(2);
  7. m5(1)=データ(3);
  8. u1 =データ(4);
  9. N = a * b;
  10. i = 1 :N-1の場合
  11. m3(i+1) = u1 * m3(i) * (1-m3(i));
  12. 終わり
  13. m3 =モード(255*m3,256);
  14. m3 = uint8 (m3);
  15. u2 =データ(5);
  16. i = 1 :N-1の場合
  17. m4(i+1) = u2 * m4(i) * (1-m4(i));
  18. 終わり
  19. m4 =モード(255*m4,256);
  20. m4 = uint8 (m4);
  21. u3 =データ(6);
  22. i = 1 :N-1の場合
  23. m5(i+1) = u3 * m5(i) * (1-m5(i));
  24. 終わり
  25. m5 =モード(255*m5,256);
  26. m5 = uint8 (m5);
  27. シグマデータ(7)
  28. n =データ(8);
  29. m3 =倍精度浮動小数点数型(m3);
  30. m4 =倍精度浮動小数点数型(m4);
  31. m5 =倍精度浮動小数点数型(m5);
  32.  
  33. i = 1 の場合:a
  34. j = 1 の場合:b
  35. m3(n)+m4(n) は、
  36. kk(i,j) = ビットxor(kk(i,j),m5(n));
  37. kk(i,j) = e(i,j) - kk(i,j);
  38. kk(i,j) = mod(kk(i,j),255);
  39.    n n =n+1;
  40. 終わり
  41. 終わり

関数呼び出し形式

kk=jiemi1(e,r);

%eは暗号化された画像、rは8ビットのキーです。

図 3 は復号化プロセスを示しています。

図3 復号化された画像

図から、間違ったキーを使用すると復号エラーが発生することがわかります。正しいキーのみが元の画像を復号化でき、キーの精度は非常に高く、小数点以下数桁に達することもあります。

<<:  Diffie-Hellman 鍵交換は、一般的な暗号化アルゴリズムです。

>>:  貴州省はアリババクラウドの最適アルゴリズムを使用して交通渋滞を減らし、赤信号の時間を86%削減する予定

ブログ    

推薦する

Google のアルゴリズムにどんな恥ずかしいことが起こったのでしょうか?

ここには Google が意図的に行ったジョークがあると思われます。周知のとおり、Google の柱...

フォーブス:人工知能が解決できる15の社会的課題

人工知能の応用範囲は非常に広いです。製造業から保険業まで、さまざまな業界がビジネスの改善に人工知能の...

人工知能は人間の言語を習得したのか?見た目は騙されることがある

[[247418]]人工知能の分野における成果は、誤解されやすく、過大評価されやすい。このことは、人...

従来の連合学習が異種混在の課題に直面したときは、これらのパーソナライズされた連合学習アルゴリズムを試してみてください。

この記事では、パーソナライズされた連合学習に関する 3 つの記事を厳選して詳細に分析します。従来の機...

AI時代の南北格差を埋める

[[427918]]周其浦松陽人工知能(AI)の発展は世界に変革をもたらしましたが、同時に発展途上国...

Pika、Gen-2、ModelScope、SEINE…AIビデオ生成で最高なのはどれでしょうか?このフレームワークは理解しやすい

AIビデオ生成は最近最もホットな分野の一つです。さまざまな大学の研究室、インターネット大手の AI ...

OpenAI、開発者向けGPTチャットボットAPIのメジャーアップデートを発表、価格を値下げ

6月14日、OpenAIは大規模言語モデルAPI(GPT-4およびgpt-3.5-turboを含む)...

...

...

自動運転車の後、どのような仕事が人工知能に置き換えられるのでしょうか?

自動運転がどれだけ遠い未来の話なのか議論されている中、自動運転の旅客バス、アルファバス・スマートバス...

2019年にRedditの機械学習セクションで人気のプロジェクト17選:最新のコードとリソースがすべて利用可能

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

2021年チューリング賞発表:高性能コンピューティングの先駆者であり、TOP500スーパーコンピューティングリストの共同創設者であるジャック・ドンガラが受賞

丸一日待った後、ついに答えが明らかになりました!先ほど、2021年のチューリング賞が発表されました。...

インドのチームが人間のように考えることができる自動運転アルゴリズムを開発

[51CTO.com クイック翻訳]インド工科大学 (IIT マドラス) の研究者らは、人間のように...

...