بخشی از مقاله

چکیده

با توجه به توسعه روزافزون فناوری اطلاعات و در پی آن تغییر نمادهای فیزیکی به نمادهای تجارت الکترونیکی، ارسال و تبادل اطلاعات محرمانه الکترونیکی به ضرورتی اجتنابناپذیر تبدیل شده است. بنابراین برای حل این مشکل در شبکههای الکترونیکی از الگوریتمهای رمزنگاری و امضای دیجیتالی استفاده میشود. الگوریتمهای رمزنگاری نقش اصلی را در امنیت اطلاعات سیستمها و تولید امضای دیجیتال بازی میکنند.

امضای دیجیتال کاملا مبتنی بر الگوریتمهای رمزنگاری بوده و باعث به رسمیت شناسی اطلاعات الکترونیکی شده به طوریکه هویت پدیدآورنده سند و جامعیت اطلاعات آن، قابل بازبینی و کنترل میباشد. در این مقاله بعد از بیان اهمیت امضای دیجیتال وبررسی عملگرهای هش؛ به استفاده از الگوریتم پیام هش شده در امضای دیجیتال پرداخته شد. الگوریتم پیشنهادی یک تکنیک جدید برای ایجاد خروجی با اندازه کم امضای دیجیتال را معرفی میکند. در نتیجه طرح جدید به طور بالقوه عملی و قابل اجراست، بدین ترتیب که امضاها نشانه گذاری و تائید شده و در فاکتور سرعت و زمان ارتقا می یابند.

.1 مقدمه

همزمان با بهبود رونق فناوری ارتباطات و اطلاعات ، سیستمهای اداری دستی و کاغذی به سرعت توسط رسانههای الکترونیکی مثل دولت الکترونیک و تجارت الکترونیک،که در آن همه اطلاعات به صورت فرمهای دیجیتال می باشد، جایگزین شده است. در این سیستم، این موضوع که از اطلاعات دیجیتال سازمان محافظت شود و همچنین تایید هویت و ایجاد اطمینان در هنگام ارسال ودریافت پیامها بصورت الکترونیکی؛ بسیار حائز اهمیت میباشد.

هنگامی که پیغامی از کانالی ناامن ارسال میشود، یک امضای دیجیتال که به شکل صحیح به انجام رسیده باشد میتواند برای شخص گیرنده پیام، دلیلی باشد تا ادعای شخص فرستنده را باور کند و یا به عبارت بهتر شخص گیرنده از طریق امضای دیجیتال میتواند این اطمینان را حاصل کند که همان شخص فرستنده نامه را امضا کرده است و نامه جعلی نیست.

.2 امضای دیجیتال

دیفای 1 و هلمن 2 چهار راه حل برای مشکل احراز هویت در اولین مقالهشان تحت عنوان »مسیر جدید در رمزنگاری« ارائه دادند. آنها برای اولین بار مفهوم رمزنگاری کلید عمومی را معرفی کردند. ایده اصلی رمزنگاری کلید عمومی، با استفاده از دوکلید متفاوت است: یکی کلید عمومی برای رمزگذاری و یک کلید خصوصی برای رمزگشایی که به ریاضیات مربوط می شود. این دو کلید به طوری است که محاسبه کلید خصوصی از کلید عمومی اجرا نشدنی است. بنابراین، مزیت اصلی رمز نگاری کلید عمومی برای کاربران این امکان ارتباطی امن را بدون تبادل کلیدهای مخفی فراهم می آورد. اما دیفای و هلمن ساختار واقعی را که در عمل اجرا می شود را نشان ندادند.

