Locked links: Safe through AES, genuine through RSA-PSS.
Try it out:
(Right-click: open in new tab. Because GitHub's readme won't open it in a new tab.)
Follow: public link > Follow: private link > Now follow the public link again.
This page is loading a third party resource that has been encrypted and decrypts it on the fly at the client. As can be seen it has little issue decrypting a 2MB file.
The page can be loaded with a hash consisting of parameters seperated by a hash tag. the final parameter containing the data is preceded with a double hash tag. E.g. the tags create, type and the attached data #create##Hello%20world!
.
Load the page with a hash containing create
to create a link pair.
#create##Hello%20world!
This will create a provate and a piblic link. The private link contains the key: share this key with sources you trust. The public link is the sharable in public.
In the future new link can be generated with the same keys if you chose to save the creation keys. To do so add the sign
parameter to the hash. Make sure the keys are a valid key.
#create#sign=...##Hello%20Mars!
Every time you generate a new link with the same key the salt is randomised. This cause evey link to be different and can thus not easily be tracked.
To encrypt a file instead of raw data use url
#create#url##https://example.com/your/file.type
You will now also get a link creator. Save this link and once you uploaded the encrypted file elsewhere. add that url to the end and create the final obfuscated link. You'll also get the private link again in case you lost that one.
This is a proof of concept but feel free to copy or itterate upon this work. I have made the effort to release it into the public domain.