VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/doc/html/Home_reddit.png
blob: 32db76b72b805736ddb1c7c621ccc597961cc29a (plain)
ofshex dumpascii
0000 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 00 00 00 5e 00 00 00 1c 08 06 00 00 00 e8 42 08 .PNG........IHDR...^..........B.
0020 09 00 00 00 01 73 52 47 42 00 ae ce 1c e9 00 00 00 04 67 41 4d 41 00 00 b1 8f 0b fc 61 05 00 00 .....sRGB.........gAMA......a...
0040 00 09 70 48 59 73 00 00 0e c4 00 00 0e c4 01 95 2b 0e 1b 00 00 00 01 62 4b 47 44 00 88 05 1d 48 ..pHYs..........+......bKGD....H
0060 00 00 00 07 74 49 4d 45 07 df 0b 0c 12 29 0e ae e6 4f 01 00 00 05 25 49 44 41 54 68 43 ed 9a 4f ....tIME.....)...O....%IDAThC..O
0080 6c 14 55 1c c7 df 6e d2 36 b6 d0 aa 5b 12 b6 eb c1 68 a2 18 ca 19 0e 36 31 80 a1 ed 99 d6 b3 78 l.U...n.6...[....h.....61......x
00a0 d3 44 63 f0 84 5e e1 24 02 de 81 b3 85 03 b7 62 a2 5e 38 79 2c 2d 11 21 96 26 dd dd d6 64 77 35 .Dc..^.$.......b.^8y,-.!.&...dw5
00c0 bb d5 66 fb 6f 79 df df ce 77 fa eb eb cc ec 32 dd b0 09 99 cf e6 e5 fd fe be 79 f3 9b d7 37 7f ..f.oy...w.....2..........y...7.
00e0 20 d5 b0 98 84 97 4e da eb 13 5e 32 49 e1 bb 44 52 f8 2e 91 14 be 4b c8 cd 75 61 7e de e4 f3 79 ......N...^2I..DR.....K..ua~...y
0100 83 fb 6c 2a 95 6a 3a 6c af 75 c8 68 e9 74 5a 7a 00 df 5b b9 9c c8 2e 88 90 5c 2f 36 14 37 c6 3b ..l*.j:l.u.h.tZz..[......\/6.7.;
0120 9e 6f 0b 19 83 e3 37 e7 e8 1b 9c b1 6c b3 aa b8 c4 b0 17 8e d1 54 f6 e7 91 37 87 87 4d b9 54 f2 .o....7.....l........T...7..M.T.
0140 b4 ce 90 2a 16 0a 8d b9 b9 39 73 e7 99 67 b1 ec 9b bf a3 83 e2 e2 8a f9 ea 4c d6 9c 39 7b d6 9f ...*.....9s..g...........L..9{..
0160 3c 2f 88 26 8e 2f 2a 47 83 38 c6 c4 9d 83 26 2c ee cf c7 8f 4d 26 93 31 df dd 9b f3 2c 07 03 b5 </.&./*G.8....&,....M&.1....,...
0180 4b 97 cb 65 73 77 c9 98 e1 81 5e bf bd de df 6b de 50 7a c6 d3 d9 60 d3 b8 27 af 89 e3 8b ca 09 K..esw....^....k.Pz...`..'......
01a0 23 ee 1c 60 a3 3d 2c ee fd 63 c7 4c c5 d6 09 4c bf 93 6a d9 6e 7d 31 29 c5 85 8c 1e fa f9 b7 1b #..`.=,..c.L...L..j.n}1)........
01c0 66 e8 c8 61 b1 81 d4 fc c3 87 8d 6b 0f f2 62 cc 3f 5d 69 1a ed cf 6e 2c 22 87 51 ab d4 fc 15 4f f..a.......k..b.?]i...n,".Q....O
01e0 30 61 4e de 25 8e af 55 0e 70 fd 2f 7a 9c a0 71 82 e2 9e d8 55 ff 83 57 a7 28 3e 1e a8 9a 1f 7f 0aN.%..U.p./z..q....U..W.(>.....
0200 5b 35 1f 9c 7c cf fc f1 fb 13 73 ff ea 67 32 16 c6 fc 7a e6 81 c4 c0 9e e6 b5 6d ec ec 1e a8 55 [5..|.....s..g2...z.......m....U
0220 d1 35 18 d0 9d 3c f5 83 f8 40 98 1d d0 47 a2 72 a2 7c da e6 c6 c5 81 45 07 e8 c7 2f de 94 71 ef .5...<...@...G.r.|.....E.../..q.
0240 cf ce 8a 8d a4 ad d5 13 e3 81 49 a2 b9 13 77 e5 28 5f 6f 6f 73 eb a2 8e 1e 36 c6 f5 f4 f4 f8 32 ..........I...w.(_oos....6.....2
0260 7b 10 34 56 50 8e f6 61 5c 9d 87 1e 3a 1a 73 e8 23 ae 1e 44 cf ff 75 69 58 e1 e8 cf 1d 5e 13 3b {.4VP..a\...:.s.#..D..uiX....^.;
0280 8a 8f 95 fe 73 ed 90 e8 04 8f 28 9e b8 9f 99 4b 53 d2 ec 54 3c 4b 30 7a f2 84 7a 3b 3e 0d ed 94 ....s.....(....KS..T<K0z..z;>...
02a0 c1 c6 c6 86 9f 83 e2 00 1d 03 19 0d 3e e6 00 e6 f0 38 68 18 4b fb e8 27 b4 b5 e2 da f4 98 a9 96 ............>....8h.K..'........
02c0 6a b2 3d 43 5e 2a fc 63 3e 3a 52 37 78 42 44 7f fd 97 a2 d8 0b 4f 57 a5 41 d6 f8 cf f1 29 7f d3 j.=C^*.c>:R7xBD......OW.A....)..
02e0 d9 8f 9d 8a 27 ed 45 4f 58 83 55 c5 46 5c 1d a0 50 ae 0d 3a 8b 0b 74 9e ee 75 71 20 33 87 31 40 ....'.EOX.U.F\..P..:..t..uq.3.1@
0300 e7 82 30 bd 55 a1 5d 3f f6 68 d8 6e 7e 3e 29 3a e4 9f 2e 9d 37 13 93 93 e6 f8 e8 a8 f4 b3 df 5f ..0.U.]?.h.n~>):....7.........._
0320 10 3b 7e 33 df 4e 89 8c 3c 12 f8 02 c5 95 4e 5c 9d 70 42 e8 dd 8b 80 95 c5 95 8a 93 a3 ce 13 a7 .;~3.N..<.....N\.pB.............
0340 6d 73 73 53 74 a0 e3 48 90 8c 5e 1f 0f b2 f6 11 c8 68 b8 28 3a 06 04 1d 1f b8 e7 e1 ea bc 17 4e mssSt..H..^......h.(:..........N
0360 7c 73 4b f6 6d d4 e5 91 5d e5 88 5b 5d 69 3e 9c a0 87 0e 3b fc f6 01 46 e2 01 f3 3b f6 e6 ca 8b |sK.m...]..[]i>....;...F...;....
0380 40 dc 09 e3 44 59 74 ed 6b 95 47 c2 ec c0 1d 83 44 1d 07 05 c7 7c 5c 7b d8 58 dc 6d 6b 95 35 93 @...DYt.k.G.....D....|\{.X.mk.5.
03a0 7b 37 2b 7b f9 b9 f1 f1 a6 d1 e3 b5 fe 7e e9 fb 07 06 a4 27 a3 27 4e 48 3c f2 48 3a e8 30 d3 57 {7+{.........~.....'.'NH<.H:.0.W
03c0 ee 48 23 ae ee 82 c9 72 c2 ec 77 76 76 f6 d8 b1 ba ea f5 ba 34 f8 40 54 1e 09 b2 a3 d7 e3 b3 11 .H#....r..wvv.......4.@T........
03e0 ca 6e 0e 81 0c 1f e6 c2 c5 00 1b 74 1d cf b8 a6 c1 eb 6c 8f 86 a7 15 72 dc 16 16 b1 43 43 43 a2 .n.........t......l....r....CCC.
0400 0f 0e 0e 8a 0e 3b 41 3c f2 aa e5 e6 4d 37 f0 71 32 8c a0 9b ec f6 f6 b6 4c 0e 8d 32 a0 0d 6d 7d .....;A<....M7.q2.......L..2..m}
0420 7d 5d 4e b0 af af 4f 1a 6d d4 19 ef da 82 c6 63 0c 75 dd 78 1c c8 3a 87 32 c6 a3 cc e3 20 87 71 }]N...O.m......c.u.x..:.2......q
0440 1c 57 9f 13 75 fb e7 23 b9 04 2b 18 17 8a 7c 72 e5 ae 59 29 16 45 c6 56 03 9d 60 d1 21 5e 93 5a .W..u..#..+...|r..Y).E.V..`.!^.Z
0460 b0 2f 50 78 31 18 cc 1c 32 c5 bf fe 0e bd 91 6a 70 01 aa 95 aa bc 40 7d 38 36 16 ba 0d e0 aa c7 ./Px1...2......jp.....@}86......
0480 f1 85 d1 e9 1c fa d0 83 a8 b1 97 16 17 e5 05 6a ed df ff 3c 8b bd f7 d9 9b 66 b1 50 30 d9 91 11 ...............j...<.....f.P0...
04a0 29 f6 a7 57 77 9f d5 6f 5f 9c 30 47 b3 59 f3 68 61 41 b6 9a e9 cb bb 3b 06 6a 27 5b 0d 8f d7 4e )..Ww..o_.0G.Y.haA.....;.j'[...N
04c0 d1 01 e3 30 51 ac 88 ad ad 2d 59 15 68 5a 8e eb 8b ca 09 b2 bb ba 9b d3 ce 78 51 71 68 2c 12 ce ...0Q....-Y.hZ...........xQqh,..
04e0 9d bf a9 cb 33 66 24 97 93 1b 67 a9 54 92 27 19 36 7c ff 82 1d 45 47 9c ce 03 fe 27 03 7c 7f 79 ....3f$...g.T.'.6|...EG....'.|.y
0500 56 a8 88 b1 1d f8 c9 e0 e4 a9 53 7b 56 8d 4b 1c 5f 54 8e 46 c7 75 62 0e 51 71 c5 7c 5e 56 3c be V.........S{V.K._T.F.ub.Qq.|^V<.
0520 bd 74 02 ff eb e4 8d 5f 5f 7c c0 2f 4f 1f 95 67 d6 57 1d 3c 16 e2 d3 f0 05 b5 95 1c 14 ff 7b fc .t.....__|./O..g.W.<..........{.
0540 f2 f2 b2 5c f1 76 40 1c fe 34 f1 6d 3e f0 7b 3c c6 c1 ca e1 78 21 ab 08 c0 c3 a3 52 f6 6d 1c 06 ...\.v@..4.m>.{<....x!.....R.m..
0560 32 70 75 00 05 09 5e 27 3e 1e 9f 32 b0 ba ef 07 d6 8e d5 2d e7 ec fa 80 b2 0f db a2 63 2b e9 24 2pu...^'>..2.......-........c+.$
0580 c9 ff 32 e8 12 c9 3f fd 75 89 a4 f0 5d 22 29 7c 97 48 0a df 25 92 c2 77 05 63 9e 03 43 1e c7 ff ..2...?.u...]")|.H..%..w.c..C...
05a0 bb fe 14 fd 00 00 00 00 49 45 4e 44 ae 42 60 82 ........IEND.B`.
eyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
This archive contains the source code of VeraCrypt.
It is based on original TrueCrypt 7.1a with security enhancements and modifications.


Important
=========

You may use the source code contained in this archive only if you accept and
agree to the license terms contained in the file 'License.txt', which is
included in this archive.

Note that the license specifies, for example, that a derived work must not be
called 'TrueCrypt' or 'VeraCrypt'



Contents
========

I. Windows
   Requirements for Building VeraCrypt for Windows.
   Instructions for Building VeraCrypt for Windows.
	Instructions for Signing and Packaging VeraCrypt for Windows.

II. Linux and Mac OS X
    Requirements for Building VeraCrypt for Linux and Mac OS X.
    Instructions for Building VeraCrypt for Linux and Mac OS X.
	Mac OS X specifics

III. FreeBSD

IV. Third-Party Developers (Contributors)

V. Legal Information

VI. Further Information



I. Windows
==========

Requirements for Building VeraCrypt for Windows:
------------------------------------------------

- Microsoft Visual C++ 2010 SP1 (Professional Edition or compatible)
- Microsoft Visual C++ 1.52 (available from MSDN Subscriber Downloads)
- Microsoft Windows SDK for Windows 7.1 (configured for Visual C++ 2010)
- Microsoft Windows SDK for Windows 8.1 (needed for SHA-256 code signing)
- Microsoft Windows Driver Kit 7.1.0 (build 7600.16385.1)
- NASM assembler 2.08 or compatible
- YASM 1.3.0 or newer.
- gzip compressor
- upx packer (available at https://upx.github.io/)

IMPORTANT:

The 64-bit editions of Windows Vista and later versions of Windows, and in
some cases (e.g. playback of HD DVD content) also the 32-bit editions, do not
allow the VeraCrypt driver to run without an appropriate digital signature.
Therefore, all .sys files in official VeraCrypt binary packages are digitally
signed with the digital certificate of the IDRIX, which was
issued by Thawte certification authority. At the end of each official .exe and
.sys file, there are embedded digital signatures and all related certificates
(i.e. all certificates in the relevant certification chain, such as the
certification authority certificates, CA-MS cross-certificate, and the
IDRIX certificate).
Keep this in mind if you compile VeraCrypt
and compare your binaries with the official binaries. If your binaries are
unsigned, the sizes of the official binaries will usually be approximately
10 KB greater than sizes of your binaries (there may be further differences
if you use a different version of the compiler, or if you install a different
or no service pack for Visual Studio, or different hotfixes for it, or if you
use different versions of the required SDKs).


Instructions for Building VeraCrypt for Windows:
------------------------------------------------

1) Create an environment variable 'MSVC16_ROOT' pointing to the folder 'MSVC15'
   extracted from the Visual C++ 1.52 self-extracting package.

   Note: The 16-bit installer MSVC15\SETUP.EXE cannot be run on 64-bit Windows,
   but it is actually not necessary to run it. You only need to extract the
   folder 'MSVC15', which contains the 32-bit binaries required to build the
   VeraCrypt Boot Loader.

2) If you have installed the Windows Driver Development Kit in another
   directory than '%SYSTEMDRIVE%\WinDDK', create an environment variable
   'WINDDK_ROOT' pointing to the DDK installation directory.

3) Open the solution file 'VeraCrypt.sln' in Microsoft Visual Studio 2010.

4) Select 'All' as the active solution configuration.

5) Build the solution.

6) If successful, there should be newly built VeraCrypt binaries in the
   'Release' folder.

Instructions for Signing and Packaging VeraCrypt for Windows:
-------------------------------------------------------------

First, create an environment variable 'WSDK81' pointing to the Windows SDK
for Windows 8.1 installation directory.
The folder "Signing" contains a batch file (sign.bat) that will sign all
VeraCrypt components using a code signing certificate present on the
certificate store and also build the final installation setup.
The batch file suppose that the code signing certificate is issued by Thawt.
This is the case for IDRIX's certificate. If yours is issued by another CA,
then you should put the Root and Intermediate certificates in the "Signing"
folder and then modify sign.bat accordingly.

VeraCrypt EFI Boot Loader:
--------------------------

VeraCrypt source code contains pre-built EFI binaries under src\Boot\EFI.
The source code of VeraCrypt EFI Boot Loader is licensed under LGPL and 
it is available at https://github.com/veracrypt/VeraCrypt-DCS.
For build instructions, please refer to the file src\Boot\EFI\Readme.txt.


II. Linux and Mac OS X
======================

Requirements for Building VeraCrypt for Linux and Mac OS X:
-----------------------------------------------------------

- GNU Make
- GNU C++ Compiler 4.0 or compatible
- Apple Xcode (Mac OS X only)
- YASM 1.3.0 or newer (Linux only, x86/x64 architecture only)
- pkg-config
- wxWidgets 3.0 shared library and header files installed or
  wxWidgets 3.0 library source code (available at https://www.wxwidgets.org)
- FUSE library and header files (available at https://github.com/libfuse/libfuse
  and https://osxfuse.github.io/)


Instructions for Building VeraCrypt for Linux and Mac OS X:
-----------------------------------------------------------

1) Change the current directory to the root of the VeraCrypt source code.

2) If you have no wxWidgets shared library installed, run the following
   command to configure the wxWidgets static library for VeraCrypt and to
   build it:

   $ make WXSTATIC=1 WX_ROOT=/usr/src/wxWidgets wxbuild

   The variable WX_ROOT must point to the location of the source code of the
   wxWidgets library. Output files will be placed in the './wxrelease/'
   directory.

3) To build VeraCrypt, run the following command:

   $ make

   or if you have no wxWidgets shared library installed:

   $ make WXSTATIC=1

4) If successful, the VeraCrypt executable should be located in the directory
   'Main'.

By default, a universal executable supporting both graphical and text user
interface (through the switch --text) is built.
On Linux, a console-only executable, which requires no GUI library, can be
built using the 'NOGUI' parameter:

   $ make NOGUI=1 WXSTATIC=1 WX_ROOT=/usr/src/wxWidgets wxbuild
   $ make NOGUI=1 WXSTATIC=1

On MacOSX, building a console-only executable is not supported.

Mac OS X specifics:
-----------------------------------------------------------

Under MacOSX, the SDK for OSX 10.7 is used by default. To use another version
of the SDK (i.e. 10.6), you can export the environment variable VC_OSX_TARGET:

	$ export VC_OSX_TARGET=10.6


Before building under MacOSX, pkg-config must be installed if not yet available.
Get it from https://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz and
compile using the following commands :

	$ ./configure --with-internal-glib
	$ make
	$ sudo make install

After making sure pkg-config is available, download and install OSXFuse from
https://osxfuse.github.io/ (MacFUSE compatibility layer must selected)

The script build_veracrypt_macosx.sh available under "src/Build" performs the
full build of VeraCrypt including the creation of the installer pkg. It expects
to find the wxWidgets 3.0.3 sources at the same level as where you put
VeraCrypt sources (i.e. if "src" path is "/Users/joe/Projects/VeraCrypt/src"
then wxWidgets should be at "/Users/joe/Projects/wxWidgets-3.0.3")

The build process uses Code Signing certificates whose ID is specified in
src/Main/Main.make (look for lines containing "Developer ID Application" and 
"Developer ID Installer"). You'll have to modify these lines to put the ID of
your Code Signing certificates or comment them if you don't have one.

Because of incompatibility issues with OSXFUSE, the SDK 10.9 generates a
VeraCrypt binary that has issues communicating with the OSXFUSE kernel extension.
Thus, we recommend using a different OSX SDK version for building VeraCrypt.



III. FreeBSD
============================

FreeBSD is supported starting from version 11.
The build requirements and instructions are the same as Linux except that gmake
should be used instead of make.



IV. Third-Party Developers (Contributors)
=========================================

If you intend to implement a feature, please contact us first to make sure:

1) That the feature has not been implemented (we may have already implemented
   it, but haven't released the code yet).
2) That the feature is acceptable.
3) Whether we need help of third-party developers with implementing the feature.

Information on how to contact us can be found at:
https://www.veracrypt.fr/



V. Legal Information
====================

Copyright Information
---------------------

This software as a whole:  
Copyright (c) 2013-2018 IDRIX. All rights reserved.

Portions of this software:  
Copyright (c) 2013-2018 IDRIX. All rights reserved.  
Copyright (c) 2003-2012 TrueCrypt Developers Association. All rights reserved.  
Copyright (c) 1998-2000 Paul Le Roux. All rights reserved.  
Copyright (c) 1998-2008 Brian Gladman, Worcester, UK. All rights reserved.  
Copyright (c) 1995-2017 Jean-loup Gailly and Mark Adler.  
Copyright (c) 2016 Disk Cryptography Services for EFI (DCS), Alex Kolotnikov  
Copyright (C) 1999-2017 Dieter Baron and Thomas Klausner.  
Copyright (c) 2013, Alexey Degtyarev. All rights reserved.  
Copyright (c) 1999-2016 Jack Lloyd. All rights reserved.

For more information, please see the legal notices attached to parts of the
source code.

Trademark Information
---------------------

Any trademarks contained in the source code, binaries, and/or in the
documentation, are the sole property of their respective owners.



VI. Further Information
=======================

https://www.veracrypt.fr