Lösungswort:
Code: Alles auswählen
ichhabeindunklesgeheim
nissichhabenochieestar
crafhtgespieltdafuersch
aemeichmichsehrallerdi
ngstruebtdasnichtmeine
vorfreudeaufstarcraftj
iausserdemwerdeichdasm
itstarcraftdemnaechsti
rgendwanneinmalnachhol
Ich hab mir schon fast gedacht, dass du jetzt wohl ne einfache verschiebe-chiffre benutzt hast (weil du das vorhin schon bei mir vermutet hattest
) und hab einfach mal alle 26 möglichkeiten durchrechnen lassen. für k = 19 haben die ersten paar buchstaben auch gepasst, der rest allerdings nicht mehr. zufällig hab ich gesehen, dass für k = 20 die nächsten paar buchstabend wieder passten. netterweise waren diese teilstrings genauso lang, wie jeweils deine zeilen, sodass ich einfach alle teilstrings durchprobieren und mir jeweils die schlüssel notieren konnte.
Falls jemand Python mag, hier das Lösungsscript:
Code: Alles auswählen
#!/usr/bin/env python
# ecoding: utf-8
def ctoi(c, upper = False):
"""
Wandelt ein char in ein int aus Z_26 um, zieht dabei entweder ein A oder ein
a ab.
@param c: Das umzuwandelnde Zeichen.
@param upper: Zieht ein A ab wenn True, sonst ein a
"""
sub = 'A' if upper else 'a'
return ord(c) - ord(sub)
def itoc(i, upper = False):
"""
Wandelt eine Zahl (0..25) in ein char um – entweder in ein großes oder in
ein kleines.
@param i: Die umzuwandelnde Zahl.
@param upper: Wandeln in einen Großbuchstaben, wenn True, sonst in einen
Kleinbuchstaben.
"""
add = 'A' if upper else 'a'
return chr(i + ord(add))
def decode(c, k):
m = ''
for i in range(len(c)):
m += itoc((ctoi(c[i]) + k) % 26)
return m
if __name__ == '__main__':
c = [
'pjoohilpukburslznlolpt',
'toyyoinnghktuinokkyzgx',
'dsbgiuhftqjfmuebgvfstdi',
'imumqkpuqkpampzittmzlq',
'qjvwuxhewgdvqlfkwphlqh',
'dwznzmclmicnabizkzinbr',
'jbvttfsefnxfsefjdiebtn',
'cnmnulwluznxyghuywbmnc',
'xmktjcgttkotsgrtginnur',
]
k = [19, 20, 25, 18, 23, 18, 25, 6, 20]
for i, line in enumerate(c):
print decode(line, k[i])