{ "cells": [ { "cell_type": "markdown", "id": "e62c3ba4", "metadata": {}, "source": [ "# Użytkowanie" ] }, { "cell_type": "markdown", "id": "838612f7", "metadata": {}, "source": [ "## Szyfrowanie" ] }, { "cell_type": "markdown", "id": "dab3757c", "metadata": {}, "source": [ "Aby zaszyfrować tekst \"HARCERZ I HARCERKA\" słowem klucz \"KAROLINKA\" należy zaimportować klasę `Karolinka` z zainstalowanej biblioteki, stworzyć obiekt klasy, a następnie wywołać funkcję `zaszyfruj` tego obiektu.\n" ] }, { "cell_type": "code", "execution_count": null, "id": "78387906", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "8x9 8x3 6x5 3x9 5x2 7x1 7x3\n", "9x9\n", "8x9 1x2 6x5 3x2 5x2 7x8 1x1 8x3\n" ] } ], "source": [ "from karolinka import Karolinka\n", "karolinka = Karolinka()\n", "zaszyfrowany_tekst = karolinka.zaszyfruj(\"HARCERZ I HARCERKA\")\n", "print(zaszyfrowany_tekst)" ] }, { "cell_type": "markdown", "id": "c9752b34", "metadata": {}, "source": [ "Jeżeli chcesz zaszyfrować wiadomość innym słowem klucz, podaj je jako pierwszy argument klasy `Karolinka` przy tworzeniu obiektu." ] }, { "cell_type": "code", "execution_count": 3, "id": "8cac3eaf", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "5x8 1x10 6x2 3x10 5x10 6x2 6x5\n", "6x8\n", "8x1 1x1 7x4 9x5 5x10 1x9 7x3 1x10\n" ] } ], "source": [ "from karolinka import Karolinka\n", "karolinka = Karolinka(\"ALEKSANDRA\")\n", "zaszyfrowany_tekst = karolinka.zaszyfruj(\"HARCERZ I HARCERKA\")\n", "print(zaszyfrowany_tekst)" ] }, { "cell_type": "markdown", "id": "e420f092", "metadata": {}, "source": [ "Zarówno słowo klucz jak i tekst do zaszyfrowania mogą być podane przy użyciu małych liter, jednak po odszyfrowaniu tekst będzie się składał z wielkich liter." ] }, { "cell_type": "code", "execution_count": 4, "id": "ebcf9f7c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "8x6 1x6 7x4 9x5 2x8 1x9 7x9\n", "5x3\n", "8x10 1x6 6x2 3x10 5x6 7x4 1x4 1x10\n" ] } ], "source": [ "from karolinka import Karolinka\n", "karolinka = Karolinka(\"Aleksandra\")\n", "zaszyfrowany_tekst = karolinka.zaszyfruj(\"harcerz i harcerka\") \n", "print(zaszyfrowany_tekst)" ] }, { "cell_type": "markdown", "id": "a2556561", "metadata": {}, "source": [ "Jak widać zaszyfrowana wiadomość ma pewien element pseudolosowy, więc może być różna za każdym razem." ] }, { "cell_type": "markdown", "id": "657f283e", "metadata": {}, "source": [ "W razie potrzeby można zdefiniować własny alfabet, jako argument klasy `Karolinka`." ] }, { "cell_type": "code", "execution_count": 6, "id": "74955584", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "4x3 1x1 7x4 10x9 5x10 4x7 7x9\n", "5x3\n", "8x6 8x9 1x9 3x6 5x10 1x9 8x8 7x5\n" ] } ], "source": [ "from karolinka import Karolinka\n", "karolinka = Karolinka(\"Aleksandra\", alfabet=\"ABCDEFGHIJKLMNOPRSTUWYZ\")\n", "zaszyfrowany_tekst = karolinka.zaszyfruj(\"HARCERZ I HARCERKA\")\n", "print(zaszyfrowany_tekst)" ] }, { "cell_type": "markdown", "id": "9edeb03c", "metadata": {}, "source": [ "Należy jednak pamiętać, że ten sam alfabet musi zostać użyty przy odszyfrowywaniu. Może to stanowić swego rodzaju drugi klucz." ] }, { "cell_type": "markdown", "id": "c7dea584", "metadata": {}, "source": [ "## Odszyfrowywanie" ] }, { "cell_type": "markdown", "id": "5552881f", "metadata": {}, "source": [ "Aby odszyfrować tekst `8x2 1x9 7x8 3x9 5x2 3x4 7x3\\n9x2\\n8x2 1x9 9x6 3x2 5x2 7x8 1x1 1x9` zaszyfrowany słowem klucz \"KAROLINKA\" należy zaimportować klasę `Karolinka` z zainstalowanej biblioteki, stworzyć obiekt klasy, a następnie wywołać funkcję `odszyfruj` tego obiektu." ] }, { "cell_type": "code", "execution_count": 7, "id": "10f480fb", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "HARCERZ I HARCERKA\n" ] } ], "source": [ "from karolinka import Karolinka\n", "karolinka = Karolinka()\n", "odszyfrowany_tekst = karolinka.odszyfruj(\"8x2 1x9 7x8 3x9 5x2 3x4 7x3\\n9x2\\n8x2 1x9 9x6 3x2 5x2 7x8 1x1 1x9\")\n", "print(odszyfrowany_tekst)" ] }, { "cell_type": "markdown", "id": "ebc0bcd2", "metadata": {}, "source": [ "Jeżeli do zaszyfrowania wiadomości użyto innego słowa klucz, podaj je jako pierwszy argument klasy `Karolinka` przy tworzeniu obiektu." ] }, { "cell_type": "code", "execution_count": 8, "id": "ea352a76", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "HARCERZ I HARCERKA\n" ] } ], "source": [ "from karolinka import Karolinka\n", "karolinka = Karolinka(\"ALEKSANDRA\")\n", "odszyfrowany_tekst = karolinka.odszyfruj(\"4x3 1x1 7x4 10x9 5x10 4x7 7x9\\n5x3\\n8x6 8x9 1x9 3x6 5x10 1x9 8x8 7x5\")\n", "print(odszyfrowany_tekst)" ] }, { "cell_type": "markdown", "id": "a407e796", "metadata": {}, "source": [ "Jeśli do zaszyfrowania wiadomości użyto innego alfabetu, może być konieczna jego zmiana:" ] }, { "cell_type": "code", "execution_count": 9, "id": "616a1ff2", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "HARCERZ I HARCERKA\n" ] } ], "source": [ "from karolinka import Karolinka\n", "karolinka = Karolinka(\"ALEKSANDRA\", alfabet=\"ABCDEFGHIJKLMNOPRSTUWYZ\")\n", "odszyfrowany_tekst = karolinka.odszyfruj(\"4x3 1x1 7x4 10x9 5x10 4x7 7x9\\n5x3\\n8x6 8x9 1x9 3x6 5x10 1x9 8x8 7x5\")\n", "print(odszyfrowany_tekst)" ] } ], "metadata": { "kernelspec": { "display_name": ".env", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.14.3" } }, "nbformat": 4, "nbformat_minor": 5 }