The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]



"3DES через OpenSSL на чистом С "
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (C/C++)
Изначальное сообщение [ Отслеживать ]

"3DES через OpenSSL на чистом С "  +/
Сообщение от kolyanchi email(ok) on 26-Дек-17, 20:02 
Нужна функция 3DES на чистом С, программирую на Ubuntu. Буду рад любой помощи!
Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "3DES через OpenSSL на чистом С "  +/
Сообщение от pavlinux (ok) on 26-Дек-17, 22:25 
> Нужна функция 3DES на чистом С...


static void des3_ede_encrypt(struct crypto_tfm *tfm, u8 *dst, const u8 *src)
{
    struct des3_ede_ctx *dctx = crypto_tfm_ctx(tfm);
    const u32 *K = dctx->expkey;
    const __le32 *s = (const __le32 *)src;
    __le32 *d = (__le32 *)dst;
    u32 L, R, A, B;
    int i;

    L = le32_to_cpu(s[0]);
    R = le32_to_cpu(s[1]);

    IP(L, R, A);
    for (i = 0; i < 8; i++) {
        ROUND(L, R, A, B, K, 2);
        ROUND(R, L, A, B, K, 2);
    }
    for (i = 0; i < 8; i++) {
        ROUND(R, L, A, B, K, 2);
        ROUND(L, R, A, B, K, 2);
    }
    for (i = 0; i < 8; i++) {
        ROUND(L, R, A, B, K, 2);
        ROUND(R, L, A, B, K, 2);
    }
    FP(R, L, A);

    d[0] = cpu_to_le32(R);
    d[1] = cpu_to_le32(L);
}


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "3DES через OpenSSL на чистом С "  +/
Сообщение от kolyanchi email(ok) on 27-Дек-17, 00:51 
>[оверквотинг удален]
>  }
>  for (i = 0; i < 8; i++) {
>   ROUND(L, R, A, B, K, 2);
>   ROUND(R, L, A, B, K, 2);
>  }
>  FP(R, L, A);
>  d[0] = cpu_to_le32(R);
>  d[1] = cpu_to_le32(L);
> }
>

Получается, какие библиотеки надо подключать при вводе этой функции в программу?

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "3DES через OpenSSL на чистом С "  +/
Сообщение от Аноним (??) on 27-Дек-17, 07:07 
>[оверквотинг удален]
>>  for (i = 0; i < 8; i++) {
>>   ROUND(L, R, A, B, K, 2);
>>   ROUND(R, L, A, B, K, 2);
>>  }
>>  FP(R, L, A);
>>  d[0] = cpu_to_le32(R);
>>  d[1] = cpu_to_le32(L);
>> }
>>
> Получается, какие библиотеки надо подключать при вводе этой функции в программу?

Вы точно в С разбираетесь?

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "3DES через OpenSSL на чистом С "  –1 +/
Сообщение от kolyanchi (ok) on 27-Дек-17, 09:29 
>[оверквотинг удален]
>>>   ROUND(L, R, A, B, K, 2);
>>>   ROUND(R, L, A, B, K, 2);
>>>  }
>>>  FP(R, L, A);
>>>  d[0] = cpu_to_le32(R);
>>>  d[1] = cpu_to_le32(L);
>>> }
>>>
>> Получается, какие библиотеки надо подключать при вводе этой функции в программу?
> Вы точно в С разбираетесь?

Если честно, я пока только в процессе обучения. А в чем тут дело?

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "3DES через OpenSSL на чистом С "  +/
Сообщение от Andrey Mitrofanov on 27-Дек-17, 10:25 
>>> Получается, какие библиотеки надо подключать при вводе этой функции в программу?
>> Вы точно в С разбираетесь?
> Если честно, я пока только в процессе обучения. А в чем тут
> дело?

Обучение надо начинать с хеловорлдов и семи лет выноса пробивок перфокарт за Мастером.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "3DES через OpenSSL на чистом С "  +/
Сообщение от kolyanchi (ok) on 27-Дек-17, 10:50 
>>>> Получается, какие библиотеки надо подключать при вводе этой функции в программу?
>>> Вы точно в С разбираетесь?
>> Если честно, я пока только в процессе обучения. А в чем тут
>> дело?
> Обучение надо начинать с хеловорлдов и семи лет выноса пробивок перфокарт за
> Мастером.

Хеловорлды вроде прошёл. Но всё-таки, в чем проблема моего вопроса?

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "3DES через OpenSSL на чистом С "  +/
Сообщение от Andrey Mitrofanov on 27-Дек-17, 10:57 
>> Обучение надо начинать с хеловорлдов и семи лет выноса пробивок перфокарт за
>> Мастером.
> Хеловорлды вроде прошёл. Но всё-таки, в чем проблема моего вопроса?

+ Ставите телегу криптографии поперёд лошади "подключения библиотеки в код".
+ Задаёте учебные вопросы в не относящихся к обучению форумах.
+ Уверены, что помощь рядом и придёт сама и сразу -- надо только протянуть руку и не заморачиваться.
+ Учиться не надо -- есть же гугль.  А нет, не  то---

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "3DES через OpenSSL на чистом С "  +/
Сообщение от kolyanchi (ok) on 27-Дек-17, 12:47 
>>> Обучение надо начинать с хеловорлдов и семи лет выноса пробивок перфокарт за
>>> Мастером.
>> Хеловорлды вроде прошёл. Но всё-таки, в чем проблема моего вопроса?
> + Ставите телегу криптографии поперёд лошади "подключения библиотеки в код".
> + Задаёте учебные вопросы в не относящихся к обучению форумах.
> + Уверены, что помощь рядом и придёт сама и сразу -- надо
> только протянуть руку и не заморачиваться.
> + Учиться не надо -- есть же гугль.  А нет, не
>  то---

Спасибо за критику. Буду разбираться.


Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

10. "3DES через OpenSSL на чистом С "  +/
Сообщение от pavlinux (ok) on 28-Дек-17, 17:03 
> Если честно, я пока только в процессе обучения. А в чем тут дело?

В криптографии, программирования - минимум. Сплошные битовые операции. Без знания "Полей Галуа" там делать нечего.

Если хочется поиграть с числами, то тренироваться можно с реализации калькулятора без использования библиотек.

sin(x), cos(x), tg(x),ctg(x)
log[2](x), log[10](x), ln(x)
e^x, x^y
sqrt(x), x^(1/y)
...

--

Задание на лето:
Тот же калькулятор, но с числами с вводом и выводом до 10000 цифр, или 10000.10000 если с мантиссой.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

9. "3DES через OpenSSL на чистом С "  +/
Сообщение от pavlinux (ok) on 28-Дек-17, 16:58 
> Получается...

Вы просили функцию 3DES.:)

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема


  Закладки на сайте
  Проследить за страницей
Created 1996-2018 by Maxim Chirkov  
ДобавитьПоддержатьВебмастеруГИД  
Hosting by Ihor