summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimeon Simeonov2018-04-11 14:21:59 +0200
committerSimeon Simeonov2018-04-11 14:21:59 +0200
commit4a1c3cc3e3a28dc337cf768333db5c4537a7c077 (patch)
treec60247b7123451919cf48a40434c6b8ed85a8bd2
parent81693819d6cf81766e6a9ef4bbeae9e556a21b75 (diff)
Use a proper markdown in README.md
-rw-r--r--README.md39
1 files changed, 13 insertions, 26 deletions
diff --git a/README.md b/README.md
index 55731d0..79b463c 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,4 @@
1Implemented features and fixes not present in the official Sylpheed release 1## Implemented features and fixes not present in the official Sylpheed release
2===========================================================================
3 2
4- (fix) 3- (fix)
5 PGP signature not verified properly when the message has no newline 4 PGP signature not verified properly when the message has no newline
@@ -14,15 +13,13 @@ Implemented features and fixes not present in the official Sylpheed release
14 Read bellow for more details! 13 Read bellow for more details!
15 14
16 15
17Master password 16## Master password
18===============
19 17
20The master password feature is developed by Simeon Simeonov (sgs) 18The master password feature is developed by Simeon Simeonov (sgs)
21and is currently in an experimental state. 19and is currently in an experimental state.
22 20
23 21
24Motivation 22### Motivation
25----------
26 23
27Currently Sylpheed is storing passwords in plain-text. One can always refrain 24Currently Sylpheed is storing passwords in plain-text. One can always refrain
28from storing passwords and let Sylpheed prompt for them, but the more accounts 25from storing passwords and let Sylpheed prompt for them, but the more accounts
@@ -32,8 +29,7 @@ The goal is to have the passwords stored in a secure way and let Sylpheed only
32prompt for the master password. 29prompt for the master password.
33 30
34 31
35Security goals 32### Security goals
36--------------
37 33
38- attacker (A) should not be able to derive the password from the digest. 34- attacker (A) should not be able to derive the password from the digest.
39 35
@@ -50,8 +46,7 @@ Security goals
50 master password before decryption is initiated. 46 master password before decryption is initiated.
51 47
52 48
53Usage in Sylpheed 49### Usage in Sylpheed
54-----------------
55 50
56- backup your Sylpheed profile (often $HOME/.sylpheed-2.0)! 51- backup your Sylpheed profile (often $HOME/.sylpheed-2.0)!
57 52
@@ -72,16 +67,14 @@ touch your backups. You will have to remove all remnants of plain-text
72passwords manually. 67passwords manually.
73 68
74 69
75Choice of cryptographic primitives 70### Choice of cryptographic primitives
76----------------------------------
77 71
78The primary concern when selecting cryptographic primitives was portability. 72The primary concern when selecting cryptographic primitives was portability.
79The desire was to go for primitives that are both strong and available in all 73The desire was to go for primitives that are both strong and available in all
80supported production distributions of OpenSSL and LibreSSL. 74supported production distributions of OpenSSL and LibreSSL.
81 75
82 76
83Cipher 77#### Cipher
84......
85 78
86When it comes to implementation, there are several advantages in using stream 79When it comes to implementation, there are several advantages in using stream
87cipher or a block cipher that behaves like a stream cipher when used in a 80cipher or a block cipher that behaves like a stream cipher when used in a
@@ -91,8 +84,7 @@ AES-256 operating in CFB was selected for these reasons.
91ChaCha20 should be considered as a replacement in the future. 84ChaCha20 should be considered as a replacement in the future.
92 85
93 86
94Hash-function 87#### Hash-function
95.............
96 88
97Hash-functions are used for: 89Hash-functions are used for:
98- key derivation 90- key derivation
@@ -118,8 +110,7 @@ Stronger hash-functions like SHA-3 or BLAKE2b can be considered as a
118replacement in the future. 110replacement in the future.
119 111
120 112
121Master password digest 113#### Master password digest
122......................
123 114
124In order to be able to decide whether the user typed a "wrong" master password, 115In order to be able to decide whether the user typed a "wrong" master password,
125before attempting to decrypt, Sylpheed stores a digest of the master password 116before attempting to decrypt, Sylpheed stores a digest of the master password
@@ -130,12 +121,10 @@ produces the same digest is found, it will most probably be useless as a
130master-password. 121master-password.
131 122
132 123
133Encryption & decryption scheme 124### Encryption & decryption scheme
134------------------------------
135 125
136 126
137Encryption 127#### Encryption
138..........
139 128
140 129
141Input: 130Input:
@@ -172,8 +161,7 @@ Operation:
172 mpes1:vo7lsIpD7i6byBA6+vlUoF4OVDfEe+aYRRk4FRtfJ2gMY8M43Kj6WfdfgbViIOl83bI4XEc96okhPW5Mla813aAR1gbPjDg0xmCyIbWOiUv/dg== 161 mpes1:vo7lsIpD7i6byBA6+vlUoF4OVDfEe+aYRRk4FRtfJ2gMY8M43Kj6WfdfgbViIOl83bI4XEc96okhPW5Mla813aAR1gbPjDg0xmCyIbWOiUv/dg==
173 162
174 163
175Decryption 164#### Decryption
176..........
177 165
178 166
179Input: 167Input:
@@ -208,8 +196,7 @@ Operation:
208 if N != "-1", extract the next N-bytes from D: P = D[18 : (18 + N)] 196 if N != "-1", extract the next N-bytes from D: P = D[18 : (18 + N)]
209 197
210 198
211Limitations 199### Limitations
212-----------
213 200
214- when Sylpheed starts, the master-password is loaded into memory and remains 201- when Sylpheed starts, the master-password is loaded into memory and remains
215 there as long as Sylpheed is running. Currently no strong mechanisms, 202 there as long as Sylpheed is running. Currently no strong mechanisms,