رمزنگاری الجمل
رمزنگاری الجمل (به انگلیسی: ElGamal encryption) در رمزنگاری سیستم رمزنگاری الجمل یک الگوریتم رمزنگاری کلید عمومی است که بر پایه پروتکل تبادل کلید دیفی-هلمن ساخته شدهاست. این الگوریتم توسط طاهر الجمل در سال ۱۹۸۴ معرفی شد. الگوریتم الجمل در برنامههایی مانند گنو پرایوسی گارد یا نسخههای اخیر PGP و سایر نرمافزارهای رمزنگاری استفاده میشود. الگوریتم الجمل میتواند بر روی هر گروه دوری مانند تعریف شود. امنیت آن بستگی به سختی مسئلهای خاص در مربوط به محاسبهٔ لگاریتم گسسته دارد.
الگوریتم
[ویرایش]الگوریتم الجمل از سه قسمت تشکیل شدهاست.
- تولید کلید
- الگوریتم رمزنگاری
- الگوریتم رمزگشایی
تولید کلید
[ویرایش]مولد کلید اینگونه کار میکند:
- آلیس توسط مولد یک گروه دوری ضربی بهینهٔ با مرتبهٔ تولید میکند. این گروه باید شرایطی داشته باشد که در ادامه به آنها اشاره میکنیم.
- آلیس به تصادف یک از انتخاب میکند.
- آلیس را محاسبه میکند.
- آلیس را به همراه ، و به عنوان کلید عمومی منتشر میکند و را به عنوان کلید خصوصی نزد خود نگه میدارد.
الگوریتم رمزنگاری
[ویرایش]برای رمز کردن پیام تحت کلید اینگونه عمل میکنیم:
- باب به تصادف یک از انتخاب میکند و را حساب میکند.
- باب رمز مشترک (که باید مخفی بماند) را محاسبه میکند.
- باب پیام را به یک عضو از مثل تبدیل میکند.
- باب سپس را محاسبه میکند.
- باب در نهایت پیام رمزشدهٔ را برای آلیس میفرستد.
در اینجا اگر شخصی را بداند بهراحتی میتواند را بهدستآورد. به همین دلیل برای بالا بردن امنیت برای هر پیغام، یک جدید تولید میشود که به آن کلید موقتی یا کلید بیدوام (به انگلیسی: ephemeral key) میگویند.
الگوریتم رمزگشایی
[ویرایش]برای رمزگشایی پیام رمزی بهوسیلهٔ کلید خصوصی اینگونه عمل میکنیم:
- آلیس رمز مشترک را محاسبه میکند:
- سپس آلیس را محاسبه میکند که به وسیلهٔ آن میتواند را بهدستآورد. در اینجا عضو وارون در میباشد.
این الگوریتم درست کار میکند زیرا:
امنیت
[ویرایش]امنیت سیستم رمزنگاری الجمل به شرایط گروه و همچنین روش پد کردن پیغام بستگی دارد. اگر فرض دیفی-هلمن محاسباتی(CDH) بر روی گروه دوری برقرار باشد، آنگاه تابع رمزنگاری یکطرفه است. اگر فرض دیفی-هلمن تصمیمی(DDH) بر روی برقرار باشد، آنگاه الجمل دارای امنیت معنایی خواهد بود. امنیت معنایی را نمیتوان به تنهایی از فرض دیفی-هلمن محاسباتی بهدستآورد. رمزنگاری الجمل نرمشپذیر است، بنابراین در برابر حملهٔ متن رمزی انتخابی امن نیست. برای مثال توسط متن رمزی از پیام میتوان بهراحتی پیام را توسط بهدستآورد. برای بهدست آوردن امنیت متن رمزی انتخابی باید روش رمزنگاری را تغییر دهیم، یا اینکه از یک روش پد مناسب استفاده کنیم. بسته به نوع تغییرات فرض دیفی-هلمن تصمیمی میتواند مورد نیاز باشد یا نباشد.
کاربرد عملی
[ویرایش]سیستم رمزنگاری الجمل معمولاً در سیستمهای رمزنگاری هیبریدی استفاده میشود. برای مثال، پیام توسط یک سیستم رمزنگاری متقارن رمز میشود و سپس از سیستم الجمل برای رمز کردن کلید متقارن استفاده میشود؛ زیرا سیستمهای رمزنگاری نامتقارن مثل الجمل نسبت به سیستمهای متقارن معمولاً سرعت پایینتری دارند و بنابراین با توجه به اینکه نسبت اندازهٔ کلید به متن بسیار کوچکتر است این کار از لحاظ زمانی بسیار بهینهتر است.
کارایی
[ویرایش]الگوریتم الجمل احتمالاتی کار میکند؛ بهاین معنی که رمزشدهٔ یک متن ثابت، میتواند متنهای متفاوتی باشد و دلیل آنهم انتخاب تصادفی مقدار در مرحلهٔ رمزگذاری میباشد.
رمزنگاری
[ویرایش]برای رمز کردن یک متن توسط الجمل به دو عنصر و نیاز داریم که با توجه به این که این عناصر مستقل از متن هستند، میتوان آنها را از قبل محاسبه کرد.
رمزگشایی
[ویرایش]در مرحلهٔ رمزگشایی برای بهدست آوردن متن اصلی از متن رمزی بهوسیلهٔ کلید خصوصی ، ما نیاز به داشتیم. برای بهدست آوردن بهینهٔ میتوان از روش زیر استفاده کرد:
(در اینجا محاسبات توانی به پیمانهٔ انجام شدهاند). حالا با توجه بهاینکه پس:
جستارهای وابسته
[ویرایش]- توابع درهمساز
- الگوریتمهای رمز استاندارد
- الگوریتمهای کلید نامتقارن
- کلید عمومی
- کلید خصوصی
- الگوریتمهای کلید متقارن
- امضای رقومی
- لگاریتم گسسته
- فرض دیفی-هیلمن
- رمزنگاری هیل
- اصول ششگانه کرکهف
منابع
[ویرایش]- مشارکتکنندگان ویکیپدیا. «ElGamal encryption». در دانشنامهٔ ویکیپدیای انگلیسی، بازبینیشده در ۱۱ بهمن ۹۲.