This repository was archived by the owner on Oct 4, 2021. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +42
-0
lines changed Expand file tree Collapse file tree 1 file changed +42
-0
lines changed Original file line number Diff line number Diff line change
1
+ ## FCEF Format specification
2
+
3
+ ### Ver 1 (v0001) (DEPRECATED)
4
+ This document explains the specification of the FCEF file format Ver 1
5
+ ** DEPRECATED: due to the vulnerability in the Ver 1 encryption algorithm it's strongly recommended to use Ver 2**
6
+
7
+ The FCEF format contain(s)
8
+ 1 . nonce & Encrypted Data
9
+
10
+ ** These will be called tags hereafter**
11
+
12
+ #### Encrypted data
13
+ A FCEF file generated with FileCrypt writes the nonce and encrypted data ** after 0x0** .
14
+ This tag contains the actual data that is used to decrypt.
15
+
16
+
17
+ ### Ver 2 (v0002)
18
+ This document explains the specification of the FCEF file format Ver 2
19
+
20
+ The FCEF format contain(s)
21
+ 1 . Version number
22
+ 2 . Salt
23
+ 3 . Nonce & Encrypted data
24
+
25
+ ** These will be called tags hereafter**
26
+ ** The tag size(excluding Encrypted data) of FCEF Ver2 is 22 bytes**
27
+
28
+ #### Version number
29
+ A FCEF file generated with FileCrypt writes the encryption version that it used to encrypt the file ** from 0x0 to 0x5** .
30
+ It's used to check whether the FCEF file can be decrypted using the current version of the software.
31
+ Every version after Ver 1 will contain this tag.
32
+ ** Note: the last byte(0x5) of the version tag contains a line brake(` \n ` )**
33
+ ** Note: the version number ranges from v0001 to v9999**
34
+
35
+ #### Salt
36
+ A FCEF file generated with FileCrypt writes the salt generated using ` rand.Read(salt) ` ** from 0x6 to 0x15**
37
+ It's used while decrypting to regenerate the argon2 hash from the password.
38
+
39
+ #### Encrypted data
40
+ A FCEF file generated with FileCrypt writes the nonce and encrypted data ** after 0x15** .
41
+ This tag contains the actual data that is used to decrypt.
42
+
You can’t perform that action at this time.
0 commit comments