diff --git a/Documentation/SECURITY.md b/Documentation/SECURITY.md index e9e1015..003eadb 100644 --- a/Documentation/SECURITY.md +++ b/Documentation/SECURITY.md @@ -37,6 +37,8 @@ File Names Every directory gets a 128-bit directory IV that is stored in each directory as `gocryptfs.diriv`. -File names are encrypted using AES-256-CBC with the directory IV. +File names are encrypted using AES-256-CBC with the directory IV as +initialization vector. The Base64 encoding limits the usable filename length +to 176 characters. ![](https://rawgit.com/rfjakob/gocryptfs/master/Documentation/file-name-encryption.svg) diff --git a/Documentation/file-name-encryption.svg b/Documentation/file-name-encryption.svg index 19298c5..4093f24 100644 --- a/Documentation/file-name-encryption.svg +++ b/Documentation/file-name-encryption.svg @@ -9,15 +9,30 @@ xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="158.73833mm" - height="39.28363mm" - viewBox="0 0 562.45863 139.19395" + width="182.44499mm" + height="29.394854mm" + viewBox="0 0 646.45862 104.15498" id="svg2" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="file-name-encryption.svg"> + + + + originy="-722.62329" /> @@ -179,45 +194,45 @@ inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" - transform="translate(-116.36614,-225.00693)"> + transform="translate(-116.36614,-225.58383)"> Directory X gocryptfs.diriv AES-256-CBC @@ -271,23 +286,23 @@ width="127.61729" height="21.259859" x="123.95276" - y="292.47751" /> + y="293.23734" /> "letter.doc" @@ -296,63 +311,90 @@ id="rect4267-1-0" width="180.79115" height="21.25984" - x="481.17648" - y="293.90228" /> + x="565.17651" + y="293.23734" /> lrpyui0m-ypX4u0PNJ... Master key + x="291.30774" + y="233.17044" /> IV + + Base64 +