بخشی از مقاله

مقدمه
آنچه که در متن مي خوانيد :
در ادامه شما با نحوه عملکرد هر بخش از برنامه آشنا خواهيد شد . توضيحات به همراه شکل ارائه شده است تا شما را در درک بهتر ياري نمايد .

هدف از طراحي برنامه :
1-امکان مکالمه متنی بين مشتري های يک شبکه محلی
۲-به حد اقل رساندن بر شبکه ( تبادل حد اقل اطلاعات بين خطوط شبکه)
۳-استفاده از آلگوريتم های رمز گذری و رمزگشای جهتِ جلو گيری از نفوذ هکر ها
۴-عدم استفاده از بانک اطلاعات

توضيح مختصر :
اين برنامه براي کاربری های زیر طراحي شده است :
1 –ارتباط بين اعضای يک شبکه توسط متن برای جلوگيری از رفت و آمد های اضافی در محيط سايت
۲-امکان ارسال فايل بدون به اشتراک گذشتن فايل های مشتری

چکیده:
به علت نياز کاربران يک شبکه برای تبادل اطلاعات به صورت الکترونيکی نرم افزار های مختلفی در بازار من جمله نرم افزار out look وجود دارد لزوم استفاده از اين نو ارتباط کاهش رفت آمدهاي کاربران در يک سايت و يا حتی طبقات يک ساختمان ميشود. در اين ميان مسالي چون صورت،امنيت و قابليت اطمينان بسيارهاءزاهميت است .منظور از صورت در شبکه های کامپيوترحد اقل سازی حجيم اطلاعات مراوده شده می باشدقابليت اطمينان از اين نظر هاءزاهميت است که پيام ها با کمترين خطا به مقصد ارسال شوند.در امنيت که بحث اصلي اين پروژه مي باشد با الگوريتم هاي مختلف رمز گزاري آشنا ميشويم تا از نفوذ هکرها جلوگيري شود.

رمزنگاری


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


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


