اطلاعیه

Collapse
No announcement yet.

اجرای یک الگوریتم رمزنگاری بر روی pic18f2550

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    اجرای یک الگوریتم رمزنگاری بر روی pic18f2550

    سلام من دانشجوی ارشد نرم افزار هستم دارم رو پایان نامم کار میکنم پایان نامه من مربوط به امنیت سستم های تعبیه شده در برابر حملات تحلیل توانی است البته بوسیله روشهای نرم افزاری!من باید با پیاده سازی ایدم روی الگوریتم های رمزنگاری des و aes این الگوریتمها رو در برابر این حملات ایمن کنم!اما نکتش اینه که ما قصد نداریم برای تحلیل کارمون از شبیه ساز استفاده کنیم و میخوایم روی میکرو pic18f2550 اجراش کنیم و تریس توان رو بگیریم و باقی قضایا!مشکل اینجاست که من نرم افزار خوندم و با میکرو کار نکردم!میکرو هم دست من نیست من باید ایده رو پیاده سازی کنم و فایل هگز برای شخص دیگه که این میکرو رو داره بفرستم که اون نتایج رو واسم بفرسته!من کد به زبان سی دوتا الگوریتم رو دارم ایدم رو هم دارم و آماده است!برای بردن رو میکرئ کای سرچ کردم و به این نتیجه رسیدم که mplab از همه بهتره!من از mplabx v 2.0 و کامپایلر mplab xc8 1.31 استفاده میکنم چون این کامپایلر تقریبا تمام هدر هایی که ممکنه تو این الگوریتم ها به کار رفته باشه رو میشناسه!من کارم رو با des شروع کردم و بعد از چندین ماه بدبختی تونستم ایده رو روش پیاده کنم و کامپایلش کنم اما چون به برنامه نویسی میکرو مسلط نبودم به یه سری نکات توجه نکردم که الان واسم سواله!1.من میخوام روی سیتمم کارم رو انجام بدم و فایل هگز رو واسه کس دیگه بفرستم من همیشه در select tools گزینه simulator رو انتخاب کردم!این درسته؟2.من هیچوقت به فرکانس تراشه و فرکانس کاری و اینجور چیزا توجه نکردم!کار من درسته؟من فقط رو کد اصلی کار میکردم و بالاخره هم تونستم رو سیستمم کامپایل کنم و یه رشته ورودی بهش بدم و رمزش کنم3.حالا که رفتم سراغ aes با یه مشکلی مواجه شدم که ظاهرا برمیگرده به 256 بایتی بودن بلاک های رم!به متغیرهام گیر میده که بزرگتر هستن اینم نمونه خطاش
    aes.c:384: error: could not find space (512 bytes) for variable _pow
    اگه دوستان کمکم کنند مشکلم حل شه ممنون میشم چون خیلی دیگه گیج شدم کارای پایان نامم مونده

    #2
    پاسخ : اجرای یک الگوریتم رمزنگاری بر روی pic18f2550

    سلام
    آقا بسیار تبریک میگم که همچین پروژه مفیدی رو انجام میدید. واقعاً فکر نمی کردم تو ایران از این کارا هم بکنن.
    میکروکنترلری که انتخاب کردید مقدار SRAM داخلیش فقط 2KB اِ و اگه متغیرهای برنامه تون نیاز به حافظه RAM بیشتری داره باید یه میکروی دیگه انتخاب کنید. ولی فکر نمی کنم SRAM ش بلوک بندی شده باشه (طبق تجربه من) و همه ش قلنبه یکجا در اختیار برنامه نویسه.
    باید فرکانس رو درست تنظیم کنید.
    یه چیز دیگه برای اینکه از شر سخت افزار خلاص بشید، میکروهای سری 18F توی نرم افزار Proteus شبیه سازی میشن. خیلی هم ساده ست. خیلی هم کارآمده. میکروهای جدیدتر و قوی تر تو نسخه های جدیدِ این نرم افزار هستند. ولی 18F که چندان جدید نیست، تو نسخه های قبلی هم هست و به راحتی کد برنامه رو (از روی فایل Hex کامپایلر) براتون به صورت عملکردی و دقیـــق شبیه سازی می کنه.
    بیایید با Google آشتی کنیم!

    دیدگاه


      #3
      پاسخ : اجرای یک الگوریتم رمزنگاری بر روی pic18f2550

      سلام ممنون از لطفتون والا این پروژه پدرمو درآورده :cry:به خصوص که گرایشم به این کارا نمیخوره!در رابطه با رم ظاهرا رم رو بهصورت بانک های داده ای درمیاره که پیشفرض هر کدوم 256 بایت هستن و برای حل این مشکل باید از linker script استفاده کرد که من باهاش مشکل دارم یه خطای بی معنی میده که هرچی سرچ میکنم پیدا نمیکنم اینم دوتا از مقاله هایی که توضیح دادند
      http://www.microchip.com/forums/m39357.aspx
      http://www.xargs.com/pic/c18large.html
      کسی نیست با linker script کار کرده باشه؟
      پروتئوس هم من کار نکردم و واقعا دیگه وقت واسه یادگیری نرم افزارای جدید ندارم و مطمئنم مشکلای بیشتری پیدا میکنم باید یجوری با همین mplab مشکلمو حل کنم
      البته یه چیز دیگه من هنوز متوجه نشدم که من در هنگام آغاز پروژه باید پروگرمر رو مشخص کنم یا نه؟من رو simulator میذارم چون میکرو که در دسترس من نیست من میخوام فایل هگز رو واسه یه شخص دیگه میل کنم که میکرو رو باهاش پروگرام کنه!حالا به نظر اساتید روند کار باید چجور باشه

      دیدگاه


        #4
        پاسخ : اجرای یک الگوریتم رمزنگاری بر روی pic18f2550

        بسیار کار اشتباهی کردید که فکر کردید می تونید کار با میکرو رو یاد بگیرید و قلقش رو به دست بگیرید. اشتباه دیگه شما اینه که فکر کردید با یه بار برنامه نوشتن کارتون تموم میشه. مورد بدتر دیگه اینه که شما میکرو پیشتون نیست. به نظر زیاد هم به مسائل مربوط به SOCها وارد نیستید. نمی ترسونمتون ولی با این اوصاف راه سختی در پیش دارید و ممکنه پروژه شما اینقده طول بکشه که حتی....
        توی حالت عادی طبیعیه که یه برنامه که می نویسید و مجبور بشید چندین بار اصلاحش کنید و چپ-راستش کنید تا کار کنه.
        متغییر شما چه نوعیه؟ چی می خوایید توش بریزید و حجمش چقدره؟ اگه جدول look-up هستش چرا روی خود فلش ذخیرش نمی کنید؟

        دیدگاه


          #5
          پاسخ : اجرای یک الگوریتم رمزنگاری بر روی pic18f2550

          نوشته اصلی توسط محمد دلفان
          سلام من دانشجوی ارشد نرم افزار هستم دارم رو پایان نامم کار میکنم پایان نامه من مربوط به امنیت سستم های تعبیه شده در برابر حملات تحلیل توانی است البته بوسیله روشهای نرم افزاری!من باید با پیاده سازی ایدم روی الگوریتم های رمزنگاری des و aes این الگوریتمها رو در برابر این حملات ایمن کنم!اما نکتش اینه که ما قصد نداریم برای تحلیل کارمون از شبیه ساز استفاده کنیم و میخوایم روی میکرو pic18f2550 اجراش کنیم و تریس توان رو بگیریم و باقی قضایا!مشکل اینجاست که من نرم افزار خوندم و با میکرو کار نکردم!میکرو هم دست من نیست من باید ایده رو پیاده سازی کنم و فایل هگز برای شخص دیگه که این میکرو رو داره بفرستم که اون نتایج رو واسم بفرسته!من کد به زبان سی دوتا الگوریتم رو دارم ایدم رو هم دارم و آماده است!برای بردن رو میکرئ کای سرچ کردم و به این نتیجه رسیدم که mplab از همه بهتره!من از mplabx v 2.0 و کامپایلر mplab xc8 1.31 استفاده میکنم چون این کامپایلر تقریبا تمام هدر هایی که ممکنه تو این الگوریتم ها به کار رفته باشه رو میشناسه!من کارم رو با des شروع کردم و بعد از چندین ماه بدبختی تونستم ایده رو روش پیاده کنم و کامپایلش کنم اما چون به برنامه نویسی میکرو مسلط نبودم به یه سری نکات توجه نکردم که الان واسم سواله!1.من میخوام روی سیتمم کارم رو انجام بدم و فایل هگز رو واسه کس دیگه بفرستم من همیشه در select tools گزینه simulator رو انتخاب کردم!این درسته؟2.من هیچوقت به فرکانس تراشه و فرکانس کاری و اینجور چیزا توجه نکردم!کار من درسته؟من فقط رو کد اصلی کار میکردم و بالاخره هم تونستم رو سیستمم کامپایل کنم و یه رشته ورودی بهش بدم و رمزش کنم3.حالا که رفتم سراغ aes با یه مشکلی مواجه شدم که ظاهرا برمیگرده به 256 بایتی بودن بلاک های رم!به متغیرهام گیر میده که بزرگتر هستن اینم نمونه خطاش
          aes.c:384: error: could not find space (512 bytes) for variable _pow
          اگه دوستان کمکم کنند مشکلم حل شه ممنون میشم چون خیلی دیگه گیج شدم کارای پایان نامم مونده
          سلام
          من زیاد وارد نیستم ولی حق با شماست که رم 2550 به بانکهای 256 بایتی تقسیم شده. از دیتاشیت 2550 نقل قول می کنم:
          کد:
          Each register has a 12-bit address. This allows up to 4096 bytes of data memory. This memory
          is partitioned into 16 banks of 256 bytes that contain the General Purpose Registers (GPRs) and
          Special Function Registers (SFRs).
          و با دیتاشیت PIC24FJ256DA206 مقایسه می کنم:
          کد:
          The PIC24F core has a 16-bit wide data memory space,
          addressable as a single linear range.
          البته راه برای دور زدن این محدودیت هست که من اطلاعاتی ندارم ولی اگه با سری PIC24 کار کنید دیگه این مشکل رو ندارید.
          در ضمن در مورد فرکانس و اینا نگران نباشید. توصیه میکنم مدار رو خودتون ببندید و با یک پروگرمر آیسی رو پروگرم کنید. زیاد سخت نیست.

          در ضمن به حرفهای Roholamin زیاد توجه نکن. "SOC" !!! آخه این چه ربطی داره به SOC ؟!

          دیدگاه


            #6
            پاسخ : اجرای یک الگوریتم رمزنگاری بر روی pic18f2550

            والا کاش یه نفر پیدا میشد که با mplabx کار کرده باشه شاید میتونست کمکم کنه!من des رو بهرحال رو کامپایلر mplabx اجرا کردم خروجی هم گرفتم پس aes هم باید بشه!!!

            دیدگاه


              #7
              پاسخ : اجرای یک الگوریتم رمزنگاری بر روی pic18f2550

              نوشته اصلی توسط freedom_truth
              ...در ضمن به حرفهای Roholamin زیاد توجه نکن. "SOC" !!! آخه این چه ربطی داره به SOC ؟!
              آها! تو راست میگی!
              اصلا انگار نه انگار که داریم راجب همین مسائل حرف میزنیم. oo:
              واقعا انگار یه بنده خدایی راست میگفت که بعضی کاربرها نسبت به هم حسادت میکنن.

              دیدگاه


                #8
                پاسخ : اجرای یک الگوریتم رمزنگاری بر روی pic18f2550

                با عرض سلام و خوش آمد گویی به آقای دلفان.من با کامپایلر های xc کار کردم ولی متاسفانه اینقدر وارد جزیاتش تا حالا نشدم و شاید نتونم کمکتون کنم
                ولی یه سرچ کوچیک توی نت زدم وچیزای مفیدی پیدا کردم ازجمله APP NOT خود میکروچیپ که برای خودم هم خیلی جالب بود وشاید در آینده هم به درد
                خودم هم بخوره توی لینک زیر براتون گذاشتم میتونید دانلود کنید . اگه خواستید میتونید نام خود APP NOT رو توی GOOGLE سرچ کنید تا به خود منبع اصلی برسید

                در ضمن دستتون توی انتخاب میکرو هم بازه PIC32-PIC24-PIC18-PIC16 هر کدوم رو خواستید میتونید استفاده کنید.
                هیچ وقت از حرفای دیگران هم نا امید نشید قابل توجه بعضی ها

                فکر کنم به دردتون بخوره.

                http://www.4shared.com/folder/Y1vPNOUj/_online.html
                در زندگيت به کسي اعتــــماد کن که به او ايمــــان داري نه احســاس . . .

                چه بسيار انسان ها ديدم تنشان لباس نبود؛و چه بسيار لباس ها ديدم که انساني درونش نبود ...!

                دیدگاه


                  #9
                  پاسخ : اجرای یک الگوریتم رمزنگاری بر روی pic18f2550

                  نوشته اصلی توسط AVRPIC8
                  هیچ وقت از حرفای دیگران هم نا امید نشید قابل توجه بعضی ها
                  لا اله الا الله
                  اصلا من همین الان می خوام بهش یه امیدواری بدم. :biggrin:
                  جناب دلفان
                  چون شما برنامه ات رو با زبان سی نوشتی و سی هم تقریبا یه استاندارد بین همه میکروها هستش، شما به راحتی می تونید برنامه تون رو روی یه میکروی بهتر یا بهتر بگم مناسبتر(با توجه به کارتون) نصب و اجرا کنید.

                  دیدگاه


                    #10
                    پاسخ : اجرای یک الگوریتم رمزنگاری بر روی pic18f2550

                    در ضمن می تونید پرژه ها رو از mplab8 به mplabx تبدیل کنید موفق باشید..
                    در زندگيت به کسي اعتــــماد کن که به او ايمــــان داري نه احســاس . . .

                    چه بسيار انسان ها ديدم تنشان لباس نبود؛و چه بسيار لباس ها ديدم که انساني درونش نبود ...!

                    دیدگاه


                      #11
                      پاسخ : اجرای یک الگوریتم رمزنگاری بر روی pic18f2550

                      از دوستان ممنونم آقا ما راضی نیستیم به خاطر ما دعوا کنید :biggrin:ولی من کلا اعتقاد دارم کار نشد نداره من وقتی des رو شروع کردم اصلا نمیدونسنم میکرو چیه کامپایلرش چیه اول رفتم سراغ میکروسی بعد دیدم با هدر ها به مشکل برمیخورم بعد sdcc که یه پروژه متن بازه و میتونه عملکرد gcc رو روی میکرو شبیه سازی کنه ولی دیدم هنوز به میکروی مورد نظر من نرسیدن بعد رفتم سراغ mplab اولم از mplab ide 8 استفاده کردم بعد یه سری مشکلات داشتم رفتم سراغ سری x مه جدیدتره بعد کلی بدبختی تونستم کامپایل کنم و یه فایل هگز تولید کنم!واسه من خودش کلی بود!حالا این aes متغیراش نسبت به des فضای بیشتری میخواد به مشکل برخوردم میدونم و خوندم که باید روی لینکر کار کنم که فضاهای بزرگتری روی رم واسه ائن متغیرهای خاص تعریف کنم اما چطور نمیدونم دیروز تو فرومای میکروچیپ گشتم فکر کنم باید برم سراغ کار با xc8 linker!کسی نظری داشت ممنون میشم بازم مرسی از توجهتون :applause:

                      دیدگاه


                        #12
                        پاسخ : اجرای یک الگوریتم رمزنگاری بر روی pic18f2550

                        میخای کدتو برای xc16 تبدیل کن بذار من تست کنم.

                        دیدگاه


                          #13
                          پاسخ : اجرای یک الگوریتم رمزنگاری بر روی pic18f2550

                          کلاً رفتی سراغ یه خانواده از میکروکنترلرها که دردسرهای بزرگ دارن، هم تو سخت افزار، هم تو نرم افزار. نه تنها بیخیالش نمی شی، که می خوای همچنان با این مشکلات دست و پنجه نرم کنی و حل و فصلشون کنی!
                          آخه 1KB بایت بلوک SRAM چیه که کامپایلرش برمیداره 256 بایتی تقسیم بندیش می کنه!؟ مورچه چیه که کله پاچه ش چی باشه!
                          پاشو بیا پیش خودمون، با ARM کد بنویس. بدون دردسر. حجم SRAM میکروکنترلرهاش در حد 64KB و بیشتر، یکپارچه و قلنبه در اختیار برنامه نویس. ساختارش 32 بیتیه و سرعت پردازشش واقعاً بالاست. کامپایلرش هم خوبه و گیر و گرفتاری نداره.
                          بیایید با Google آشتی کنیم!

                          دیدگاه


                            #14
                            پاسخ : اجرای یک الگوریتم رمزنگاری بر روی pic18f2550

                            سلام من یه مدت گرفتار بودم نتونستم سر بزنم!اون مشکل رو حل کردم مشکل از بلاک بندی حافظه نبود بلکه کلا حافظه کم میاورد!تو کد تغییرتی دادم حل شد!البته قابل توجه آقای رستمی که 2kB رم دارم و به صورت 256 بایتی بلاک بندی میشه میتونید تو دیتاشیتش ای رو بخونید تو کتاب دکترمزیدی هم نوشته!بعدش یه مشکل دیگه پیدا کردم که رشته رو میدادم رمزنگاریش میکرد اما خروجیش درست نبود!بعد کلی بدبختی فهمیدم یه تعداد از عملیات شیفت در حین رمزنگاری رو انجام نمیده اونم تو گوگل بوک یه کتاب پیدا کردم که راه حلشو داده بود :nice:کلا من تو اینجور موارد خیلی سریشم :biggrin:حالا رشته رو بهش میدم درست رمزنگاری میکنه حالا یه سری کارا باید انجام بدم مثل تنظیم فرکانس انتخاب پروگرمر و اینجورچیزا که من زیاد سر در نمیارم و پیاده سازی ایدم رو الگورتم و تغییر اون برای رسیدن به یه الگوریتم ایمن در برابر حملات.

                            دیدگاه


                              #15
                              پاسخ : اجرای یک الگوریتم رمزنگاری بر روی pic18f2550

                              من چجور باید فرکانس رو روی 8m تنظیم کنم؟
                              این hardware tools که در mplabx هست چیه کارش چیه؟من کدوم گزینه رو باید انتخاب کنم

                              دیدگاه

                              لطفا صبر کنید...
                              X