За последние 24 часа нас посетили 21993 программиста и 1104 робота. Сейчас ищет 701 программист ...

Задался вопросом о шифровании...

Тема в разделе "Прочее", создана пользователем Vladson, 10 мар 2008.

  1. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Думаю все когда нибудь слышали мифы (официального подтверждения я не видел) что спец-службы могут расшифровать закодированные данные не применяя (безотказного) термально-ректального способа.

    Вот подумал что при их технической оснащённости допустим и в правду можно применить брут-форс. (предположим что у них есть комп который может проверять миллиарды вариантов за сотые секунды)

    Но вот вопрос, а как определить что данные уже расшифрованы, если ничего об исходных данных неизвестно ?
     
  2. sword dancer

    sword dancer Активный пользователь

    С нами с:
    17 фев 2008
    Сообщения:
    295
    Симпатии:
    0
    обычно схемы шифрования разрабатывают так, чтобы после дешифровки можно было точно сказать подошёл пароль или нет.
     
  3. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Т.е если я напишу своё шифрование даже 16-ти битное (точнее уже написал 24-х битное) то никакое цру не сможет расшифровать ?
     
  4. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    сможет, довольно быстро, получив в руки программу шифровщик/дешифровщик.
    а какой еще брутфорс при шифровании? при кодировании - да, можно попытаться, а при шифровании это опупеть сколько вариантов...
     
  5. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Без него даже брутфорсить нет смысла (шифрование это не тупое XOR-ение байт)
    Простой, перебор всех вариантов и проверка их на соответствие тому что должно быть закодировано (что меня и удивляет, что искать в расшифрованном варианте если не знаешь что там зашифровано)
     
  6. Anonymous

    Anonymous Guest

    алгоритм.
     
  7. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Горбунов Олег
    Не въезжаю...
     
  8. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    не надо путать кодирование (тот же xor) и шифрование. При бруте шифровки надо точно знать, какой будет результат.
     
  9. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Таким образом вскрыть не зная результата невозможно ?
    Тогда зачем вскрывать если результат известен ?

    Если мы шифруем фразу "вася большой и страшный" а в зашифрованном виде получим "ормщуовыодадмдоа" то в расшифровке с неправильным ключом мы можем получить фразу "у пети большие яйца" так как догадаться какой из всех возможных вариантов был задуман изначально ?
    (когда мы расшифровываем ZIP или RAR мы знаем всякие CRC и прочие мелочи которые могу помочь, но тут же ничего не известно)
     
  10. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    вот и я говорю, что брутом пользуются обычно только когда есть семп шифра и точный выход на нем, либо когда закодировано :)
    давай еще пару раз выразим эту мысль разными словами %))

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

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Ты поймёшь как зашифровано, но при разных ключах будут разные результаты расшифровки.
    По этому хоть ты десятью дебагерами вскрывай "шифровалку" не зная ключа (а его в шифровщике нет, он хранится у принимающей/отдающей стороны) или не зная того что зашифровано ты не поймёшь какой ключ задуман
     
  12. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    так а я и поправился - зависит от алгоритма :)
     
  13. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Т.е грубо говоря если ключ только у принимающей/отдающей стороны (речь о симметричном на данный момент) то теоретически взлом невозможен ?

    Тогда как понимать сообщения о том что они практически (по крайней мере древние) ломаются "на ура" ?
     
  14. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    Vladson
    Разве RSA был изобрен в древности?
    Сила открытых алгоритмов именно в том, что они известны и хорошо изучены. Если бы их удалось скомпрометировать - об этом стало бы известно.
     
  15. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Dagdamor
    Запутано.

    Так мне бояться юзать всякие существующие (и писать свои "закрытые") или всё-же не бояться и юзать то что дают ?
     
  16. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    Vladson
    Думаю, можно смело пользоваться открытыми алгоритмами. Можно выбрать из них какой-нибудь с ключом подлиннее.

    А создавая свой доморощенный алгоритм, ты рискуешь создать уязвимый даже к взлому методом "черного ящика", т.е. когда не нужно знать алгоритм шифрования, чтобы восстановить исходный текст. Для этого наверняка существует множество известных приемов, тебе придется сначала их все изучить, а потом уже создавать свое :)
     
  17. Anonymous

    Anonymous Guest

    У меня дома есть влобешное книжко "Официальное руководство RSA Security" Там самая первая фраза: "Не выебывайтесь, и юзайте официальные алгоритмы, которые до вас обкатало поколение метематиков и дешифровщиков"
     
  18. +Sten+

    +Sten+ Активный пользователь

    С нами с:
    27 авг 2007
    Сообщения:
    978
    Симпатии:
    0
    Поясните новису, а о чем речь идет? Просто интересно). О таком?:

    Ключи:
    п = ";л4";
    р = "ы04";
    и = "фыв";
    в = "4лац";
    е = "ыв4";
    т = "ы";
    ...

    Зашифрованное слово "привет":
    ;л4ы04фыв4лацыв4ы

    Тобиш спецслужбы, не зная ключей, могут расшифровать это слово?) Если текст длинный, еще можно выцепить эти ключи, а если 1 слово, то это только с помощью телепата-экстрасенса ведь.
     
  19. Anonymous

    Anonymous Guest

    Вот это как раз
    Декодируется очень легко. Еще Эдгар По описал этот метод дешифровки в "Золотом жуке" :)
     
  20. Anonymous

    Anonymous Guest

    Тут стоит подчеркнуть, что эти виды шифрования дают РАЗНЫЕ гарантии:
    Бывает необходимо:
    1. полностью закрыть сторонним лицам доступ к информации;
    2. удостовериться в том, что информация передана полностью и без искажений;
    3. удостовериться в том, что отправитель и адресат общаются именно друг с другом, и никакое третье лицо не имитирует одного из них.

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

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

    Электронная цифровая подпись. С изобретением асимметричной криптографии стало возможным создание электронной цифровой подписи (ЭЦП). Использование цифровой подписи гарантирует проверку того, что после создания и отправления сообщения адресатом данное сообщение не изменялось и было создано тем автором, который имел соответствующий секретный ключ подписи.
     
  21. +Sten+

    +Sten+ Активный пользователь

    С нами с:
    27 авг 2007
    Сообщения:
    978
    Симпатии:
    0
    Не читал. Неверно, он там пишет, куда засунуть распечатанные логи брутфорса шифровальщику, чтобы получить ключ :).

    Фантаситика.
     
  22. Anonymous

    Anonymous Guest

    Эдгар Аллан По (Edgar Poe) "Золотой жук" (1843)


    Легран разогрел пергамент и дал его мне. Между черепом и козленком, грубо начертанные чем-то красным, стояли такие знаки:

    Код (Text):
    1. 53##+305)) 6*; 4826) 4#.) 4#); 806*; 48+8||60)) 85;; 8*; :#*8+83(88)5*+; 46( ;88*9б*? ; 8)*# (; 485);5*+2:*# (; 4956*2 (5* =4)8 || 8*; 4069285) ;) 6+8)4##; 1#9; 48081; 8 : 8#1; 48 +85; 4)485+528806*81(#9; 48; (88; 4(#? 34; 48)4#;. 161; : 188;#? ;
    - Что ж! - сказал я, возвращая Леграну пергамент, - меня это не подвинуло бы ни на шаг. За все алмазы Голконды я не возьмусь решать подобную головоломку.

    - И все же, - сказал Легран, - она не столь трудна, как может сперва показаться. Эти знаки, конечно, - шифр; иными словами, они скрывают словесную запись. Кидд, насколько мы можем о нем судить, не сумел бы составить истинно сложную криптограмму. И я сразу решил, что передо мной примитивный шифр, но притом такой, который незатейливой фантазии моряка должен был показаться совершенно непостижимым.

    - И что же, вы сумели найти решение?

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

    Прежде всего, как всегда в этих случаях, возникает вопрос о языке криптограммы. Принцип решения (в особенности это относится к шифрам простейшего типа) в значительной мере зависит от языка. Выяснить этот вопрос можно только одним путем, испытывая один язык за другим и постепенно их исключая, пока не найдешь решение. С нашим пергаментом такой трудности не было; подпись давала разгадку. Игра словами kid и Kidd возможна лишь по-английски. Если б не это, я начал бы поиски с других языков. Пират испанских морей скорее всего избрал бы для тайной записи французский или испанский язык. Но я уже знал, что криптограмма написана по-английски.

    Как видите, текст криптограммы идет в сплошную строку. Задача намного была бы проще, если б отдельные слова были выделены просветами. Я начал тогда бы с анализа и сличения более коротких слов, и как только нашел бы слово из одной буквы (например, местоимение я или союз и), я почел бы задачу решенной. Но просветов в строке не было, и я принялся подсчитывать однотипные знаки, чтобы узнать, какие из них чаще, какие реже встречаются в криптограмме. Закончив подсчет, я составил такую таблицу:

    Знак 8 встречается 34 рaзa Знак ; встречается 27 раз Знак 4 встречается 19 раз Знак ) встречается 16 раз Знак встречается 15 раз Знак * встречается 14 раз Знак 5 встречается 12 раз Знак 6 встречается 11 раз Знак + встречается 8 раз Знак 1 встречается 7 раз Знак 0 встречается 6 раз Знак 9 и 2 встречаются 5 раз Знак : и 3 встречаются 4 раза Знак ? встречается 3 раза Знак встречается 2 раза Знак встречается 1 раз

    В английской письменной речи самая частая буква - е. Далее идут в нисходящем порядке а, о, i, d, h, n, r, s, t, и, у, с, f, g, l, т, w, b, h, p, q, x, z. Буква e, однако, настолько часто встречается, что трудно построить фразу, в которой она не занимала бы господствующего положения.

    Итак, уже сразу у нас в руках путеводная нить. Составленная таблица, вообще говоря, может быть очень полезна, но в данном случае она нам понадобится лишь в начале работы. Поскольку знак 8 встречается в криптограмме чаще других, мы примем его за букву е английского алфавита. Для проверки нашей гипотезы взглянем, встречается ли этот знак дважды подряд, потому что в английском, как вам известно, буква е очень часто удваивается, например в словах meet или fleet, speed или seed, seen, been, agree и так далее. Хотя криптограмма невелика, знак 8 стоит в нем дважды подряд не менее пяти раз.

    Итак, будем считать, что 8 - это e. Самое частое слово в английском - определенный артикль the. Посмотрим, не повторяется ли у нас сочетание из трех знаков, расположенных в той же последовательности, и оканчивающееся знаком 8. Если такое найдется, это будет, по всей вероятности, определенный артикль. Приглядевшись, находим не менее семи раз сочетание из трех знаков ; 4 8. Итак, мы имеем право предположить, что знак ; - это буква t, а 4 - h; вместе с тем подтверждается, что 8 действительно е. Мы сделали важный шаг вперед.

    То, что мы расшифровали целое слово, потому так существенно, что позволяет найти границы других слов. Для примера возьмем предпоследнее из сочетаний этого рода ; 4 8. Идущий сразу за 8 знак ; будет, как видно, начальной буквой нового слова. Выписываем, начиная с него, шесть знаков подряд. Только один из них нам незнаком. Обозначим теперь знаки буквами и оставим свободное место для неизвестного знака:

    t.eeth

    Ни одно слово, начинающееся на t и состоящее из шести букв, не имеет в английском языке окончания th, в этом легко убедиться, подставляя на свободное место все буквы по очереди. Потому мы отбрасываем две последние буквы как посторонние и получаем:

    t.ee

    Для заполнения свободного места можно снова взяться за алфавит. Единственным верным прочтением этого слова будет:

    tree (дерево).

    Итак, мы узнали еще одну букву - r, она обозначена знаком (, и мы можем теперь прочитать два слова подряд:

    the tree

    Немного дальше находим уже знакомое нам сочетание ; 4 8. Примем его опять за границу нового слова и выпишем целый отрывок, начиная с двух расшифрованных нами слов. Получаем такую запись:

    the tree ; 4 (#? 3 4 the

    Заменим уже известные знаки буквами:

    the tree thr#? 3h the

    А неизвестные знаки точками:

    the tree thr...h the

    Нет никакого сомнения, что неясное слово - through (через). Это открытие дает нам еще три буквы - о, u и g, обозначенные в криптограмме знаками # ? и 3.

    Внимательно вглядываясь в криптограмму, находим вблизи от ее начала группу знакомых нам знаков:

    83(88

    которая читается так: egree. Это, конечно, слово degree (градус) без первой буквы. Теперь мы знаем, что буква d обозначена знаком +.

    Вслед за словом degree, через четыре знака, встречаем такую группу:

    ; 4 6 (; 8 8*

    Заменим, как уже делали раз, известные знаки буквами, а неизвестные точками:

    th.rtee.

    Сомнения нет, перед нами слово thirteen (тринадцать). К известным нам буквам прибавились i и n, обозначенные в криптограмме знаками 6 и *.

    Криптограмма начинается так:

    5 3# # +

    Подставляя по-прежнему буквы и точки, получаем:

    .good

    Недостающая буква, конечно, а, и, значит, два первые слова будут читаться так:

    A good (хороший).

    Чтобы теперь не сбиться, расположим знаки в виде такой таблицы.

    5 означает а + означает d 8 означает е 3 означает g 4 означает h 6 означает i * означает n # означает о (означает r ; означает t

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

    "A good glass in the bishop's hostel in the devil's seat twenty one degrees and thirteen minutes northeast and by north main branch seventh limb east side shoot from the left eye of the death's head a bee line from the tree through the shot fifty feet out".

    (Хорошее стекло в трактире епископа на чертовом стуле двадцать один градус и тринадцать минут северо-северо-восток главный сук седьмая ветвь восточная сторона стреляй из левого глаза мертвой головы прямая от дерева через выстрел на пятьдесят футов).

    - Что же, - сказал я, - загадка осталась загадкой. Как перевести на человеческий язык всю эту тарабарщину: "трактир епископа", "мертвую голову", "чертов стул"?

    - Согласен, - сказал Легран, - текст еще смутен, особенно с первого взгляда. Мне пришлось расчленить эту запись по смыслу.

    - Расставить точки и запятые?

    - Да, в этом роде.

    - И как же вы сделали это?

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

    "Хорошее стекло в доме епископа на чертовом стуле - двадцать один градус и тринадцать минут - северо-северо-восток - главный сук седьмая ветвь восточная сторона - стреляй из левого глаза мертвой головы - прямая от дерева через выстрел на пятьдесят футов".
     
  23. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    +Sten+
    я уже задолбался говорить - не надо путать кодирование и шифрование %)
    спецслужбы, имея такой текст с повторениями букв раскодируют его, и чем больше кода - быстрее это сделают.
     
  24. sword dancer

    sword dancer Активный пользователь

    С нами с:
    17 фев 2008
    Сообщения:
    295
    Симпатии:
    0
    шифрование - частный случай кодирования.
     
  25. RomanBush

    RomanBush Активный пользователь

    С нами с:
    5 дек 2007
    Сообщения:
    798
    Симпатии:
    0
    Адрес:
    200 км от Москвы
    Господа! Не забывайте одну народную мудрость - абсолютно любой шифр и любой код вскрывается в течение получаса без всяких компьютеров, с помощью всего лишь паяльника, вставленного в попу.