Простое шифрование текста — кортежем цифр, с регулированием сложности

от автора

Github

https://github.com/denisxab/SHISH

Захотелось сделать очень простое криптографическое приложение для текста, вдруг будет такая необходимость.

Смысл в том что шифрование происходит случайными числами от заданных bit, второе значение rand задает количество ключей для каждого символа, чтобы он не повторялся и нельзя было найти закономерность текста.

Сам ключ храниться в .json поэтому отправить, посмотреть, редактировать его просто.

Как это работает ?

  1. Создать ключ.
  2. Поделиться ключом.
  3. Написать текст в окно «Закодировать» нажать на кнопку.
  4. Отправить текст из окна «Декодировать».

Из за особенности tkinter он отвечает не list а обычным str и поэтому каждый отступ в окне «Декодировать» важен.

Создание ключа

bit = input() rand = input() l = {} a = list('б','у','к','в','ы')  for x in a: 	l[x]=[] 	for y in range(rand): 		l[x].append(random.getrandbits(bit)) print(l)  

Кодировать текст

slo = input() red =dict(созданный словарь с ключом) v = [] for x in slo: 	if x in red: 		v.append(random.choice(red[x])) print(v) 

Декодировать

list_code = input() red = dict(созданный словарь с ключом) v = {}  for x in red.items(): 	for z in list_code: 		if z in x[1]: 			v[z]=x[0]  zx = [] for x in  list_code: 	if x in v: 		zx.append(v[x]) 


ссылка на оригинал статьи https://habr.com/ru/post/460727/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *