VeraCrypt

VeraCrypt は オープンソースでフリーウェアのに使われるユーティリティソフトウェアである。VeraCryptはファイルやパーティションの暗号化や、ストレージ全体の暗号化が成されたブート前認証付き仮想暗号化ディスクを作成することができる。
VeraCryptは開発が終了したTrueCryptのフォークである。初版のリリースは 2013年6月22日で、2015年9月には10度目のリリース(バージョン 1.15)がなされた。開発者によると、セキュリティの改善がなされ、初期のTrueCryptのにおいて提起された問題が対処されている。
暗号化の仕組み.
アルゴリズム.
VeraCryptでサポートされている暗号はAES、Serpent、Twofish、Camellia、である。さらに、10種類のの組み合わせを利用できる。AES–Twofish、AES–Twofish–Serpent、Camellia–Kuznyechik、Camellia–Serpent、Kuznyechik–AES、Kuznyechik–Serpent–Camellia、Kuznyechik–Twofish、Serpent–AES、Serpent–Twofish–AES、そしてTwofish–Serpentである。VeraCryptで利用可能なハッシュ関数はRIPEMD-160、SHA-256、SHA-512、、Whirlpoolである。
暗号利用モード.
VeraCryptは暗号モードとしてXTSを利用する。
鍵.
ヘッダキーとセカンダリヘッダキー（XTSモード）は512ビットのソルトのPBKDF2を用いて、327,661回から655,331の反復で生成される。
セキュリティの改善.
開発者により、VeraCryptはおおむねTrueCryptよりもセキュリティが改善された。
TrueCryptはシステムパーティションに対し、PBKDF2-RIPEMD160アルゴリズムで1000回の反復を行うが、VeraCryptは327,661回の反復を行う。標準コンテナとその他のパーティションに関してはRIPEMD160で655,331回、SHA-2とWhirlpoolでは500,000回の反復を行う。これによりVeraCryptで暗号化パーティションを開く際にわずかに遅くなるが、総当たり攻撃に対して最低10倍から最大300倍強くなる。
Windowsでのブートローダーの脆弱性は修正されたほか、さまざまな最適化が行われた。開発者はシステムブートの暗号化にSHA-256のサポートを追加し、ShellExecuteのセキュリティ問題も修正された。LinuxとmacOSユーザーは512超のセクタサイズのサポートで恩恵を受けられる。Linux版もNTFSフォーマットをサポートしている。
セキュリティ改善により、VeraCryptフォーマットはTrueCryptとは非互換である。VeraCryptの競合、CipherShedとの違いはCipherShedはTrueCryptフォーマットを使っていることである。VeraCryptのバージョン1.0fから、TrueCryptフォーマットを開いたり、TrueCryptフォーマットをVeraCryptフォーマットへ変換したりすることができるようになった。
もっともらしい否認.
VeraCryptはもっともらしい否認（plausible deniability）と呼ばれる構想をサポートしている。これはひとつの「隠されたボリューム」をもう一つのボリュームの中に作成できるものである。さらに、Windowsバージョンでは、 否認可能暗号化された隠しオペレーティングシステムを作成し実行することができる。
性能.
VeraCryptは暗号化と復号による性能への影響を減らすため、マルチコアシステムで並列化処理、Windows上でパイプラインを利用した読み書き（非同期処理方式）による暗号化をサポートしている。AES-NI命令セットをサポートした新しいプロセッサでは、VeraCryptはハードウェアアクセラレーションを利用して大きく性能が向上する。
セキュリティ監査.
VeraCryptの中立なコード監査は初期の計画段階である。
VeraCryptは中立なセキュリティ監査を通過したTrueCryptのソースコードに基づいている。監査の第一段階は2014年4月14日に完了し、"no evidence of backdoors or malicious code."（バックドアあるいは悪意のあるコードの証拠はない）とされた。監査の第二段階は2015年4月2日に終了し、"no evidence of deliberate backdoors, or any severe design flaws that will make the software insecure in most instances."（故意のバックドアや、セキュリティが失われる重大な設計上の欠陥の根拠はない）とされた。
ライセンスとソースモデル.
VeraCryptは2015年6月28日からApache License 2.0でライセンスされている。以前はMicrosoft Public Licenseでリリースされていた。VeraCryptは大部分のコードをTrueCryptから引き継いでいるためTrueCrypt独自の「TrueCrypt License 3.0」の支配下にある。このライセンスは改変と再配布に対して制限があり、オープンソース・イニシアティブ(OSI)が定める「オープンソースの定義」に合致しない、非オープンソース・ソフトウェア・ライセンスである。。
その他.
 ドライブ全体の暗号化に関しては、「EFIシステムパーティション領域」が存在する場合、「システムパーティションあるいはシステムドライブ全体を暗号化」は選択できない。
 上記の選択をできるようにしたい場合には「EFIシステムパーティション領域」を設定しないクリアインストールによるWindowsのインストールが必要になる。