گردونه رو بچرخون و شانس خودت رو برای گرفتن کد تخفیف امتحان کن!

روز
ساعت
دقیقه
ثانیه

با خرید اشتراک ویژه ، با هزینه بسیار کمتر به فایل های پاورپوینت دسترسی داشته باشید!

پیاده سازی الگوریتم RSA در C++

(دیدگاه کاربر 2)
امتیاز 3.00 از 5

برنامه‌نویس: 

هزینه سفارش:

تخفیف ویژه 60 درصدی

قیمت اصلی: ۱۹۹,۰۰۰ تومان بود.قیمت فعلی: ۷۹,۶۰۰ تومان.

تخصصی و منحصر به فرد بودن این اثر، تضمین کننده بهای محصول نسبت به آثار مشابه است.

در این بخش سورس کد پیاده سازی الگوریتم RSA در C++ قرار داده شده است. الگوریتم RSA یکی از معروف‌ترین الگوریتم‌های رمزگذاری است. در سال ۱۹۷۶ وایتفیلد دیف (Whitfield Diffie) و مارتین هلمن (Martin Hellman) دانشجویان دانشگاه استنفورد، یکی از کاربردی‌ترین روش‌های کد کردن اطلاعات را اختراع و به ثبت رساندند. در این روش که به روش کدینگ نا متقارن (asymmetric encryption) نیز معروف است از دو کلید برای کد کردن اطلاعات استفاده می‌شود. (در روش های قدیمی تر از یک کلید استفاده می‌شد که به آن symmetric encryption گفته می‌شد.)

آنها مقاله خود را در یکی از شماره‌های سال ۱۹۷۶ مجله IEEE که با عنوان Transactions on Information Theory منتشر شده بود به چاپ رساندند که خیلی زود انقلابی در صنعت Cryptography (پنهان سازی اطلاعات) در دنیا بوجود آورد. Public Key Cryptography یا PKC به معنی استفاده از کلید عمومی برای کد کردن و پنهان کردن اطلاعات است.

کلیدهای Public و Private

هر چند از لحاظ ریاضی کلیدهای Public و Private با یکدیگر ارتباط دارند اما تقریباً محال است که کسی بتواند حتی با تجیهزات فوق العاده مدرن و صرف وقت زیاد با داشتن یکی از کلیدها، دیگری را تشخیص دهد. در واقع می‌توان گفت که با توجه به سطح دانش کنونی و دستگاه‌های کامپیوتری موجود، الگوریتم کدینگ و ارتباط میان کلیدها تقریباً غیر قابل شکستن است. روش کار اینگونه‌ است که هر کاربر دو کلید در دست خود دارد که یکی را در اختیار همه دوستان و اطرافیان برای خواند مطالبی که او کد کرده‌ است قرار می‌دهد، این همان کلید عمومی یا Public است.

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

حال کافی است که او برای ارسال مطالب به دیگران مطالب را با کلید خصوصی خود کد یا مخفی سازی نماید. دیگران به راحتی می‌توانند مطالب او را با کلید Public ای که از وی دارند با حالت اولیه بازگردانند (Decrypt) و آنها را مطالعه کنند. و یا اگر کسی بخواهد برای شما یک مطلب کد شده بفرستد با کلید Public شما آنرا کد می‌کند و این تنها شما و فقط شما هستنید که می‌توانید آنرا با کلید Private خود باز کنید و به محتوای اصلی دسترسی داشته باشید.

اساس استفاده از این روش کدینگ یا مخفی سازی اطلاعات به الگوریتم مشهوری بنام Rivest Shamir Adleman یا الگوریتم RSA برمی‌گردد. از الگوریتم RSA برای تهیه کلیدهای مذکور، کد کردن اطلاعات، دی کد کردن یا آشکار سازی اطلاعات، تهیه امضاهای الکترونیکی و…. استفاده می‌شود. الگوریتم RSA پس از آنکه ران ریوست (Ron Rivest)، آدام شامیر (Adam Shamir) و لن ادلمن (Len Adleman) در سال ۱۹۷۷ آنرا بدست آوردند به این نام مشهور شد، هرچند تکنیک‌های اولیه آن پیشتر در سال ۱۹۷۳ توسط فردی بنام کلیفورد کوکس (Clifford Cocks) بدست آمده بود اما تا سال ۱۹۷۷ اولاً الگورتیم کاملاً محرمانه بود و ثانیاً به سادگی آنچه در زیر بیان خواهیم کرد نبود.

تهیه کلیدهای عمومی و خصوصی الگوریتم RSA

● تهیه کلیدهای عمومی و خصوصی الگوریتم RSA بطور خلاصه روش کار برای تهیه کلیدها به شرح زیر است:

۱- دو عدد بزرگ (هر چه بزرگتر بهتر) اول به نام‌های p و q را انتخاب می‌کنیم، بهتر است این اعداد از لحاظ سایز نزدیک به یکدیگر باشند. ۲- عدد دیگری بنام n را معادل با حاصلضرب p در q تعریف می‌کنیم : n = p x q ۳- عدد چهارم یعنی m را معادل حاصلضرب p-۱ در q-۱ تعریف می‌کنیم : (m = (p-۱) x (q-۱ ۴- عدد e را که از m کوچکتر است آنگونه پیدا می‌کنیم که بزرگترین مقسوم علیه مشترک این دو یک باشد به عبارتی نسبت به هم اول باشند.

۳- عددی مانند d را پیدا کنید که باقی‌مانده حاصلضرب d در e تقسیم بر m مساوی عدد ۱ باشد، یعنی : d x e) mod m = ۱) حال پس از طی این مراحل شما می‌توانید از e و n بعنوان کلید عمومی و از d و n بعنوان کلید اختصاصی استفاده کنید.

