С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/21: Рейтинг темы: голосов - 21, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 27.11.2021
Сообщений: 6

Реализовать алгоритмы шифрования и дешифрования табличной маршрутной перестановки

27.11.2021, 21:09. Показов 4178. Ответов 4

Студворк — интернет-сервис помощи студентам
Программно реализовать алгоритмы шифрования и дешифрования табличной маршрутной перестановки для таблицы n * n (n>=5).

Алгоритм записи в таблицу: Змейкой по столбцам от элемента [n;n]
Алгоритм считывания из таблицы: По строкам
Вложения
Тип файла: docx Kriptografia_Lr4.docx (29.8 Кб, 36 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.11.2021, 21:09
Ответы с готовыми решениями:

Программно реализовать алгоритмы шифрования и дешифрования табличной маршрутной перестановки
Программно реализовать алгоритмы шифрования и дешифрования табличной маршрутной перестановки для таблицы n * n (n>=5). Алгоритм записи...

Шифр табличной маршрутной перестановки
Задание Написать программу на языке программирования python которая шифрует и дешифрует сообщение методом табличной перестановки....

Программно реализовать алгоритмы шифрования и дешифрования табличной маршрутной перестановки
Программно реализовать алгоритмы шифрования и дешифрования табличной маршрутной перестановки для таблицы n * n (n>=5). Алгоритм...

4
Эксперт Python
8848 / 4500 / 1864
Регистрация: 27.03.2020
Сообщений: 7,316
27.11.2021, 23:14
Лучший ответ Сообщение было отмечено POVILITEL как решение

Решение

POVILITEL,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
from math import ceil
def encrypt(s, key):
    
    s = (w for w in s + ' '*(key*key - len(s)))
    arr = [['']*key for _ in range(key)]
    
    for j in range(key)[::-1]:
        a, b, c = key-1, -1, -1
        if (key-1-j)%2:
            a, b, c = 0, key, 1
        for i in range(a, b, c):
            arr[i][j] = next(s)
    
    return ''.join(''.join(elem) for elem in arr)
 
 
def decrypt(s, key):
    arr = []
    for i in range(0, key*key, key):
        arr.append(list(s[i:i+key])[::-1])
    
    s = ''
    k = 0
    for row in zip(*arr[::-1]):
        if k%2:
            s += ''.join(row[::-1])
        else:
            s += ''.join(row)
        k += 1
    
    return s
 
 
a = 'Программно реализовать\
 алгоритмы шифрования и\
  дешифрования табличной\
   маршрутной перестановки для таблицы'
 
key = ceil(len(a)**.5)
a_encr = encrypt(a, key)
print(a_encr)
print()
 
key = ceil(len(a_encr)**.5)
a_decr = decrypt(a_encr,key)
print(a_decr)
1
0 / 0 / 0
Регистрация: 27.11.2021
Сообщений: 6
29.11.2021, 21:12  [ТС]
Добрый день, а что обзначают эти строчки в данном коде?

Python
1
2
s = (w for w in s + ' '*(key*key - len(s))) 
    arr = [['']*key for _ in range(key)]
и здесь

Python
1
2
for i in range(0, key*key, key):
        arr.append(list(s[i:i+key])[::-1])
Добавлено через 11 минут
Gdez,
0
Эксперт Python
8848 / 4500 / 1864
Регистрация: 27.03.2020
Сообщений: 7,316
30.11.2021, 05:42
Лучший ответ Сообщение было отмечено POVILITEL как решение

Решение

POVILITEL,
Python
1
2
s = (w for w in s + ' '*(key*key - len(s))) 
arr = [['']*key for _ in range(key)]
Дополнение строки пробелами до полного квадрата количества символов в строке и создание итератора из строки. Можно было:
Python
1
s = iter(s + ' '*(key*key - len(s)))
Ниже в 12 строке происходит извлечение элементов из итератора -> next(s)

Вторая строчка - создание квадратной матрицы из пустых элементов, которую "заполняем" в 12-й строке.

Python
1
2
for i in range(0, key*key, key):
        arr.append(list(s[i:i+key])[::-1])
Срезами строки, которые переводятся в список символов, заполняется матрица
1
0 / 0 / 0
Регистрация: 27.11.2021
Сообщений: 6
06.12.2021, 22:01  [ТС]
Добрый день, еще раз. Если не трудно, не могли бы объяснить до конца как работает этот код, просто какой день сижу и не могу понять.
Gdez,
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.12.2021, 22:01
Помогаю со студенческими работами здесь

Реализовать алгоритмы шифрования и дешифрования табличной маршрутной перестановки для таблицы n * n
Написал код с массивом 5 на 5. Необходимо таблицу n * n (n>=5). Алгоритм записи в таблицу по столбцам, алгоритм скачивания по столбцам. ...

Реализовать алгоритм шифрования и дешифрования одиночной перестановки по ключу
Написать программу, реализующую алгоритм шифрования и дешифрования с помощью одиночной перестановки по ключу,данные для шифрования должны...

Шифр табличной маршрутной перестановки
Здравствуйте! Нужна помощь в методе написания шифра табличной маршрутной перестановки. Пояснение: исходное сообщения «АБРАМОВ ИЛЬЯ...

Шифрование методом табличной маршрутной перестановки
Разработать программу KeyTable, выполняющую шифрование в заданном тексте и DeKeyTable – дешифровку текста. Текст до шифрования, после...

Разработать многомодульную программу реализующую шифр табличной маршрутной перестановки
Здравствуйте, помогите пожалуйста с заданием! Не понимаю как его сделать ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru