MEGA file system

The MEGA file system is the filesystem used in the cloud-based encrypted virtual disks made available to users of the MEGA system, unveiled on January 19, 2013 by the controversial Kim Dotcom (whose surname is now a misnomer, since he no longer uses the .com top-level domain name due to its being under the jurisdiction of the U.S. government, which is prone to prosecute him and confiscate his sites such as the earlier MegaUpload).

Since the actual storage and implementation is on MEGA's servers, the only file-format details knowable by the public are whatever is exposed in the interfaces (both user-level web interfaces and developer APIs) by which users and third-party developers can access data stored in the system.

Based on the API documentation, MEGA is a virtual filesystem consisting of hierarchical folders (directories) and files, each pointing to a parent node except for three parentless nodes per account: a personal-files root folder, a file-delivery inbox, and a rubbish bin. Each node has two segments, a data segment with the actual file contents, and an attribute segment with the filename and whatever other metadata is stored with it (at present none, but some use of metadata is planned in the future, in particular for user-to-user messages). Each segment is separately encrypted with the AES-128 symmetric encryption system; "symmetric" in this case means that encrypting and decrypting is done with the same secret key, in contrast to asymmetric systems where there is a private key and a public key, so somebody with just one of the keys can only encrypt a message without being able to decrypt it (or vice versa). However, MEGA also issues each user account a public and private key for a separate encryption system that is used for inter-user messages.