Size: a a a

RU.CRYPTOGRAPHY — Криптография, алгоритмы, шифрование.

2020 December 10

F

Future in RU.CRYPTOGRAPHY — Криптография, алгоритмы, шифрование.
да, это оно
ельгамал там применяется, только вот реализацию пока не нашёл в коде
но уже проще будет, спасибо, вообще эта статья была в закладках, найду библиотеку ель гамал и попробую повторить это
источник

F

Future in RU.CRYPTOGRAPHY — Криптография, алгоритмы, шифрование.
кстати не могу картинку добавить
источник

D•

Dan • Captain in RU.CRYPTOGRAPHY — Криптография, алгоритмы, шифрование.
уже должен мочь, рестрикты убраны
источник

F

Future in RU.CRYPTOGRAPHY — Криптография, алгоритмы, шифрование.
вот собственно сам алгоритм, я так понимаю берётся некоторое рандомное k, оригинальный генератор умножается на генератор k, оригинальное сообщение зашифрованное шифруется ещё раз публичным ключём уже в степени k? у меня небольшие проблемы с чтением формул в криптографии :(
источник

F

Future in RU.CRYPTOGRAPHY — Криптография, алгоритмы, шифрование.
я так понимаю меняется только зашифрованный текст сообщения, публичный ключ тот же остаётся?
источник
2020 December 11

FR

Fido Retano in RU.CRYPTOGRAPHY — Криптография, алгоритмы, шифрование.
Future
да, это оно
ельгамал там применяется, только вот реализацию пока не нашёл в коде
но уже проще будет, спасибо, вообще эта статья была в закладках, найду библиотеку ель гамал и попробую повторить это
Правильно ли я понимаю, что это нужно для полиморфизма зашифрованных сообщений (одно и то же сообщение, зашифрованное на одном и том же ключе, имеет разный вид)?
источник

F

Future in RU.CRYPTOGRAPHY — Криптография, алгоритмы, шифрование.
Fido Retano
Правильно ли я понимаю, что это нужно для полиморфизма зашифрованных сообщений (одно и то же сообщение, зашифрованное на одном и том же ключе, имеет разный вид)?
Именно, только я не совсем понимаю, что нужно сделать, плохо читаю эти формулы.
Если кто может объяснить на пальцах, было бы прекрасно.
источник

FR

Fido Retano in RU.CRYPTOGRAPHY — Криптография, алгоритмы, шифрование.
Future
Именно, только я не совсем понимаю, что нужно сделать, плохо читаю эти формулы.
Если кто может объяснить на пальцах, было бы прекрасно.
Интересный, конечно, теориечисловой "вектор инициализации". :-)))
источник

FR

Fido Retano in RU.CRYPTOGRAPHY — Криптография, алгоритмы, шифрование.
Future
Именно, только я не совсем понимаю, что нужно сделать, плохо читаю эти формулы.
Если кто может объяснить на пальцах, было бы прекрасно.
У меня появилось и никак меня не покидает стойкое ощущение того, что мы заблудились в трёх соснах. Если Вам нужен полиморфизм шифрованных сообщений по схеме Эль-Гамаля, то ничего нового изобретать не нужно: сам алгоритм шифрования содержит в себе это свойство.
источник

FR

Fido Retano in RU.CRYPTOGRAPHY — Криптография, алгоритмы, шифрование.
источник

FR

Fido Retano in RU.CRYPTOGRAPHY — Криптография, алгоритмы, шифрование.
источник

FR

Fido Retano in RU.CRYPTOGRAPHY — Криптография, алгоритмы, шифрование.
Выбирая каждый раз разное число, будет генерироваться разный сессионный открытый ключ, соответственно также будет генерироваться разный сессионный закрытый ключ и произведение этого закрытого сессионного ключа на один и тот же открытый текст будет всегда разным.
Другими словами, Вам нужно реализовать шифрование в том виде, в каком оно есть.
источник

FR

Fido Retano in RU.CRYPTOGRAPHY — Криптография, алгоритмы, шифрование.
Future
Именно, только я не совсем понимаю, что нужно сделать, плохо читаю эти формулы.
Если кто может объяснить на пальцах, было бы прекрасно.
Вам достаточно моих объяснений или нужно нарисовать блок-схему?
источник

F

Future in RU.CRYPTOGRAPHY — Криптография, алгоритмы, шифрование.
Fido Retano
Вам достаточно моих объяснений или нужно нарисовать блок-схему?
Вполне достаточно, только один момент.
Мне нужно это запрограммировать. Попробую сегодня вечером, выложу реализацию.
Выбирается число, взаимно простое с p-1
Потом генератор возводится в эту степень и происходит деление по модулю, это понятно вполне.
на счёт b не совсем понятно, там b=y^k * M mod p
M я так понял это незашифрованное сообщение или уже зашифрованное по генератору g и p?
игрик у на сколько я понял это что-то типа публичного ключа?

получается feature этого сессионного ключа и ре-рандомизации в целом это то, что можно одно и то же сообщение зашифровать одним и тем же приватным ключём, но зашифрованное сообщение будет иным, причём секретный ключ и публичный не меняется?
даёт возможность шифровать одни и те же данные, которые не подвержены сравнению?

