yashsingh1/xdaforums huggingface dataset:
[Motorola Milestone Android Development] zwierzak:
Your not right. I was following this topic for longer time and this all works in this way:

1. CPU check integrity of Bootloader. Using 1024bit key (previously someone was talking about 512bit key). Is checksum is not right then brick device.

2. Bootloader check integrity of ROM using 2048bit key (crack this key is almost impossible). Is checksum is not right then brick device.

3. Run Android.

So we can't for now touch ROM, but when we will be able to correct sign bootloader then we can put our own bootloader which wouldn't check correctness of ROM. This mean that we can also write ROM signed with any key, not only motorola.
[Motorola Milestone Android Development] geminga:
i think this will be hard work. it would make more sense to collect money from xda users, hire a sam fisher and let him break into motorola and steal the keys and any other information from theire computers :D

THAT WOULD BE A COOL "CRACK"
[Motorola Milestone Android Development] pontomedon:
No, all keys are 1024 bit (there are no 2048 bit keys used anywhere on the Milestone).

And this project does not try to crack the bootloader signature, but the one used on the recovery and boot partitions.

so touching the bootloader won't be necessary as we could sign our own recovery/boot images (with the moto key!).
[Motorola Milestone Android Development] Kreeg:
I see someone was faster than me and sent it to this website. ;]

Okay, I'm running the project... Can I leave PC working for all night with BOINC project opened?
[Motorola Milestone Android Development] pontomedon:
if you don't mind the noise and the power consumption, yes why not? ;)
[Motorola Milestone Android Development] geminga:
dont get scared from the screensaver. it has its own, it shows you ellapsed time, percentage etc. i almost **** in my pants when I left my computer for 10 mins, came back and saw a text on my screen "THIS COMPUTER..." i thought WOOOTTT wtf i got hacked xD
[Motorola Milestone Android Development] zwierzak:
Hmm, last time when I watched topic there where discussion about cracking 512bit key for bootloader instead of 1024bit key for ROM. It would be much easier and faster to find shorter key and write own bootloader than find longer key for ROMs.
[Motorola Milestone Android Development] evolucja:
Help us with Digging it:

http://digg.com/news/technology/milestonersa/

pontomedon, i'm pleased to announce that you're project is on the main page of Polish Digg - wykop.pl! ;)

http://www.wykop.pl/link/566145/pomoz-odblokowac-motorole-milestone/

One person said, that he's getting a error in BOINC: "There is no data to proccess.". For me it seems that there are no packages left on server.
[Motorola Milestone Android Development] Quintasan:
Made it to Reddit

http://www.reddit.com/r/technology/comments/erpaw/please_help_unlocking_motorola_milestone/
[Motorola Milestone Android Development] tepic:
Bruteforcing a 1024-bit RSA key should not be that hard. RSA claims it's equivalent to an 80-bit AES key and predicted that 1024-bit keys be crackable around 2006-2010. I hope OP's algorithm is not bruteforcing every integer because that's completely inefficient.

http://www.rsa.com/rsalabs/node.asp?id=2004
[Motorola Milestone Android Development] pontomedon:
i checked mbm, recovery and boot, recovery and boot use the same key, mbm uses a different one, but all of them are 1024 bit. i chose boot/recovery, because if the key can be found, the end user won't have to flash the bootloader (which is potentially dangerous).

There should be enough work units, the work generator tries to maintain a cushion of 100 unsent work units and it runs every 10 seconds, so there must have been really many concurrent requests for that to happen. anyway - a refresh after a few minutes should have solved the problem.

