|
|
|
Алгоритм шифрования с множеством ключей расшифровки
|
|||
|---|---|---|---|
|
#18+
Есть ли алгоритм "шифрования", не с единственным, а с большим количеством ключей расшифровки? Чтобы при вводе любого из этих ключей расшифровки, раскодировался один и тот-же текст? Криптографическая стойкость не важна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 13:12 |
|
||
|
Алгоритм шифрования с множеством ключей расшифровки
|
|||
|---|---|---|---|
|
#18+
Берёшь любой алгоритм. Затем берёшь любой алгоритм хэширования, позволяющий легко построить коллизию. Например, CRC16. Берёшь отфонарный длинный пароль. Считаешь его хэш, и им шифруешь. Запускаешь генератор подбора коллизий. Все найденные им коллизионные строки с тем же хэшем также будут паролями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 13:48 |
|
||
|
Алгоритм шифрования с множеством ключей расшифровки
|
|||
|---|---|---|---|
|
#18+
Подозреваю что нет такого как ты хочешь. Открытый ключ не подойдет? Т.е. все получатели имеют один и тот же открытый ключ, которым могут только расшифровать сообщение. Закрытый ключ у отправителя, он им шифрует. Опиши лучше задачу, которую решаешь. Может другие решения есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 13:50 |
|
||
|
Алгоритм шифрования с множеством ключей расшифровки
|
|||
|---|---|---|---|
|
#18+
AkinaБерёшь любой алгоритм. Затем берёшь любой алгоритм хэширования, позволяющий легко построить коллизию. Например, CRC16. Берёшь отфонарный длинный пароль. Считаешь его хэш, и им шифруешь. Запускаешь генератор подбора коллизий. Все найденные им коллизионные строки с тем же хэшем также будут паролями. Норм. А как жестко связать коллизию с именем пользователя? Чтобы у каждого пользователя была своя коллизия. По-номеру. Например у Васи Пупкина - 25-ая с начала списка, а у Маши Носовой - 5545. И чтобы Маша не могла ввести 25-ую и получить доступ к расшифрованному тексту? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 14:50 |
|
||
|
Алгоритм шифрования с множеством ключей расшифровки
|
|||
|---|---|---|---|
|
#18+
EoltНапример у Васи Пупкина - 25-ая с начала списка, а у Маши Носовой - 5545. И чтобы Маша не могла ввести 25-ую и получить доступ к расшифрованному тексту? Странного ты хочешь однако. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 14:58 |
|
||
|
Алгоритм шифрования с множеством ключей расшифровки
|
|||
|---|---|---|---|
|
#18+
Может неправильно объяснил. Вася и Маша это не люди, это абстрактные цифровые устройства, у каждого длинный ID из цифр. Когда устройство обращается к системе, оно сообщает ей свой ID и свой пароль. При этом системе нужен алгоритм, чтобы определить, что ID однозначно связано с паролем. И устройство не обманывает систему, сообщая ей неправильный ID или неправильный пароль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 15:03 |
|
||
|
Алгоритм шифрования с множеством ключей расшифровки
|
|||
|---|---|---|---|
|
#18+
Опять неверно написал, ID устройства изменить нельзя, допустим оно записано в ПЗУ и неизменяемо. Но устройство может попробовать подставить чужую коллизию, чтобы залогинится под чужим паролем. Оно может подобрать чужую коллизию в качестве пароля, но не может изменить свой ID. Как определить однозначно, что ID устройства и номер коллизии соотвествуют друг другу. Т.е. вычислить ID в номер коллизии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 15:10 |
|
||
|
Алгоритм шифрования с множеством ключей расшифровки
|
|||
|---|---|---|---|
|
#18+
Eolt, Что мешает хранить в системе список в виде : ID устройства (aka username) + пароль и проверять при попытке доступа? При несоответствии пары - закрывать доступ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 15:15 |
|
||
|
Алгоритм шифрования с множеством ключей расшифровки
|
|||
|---|---|---|---|
|
#18+
EoltМожет неправильно объяснил. Вася и Маша это не люди, это абстрактные цифровые устройства, у каждого длинный ID из цифр. Когда устройство обращается к системе, оно сообщает ей свой ID и свой пароль. При этом системе нужен алгоритм, чтобы определить, что ID однозначно связано с паролем. И устройство не обманывает систему, сообщая ей неправильный ID или неправильный пароль. Система не может просто хранить ID/пароль и сравнивать с тем что у нее есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 15:17 |
|
||
|
Алгоритм шифрования с множеством ключей расшифровки
|
|||
|---|---|---|---|
|
#18+
EoltКак определить однозначно, что ID устройства и номер коллизии соотвествуют друг другу. Нельзя так делать. Это дыра в безопасности. Узнал алгоритм проверки и у тебя пароль к любому ID. Если проблема в том что пароль может быть подслушан во время передачи, то тут вариантов море. Например сервер дает случайное число, клиент считает хэш от пароля+число и отправляет хэш серверу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 15:22 |
|
||
|
Алгоритм шифрования с множеством ключей расшифровки
|
|||
|---|---|---|---|
|
#18+
DarkMasterEolt, Что мешает хранить в системе список в виде : ID устройства (aka username) + пароль и проверять при попытке доступа? При несоответствии пары - закрывать доступ. Это слишком уязвимо, да и нет возможности хранить. Нужен алгоритм, который подтвердит что ID связан с определенной коллизией в таблице. Например: ID=0001 соответствует 29 позиции в таблице коллизий и его пароль лежит в 29 строке ID=0002 соответствует 545 позиции в таблице коллизий и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 15:23 |
|
||
|
Алгоритм шифрования с множеством ключей расшифровки
|
|||
|---|---|---|---|
|
#18+
Eolt, Есть такой алгоритм. Да, и выкинь из головы тот бред про коллизии, который тебе написали тупицы, не имеющие даже малейшего понятия о криптографии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 15:30 |
|
||
|
Алгоритм шифрования с множеством ключей расшифровки
|
|||
|---|---|---|---|
|
#18+
EoltЭто слишком уязвимо, да и нет возможности хранить. Нужен алгоритм, который подтвердит что ID связан с определенной коллизией в таблице. Например: ID=0001 соответствует 29 позиции в таблице коллизий и его пароль лежит в 29 строке ID=0002 соответствует 545 позиции в таблице коллизий и т.д. А это типа неуязвимо и хранить не надо :) По сути тут ты заменил пароль на номер строки в таблице паролей. Т.е. резко упростил подбор пароля. Остается только узнать алгоритм шифрования номера строки и сделать перебор всех вариантов, т.е. от 1 до количество записей в таблице паролей. Забудь про "чудесный" алгоритм проверки соответствия ID паролю. Нет такого. Не надо никак увязывать ID и пароль. Уже написал выше как избежать перехвата пароля: Сервер посылает случайное число/строку (назовем RAND), клиент считает MD5(пароль+RAND), отправляет результат, сервер вычисляет MD5(пароль+RAND) сравнивает с тем что пришло. PS Если употребляешь новое слово, то почитай что оно означает коллизия ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 16:06 |
|
||
|
Алгоритм шифрования с множеством ключей расшифровки
|
|||
|---|---|---|---|
|
#18+
Возможно это называется "Encrypting a message for multiple recipients". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 16:15 |
|
||
|
Алгоритм шифрования с множеством ключей расшифровки
|
|||
|---|---|---|---|
|
#18+
авторНельзя так делать. Это дыра в безопасности. Узнал алгоритм проверки и у тебя пароль к любому ID. Да это понятно. Но речь идет о некой идеализированной алгоритмической среде. Представим, что есть дом и в него могут ходить человеки-устройства. У каждого устройства есть персональный ключ, который отличается от всех остальных ключей других устройств, но он может открывать дверь дома. Вот такой там волшебный замок. А охранная система, перед тем как открыть дверь, считывает ID устройства, который неизменен как генетический код человека. Его нельзя подделать. Это же виртуальный мир... Затем система по-некоторому сказочному алгоритму (без какой-либо базы данных), проводит вычисления над ID и получает какой-то хеш, который можно сопоставить с ключом и сказать соотвествует ID этому ключу, или устройство взяло чужой ключ и пытается войти с ним в дверь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 16:28 |
|
||
|
Алгоритм шифрования с множеством ключей расшифровки
|
|||
|---|---|---|---|
|
#18+
В некотором приближении - это почтовый сервак который на внутреннем уровне перешифровывает сообщения персонально. Например Алиса шлёт письмо Бобу и Кларку. Почтовый сервак каждому из них шифрует сообщения своими ключами. Если хакер Дэйв перехватит трафик после шифрования то он увидит два разных шифрованных письма которые ему недоступны. Условия соблюдены. Только есть накладные расходы на хранение двух копий. Причём Боб не сможет читать то-же самое письмо адресованное Кларку и наоборот. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 16:36 |
|
||
|
Алгоритм шифрования с множеством ключей расшифровки
|
|||
|---|---|---|---|
|
#18+
Есть общий термин - "доказательство при нулевом знании": "я знаю пароль, вам его не скажу, но докажу, что я этот пароль знаю". Насколько я понимаю, все эти схемы требуют наличия некоторого "общего секрета". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 16:45 |
|
||
|
Алгоритм шифрования с множеством ключей расшифровки
|
|||
|---|---|---|---|
|
#18+
Eoltречь идет о некой идеализированной алгоритмической среде. Если все идеально, то защита вообще не нужна, никто не пытается выдать себя за другого. Если не идеально то где? что конкретно надо защищать? Давай конкретно у чего какие возможности: 1. Устройство содержит ранее записанные в него ID и ключ. Может только сообщить оба параметра системе. Вычислять ничего не может. 2. Система может обсчитать полученные ID:ключ и проверить пару на корректность. Хранить ничего не может. Правильно? EoltЗатем система по-некоторому сказочному алгоритму (без какой-либо базы данных), проводит вычисления над ID и получает какой-то хеш, который можно сопоставить с ключом и сказать соотвествует ID этому ключу, или устройство взяло чужой ключ и пытается войти с ним в дверь. Сделай ключом хэш от ID + "Секретное слово". Например MD5(ID + "Секретное слово") Системе остается только посчитать ключ для полученного ID и сравнить с ключом устройства. Будет работать пока кто-то не узнает "Секретное слово". Дальше организуй защиту чтобы никто не получил секретное слово из системы или генератора ключей. По большому счету без разницы какой алгоритм будет превращать ID в ключ, MD5(ID + "Секретное слово") или еще какой-то, он будет защищать до тех пор пока его не узнают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 16:59 |
|
||
|
Алгоритм шифрования с множеством ключей расшифровки
|
|||
|---|---|---|---|
|
#18+
EoltА как жестко связать коллизию с именем пользователя? Чтобы у каждого пользователя была своя коллизия. По-номеру. Например у Васи Пупкина - 25-ая с начала списка, а у Маши Носовой - 5545. И чтобы Маша не могла ввести 25-ую и получить доступ к расшифрованному тексту? Очень просто. Полный коллизионный пароль составляется из имени пользователя и довеска, и именно довесок подбирается так, чтобы образовалась коллизия. Тогда Маша, использовав пароль Васи, не получит доступа, потому что при конкатенации Васиного пароля с именем её учётки получится строка, которая даёт другой хэш. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 17:00 |
|
||
|
Алгоритм шифрования с множеством ключей расшифровки
|
|||
|---|---|---|---|
|
#18+
Если устройство ничего не может вычислять, то никакой пароль ничего не добавляет к надёжности, которая будет определяться исключительно защищённостью среды передачи и секретностью идентификаторов-логинов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 17:08 |
|
||
|
Алгоритм шифрования с множеством ключей расшифровки
|
|||
|---|---|---|---|
|
#18+
AkinaEoltА как жестко связать коллизию с именем пользователя? Чтобы у каждого пользователя была своя коллизия. По-номеру. Например у Васи Пупкина - 25-ая с начала списка, а у Маши Носовой - 5545. И чтобы Маша не могла ввести 25-ую и получить доступ к расшифрованному тексту? Очень просто. Полный коллизионный пароль составляется из имени пользователя и довеска, и именно довесок подбирается так, чтобы образовалась коллизия. Тогда Маша, использовав пароль Васи, не получит доступа, потому что при конкатенации Васиного пароля с именем её учётки получится строка, которая даёт другой хэш. Блин действительно все гениальное просто... Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 17:31 |
|
||
|
Алгоритм шифрования с множеством ключей расшифровки
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovЕсть общий термин - "доказательство при нулевом знании": "я знаю пароль, вам его не скажу, но докажу, что я этот пароль знаю". Насколько я понимаю, все эти схемы требуют наличия некоторого "общего секрета". Мне почему-то вспомнился Ден Браун с "Цифровой крепостью". Содержание я помню смутно. Но там один перец запилил шифро-алгоритм который назвал "Цифровая крепость" и отправил его сорцы в АНБ зашифровав им-же. Потроллил типа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 17:57 |
|
||
|
Алгоритм шифрования с множеством ключей расшифровки
|
|||
|---|---|---|---|
|
#18+
EoltAkinaпропущено... Очень просто. Полный коллизионный пароль составляется из имени пользователя и довеска, и именно довесок подбирается так, чтобы образовалась коллизия. Тогда Маша, использовав пароль Васи, не получит доступа, потому что при конкатенации Васиного пароля с именем её учётки получится строка, которая даёт другой хэш. Блин действительно все гениальное просто... Спасибо! По сути тот же подход с секретным алгоритмом: ХЭШ(ID + ключ) = КОНСТАНТА. Как понимаю тебе нужна КОНСТАНТА как ключ шифрования. Только тут слабое место подгонка ключа. Нужен слабый хеш, иначе не подгонишь. Предложенное выше CRC это вообще не хэш, CRC16 вообще не вариант, всего 65536 комбинаций: константа подбирается перебором. Возьми хотя бы CRC32, в инете полно примеров кода подгонки CRC32 под конкретное значение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 21:09 |
|
||
|
Алгоритм шифрования с множеством ключей расшифровки
|
|||
|---|---|---|---|
|
#18+
maytonМне почему-то вспомнился Ден Браун с "Цифровой крепостью"Вы бы ещё "Московский комсомолец" вспомнили ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2015, 19:25 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38944808&tid=1341045]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
165ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 493ms |

| 0 / 0 |
