رمزنگاری هم‌ریختی

از testwiki
نسخهٔ تاریخ ۱۰ سپتامبر ۲۰۲۴، ساعت ۰۵:۵۲ توسط imported>AKhaleghizadeh (− رده:هومئومورفیسم‌ها، + رده:همسان‌ریختی‌ها (هات‌کت))
(تفاوت) → نسخهٔ قدیمی‌تر | نمایش نسخهٔ فعلی (تفاوت) | نسخهٔ جدیدتر ← (تفاوت)
پرش به ناوبری پرش به جستجو

رمزنگاری هم‌ریختی نوعی از رمزنگاری است که به وسیله آن می‌توان بر روی متن رمز، عملیات خاص ریاضی انجام داد و عملیات ریاضی انجام شده عیناً بر روی متن آشکار پیاده می‌شود. برای مثال یک نفر می‌تواند دو عدد رمزشده را با هم جمع کند، و رمزگشایی نتیجه، جمع آن دو عدد را نشان خواهد داد. از جمله کاربردهای رمزنگاری هم‌ریختی می‌توان به سیستم‌های رای امن و بازیابی اطلاعات مخفی اشاره کرد.[۱]

رمزنگاری هم‌ریختی جزئی

در مثال‌های زیر علامت (x) نشان دهنده رمزنگاری پیام x می‌باشد. مطالب این صفحه از صفحه انگلیسی ویکیپیدیا گرفته شده است.[۱]

Unpadded RSA

اگر رمزنگاری کلید عمومی RSA پیمانه m و توان e باشد، در نتیجه رمزنگاری یک پیام x به صورت (x)=xemodm می‌باشد. در نتیجه خصوصیت هم‌ریختی به صورت زیر می‌باشد:

(x1)(x2)=x1ex2emodm=(x1x2)emodm=(x1x2)

ElGamal

در ElGamal cryptosystem، در یک گروه G، اگر کلید عمومی (G,q,g,h) باشد که h=gx، و x کلید رمز باشد، در نتیجه رمزنگاری یک پیام m، به صورت (m)=(gr,mhr) می‌باشد، که به ازای یک مقدار تصادفی r{0,,q1} بدست می‌آید. در نتیجه خصوصیت هم‌ریختی به صورت زیر می‌باشد:

(x1)(x2)=(gr1,x1hr1)(gr2,x2hr2)=(gr1+r2,(x1x2)hr1+r2)=(x1x2)

Goldwasser-Micali

در رمزنگاری گلدواسر-میکالی، اگر کلید عمومی به پیمانه m و quadratic non-residue x, در نتیجه رمزنگاری یک بیت b به صورت (b)=xbr2modm می‌باشد که به ازای مقدار تصادفی r{0,,m1} می‌باشد. خصوصیت هم‌ریختی به صورت زیر می‌باشد:

(b1)(b2)=xb1r12xb2r22=xb1+b2(r1r2)2=(b1b2)

نشان دهنده جمع به پیمانه ۲ یا exclusive-or می‌باشد.

Benaloh

در Benaloh cryptosystem، اگر کلید عمومی در پیمانه m و پایه g و c به عنوان اندازه بلوک، در نتیجه رمزنگاری پیام x به صورت (x)=gxrcmodm می‌باشد که به ازای مقدار تصادفی r{0,,m1} است. خصوصیت هم‌ریختی به صورت زیر می‌باشد:

(x1)(x2)=(gx1r1c)(gx2r2c)=gx1+x2(r1r2)c=(x1+x2modc)

Paillier

اگر در Paillier cryptosystem، اگر کلید عمومی در پیمانه m و پایه g، در نتیجه رمزنگاری پیام x به صورت (x)=gxrmmodm2 می‌باشد که به ازای مقدار تصادفی r{0,,m1} است. خصوصیت هم‌ریختی به صورت زیر می‌باشد:

(x1)(x2)=(gx1r1m)(gx2r2m)=gx1+x2(r1r2)m=(x1+x2modm)

موارد دیگر رمزنگاری هم‌ریختی جزئی

منابع

الگو:پانویس