В этой статье мы собираемся создать собственный шифр с использованием Javascript.

Зашифрованный текст - это зашифрованный текст, преобразованный из открытого текста с использованием алгоритма шифрования.
Шифрованный текст не читается. Требуется расшифровать в открытый текст с помощью ключа.
Алгоритмы шифрования-дешифрования, используемые для создания зашифрованного текста, бывают разных типов, некоторые из них:

  1. На основе закрытого ключа: в этом типе один и тот же ключ используется для шифрования и дешифрования. Этот ключ следует держать в секрете.
  2. На основе открытого ключа: в этом типе используются два разных ключа. Открытый ключ используется для шифрования данных, а закрытый ключ используется для дешифрования данных.
  3. Метод замены: в этом случае символы заменяются некоторыми другими символами, которые затрудняют чтение.
  4. Метод транспозиции: в этом методе порядок каждой буквы изменен таким образом, что данные не могут быть прочитаны.

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

Терминология

криптография: Изучение алгоритмов шифрования

открытый текст: исходное сообщение

ciphertext: зашифрованное сообщение

cipher: алгоритм преобразования открытого текста в зашифрованный текст.

Приступим!

Мы собираемся использовать строку «Давайте создадим наш собственный шифр» в качестве данных и подпись, состоящую из букв и цифр.
Вы можете создать подпись своего выбор согласно вашему требованию.

Пользователь передаст ключ в качестве параметра вместе с данными.

Создадим подпись, состоящую из следующих элементов:

a-z , A-z , 0–9

Формат ключа будет состоять из нескольких чисел от 0 до 61, разделенных знаком. (точка)

например, для key = 4.34.0.39

На следующем этапе мы преобразовали бы ключ в несколько наборов из 2 смежных элементов.

т.е. sets = {4, 34} {0, 39}

Позволяет зашифровать

  1. Для каждого набора проверьте индекс подписи для обоих значений набора

т.е. {4, 34} = ›{подпись [4], подпись [34]} = {‘ e ’,‘ I ’}

2. Проверьте данные и замените все «e» на «I» и «I» на «e».

поэтому данные будут преобразованы в «LIts CrIatI Our Own CiphIr»

3. Для набора {0, 39} = ›{подпись [0], подпись [39]} = {‘ a ’,‘ O ’}

4. Теперь замените все «а» на «О» и наоборот.

данные будут преобразованы в «LIts CrIOtI aur awn CiphIr»

Расшифровка

Давайте расшифруем данные и сделаем их снова доступными для чтения.

  1. Сначала рассмотрим набор {0, 39}

заменить все «a» на «O» и «O» на «a»

данные будут преобразованы в «LIts CrIatI Our Own CiphIr»

2. Теперь рассмотрим множество {4, 34}

заменить все «е» на «я» и «я» на «е»

Мы возвращаем наши исходные данные: Давайте создадим наш собственный шифр

Вы можете обратиться к приведенному ниже коду или клонировать репозиторий с помощью
git clone https://github.com/nitinmanocha/cipher.git

Не забывайте хлопать и подписываться, если вам понравилась статья :)

По любым вопросам или предложениям вы можете связаться со мной в Twitter.