Salaus

**Salaus** eli **kryptaus** viittaa kryptologiassa prosessiin, jolla koodataan viestejä tai tietoja niin, että vain valtuutetut osapuolet voivat lukea niitä. Salaus ei estä viestin sieppaamista, vain sen lukemisen. Salausjärjestelmä muuttaa viestin tai tiedon selkotekstin () salatekstiksi () salausalgoritmia () käyttäen. Viestin tai tiedon voi tämän jälkeen lukea vain jos salatekstin salaus puretaan avaimella tai se murretaan kryptoanalyysillä. Teknisistä syistä salausjärjestelmä käyttää tyypillisesti algoritmin tuottamaa näennäisesti satunnaista salausavainta. On periaatteessa mahdollista purkaa salaus ilman avainta, mutta tähän tarvitaan hyvin paljon laskentatehoa, jos salausjärjestelmä on toteutettu hyvin. Valtuutettu vastaanottaja voi helposti purkaa viestin salauksen avaimella, jonka salatun viestin lähettäjä antoi hänelle.

## Sanastoa
*Salauksella* tarkoitetaan prosessia, jossa selväkielinen teksti eli *selkoteksti* muutetaan sellaiseksi, ettei sitä pysty tulkitsemaan (*salattu teksti, salateksti*). Salauksen *purkaminen* on vastakkainen prosessi, jossa salattu teksti muutetaan selkotekstiksi. *Salain* on algoritmipari, jolla nämä muutokset tehdään. Algoritmien toimintaa säätelee *salausavain*, jonka vain viestin lähettäjä ja vastaanottaja tuntevat. Enkryptaus tarkoittaa kryptaamista (salaamista). Dekryptaus tarkoittaa kryptauksen purkamista (salauksen ratkaiseminen).

*Selkoteksti* (*M*) salataan *salatuksi tekstiksi* (*C*) menetelmällä (*E*), jonka vastapari (*D*) palauttaa alkuperäisen luettavaan muotoon. Näin ollen voidaan esittää: E(M) = C, ja vastaavasti D(C) = M, jolloin D(E(M)) = M.
Modernissa salauksessa käytetään *salausavainta* (*K*), jolloin E(M) = C ja D(C) = M, josta seuraa D(E(M)) = M.
Epäsymmetrisessä salauksessa käytetään eri avainta (*K* ja *K*) salaamiseen ja purkamiseen.

## Yleistä
Jo antiikin aikana tunnettujen *symmetristen salakirjoitusmenetelmien* ideana oli se, että viestin lähettäjä ja vastaanottaja käyttivät viestin salaamiseen ja salakirjoitetun viestin purkamiseen samaa avainta. Nykyisten, 1970-luvulta lähtien kehitettyjen *epäsymmetristen salakirjoitusmenetelmien* avulla voidaan kuitenkin toteuttaa aivan uudentyyppinen järjestelmä. Kuka tahansa voi salakirjoittaa viestin tietyn vastaanottajan julkisen avaimen salausmenetelmällä hänen ilmoittamaansa julkista avainta käyttäen. Kuitenkin ainoastaan viestin vastaanottaja voi purkaa viestin omalla salaisella avaimellaan.

Nykyisten tietoverkkojen, erityisesti Internetin, toiminta perustuu epäsymmetrisiin (julkisiin) salakirjoitusjärjestelmiin pohjautuviin PKI- (public key infrastructure) protokolliin. Jo klassisia esimerkkejä käytetyistä järjestelmistä ovat Diffie-Hellman-avaintenvaihtoprotokolla ja RSA- ja ElGamal-salausjärjestelmät.

Protokollien tehtävä on määrittää, miten luonteeltaan matemaattisia salakirjoitusjärjestelmiä käytetään. Niiden tavoitteena on varmistaa tietoliikenteen turvallisuus. Varsin yleinen tietoturvaongelma on protokollasta poikkeaminen, jonka syynä voi olla vaikkapa ns. social engineering -tyyppinen tiedusteluyritys (ks. Kevin Mitnick). Protokollat on tarkoitettu sellaisiksi selkeiksi ohjesäännöiksi, että kuka tahansa tietoverkon käyttäjä voi niitä käyttäen varmistua oman tietoliikenteensä turvallisuudesta. Protokollien suunnittelu ja niiden syvällinen ymmärtäminen edellyttää kuitenkin pitkällistä matemaattista koulutusta. Protokolla-asiantuntijan tulee olla perehtynyt lukuteorian, algebran ja erityisesti algoritmiteorian viimeisimpiin tutkimustuloksiin.

## Satunnaisluvut

