Практическое применение асимметричной криптографии — ПИПМАЙ: Лучшее со всей сети
Акцентный цвет
Фон
Игровой блок на главной
Праздничное оформление
Для всех устройств

Практическое применение асимметричной криптографии

Аннотация. Это копипаста моего старого поста сами знаете откуда. Описывает метод обмена шифрованными сообщениями по открытому каналу, когда зашифровать сообщение может кто угодно, а расшифровать - только получатель.

Далее, немного теории. Если вам это читать утомительно, можете сразу переходить к практике.

Самый простой из предложенных вариантов - зайти в какой-нибудь из его старых постов и написать там комментарий. Только проблема в том, что посты так или иначе остаются публичными, и комментарии в них всё ещё может читать кто угодно. 

Окау. Более надёжный и вполне рабочий вариант - запросить почту или какую-нибудь ещё контактную информацию. Но тогда ею сможет воспользоваться также любой пользователь (грубо говоря, я, например, прошу Васю Пупкина скинуть мне на почту информацию о том, как его найти в городе Мухосранске, мою почту видит злоумышленник, представляется Васей и присылает мне адрес бара Blue Oyster... Ну и т.д. по сценарию).

Другой вариант - зашифровать сообщение. 

И тут уже нужно немного теории. Шифрование бывает симметричным и асимметричным. Первое нам сразу же не подходит, т.к. сообщение зашифровывается и расшифровывается одним и тем же ключом, который должен быть и у отправителя, и у получателя, но, при этом, никто больше его знать не должен. Ну и обменяться таким ключом по открытому каналу (коим являются комментарии под постами) просто так не получится.

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

В общем, давным-давно, трое товарищей с фамилиями Rivest, Shamir и Adleman, придумали такой алгоритм шифрования и назвали его первыми буквами своих фамилий: RSA. Алгоритм оказался достаточно криптостойким и используется до сих пор. Но нам важно то, что сейчас имеются онлайн сервисы, позволяющие шифровать ваш текст этим алгоритмом прямо в браузере.

Теперь практика. Чтобы иметь возможность получить зашифрованное сообщение, нам нужна пара ключей: публичного и приватного. Лучше хранить их где-нибудь в надёжном месте. Соответственно, если хотим получить сообщение, просто пишем что-то типа: "Я хочу получить сообщение, вот мой публичный ключ: ...". 

Если же мы хотим отправить сообщение определённому пользователю, пишем ему что-то типа: "Эй, дружище, у меня есть для тебя важная информация, дай мне, пожалуйста, свой публичный ключ!"

Далее, отправитель шифрует сообщение полученным публичным ключом, передаёт его по открытому каналу (т.е. в комментарии). Получатель же расшифровывает его своим приватным ключом.

Нужные сервисы гуглятся по запросу "RSA онлайн". Они позволяют генерировать пары ключей, а также шифровать и расшифровывать сообщения с их помощью. Но есть один тонкий момент. Реализации могут слегка отличаться друг от друга. И кое-где могут всплывать разные косяки.

Например, первая ссылка в гугле почему-то у меня не работала нормально. При копировании ключей туда-сюда, они как-то портились, и, вставив только что сгенерированную пару ключей на новую страницу, я уже не мог ничего расшифровать. 

Зато следующий сервис уже работал более стабильно. Даже удалось с его помощью обменяться парой сообщений с добрым человеком. Поэтому на его примере и разберём, что и как делать. Хотя, по факту, тем, кто знаком с криптографией и умеет читать интерфейс, всё и так должно быть ясно.

Здесь у нас генератор ключей. Ведь нельзя же просто взять две рандомные строки и объявить их своими ключами? В выпадающем поле выбирается размер ключа. Чем он больше, тем более стойким будет шифр (каждый дополнительный бит увеличивает сложность полного перебора в 2 раза). Судя по википедии, даже для подбора 1024-битного ключа понадобится довольно много времени... Но, если я ошибаюсь, всегда можно взять ключ побольше.

Короче, выбираем размер ключа, нажимаем кнопку "Generate", и копируем содержание полей Public Key и Private Key куда-нибудь в надёжное место. Для примера, я сгенерировал пару ключей, которые буду использовать в посте. Приватный ключ получается более длинным, чем публичный.

Теперь шифрование.

