· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.ASSEMBLER —› ГОСТ 28.147-89

<< . 1 . 2 . 3 . 4 . >>

Посл.отвђт Сообщенiе


Дата: Июл 12, 2004 18:11:44

ChS
А лучше мылом поделись! Буду рад я эти и еще исходники скачал давно, но они мне пока не понятны до полного просветления!


Дата: Июл 13, 2004 11:43:35

Мыло steelrat(СОБАКА или УХО)inbox.ru пиши.


Дата: Июл 15, 2004 22:38:33

В госте элемент S разбивается на s1,s2,s3,s4,s5,s6,s7,
s8 номер подэлемнта указывает на строку а его значение на
столбец в таблице. Мне интересно это значение:

- "заменяется" значением в таблице
или
- "меняется местами" со значением элемента таблицы?

Если мы после в mod 2^32 тереяем перенос, то как же расшиф-
ровывать в дальнейшем? Если он не важен, то почему?


Дата: Июл 17, 2004 20:42:56

flankerx
Ты не знаешь ли ответ на этот вопрос? ;)
А вообще кто нить в этом понимает? Прошу окликнуться!


Дата: Июл 17, 2004 23:14:41

EvilsInterrupt
„Мне интересно это значение:

- "заменяется" значением в таблице “

заменяется на значение из таблицы

Вот один шаг преобразования:
Li=Ri-1
Ri=Li-1 XOR (S(Ri-1+Ki-1) ROL 11)

А вот как можно найти значения Ri-1 и Li-1 по Ri и Li:
Ri-1=Li
Li-1=Ri XOR (S(Ri-1+Ki-1) ROL 11)=
Ri XOR (S(Li+Ki-1) ROL 11)

Вопрос ко всем: мне это кажется или S с блок действительно может не иметь обратной функции?


Дата: Июл 17, 2004 23:19:14

Black_mirror
Прими благодарность за отклик, приезжай в гости Пивом на пою!


Дата: Июл 18, 2004 18:29:36

Многоуважаемый Black Mirror!!!

Спасибо за ваш отклик, но вот вопрос, на вашу запись:

>А вот как можно найти значения Ri-1 и Li-1 по Ri и Li:
>Ri-1=Li
>Li-1=Ri XOR (S(Ri-1+Ki-1) ROL 11)=
>Ri XOR (S(Li+Ki-1) ROL 11)

Допустим я в функции шифрования сложил два числа
A=0ffffffffh и B=0ffffffffh при нормальном сложении по-
лучилось бы 1 FFFF FFFE h, но т.к. у нас mod 2^32 пере-
нос мы игнорируем и наш результат FFFF FFFE h!
Но при других числах переноса могло бы и не быть! Как же
при расшифровке можно узнать был ли перенос или не был?

Второе: A=0ffffffffh,B=0ffffffffh при mod 2^32-1 чему ра-
вен результат и почему?(т.е. список элементарных матема-
тических действий).И где она применяется в ГОСТе?

+З.Ы.: Может ли один и тот же основной шаг криптопреоб-
разования применяться как для зашифровывания так и для
расшифровывания?

1101488628__28.147_89.zip


Дата: Июл 18, 2004 23:57:44

Учитывая что Li=Ri-1, Ri-1+Ki-1 и Li+Ki-1 дадут одинаковый результат, поэтому не важно с учетом переноса сложение или без.


Дата: Июл 19, 2004 06:27:11

Black_mirror
Эх, плохо математику в школе учил! Нельзя ли по насыщеннней


Дата: Июл 22, 2004 22:40:31

Black_mirror иль кто другой кому не влом!

В статье Винокурова сказано, что в конце каждого базового цикла
т.е после 12345678123456781234567887654321 N1,N2 меняются места-
ми. А после выбиратся N3,N4 или N2,N3? Я полага первый вариант,
но прав ли я?

1955909217__Replace.zip


Дата: Июл 23, 2004 13:12:41

Я смотрю тебе проще на примерах
Элемент ключа - К
Вспомогательный блок - N
Производные вспомогательного блока - n1,n2
64 битный блок - А