روش پنهان کردن و آشکار کردن در الگوریتم RSA

● روش پنهان کردن و آشکار کردن در الگوریتم RSA برای کد کردن اطلاعات کافی است عدد منتصب به هر کاراکتر – مثلاً ASCII – را که در اینجا M می‌نامیم در فرمول زیر قرار دهید و بجای ارسال آن عدد C = M^e mod n را ارسال کنید. در واقع دراینجا شما توانسته‌اید با کمک کلید عمومی، کاراکتر M را به C تبدیل کنید. حال گیرنده برای آشکار سازی کافی است عدد دریافتی یعنی C را با استفاده از کلید خصوصی به M تبدیل کند. برای اینکار کافی است از این فرمول استفاده کنید : M = C^d mod n، بنابراین شما با دریافت کاراکتر کد شده C و در دست داشتن کلید خصوصی توانسته‌اید کاراکتر اصلی را مشخص نمایید.

مثال

در اینجا بعنوان نمونه مثالی از نحوه تعریف کلیدهای عمومی و خصوصی خواهیم آورد. اما برای سادگی محاسبات از اختیار کردن اعداد بزرگ دوری خواهیم کرد و توجه شما را به این نکته جلب می‌کنیم که هرچقدر اعداد اولیه بزرگتر باشند احتمال شکستن رمز در مدت زمان محدود ناچیزتر می‌شود. ۱- ابتدا باید دو عدد اول بزرگ انتخاب کنیم که در اینجا از اعداد ساده و هم اندازه‌ای مانند ۱۱ و ۳ استفاده می‌کنیم.

پس p=۱۱ , q=۳ – حاصلضرب p در q که همان n است را به اینصورت خواهیم داشت : n = ۱۱ x ۳ = ۳۳ ۳- حاصلضرب p-۱ در q-۱ که همان m است را به اینصورت خواهیم داشت : m = ۱۰ x ۲ = ۲۰ ۴- برای انتخاب عدد e که نسبت به m=۲۰ اول باشد و کمتر از آن هم باشد ساده ترین گزینه یعنی عدد ۳ را انتخاب می‌کنیم. ۵- برای یافتن عدد d که در رابطه d x e) mod m = ۱) صادق باشد اعداد ۱٬۲,۳٬۴,۵ و… را امتحان می‌کنیم، بنظر می‌رسد که عدد ۷ برای اینکار مناسب باشد چرا که ۷x۳=۲۱ باقی‌مانده‌ای معادل ۱ بر m=۲۰ دارد.

درباره فایل پیاده سازی الگوریتم RSA در C++

این اثر شامل سورس کد الگوریتم RSA است و در محیط ++Dev-C نوشته شده است. این فایل به عنوان یک برنامه اجرایی و سورس کد پس از دانلود قابل دسترسی است. همچنین یک فایل ورد دارای توضیحات کامل درمورد الگوریتم RSA داخل فایل ZIP قرار دارد که می‌توانید از آن استفاده نمایید. تضمین کیفیت این اثر توسط کارشناسان پی استور مورد تایید است و دارای نشان تضمین کیفیت پی استور می‌باشد.

ویدئوی معرفی

نحوه اجرای سورس کد

مشخصات تکمیلی سورس کد

نام اثر: پیاده سازی الگوریتم RSA در C++
نوع اثر: سورس کد
برنامه‌نویس: تیم برنامه‌نویسی پی‌استور
زبان برنامه نویسی: C++ سی پلاس پلاس
ویژگی: قابلیت دانلود و ویرایش

راهنمای خرید و ثبت سفارش

تصویر مراحل خرید از پی استور

اگر در مورد این اثر یا نحوه تهیه آن سوالی دارید؟
  • با شماره تلفن واحد مخاطبین 44225175 (پیش شماره 041) تماس بگیرید. – تمام ساعات اداری
  • با ما مکاتبه ایمیلی داشته باشید (این لینک). – تمام ساعات

برنامه‌نویس:  تیم برنامه‌نویسی پی‌استور

متشکل از اساتید و فارغ التحصیلان رشته‌های فنی - مهندسی

تیم برنامه نویسی پی استور یکی از اولین گروه‌های تشکیل شده در مجموعه آموزشی پی استور می‌باشد. این تیم از اساتید مجرب و فارغ التحصیلان رشته‌های فنی و مهندسی تشکیل شده که در زمینه‌های مختلف برنامه‌نویسی و تهیه سورس کد فعال هستند.

نظرات

2 نظر|3.00 (میانگین امتیاز کاربران)

  1. آواتار معصومه کمالوند

    معصومه کمالوند

    من فایل و گرفتم ولی وقتی اجرا میکنم ارور میده

    • آواتار مدیریت و پشتیبانی

      مدیریت و پشتیبانی

      سلام و وقت بخیر
      لطفاً از طریق تیکت پشتیبانی از خطای خودتون اسکرین شات بگیرید و برای ما بفرستید تا همکاران پشتیبانی راهنمایی تون کنند.

  2. آواتار مدیریت و پشتیبانی

    مدیریت و پشتیبانی

    نظرات و دیدگاه های خود را با ما درمیان بگذارید.

دیدگاه خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

شناسه اثر: 3323 دسته‌بندی موضوعی: برچسب ,
هوش مصنوعی پاسخگوی شماست ...
avatar
دستیار هوش مصنوعی پی استور
پاسخگوی سوالات شما هستیم...

هزینه سفارش:

تخفیف ویژه 60 درصدی

قیمت اصلی: ۱۹۹,۰۰۰ تومان بود.قیمت فعلی: ۷۹,۶۰۰ تومان.