بخشی از مقاله
*** این فایل شامل تعدادی فرمول می باشد و در سایت قابل نمایش نیست ***
رمزنگاری تصاویر رنگی با استفاده از توابع آشوب و دنباله های DNA
خلاصه
با توسعه سریع تکنولوژی شبکه، دادههای چند رسانه ای از قبیل تصاویر و ویدئو، بصورت گسترده بر روی اینترنت به اشتراک گذاشته شده و یا بر روی هارد دیسک به شکل دیجیتال ذخیره شده است. با این حال، دستیابیهای غیر مجاز به اطلاعات شخصی و خاص، به یک مشکل اساسی در دنیای دیجیتال تبدیل شده است. مشکلات امنیتی نگرانیهای زیادی را برای محققین و عموم مردم ایجاد کرده است. رمزنگاری یکی از راههای قدیمی و مؤثر برای حل این چالشها است. این مقاله یک طرح جدید رمزنگاری تصویر رنگی را ارائه میدهد. در ابتدا، تصویر رنگی به سه مولفه قرمز، سبز و آبی تقسیم شده و با استفاده از قوانین کدگذاری دی ان ای به دنبالههای دی ان ای تبدیل میشود. بمنظور بر هم زدن روابط میان پیکسلها، با استفاده از نگاشت لجستیک دو بعدی، مکان دنبالههای ایجاد شده دی ان ای، مولفههای رنگی را بهم میریزیم. با توجه به خصوصیات توابع آشوب مانند حساسیت شدید به مقادیر اولیه، رفتار تصادفی، غیر تناوبی بودن، قطعیت و غیره، از این توابع جهت تولید سه دنبالهی آشوبی استفاده شده است که به دنبالهای از دی ان ای ها تبدیل میگردند. از دنبالههای آشوبی جهت رمزنگاری دنباله های دی ان ای استفاده شده است. نتایج آزمایشی نشان میدهد که الگوریتم پیشنهادی رمزنگاری تصویر، خصوصیات زیادی مانند: بزرگ بودن فضای کلید، کم بودن روابط میان پیکسلهای تصویر رمزنگاری شده، حساسیت بالا به کلید و امنیت بالا را دارد، که میتواند به طور مؤثر از امنیت تصویر رمزنگاری شده محافظت نماید.
واژه های کلیدی: رمزنگاری تصویر، توابع آشوب، DNA، جایگشت
.1 مقدمه
با توسعه سریع تکنولوژی شبکه، انتقال محتوای چند رسانهای بر روی اینترنت بسیار متداول شده است. با این حال، امنیت تصاویر دیجیتال، تهدید جدی در فرآیند انتقال، بعلت آشکاری و به اشتراک گذاری در شبکه میباشد .[1] بنابراین افراد مجبور هستند بسیار به امنیت و محرمانگی اطلاعات چند رسانهای توجه داشته باشند. روشهای رمزنگاری تصویر یکی از موثرترین و رایج ترین روشها برای محافظت از اطلاعات تصویر میباشد. در سالهای اخیر، چندین الگوریتم مبتنی
بر آشوب پیشنهاد شده و محبوبیت گستردهای در میان محققان پیدا کرده است.[2-4] با توجه به ویژگیهای ذاتی سیستمهای آشوب، مانند حساسیت به شرایط اولیه و تصادفی بودن، به نظر میرسد روش رمزگذاری تصویر مبتنی بر سیستم آشوب برای رمزگذاری با امنیت بالا مناسب باشد. این نوع از رمزنگاری به طور معمول نیاز به دو مرحله دارد: جایگشت و انتشار 6]،.[5 در مرحله جایگشت، پیکسل تصویر با کمک از یک نگاشت آشوب بدون تغییر سطح خاکستری پیکسل اختصاص مییابد. سپس، در مرحله انتشار، ارزش هر پیکسل است با استفاده از یک توالی آشوب تغییر میکند.
با تحقیق محاسبات *DNA ، رمزنگاری DNA متولد شد و در حوزه رمزنگاری پدیدار شد. بطوریکه از DNA به عنوان حامل اطلاعات استفاده میشود.[7] ایده اساسی همه الگوریتمهای رمزنگاریهای تصویر مبتنی بر DNA در دو مرحله طبقهبندی میشود: ابتدا، با استفاده از تئوری DNA پیکسلهای تصویر اصلی به توالی های DNA کد گذاری شده
و سپس با استفاده از قواعد انها، کلید تصویر تولید میشود. در مرحله دوم، کد گذاری پیکسل تصویر اصلی یک تصویر کلید بر اساس قوانین عمل DNA ایجاد کرده و تشکیل تصویر رمز را میدهد .[8-10] ژانگ و همکارانش [11] رمزگذاری تصویر مبتنی بر DNA پیشنهاد دادهاند که در آن آنها از تعاریف عملیات توالی DNA و ترکیب نگاشت فوق آشوب جهت رمزنگاری پیکسلهای تصویر استفاده کردهاند. لیلی لیو و همکارانش، مقالهای با عنوان رمزنگاری تصویر رنگی با کدگذاریDNA و نگاشت آشوب ارائه دادند. الگوریتم ابتدا R، G، B که کانالهای تصویررنگی هستند را کدگذاری DNA می کند. سپسR، G، B با عمل جمع DNA با هم جمع میشوند و عملیات مکمل DNA، اجرا میشود برای توزیع پیکسلهای تصویر تابع لجستیک استفاده شده است.[12] پس از انتشار این مقاله در مدت کوتاهی، ازکیناک و یاووز در سال 2013، متوجه شدند که الگوریتم رمزنگاری که توسط لیو ارائه شد، در برابرحمله انتخاب متن ناامن است و کلید رمزنگاری الگوریتم را می توان با انتخاب چهار تصویر اصلی، بدست آورد. این مقاله امنیت الگوریتم رمزنگاری تصویر را ارزیابی کرد و مشکلات امنیتی آن را پیدا کرد: -1 کلید الگوریتم رمزنگاری را تنها با یک جفت از تصویر اصلی و تصویر رمزنگاری شده می توان احیا کرد.-2 نتایج رمزگذاری به تغییرات تصویر اصلی و کلید رمز حساس نیست .[13] یوشنگ لیو و همکارانش در سال 2014 الگوریتم رمزنگاری تصویر رنگی با استفاده از DNA و نگاشت آشوب که توسط لیلی لیو در [14] 2012 مطرح شده بود را تحلیل کردند. آنها نشان دادند که این الگوریتم را می توان با انتخاب چهار جفت از تصاویری که باید رمز شود و تصاویر رمزشده متناظر با آنها شکست.[15]
در این مقاله ابتدا تصویر رنگی را به مولفه های قرمز، سبز و آبی تقسیم می کنیم. سپس مولفههای رنگی را به فرمت باینری تبدیل کرده و با استفاده از قوانین کدگذاری DNA ، دنباله ای از DNA ها بر روی مقادیر باینری اعمال می کنیم
و با استفاده از نگاشت لجستیک دو بعدی مکان دنباله های ایجاد شده DNA را جابجا می کنیم. از نگاشت های آشوب جهت تولید سه دنباله آشوب و استفاده از این توالی ها جهت رمزنگاری استفاده کرده ایم. پس از تولید دنباله های آشوب، دنباله های مورد نظر را نیز به دنباله ای از DNA ها تبدیل می کنیم و سپس با استفاده از اعمال XOR بر روی دنباله های DNA تصویر رنگی و همچنین دنباله های آشوب، تصویر را رمزنگاری میکنیم. بقیه این مقاله به صورت زیر سازمان یافته است. بخش 2 تئوری پایه ای الگوریتم ارائه شده را شرح می دهد. بخش 3 الگوریتم ارائه شده را تشریح میکند. برخی از تحلیل های امنیتی در بخش 4 نشان داده شده است. در نهایت، در بخش5 نتیجه گیری آمده است.
.2 ابزار و روشها
یک گروه از توابع که کاملا به مقادیر پارامترهای اولیه حساس هستند توابع آشوب نامیده می شوند . به دلیل ویژگی های ذاتی توابع آشوب، آنها به شدت به مقادیر پارامتر های اولیه و عملکرد تکامل مربوط به آنها حساس هستند. بطوریکه یک تغییر بسیار اندک در پارامترهای اولیه موجب تغییر در مقادیر تولید شده در تابع آشوب میشود.[16,17]
2.1 نگاشت *PWLCM
این نگاشت از چند بخش خطی تشکیل شده است که بصورت رابطه((1 تعریف می شود:
بطوریکه پارامتر های کنترلی و شرایط اولیه به ترتیب، p (0, 0.5) و xi (0, 1) هستند.[18] شکل((1 نمودار نگاشت PWLCM را پس از 300 بار تکرار نشان میدهد.
شکل-1 نمودار نگاشت PWLCM یک بعدی پس از سیصد بار تکرار
2.2 نگاشت لجستیک
نگاشت لجستیک یک تابع آشوب ساده است و به شکل معادله (2) تعریف میشود.
(2) yn+1 =R×yn(1 - yn)
پارامتر R و مقداراولیه ی x0 ممکن است به عنوان کلید مطرح شـوند، بـرای 0<xn<1 و 3. 57 < R < 4 تـابع رفتـاری آشوبگونه خواهد داشت.[19] نگاشت لجستیک دو بعدی بوسیله معادلههای (3) و (4) شرح داده میشوند.
(3) Xn+1 = ʽ1xn( 1 - xn ) + y1yn2
(4) yn+1 = ʽ2xn( 1 - yn ) + y2(xn2 + xnyn)
نگاشت لجستیک دو بعدی امنیت بیشتری را در سیستم فراهم میکند، این سیستم رفتـاری آشـوبگونه خواهـد داشـت
هنگامی که 2.75< 1 3.4 و2.7 < 2 3 .45 و 0.15 < \1 0.21 و 0.13 < \2 0.15 و تولید دنباله های آشـوب x, y
بین (0 , 1) است .[20] شکل((1 نمودار نگاشت لجستیک یک بعدی را پس از 300 بار تکرار نشان می دهد.
شکل-2 نمودار نگاشت لجستیک یک بعدی پس از سیصد بار تکرار
2.3 کدگذاری و کدگشایی DNA برای تصویر
یک رشته DNA شامل چهار باز اسید نکلئوتید A (آدنین)، C (سی توزین)، G (گوانین)، T (تیمین) می باشد، بطوریکهA , T مکمل هم، و G , C مکمل یکدیگر می باشند. از آنجا که در باینری، 0, 1 مکمل یکدیگر می باشند، بنابراین 00 , 11 باهم و همچنین 01, 10 نیز باهم مکمل می باشند. در این مقاله، برای 8 بیت تصاویر خاکستری، هر پیکسل می تواند به عنوان یک دنباله DNA نشان داده شود که طول آن 4 است. برای مثال، اگر مقدار اولین پیکسل تصویر اصلی 173 باشد، آن را به دنباله باینری (10101101) تبدیل کنیم، با استفاده از قاعده کد گذاری DNA می توانیم دنباله DNA را به صورت (GGTC) دریافت کنیم. بطوریکه 00,01,10,11 به ترتیب نشان دهنده ی A=00,
C=01, G=10, T=11 هستند. جدول (1) قوانین نگاشت کدگذاری و کدگشایی برای دنباله DNA استفاده شده در این مقاله را نشان می دهد . برای نمونه، اگر مقدار یک پیکسل با سطح خاکستری 157 باشد، معادل باینری آن (10011101) بوده و کد DNA این مقدار باینری برای همه 8 قوانین در جدول (1) به صورت زیر می باشد:[17,19]
Rule 1 (CGTG), Rule 2 (GCTC), Rule 3 (CGAG), Rule 4 (GCAC), Rule 5 (ATGT), Rule 6 (TAGA), Rule 7 (ATCT) , Rule 8 (TACA).×
جدول -1 قوانین نگاشت کدگذاری و کدگشایی برای دنباله DNA
2.4 اعمال جبری XOR برای دنباله های DNA
با توسعه سریع محاسبات DNA، برخی عملگرهای بیولوژیکی و عملگرهای جبری مبتنی بر دنباله های DNA مانند عملگر XOR توسط محققان ارائه شده است.[21,22] عملگر XOR برای دنباله های DNA مطابق با XOR کردن در سیستم باینری انجام می شود. برای مثال، دو دنباله DNA به صورت [AGCT] و [CTGA] وجود دارد، ما یک نوع از عملگر XOR را که در جدول (2) نشان داده شده است را دریافت کرده و آنها را باهم XOR میکنیم و به عنوان نتیجه دنباله [CCTT] را دریافت میکنیم. در این مقاله، ما از قوانین عملگر XOR جهت رمزنگاری مقادیر پیکسل تصویر اصلی استفاده میکنیم.
جدول -2 یک نوع از عملگر XOR برای دنباله DNA
.3 روش پیشنهادی
3.1 تولید دنباله های آشوب
برای داشتن یک الگوریتم رمزنگاری امن و مطمئن، ارزش X0 و y0 در معادله 1)و(2 از یک کلید 128 بیتی در نظر گرفته شده که توسط روابط (5) ، (6) و (7) بدست می آیند.
از نگاشت های PWLCM و لجستیک یک بعدی جهت تولید دنباله شبه تصادفی استفاده شده است. اگر اندازه تصویر M × N باشد، برای هر یک از اجزاء قرمز، سبز و آبی تصویر رنگی، نگاشت برای M × N دفعه جهت دریافت مقادیر دسیمال تکرار میشود. بطوریکه xi, yi, zi, i=1,2,... M × N است، آنگاه دنبالههای Sx, Sy, Sz [0, 255] با استفاده از روابط 8)و(9 بدست می آیند.
سه دنباله دسیمال Sx, Sy, Sz را تولید می کنیم. توزیع نگاشت های این دنباله ها در شکل(( 3 نشان داده شده است. ما می توانیم مشاهده کنیم که دنباله ها ی آشوب توزیع یکسانی در تمام فاصله [0, 255] دارند.
شکل-3 توزیع نگاشت های Sx, Sy,Sz در یک بعد
3.2 رمزنگاری
گام :1 ورودی یک تصویر رنگی بنام P(M,N,3) است، بطوریکه M و N به ترتیب نشان دهنده ی سطر و ستون ابعاد تصویر هستند.
گام :2 تصویر رنگی به سه مولفه ی قرمرز، سبز و آبی تقسیم می شود. و ما می توانیم سه مولفه ی PR, PG, PB را همانطور که در رابطه((10 نشان داده شده است دریافت کنیم.
بطوریکه ri, gi, bi مقادیر i امین پیکسل از مولفه های قرمز، سبز و آبی، ما بین 0 و 255 هستند.
گام: 3 با استفاده از توابع آشوب سه دنباله Sx, Sy, Sz مطابق روابط 8)و (9، همانطور که در بخش قبل تشریح شد، ایجاد می کنیم.
گام :4 ارزش مقادیر موجود هر یـک از P و S را بـه فرمـت بـاینری تبـدیل مـی کنـیم، PR(m,n×8), PG(m,n×8), PB(m,n×8) و Sx(m,n×8), Sy(m,n×8), Sz(m,n×8) سپس بر اساس قوانین نشـان داده شـده در جـدول((1، بـرای ارزش باینری هر یک از P و S عمل تبدیل دنباله باینری به دنبالـه هـای DNA را انجـام مـی دهـیم و مـا مـاتریس هـای ( ) و ( ) را دریافت می کنیم.
گام :5 با استفاده از نگاشت لجستیک دو بعدی دو دنباله ی آشوبناک X , Y تحت شرایط مقادیر اولیه و به طول m × n ساخته می شود.
گام:6 مرتب سازی دنباله های آشوب x, y به صورت زیر:
بطوریکه فهرست دنباله تابع می باشد، Fx دنباله جدید پس از مرتب سازی صعودی x است و Lx مقدار ایندکس از Fx می باشد. Ly مانند Lx است.
گام :7 انتخاب ترکیب (Lx,Ly) جهت جابجا کردن مکان اصلی پیکسل های تصویر اصلی P مطابق با رابطه (12)
برای سطر و رابطه (13) برای ستون:
بطوریکه i = 1, 2,. . ., m; j = 1,2,. . ., n/4 است.
گام :8 ما از عملگر XOR برای رمزنگاری استفاده می کنیم. و عمل XOR را برای تمامی دنباله های DNA با
استفاده از رابطه زیر انجام می دهیم.
را جهت رمزنگاری کردن مولفه های قرمز، سبز و آبی تصویر بکار میگیریم و بترتیـب را با استفاده از رابطه (14) دریافت میکنیم.
بطوریکه علامت نشان دهنده ی عمل XOR است.
گام :9 پس از اعمال عملگر XOR در گام قبلی بـرای تمـامی دنبالـه هـای DNA ، بـا اسـتفاده از قـوانین کدگشـایی جدول(( 1 دنباله های DNA را به دنباله باینری تبدیل می کنیم و سپس به مبنای دسیمال می بـریم. CR, CG, CB را بـا یکدیگر ترکیب می کنیم و تصویر رمزنگاری شده C را دریافت می کنیم.
گام های فوق برای رمزنگاری تصویر ارائه شدهاند، بدیهی است برای رمزگشایی تصویر گامهای مـذکور را بایـد بـالعکس انجام داد.
.4 نتایج تجربی
در این بخش، آزمایش های مختلف اعمال شده برای اثبـات الگـوریتم پیشـنهادی مـورد بررسـی قـرار خواهـد گرفـت. همانطور که در شکل (4) مشاهده میشود، ما از تصاویر رنگی "فلفل ها" و " بـابون" بـا ابعـاد 256×256×3 ، بـرای اهـداف آزمایشی استفاده کرده ایم. جهت ارزیابی و تحلیل امنیتـی یـک طـرح رمزنگـاری تصـویر، تعـدادی آزمـون و روش ارزیـابی استاندارد وجود دارد که در این بخش به تفضیل به تشریح آنها می پردازیم.