afaik, the largest factored rsa modulus is 768 bit long (http://eprint.iacr.org/2010/006.pdf), and it took a grid of multiple universities 3 years of sieving to do it. according to their paper, 1024 would be about 1000 times harder. so the security estimation on the rsalabs page seems to be a bit over-pessimistic ;)
[Motorola Milestone Android Development] evolucja:
Here's translated message that one of the person wrote:

I hope you'll understand at least half of text. Waiting for reply.
[Motorola Milestone Android Development] Wing_Zero85:
EDIT: can you post the exact algorithm used?
[Motorola Milestone Android Development] pontomedon:
I am well aware of the fact that it is almost impossible that this project will lead to any success. i did the same calculations. The thing is: Although I'm a student of computer science, I'm not a mathematician. I coded this thing in my spare time, i maintain this thing in my spare time, and i did not (and do not now) have the time to implement an algorithm that would take me a month to even understand it. But i wanted to do something, no matter how unrealistic, naive and whatever else the approach might be. You see the result here.

If anyone is able to implement something better (and has the time and skill to do it), feel free to do so, and be sure that i will support you as much as i can.

given: public rsa key modulus n

to be found: p,q with p and q prime and p*q=n

starting from sqrt(n) (it's trivial to see that exactly one of p,q must be larger than sqrt(n)), we iterate through all odd numbers (lets call the current one x) and calculate the remainder of the division n/x. if this remainder is zero we found either p or q (which one doesn't matter) and can calculate the other one by calculating n/x.

very primitive and extremely slow compared to any sophisticated factorization algorithm. but afaik all the factorization algorithms would still need a few centuries to factor a 1024 bit integer, which is very fast compared to my algorithm, but my algorithm has the minimal chance to find a result faster than a factorization algorithm, if p and q are "near" sqrt(n). Which is, again, very very (very) unlikely, but it is still possible. As i said above, i wanted to do something, this is it.
[Motorola Milestone Android Development] evolucja:
Has ever 1024bit RSA been factored?

Well, so as we know now that it's impossible to crack this key, we need all of the power we can provide to make it less impossible.

I'm sure now one of the most needed things is GPU support. Pontomedon, please, work as hard as you can to provide it as fast as it's possible.
[Motorola Milestone Android Development] DannyDroid:
Yes, it has been cracked, but not from a brute force attack AFAIK.

@pontomedon; You seem like a very intelligent person so I would like to point this out;

https://www.droid-developers.org/wiki/2ndboot

What do you think?
[Motorola Milestone Android Development] Kreeg:
I mean, it shouldn't overwork by hacking it all the night? The processor is working more than 9 hours, pretty long ;].

For more safety, I set it to 70% of power ;p
[Motorola Milestone Android Development] pontomedon:
yes, it has been cracked by a hardware attack (something about letting the cpu run low on voltage..), but never in software.

yes, 2ndboot is still our greatest hope, i'm following the progress on irc. there are a few guys much more capable than i am, working on it, but afaik still the radio refuses to work after booting the 2nd kernel, and this problem seems to be very very hard to solve...
[Motorola Milestone Android Development] pontomedon:
well, you'll have to monitor your cpu temp, if it is in a normal range after an hour it'll stay in normal range for the whole night as well. just a rule of thumb :)
[Motorola Milestone Android Development] Ruffian:
for whats its worth ive put my cpu in the mix.

Phenom II x6 at 4ghz. cool seeing all 6 cores at 100% not seen it yet since i built the system.
[Motorola Milestone Android Development] Okawa:
I dont have a Milestone but I will donate my i7 930 @4.2ghz for a week.
[Motorola Milestone Android Development] evolucja:
Hey guys! Why this project is growing in power so slowly? Why aren't you promoting it?!

I made all i could to advertise it in Poland. Effect? 400 people joined project in 2 days! I didn't know that Poland is the only country in Poland..

Everybody knows that currently there are little chances to break the key.

But think a little. If the project is more popular, more people know about it, sure? More people = more ideas. They can help us improving algorithms.

I think that the success of this project isn't breaking the key. It's for showing Motorola that we really want to do something. We're even trying impossible.

I'm sure they'd do something if they see that thousands of people want changes.
[Motorola Milestone Android Development] bunliney:
the number of rsa used is quite limited.so maybe some other phones use the same key.

Tell me if I am wrong
[Motorola Milestone Android Development] pontomedon:
we're not dividing by random numbers but by specific numbers ;)

N is the rsa modulus.

edit: the modulus is (in decimal and hexadecimal)

N_10 = 130302296876495664949661851680712011323312218834692385409623477008770865634659674156795804984537277912018798333263614293465141543417786692641368992984327637616442187669331580699115569820799572488140940906656454027164582729057745051164346395037158084882727830713343954973996507744959096964190716798991681022591
N_16 = B98E7F4EE7C2FA971E4807B619133C2859ECD24FEDE69CC6C096E7701C77F07C24FAC4C39B40C159CF8C8F9981C2FFD00C862359BC43592FA9B8591967EE0EC5C9EE401F69249610EEB7DCA96644ABB8E16AABEAC64FCF0A5140529F0B220E3C68097E28B6BCC96C3F778A8DA5582CF6AE7CFEC62612E1AFCE462CF0A1396A7F

