Program szyfrujący/deszyfrujący z wykorzystaniem algorytmów

0

Witam czy ktoś mógłby mi dać kilka informacji lub porad na napisanie tego programu?Nawet nie wiem jak to zacząć:(

Wykorzystując dowolną dostępną w Internecie implementację jednego z omawianych algorytmów blokowych, napisz program szyfrujący/deszyfrujący pliki w następujących trybach:

  1. ECB z uzupełnieniem danych na końcu zerami do rozmiaru bloku i do daniem dodatkowego
    bloku kontrolnego.
  2. CFB z pozostawieniem niezmienionego rozmiaru pliku.

Program może być napisany w jednym ze współczesnych języków programowania (C, CPP, Java lub inne do uzgodnienia) na platformę Windows lub Unix. W obu przypadkach program powinien przyjmować parametry z linii poleceń. Jakikolwiek interfejs użytkownika nie jest wymagany i nie będzie oceniany.

Sugerowana postać linii poleceń:

Nazwa_programu <-e|d|h> <-m ecb|cfb> <-v> <-k keybits> <-i ivbits> <plik_we> <plik_wy>

<-e|d|h> Jak łatwo się domyślić informacja o tym, czy ma następować szyfrowanie (e),
deszyfrowanie (d) czy też wyświetlenie pomocy (h). Brak parametru powinien skutkować
wyświetleniem pomocy.

<-m ecb|cfb> Tryb pracy. Brak powinien skutkować trybem ECB.

<-v> Włączenie trybu gadatliwego – tylko w tym trybie powinny pojawiać się informacje o wykonywanych
właśnie czynnościach, stanie zmiennych itp. Tryb pomocny przy uruchamianiu. Można pokusić się
o kilka poziomów gadatliwości, z wysyłaniem całości przetwarzanych danych na ekran włącznie.

<-v keybits> Klucz podany w postaci HEX. Brak klucza może powodować przyjęcie jakiejś wartości
domyślnej.

<-i ivbits> Dla trybu cfb wartośc wektora początkowego w postaci HEX. Brak wektora może powodować
przyjęcie jakiejś wartości domyślnej.

<plik_we> Nazwa pliku wejściowego. Brak nazwy może powodować przyjęcie jakiejś wartości
domyślnej.
<plik_wy> Nazwa pliku wyjściowego. Brak nazwy może powodować przyjęcie jakiejś wartości
domyślnej.

  1. zerowanie zmiennych na początku i końcu programu
  2. czyszczenie pamięci w używanych buforach
  3. eliminacja słabych kluczy.
0

A czego konkretnie nie wiesz? Jak nic nie wiesz, to moze zacznij od zaczerpniecia informacji na temat 'omawianych' algorytmow?

1 użytkowników online, w tym zalogowanych: 0, gości: 1