Salauksessa käytettyjen satunnaislukujen tulisi olla mahdollisimman aidosti satunnaisia. Aidosti satunnaisten lukujen tuottaminen on kuitenkin vaikeaa. Nykyään parhaina tapoina tuottaa todellisia satunnaislukuja pidetään luonnollisia systeemejä, kuten radioaktiivisten aineiden luonnollisen hajoamisen tuottamat säteilyhiukkaset, tai esimerkiksi laavalampun vahan liike. Useimmiten tietokoneissa käytetään näennäissatunnaislukugeneraattoreita, jotka eivät välttämättä kelpaa salauskäyttöön. Tietokoneiden salauksessa käytetty satunnaisuus perustuu yleensä käyttäjän tekemien toimenpiteiden ja ympäristössä tapahtuvien tapahtumien satunnaisuuden keräämiseen. Käytännön esimerkkejä edellä mainitusta ovat esimerkiksi käyttäjän hiiren liikkeiden tai mikrofonin vastaanottaman kohinan käyttäminen salausavaimen luomiseen.

## Salauksen käyttökohteita
Kryptografisia algoritmeja käytetään luottamuksellisuuden varmistamisen lisäksi useisiin muihin kohteisiin. Näitä ovat esimerkiksi tiedon eheyden varmistaminen, kohteen tunnistaminen ja lähteen varmentaminen. Suurin osa käyttökohteista ei suojaa sotilassalaisuuksia vaan sovelluskohteita kuten pankkikortteja, maksutelevisiota, tietulleja, toimistotilojen pääsyoikeuksia ja niin edelleen.

Tietokoneiden myötä kryptografia sai uuden sovelluskohteen datan salauksen, allekirjoitusten ja eheyden varmistamisesta. Tästä esimerkkejä ovat erilaiset sovellukset ja protokollat etäyhteyksien (SSH) ja www-liikenteen (HTTPS) salaamiseen sekä sähköpostiviestien salaamiseen ja allekirjoittamiseen (PGP).

Euroopan ihmisoikeustuomioistuin on todennut vuonna 2024, että Euroopan ihmisoikeussopimuksen jäsenmaat eivät saa vaatia salauksiin takaovia tai heikennyksiä. Käsittely alkoi kun Venäjän turvallisuuspalvelu alkoi vaatia takaovia Venäjällä käytettyyn Telegram-pikaviestintäsovellukseen. Tuomioistuin totesi päätöksessään, että Venäjän vaatimus aiheuttaa riskin kaikille käyttäjille. Käsittely jatkui huolimatta Venäjän vetäytymisestä ihmisoikeustuomioistuimesta koska käsittely oli alkanut sitä ennen.

### Televisio

Maksutelevisioissa käytetään eri salausjärjestelmiä. Salauksen purkamiseen tarvitaan dekooderi ja TV-kortti.

## Salausalgoritmeja
Symmetrisiä salausalgoritmeja

* DES, Data Encryption Standard
* AES, Advanced Encryption Standard (Rijndael-salaus)
* IDEA
* Blowfish, Twofish
* 3DES
* RC5

Julkisen avaimen salausalgoritmeja eli epäsymmetrisen salauksen algoritmeja
* Diffie-Hellman-avaintenvaihto
* RSA
* ElGamal
* Elliptisen käyrän salaus
* Hilapohjainen salaus

Kryptografisia tiivistefunktioita eli yksisuuntaisia tiivisteitä
* MD5 (Message digest)
* SHA-1 (Secure Hash Algorithm)
* SHA-2
* SHA-3

Sähköisen allekirjoituksen menetelmiä
* DSA (Digital Signature Algorithm)
* X.509 Varmenteet
* ECDSA
* EdDSA

Kryptografiaa käyttäviä sovelluksia
* GPG
* HTTPS-protokolla
* Kerberos-tunnistusprotokolla
* PGP (Pretty Good Privacy)
* SSH-protokolla

## Katso myös
* Kvanttiturvallinen salaus
* Päästä päähän -salaus
* Salauksen purku
* Salausprotokolla
* Transpositiosalaus on menetelmä, jossa kirjainten järjestystä muutetaan sovitulla tavalla.
* Viestin todennuskoodi

## Lähteet

## Kirjallisuutta
*Hallamaa, Reino: *Salakirjoitustaidon perusteet (1937)*,
*Kerttula, Esa: *Tietoverkkojen tietoturva*. 
*Järvinen, Petteri: *Salausmenetelmät*. 
*Singh, Simon: *Koodikirja: salakirjoituksen historia muinaisesta Egyptistä kvanttikryptografiaan*. 
*Schneier; Bruce: *Applied Cryptography*. 2nd edition. 
*Hutcherson, Norman B.: *Command and Control Warfare; Putting Another Tool in the War-Fighter's Data Base*. Air University Press, USA 1994

## Aiheesta muualla