اولین الگوریتم رمزنگاری کلید عمومی بود که بر اساس دشواری دو عدد بزرگ اول برنامه ریزی شده بود. پس از آن ظاهر الجمل در سال 1985 ایده رمزنگاری کلید عمومی را براساس دشواری بدست آوردن لگاریتم های گسسته ارائه داد. سیستم رمزنگاری کلید عمومی منجر به ارائه یک ایده جدید شد که آن مفهوم امضای دیجیتال است. امضای دیجیتال ، آنالوگ الکترونیکی از امضای دستی است. امضاکننده می تواند مدارک را با استفاده از کلید مخفی خود به صورت دیجیتالی امضا کند، سپس امضای ایجاد شده، سند و کلید عمومی اش را به هر فرد تصدیق کنندهای می فرستد. بنابراین ، یک تأییدکننده می تواند صحت امضا با کلید عمومی مربوطه را چک کند. توجه داشته باشید که هر طرف مورد بحث می بایست کلید عمومی خود را با قدرت و توان مرکزی ثبت کند. این فرآیند به عنوان - CA - Certificate Authority شناخته شده است.

بنابراین این سیستم رمزنگاری به عنوان یک سیستم رمزنگاری کلید عمومی مبتنی بر تأییدیه - CB-PKC - شناخته شد. هدف از امضای دیجیتال رسیدن به همان نقشی است که امضای دستی در رسانه های دیجیتال دارد. امضاهای دستی دارای ویژگی های زیر است: خلق آنها بسیار ساده، به راحتی قانونی می شود و به سختی می توان آن را جعل کرد. امضاهای دیجیتال می تواند این ویژگی ها را داشته باشد اما تفاوت هایی میان امضای دیجیتال و دستی وجود دارد.

در سیستم رمزگذاری کلاسیک دو طرف A - فرستنده و B گیرنده - می بایست در یک کلید خصوصی خاص در رمزنگاری و رمزگشایی توافق داشته باشند. فرستنده می تواند پیام خود را با استفاده از کلید مخفی رمزنگاری کند و متن رمز مربوطه را برای گیرنده میفرستد. متن رمز میبایست به گونهای باشد که هر گیرندهای نتواند پیام اصلی را دریافت کند. سپس گیرنده میتواند پیام اصلی را با یک تبدیل معکوس از متن رمز و استفاده از همان کلید دریافت نماید. الگوریتمهای سه گانه - ایجاد کلید، رمزگذاری و رمز گشایی - ؛ سیستم رمز گذاری کلید خصوصی نامیده می شود که باید کارآمد و امن باشد.

.3 مقایسه الگوریتم های هش در امضای دیجیتال

به دلیل ارزان بودن ساخت توابع هش رمزنگاری ، استفاده از آنها بسیار زیاد می باشد. این تابع بیشتر برای امضاهای دیجیتال استفاده می شود. برای تأیید اعتبار داده ها، گیرنده و فرستنده هردو کد هش را مقایسه می کنند و صحت آن را مورد ارزیابی قرار می دهند. یک پیام زمانی معتبر است که متن پیام دریافت شده توسط گیرنده درست همان پیامی باشد که در اصل امضا شده است. هرگونه تغییر در داده ها بر کد هش تأثیر می گذارد.

.1-3 الگوریتم MD5

الگوریتم MD5 در سال 1991 توسط ری وست3 برای محاسبه پیام های هش شده معرفی شد. این الگوریتم پیام را دریافت کرده و آن را به 512 قسمت تقسیم می کند. به جز قسمت آخر که می بایست 448 بیت باشد همه قسمت ها 512 بیتی هستند اگر طول پیام با این رقم برابر نباشد برخی از فاکتورهای غیر مفید به آخرین بلاک اضافه خواهد شد. یک بیت از »یک« و یکی از »صفر« اضافه می شود تا جایی که کل پیام به 448 بیت برسد .

در MD5 برای بلاک ترکیبی اطلاعات از چهار متغیر 32 بیتی استفاده می شود و هر لحظه یک حلقه تکرار از یک اختلال 64 تایی اطلاعاتی و یک عملیات ساده نظیر OR,NOT,XOR مورد استفاده قرار میگیرد بهطوریکه اجرای نرم افزار با سخت افزار آن مؤثر خواهد بود که در برنامه های امنیتی مختلف برای بررسی یکپارچگی اطلاعات استفاده می شود.

