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