I understand that multi sig transactions exist so that X of N need to sign to release a transaction. If only 1 of N is required I guess any of the recipients can spend.
This made me wonder, is it possible to encrypt something, so that any one of a set of people can decrypt the data?
I suppose the data could be in the exponent or something, but also possibly going beyond bitcoin, would it be possible to do this with multiple Mb worth of data (stored off chain in this case)? I guess it would require some sort of script that means conditions have to be met to decrypt the data.
Sure. First of all, to encrypt a large amount of data you just require a single secret key. So now we've reduced the problem to a single small key instead of a large swath of data. Let's call this key the data key.
Now the easiest way of encrypting for multiple parties is for each party to send you their specific public key. Then you encrypt the data key with each public key and include the results with the ciphertext. This will increase your ciphertext of course, but you should be able to limit to N times the size of the encrypted data key.
There are also schemes such as Shamir's secret sharing where you can do M out of N encryption / decryption.
Answered by Maarten Bodewes on December 26, 2020
1 Asked on December 31, 2021 by kaa
0 Asked on December 31, 2021 by sunitha-tappari
0 Asked on December 28, 2021 by dawnforce
2 Asked on December 26, 2021 by maarten-bodewes
0 Asked on December 24, 2021
2 Asked on December 21, 2021 by skaht
1 Asked on December 21, 2021 by kmart875
1 Asked on December 19, 2021 by sanket1729
1 Asked on December 19, 2021 by vivekanand-v
2 Asked on December 17, 2021
0 Asked on December 17, 2021
3 Asked on December 14, 2021 by antonpug
1 Asked on December 14, 2021 by beroal
0 Asked on December 8, 2021
0 Asked on December 6, 2021 by z-p
Get help from others!