Skip to content

DameerGamlet/cryptography-assignment

Repository files navigation

cryptography-assignment

4 решений по криптографии на языка JAVA.

1) Шифр Цезаря с ключом.

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

2) Шифр Уитстона - Плейфера.

Открытый текст разбивается на блоки длины 2, такую же длину имеют блоки криптограммы. Выбирают сначала ключевое слово, затем буквы алфавита, начиная с ключевого слова, вписываются в квадрат 5×5, при этом буквы «i» и «j» объединяются вместе. При шифровании - если буквы (различные) стоят в одной строке (столбце), то берут их правых (нижних) соседей с учетом циклического сдвига; если буквы стоят в разных строках и столбцах, то вместо первой берется буква из той же строки, но в столбце 2-й буквы, а вместо 2-й - в той же строке, но в столбце первой буквы. Реализовать шифрование/расшифрование сохраненного в файле сообщения на основе ключа. (Английский алфавит.)

3) Шифр революционеров (revolutionaries cipher).

Открытый текст записывается под ключом, при этом в каждой последующей строке записывается на 1 символ меньше. Выписывание криптограммы происходит по столбцам согласно алфавитному порядку букв в ключе. Реализовать шифрование/расшифрование сохраненного в файле сообщения на основе ключа. (Русский алфавит, знаки препинания, цифры.)

4) Асимметричная криптосистема.

Реализовать шифрование/расшифрование сохраненного файле сообщения с помощью криптосистемы RSA (с использованием реализованного 2 теста Миллера - Рабина; подробности на занятии). (Русский алфавит, знаки препинания, цифры. )

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages