Is it possible to exchange data between adresses in which the data is not viewable for other participants?

+1 vote

I am building a system where participant A has some data that needs to be reviewed by participants C and D. However, this data must go through participant B first. Particant B will, on his turn, send a message to C&D that there is data for them and this allows C&D to view this data originally sent by participant A.

I am currently using streams so that can publish the data in a stream. I know that it's not possible to restrict access to a stream. Everyone can subscribe and view the data in the stream, from my understandig. So I made a system where A can encrypt the data before publishing it on the stream and sending a message to B that the data is available for 'pick-up' and who the receiving party is (in this scenario C&D). B in this system is not allowed to access and view the data. His only job is to redirect it to C&D.

My idea was to send the key to decrypt the data from directly to C&D where no other participant can view this key data. Is this possbile to do with multichain? If there is, I have not yet found a way to realise this. My back-up plan is to use a conventional database for the exchange of these keys. 

It's a requirement to use party in this project. 

Thanks for reading, I hope the question is clear.

 

 

asked Oct 3, 2017 by RdZg

1 Answer

+1 vote
 
Best answer
Please see the following tutorial for an approach to stream item confidentiality using RSA encryption:

https://www.multichain.com/developers/stream-confidentiality/
answered Oct 4, 2017 by MultiChain
selected Oct 5, 2017 by RdZg
Exactly what I needed, thanks.
...