Pages:
Author

Topic: Sending Encrypted Text Messages via BlockChain (Read 3491 times)

donator
Activity: 1736
Merit: 1014
Let's talk governance, lipstick, and pigs.
Someday there will be Public Service Announcements reminding people not to litter the blockchain. "Give a shit, save a bit."  Grin
legendary
Activity: 1512
Merit: 1036
dumb.

There is no need for this encoding as amounts, you can just generate bitcoin addresses and send them money. A real bitcoin address can certainly send a message, and if you don't need the bitcoins back, one bitcoin address can hold 20 bytes of information itself.

Your message can also be coded, not a cipher, such as "one if by land, two if by sea". As in, today my paragraphs will start "dumb if by land, stupid if by sea".
legendary
Activity: 1918
Merit: 1570
Bitcoin: An Idea Worth Spending
Back to my encrypted message.

.0711002
.0821111
.081102
.08402
.05911
.004111
.05202
.0351002
.036101
.087001
.0471101
.0131
.06602

.1140101
.1150002
.19211102
.1651
.135101
.1891
.179011
.1320111
.13811
.146011
.126001
.1431


Let's see how easy I make it to decipher the above.

Strip away all 2s at the end of any transaction amount, for they were only put in place to lock in the 0 which is significant. If I were to do this type of messaging in RL, I would have randomized said 2 with any number between 2 and 9, inclusive.

Now strip away the 0s in the question and the 1s in the answer, for they were only in place to keep the transaction amounts at a minimum. I clearly see now that I could have used 0s in the reply opposed to the 1s, for it's the second paired numbers in each transaction that determines whether its a question or answer. What did I use for the pairings? Two numerical constants: 2.71828... and 3.14156...

Now you are left with only 0s and 1s, albeit not binary code, but some other code (vague hint).

With that, what are these two fictitious rogue individuals relaying?

~Bruno~
legendary
Activity: 980
Merit: 1003
I'm not just any shaman, I'm a Sha256man
to advertise your site?(The only BITCOIN class website advertising)
My website http://www.hxtop.com (China's largest of the BITCOIN information website)
If you are willing to go to my website to advertise for your site, you can pay via the BTC remuneration.
My mailbox [email protected] a friend in need with my e-mail communication cooperation process!



haha your getting those lames messages too eh?
legendary
Activity: 1022
Merit: 1000
to advertise your site?(The only BITCOIN class website advertising)
My website http://www.hxtop.com (China's largest of the BITCOIN information website)
If you are willing to go to my website to advertise for your site, you can pay via the BTC remuneration.
My mailbox [email protected] a friend in need with my e-mail communication cooperation process!

legendary
Activity: 1862
Merit: 1114
WalletScrutiny.com
i was thinking of a service the one way or the other and thought of putting data into the receiving addresses as well for the purpose of data transmission. a certain size of prefix code can be generated in no time with vanitygen. if you consider clandestine message exchange of large groups with shared secrets, that would increase the available bits quite dramatically and as the message would be encrypted, the vanity prefix would not raise suspicion.
legendary
Activity: 980
Merit: 1003
I'm not just any shaman, I'm a Sha256man
do not needlessly pollute the blockchain


I relatively agree- but to be honest eventually there will be so many trivial transactions (purchasing chewing gum, metro tickets) that it's hard to argue any attempt to use the protocol for communicating messages really makes a difference. Eventually we will have to deal with an enormous blockchain regardless, the sooner someone figures this out, the better.
Good point! The solution is not advocate or shun actions done on the block chain but fix it when it becomes a problem.
legendary
Activity: 1204
Merit: 1002
RUM AND CARROTS: A PIRATE LIFE FOR ME
do not needlessly pollute the blockchain


I relatively agree- but to be honest eventually there will be so many trivial transactions (purchasing chewing gum, metro tickets) that it's hard to argue any attempt to use the protocol for communicating messages really makes a difference. Eventually we will have to deal with an enormous blockchain regardless, the sooner someone figures this out, the better.
full member
Activity: 189
Merit: 100
Namecoin is better at this.
legendary
Activity: 1918
Merit: 1570
Bitcoin: An Idea Worth Spending
Speaking of this...

