Шифр цезаря для бинарных файлов на HTML5 и JS

Шифр Цезаря, также известный как шифр сдвига, код Цезаря или сдвиг Цезаря — один из самых простых и наиболее широко известных методов шифрования.

Шифр Цезаря — это вид шифра подстановки, в котором каждый символ в открытом тексте заменяется символом, находящимся на некотором постоянном числе позиций левее или правее него валфавите. Например, в шифре со сдвигом вправо на 3, А была бы заменена на Г, Б станет Д, и так далее.

Шифр назван в честь римского императора Гая Юлия Цезаря, использовавшего его для секретной переписки со своими генералами.

Шаг шифрования, выполняемый шифром Цезаря, часто включается как часть более сложных схем, таких как шифр Виженера, и всё ещё имеет современное приложение в системе ROT13. Как и всемоноалфавитные шифры, шифр Цезаря легко взламывается и не имеет практически никакого применения на практике. (из Википедии)

Выбираете любой файл, в поле ввода указываете число от 0 до 255, это число сдвига байта информации. Нажимаете на кнопку и файл шифруется/дешифруется.

Есть недостаток, для шифрования/дешифрования, файлы помещаются в оперативную память. т.е. На 1 МБ файла требуется 2 МБ оперативной памяти.

Весь метод шифрования заключается в том, что массив с числами (каждое число это один байт данных) последовательно перебирается. К каждому значению элемента массива прибавляется число (значение сдвига), если сумма выйдет за пределы размерности одного байта (станет больше 255 или FF) то от получившегося числа вычитают 256.

Для дешифровки массив так же последовательно перебирается, но от каждого значения элемента массива вычитают число сдвига,  если получившееся значение меньше ноля то к нему прибавляют 256.

See the Pen Caesar cipher (binary long file) by Loktev Roman (@loktevra) on CodePen.

(Просмотров всего: 907, просмотров сегодня: 1)

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

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