Veracrypt

VeraCrypt on ilmainen salausohjelma, jota voidaan käyttää salaamaan tietoa tietokoneella.
Ohjelmaa voidaan käyttää
VeraCrypt on itsenäinen projekti. Se pohjautuu TrueCrypt-salausohjelmaan, jonka kehitystyö on lopetettu. VeraCryptillä voidaan avata TrueCryptin avulla salattua tietoa erityisellä TrueCrypt-moodilla.
VeraCryptin avulla voidaan luoda kaksi rinnakkaista levyosiota samaan tiedostoon tai kiintolevyyn, joista toista kutsutaan piilotetuksi (eng. "hidden"). Kummallekin levyosiolle on omat salasanansa ja salausavaimensa. Ulkopuolisen tahon (kuten poliisin) pakottamana salasanat tunteva henkilö voi siten paljastaa vain toisen osion sisällön ja kieltää salatun osion olemassaolo. Tällöin ulkopuolinen taho saa käsiinsä vain "viatonta" tietoa ja uskoo sitten kuulustelevansa syytöntä henkilöä mahdollisesti lopettaen kiristysyrityksensä. 
VeraCryptissä käyttäjän on myös mahdollista asettaa henkilökohtainen salausavaimen matemaattisten iteraatioiden kerroin (eng. "personal iterations multiplier", PIM), jolla salausta ja sen avausta voidaan nopeuttaa tai hidastaa, jolloin käytetty salasana vastavuoroisesti joko heikkenee tai vahvenee. PIM on kerroin yhtälössä, joka ilmoittaa kuinka montaa kertaa tiivistefunktiota käytetään muovaamaan ohjelmaan syötettyä salasanaa sen vahventamiseksi: funktio muuntaa salasanan pidemmäksi ja näennäisen satunnaiseksi. Salasanan muovatun version avulla luodaan ylätunnusavain (eng. "header key"). Tällä saadaan levyosiosta auki tietty alue joka sisältää muun muassa pääavaimen (eng. "master keys"), jolla levyosiolla oleva tieto on oikeasti salattu.
Pääavainta tarvitaan, jotta käyttäjä voi vaihtaa salaamansa tiedoston tai levyosion salasanan nopeasti. Jos levyosio olisi salattu suoraan ylätunnusavaimella, täytyisi salasanan vaihtuessa koko levyosion salaus purkaa ja salata uudelleen aikaavievästi (levyosio voi olla useita gigatavuja). Pääavainta käytettäessä ainoastaan sen sisältävä osio täytyy avata ja salata uudelleen salasanavaihdossa: tämä vie paljon vähemmän aikaa (ylätunnusavaimen sisältävä alue on vain 512 tavua). Iteraatioiden suuri lukumäärä suojaa väsytyshyökkäyksiltä estäen siten teoriassa salauksen murtoyritykset tulevaisuudessakin kun tietokoneiden laskentateho kasvaa.
VeraCrypt tukee seuraavia symmetrisiä lohkosalausmenetelmiä: AES, Serpent, Twofish, Camellia ja Kyznyechik. Näitä algoritmeja on ohjelmassa mahdollista yhdistellä erilaisiksi päällekkäisiksi ns. "supersalaus"-yhdistelmiksi, kuten Serpent-Twofish-AES -yhdistelmäksi, jossa kunkin lohkon kerros ensin salataan AES:llä ja lopuksi Serpentillä toisistaan riippumattomilla avaimilla. Tuetut kryptografiset tiivistefunktiot ovat RIPEMD-160, SHA-256, SHA-512, Streebog ja Whirlpool. Salattujen lohkojen järjestelyyn VeraCrypt käyttää XTS toimintatapaa.
17.10.2016 VeraCryptin version 1.18 lähdekoodi tarkistettiin muun muassa tietoturva-aukkojen, takaovien ym. varalta riippumattoman osapuolen toimesta. Ohjelmasta ei löytynyt tarkoituksellisesti haitallista koodia. Suurimmat auditoinnissa löydetyt tietoturva-aukot korjattiin seuraavana päivänä IDRIX:in julkaisemassa versiossa 1.19.
VeraCrypt, kuten TrueCrypt, josta se forkattiin, väittää olevansa "open source", vaikka Open Source Initiative ei ole hyväksynyt TrueCrypt lisenssiä. Debian kieltäytyi tekemästä VeraCrypt-pakettia, johtuen sen hämäräperäisestä lisenssihistoriasta.