رمزنگاری مخف ف ها و اصطلاحات مخصوص به خود را دارد . برای درک عميق تر به مقداری از دانش ریاضيات نياز است.
شناخته می شود)، آنرا با استفاده از یک کليد (رشته ای محدود از plaintext برای محافظت از دیتای اصلی ( که بعنوان بيتها) بصورت رمز در م ی آوریم تا کسی که دیتای حاصله را م ی خواند قادر به درک آن نباشد . دیتای رمزشده (که شناخته می شود) بصورت یک سری ب ی معنی از بيتها بدون داشتن رابطه

مشخصی با دیتای ciphertext بعنوان اصلی بنظر م ی رسد. برای حصول متن اوليه دریاف ت کننده آنرا رمزگشایی م ی کند. یک شخص ثالت (مثلا یک هکر ) نوشته رمز کشف یابد، دست اصلی دیتای به کليد دانستن بدون اینکه برای تواند )s(cryptanalysi . می کند بخاطرداشتن وجود این شخص ثالث بسيار مهم است.


رمزنگاری دو جزء اصلی دارد، یک الگوریتم و یک کليد . الگوریتم یک مبدل یا فرمول ریاضی است . تعداد کمی الگوریتمقدرتمند وجود دارد که بيشتر آنها بعنوان استانداردها یا مقالات ریاضی منتشر شد ه اند. کليد، یک رشته از ارقامدودویی (صفر و یک ) است که بخودی خود بی معنی است . رمزنگاری مدرن فرض م ی کند که الگوریتم شناخته شده Ircert.com P30World.com


Ircert.com P30World.com است یا م ی تواند کشف شود . کليد است که باید مخفی نگاه داشته شود و کليد است که در هر مرحله پياد ه سازیتغيير می کند. رمزگشایی ممکن است از همان جفت الگوریتم و کليد یا جفت متفاوتی استفاده کند.شناخته م یشود. بصورت scrambling دیتای اوليه اغلب قبل از رمزشدن بازچينی م ی شود؛ این عمل عموما بعنوانتر، nfunctio hash مشخص شده مشخص پيش از طول به د(اشب داشته ای اندازه هر تواند می که) ار دیتا از بلوکی هااز تواند evalu hashed شود بازسازی . Hash function کاهش می دهد. البته دیتای اوليه نمی بخشی عنوان اغلب ها
از یک سيستم تایيد هویت مورد نياز هستند؛ خلاص ه ای از پيام (شامل مه مترین قسمتها مانند شماره پيام، تاریخ وو hhas ساعت، و نواحی مهم دیت ا) قبل از رمزنگاری خود پيام، ساخته


می شود.
یک الگوریتم ثابت با توليد یک امضاء برروی پيام با MAC یا (Message Authentication Check) یک چک تایيد پياماستفاده از یک کليد متقارن است . هدف آن نشان دادن این مطلب است که پيام بين ارسال و دریافت تغيير نکردهاست. هنگامی که رمزنگاری توسط کليد عمومی برای تایيد هویت فرستنده پيام استفاده می ایجاد به منجر شود،می شود. (digital signature) امضای دیجيتال
1-٢ - الگوريتم ها


طراحی الگوریتمهای رمزنگاری مقوله ای برای متخصصان ریاضی است . طراحان سيستمهایی که در آنها از رمزنگاریاستفاده می شود، باید از نقاط قوت و ضعف الگوریتمهای موجود مطلع باشند و برای تعيين الگوریتم مناسب قدرتدر اواخر دهه ٠۴ و اوایل دهه ٠۵ (Shannon) تصميم گيری داشته باشند . اگرچه رمزنگاری از اولين کارهای شانونبشدت پيشرفت کرده است، اما کشف رمز نيز پاب ه پای رمزنگاری به پيش آمده است و الگوریتمهای کمی هنوز باگذشت زمان ارزش خود را حفظ کرد ه اند. بنابراین تعداد الگوریتمهای استفاده شده در سيستمهای کامپيوتری عملی ودر سيستمهای برپایه کارت هوشمند بسيار کم است.

سيستم‌هاي کليدي متقارن

یک الگوریتم متقارن از یک کليد برای رمزنگاری و رمزگشایی استفاده م ی کند. بيشترین شکل استفاده از رمزنگاری DEA یا data encryption algorithm که در کارتهای هوشمند و البته در بيشتر سيستمهای امنيت اطلاعات وجود دارد
یک محصول دولت ایالات متحده است که امروزه بطور وسيعی DES . شناخته می شود DES است که بيشتر بعنوانبعنوان یک استاندارد بين المللی شناخته می شود. بلوکهای ۴۶ بيتی دیتا توسط یک کليد تنها که معمولا ۶۵ بيت طولاز نظر محاسباتی ساده است و براحتی می تواند توسط پردازند ههای کند DES . دارد، رمزنگاری و رمزگشایی م ی شوند


(بخصوص آنهایی که در کارتهای هوشمند وجود دارند) انجام گيرد.این روش بستگی به مخف ی بودن کليد دارد . بنابراین برای استفاده در دو موقعيت مناسب است : هنگامی که کليدهامی توانند به یک روش قابل اعتماد و امن توزیع و ذخيره شوند یا جایی که کليد بين دو سيستم مبادله می شوند که
عموما برای DES قبلا هویت یکدیگر را تایيد کرد ه اند عمر کليدها بيشتر از مدت تراکنش طول نم ی کشد. رمزنگاری حفاظت دیتا از شنود در طول انتقال استفاده م یشود.


بيتی امروزه در عرض چندین ساعت توسط کامپيوترهای معمولی شکسته می شوند و بنابراین نباید DES کليدهای ۴٠ برای محافظت از اطلاعات مهم و با مدت طولانی اعتبار استفاده شود . کليد ۶۵ بيتی عموما توسط سخت افزار یا سه از استفاده با اصلی دیتای کدکردن از عبارتست تایی DES شبکه های بخصوصی شکسته م ی شوند. رمزنگاری که در سه مرتبه انجام م یگيرد. (دو مرتبه با استفاده از یک کليد به سمت جلو (رمزنگاری) و یک مرتبه DES الگوریتم به سمت عقب (رمزگشایی) با یک کليد دیگر) مطابق شکل زیر:


این عمل تاثير دوبرابر کردن طول مؤثر کليد را دارد؛ بعدا خواهيم دید که این یک عامل مهم در قدرت رمزکنندگی است.
برای زمانی مورد IDEA و Blowfish الگوریتمهای استاندارد جدیدتر مختلفی پيشنهاد شد ه اند. الگوریتمهایی مانند برای رقيبی بعنوان بنابراین نشدند افزاری سخت سازی پياده هيچکدام اما اند DES استفاده قرار گرفته در استفاده برای الگوریتم (AES) کاربردهای ميکروکنترلی مطرح نبود ه اند. پروژه استاندارد رمزنگاری پيشرفته دولتی ایالات متحده مشخصا برای Twofish بعنوان الگوریتم رمزنگاری اوليه انتخاب کرده است . الگوریتم DES را برای جایگزیتی Rijndael ياده سازی در پردازند ههای توان پایين مثلا در کارتهای هوشمند طراحی شد.


Fortezza و مبادله کليد را که در کارتهای Skipjack در ٨٩٩١ وزارت دفاع ایالات متحده تصميم گرفت که الگوریتمها استفاده شده بود، از محرمانگی خارج سازد . یکی از دلایل این امر تشویق برای پياد هسازی بيشتر کارتهای هوشمند برپایه این الگوریتمها بود.


که رمزنگاری دیتا در حين ارسال صورت م ی گيرد بجای اینکه دیتای ) (streaming encryption) برای رمزنگاری جریانی ۴از کليدها طول از ای سرعت بالا و دامنه فراهم بيت ۶۵٢ ات ٠ RC کدشده در یک فایل مجزا قرار گيرد ) الگوریتم 4 است، بصورت عادی برای رمزنگاری ارتباطات دوطرفه امن در اینترنت RSA که متعلق به امنيت دیتای RC می کند. 4 استفاده می شود.


سيستم‌هاي کليدي نا متقارن

سيستمهای کليد نامتقارن از کليد مختلفی برای رمزنگاری و رمزگشایی استفاده م ی کنند. بسياری از سيستمها private منتشر شود در حاليکه دیگری (کليد اختصاصی یا (public key اجازه می دهند که یک جزء (کليد عمومی یا توسط صاحبش حفظ شود . فرستنده پيام، متن را با کليد عمومی گيرنده کد می کند و گيرنده آن را با کليد (key اختصاصی خودش رمزنگاری ميکند . بعبارتی تنها با کليد اختصاصی گيرنده م ی توان متن کد شده را به متن اوليه صحيح تبدیل کرد . یعنی حتی فرستنده نيز اگرچه از محتوای اصلی پيام مطلع است اما نمی تواند از متن کدشده به متن اصلی دست یابد، بنابراین پيام کدشده برای هرگيرند ه ای بجز گيرنده مورد نظر فرستنده ب ی معنی خواهد بود .


و Rivest ، Shamir شناخته می شود (حروف اول پدیدآورندگان آن یعنی RSA معمولترین سيستم نامتقارن بعنوان است). اگرچه چندین طرح دیگر وجود دارند. می توان از یک سيستم نامتقارن برای نشاندادن اینکه فرستنده Adlemen شامل دو تبدیل RSA . پيام همان شخصی است که ادعا م ی کند استفاده کرد که این عمل اصطلاحا امضاء نام دارد است که هرکدام احتياج به بتوان رسانی ماجولار با توانهای خيلی طولانی دارد:
امضاء، متن اصلی را با استفاده از کليد اختصاصی رمز می کند؛


رمزگشایی عمليات مشابه ای روی متن رمزشده اما با استفاده از کليد عمومی است . برای
تایيد امضاء بررسی می کنيم که آیا این نتيجه با دیتای اوليه یکسان است؛ اگر اینگونه است،
امضاء توسط کليد اختصاصی متناظر رمزشده است.


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


X = Yk (mod r) : این فرمول است RSA اساس سيستم حاصلضرب دو عدد اوليه بزرگ است که با دقت انتخاب r کليد اختصاصی و k ، متن اصلی Y ، متن کد شده X که
شده اند. برای اطلاع از جزئيات بيشتر م ی توان به مراجعی که در این زمينه وجود دارد رجوع کرد . این شکل محاسبات روی پردازنده بنابراین، ت.اس کند بسيار شود می استفاده هوشمند کارتهای در که ه ابيتی ٨ روی بخصوص بایتی های هم تصدیق هویت و هم رمزنگاری را ممکن م ی سازد، در اصل برای تایيد هویت منبع پيام از این الگوریتم RSA اگرچه در کارتهای هوشمند استفاده م ی شود و برای نشاندادن عدم تغيير پيام در طول ارسال و رمزنگاری کليدهای آتی استفاده می شود. مانند شوند lElGama ،nHellma-eDiffi سایر سيستمهای کليد نامتقارن شامل سيستمهای لگاریتم گسسته می و


سایر طرحهای چندجمله ای و منحن ی های بيضوی . بسياری از این طرحها عملکردهای ی ک طرفه ای دارند که اجازه است که از یک توليدکننده مرکب برای RPK تایيدهویت را م ی دهند اما رمزنگاری ندارند . یک رقيب جدیدتر الگوریتم یک پروسه دو مرحل ه ای است : بعد از فاز RPK . تنظيم ترکيبی از کليدها با مشخصات مورد نياز استفاده م ی کند آماده سازی در رمزنگاری و رمزگشایی (برای یک طرح کليد عمومی ) رشته هایی از دیتا بطور استثنایی کاراست و می تواند براحتی در سخت افزارهای رایج پياد ه سازی شود . بنابراین بخوبی با رمزنگاری و تصدی ق هویت در ارتباطات سازگار است.


است که آنها برای RSA طولهای کليدها برای این طرحهای جایگزین بسيار کوتاهتر از کليدهای مورد استفاده در RS استفاده در چي پ کارتها مناسب تر است . اما است؛ مانده باقی الگوریتمها سایر ارزیابی برای محکی حضور و بقای نزدیک به س هدهه از این الگوریتم، تضمينی در برابر ضعفهای عمده بشمار م یرود.

کليد ها
در رمزنگاري

با روشن شدن اهميت وجود کليدها در امنيت داد ه ها، اکنون باید به انواع کليدهای موجود و مکان مناسب برای استفاده هر نوع کليد توجه کنيم.
4-1 (Secret keys)- ١- کليدهاي محرمانه


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


4-2 (Public and private keys) ٢- کليدهاي عمومي و اختصاصي
امتياز اصلی و مهم سيستمهای کليد نامتقارن این است که آنها اجازه می دهند که یک کليد (کليد اختصاصی) با امنيت بسيار بالا توسط توليد کننده آن نگهداری شود در حاليکه کليد دیگر (کليد عمومی )می تواند منتشر شود . کليدهای عمومی می توانند همراه پيامها فرستاده شوند یا در فهرستها ليست شوند (شروط و قوانينی برای کليدهای 50 . الکترونيکی رسانی X ITU عمومی در طرح فهرست پيام د.شون داده بعدی شخص به شخص یک از و ،(ددار وجود مکانيسم توزیع کليدهای عمومی م یتواند رسمی (یک مرکز توزیع کليد) یا غيررسمی باشد .


محرمانگی کليد اختصاصی در چنين سيستمی مهمترین مساله است؛ باید توسط ابزار منطقی و فيزیکی در کامپيوتری که ذخيره شده، محافظت گردد . کليدهای اختصاصی نباید هرگز بصورت رمزنشده در یک سيستم کامپيوتر معمولی یا بشکلی که توسط انسان قابل خواندن باشد، ذخيره شوند . در اینجا نيز کارت هوشمند برای ذخيره کليدهای اختصاصی یک فرد قابل استفاده است، اما کليدهای اختصاصی سازمانهای بزرگ معمولا نباید در یک کارت ذخيره شود.
4-3 (Master keys and derived keys) ٣- کليدهاي اصلي و کليدهاي مشتق شد


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

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