for more info about rsa refer to http://en.wikipedia.org/wiki/RSA#Operation
[Motorola Milestone Android Development] DannyDroid:
https://www.droid-developers.org/wi...e_methods#IP_.28Instruction_Pointer.29_attack

It's possible but wont be any good for any normal user.
[Motorola Milestone Android Development] evolucja:
pontomedon, any progress with GPU client?
[Motorola Milestone Android Development] yurtesen:
It wouldnt be very efficient to use CUDA. OpenCL is supported by both ATI and NVIDIA as well as it can be run on other devices than GPUs as well, while CUDA is proprietary technology of Nvidia (seriously limiting the possibilities! at least I couldnt use CUDA code in my graphics card from ATI.)
[Motorola Milestone Android Development] XVilka:
Here is a good example for MD5 bruteforce attack, written for GPU - CUDA (attached file)

Here is a quick tutorial about porting CUDA apps to the OpenCL: http://developer.amd.com/documentation/articles/pages/OpenCL-and-the-ATI-Stream-v2.0-Beta.aspx#four

Here about RSA on GPU:

Owen Harrison and John Waldron

Efficient Acceleration of Asymmetric Cryptography on Graphics Hardware

Progress in Cryptology – AFRICACRYPT 2009

Lecture Notes in Computer Science, 2009, Volume 5580/2009, 350-367

Robert Szerwinski and Tim Güneysu

Exploiting the Power of GPUs for Asymmetric Cryptography

Cryptographic Hardware and Embedded Systems – CHES 2008

Lecture Notes in Computer Science, 2008, Volume 5154/2008, 79-99

Sampe RSA Application for CUDA is attached here also

GPU Tutorial for BOINC: http://boinc.berkeley.edu/trac/wiki/AppCoprocessor

CUDA Tutorial for BOINC: http://boinc.berkeley.edu/trac/wiki/CudaApps

CUDA and OpenCL for BOINC: http://boinc.berkeley.edu/trac/wiki/GPUApp
[Motorola Milestone Android Development] The Solutor:
Cuda should be avoided if possible.

Doesn't make much sense using a proprietary technology to break another proprietary thing.;)
[Motorola Milestone Android Development] demanche:
Joined on one dual core system so far, joining another 4 core system shortly.

Will also run my 8 core system from time to time.

Hopefully this can get us somewhere.
[Motorola Milestone Android Development] dcarr622:
Added one Quad system and one Dual system running 24/7

Also tipped Engadget, PocketNow, and dugg it

You should all do the same =P
[Motorola Milestone Android Development] SudevG:
I'm In...

I've also added couple of computers running 24x7 into the project...

HTH.
[Motorola Milestone Android Development] yurtesen:
Can you add support for FreeBSD? (it should be a simple recompile for FreeBSD binaries?)
[Motorola Milestone Android Development] pontomedon:
The public exponent is 65537 (decimal), 10001 (hex). the modulus and the public exponent can be read from the signature part of a signed boot/recovery image.

The private key isn't stored on the phone, that's the point of asymmetric cryptography. Motorola uses the private key to sign the images, the phone does only need the public one to verify them.
[Motorola Milestone Android Development] pontomedon:
google code hosting for worker source code

i finally found the time to set up a google code repository for the worker app.

http://code.google.com/p/milestone-rsa/

please no flaming about the crude linux build system, i'm really a noob when it comes to compiling on linux and i didn't find the time yet to teach myself writing makefiles. The 64 bit linux version is currently the 32 bit one with a different name, i'll have to look into 64 bit linux building first... (or is it as simple as compiling the code on a 64 bit system? Are there 64 bit versions of linux distros from the 1.4.x era? According to the boinc wiki worker should be compiled on such systems to improve compatibility, the current app version is compiled on that machine.)

if anyone has patches or improvements to the code, feel free to contact me, or open an issue on the google code page.

