Przejdź do głównej treści

Wprowadzenie do kursu

Wprowadzenie do kursu

Zanim zaczniesz, wypełnij krótką ankietę przed kursem — jej wypełnienie jest ważne, ponieważ pomaga nam ulepszać nasze materiały i doświadczenie użytkownika.

Note: This survey is provided by IBM Quantum and relates to the original English content. To give feedback on doQumentation's website, translations, or code execution, please open a GitHub issue.

To szkolenie jest przeznaczone zarówno dla doświadczonych, jak i początkujących programistów, którzy chcą dowiedzieć się, jak informatyka kwantowa stanowi zagrożenie dla istniejącej kryptografii — nowe algorytmy kwantowe są w stanie złamać obecne schematy szyfrowania.

W szczególności domyślne materiały są skierowane do osób posiadających wiedzę programistyczną, lecz z ograniczonym lub zerowym doświadczeniem w dziedzinie kryptografii lub konceptów kwantowych. Podano praktyczne przykłady w Pythonie, które ilustrują matematyczne zasady kryptografii i mogą służyć do eksperymentowania w celu pogłębienia zrozumienia. Kurs jest też odpowiedni dla tych, którzy szukają ogólnego przeglądu działania kryptografii kwantowej i jej znaczenia we współczesnym świecie.

Jeśli chcesz głębiej zrozumieć zarówno koncepty fizyki kwantowej, jak i kryptografię, zapoznaj się z naszymi rozwijalnymi sekcjami i prezentacjami, które zagłębiają się w podstawowe koncepty matematyczne tego tematu.

W trakcie kursu dowiesz się, jak nawet dzisiejsze dane są zagrożone — mogą zostać zebrane teraz i odszyfrowane później. Kurs pokaże, jak nasze istniejące algorytmy są podatne na ataki, i przedstawi innowacyjne techniki chroniące przed takimi zagrożeniami dzięki podejściu agile.

Kluczowe wnioski z kursu

Po ukończeniu kursu będziesz lepiej rozumieć:

  • Prymitywy kryptograficzne będące fundamentem obecnych systemów kryptograficznych:
    • Haszowanie kryptograficzne
    • Kryptografia asymetryczna
    • Kryptografia symetryczna
  • Zagrożenie kwantowe dla klasycznych schematów szyfrowania
  • Schematy szyfrowania bezpieczne kwantowo

Będziesz też mieć możliwość — jeśli zechcesz — uruchomienia przykładowego kodu w Pythonie demonstrujące niektóre z omawianych podejść.

Na koniec możesz ubiegać się o odznakę, zdając egzamin.

Wskazówki dotyczące nawigacji w kursie

W tym kursie możesz uczyć się we własnym tempie. Łączny czas trwania wynosi około 6–7 godzin, wliczając dodatkowe prezentacje i uruchamianie przykładowego kodu — choć czas ten będzie się różnić w zależności od posiadanej wiedzy i odwiedzanych linków. Jeśli musisz przerwać kurs, możesz łatwo do niego wrócić później.

Możesz śledzić swoje postępy w materiale kursu za pomocą nawigacji po lewej stronie głównej treści. Poszczególne lekcje można rozwinąć, aby zobaczyć listę tematów, i kliknąć, aby wrócić do poprzednich tematów.

Dodatkowe odnośniki i podpowiedzi kontekstowe są wyróżnione w trakcie przeglądania materiału.

Zanim zaczniesz

Wprowadzająca prezentacja jest dostępna w sekcji Pomocne materiały na stronie przeglądu kursu.

Prezentacja zawiera:

  • Wprowadzenie do kryptografii
  • Podstawy matematyczne

Jeśli nie znasz tych tematów, warto zapoznać się z tą prezentacją przed rozpoczęciem lekcji lub wrócić do niej w razie potrzeby.

Struktura lekcji

Każda lekcja zawiera:

  • Wprowadzenie z celem edukacyjnym danej lekcji
  • Szczegółowe omówienie tematu kryptograficznego, w tym:
    • Wyjaśnienie tematu i aktualnych algorytmów
    • Wyjaśnienia matematyczne i przykłady — niektóre z nich są w sekcjach zwijannych, więc możesz je pominąć, jeśli nie chcesz zagłębiać się w szczegóły matematyczne
    • Opcjonalne przykłady kodu w Pythonie, które można uruchomić (musisz być zalogowany/-a)
    • Zagrożenia wynikające z klasycznych algorytmów obliczeniowych
    • Zagrożenia wynikające z algorytmów komputerów kwantowych
    • Metody ograniczania tego ryzyka
  • Listę kluczowych wniosków z lekcji

Uruchamianie przykładów w Pythonie

Kod w Pythonie został już uruchomiony, dzięki czemu czytelnicy przeglądający tekst mogą zobaczyć wyniki bez dodatkowych kroków. Jednak szczególnie osoby zainteresowane tworzeniem oprogramowania są zachęcane do samodzielnego uruchamiania tych przykładów. Możesz też eksperymentować z parametrami wejściowymi i zgłębiać zasady w sposób doświadczalny.

Przy pierwszym uruchomieniu komórki Pythona zostaniesz poproszony/-a o zalogowanie się do IBM Quantum®.

Każdą komórkę Pythona należy uruchamiać kolejno, od początku notesu. Późniejsze komórki zazwyczaj zależą od wcześniejszych, które konfigurują biblioteki, zmienne itd. Każda komórka została napisana tak, aby po wykonaniu generowała pewne dane wyjściowe.

Ważne

Przykłady kodu w Pythonie mają na celu zademonstrowanie matematycznych zasad omawianych algorytmów. Nie są przeznaczone do użycia jako rzeczywiste implementacje. W każdym zastosowaniu produkcyjnym niezbędne jest korzystanie z dobrze wspieranych i zweryfikowanych bibliotek bezpieczeństwa.

Certyfikat cyfrowy

Masz możliwość zdobycia odznaki poprzez udzielenie wystarczającej liczby poprawnych odpowiedzi w ocenie końcowej kursu.

Możesz podejść do oceny w dowolnym momencie.

Kolejne kroki po ukończeniu kursu

Udostępniono prezentację (patrz Pomocne materiały w przeglądzie kursu), która podsumowuje treści omówione w tym kursie. Warto ją pobrać, żeby móc do niej wrócić w przyszłości.

Trwają prace nad kolejnymi kursami, które będą kontynuacją tego wprowadzenia i obejmą tematy takie jak:

  • Praktyczne stosowanie szyfrowania bezpiecznego kwantowo
  • Biblioteki open-source
  • Produkty IBM®, które mogą pomóc