Someone seemingly sent me such a message to my main public BTC address a while back in block 181957.  I never did figure out what it was supposed to say...

18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.0100111
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.01101001
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.01100011
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.01100101
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.001
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.01001101
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.01101001
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.0110111
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.01100101
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.01100011
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.0111001
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.01100001
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.0110011
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.011101
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.001
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.0100001
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.01110101
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.01101001
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.011011
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.011001
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.8021192

If somebody had shown me this even before my involvement with Bitcoin/this forum, I would have recognized it as binary code within seconds and having the trailing zeros omitted. My message does not incorporate ASCII, although the zeros and ones are relevant.

~Bruno~
legendary
Activity: 1918
Merit: 1570
Bitcoin: An Idea Worth Spending
I didn't take into consideration the time aspect, therefore I modified the same message. My intent was to create an encrypted message as simple as possible. With the new coded message below--first part is a question and second part is the answer--it now does not matter in what order the coins are sent or received.

.0711002
.0821111
.081102
.08402
.05911
.004111
.05202
.0351002
.036101
.087001
.0471101
.0131
.06602

.1140101
.1150002
.19211102
.1651
.135101
.1891
.179011
.1320111
.13811
.146011
.126001
.1431


Feel free to still try to crack it. For a clue or two, it's in American English using very common words. Basically, both are complete sentences, albeit short and to the point. As you can clearly see, I did not change the order of the letters, but I easily could have, and the resulting text would still be the same.

Most here know that I'm not a coder, and a lot of the dialog above is kinda over my head, though I get the gist of what's being relayed and am capable of figuring out all that's been posted on this thread to date.

~Bruno~
legendary
Activity: 980
Merit: 1003
I'm not just any shaman, I'm a Sha256man
nah, you could just put 01,02,03... prefix or suffix to make sure correct order and send them all in one batch

You'd have to have less characters in the transaction or use big numbers like 1BTC then 2BTC to signifiy order I don't think its worth it
legendary
Activity: 980
Merit: 1003
I'm not just any shaman, I'm a Sha256man

Interesting concept but it would be limited by the fact that for example .00000028 BTC could be misinterpreted as BA.

What would be more susceptible to observation is using all of the decimal places but denoting 2 places to each letter


with single letters(to show a comparison)
Quote
A(0.00000001 BTC)
-
Z(0.00000026 BTC)

Multiple letters
Quote
AA(0.00000027 BTC)
AB(0.00000028 BTC)
....
....
AZ(0.00000054 BTC)
....
....
BZ(0.00000080 BTC)
You get the point...



legendary
Activity: 1400
Merit: 1005
Ah, I tried that, but couldn't seem to make it work.  Maybe I failed to add the trailing zeros or something.  Anyway, thanks for translating.  Wink
member
Activity: 76
Merit: 10
It's ASCII: "Nice Minecraft Build"

Not sure about the last one. Change? IP address?
legendary
Activity: 1400
Merit: 1005
Speaking of this...

Someone seemingly sent me such a message to my main public BTC address a while back in block 181957.  I never did figure out what it was supposed to say...

18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.0100111
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.01101001
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.01100011
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.01100101
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.001
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.01001101
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.01101001
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.0110111
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.01100101
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.01100011
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.0111001
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.01100001
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.0110011
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.011101
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.001
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.0100001
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.01110101
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.01101001
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.011011
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.011001
18TKNbSLTrd3a2W8mtoH5uNzFhWRWNcuHU: 0.8021192
full member
Activity: 196
Merit: 100
Bitcoin is a food group.
Using base 27, where 0 is a space, A=1, ..., Z=26, it would be possible to fit 5 letters into 8 decimal digits since 27^5=14,348,907. So, conversion for "Your mom" would be as follows:

Code:
Y: 25 * 27^4 = 13,286,025
O: 15 * 27^3 = 295,245
U: 21 * 27^2 = 15,309
R: 18 * 27^1 = 486
 :  0 * 27^0 = 0
Result: 0.13597065

M: 13 * 27^4 = 6,908,733
O: 15 * 27^3 = 295,245
M: 13 * 27^2 = 9,477
 :  0 * 27^1 = 0
 :  0 * 27^0 = 0
