08-06-2012, 01:29 AM
رمزنگاري كليد عمومي و RSA - بخش اول
رمزنگاري كليد مخفي:
رمزنگاري سنتي كليد مخفي:
از يك كليد تنها كه بين هر دو طرف گيرنده و فرستنده به اشتراك گذاشته شده است استفاده مي كند. اگر اين كليد فاش شود ارتباط به خطر مي افتد. همچنين اين روش از گيرنده در برابر پيام هاي جعلي ارسال شده كه ادامي كنند از طرف فرستنده ي خاصي مي ايند محافظت نمي كند.
رمزنگاري كليد عمومي:
اين روش كه رمزنگاري دو كليده نيز خوانده مي شود از دو كليد براي عمل رمز نگاري استفاده مي كند؛ يكي كليد عمومي كه توسط همه شناخته شده است و براي به رمز درآوردن پيغام ها و تشخيص امضا ها مورد استفاده قرار مي گيرد و ديگري كليد خصوصي كه فقط گيرنده از آن اطلاع دارد و براي رمز گشايي پيغام و همچنين ايجاد امضا مورد استفاده قرار مي گيرد.
اشكال سيستمهاي كليد مخفي:
يك از اشكال هاي الگوريتم هاي بر پايه كليد متقارن اين است كه شما نياز به يك روش مطمئن براي انتقال كليد هاي طرفين داريد. به اين مفهوم كه يا از يك كانال امن اين كار را انجام دهند يا به منظور انتقال كليد همديگر را ملاقات كنند. اين ميتواند يك مشكل بزرگ باشد و قطعا كارآساني نيست. اشكال ديگر اين روش اين است كه شما براي ارتباط با هر شخصي كليدي جداگانه نياز داريد.
سناريوي ارتباط:
آليس و باب مي خواهند با هم مكالمه مطمئني داشته باشند طوري كه كس ديگري از اطلاعات مبادله شده در اين مكالمه با خبر نشود. درهمين زمان Eve در حال استراق سمع است. آليس و باب ميتوانند خلبان دو جت نظامي يا دو تاجر اينترتي يا فقط دو دوست باشند كه مي خواهند با هم يك مكالمه ي خصوصي داشته باشند. آنها نمي توانند Eve را از گوش دادن به سيگنال راديوي يا اطلاعات مبادله شده از طريق تلفن و .. باز دارند، پس چه كاري مي توانند انجام دهند تا اين ارتباط مخفي بماند؟
رمزنگاري كليد خصوصي:
يك راه حل اين است كه آليس و باب يك كليد دجيتالي را مبادله كنند. بعد وقتي هر دو از آن كليد آگاه شدند (ولي ديگران از آن بي خبرند). آليس از اين كليد استفاده مي كند تا پيغام ها را به رمز كرده و به باب بفرستد. باب نيز پيغام اوليه را با استفاده از اين كليد و رمزگشايي پيغام بازسازي مي كند. پيغام رمز شده براي Eve قابل استفاده نيست. او كليد را نميداند پس نمي تواند پيغام اصلي را بازيابي كند. با يك الگوريتم رمزنگاري خوب اين طرح قابل اجراست، ولي مبادله كليد به طوري كه اين كليد از Eve مخفي بماند يك معضل است. اين كار واقعا نياز به يك ارتباط رودرو دارد كه هميشه امكان پذير نيست.
رمز نگاري كليد عمومي:
اين رمزنگاري به صورت متفاوتي عمل مي كند، زيرا كليد را به دو قسمت كليد عمومي براي به رمز در آوردن و كليد خصوصي براي رمزگشايي تقسيم مي كند. اين ممكن نيست كه كليد خصوصي از كليد عمومي قابل تعيين باشد. باب يك جفت كليد توليد مي كند. يكي از كليدها كليد عمومي است كه بايد به اطلاع عموم (از جمله Eve) برسد و ديگري كليد خصوصي كه فقط خود باب از آن اطلاع دارد. هر كسي مي تواند از كليد عمومي باب براي ارسال پيغام به او استفاده كنند ولي فقط باب مي تواند از كليد خصوصي خودش براي رمزگشايي پيغام ها استقاده كند. اين طرح به آليس و باب اجازه مي دهد تا يك ارتباط امن را بدون ملاقات كردن هم داشته باشند.
هر چند اگر Eve بتواند به همان راحتي كه مي تواند به پيغام هاي مبادله شده بين باب و آليس گوش مي دهد آنها را دست كاري نيز كند؛ مي تواند كليد عمومي خود را جانشين كليد عمومي باب كند و سپس آليس از كليد عمومي او براي رمز كردن پيغام ها و فرستادن آنها استفاده مي كند.
Man in Middle Attack : (حمله ي پل زدن به سطل)
اين حمله براي ارتباطات رمز شده و پرتكل هاي مبادله ي كليد مناسب است. ايده ي اين حمله اين است كه وقتي دو طرف در حال مبادله ي كليد هاي عمومي شان هستند مهاجم خودش را در بين دو طرف در خط ارتباط قرار مي دهد، سپس به مبادله كليد به صورت جداگانه با هر كدام از طرفين مي پردازد. سپس هر كدام از طرفين كليد عمومي خودش را به طرف ديگر مي دهد (كه البته هيچ گاه به دست طرف مقابل نمي رسد و در واقع هر كدام از اين دو در حال مبادله ي كليد با مهاجم هستند) مهاجم براي هر كدام از طرفين طرف دوم ارتباط امن را تشكيل مي دهد. سپس مهاجم براي هر كدام از اين دو ارتباط امن از كليد مناسبش استفاده مي كند. طرفين تصور مي كنند كه مكالمه امني انجام مي دهند ولي در حقيقت مهاجم همه چيز را شنيده است.
پرهيز ازحمله ي پل زدن به سطل:
روش معمول براي جلوگيري از حمله ي پل زدن به سطل اين است كه؛ از يك الگوريتم رمز گذاري كليد عمومي استفاده كنيم كه قابليت امضاي ديجيتالي را داشته باشد. براي برپايي چنين سيستمي طرفين بايد كليد عمومي ديگري را از قبل بداند (كه اين از مزيت اصلي رمز گذاري كليد عمومي مي كاهد). پس از توليد كليد خصوصي توليد شده طرفين امضاي ديجيتالي خود را براي هم مي فرستند. مهاجم كه خود را در وسط قرار داده ممكن است بتواند تا اين جاي ارتباط را گوش دهد ولي ديگر قادر نخواهد بود كه امضاي ديجيتالي را جعل كند، زيرا امضا ي ديجيتالي قابل جعل نيست.
منتشر كردن كليد عمومي:
فهرست كليد هاي عمومي براي اين ايجاد شد تا مشكل اين كه هر كاربر مي بايست يك كپي از كليد عمومي تمام اشخاص را داشته باشد تا با آنها ارتباط امن بر قرار كند را بر طرف كند. هر كاربري كليد عمومي خود را در فهرست ثبت ميكند و وقتي مثلا A خواست تا به B يك پيغام رمز شده بفرستد او كليد عمومي B را از طريق فرستادن درخواست KUB به فهرست انجام مي دهد.
مشكلات كليد ها:
· ما ممكن است كليد خود را گم كنيم.
· ما ممكن است فراموش كنيم كدام كليد براي چه كاري بود.
· ما ممكن است يك كليد را به شخص اشتباهي بدهيم.
· يك كسي ممكن است كليد ما را بدزدد.
· يك كسي ممكن است از طريق پنجره وارد شود.
· كسي ممكن است در را بشكند.
· كسي ممكن است درخواست ورود به خانه را بكند و يك احمق هم به او اين اجازه را بدهد.
· كسي ممكن است بتواند موفق به دريافت گواهيي شود كه به او اجازه انجام كار هايي فرا تر از آنجه لازم است را بدهد.
· كسي ممكن است خانه را به آتش بكشاند و اغتشاش ايجاد كند.
الگوريتم هاي كليد عمومي:
الگوريتم هاي كليد عمومي از يك جفت كليد عمومي و خصوصي بر روي يك پيغام استفاده مي كنند.
· فقط كليد خصوصي مي تواند پيغام رمز شده با كليد كليد عمومي را رمزگشايي كند.
· همچنين فقط كليد عمومي قادر خواهد بود پيغام رمز شده با كليد خصوصي را رمز گشايي كند.
· اگر شما باكليد عمومي من پيغامي را رمز كنيد. فقط من قادر به خواندن آن پيغام خواهم بود.
· اگر شما بتوانيد پيغامي را با كليد عمومي من باز كنيد آن پيغام الزاما از طرف من آمده است.
· اين طرح اولين بار توسط وايتفيلد ديفه و مارتين هلمن و به صورت مستقلانه اي در همين زمان يعني دهه ي 70 توسط رالف مركل پيشنهاد گرديد.
· سازمان NSA (سازماني سري در امريكا كه روي مباحث رمزنگاري فعاليت مي كند) قبل از پيشنهاد هاي اين افراد به اين نتايج رسيده بود.
· معمولا الگوريتم هاي كليد عمومي بسيار كند تر از الگوريتم هاي كليد متقارن هستند.
· يك خصيصه ي قطعي كليد عمومي اين است كه كليد خصوصي از كليد عمومي قابل تعيين نباشد و در مقابل حملات "متن سادهِ انتخاب شده" مقاوم باشد.
· در واقع تركيبي از سيستمهاي رمزگذاري كليد عمومي و متقارن كاربرد دارند.
· RSA نوعي از الگوريتم رمز گذار بر پايه ي كليد عمومي است كه در گستره وسيعي از كاربردها به كار مي رود.پس اجازه دهيد در درباره RSA بحث كنيم و بعد دوباره به بحث كلي درباره كليد عمومي برگرديم.
ملزومات: تعيين كليد رمزگشايي از كليد رمزگذاري بايد غير ممكن باشد.
انتخابي: هر كدام از دو كليد عمومي و خصوصي را بايد بتوان براي رمز گذاري و رمز گشايي به كار برد.
توابع درب تله اي يا يك طرفه:
· سيستم هاي رمز گذاري كليد عمومي بر پايه ي يك سري حيله هاي زيركانه رياضي كه با قدرت كامپيوتر در ارتباطند گسترش يافته اند.
· رمزگذاري كليد عمومي بر پايه ي مسئله كه در رياضي با نام "درب تله اي" شناخته مي شود كار مي كند.
· يك درب تله اي يك فرمول رياضي است كه به آساني جلو مي رود ولي برگشت آن تقريبا غير ممكن است.
· به عنوان مثال عمل ضرب كردن دو عدد بزرگ كار راحتي است ولي بدست آوردن فاكتور هاي اوليه ي آن عدد بزرگ بسيار مشكل است.
· الگوريتم كليد عمومي بر اين اساس كار مي كند كه شخصي يك كليد عمومي بزرگ را انتشار مي دهد و ديگران قادر نيستند كه فاكتور هاي اوليه ي اين كليد را بدست آورند.
· سازنده ي كليد فاكتور هاي اوليه ي كليد خود را ميداند و با استفاده از اين فاكتور ها پيغام هاي ديگران را كه با استفاده از كليد عمومي خودش رمز شده اند رمز گشايي مي نمايد.
· ديگران كه فقط از كليد عمومي آگاهي دارند قادر به شناسايي كليد خصوصي نيستند.و دليل آن هم سختي تجزيه كردن عداد بزرگ مي باشد.
رمزنگاري سنتي كليد مخفي:
از يك كليد تنها كه بين هر دو طرف گيرنده و فرستنده به اشتراك گذاشته شده است استفاده مي كند. اگر اين كليد فاش شود ارتباط به خطر مي افتد. همچنين اين روش از گيرنده در برابر پيام هاي جعلي ارسال شده كه ادامي كنند از طرف فرستنده ي خاصي مي ايند محافظت نمي كند.
رمزنگاري كليد عمومي:
اين روش كه رمزنگاري دو كليده نيز خوانده مي شود از دو كليد براي عمل رمز نگاري استفاده مي كند؛ يكي كليد عمومي كه توسط همه شناخته شده است و براي به رمز درآوردن پيغام ها و تشخيص امضا ها مورد استفاده قرار مي گيرد و ديگري كليد خصوصي كه فقط گيرنده از آن اطلاع دارد و براي رمز گشايي پيغام و همچنين ايجاد امضا مورد استفاده قرار مي گيرد.
اشكال سيستمهاي كليد مخفي:
يك از اشكال هاي الگوريتم هاي بر پايه كليد متقارن اين است كه شما نياز به يك روش مطمئن براي انتقال كليد هاي طرفين داريد. به اين مفهوم كه يا از يك كانال امن اين كار را انجام دهند يا به منظور انتقال كليد همديگر را ملاقات كنند. اين ميتواند يك مشكل بزرگ باشد و قطعا كارآساني نيست. اشكال ديگر اين روش اين است كه شما براي ارتباط با هر شخصي كليدي جداگانه نياز داريد.
سناريوي ارتباط:
آليس و باب مي خواهند با هم مكالمه مطمئني داشته باشند طوري كه كس ديگري از اطلاعات مبادله شده در اين مكالمه با خبر نشود. درهمين زمان Eve در حال استراق سمع است. آليس و باب ميتوانند خلبان دو جت نظامي يا دو تاجر اينترتي يا فقط دو دوست باشند كه مي خواهند با هم يك مكالمه ي خصوصي داشته باشند. آنها نمي توانند Eve را از گوش دادن به سيگنال راديوي يا اطلاعات مبادله شده از طريق تلفن و .. باز دارند، پس چه كاري مي توانند انجام دهند تا اين ارتباط مخفي بماند؟
رمزنگاري كليد خصوصي:
يك راه حل اين است كه آليس و باب يك كليد دجيتالي را مبادله كنند. بعد وقتي هر دو از آن كليد آگاه شدند (ولي ديگران از آن بي خبرند). آليس از اين كليد استفاده مي كند تا پيغام ها را به رمز كرده و به باب بفرستد. باب نيز پيغام اوليه را با استفاده از اين كليد و رمزگشايي پيغام بازسازي مي كند. پيغام رمز شده براي Eve قابل استفاده نيست. او كليد را نميداند پس نمي تواند پيغام اصلي را بازيابي كند. با يك الگوريتم رمزنگاري خوب اين طرح قابل اجراست، ولي مبادله كليد به طوري كه اين كليد از Eve مخفي بماند يك معضل است. اين كار واقعا نياز به يك ارتباط رودرو دارد كه هميشه امكان پذير نيست.
رمز نگاري كليد عمومي:
اين رمزنگاري به صورت متفاوتي عمل مي كند، زيرا كليد را به دو قسمت كليد عمومي براي به رمز در آوردن و كليد خصوصي براي رمزگشايي تقسيم مي كند. اين ممكن نيست كه كليد خصوصي از كليد عمومي قابل تعيين باشد. باب يك جفت كليد توليد مي كند. يكي از كليدها كليد عمومي است كه بايد به اطلاع عموم (از جمله Eve) برسد و ديگري كليد خصوصي كه فقط خود باب از آن اطلاع دارد. هر كسي مي تواند از كليد عمومي باب براي ارسال پيغام به او استفاده كنند ولي فقط باب مي تواند از كليد خصوصي خودش براي رمزگشايي پيغام ها استقاده كند. اين طرح به آليس و باب اجازه مي دهد تا يك ارتباط امن را بدون ملاقات كردن هم داشته باشند.
هر چند اگر Eve بتواند به همان راحتي كه مي تواند به پيغام هاي مبادله شده بين باب و آليس گوش مي دهد آنها را دست كاري نيز كند؛ مي تواند كليد عمومي خود را جانشين كليد عمومي باب كند و سپس آليس از كليد عمومي او براي رمز كردن پيغام ها و فرستادن آنها استفاده مي كند.
Man in Middle Attack : (حمله ي پل زدن به سطل)
اين حمله براي ارتباطات رمز شده و پرتكل هاي مبادله ي كليد مناسب است. ايده ي اين حمله اين است كه وقتي دو طرف در حال مبادله ي كليد هاي عمومي شان هستند مهاجم خودش را در بين دو طرف در خط ارتباط قرار مي دهد، سپس به مبادله كليد به صورت جداگانه با هر كدام از طرفين مي پردازد. سپس هر كدام از طرفين كليد عمومي خودش را به طرف ديگر مي دهد (كه البته هيچ گاه به دست طرف مقابل نمي رسد و در واقع هر كدام از اين دو در حال مبادله ي كليد با مهاجم هستند) مهاجم براي هر كدام از طرفين طرف دوم ارتباط امن را تشكيل مي دهد. سپس مهاجم براي هر كدام از اين دو ارتباط امن از كليد مناسبش استفاده مي كند. طرفين تصور مي كنند كه مكالمه امني انجام مي دهند ولي در حقيقت مهاجم همه چيز را شنيده است.
پرهيز ازحمله ي پل زدن به سطل:
روش معمول براي جلوگيري از حمله ي پل زدن به سطل اين است كه؛ از يك الگوريتم رمز گذاري كليد عمومي استفاده كنيم كه قابليت امضاي ديجيتالي را داشته باشد. براي برپايي چنين سيستمي طرفين بايد كليد عمومي ديگري را از قبل بداند (كه اين از مزيت اصلي رمز گذاري كليد عمومي مي كاهد). پس از توليد كليد خصوصي توليد شده طرفين امضاي ديجيتالي خود را براي هم مي فرستند. مهاجم كه خود را در وسط قرار داده ممكن است بتواند تا اين جاي ارتباط را گوش دهد ولي ديگر قادر نخواهد بود كه امضاي ديجيتالي را جعل كند، زيرا امضا ي ديجيتالي قابل جعل نيست.
منتشر كردن كليد عمومي:
فهرست كليد هاي عمومي براي اين ايجاد شد تا مشكل اين كه هر كاربر مي بايست يك كپي از كليد عمومي تمام اشخاص را داشته باشد تا با آنها ارتباط امن بر قرار كند را بر طرف كند. هر كاربري كليد عمومي خود را در فهرست ثبت ميكند و وقتي مثلا A خواست تا به B يك پيغام رمز شده بفرستد او كليد عمومي B را از طريق فرستادن درخواست KUB به فهرست انجام مي دهد.
مشكلات كليد ها:
· ما ممكن است كليد خود را گم كنيم.
· ما ممكن است فراموش كنيم كدام كليد براي چه كاري بود.
· ما ممكن است يك كليد را به شخص اشتباهي بدهيم.
· يك كسي ممكن است كليد ما را بدزدد.
· يك كسي ممكن است از طريق پنجره وارد شود.
· كسي ممكن است در را بشكند.
· كسي ممكن است درخواست ورود به خانه را بكند و يك احمق هم به او اين اجازه را بدهد.
· كسي ممكن است بتواند موفق به دريافت گواهيي شود كه به او اجازه انجام كار هايي فرا تر از آنجه لازم است را بدهد.
· كسي ممكن است خانه را به آتش بكشاند و اغتشاش ايجاد كند.
الگوريتم هاي كليد عمومي:
الگوريتم هاي كليد عمومي از يك جفت كليد عمومي و خصوصي بر روي يك پيغام استفاده مي كنند.
· فقط كليد خصوصي مي تواند پيغام رمز شده با كليد كليد عمومي را رمزگشايي كند.
· همچنين فقط كليد عمومي قادر خواهد بود پيغام رمز شده با كليد خصوصي را رمز گشايي كند.
· اگر شما باكليد عمومي من پيغامي را رمز كنيد. فقط من قادر به خواندن آن پيغام خواهم بود.
· اگر شما بتوانيد پيغامي را با كليد عمومي من باز كنيد آن پيغام الزاما از طرف من آمده است.
· اين طرح اولين بار توسط وايتفيلد ديفه و مارتين هلمن و به صورت مستقلانه اي در همين زمان يعني دهه ي 70 توسط رالف مركل پيشنهاد گرديد.
· سازمان NSA (سازماني سري در امريكا كه روي مباحث رمزنگاري فعاليت مي كند) قبل از پيشنهاد هاي اين افراد به اين نتايج رسيده بود.
· معمولا الگوريتم هاي كليد عمومي بسيار كند تر از الگوريتم هاي كليد متقارن هستند.
· يك خصيصه ي قطعي كليد عمومي اين است كه كليد خصوصي از كليد عمومي قابل تعيين نباشد و در مقابل حملات "متن سادهِ انتخاب شده" مقاوم باشد.
· در واقع تركيبي از سيستمهاي رمزگذاري كليد عمومي و متقارن كاربرد دارند.
· RSA نوعي از الگوريتم رمز گذار بر پايه ي كليد عمومي است كه در گستره وسيعي از كاربردها به كار مي رود.پس اجازه دهيد در درباره RSA بحث كنيم و بعد دوباره به بحث كلي درباره كليد عمومي برگرديم.
ملزومات: تعيين كليد رمزگشايي از كليد رمزگذاري بايد غير ممكن باشد.
انتخابي: هر كدام از دو كليد عمومي و خصوصي را بايد بتوان براي رمز گذاري و رمز گشايي به كار برد.
توابع درب تله اي يا يك طرفه:
· سيستم هاي رمز گذاري كليد عمومي بر پايه ي يك سري حيله هاي زيركانه رياضي كه با قدرت كامپيوتر در ارتباطند گسترش يافته اند.
· رمزگذاري كليد عمومي بر پايه ي مسئله كه در رياضي با نام "درب تله اي" شناخته مي شود كار مي كند.
· يك درب تله اي يك فرمول رياضي است كه به آساني جلو مي رود ولي برگشت آن تقريبا غير ممكن است.
· به عنوان مثال عمل ضرب كردن دو عدد بزرگ كار راحتي است ولي بدست آوردن فاكتور هاي اوليه ي آن عدد بزرگ بسيار مشكل است.
· الگوريتم كليد عمومي بر اين اساس كار مي كند كه شخصي يك كليد عمومي بزرگ را انتشار مي دهد و ديگران قادر نيستند كه فاكتور هاي اوليه ي اين كليد را بدست آورند.
· سازنده ي كليد فاكتور هاي اوليه ي كليد خود را ميداند و با استفاده از اين فاكتور ها پيغام هاي ديگران را كه با استفاده از كليد عمومي خودش رمز شده اند رمز گشايي مي نمايد.
· ديگران كه فقط از كليد عمومي آگاهي دارند قادر به شناسايي كليد خصوصي نيستند.و دليل آن هم سختي تجزيه كردن عداد بزرگ مي باشد.
The golden opportunity you're seeking is in Yourself. It's not in your environment, in luck, in chance, or the help of other; it is in yourself Alone
راه های دریافت رایگان مقالات و کتاب ها
اهــدای سلول بنیادی - اهـــدای عضو - محک
لطفا سوالاتتون رو در فروم بپرسید و از پیام خصوصی برای این منظور استفاده نکنید. در صورتی که مایلید من به سوال شما پاسخ بدم @Mami رو در متن سوال قرار بدید.
راه های دریافت رایگان مقالات و کتاب ها
اهــدای سلول بنیادی - اهـــدای عضو - محک
لطفا سوالاتتون رو در فروم بپرسید و از پیام خصوصی برای این منظور استفاده نکنید. در صورتی که مایلید من به سوال شما پاسخ بدم @Mami رو در متن سوال قرار بدید.