В первое поле вводим ваш текст, а во второе - публичный ключ получателя (следим, чтобы с ключом не скопировалось ничего лишнего, типа символа переноса строки). Далее зачем-то нам предоставляется выбор того, какой ключ мы ввели (зачем это нужно, я не понимаю, т.к. при шифровании используется только публчный ключ) и тип шифра. Думаю, ничего страшного, если мы ничего не будем трогать, а просто нажмём кнопку и скопируем из третьего поля полученный текст. Ещё один нюанс - длина сообщения не должна превышать 117 байт. Но это не большая проблема, т.к. этого более чем достаточно, чтобы передать какую-нибудь коротенькую ссылку на текст, изображение или страничку в ВК.

Расшифровка.

Сначала вставляем зашифрованное сообщение, потом свой длинный приватный ключ. Тип ключа и шифра не трогаем. И нажимаем кнопочку. Получаем исходный текст. Вот и вся практика. 

В принципе, ничего сложного, хотя это тот ещё костыль. Но из спортивного интереса или при крайней необходимости, это вполне рабочий вариант. Он так или иначе защитит ваши сообщения ото всех, кто не знает либо самого сообщения, либо приватного ключа. По крайней мере, если никто не будет раскрывать приватные ключи или использовать слишком короткие. Ну или пока у каждого желающего дома не будет квантового компьютера, который, используя свои квантовые алгоритмы, сможет вычислять приватный ключ за приемлемое время.

Собственно, здесь, при наличии личных сообщений, это особо и не нужно. Но мало ли, вдруг вам захочется приватно пообщаться где-нибудь, где такого функционала нет, а злые модераторы только и ждут, чтобы вас забанить за неугодные сообщения, которые не нравятся их левой пятке.


Раскрыть
Собственно, если кто-то хочет мне здесь что-то сказать по открытому каналу, вот мой ключ:
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC6SOdEI+1ad+8gruRrXJsn7BrB4Yl/uZDXzPSEgb4lokNQCUj3cuAoVqw1d9wt9cdAsw3okUakeCqCxYupjGFS8k0l/fqxI+YxCVf/2SzaPJ4BA6/1NLubv8Sunk6bd9EQsObABwc5RhHQdmwB93NHwyp4hisFYby/Ym9MWEg0+QIDAQAB
+1
2 Нырнуть
2
AAAADAZJ9D5YXrerRtDTmvrNa6vrsSK4IxZb/4HHDg67vHTfQ73k63t2KR+z1JRjRQrf

Изображение
0
3 Нырнуть
3
Обычно, текст, зашифрованный там с этим ключом, заканчивается на =. Как этот (сам для себя зашифровал):
HNEXoq40nRnlAEnZtospVkGxfc6SqH87q9RIMh1OtegX0vCwfNfRkNJhkCHwMD1hkE6rhfVKx2VkFgNfCwZhHtHIwK1IXGsOlKjyd7xl9E8qUXg73rtmFqwX8x/L43Ahzshm7zk84bXzES49d0xvppCZPel2+nipoyVF+RgCrIc=
0
4 Нырнуть
4
Шифрование же может проводиться разным софтом? Главное чтобы ключ был записан без ошибок?
+1
5 Нырнуть
5
В теории, да. На практике же, у всех своя реализация. Так что, вероятно, будет удобнее использовать один и тот же сервис. Либо вообще свой городить.
+1
6 Нырнуть
7 Нырнуть
7
Ну, тот сервис, что я предложил, твоё сообщение не расшифровывает.
0
#Шифруем чтонибудь прикольное, например промокод 5% на питоний корм в специализированном магазине 
#пишем пост на пыкабэ что зашифровали прикольную фигню.
#в качестве подсказки даем ключевые фразы из этого поста, которые через гугл и приведут сюда.
#наблюдаем и приветствуем любителей корма-на-халяву
+3
Всё верно.
Но.
Модераторы Пикабу могут начать банить пользователей, выкладывающих свои публичные ключи. Просто потому что могут.
Надо как-то хитрее. Как? Я всю голову сломал, но ничего не придумал. Тем более, нас прямо сейчас читают модеры Пикабу.
+1
2 Нырнуть
2
Угу. С учётом того, с какой скоростью они меняют свои же правила…
+3
2
3 года назад
Комментарий удалён
3 Нырнуть
4 Нырнуть
4
3 года назад
Комментарий удалён

Новые комментарии

Я вернулся к вам

понял, спасибо

Я вернулся к вам

Admin
3 дня назад

видо добавить — просто ссылку скопируй и все, утебя там лишний символ был в начале, поэтому не получилось

+1
Игра "Пилот 2026"

konst
5 дней назад

