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

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

概要: 現在、カオスシステムと暗号化技術の組み合わせは、最もホットなトピックの 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%削減する予定

ブログ    
ブログ    

推薦する

...

人工知能は前例のないキャリア革命をもたらすだろう

最近、サンフランシスコでEatsaというアメリカンレストランが人気になっています! [[203610...

1行のコマンドで顔認識を実装する方法を教えます

[[207803]]環境要件ウブントゥ 17.10 Python 2.7.14環境構築1. Ubun...

胡勇 | 人工知能の時代を生き抜き、成長する

[[374681]]機械との競争から第二次機械革命へ人工知能革命は第四次産業革命と呼ばれています。第...

PyTorch でシンプルな分類器を実装する

[[328922]]私自身の PyTorch の学習過程を思い出すと、最初はいろいろな情報を見つけ、...

人工知能の3つの主要分野とその産業応用

人工知能は、人間の知能の拡張と拡大をシミュレートするための理論、方法、技術、アプリケーション システ...

素晴らしい!ニューラルネットワークがフロントエンドコードを作成します

今後 3 年間で、ディープラーニングはフロントエンド開発の現状を変え、プロトタイピングの速度を向上さ...

30歳以下の人はどこへ行ってしまったのでしょうか? OpenAIは若者を引き付けるために懸命に努力している

編纂者:ヤン・ジェン制作:51CTO テクノロジースタック(WeChat ID:blog)ビル・ゲイ...

人工知能のこれらの5つのトレンドが世界に影響を与えることは注目に値する。

人工知能はもはや未来の技術ではありません。私たちの日常の作業を自動化する機械はますます賢くなり、人工...

新たな突破口!商用ドローン配送がさらに一歩前進

ドローンはすでに、医療製品の配送、インフラの検査、監視、メンテナンス、人間の労働力へのリスクの軽減、...

2021 年の年収 100 万ドルの AI 職種のトレンド: データ サイエンス、Python、自動運転、AIOps に注目していますか?

今年も終わりですね! 2021年が近づいてきました。今年は流行が落ち着いてきましたが、AIの発展は止...

美団は食品配達に「ドローン」を使う予定?テクノロジーは飛躍的な進歩を遂げました!

以前のPC時代では、人々は携帯電話やウェブページを通じて近くのレストランに注文をしていたが、これには...

...

GenAI はデータ分析分野のどこに位置づけられるのでしょうか?

今日のビジネスにおける人工知能の多くの応用のうちの 1 つが予測分析です。データ セットを分析してパ...

ビッグモデルの「錯覚」、この記事を読んでください

ビッグモデルの「幻想」がついに体系的にレビューされました! 49 ページの記事では、幻覚の定義、分類...