doppel würfel / double transposition programm

J

JochenD

Hallo Zusammen,

ich bin gerade auf der Suche nach einem Programm das mir hilft einen Plain Text mit der Doppelwürfel oder Double Transposition Methode zu ver- und entschlüsseln. Kennt Jemand eines?

Gruß

Jochen
 
Mir war gerade langweilig. :D
Verschlüsselung:
Code:
#! /usr/bin/env python3

from fractions import gcd

class CharRow():
    __row = ''
    records = []

    def __init__(self, row):
        self.__row = row

    def append(self, item):
        self.records = self.records + [item]

    @property
    def recstr(self):
        return ''.join(self.records)

    def __str__(self):
        return self.__row

    def __eq__(self, other):
        return str(self) == str(other)

    def __ne__(self, other):
        return str(self) != str(other)

    def __gt__(self, other):
        return str(self) > str(other)

    def __lt__(self, other):
        return str(self) < str(other)


class Dice():
    __text = ''

    def __init__(self, text):
        self.__text = text

    @property
    def text(self):
        return self.__text

    def single(self, keyword):
        return self.__dice(keyword, self.text)

    def __dice(self, keyword, text):
        """
        Perform dice encryption
        """
        kwlist = [CharRow(c) for c in keyword]
        i = 0
        for c in text:
            if not i < len(kwlist):
                i = 0
            kwlist[i].append(c)
            i += 1
        return ''.join([t.recstr for t in sorted(kwlist)])

    def double(self, keyword1, keyword2):
        """
        Perform double encryption
        """
        if gcd(len(keyword1), len(keyword2)) != 1:
            print('WARNING: Insecure keys')
        return self.__dice(keyword2, self.single(keyword1))

text = input('Text: ')
kw1 = input('Keyword 1: ')
kw2 = input('Keyword 2: ')

d = Dice(text)
single = d.single(kw1)
print('Single encoding: ' + single)
single = d.double(kw1, kw2)
print('Double encoding: ' + single)
 
Zuletzt bearbeitet von einem Moderator:

Ähnliche Themen

Adobe Acrobat Reader Linux

Keine grafische Oberfläche (Debian Installation)

Programm für Audiodatei in Textdatei konvertieren

Anlage einer SWAP-Datei unter CentOS 7 funktioniert nicht

Dokumentenmanagement mit Linux

Zurück
Oben