Answer the question
In order to leave comments, you need to log in
How to fit the equation for double permutation encryption?
How to adjust the equation for encryption so that everything is encrypted correctly?
Here is the equation: 4*(int(y)+1)-(int(x)+1).
def encode(text, xkeys, ykeys):
return ''.join(text[4*(int(y)+1)-(int(x)+1)] for y in ykeys for x in xkeys)#ТУТ ПОДГОНЯТЬ УРАВНЕНИЕ ТАК, ЧТОБЫ ПРИ ШИФРОВКИ "ПРИЛЕТАЮВОСЬМОГО" ПОЛУЧАЛОСЬ "ТЮАЕООГМРЛИПОЬСВ"
def decode(text, xkeys, ykeys):
return ''.join(text[4*(int(y)-1)+(int(x)-1)] for y in ykeys for x in xkeys)
xkeys = "4132"
ykeys = "3142"
print (xkeys)
print (ykeys)
ciphertext = encode(u'ПРИЛЕТАЮВОСЬМОГО', xkeys, ykeys)#Надо чтобы результат этого шифрования был ТЮАЕООГМРЛИПОЬСВ. Для этого нужно изменять уравнение в def encode так, чтобы оно было обратным выражением тому, что в def decode.
if ciphertext != "ТЮАЕООГМРЛИПОЬСВ":
print(ciphertext)
print ("Уравненпие не верно, подгоняйте дальше...")
else:
print(ciphertext)
print ("Уравнение правильное. Напишите мне.")
text = decode(ciphertext, xkeys, ykeys)
if text != "ПРИЛЕТАЮВОСЬМОГО":
print(text)
print ("Кодированый текст не правильно расшифровался, подгоняйте encode дальше...")
else:
print(ciphertext)
print ("Уравнение правильное. Напишите мне.")
text = decode(u'ТЮАЕООГМРЛИПОЬСВ', xkeys, ykeys)#Как должна проходть расшифровка
print(text)
Answer the question
In order to leave comments, you need to log in
Sorry, the code is not a fountain, well, as best I can.
def getnumber(x, y):
return 4*(int(y)-1)+(int(x)-1)
def encode(text, xkeys, ykeys):
counter = 0
newtext = ['' for _ in range(len(text))]
for y in ykeys:
for x in xkeys:
if counter < len(text):
newtext[getnumber(x, y)] = text[counter]
counter += 1
return ''.join(newtext) #ТУТ ПОДГОНЯТЬ УРАВНЕНИЕ ТАК, ЧТОБЫ ПРИ ШИФРОВКИ "ПРИЛЕТАЮВОСЬМОГО" ПОЛУЧАЛОСЬ "ТЮАЕООГМРЛИПОЬСВ"
def decode(text, xkeys, ykeys):
return) ''.join(text[getnumber(x, y)] for y in ykeys for x in xkeys)
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question