380 likes | 641 Views
سیستم رمزنگاری GGH و تعمیمات آن. در سال 1996 گولدراش ، گولدواشر و هالوی سیستم رمزنگاری GGH را که مبتنی بر نظریه مشبکه بود، ارائه کردند. این سیستم امنیت خود را از دشواری مسئله CVP اخذ می کند. چگونگی رفتار سیستم GGH. کلید خصوصی پایه R برای یک مشبکه L با خواص مطلوب شامل
E N D
در سال 1996 گولدراش، گولدواشر و هالوی سیستم رمزنگاری GGH را که مبتنی بر نظریه مشبکه بود، ارائه کردند. این سیستم امنیت خود را از دشواری مسئله CVP اخذ می کند.
چگونگی رفتار سیستم GGH • کلید خصوصی پایه R برای یک مشبکه L با خواص مطلوب شامل کوتاه بودن طول بردارها و بردارهایی تقریباَ متعامد. • کلید عمومیپایه نامطلوب B برای مشبکه L
رمزنگاریبرای رمز کردن یک بردار خام مانند pεZⁿ، پایه بد مورد استفاده قرار می گیرد. بدین گونه که بردار خطای eεZⁿ به صورت تصادفی انتخاب شده و مقدار c=eB+p به عنوان متن رمز شده ارسال می گردد. باید توجه شود؛بردار p طوری ساخته می شود که به قدر کافی کوچک باشد.
رمزگشایی پایه خوب R برای پیدا کردن نزدیکترین بردار در مشبکه نسبت به متن رمزی c ، مورد استفاده قرار می گیرد. چنان که نزدیک ترین بردار مشبکه به c ،بردار eBست. که پس از یافتن آن به آسانی بردار p بدست می آید.
GGH cryptosystem Alice Bob Plaintext p Encryption(c=eB+p) ciphertextc Decryption (p=c-eB) Public keyB CVP Algorithm Private key R
این سیستم در صورتی امن است که بعد مشبکه بزرگ باشد؛ طراحان این سیستم ادعا کردند که با n=200,250,300,350,400 امنیت برقرار میباشد... در این صورت میتوان گفت ، کلید عمومی 330کیلو بایت تا بیش از 2مگا بایت حافظه اشغال میکند.
در کنفرانس crypto99، فون نوین ثابت کرد که این سیستم با بعد 200,250,300,350 نیز شکست پذیر است و این سیستم تنها برای کلید های بالای 2مگا بایت حافظه امن می باشد. این در حالی ست که این ویژگی برای زیرساختارهای کلید عمومی با تعداد مشتری بالا،مانند اینترنت یا شبکه های بزرگ اینترانت،غیرممکن است...
مشکل دیگر این سیستم ، سرعت پایین رمزگشایی آن می باشد. در نتیجه؛ این نارساعی ها باعث کاهش انگیزه برای استفاده عملی از این سیستم می شود.
در سال 2001، Micciancio سیستم اولیه GGH را از لحاظ سرعت و امنیت بهبود بخشید. برای معرفی این سیستم فوق، نیاز به چندی تعاریف اولیه داریم...
تعاریف • تعریف1(HNF) فرض کنید L مشبکه صحیحی با بعد n و H ماتریس n*nصحیحی باشد. H را پایه ای با فرم نرمال هرمیت از L گویند، اگر و فقط اگر
نکته: اگر پایه B در فرم نرمال هرمیت باشد، ماتریس B*قطری خواهد بود با درایه های bi,i . • تعریف2(کاهش بردارها به پیمانه پایه) برای هر مشبکه L=L(B)(ماتریس B دارای فرم نرمال هرمیت است)،رابطه هم ارزی زیر وجود دارد: W را با v mod B نمایش می دهند.
نکته1:برای هر vεRⁿ، بردار منحصر به فردw درموجود است که .vΞLw • نکته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 ←c-qBi end end
لازم به ذکر است که اندازه کلید عمومی در این سیستم کاهش چشم گیری دارد.
رمزگشایی برای رمز گشایی در این سیستم، از الگوریتم Nearest PlaneBabai’s استفاده می شود. این الگوریتم تقریب بهتری نسبت به الگوریتم Round-Off می دهد.
الگوریتم های Babai در سال 1986، Babai دو الگوریتم به منظور حل مسئله γ-CVPارائه کرد. چنان که هردو الگوریتم در زمان چندجمله ای اجرا می شوند... • الگوریتم Round-Off • الگوریتم Nearest Plane
الگوریتم Round-OffBabai’s نقطه دلخواه uRnو مشبکه L به همراه پایه v1,..,vnRnداده شده است. می توان نوشت : u=a1v1+…anvn این الگوریتم aiها را با نزدیک ترین عدد صحیح مثل ti جایگزین می کند. و خروجی آن برداری مانند v=t1v1+…tnvnخواهد بود. این الگوریتم برای پایه های مطلوب به خوبی کار می کند.
الگوریتم nearest plane با آن که تقریب بهتری نسبت به الگوریتم round-off دارد، بسیار آهسته تر عمل می کند. الگوریتم Nearest Plane دارای تقریب و الگوریتم Round-Off دارای تقریب
بهبود سیستم رمزی GGH و Miccio با استفاده از قضیه مانده چینی • قضیه مانده چینی: فرض کنید به ازای هر1≤i≤n piها اعداد اول باشندو . آنگاه برای هر nتایی ai، یک عدد صحیح یکتا مانند 0≤A<Pموجود است که
انگیزه استفاده از این قضیه در سیستم های رمزی مبتنی بر مشبکه • اجرای عملیات حسابی در میدان های متناهی کوچک این امکان را می دهد که از بهینگی عملیات روی اعداد صحیح استفاده شود.زیرا؛ کار کردن با اعداد صحیح که بزرگ تر از اندازه کلمه در ماشین اجرا هستند، مخارج هنگفتی تحمیل می کند... • از آن جا که محاسبه در هر میدان متناهی، مستقل از دیگری ست، اجرای محاسبات در هر میدان متناهی به طور هم زمان و موازی ممکن می باشد.
سیستم پیشنهادی Plantard,Rose,Susilo • تولید کلید برای ساخت پایه خصوصی R و پایه عمومی B، از الگوریتم2 استفاده می شود: 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) R←bI+M B←HNF(R) end
مزایای الگوریتم2 • پایه خصوصی R در حد مناسب متعامد می باشد، که این خود باعث درصد موفقیت بیشتر الگوریتم Round-Off برای رمزگشایی می شود. • کران تعیین شده در این الگوریتم باعث سرعت بیشتر تولید کلید می شود. • اجرای این الگوریتم باعث کوچک تر شدن کلید های عمومی می شود.هرچند که استفاده از الگوریتم 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
توابع فراخوانده شده در الگوریتم3، عبارتند از: لازم به ذکر است که علت ضرب det(R) در تعریف تابعR΄، اجتناب از عملیات حسابی اعدادگویا می باشد.
به منظور تسریع فاز رمزگشایی، مقادیر توابع فوق الذکر در مرحله تولید کلید،محاسبه و ذخیره می شود. • طرح پیشنهادی فوق ، به زبانc++ همراه با کتابخانه NTL پیاده سازی شده؛ که نتایج به شرح زیر می باشد:
با نگاهی به جدول فوق، می توان دریافت که سیستم جدید؛ زمان رمزنگاری، زمان رمزگشایی و اندازه کلید عمومی را کاهش می دهد. با تشکر از توجه شما