Взлом Vigenere cipher

Материал из InformationSecurity WIKI
Перейти к: навигация, поиск


Где часто используется

Скрипты

python

encrypt

 1 def encryption(plaintext, keyword):
 2     txt_len = len(plaintext)
 3     keyword *= txt_len // len(keyword) + 1
 4     keyword = keyword[:txt_len]
 5     encoded = ""
 6     for c in range(txt_len):
 7         newchar = ord(plaintext[c]) + ord(keyword[c]) - 194
 8         newchar %= 25
 9         encoded += chr(newchar + 97)
10     return encoded

decrypt

1 def decrypt(key, ciphertext):
2     from itertools import cycle
3     ALPHA = 'abcdefghijklmnopqrstuvwxyz'
4     pairs = zip(ciphertext, cycle(key))
5     result = ''
6     for pair in pairs:
7         total = reduce(lambda x, y: ALPHA.index(x) - ALPHA.index(y), pair)
8         result += ALPHA[total % 26]
9     return result

perl

ruby

bash

C/C++

Утилиты

Райтапы

Ссылки