javascript S3 uploader with client side encryption
Budget: €250 – €750 EUR
Dear, the purpose of this project is to upload files from a browser to an S3 bucket using client side encryption (AES).
You can use/modify this already existing scripts:
- GUI:
https://github.com/lian-yue/vue-upload-component
- ENCRYPTION:
tinyurl.com/4wazhmch
- UPLOAD:
https://github.com/TTLabs/EvaporateJS
or https://github.com/aws/aws-sdk-js-v3
so I need:
1- a webpage to choose, encrypt & upload files to an S3 bucket with:
---- a field to enter the encryption password
-------- password field normalization UTF8
-------- password derivation PBKDF2 derivation with 10000 iterations of SHA256 hashing + 128bit SALT
---- multipart uploading with encryption (using Webcrypto API / AES 256 GCM authenticated mode)
---- support uploading file of 100gb
---- parallel S3's multipart uploads with pause/retry/stop
---- support upload multiples files and folders (recursive)
---- preserve directory tree
---- progress bar
---- encrypted file & folder name on the bucket
PS. client side encryption have to be done at the same time as upload (parts encryption)
2- Webpage to download & un-crypt file
---- field to enter the password
---- list to select files to download/uncrypt presents in the bucket
---- download from S3 & uncrypt in the same time
you will have a full access to a VPS to install your scripts and a S3 bucket
your code have to be commented/documented !
thx, please contact me if you need any more informations.
You can use/modify this already existing scripts:
- GUI:
https://github.com/lian-yue/vue-upload-component
- ENCRYPTION:
tinyurl.com/4wazhmch
- UPLOAD:
https://github.com/TTLabs/EvaporateJS
or https://github.com/aws/aws-sdk-js-v3
so I need:
1- a webpage to choose, encrypt & upload files to an S3 bucket with:
---- a field to enter the encryption password
-------- password field normalization UTF8
-------- password derivation PBKDF2 derivation with 10000 iterations of SHA256 hashing + 128bit SALT
---- multipart uploading with encryption (using Webcrypto API / AES 256 GCM authenticated mode)
---- support uploading file of 100gb
---- parallel S3's multipart uploads with pause/retry/stop
---- support upload multiples files and folders (recursive)
---- preserve directory tree
---- progress bar
---- encrypted file & folder name on the bucket
PS. client side encryption have to be done at the same time as upload (parts encryption)
2- Webpage to download & un-crypt file
---- field to enter the password
---- list to select files to download/uncrypt presents in the bucket
---- download from S3 & uncrypt in the same time
you will have a full access to a VPS to install your scripts and a S3 bucket
your code have to be commented/documented !
thx, please contact me if you need any more informations.