Result: 0.07213455

Decoding would be similar:

Code:
13,597,065 / 27^4 = 25 r311,040
311,040 / 27^3    = 15 r15,795
15,795 / 27^2     = 21 r486
486 / 27^1        = 18 r0
0 / 27^0          = 0
25 15 21 18  0
 Y  O  U  R  _

And so on for the next lines. You could extend this further by spending full coins (one preceding A-E won't end up going to the 9th digit, but F might, and anything higher will), but it would probably be a lot cheaper to just have multiple outputs and stick them together.

This may have been what Xenland was going for, but his look a little different... Of course, this works with a full alphabet and a character for a space or end of line, and would work with any sort of encryption that uses a 26 character alphabet. Slightly more compact than fatigue's, but a bit more difficult to work with.

Ahh but the complication is key to preventing decryption. I like it! The only spot i could see a possible misinterpretation is the 0 being transmitted. how would the receiver know clearly if there was a space or if the word was continued in the next transaction?

EDIT: i see now that it would be a standard to perform the decryption method 5 times in all situations.
member
Activity: 76
Merit: 10
Using base 27, where 0 is a space, A=1, ..., Z=26, it would be possible to fit 5 letters into 8 decimal digits since 27^5=14,348,907. So, conversion for "Your mom" would be as follows:

Code:
Y: 25 * 27^4 = 13,286,025
O: 15 * 27^3 = 295,245
U: 21 * 27^2 = 15,309
R: 18 * 27^1 = 486
 :  0 * 27^0 = 0
Result: 0.13597065

M: 13 * 27^4 = 6,908,733
O: 15 * 27^3 = 295,245
M: 13 * 27^2 = 9,477
 :  0 * 27^1 = 0
 :  0 * 27^0 = 0
Result: 0.07213455

Decoding would be similar:

Code:
13,597,065 / 27^4 = 25 r311,040
311,040 / 27^3    = 15 r15,795
15,795 / 27^2     = 21 r486
486 / 27^1        = 18 r0
0 / 27^0          = 0
25 15 21 18  0
 Y  O  U  R  _

And so on for the next lines. You could extend this further by spending full coins (one preceding A-E won't end up going to the 9th digit, but F might, and anything higher will), but it would probably be a lot cheaper to just have multiple outputs and stick them together.

This may have been what Xenland was going for, but his look a little different... Of course, this works with a full alphabet and a character for a space or end of line, and would work with any sort of encryption that uses a 26 character alphabet. Slightly more compact than fatigue's, but a bit more difficult to work with.
full member
Activity: 196
Merit: 100
Bitcoin is a food group.
Either that or the transactions would have to be sent over a longer time period to ensure that they are confirmed in order.
Yeah, basically you'd have to cron job the block chain for confirmed transaction then send the next letter so the time would take (if your lucky) 10 minutes per letter :/

You could however have one transaction represent multiple letters (maybe up to 5 letters) for example

with single letters(to show a comparison)
Quote
A(0.00000001 BTC)
-
Z(0.00000026 BTC)

Multiple letters
Quote
AA(0.00000027 BTC)
AB(0.00000028 BTC)
....
....
AZ(0.00000054 BTC)
....
....
BZ(0.00000080 BTC)
You get the point...



Interesting concept but it would be limited by the fact that for example .00000028 BTC could be misinterpreted as BA.

What would be more susceptible to observation is using all of the decimal places but denoting 2 places to each letter

Quote
A(01)
B(02)
C(03)
D(04)
E(05)
F(06)
G(07)
H(08)
I(09)
J(10)
K(11)
L(12)
M(13)
N(14)
O(15)
P(16)
Q(17)
R(18)
S(19)
T(20)
U(21)
V(22)
W(23)
X(24)
Y(25)
Z(26)

Although the key to the code would obviously have these more random assignments

Quote
Message: This is coded

Transaction 1: This (.20080919)
Transaction 2: isco (.09190315)
Transaction 3: ded (.04050400)
member
Activity: 76
Merit: 10
Correct me if I'm wrong, but if a transaction has multiple outputs, doesn't the client generating the transaction have complete control over the numbering of the outputs? This would make it easy to read them in a certain order.
Pages:
Jump to: