{ "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 z argumentem \"KAROLINKA\", a następnie wywołać funkcję `zaszyfruj` tego obiektu.\n" ] }, { "cell_type": "code", "execution_count": 19, "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(\"KAROLINKA\")\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": 20, "id": "ebcf9f7c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "8x9 1x2 1x3 3x2 5x9 6x5 7x3\n", "9x9\n", "8x2 1x2 3x4 3x2 5x2 1x3 1x8 8x3\n" ] } ], "source": [ "from karolinka import Karolinka\n", "karolinka = Karolinka(\"karolinka\")\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": 21, "id": "74955584", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "8x9 1x9 9x6 3x9 5x2 1x3 9x4\n", "9x2\n", "8x2 1x9 7x1 3x9 5x9 9x6 1x8 1x9\n" ] } ], "source": [ "from karolinka import Karolinka\n", "karolinka = Karolinka(\"KAROLINKA\", 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 z argumentem \"KAROLINKA\", a następnie wywołać funkcję `odszyfruj` tego obiektu." ] }, { "cell_type": "code", "execution_count": 22, "id": "10f480fb", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "HARCERZ I HARCERKA\n" ] } ], "source": [ "from karolinka import Karolinka\n", "karolinka = 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": "a407e796", "metadata": {}, "source": [ "Jeśli do zaszyfrowania wiadomości użyto innego alfabetu, może być konieczna jego zmiana:" ] }, { "cell_type": "code", "execution_count": 23, "id": "616a1ff2", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "HARCERZ I HARCERKA\n" ] } ], "source": [ "from karolinka import Karolinka\n", "karolinka = Karolinka(\"KAROLINKA\", alfabet=\"ABCDEFGHIJKLMNOPRSTUWYZ\")\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)" ] } ], "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 }