RSA-salaus on generoiduilla avaimilla toimiva epäsymmetrinen salaus, joka soveltuu hitautensa takia lähinnä todella pienten tiedostojen, esimerkiksi AES-avainten salaukseen. AES on symmetrinen, mutta huomattavasti nopeampi salausmenetelmä. Molempien parhaat puolet saa yhdistettyä kun salaa itse tiedostot ensin AES:lla ja tähän käytetyn salausavaimen vastaanottajan julkisella RSA-avaimella. Vastaanottaja taas purkaa AES-avaimen salauksen omalla privaatilla RSA-avaimellaa ja käyttää tätä tiedostojen salauksen purkamiseen.
10Mt kuvan salaaminen AES-salauksella kestää muutamia sekunteja, RSA-salauksella useamman minuutin.
java -jar tiracryption.jar help
java -jar tiracryption.jar RSAgenerate [key path]
java -jar tiracryption.jar RSAencrypt <key path> <file path>
java -jar tiracryption.jar RSAdecrypt <key path> <file path>
java -jar tiracryption.jar AESencrypt <file path>
java -jar tiracryption.jar AESdecrypt <file path>
java -jar tiracryption.jar PGPencrypt <key path> <file path>
java -jar tiracryption.jar PGPdecrypt <key path> <file path>
Generoi jar komennolla
./gradlew jar
Jos tämä on ensimmäinen kerta kuin ajat ./gradlew, latautuu gradle koneellesi, tässä saattaa kestää hetki.
Luo salattava tiedosto esim komennolla
echo "1234567890mockAESkey123456789012" > mockAESkey
Generoi RSA-avaimet komennolla
java -jar build/libs/tiracryption.jar RSAgenerate
Avaimet luodaan oletusavoisesti tiedostoihin /keys/rsakey ja /keys/rsakey.pub
Salaa tiedosto julkisella RSA-avaimella komennolla
java -jar build/libs/tiracryption.jar RSAencrypt keys/rsakey.pub mockAESkey
Salattu tiedosto luodaan samaan hakemistoon alkuperäisen tiedoston kanssa, samalla tiedostonimellä ja loppuliitteellä .encrypted
Tarkasta salatun tiedoston sisältö esimerkiksi komennolla
cat -A mockAESkey.encrypted
Pura tiedoston salaus yksityisellä RSA-avaimella komennolla
java -jar build/libs/tiracryption.jar RSAdecrypt keys/rsakey mockAESkey.encrypted
Epäsalattu tiedosto luodaan samaan hakemistoon alkuperäisen tiedoston kanssa, samalla tiedostonimella ja loppuliite vaihdettuja tai lisättynä .decrypted
Tarkasta tiedoston lukukelpoisuus komennolla
cat mockAESkey.decrypted
Salaa esimerkiksi kuvatiedosto komennolla
java -jar build/libs/tiracryption.jar AESencrypt kurkkumopo.jpg
Komento luo automaattisesti uuden AES-avaimen tiedostoon .key, ja salatun tiedoston .encrypted. Tiedostot luodaan samaan hakemistoon alkuperäisen tiedoston kanssa.
Salaus puretaan komennolla
java -jar build/libs/tiracryption.jar AESdecrypt kurkkumopo.jpg.encrypted
Komento etsii automaattisesti tiedostoon liittyvän avaimen ja luo puretun tiedoston samaan hakemistoon, tiedostopäätteellä .decrypted.
Tässä yhdistetään automaattisesti kaksi edellä kuvattua toimenpidettä.
Generoi RSA-avaimet komennolla, mikäli et aiemmin tehnyt näin.
java -jar build/libs/tiracryption.jar RSAgenerate
Avaimet luodaan oletusavoisesti tiedostoihin /keys/rsakey ja /keys/rsakey.pub
Salaa mielivaltainentiedosto PGP-salauksella ja julkisella avaimella komennolla
java -jar build/libs/tiracryption.jar PGPencrypt keys/rsakey.pub kurkkumopo.jpg
Salattu tiedosto luodaan samaan hakemistoon alkuperäisen tiedoston kanssa, samalla tiedostonimellä ja loppuliitteellä .encrypted. Salattu avain on kirjoitettu samalla tiedostonimellä ja loppuliitteellä .key.encrypted.
Pura tiedoston PGP-salaus yksityisellä avaimella komennolla
java -jar build/libs/tiracryption.jar PGPdecrypt keys/rsakey kurkkumopo.encrypted
Epäsalattu tiedosto luodaan samaan hakemistoon alkuperäisen tiedoston kanssa, samalla tiedostonimella ja ylimääräiset loppuliitteet poistettuna. AES-avain poistetaan automaattisesti.
Tarkasta tiedoston lukukelpoisuus kyseisen tiedoston avaamiseen tarkoitetulla ohjelmalla.