Карта сайта

Это автоматически сохраненная страница от 21.12.2013. Оригинал был здесь: http://2ch.hk/b/res/59344898.html
Сайт a2ch.ru не связан с авторами и содержимым страницы
жалоба / abuse: admin@a2ch.ru

Суб 21 Дек 2013 23:34:47
БРЕДАЧ ВЫРУЧАЙ
БРЕДАЧ ВЫРУЧАЙКартофан, помогай. Уже хз сколько семёню в pr и всё безуспешно:
http://2ch.hk/pr/res/343336.html
Суть: нужно реализовать ГОСТ 28147-89
Но мой собственный код меня унижает: http://pastebin.com/cS2rt4Ur
В этой pdf'ке доступное описание алгоритма: http://rghost.net/private/51010190/05689c29bddb197649d433a20492282e

Выручайте!


Суб 21 Дек 2013 23:36:29
Кстати было бы неплохо пообщаться ИТТ на любые программисто темы. Зачем красноглазить в одиночестве?

Суб 21 Дек 2013 23:39:11
На странице 5 pdf'ки описание структуры данных N, где N1- младшая часть, а N2- старшая. Вот сука, а я считал младшей N2, щас в эту сторону покопаю

Суб 21 Дек 2013 23:45:46
Опхуй, скинь в текстовом виде всю хуйню, а то я телнфона и вангую, что у тебя алгоритм хеширования, что я полгода назад делал

Суб 21 Дек 2013 23:49:01
>>59345686
Не, братишка, не хэширования.

#include &t;stdio.h>
#include &t;string.h>
#include &t;fcntl.h>
#include &t;unistd.h>
#include &t;sys/stat.h>
#include &t;stdint.h>

typedef union
{
uint64_t all;
uint32_t parts[2];
}data_struct;


uint32_t key[8]= {2542612654, 13689323, 1518563127, 3489012892, 2519843475, 3183980271, 1013633557, 104063607};

uint32_t tab[8][16]=
{{14, 4, 13, 13, 8, 15, 12, 0, 14, 8, 14, 6, 4, 0, 7, 15},
{4, 8, 15, 4, 14, 10, 6, 1, 4, 5, 2, 3, 11, 12, 12, 3},
{10, 3, 11, 7, 9, 15, 6, 0, 11, 0, 8, 2, 15, 7, 1, 10},
{1, 11, 7, 3, 15, 13, 1, 3, 0, 10, 5, 1, 2, 10, 12, 12},
{11, 15, 7, 11, 12, 15, 0, 1, 8, 5, 3, 11, 0, 1, 15, 3},
{9, 4, 10, 4, 3, 14, 13, 5, 15, 7, 5, 12, 15, 14, 7, 9},
{14, 11, 11, 10, 8, 14, 10, 1, 7, 15, 1, 0, 8, 4, 9, 5},
{9, 12, 0, 5, 2, 7, 6, 13, 2, 5, 10, 11, 13, 13, 1, 12}};

uint32_t subst(uint32_t N1)
{
uint32_t t;
uint32_t mask;
int i;

mask=15; //00000000000000000000000000001111

for(i= 7; i >= 0; --i)
{
t= N1 >> (4*i);
t∓= mask;

t=tab[7-i][t];
N1∓= ~(mask &t;&t; (4*i));
N1|= t &t;&t; (4*i);

}
return N1;
}

uint32_t shl(uint32_t N1)
{
uint32_t t= N1;

N1= (N1 &t;&t; 11);
N1|= (t >> 21);

return N1;
}

void main_step(uint32_t* pN1, uint32_t* pN2, uint32_t X)
{
uint32_t S, N1, N2;

N1= *pN1;
N2= *pN2;

S=N1+X;

S= subst(S);
S= shl(S);
S^= N2;

*pN2= N1;
*pN1= S;
}

void base_loop(uint32_t* pN1, uint32_t* pN2)
{

uint32_t N1, N2;
int i, j;

N1= *pN1;
N2= *pN2;

for(i= 0; i &t; 3; ++i)
{
for(j= 0; j &t; 8; ++j) main_step(∓N1, ∓N2, key[j]);
}

for(i= 7; i>= 0; --i) main_step(∓N1, ∓N2, key[i]);

*pN1= N1;
*pN2= N2;
}

void dbase_loop(uint32_t* pN1, uint32_t* pN2)
{

uint32_t N1, N2;
int i, j;

N1= *pN1;
N2= *pN2;

for(i= 0; i &t; 8; ++i) main_step(∓N1, ∓N2, key[i]);

for(i= 0; i &t; 3; ++i)
{
for(j= 7; j >= 0; --j) main_step(∓N1, ∓N2, key[j]);
}

*pN1= N1;
*pN2= N2;
}
int main()
{

data_struct Data;

memcpy(∓Data, "Zimni Vi", 8);

FILE *foo;
foo= fopen("foo", "w+");

base_loop(∓Data.parts[0], ∓Data.parts[1]);
dbase_loop(∓Data.parts[0], ∓Data.parts[1]);
fwrite(∓Data.all, 8, 1, foo);
fclose(foo);
return 0;
}

Суб 21 Дек 2013 23:51:00
>>59345807
Щто ниработае?

Суб 21 Дек 2013 23:51:46
>>59345807
Ну один хуй я "Стрибог" писал, причем успешно вышло

Суб 21 Дек 2013 23:52:15
>>59345919
Не расшифровывает. А может быть и не зашифровывает лол. Просто данные говняет.
Пытаюсь зашифровать и расшифровать хотя бы один бок данных (64 бита), ведь если это удастся- дело в шляпе. Результат выводиться в файл foo.
base_loop - должна шифровать
dbase_loop - дешифровать

Суб 21 Дек 2013 23:55:05
>>59345992
В ГОСТе нет тестовых примеров шоле для отладки?

Суб 21 Дек 2013 23:55:13
>>59345594
соус позязя.

Суб 21 Дек 2013 23:57:35
>>59346160
Нет, вообще ГОСТ та ещё херня. Я недостаточно хорош. чтоб понимать, что написал сумрачный советский гений

>>59346167
Соуса нет, в /e/ пытались найти но вроде не нашли. Погляди в тредах там

Вск 22 Дек 2013 00:00:26

Слава Российской науке!

Вск 22 Дек 2013 00:03:33
Что-то ОП совсем запутался почитав ГОСТ:
http://goo.gl/abZafK

Вск 22 Дек 2013 00:05:47
http://kaf401.rloc.ru/Criptfiles/gost28147/GOST28147.htm
Здесь походу тоже что и в pdf

Вск 22 Дек 2013 00:08:18
Заходишь на github.com и ищешь - можешь еще ГОСТ Р 34.11-94 этот поискать он в себя твой включает.

Вск 22 Дек 2013 00:17:52
>>59347497
Я видел другие реализации, ну их в жопу. Ещё лилею надежду исправить соё

Вск 22 Дек 2013 00:18:56
Ладно, утро вечеря мудренее. Завтра ещё раз тренд запилю.


← К списку тредов