if anyone wants to compile the code for new platforms, please contact me about it, ideally it should be linked statically, but dynamic linking is also possible (read http://boinc.berkeley.edu/trac/wiki/AppLibraries if dynamic linking is needed!)
[Motorola Milestone Android Development] Homer314:
My quad is On.

i hope 2011 will bring us an unlocked bootlader
[Motorola Milestone Android Development] Quintasan:
http://xdaforums.com/votenews.php?topic=883376

Why don't you guys click it so we have it on frontpage?
[Motorola Milestone Android Development] dcarr622:
front page of XDA its important because then other sites will pick it up too! Everyone vote :D
[Motorola Milestone Android Development] nabuhonodozor:
Count on my i920 4 cores.
[Motorola Milestone Android Development] poomz:
Count my i7 920 in
[Motorola Milestone Android Development] zwierzak:
Count my calc!
[Motorola Milestone Android Development] barkboy:
Hi Pontomedon,

Thanks for putting the project up. Recompiling the 64bit linux binary with gcc 4.4.3 seems to have given it quite a performance boost.
[Motorola Milestone Android Development] beholder143:
Joined with a 4ghz~ 920. Should be up 24/7
[Motorola Milestone Android Development] n0name:
Count on my 3 computers - hun7er here.

I wish there was an OpenCL or CUDA version - I could help with my GeForce, too. But still I try to keep 2 computers online 24/7 and to make other people join the project ;)
[Motorola Milestone Android Development] rand0m_insanity:
Joined in too. Placed a link to this thread as well in a local website. Hope they join up too.
[Motorola Milestone Android Development] polovinamozga:
Im not milestone user but joined too.

16-cores SunFire server
[Motorola Milestone Android Development] zankyw:
Just posted it in the biggest Hispanic board about smartphones, hopefully many users will join, but It'll be extremely difficult to catch up with the Poles ;)
[Motorola Milestone Android Development] superefren:
I join the team!
[Motorola Milestone Android Development] zwierzak:
I made a little test. I've run projects binaries in benchmark mode then created own, only recompiled with GCC-4.4.5 with different options, all runs:

original x86 binaries

original x86_64 binaries

my x86_64 binaries with GMP library

my x86_64 binaries with MPIR library

my x86_64 binaries with GMP library and compiled for Intel i3

my x86_64 binaries with MPIR library and compiled for Intel i3

And this is what I get:

# Oryginal binaries from project
% ./MilestoneRSA_main_2_i686-pc-linux-gnu --benchmark
./MilestoneRSA_main_2_i686-pc-linux-gnu --benchmark 68,56s user 0,00s system 99% cpu 1:08,61 total
% ./MilestoneRSA_main_2_x86_64-pc-linux-gnu --benchmark
./MilestoneRSA_main_2_x86_64-pc-linux-gnu --benchmark 30,70s user 0,00s system 99% cpu 30,720 total
# Compiled by myself
% ./MilestoneRSA_main_VERSION_x86_64-pc-linux-gnu-gmp --benchmark
./MilestoneRSA_main_VERSION_x86_64-pc-linux-gnu-gmp --benchmark 21,93s user 0,06s system 99% cpu 22,010 total
% ./MilestoneRSA_main_VERSION_x86_64-pc-linux-gnu-mpir --benchmark
./MilestoneRSA_main_VERSION_x86_64-pc-linux-gnu-mpir --benchmark 25,67s user 0,06s system 99% cpu 25,759 total
# Compiled by myself for Intel i3
% ./MilestoneRSA_main_2_x86_64-pc-linux-gnu-gmp --benchmark
./MilestoneRSA_main_2_x86_64-pc-linux-gnu-gmp --benchmark 21,83s user 0,05s system 99% cpu 21,904 total
% ./MilestoneRSA_main_2_x86_64-pc-linux-gnu-mpir --benchmark
./MilestoneRSA_main_2_x86_64-pc-linux-gnu-mpir --benchmark 24,25s user 0,05s system 99% cpu 24,329 total

original x86 binaries — 68 sec

original x86_64 binaries — 30 sec

my x86_64 binaries with GMP library — 21 sec

my x86_64 binaries with MPIR library — 25 sec

my x86_64 binaries with GMP library and compiled for Intel i3 — 21 sec

my x86_64 binaries with MPIR library and compiled for Intel i3 — 24 sec

Conclusions:

64bits is 2,23x faster then 32bits, also under Linux,

screw this old building envirement from boinc, I get 30% improvement without fixing code!

there is minimal improvement between versions dedicated for my Intel i3 and not, so I think we can compile it without such improvements

under Linux version compiled against GMP is better then MPIR for about 10%, but MPIR can detect CPU at runtime