Вот десятка лучших (только счас специально посмотрел), у всех намного дольше 7 секунд — №
Пилот
Очки
Сек
Дата
 
1
OborotovKonstantin s
397
39.71
2026-09-19 21:26:14

2
JasonWoorhies
380
38.03
2026-10-07 11:04:52

3
OborotovKonstantin s
378
37.86
2026-09-19 11:02:30

4
OborotovKonstantin s
360
36.03
2026-09-26 19:18:02

5
JasonWoorhies
348
34.82
2026-10-07 10:57:28

6
ОborotovКonstantin
345
34.52
2026-09-17 19:13:06

7
JasonWoorhies
307
30.77
2026-10-07 10:55:19

8
OborotovKonstantin Redmi14C
279
27.93
2026-09-13 16:58:49

9
OborotovKonstantin s
276
27.63
2026-09-19 15:10:18

10
Diman
240
24.02
2026-09-19 17:01:55

Субботницы не будет

BuhBuhov
5 дней назад

Умер дед сегодня в реанимации....
Не успели, надо было раньше его туда.Изображение

Субботницы не будет

BuhBuhov
5 дней назад

Хрен его знает, что лучше.

Тут со мной дед лежал в палате. 77 лет. Задолбал если честно. Преподаватель математики бывший. Вроде и вменяемый, но флага свистит через всю голову. То ему не так, это не эдак. Катеттер выдрал, кровать ему слишком высокая, в бутылку ссать не буду (а с туалета встать уже сам не может). Засядет ночью в туалете и оттуда «Помогите! Я сам не могу, дотащите до кровати!». А нах ты туда вообще поперся, если на тебе памперс одет?

По ночам не спит, чего-то барагозит, перекладывает туда-сюда. Короче, спать не дает. И по факту не лечится. Цаца короче. Жену бедную загонял и в хвост и в гриву. Все вокруг него должно крутиться. А то, что лечение не идет, так это все кругом виноваты, а не он.
Ну и в итоге его сегодня с утра туда. В палату интенсивной терапии. Сказали на сутки. Надеюсь побольше задержится. Я хоть высплюсь.

И вот там его сейчас хочет он того или нет, будут реально лечить. Там санитарки матом разговаривают и со всеми на «ты». Хоть ты академик, хоть член правительства. Так что да. Может и выглядит ужасно. Зато эффективно. И деду урок будет.

+1
Субботницы не будет

CBeTJIR4ok
5 дней назад

Кошмар какой!

Субботницы не будет

BuhBuhov
5 дней назад

Палата интенсивной терапии, я тебе скажу, это такое место, где про медицину можно сказать, что она карательная. Поставили катеттер в вену. Привязали к капельнице коротким шнурком этот катеттер. И все. Трое суток лежи, поссать в бутылку (специальную), чтобы по большому, заранее попроси. Отцепят от капельницы, отвезут на каталке в туалет, а потом обратно под капельницу. Жестко, почти как в тюрьме. На мемчики им насрать. Так же как и на 1С. :-) Весьма неприятно. Зато эффективно.

Изображение

+1
Вот я вернулся и мне диагностировали депрессию

Admin
6 дней назад

звучит все отлично, фигушки воробушкам еще не начал показывать?

+1
Субботницы не будет

Admin
6 дней назад

Это как так ??? ты врачам скащзал тчо бы отвевенный за мемы? ане говри прро 1с, скорей всего добьют

+3
Субботницы не будет

CBeTJIR4ok
6 дней назад

Выздоравливай! 

+1
Вот я вернулся и мне диагностировали депрессию

Koxa
7 дней назад

А мне фенибут выписали. Хожу на похуях совершенно на работе. Сон наладился. Соответственно и пить совсем нельзя, что вобще то плюс.  Единственное что последняя неделя курса а дальше я сам по себе без таблеток. 

Тройняшки мы

ZloiDED
7 дней назад

У меня не очень частая фамилия, но однажды описывал своего однофамильца. Он сильно удивился, когда увилил свою фамилию под заключением ИзображениеНо нет, степень родства отсутствовала, даже сильно дальняя. 

Подкрадули

Koxa
7 дней назад

Из-за ИИ уже не знаешь чему верить.

Тройняшки мы

Koxa
9 дней назад

Я купил две грамма гаша
Я купил две грамма гаша, ла-ла-ла
А по ящику крутили пятый выпуск «Ералаша»
Как я ржал, блять, как я ржал, блять, с «Ералаша»!
До чего же остроумна эта детская параша