Я просто изучаю один протокол небольшой, там это центральная тема + ещё zero knowledge proof.
источник

FR

Fido Retano in RU.CRYPTOGRAPHY — Криптография, алгоритмы, шифрование.
Future
Вполне достаточно, только один момент.
Мне нужно это запрограммировать. Попробую сегодня вечером, выложу реализацию.
Выбирается число, взаимно простое с p-1
Потом генератор возводится в эту степень и происходит деление по модулю, это понятно вполне.
на счёт b не совсем понятно, там b=y^k * M mod p
M я так понял это незашифрованное сообщение или уже зашифрованное по генератору g и p?
игрик у на сколько я понял это что-то типа публичного ключа?

получается feature этого сессионного ключа и ре-рандомизации в целом это то, что можно одно и то же сообщение зашифровать одним и тем же приватным ключём, но зашифрованное сообщение будет иным, причём секретный ключ и публичный не меняется?
даёт возможность шифровать одни и те же данные, которые не подвержены сравнению?

Я просто изучаю один протокол небольшой, там это центральная тема + ещё zero knowledge proof.
Переменные описаны в разделе о генерации ключей той статьи. Да, M - это незашифрованное сообщение, открытый текст, plain text.
источник

F

Future in RU.CRYPTOGRAPHY — Криптография, алгоритмы, шифрование.
Fido Retano
Переменные описаны в разделе о генерации ключей той статьи. Да, M - это незашифрованное сообщение, открытый текст, plain text.
у меня есть обычная реализация, но там нету сессионного ключа k
попробую его добавить, потом проверить получится ли расшифровать.
спасибо за объяснение!
источник

FR

Fido Retano in RU.CRYPTOGRAPHY — Криптография, алгоритмы, шифрование.
Future
Вполне достаточно, только один момент.
Мне нужно это запрограммировать. Попробую сегодня вечером, выложу реализацию.
Выбирается число, взаимно простое с p-1
Потом генератор возводится в эту степень и происходит деление по модулю, это понятно вполне.
на счёт b не совсем понятно, там b=y^k * M mod p
M я так понял это незашифрованное сообщение или уже зашифрованное по генератору g и p?
игрик у на сколько я понял это что-то типа публичного ключа?

получается feature этого сессионного ключа и ре-рандомизации в целом это то, что можно одно и то же сообщение зашифровать одним и тем же приватным ключём, но зашифрованное сообщение будет иным, причём секретный ключ и публичный не меняется?
даёт возможность шифровать одни и те же данные, которые не подвержены сравнению?

Я просто изучаю один протокол небольшой, там это центральная тема + ещё zero knowledge proof.
Объясню ещё проще. Как вырабатывается общий ключ для симметричного шифрования по протоколу Диффи-Хеллмана(-Меркла), понимаете? Так вот, отправитель генерирует случайное число - свой закрытый ключ, - на основании которого генерируется случайный открытый ключ. Этот случайный открытый ключ - первая половина зашифрованного сообщения. На основании постоянного открытого ключа получателя и одноразового случайного сессионного открытого ключа отправителя по Диффи-Хеллману генерируется случайный общий ключ, который в свою очередь (вот тут начинается собственно шифрование) умножается по модулю на открытый текст. Это произведение - вторая часть зашифрованного сообщения.


ПС: у меня сейчас запара на работе, потому отвечаю очень медленно.
источник

FR

Fido Retano in RU.CRYPTOGRAPHY — Криптография, алгоритмы, шифрование.
Future
у меня есть обычная реализация, но там нету сессионного ключа k
попробую его добавить, потом проверить получится ли расшифровать.
спасибо за объяснение!
Такого не может быть. Он должен быть в модуле шифрования, так как без него никакое шифрование не получится (или реализация такая "хитрая").
источник

FR

Fido Retano in RU.CRYPTOGRAPHY — Криптография, алгоритмы, шифрование.
Future
у меня есть обычная реализация, но там нету сессионного ключа k
попробую его добавить, потом проверить получится ли расшифровать.
спасибо за объяснение!
А Вы могли бы показать эту реализацию? Мне аж интересно стало...
источник

F

Future in RU.CRYPTOGRAPHY — Криптография, алгоритмы, шифрование.
Fido Retano
Объясню ещё проще. Как вырабатывается общий ключ для симметричного шифрования по протоколу Диффи-Хеллмана(-Меркла), понимаете? Так вот, отправитель генерирует случайное число - свой закрытый ключ, - на основании которого генерируется случайный открытый ключ. Этот случайный открытый ключ - первая половина зашифрованного сообщения. На основании постоянного открытого ключа получателя и одноразового случайного сессионного открытого ключа отправителя по Диффи-Хеллману генерируется случайный общий ключ, который в свою очередь (вот тут начинается собственно шифрование) умножается по модулю на открытый текст. Это произведение - вторая часть зашифрованного сообщения.


ПС: у меня сейчас запара на работе, потому отвечаю очень медленно.
Да, протокол диффи-хеллмана вполне понимаю.
В этом алгоритме есть k на самом деле, я недоглядел.
источник