my binary is compiled static, so should work on all modern Linux distros.
[Motorola Milestone Android Development] vsviridov:
+1 I don't want to burn through kilowatts if it's not going to help getting custom roms on XT720
[Motorola Milestone Android Development] djefkbefke:
So if i get this right, on a 64-bit debian system all I need to do to get this boost is replace the file in /var/lib/boinc-client/projects/poseidon.shacknet.nu_8080_MilestoneRSA with your attached worker and give it the same rights the original file has got?

Any second won can be spend on a new workunit, so indeed screw the recommended environment, I don't think anyone plans on running the boinc client on an old 386 anyway :D (especially not the 64 bit version :p:p:p)
[Motorola Milestone Android Development] pontomedon:
i do not recommend manually replacing the worker. i updated the worker yesterday (with a real 64 bit build, much faster than the 32 bit one), 0.02 should be much faster then 0.01, and you should get 0.02 automatically with a new work unit. I'll check zwierzaks build if it performs better than my new one, if yes, i'll release a new worker again.
[Motorola Milestone Android Development] djefkbefke:
Yes, I noticed the performance upgrade in 0.02 :D .. but just for testing i backed-up the 0.02 worker and tried zwierzaks worker.. my time remaining went from about 6h (0.02) to 4,5 hours (zwierzaks' build) but offcourse these are rough estimates so I'll count on your judgement ;)

I will however restore the original 0.02 worker after finishing these workunits ;)
[Motorola Milestone Android Development] acacionerull:
OK

I'm in! ...........
[Motorola Milestone Android Development] KeKeTTe:
ok, it's compile fine on freebsd and:

ime ./MilestoneRSA_main_VERSION_amd64-pc-freebsd-gnu --benchmark

./MilestoneRSA_main_VERSION_amd64-pc-freebsd-gnu --benchmark 12.71s user 0.00s system 99% cpu 12.716 total

:)
[Motorola Milestone Android Development] hefonthefjords:
lol, who is it that has the 360 i7/c2q machines working for us?

you are a legend sir.
[Motorola Milestone Android Development] zwierzak:
I saw this change in 0.02 (form 26h per unit I get about 14h), but all my tests where done against MilestoneRSA_main_2_i686-pc-linux-gnu binary, and it is the newest. And still I get time improvements. Like for me it is really worth try, it don't change code so we will get the same result, but 50% of previous time is for me really important for project success. Remember that with time people will leave project because it took too long.
[Motorola Milestone Android Development] zwierzak:
Someone previoulsy said that he installed Boinc in his work.

EDIT: If you are saying about DummyAccount this account was created for automated preconfigured for project installation.
[Motorola Milestone Android Development] Flokey:
I am in, but we need GPU Support! :D

2 PCs 1 dual and 1 Quadcore are already working on this **** right now :D
[Motorola Milestone Android Development] pontomedon:
zwierzak: your build is indeed faster than mine - would you mind telling me exactly how you built it? (g++ version, gmp version, build command)

because you know, i won't release anything i didn't build myself.. Just being over-careful.

edit: and where did you get that fancy benchmark line? my built-in benchmark routine only writes the seconds into stderr.txt, as i didn't figure out how to write to stdout in a boinc app.
[Motorola Milestone Android Development] nashapps:
Forgive me for asking this.

I know that the bootloader is locked by Motorola. But now we see kabaldan, dext3r, miui, etc did make custom ROM for us. What is it actually the workaround they use in making their great job possible?
[Motorola Milestone Android Development] pontomedon:
They don't replace the kernel, but highjack the boot process at a relatively early stage, and load their kernel modules. in addition to that the system partition can be customized.
[Motorola Milestone Android Development] nashapps:
Thanks for quick reply.

what's the difference would be if we have unlocked bootloader?
[Motorola Milestone Android Development] Dunnera:
We could use different kernels - so better performance and so on...
[Motorola Milestone Android Development] thesparxinc:
And lower energy comsumption, too i think.

There are some Nexus One Roms around using this.

800mV instead of 925mV for example.

(Nexus One - [Kernel Mod] AVS by intersectRaven)

... but im not digged deeper into, so i can not explain excactly, im sorry.

2 x 3ghz (@3.5ghz) core2duo 8400 joined 24/7 .... GF260 waiting for action :)
[Motorola Milestone Android Development] dcarr622:
What's with these errors on project status page?