Нужна функция 3DES на чистом С, программирую на Ubuntu. Буду рад любой помощи!
> Нужна функция 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);
}
>[оверквотинг удален]
> }
> 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);
> }
>
Получается, какие библиотеки надо подключать при вводе этой функции в программу?
>[оверквотинг удален]
>> 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);
>> }
>>
> Получается, какие библиотеки надо подключать при вводе этой функции в программу?Вы точно в С разбираетесь?
>[оверквотинг удален]
>>> 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);
>>> }
>>>
>> Получается, какие библиотеки надо подключать при вводе этой функции в программу?
> Вы точно в С разбираетесь?Если честно, я пока только в процессе обучения. А в чем тут дело?
>>> Получается, какие библиотеки надо подключать при вводе этой функции в программу?
>> Вы точно в С разбираетесь?
> Если честно, я пока только в процессе обучения. А в чем тут
> дело?Обучение надо начинать с хеловорлдов и семи лет выноса пробивок перфокарт за Мастером.
>>>> Получается, какие библиотеки надо подключать при вводе этой функции в программу?
>>> Вы точно в С разбираетесь?
>> Если честно, я пока только в процессе обучения. А в чем тут
>> дело?
> Обучение надо начинать с хеловорлдов и семи лет выноса пробивок перфокарт за
> Мастером.Хеловорлды вроде прошёл. Но всё-таки, в чем проблема моего вопроса?
>> Обучение надо начинать с хеловорлдов и семи лет выноса пробивок перфокарт за
>> Мастером.
> Хеловорлды вроде прошёл. Но всё-таки, в чем проблема моего вопроса?+ Ставите телегу криптографии поперёд лошади "подключения библиотеки в код".
+ Задаёте учебные вопросы в не относящихся к обучению форумах.
+ Уверены, что помощь рядом и придёт сама и сразу -- надо только протянуть руку и не заморачиваться.
+ Учиться не надо -- есть же гугль. А нет, не то---
>>> Обучение надо начинать с хеловорлдов и семи лет выноса пробивок перфокарт за
>>> Мастером.
>> Хеловорлды вроде прошёл. Но всё-таки, в чем проблема моего вопроса?
> + Ставите телегу криптографии поперёд лошади "подключения библиотеки в код".
> + Задаёте учебные вопросы в не относящихся к обучению форумах.
> + Уверены, что помощь рядом и придёт сама и сразу -- надо
> только протянуть руку и не заморачиваться.
> + Учиться не надо -- есть же гугль. А нет, не
> то---Спасибо за критику. Буду разбираться.
> Если честно, я пока только в процессе обучения. А в чем тут дело?В криптографии, программирования - минимум. Сплошные битовые операции. Без знания "Полей Галуа" там делать нечего.
Если хочется поиграть с числами, то тренироваться можно с реализации калькулятора без использования библиотек.
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 если с мантиссой.
> Получается...Вы просили функцию 3DES.:)