- C 94.4%
- Makefile 4.5%
- Shell 1.1%
|
|
||
|---|---|---|
| src | kommentarer | |
| .gitignore | städade och fixade gitignore | |
| LICENSE | fixade licensen | |
| README.md | fixade readme | |
Lättviktskrypto
Kryptera och avkryptera filer (eller strömmar till stdin) med samma nyckel (vad efterblivna kallar symmetrisk kryptering). Garanterat säkert enligt SÄPO, FRA, MUST, GeStaPo, GRU, SVR, StaSi, NSDAP, NATO, FN och Förenade arabemirerna eller vad de nu kallar sig
Därtill följer även hash och MAC i separata verktyg
Krav för att bygga
- gcc (version 8 är standard men detta kan justeras i makefilen)
- GNU Make (kan såklart byggas utan men lättare med oWo)
- GSL, GNU Scientific Library (På debian och ubuntu kan det enkelt installeras med hjälp av
apt install libgsl-develler nåt sånt)
Instruktioner
Installation
- Kompilera genom att stå i $PRJ_ROOT/src och kör make för att bygga binären till $PRJ_ROOT/src/build/x
- Om man önskar köra på ett tufft sätt, gör en symlänk från /usr/bin till binären som är $PRJ_ROOT/src/build/x alltså något i stil med
ln -s $PRJ_ROOT/src/build/x /usr/bin/xeller alternativt köra skriptetbin_script.shsom root som ligger i $PRJ_ROOT/src - Om man vill ha en standardnyckel ska den ligga i ~/.config/krypto/key.
Användning av kryptering
För hjälp, kör krypto -h eller krypto --help
Kör krpyto arg_1 arg_2 [arg_3] [arg_4] för att använda programmet
- arg_1 sökväg till fil som skall krypteras,
-s(eller såklart/dev/stdin) för att läsa från stdin - arg_2 e för att kryptera, d för att avkryptera
- arg_3 sökväg till nyckel för krytering eller avkryptering. Inte angiven ger ~/.config/krypto/key
- arg_4 extra slump för frö till slumpgenerator utöver tiden. Inte angiven innebär att enbart tiden används
Om valet görs att läsa från stdin så kommer resultatet att skrivas till stdout. Annars anges ett filnam, och för kryptering skrivs filen till motsvarande sökväg fast med .enc på slutet, alltså exempelnamn krypteras och skrivs i chiffertext till filen exempelnamn.enc. På motsvarande sätt avkrypteras en fil exempelnamn.enc och skrivs i klartext till filen exempel.
Användning av hash
För hjälp kör hash -h' eller 'hash --help
Kör hash arg_1 för att använda programmet
- arg_1 sökväg till fil som skall hashas
Utskrift sker till en fil som har motsvarande sökväg fast med .hash på slutet. exempelnamn hashas och hashen skrivs till filen exempelnamn.enc.
Användning av MAC
För hjälp kör mac -h' eller 'mac --help
Kör mac arg_1 arg_2 [arg_3] [arg_4] för att använda programmet
- arg_1 sökväg till fil som skall macas eller avmacas
- arg_2 e för att maca, d för att avmacas
- arg_3 sökväg till nyckel för autenticitetskontroll. Inte angiven ger ~/.config/krypto/key
- arg_4 extra slump för frö till slumpgenerator utöver tiden. Inte angiven innebär att enbart tiden används
Om valet görs att maca så hashas filen och hashen krypteras. Originalfilen skrivs till en med samma namn fast med .mac på slutet. Sedan appenderas den krypterade hashen och slutligen slumptalet som den krypterades med.
Om valet görs att avmaca så räknas filens (utan MAC) hash ut, sedan krypteras den och jämförs med MAC från filen. En MAC-lös version skrivs fast utan .mac på slutet. I händelse av felaktig MAC så varnas användaren i stdout och programmet avslutas med felkod EXIT_FAILURE.