для простоты
A = 0000 0001 00002 0003h
K = 1234 5678h
1. Разбиваем А на n1:n2
n1 = 0002 0003h
n2 = 0000 0001h
2. Smod = (n1+k) mod 2^32 на этом шаге ничего ни херится кроме бита переноса
если есть переполнение, по вопросу его потери ничего не могу ответить,
его надо задать разработчикам :)
Smod = 1236 567Bh
3. Разбиваем полученное после сложения значение, Smod на 8
частей по 4 бита:

s0 = B
s1 = 7
s2 = 6
s3 = 5
s4 = 6
s5 = 3
s6 = 2
s7 = 1

4. По таблице замен переставляем (пример)

0 1 2 3 4 5 6 7 8 9 A B C D E F

0 05 00 06 03 09 0A 0C 0F 0E 0D 0B 08 02 07 01 04
1 09 07 04 0A 00 0E 03 0D 06 08 0B 05 0F 01 0C 02
2 0C 06 09 07 01 0A 04 0B 03 0D 02 08 0F 00 0E 05
3 0D 0B 06 07 0C 0A 00 01 02 04 09 08 03 05 0F 0E
4 0E 01 07 0B 02 0D 08 04 00 0C 05 0A 0F 03 09 06
5 02 05 0D 0A 08 0F 07 00 04 0B 03 0C 0E 01 09 06
6 06 03 08 05 0A 0F 04 09 0D 00 0B 0E 01 0C 07 02
7 01 0F 03 0D 0C 02 0E 00 04 08 06 0A 0B 07 09 05

s0 = 8
s1 = D
s2 = 4
s3 = A
s4 = 8
s5 = A
s6 = 8
s7 = F
Получаем новое число Sзамен = 0F8A8 A4D8h
Таблица остается без изменений.

5. Сдвигаем влево на 11 разрядов Sзамен11 = 4526 C7C5h
6. Делаем n1 = Sзамен11 XOR n2 = 04526 C7C4h
7. Меняем местами n1 и n2 и получаем
А = 4526 C7C4 0000 0001h

И так еще 31 раз и будет простая замена :)
Возможно я где-то ошибся в цифрах, да вроде все проверил...


Дата: Июл 23, 2004 17:08:00

ChS
Рулезно, но как мы будем восстанавливать ежели операцией mod 2^32 мы похерили перенос, а ведь это информация?


Дата: Июл 23, 2004 18:10:50

А Винокурову не пытался задать этот вопрос ?


Дата: Июл 23, 2004 22:01:49

Binary digit, Chs !!!

Спасибо за отклик кажется на свой день рождения я получу подарок:
- понимание алгритма простой замены!
В твоем прошлом письме ты взял:
A = 0000 0001 00002 0003h
K = 1234 5678h
и представил младшую часть как N1 пусть будет по твоему.
Ты описал шаги 1,2,3,4,5,6 в статье Винокурова они описаны и назва-
ны как "Основной шаг Криптопреобразования" да будет так для яснос-
ти! Мне не понятен твой шаг № 7 ? В труде Винокурова описано что
N2=N1,N1=S! И я не вру глянь статью у меня она pdf формата скачал
с его сайта! И лишь меняются в конце Базового цикла Криптопреобра-
зования, а это 32 Основных в ней так и написано! У тебя же они ме-
няются в конце Основного?! :( Где истина? Или где я туплю?
Ты получил из А следующее А'= А = 4526 C7C4 0000 0001h как их вос-
становить обратно? Не вижу ясности? Так как не вижу полностью шиф-
ровки! :-( Хотя по статье Горинова ты прав! И ее стоит почитать, но
почему такие разногласия?
При аттачеваю рисунки из Винокурова, чтоб ты видел!

PS: Твою запись "=>" можно принять за "стремится" не мог ли ты для
ясности в следующий раз использовать синтаксис языка С++?! (>=)Если что не так прости!

_1140266308__replace.zip


Дата: Июл 24, 2004 10:19:01

Ещё проще
...
6. Делаем S = Sзаменсдвинутое11раз XOR n2 = 04526 C7C4h
7. n1 = S
8. Меняем местами n1 и n2 и получаем
А = 4526 C7C4 0000 0001h
З.Ы. А архивы битые

<< . 1 . 2 . 3 . 4 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.111