1
0
Fork
You've already forked lightweightcrypto
0
krypto för lätt kryptering
  • C 94.4%
  • Makefile 4.5%
  • Shell 1.1%
Find a file
2025年01月22日 16:15:15 +01:00
src kommentarer 2025年01月22日 16:15:15 +01:00
.gitignore städade och fixade gitignore 2022年09月04日 12:33:29 +02:00
LICENSE fixade licensen 2022年09月04日 13:37:26 +02:00
README.md fixade readme 2025年01月09日 17:36:11 +01:00



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-dev eller nåt sånt)

Instruktioner


Installation

  1. Kompilera genom att stå i $PRJ_ROOT/src och kör make för att bygga binären till $PRJ_ROOT/src/build/x
  2. 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/x eller alternativt köra skriptet bin_script.sh som root som ligger i $PRJ_ROOT/src
  3. 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.