Skip to content

Rješenje zadataka iz openssl-a sa rokova iz predmeta Kriptografija i računarska zaštita na Elektrotehničkom fakultetu u Banjoj Luci.

Notifications You must be signed in to change notification settings

AleksaMCode/kriptografija-i-racunarska-zastita

Repository files navigation

Kriptografija i računarska zaštita

Rješenje zadataka iz openssl-a sa rokova iz predmeta Kriptografija i računarska zaštita na Elektrotehničkom fakultetu u Banjoj Luci.

Biblioteka algoritama

Implementacija algoritama koji dolaze na prvom dijelu ispita, u C#, sa ciljem automatizacije i ubrzavanja procesa rješavanja takvih zadataka.

  1. RC4

RC4

Neka je dat ključ u ASCII formatu kao 28221002 i neka je dužina vektora stanja 56 bita.

  • Primjer korištenja klase Rc4Algo za enkripciju ulaznog teksta ACAA koji je data u string formatu.
int[] key = { '2', '8', '2', '2', '1', '0', '0', '2' };
var rc4 = new Rc4Algo(key);
string opentext = "ACAA";
int stateVectorLen = 56 / 8; // konvertovanje bita u bajtove
rc4.Encrypt(stateVectorLen, opentext);
  • Primjer korištenja klase Rc4Algo za enkripciju ulaznog teksta ACAA koji je data u hex formatu, tj. kao 0xacaa.
int[] key = { '2', '8', '2', '2', '1', '0', '0', '2' };
var rc4 = new Rc4Algo(key);
int[] opentextInHex = { 0xac, 0xaa };
int stateVectorLen = 56 / 8; // konvertovanje bita u bajtove
rc4.Encrypt(stateVectorLen, opentextInHex);
  • Primjer korištenja klase Rc4Algo kada zadatak samo traži da se izračuna vektor stanja za ulazne parametre.
int[] key = { '2', '8', '2', '2', '1', '0', '0', '2' };
var rc4 = new Rc4Algo(key);
int stateVectorLen = 56 / 8; // konvertovanje bita u bajtove
rc4.OnlyKSA(stateVectorLen);

Napomena

Rješenja zadataka mogu sadržati greške. Sve greške možete prijaviti putem email-a.