رمزنگاری الجمل

از testwiki
پرش به ناوبری پرش به جستجو
طاهر الجمل

رمزنگاری الجمل الگو:به انگلیسی در رمزنگاری سیستم رمزنگاری الجمل یک الگوریتم رمزنگاری کلید عمومی است که بر پایه پروتکل تبادل کلید دیفی-هلمن ساخته شده‌است. این الگوریتم توسط طاهر الجمل در سال ۱۹۸۴ معرفی شد. الگوریتم الجمل در برنامه‌هایی مانند گنو پرایوسی گارد یا نسخه‌های اخیر PGP و سایر نرم‌افزارهای رمزنگاری استفاده می‌شود. الگوریتم الجمل می‌تواند بر روی هر گروه دوری مانند G تعریف شود. امنیت آن بستگی به سختی مسئله‌ای خاص در G مربوط به محاسبهٔ لگاریتم گسسته دارد.

الگوریتم

الگوریتم الجمل از سه قسمت تشکیل شده‌است.

  • تولید کلید
  • الگوریتم رمزنگاری
  • الگوریتم رمزگشایی

تولید کلید

مولد کلید این‌گونه کار می‌کند:

  • آلیس توسط مولد g یک گروه دوری ضربی بهینهٔ G با مرتبهٔ q تولید می‌کند. این گروه باید شرایطی داشته باشد که در ادامه به آن‌ها اشاره می‌کنیم.
  • آلیس به تصادف یک x از {1,,q1} انتخاب می‌کند.
  • آلیس h=gx را محاسبه می‌کند.
  • آلیس h را به همراه G ،q و g به عنوان کلید عمومی منتشر می‌کند و x را به عنوان کلید خصوصی نزد خود نگه می‌دارد.

الگوریتم رمزنگاری

برای رمز کردن پیام m تحت کلید (G,q,g,h) این‌گونه عمل می‌کنیم:

  • باب به تصادف یک y از {1,,q1} انتخاب می‌کند و c1=gy را حساب می‌کند.
  • باب رمز مشترک s=hy (که باید مخفی بماند) را محاسبه می‌کند.
  • باب پیام m را به یک عضو از G مثل m تبدیل می‌کند.
  • باب سپس c2=ms را محاسبه می‌کند.
  • باب در نهایت پیام رمزشدهٔ (c1,c2)=(gy,mhy)=(gy,m(gx)y) را برای آلیس می‌فرستد.

در اینجا اگر شخصی m را بداند به‌راحتی می‌تواند hy را به‌دست‌آورد. به همین دلیل برای بالا بردن امنیت برای هر پیغام، یک y جدید تولید می‌شود که به آن کلید موقتی یا کلید بی‌دوام الگو:به انگلیسی می‌گویند.

الگوریتم رمزگشایی

برای رمزگشایی پیام رمزی (c1,c2) به‌وسیلهٔ کلید خصوصی x این‌گونه عمل می‌کنیم:

  • آلیس رمز مشترک را محاسبه می‌کند: s=c1x
  • سپس آلیس m=c2s1 را محاسبه می‌کند که به وسیلهٔ آن می‌تواند m را به‌دست‌آورد. در این‌جا s1 عضو وارون s در G می‌باشد.

این الگوریتم درست کار می‌کند زیرا: c2s1=mhy(gxy)1=mgxygxy=m

امنیت

امنیت سیستم رمزنگاری الجمل به شرایط گروه G و همچنین روش پد کردن پیغام بستگی دارد. اگر فرض دیفی-هلمن محاسباتی(CDH) بر روی گروه دوری G برقرار باشد، آن‌گاه تابع رمزنگاری یک‌طرفه است. اگر فرض دیفی-هلمن تصمیمی(DDH) بر روی G برقرار باشد، آن‌گاه الجمل دارای امنیت معنایی خواهد بود. امنیت معنایی را نمی‌توان به تنهایی از فرض دیفی-هلمن محاسباتی به‌دست‌آورد. رمزنگاری الجمل نرمش‌پذیر است، بنابراین در برابر حملهٔ متن رمزی انتخابی امن نیست. برای مثال توسط متن رمزی (c1,c2) از پیام m می‌توان به‌راحتی پیام 2m را توسط (c1,2c2) به‌دست‌آورد. برای به‌دست آوردن امنیت متن رمزی انتخابی باید روش رمزنگاری را تغییر دهیم، یا این‌که از یک روش پد مناسب استفاده کنیم. بسته به نوع تغییرات فرض دیفی-هلمن تصمیمی می‌تواند مورد نیاز باشد یا نباشد.

کاربرد عملی

سیستم رمزنگاری الجمل معمولاً در سیستم‌های رمزنگاری هیبریدی استفاده می‌شود. برای مثال، پیام توسط یک سیستم رمزنگاری متقارن رمز می‌شود و سپس از سیستم الجمل برای رمز کردن کلید متقارن استفاده می‌شود؛ زیرا سیستم‌های رمزنگاری نامتقارن مثل الجمل نسبت به سیستم‌های متقارن معمولاً سرعت پایین‌تری دارند و بنابراین با توجه به این‌که نسبت اندازهٔ کلید به متن بسیار کوچک‌تر است این کار از لحاظ زمانی بسیار بهینه‌تر است.

کارایی

الگوریتم الجمل احتمالاتی کار می‌کند؛ به‌این معنی که رمزشدهٔ یک متن ثابت، می‌تواند متن‌های متفاوتی باشد و دلیل آن‌هم انتخاب تصادفی مقدار y در مرحلهٔ رمزگذاری می‌باشد.

رمزنگاری

برای رمز کردن یک متن توسط الجمل به دو عنصر gy و hy نیاز داریم که با توجه به این که این عناصر مستقل از متن هستند، می‌توان آن‌ها را از قبل محاسبه کرد.

رمزگشایی

در مرحلهٔ رمزگشایی برای به‌دست آوردن متن اصلی از متن رمزی (c1,c2) به‌وسیلهٔ کلید خصوصی x، ما نیاز به s1 داشتیم. برای به‌دست آوردن بهینهٔ s1 می‌توان از روش زیر استفاده کرد:

s=c1q1x=gy(q1x)=gxy

(در این‌جا محاسبات توانی به پیمانهٔ q1 انجام شده‌اند). حالا با توجه به‌این‌که s=c1x=(gy)x=gxy پس:

ss=gxygxy=1s=s1

جستارهای وابسته

منابع

الگو:پانویس

پیوند به بیرون