Program storage is unlikely to be the issue...
So, check if the code fits by looking at it. Does it assign any large buffers? How big are they?Program storage is unlikely to be the issue, so you don't need to know how may bytes the program itself takes, just its SRAM storage while it's running.
Probably should at least glance at the on-disk size of the two libraries before claiming "unlikely".
What does that tell you about a large crypto library that the Arduino side only needs to compile and link a few functions to do the 'signing'' side of the transaction?
You may as well look at the size of the math.h library on disk and claim that won't fit on an Arduino.
I have implemented Digital Signature using PBC and GMP libraries.( I have taken the code from the PBC library as liked above.)My code works correctly when i compile it on Visual Studios 2010.
A few functions. How quaint.Post the MAP file. Armed with that it will be possible to assess the size processor.
Sorry i think i didnt use the correct word, i should have used technique instead of requirement.Though what you're saying is absolutely correct, the thing is that my supervisor has told me to use PBC here, i cant use an alternative.Yes i understand that asymmetric crypto is more heavy weight, is there no way to implement this at all? What if i were to change from UNO to MEGA? Even that wouldnt suffice?
No, its ~ 10000 times slower than stock computer hardware, its an 8-bit microcontroller.For a small microcontroller an efficient block-cipher based MAC is feasible, asymmetric crypto systems are not.Even on the Due or similar with 32 bit architecture you'll find the performance is dissappointingly slow, andtypically you'd only use asymmetric crypto to set up a secure channel using standard symmetric crypto, so that the heavyweight step onlyhas to happen once (or perhaps once per day or similar). I recommend reading "Cryptography Engineering: Design Principles and Practical Applications" by Ferguson/Schneier/Kohno.
So the conclusion being that running an asymmetric crypto (PBC) will not be possible on any arduino board.
If you're really interested, I'd say get a Teensy 3.6 (32-Bit ARM Cortex-M4, 180/360 MHz, 256 KB RAM, 1 MB Program Space) and give it a try. It will set you back all of $30.
I have attached the map file.
The program uses structured exceptions which will be troublesome in the best case and non-existent in the worst case. I believe the libraries are "pure C" in which case structured exceptions can be easily managed / avoided.
Yes the libraries are pure C, could be please elaborate a little that what do you mean by structured exceptions.
Should i also attach the code?