به سایت آموزش ریاضیات و رمزنگاری خوش آمدید

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

الگوریتم ELGamal توسط رمزنگار مصری طاهر الجمال طراحی شده است. این الگوریتم بنام طراح آن نامگذاری شده و از نوع نامتقارن می باشد. در این الگوریتم از کلید عمومی برای رمزنگاری و از کلید اختصاصی برای گشودن پیام رمزشده استفاده می شود.
خصوصیت این الگوریتم به گونه ای است که در هر مرحله از فرایند رمزنگاری یک کلید تصادفی k تولید میشود مقدار این کلید کاملا تصادفی بوده و در هر مرحله از اجرای فرایند رمز نگاری کلید تولید شده با کلید قبلی متفاوت خواهد بود.
این خصوصیت موجب میشود در دو مرحله متقاوت خروجی متفاوتتولید شود, که این خصوصیت از ویژگی های تولید کلید K در هر مرحله از فرایند رمزنگاری می باشد.فرایند تولید تصادفی کلید K موجب می شود حدس زدن کلید K از روی مقدار C1 امکان پذیر نباشد.
در سیستم رمزنگاری ElGamal فرایند رمزنگاری بر اساس دو الگوریتم زیر انجام می شود
• الگوریتم تولید کلید
• الگوریتم رمزنگاری

الگوریتم تولید کلید:
موجودیت A برای رمزنگاری اقدامات زیر را انجام می دهد:
- ابتدا یک عدد بزرگ p انتخاب میگردد. بهتر است بین 1024 الی 2048 بیت باشد
- عدد ویژه g انتخاب شده که می بایست نسبت به p اول بوده و در بازه (1, p-1) قرار داشته باشد کلید تصادفی x که عددی بین (1, p-1) است انتخاب شود. هر کاربر سیستم می بایست کلید مستقل خود را داشته باشد
- کلید عمومی بافرمولy=g^x mod p محاسبه شود
- مقادیر (p, g, y) به عنوان پارامترهای سیستم ارائه شود

الگوریتم رمزنگاری:
- موجودیت B پیام m را برای A به صورت زیر رمز می کند
- عدد k را به صورت تصادفی تولید می کند.
- رشته P را که به مقدار عددی تبدیل شده است با فرمول زیر به رمز تبدیل می کند
C_1=g^k mod p
C_2=Py^k mod p
- مقدار C=(C_1,C_2) را به عنوان پیام رمز شده به مقصد ارسال می کند پیام قابل ارسال بر اساس فرمول بالا اماده سازی شده و به مقصد ارسال می شود. مقدار k در هرمرحله از فرایند رمزنگاری متفاوت است بنابراین یک متن ثابت در این روش میتواند به اشکال متفاوت رمز شود.

الگوریتم رمزگشایی:
برای رمزگشایی به روش زیر عمل می کنیم:
از فرمول P=C_2/( (C_1)^x mod p) برای استخراج مقدار عددیP استفاده می کنیم مقدارعددی Pرا به رشته مورد نظر تبدیل می کنیم


تاریخ بروزرسانی 1399/08/22


advertise
adverse1
adverse1
advertise

نظرات و پیشنهادات خود را با آدرس admin[@]ircrypt(.)com با ما در میان بگذارید
نقل مطالب سایت با درج منبع بلا مانع است