در سال 2004 نقایص جدی تری در MD5 پیدا شد. گروهی از محققان چگونگی ایجاد یک جفت از فایل هایی را که MD5 یکسان آن را به اشتراک گذاشته بود را تشریح کردند. سپس الگوریتم اصلی برروی بلاک پیامی 512 بیتی راه اندازی شد. هر بلاک وضعیت را تغییر داد. پردازش بلاک پیام شامل 4 مرحله مشابه است که به اصطلاح دور نامیده می شود . هر دور از 16 عملیات مشابه تشکیل شده که بر پایه یک تابع غیرخطی F ، ترکیب پیمانه ای و چرخش به چپ می باشد.

.2-3 الگوریتم SHA-1

این الگوریتم به وسیله یک تکنولوژی مدرن و استاندارد برای استفاده عموم در ایالات متحده آمریکا معرفی شد. این الگوریتم همچنین پیام را در قالب 512 بیت سازماندهی و پردازش می کند. درست مانند MD5 در SHA-1 انتشار پیام به صورت زیر تعریف می شود. ورودی یک پیام 512 بیتی است که توسط بردار m مشخص شده است. این پیام همچنین با واژه های 16 تا 32 بیتی نشان داده شده است. در رمزنگاری SHA-1 یک تابع هش رمزنگاری است که توسط آژانس امنیت ملی ایالات متحده طراحی و توسط NIST ایالات متحده » SHAالگوریتم هش امن« می باشد.

.3-3 الگوریتم SHA-2

در رمزنگاری؛ SHA-2 به مجموعه ای از توابع هش رمزنگاری اطلاق می شود که توسط آژانس امنیت ملی طراحی و در سال 2001 توسط NIST منتشر شد. این توابع شامل SHA-224، SHA-256، SHA-384 و SHA-512 می باشد. SHA مخفف »الگوریتم هش امن« می باشد. SHA-2 شامل شمار چشمگیری از تغییرات حاصل از پردازش کننده هایش می باشدکه شامل مجموعه ای از چهار توابع هش به همراه خلاصه اطلاعات هستند. خلاصه اطلاعات 224، 256، 384، 512 بیت می باشد . در سال 2005 نقص امنیتی در SHA-1 شناخته شد که یک ضعف ریاضی ممکن است وجود داشته باشد. اگرچه SHA-2 به SHA-1 شباهت دارد ، اما این حملات در SHA-2 با شکست مواجه می شوند.

SHA-1 و SHA-2 الگوریتم های هش امن هستند که در برخی از برنامه های کاربردی دولت آمریکا مورد استفاده قرار می گیرند. که شامل استفاده ازدیگر الگوریتم های رمزنگاری برای حفاظ از اطلاعات حساس می باشد. استفاده از SHA-1 توسط سازمان های خصوصی و تجاری انجام گرفت SHA-1 برای اکثر برنامه های کاربردی دولتی استفاده نمی شود.

چهار الگوریتم SHA که SHA-0 ، SHA-1، SHA-2 و SHA-3 هستند، به روش های مختلفی شناخته شده اند.

SHA-1 بسیار به SHA-0 شباهت دارد. الگوریتم SHA-0 توسط بسیاری برنامه های کاربردی رد شده است. از سوی دیگر SHA-2 به صورت قابل توجهی با تابع هش SHA-1 تفاوت دارد . از میان توابع هش SHA موجود، SHA-1 بیشترین استفاده را در برنامه های کاربردی و پروتکل ها دارد. هرچند هیچ حمله موفقیت آمیزی نسبت به انواع SHA-2 گزارش نشده است، اما آنها دارای الگوریتمی مشابه با SHA-1 دارند. یک استاندارد هش جدید به نام SHA-3 در اکتبر سال 2012 معرفی شد. تابع هش جدید به نام SHA-3 توسط NIST در مسابقه تابع هش در سال 2012 انتخاب شد.الگوریتم SHA-3 از SHA-2 بدست نمیآید.

.4-3 مقایسه الگوریتم های هش شده

اندازه خروجی الگوریتم MD5 ، 32 بایت ، SHA-1 ، 40 بایت ، SHA-2، 64 بایت می باشد. در مرحله اول پردازش فاکتورهای غیر کاربردی به میزان 512 به طول آن اضافه خواهد شد. این فرآیند با اضافه کردن بیت «1» و در صورت لزوم بیت «0» به پایان پیام انجام می شود

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید