From 534b70521c7440cdba2703260a8e4f8684f1daae Mon Sep 17 00:00:00 2001 From: Het Joshi Date: Sat, 8 Oct 2022 20:01:43 +0530 Subject: [PATCH] polybius cipher added --- README.md | 11 ++++++ dist/kryptor-0.5.0-py3-none-any.whl | Bin 0 -> 44111 bytes dist/kryptor-0.5.0.tar.gz | Bin 0 -> 54540 bytes pyproject.toml | 2 +- src/kryptor.egg-info/PKG-INFO | 15 +++++++- src/kryptor.egg-info/SOURCES.txt | 1 + src/kryptor/polybius_cipher.py | 55 ++++++++++++++++++++++++++++ 7 files changed, 81 insertions(+), 3 deletions(-) create mode 100644 dist/kryptor-0.5.0-py3-none-any.whl create mode 100644 dist/kryptor-0.5.0.tar.gz create mode 100644 src/kryptor/polybius_cipher.py diff --git a/README.md b/README.md index 0caeddf..80b75d9 100644 --- a/README.md +++ b/README.md @@ -117,4 +117,15 @@ from kryptor.blowfish_cipher import BlowfishCipher obj = BlowfishCipher() print(obj.encrypt(1684)) # returns 8301200985422371632 print(obj.decrypt(8301200985422371632)) # returns 1684 +``` +### POLYBIUS CIPHER + +--- + +```python +from kryptor.polybius_cipher import PolybiusCipher + +obj = PolybiusCipher() +print(obj.encrypt("I am Dencoder")) # returns 24 1132 1415331334141542 +print(obj.decrypt("24 1132 1415331334141542")) # returns i am dencoder ``` \ No newline at end of file diff --git a/dist/kryptor-0.5.0-py3-none-any.whl b/dist/kryptor-0.5.0-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..19e831ed1fdad03a9a1c918245cb56ef984be20b GIT binary patch literal 44111 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 V{nkFgz|h|wqflUAmPLQP`+vQV64C$w literal 0 HcmV?d00001 diff --git a/dist/kryptor-0.5.0.tar.gz b/dist/kryptor-0.5.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..d754a049a8b053d4399cfc4fc4717a7d85832da7 GIT binary patch literal 54540 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 R&wt~e{~vz;O#1+E0|1a5lKTJv literal 0 HcmV?d00001 diff --git a/pyproject.toml b/pyproject.toml index ce8e3ad..effc462 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,7 +3,7 @@ requires = ["setuptools>=61.0"] build-backend = "setuptools.build_meta" [project] name = "kryptor" -version = "0.4.0" +version = "0.5.0" authors = [ { name="Het Joshi (DENCODER)", email="hetcjoshi1684@gmail.com" }, ] diff --git a/src/kryptor.egg-info/PKG-INFO b/src/kryptor.egg-info/PKG-INFO index e25f09f..1b10ac4 100644 --- a/src/kryptor.egg-info/PKG-INFO +++ b/src/kryptor.egg-info/PKG-INFO @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: kryptor -Version: 0.4.0 +Version: 0.5.0 Summary: Encrypt and Decrypt data with famous cryptography techniques Author-email: "Het Joshi (DENCODER)" License: GNU GENERAL PUBLIC LICENSE @@ -796,7 +796,7 @@ obj = VernamCipher() print(obj.encrypt("I am Dencoder", "Python Coder")) # returns xyfksaecgii print(obj.decrypt("xyfksaecgii", "Python Coder")) # returns iamdencoder ``` -# BLOWFISH CIPHER +### BLOWFISH CIPHER --- @@ -807,3 +807,14 @@ obj = BlowfishCipher() print(obj.encrypt(1684)) # returns 8301200985422371632 print(obj.decrypt(8301200985422371632)) # returns 1684 ``` +### POLYBIUS CIPHER + +--- + +```python +from kryptor.polybius_cipher import PolybiusCipher + +obj = PolybiusCipher() +print(obj.encrypt("I am Dencoder")) # returns 24 1132 1415331334141542 +print(obj.decrypt("24 1132 1415331334141542")) # returns i am dencoder +``` diff --git a/src/kryptor.egg-info/SOURCES.txt b/src/kryptor.egg-info/SOURCES.txt index 8bea564..f7fad53 100644 --- a/src/kryptor.egg-info/SOURCES.txt +++ b/src/kryptor.egg-info/SOURCES.txt @@ -9,6 +9,7 @@ src/kryptor/hill_cipher.py src/kryptor/img_steganography.py src/kryptor/morse.py src/kryptor/playfair_cipher.py +src/kryptor/polybius_cipher.py src/kryptor/rail_fence.py src/kryptor/vernam_cipher.py src/kryptor/vigenere_cipher.py diff --git a/src/kryptor/polybius_cipher.py b/src/kryptor/polybius_cipher.py new file mode 100644 index 0000000..7b99206 --- /dev/null +++ b/src/kryptor/polybius_cipher.py @@ -0,0 +1,55 @@ +# Date : 08/10/22 7:45 pm +# Author : dencoder (hetcjoshi1684@gmail.com) +# GitHub : (https://github.com/D-ENCODER) +# Twitter : (https://twitter.com/Hetjoshi1684) +# Version : 1.0.0 +import numpy as np + + +class PolybiusCipher: + def __init__(self): + SQUARE = [ + ["a", "b", "c", "d", "e"], + ["f", "g", "h", "i", "k"], + ["l", "m", "n", "o", "p"], + ["q", "r", "s", "t", "u"], + ["v", "w", "x", "y", "z"], + ] + self.SQUARE = np.array(SQUARE) + self._plaintext = "" + self._ciphertext = "" + + def _letter_to_numbers(self, letter): + index1, index2 = np.where(self.SQUARE == letter) + indexes = np.concatenate([index1 + 1, index2 + 1]) + return indexes + + def _numbers_to_letter(self, index1: int, index2: int) -> str: + return self.SQUARE[index1 - 1, index2 - 1] + + def encrypt(self, plaintext): + self._plaintext = plaintext.replace("j", "i").lower() + self._ciphertext = "" + for letter_index in range(len(self._plaintext)): + if self._plaintext[letter_index] != " ": + numbers = self._letter_to_numbers(self._plaintext[letter_index]) + self._ciphertext = self._ciphertext + str(numbers[0]) + str(numbers[1]) + elif self._plaintext[letter_index] == " ": + self._ciphertext = self._ciphertext + " " + + return self._ciphertext + + def decrypt(self, ciphertext): + self._ciphertext = ciphertext.replace(" ", " ") + self._plaintext = "" + for numbers_index in range(int(len(self._ciphertext) / 2)): + if self._ciphertext[numbers_index * 2] != " ": + index1 = self._ciphertext[numbers_index * 2] + index2 = self._ciphertext[numbers_index * 2 + 1] + + letter = self._numbers_to_letter(int(index1), int(index2)) + self._plaintext = self._plaintext + letter + elif self._ciphertext[numbers_index * 2] == " ": + self._plaintext = self._plaintext + " " + + return self._plaintext