Crowex: Nice! I like that.
gmaxwell: I see what you are saying. I just wish there was a nice tool (gui or command line) to easily generate multi-sig transactions. AFAIK there isn't.
What do you guys think about the algorithm in my original post? Is there anything else bad beyond the need to put all parts in one place on spend time?
As gmaxwell pointed out, multi-sig protocol has a big advantage over what you're proposing because it doesn't need you to transmit all keys into one place to create a signature. Also, writing your own cryptographic functions/protocols is considered a bad practice, because there are many subtle details you have to know, and having only one of them wrong can defeat your whole system.
There is one service I'm aware of that lets you create, sign and verify multi-sig transactions without command line:
https://coinb.in/multisig/ . I personally didn't check it, so use it at your own risk.
Also, creating multisig transactions in command line is relatively easy when you know what you're doing. You need bitcoind or other Bitcoin software for that, but I guess there's no point in running from dependencies when they do their job correctly.