Transcript Slide 1
سیستم رمزنگاریGGH
و تعمیمات آن
در سال 1996گولدراش ،گولدواشر و هالوی سیستم
رمزنگاری GGHرا که مبتنی بر نظریه مشبکه بود،
ارائه کردند.
این سیستم امنیت خود را از دشواری مسئله CVP
اخذ می کند.
چگونگی رفتار سیستم GGH
کلید خصوصی پایه Rبرای یک مشبکه Lبا
خواص مطلوب شامل
کوتاه بودن طول بردارها و بردارهایی تقریبا َ متعامد.
کلید عمومی پایه نامطلوب Bبرای مشبکه L
oرمزنگاری برای رمز کردن یک بردار خام مانند
،pεZⁿپایه بد مورد استفاده قرار می گیرد.
بدین گونه که بردار خطای eεZⁿبه صورت
تصادفی انتخاب شده و مقدار c=eB+pبه
عنوان متن رمز شده ارسال می گردد.
باید توجه شود؛بردار pطوری ساخته می شود که به
قدر کافی کوچک باشد.
oرمزگشایی پایه خوب Rبرای پیدا کردن
نزدیکترین بردار در مشبکه نسبت به متن رمزی
، cمورد استفاده قرار می گیرد.
چنان که نزدیک ترین بردار مشبکه به ، cبردار
eBست .که پس از یافتن آن به آسانی بردار p
بدست می آید.
GGH cryptosystem
Alice
Bob
Plaintext
p
Encryption(c=eB+p)
Public key
B
ciphertext
c
CVP
Algorithm
Decryption
(p=c-eB)
Private key
R
این سیستم در صورتی امن است که بعد مشبکه بزرگ
باشد؛ طراحان این سیستم ادعا کردند که با
n=200,250,300,350,400امنیت برقرار
میباشد...
در این صورت میتوان گفت ،کلید عمومی 330کیلو بایت تا
بیش از 2مگا بایت حافظه اشغال میکند.
• در کنفرانس ،crypto99فون نوین ثابت کرد که
این سیستم با بعد 200,250,300,350نیز
شکست پذیر است و این سیستم تنها برای کلید های
باالی 2مگا بایت حافظه امن می باشد.
این در حالی ست که این ویژگی برای زیرساختارهای
کلید عمومی با تعداد مشتری باال،مانند اینترنت یا شبکه
های بزرگ اینترانت،غیرممکن است...
• مشکل دیگر این سیستم ،سرعت پایین رمزگشایی
آن می باشد.
در نتیجه؛ این نارساعی ها باعث کاهش انگیزه برای
استفاده عملی از این سیستم می شود.
در سال Micciancio ،2001سیستم اولیه GGH
را از لحاظ سرعت و امنیت بهبود بخشید.
برای معرفی این سیستم فوق ،نیاز به چندی تعاریف اولیه داریم...
تعاریف
• تعریف)HNF(1
فرض کنید Lمشبکه صحیحی با بعد nو H
ماتریس n*nصحیحی باشد H .را پایه ای با فرم
نرمال هرمیت از Lگویند ،اگر و فقط اگر
i j
i j
i j
0 if
0 if
H
if
j,j
H i,j
1 i , j n
نکته :اگر پایه Bدر فرم نرمال هرمیت باشد ،ماتریس
* Bقطری خواهد بود با درایه های . bi,i
• تعریف(2کاهش بردارها به پیمانه پایه)
برای هر مشبکه
)( L=L(Bماتریس Bدارای فرم
نرمال هرمیت است)،رابطه هم ارزی زیر وجود
L w v w L
دارد:
Wرا با v mod Bنمایش می دهند.
v
نکته:1برای هر ،vεRⁿnبردار منحصر به فرد w
در } P ( B * ) { x i b i* :0 x i 1موجود است که .vΞLw
i 1
نکته :2اگر پایه Bدر فرم نرمال هرمیت باشد،
w=v mod Bبرداری صحیح می باشد که در شرط
0≤wi<biiصدق می کند.
در طرح ،Micciancioکلید عمومی سیستم GGH
برابر با فرم نرمال هرمیت کلید خصوصی در نظر
گرفته شده است.
از آن جا که می توان ثابت کرد هر مشبکه دارای
پایه منحصر به فرد با فرم نرمال هرمیت است،
انتشار این پایه به عنوان کلید عمومی اطالعات
خاصی از پایه خصوصی را نمی دهد.
• به نظر می رسد که پایه ای با فرم نرمال هرمیت ،خواص
پایه خوب در مشبکه را نداشته باشد؛ زیرا الگوریتم چند
جمله ای برای تولید چنین پایه ای موجود است .در نتیجه
اگر پایه ای کارا بود ،سیستم های رمزی کلید عمومی قوی
حمله پذیر بودند...
رمزنگاری در این طرح سعی شده به جای آن
که در هر مرحله بردار تصادفی eεZⁿانتخاب شده
و متن رمز شده c=eB+pارسال گردد ،از
کاهش بردارها به پیمانه پایه Bاستفاده شود تا
بردار cبدست آید که ).c-pεL(B
به عبارت دیگر هدف در این فرایند ،دست یابی به
بردار p mod Bاست.
: اجرا می شود1بدین منظور الگوریتم
Input: B a HNF basis with dim nxn and pεZⁿ a vector
Output: c εZⁿ such that (c-p) εL(B) and 0≤ci<Bii
Begin
c←p
for i←n-1 to 0 do
q← c i / B ii
c ←c-qBi
end
end
الزم به ذکر است که اندازه کلید عمومی در این سیستم
کاهش چشم گیری دارد.
رمزگشایی برای رمز گشایی در این سیستم ،از
الگوریتم Babai’s Nearest Plane
استفاده می شود.
این الگوریتم تقریب بهتری نسبت به الگوریتم
Round-Offمی دهد.
الگوریتم های Babai
در سال Babai ،1986دو الگوریتم به منظور حل
مسئله γ-CVPارائه کرد .چنان که هردو الگوریتم در
زمان چندجمله ای اجرا می شوند...
• الگوریتم Round-Off
• الگوریتم Nearest Plane
الگوریتم Babai’s Round-Off
نقطه دلخواه uRnو مشبکه Lبه همراه پایه
v1,..,vnRnداده شده است.
u=a1v1+…anvn
می توان نوشت :
این الگوریتم برای پایه های مطلوب به
کار می
این الگوریتم aها را با خوبی
ترینکند.عدد صحیح مثل ti
نزدیک
i
جایگزین می کند .و خروجی آن برداری مانند
v=t1v1+…tnvnخواهد بود.
Babai’s Nearest Plane الگوریتم
• الگوریتم nearest planeبا آن که تقریب
بهتری نسبت به الگوریتم round-offدارد،
بسیار آهسته تر عمل می کند.
n
الگوریتم Nearest Planeدارای تقریب 2 2و الگوریتم Round-Offدارای
n
9
تقریب 1 2 n ( ) 2
2
بهبود سیستم رمزی GGHو Miccioبا استفاده
از قضیه مانده چینی
• قضیه مانده چینی :فرض کنید به ازای هر1≤i≤n
n
piها اعداد اول باشندو . p , P P / p
آنگاه برای هر nتایی ،aiیک عدد صحیح یکتا مانند
0≤A<Pموجود است که
i
i
P
i
i 1
a i A m od p i
a i ( Pi m od p i ) Pi m od P
1
A
انگیزه استفاده از این قضیه در سیستم های رمزی
مبتنی بر مشبکه
• اجرای عملیات حسابی در میدان های متناهی کوچک این
امکان را می دهد که از بهینگی عملیات روی اعداد صحیح
استفاده شود.زیرا؛ کار کردن با اعداد صحیح که بزرگ تر
از اندازه کلمه در ماشین اجرا هستند ،مخارج هنگفتی تحمیل
می کند...
• از آن جا که محاسبه در هر میدان متناهی ،مستقل از
دیگری ست ،اجرای محاسبات در هر میدان متناهی به طور
هم زمان و موازی ممکن می باشد.
Plantard,Rose,Susilo سیستم پیشنهادی
و پایهR تولید کلید برای ساخت پایه خصوصی
: استفاده می شود2 از الگوریتم،B عمومی
Input : nεN the security parameter
Output: B the public key,R the private key
begin
M←0 for i,j ←0 to n-1 do Mi,j ←Rand(-1,1)
1
1
b 2 2 n repeat b b 1 until || (bI M ) ||
3
2
R←bI+M
B←HNF(R)
end
مزایای الگوریتم2
.iپایه خصوصی Rدر حد مناسب متعامد می باشد،
که این خود باعث درصد موفقیت بیشتر الگوریتم
Round-Offبرای رمزگشایی می شود.
.iiکران تعیین شده در این الگوریتم باعث سرعت
بیشتر تولید کلید می شود.
.iiiاجرای این الگوریتم باعث کوچک تر شدن کلید
های عمومی می شود.هرچند که استفاده از
الگوریتم ،LLLپایه را کوچکتر نیز می کند.
رمزنگاری برای رمز کردن متن خام از روش
( Miccioکاهش پیمانه ای مشبکه) ،استفاده
می کنیم.
رمزگشایی الگوریتم 3را که تلفیقی از CRTو
Round-Offاست ،به کار برده می شود.
3الگوریتم
Input: c ε Zⁿ the input vector, R a basis of L
Output: wεL a close vector of c in the lattice L
begin
x←0
for each pi do x←x+Q(pi)(cR΄(pi)mod pi) mod P
end
w x / det( R ) R
توابع فراخوانده شده در الگوریتم ،3عبارتند از:
m od p i
1
) det( R ) Q ( p i
pi
, P
1
P
pi
R ( pi ) R
'
Q ( pi )
الزم به ذکر است که علت ضرب ) det(Rدر تعریف
تابع΄ ،Rاجتناب از عملیات حسابی اعدادگویا می باشد.
• به منظور تسریع فاز رمزگشایی ،مقادیر توابع فوق الذکر
در مرحله تولید کلید،محاسبه و ذخیره می شود.
• طرح پیشنهادی فوق ،به زبان c++همراه با کتابخانه
NTLپیاده سازی شده؛ که نتایج به شرح زیر می باشد:
• با نگاهی به جدول فوق ،می توان دریافت که سیستم
جدید؛ زمان رمزنگاری ،زمان رمزگشایی و اندازه
کلید عمومی را کاهش می دهد.
با تشکر از توجه شما