This is a web application which can also be saved and run without Internet.
The application implements the concept of Distributed Hash Referencing (https://github.com/LumaRay/distributed-hash-referencing-concept).
- Operator saves his/her Social Security Number (SNILS/INN).
- Operator saves his/her Full Name.
- Operator saves his/her contact details.
- Operator makes scans/photos of his/her passport (pages with ID, photo and address).
- Operator makes scans/photos of his/her Social Security (SNILS/INN) document with his/her name and Number.
- Operator makes scans/photos of his/her signed Appliance form.
- Operator makes scans/photos of his/her signed Appliance confirmation form.
- Operator thinks up a password.
- Operator thinks up a sequence of hash/truncate algorithms he/she chooses to apply to the password (8).
- The algorithms (9) are applied to the password (8).
- A Private 11.1 and Public 11.2 Key pair is generated based on the output of (10).
- The new Public Key is stored (11.2) in a database as a pair to (1).
- Put files of text (e.g. R1,R2,R3,R11.2), images (e.g. R4,R5,R6,R7), etc. in a new folder.
- Put other related folders with related documents in it.
- Place hash references to other documents in the folder files or/and inner file/folder names.
- Compress with arc or zip with 0+ compression level.
- Put resulting archive in a new folder.
- Calculate SHA3-256 hash from the operator's Public Key (R11.2).
- Encrypt the archive contents with AES-256 using that hash as a key, save adding ".enc" to it's file name.
- Delete the source archive.
- Create a signature file of that (7) .enc file using the operator's Private Key (R11.1).
- Calculate SHA3-512 hash of (7) .enc file contents.
- Calculate SHA3-512 hash of (9) operator's signature file contents.
- Calculate SHA3-512 hash of (10) and (11).
- (optional) Create time stamp signature files of (12) using several Time Stamp Authorities web services. Place them in the same folder.
- Set signatures' file names by inserting the services' domain names before ".enc" of (7) file name.
- (optional) Save (12) in a Bitcoin (in OP_RETURN or destination Address) or other cryptocurrency transaction on an operating real network.
- (optional) Add an empty file to the folder (5) with extension ".bitcoin.transaction" (or other name if another cryptocurrency) and name containing Bitcoin transaction identifier that contains the saved hash from (15).
- (optional) Send (12) to some email list as a subject (and/or in a body) - to save creation time in history.
- Compress the (5) folder containing the (4), (7), (9), (13) files using zip with 0 compression level.
- Calculate SHA3-512 hash of (18) archive.
- Encode (19) with Base58 algorithm.
- Set the file name of the new (18) archive as "APPLICATION-.DATE-.LEVEL-.OPERATION-TYPE-.OPERATOR-ID-.SHA3-512-BASE58-<(20)>.__VERIFICATION-.zip" ApplicationID = (SomeUniqueApplicationIdentifier) nLevel = OperationType - type of operation ("JOIN", "QUIT", "VOTE", "DONATE", ...) OperatorID = Left(Base58(SHA2-256(OperatorPublicKey)), 12) VerificationCode = Left(Base58(SHA2-256x2(FileNameBefore".__VERIFICATION", SHA2-256(OperatorPublicKey))), 6)
File name can be shortened to "A-.D-.L-.OP-.OT-.S-<(20)>.__V-.zip"