Всегда ли равен размер синхропосылки размеру элементарного блока?

Тема в разделе "WASM.CRYPTO", создана пользователем EvilsInterrupt, 24 апр 2005.

  1. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    Здравствуйте всем!



    Я разрабатываю процедуру, которая будет шифровать файл по любому алгоритму,

    путем переданного адреса на элементарную функцию шифрования, к примеру на

    32-З, если это ГОСТ28147-89.



    Так вот, в процедуру может быть переданна функция которая использует ини-

    циализирующий вектор(синхропосылка).



    У меня вопрос:



    Если взять размер элементарного блока и размер вектора, то будут ли они всег-

    да равны?



    ЗЫ: Вопрос следует понимать как: А есть ли алгоритмы шифрования использую-

    щие синхропосылку и в которых ее размер не равен размеру элементарного блока?



    Если вы говорите: "да, такой алгоритм есть!", то вы знаете этот алгоритм.

    Просьба привести его название, и режим шифрования!



    Для примера:

    В блочном алгоритме ГОСТ28147-89, если взять 32х разрядность, размер элемен-

    тарного блока равен 8 байтам, 32 разряда на L и 32 на R. А синхропосылка тоже

    имеет 8 байт!



    Меня очень интерисует есть ли какие нить алгоритмы шифрования, где это равенст-

    во не выполняется!



    ;---------------------------------

    На последок:

    Мне необходимо зашифровать sizeof(инициализирующий вектор) байт, по алгоритму

    который использует только и только ключ шифрования, без таблиц-замен и который

    устойчив к криптоанализу!

    Это мне необходимо знать для того, чтобы ложить в конец выходного файла синх-

    ропосылку.
     
  2. flankerx

    flankerx New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2004
    Сообщения:
    423
    Адрес:
    Moscow, Russia
    1. синхропосылка она на то и синхропосылка то шифровать её не надо. она передается в открытом виде.



    2. синхропосылка может быть меньше блока не в каком-то алгоритма, а в каком-то режиме работы блочного шифра. мне ни один такой режим не известен. если посмотришь на режим cbc, то поймешь что т.к. IV ксорится в блоком, то замена алгоритма на другой вряд ли что-то изменит....
     
  3. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    Блин, то ись можно передать синхропосылку в открытом? я все верно понял?

    А про "на последок"? Ни каких мыслей?

    Я все таки попробую реализовать с закрытием синхропосылки!
     
  4. OLS

    OLS New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2005
    Сообщения:
    322
    Адрес:
    Russia




    "Я все таки пришью собаке пятую ногу" :derisive: без обид



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

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    OLS



    Конечно без обид, хоть сколько прикалывайся, только учи поболее.



    Вобщем так, я разработатал такой формат файла:

    /*

    Данный формат файлов будут иметь названия CFA-файлы,

    CFA - Crypto File Alberty. В честь Альберти



    пример:

    protected.cfa

    */





    Термины:



    Гоша - блок который по размеру менее чем размер элементарного блока

    IV_first - иницилизирующий вектор для РГПЧ применяемый при шифровании part_first, о партиях ниже

    IV_second - ин. вектор для РГПЧ применяемый при шифровывании part_second

    IV_feedback - вектор применяемый при расшифровывании part_second



    part_first - часть данных без Гоши

    part_second - часть содержащая Гошу и др. нужные вещи



    шифрование



    1. Зашифровать part_first используя IV_first

    Место где заканчивается part_first является "Федей"



    на си, федя это:



    Федя = &ГОША, но не всегда ибо ГОШИ может и не быть!

    Но это не значит то что part_2 может не быть, part_2 есть всегда



    2. Вычислить следующее значение количества случайных байтов - СОНЬКА

    СОНЬКА - кол-во хреновых байт:



    temp_1 = (кол-во байт в ГОШЕ) + (кол-во байт в имени файла, включая завершающий ноль) + 8 байт(4 на кол-во байт в гоше и 4 на Федю)



    Округлить значение temp_1 до кратности размеру элементарному блоку

    в большую сторону будет temp_2



    СОНЬКА = temp_2 - temp_1



    3. Выделить память в sizeof(temp_2 + (размер IV_second)) байт



    4. Закидываем в буфер:

    4.1 Закидываем ГОШУ

    4.2 Закидываем Имя оригинала, включая завершающий ноль

    4.3 Закинуть СОНЬКА хреновых байт(псевдо случайных)

    4.4 закинуть кол-во байт в Гоше

    4.5 закинуть Федю



    5. Зашифровать в буфере temp_2 используя IV_second, конечное значение

    IV_second есть IV_feedback



    6. Зашифрвать IV_feedback используя алгоритм "securecy", после исполь-

    зуя простую замену



    СЛАБОЕ МЕСТО:



    В зашифрованном файле содержится имя оригинала а это значит, что это ASC_II символы, как правило. могут конечно и юникоды, так вот это значит, что:

    - при строчных латинских: 6 и 5 биты это "1" и "1"

    - при заглавных латинских: 6 и 5 биты это "1" и "0"

    - если учесть и заглавные и сторчные то только 6 бит является статичным "1"



    Вопрос:

    Насколько этот факт будет влиять на криптостойкость зашифрованной информации в файле?
     
  6. nobody

    nobody New Member

    Публикаций:
    0
    Регистрация:
    8 сен 2004
    Сообщения:
    32
    Адрес:
    Afghanistan


    Если алгоритм стойкий - то ни на сколько. Только вот зачем в зашифрованом файле хранить имя оригинала?



    А где у тебя проверка правильности расшифрования?
     
  7. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    >А где у тебя проверка правильности расшифрования?

    А на фига она?



    Чтобы дать криптоаналитику, что он не правильно расшифровал?

    Я тут наткнулся на рекламные вещи одной книге по криптографии, так вот там.

    человек зная что файл ".doc" и в названии "накладная" предположил что на некотором месте должна стоять сумма, пользуясь стандартом на накладную. и видо изменил ее!



    Я не хочу довать лишней информации для криптоанализа, пусть думаю, что в файле: музака(mp3,wav), текстовик, или все таки фильм? Они будут гадать по более.
     
  8. OLS

    OLS New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2005
    Сообщения:
    322
    Адрес:
    Russia
    Чисто для общего развития :

    что такое "... рекламные вещи ..." ?



    Конечно он мог такое сделать, если шел какой-нибудь из режимов без обратной связи по шифротексту : OFB, CTR или еще что-либо подобное.



    Только для защиты от этого не шифровать надо, а ЭЦП добавлять, имитовставку или на худой конец IGE-цепочку создавать.
     
  9. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    >"... рекламные вещи ..."



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



    Так вот под такими вещами, я имел ввиду то, что на сайте этой книги выложили некоторые части этой книги для ознакомления(мол глядите-ка какая рулезная инфа), чем не реклама?



    Да там действительно шел OFB, точнее "гаммирование".



    >IGE-цепочку

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



    И еще: мистер flankerx говорил, что синхропосылку можно не шифровать и можно прицепить к шифрованной информации в файле в открытом виде, начем основано такое утеврждение?
     
  10. bogrus

    bogrus Active Member

    Публикаций:
    0
    Регистрация:
    24 окт 2003
    Сообщения:
    1.338
    Адрес:
    ukraine




    Видимо на том, что она не является ключем и на стойкость алгоритма не влияет, без неё ты не расшифруешь правильно первый блок (и остальные соответственно)



    Хотя про остальные, кажется это справедливо только в режиме зашифрования
     
  11. OLS

    OLS New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2005
    Сообщения:
    322
    Адрес:
    Russia
  12. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    ХОрошо ключом оно есно дело не является, но ведь при шифровании учавствовало!!! причем самый первый гаммируется юзая гамму, которая только один раз через базовый цикл(в госте "простая замена") прошла!!!
     
  13. OLS

    OLS New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2005
    Сообщения:
    322
    Адрес:
    Russia
    Есть две разные цели:



    - конфиденциальность содержания

    - конфиденциальность формы



    Первое обеспечивается ключом, второе - синхропосылкой. Если хочешь повысить первое - увеличивай длину ключа, если хочешь повысить второе - увеличивай длину синхропосылки (естественно не выше размера блока - дальше бессмысленно).



    Шифровать синхропосылку ни для повышения первого, ни для повышения второго не нужно.



    Если принципиально хочешь сделать рандомизирующие данные секретными - делай как я написал выше - приклеивай к шифруемому файлу слева случайные байты размером в один блок. Только я принципиальной выгоды от их секретности не вижу. Если кто меня поправит - с радостью приму.
     
  14. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    спасибо за линк!
     
  15. flankerx

    flankerx New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2004
    Сообщения:
    423
    Адрес:
    Moscow, Russia




    ну вот ты подумай... есть у тебя n блоков, зашифроаванных в CBC. Что накладывается на первый блок перед расшифрованием? А на второй? А на сорок пятый?

    Возможен ли произвольный доступ к данным, зашифрованным по CBC?
     
  16. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    flankerx



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



    сорри, если где туплю
     
  17. flankerx

    flankerx New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2004
    Сообщения:
    423
    Адрес:
    Moscow, Russia
    Тебе не помешало бы почитать Шнайера "Прикладную Криптографию". В части про CBC весьма понятно написано что такое IV, зачем он нужен и почему его не нужно хранить в секрете.



    RTFM.