Programowanie i algorytmy

Szyfrowanie trzech bitów

Zad. 2. W pliku szyfr.txt znajduje się zdanie, które jest zaszyfrowane według następującego schematu:

 

każdy znak, przedstawiony w formie binarnej szyfrujemy według szablonu:

 

trzy bity leżące po prawej stronie  są szyfrowane symetrycznie odpowiednio z trzema następnymi bitami, a następnie odwracane kolejnością. Dla przykładu zaszyfrujmy literkę "d ".

kod ASCII literki "d" to 100

100 = (01100100)2

Trzy bity na prawo (100), szyfrujemy z trzema następnymi bitami (100) (odpowiednio bit po bicie), według schematu:

  • gdy są takie same bity nadajemy wartość 0, w przeciwnym wypadku wartość 1
  • następnie te trzy bity zapisujemy w odwrotnej kolejności

Po zastosowaniu pierwszego podpunktu otrzymamy 01100000, zapis w odwrotnej kolejności nie ma znaczenia (trzy zera), czyli drugi podpunkt nie zmieni wartości tej liczby. Zaszyfrowany znak to " ' ".

 

a) zdeszyfruj tekst zawarty w pliku szyfr.txt

b) zaszyfruj następujący tekst:

Każdy program jest tylko na tyle dobry na ile jest przydatny!

Aby wyłuskać kod ASCII danego znaku należy użyć rzutowania typów.