Prezentacja multimedialna
Polecenie 1
Przeanalizuj prezentację. Przedstawimy w niej kod programu szyfrującego ciąg znaków za pomocą szyfru XOR, opartego na operacji logicznej alternatywy rozłącznej. Zapoznaj się z nim, a następnie uruchom go dla klucza 0xf
. Jak wygląda zaszyfrowany tekst? Jak myślisz, dlaczego otrzymano taki wynik?
Przykładowe rozwiązanie zadania:
Program nie wypisał poprawnie znaków ani liter. Dzieje się tak dlatego, że poprzez wykonywanie operacji XOR dla liczby 0xf
przekraczamy zakres standardowych znaków zdefiniowanych w kodzie ASCII.
Kod programu:
Linia 1. public class szyfrowanie otwórz nawias klamrowy.
Linia 3. public static void display otwórz nawias okrągły char otwórz nawias kwadratowy zamknij nawias kwadratowy ary zamknij nawias okrągły otwórz nawias klamrowy.
Linia 4. System kropka out kropka println otwórz nawias okrągły cudzysłów Wartosci ACII dziesietnie dwukropek cudzysłów zamknij nawias okrągły średnik.
Linia 5. for otwórz nawias okrągły int i znak równości 0 średnik i otwórz nawias ostrokątny ary kropka length średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy.
Linia 6. System kropka out kropka print otwórz nawias okrągły String kropka format otwórz nawias okrągły cudzysłów procent 8s cudzysłów przecinek otwórz nawias okrągły int zamknij nawias okrągły ary otwórz nawias kwadratowy i zamknij nawias kwadratowy zamknij nawias okrągły plus cudzysłów cudzysłów zamknij nawias okrągły średnik.
Linia 7. zamknij nawias klamrowy.
Linia 8. System kropka out kropka println otwórz nawias okrągły zamknij nawias okrągły średnik.
Linia 9. System kropka out kropka println otwórz nawias okrągły cudzysłów Wartosci ASCII binarnie dwukropek cudzysłów zamknij nawias okrągły średnik.
Linia 10. for otwórz nawias okrągły int i znak równości 0 średnik i otwórz nawias ostrokątny ary kropka length średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy.
Linia 11. System kropka out kropka print otwórz nawias okrągły String kropka format otwórz nawias okrągły cudzysłów procent 8s cudzysłów przecinek Integer kropka toBinaryString otwórz nawias okrągły ary otwórz nawias kwadratowy i zamknij nawias kwadratowy zamknij nawias okrągły zamknij nawias okrągły kropka replace otwórz nawias okrągły apostrof apostrof przecinek apostrof 0 apostrof zamknij nawias okrągły plus cudzysłów cudzysłów zamknij nawias okrągły średnik.
Linia 12. zamknij nawias klamrowy.
Linia 13. System kropka out kropka println otwórz nawias okrągły zamknij nawias okrągły średnik.
Linia 14. zamknij nawias klamrowy.
Linia 16. public static String encode otwórz nawias okrągły String text zamknij nawias okrągły otwórz nawias klamrowy.
Linia 17. char otwórz nawias kwadratowy zamknij nawias kwadratowy ary znak równości text kropka toCharArray otwórz nawias okrągły zamknij nawias okrągły średnik.
Linia 18. display otwórz nawias okrągły ary zamknij nawias okrągły średnik.
Linia 19. System kropka out kropka println otwórz nawias okrągły cudzysłów Szyfrowanie kropka kropka kropka cudzysłów zamknij nawias okrągły średnik.
Linia 20. for otwórz nawias okrągły int i znak równości 0 średnik i otwórz nawias ostrokątny ary kropka length średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy.
Linia 21. ary otwórz nawias kwadratowy i zamknij nawias kwadratowy kareta znak równości 0xf średnik.
Linia 22. zamknij nawias klamrowy.
Linia 23. display otwórz nawias okrągły ary zamknij nawias okrągły średnik.
Linia 24. return String kropka valueOf otwórz nawias okrągły ary zamknij nawias okrągły średnik.
Linia 25. zamknij nawias klamrowy.
Linia 27. public static void main otwórz nawias okrągły String otwórz nawias kwadratowy zamknij nawias kwadratowy args zamknij nawias okrągły otwórz nawias klamrowy.
Linia 28. String text znak równości cudzysłów sosjerka cudzysłów średnik.
Linia 29. System kropka out kropka println otwórz nawias okrągły cudzysłów Przed zaszyfrowaniem dwukropek cudzysłów zamknij nawias okrągły średnik.
Linia 30. System kropka out kropka println otwórz nawias okrągły text zamknij nawias okrągły średnik.
Linia 31. text znak równości encode otwórz nawias okrągły text zamknij nawias okrągły średnik.
Linia 32. System kropka out kropka println otwórz nawias okrągły cudzysłów Po zaszyfrowaniu dwukropek cudzysłów zamknij nawias okrągły średnik.
Linia 33. System kropka out kropka println otwórz nawias okrągły text zamknij nawias okrągły średnik.
Linia 34. zamknij nawias klamrowy.
Linia 35. zamknij nawias klamrowy.
Problem 1
Specyfikacja problemu:
Zaimplementuj szyfr RSA. Zasymuluj wysyłanie wiadomości.
Polecenie 2
Porównaj swoje rozwiązanie z przedstawionym w filmie.