Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2013, 21:27   #11
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,601
По умолчанию

Что не понятно? Вы паскаль знаете?

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог
_PROGRAMM_ вне форума Ответить с цитированием
Старый 22.12.2013, 17:15   #12
Nastya2406
Пользователь
 
Регистрация: 27.05.2011
Сообщений: 22
По умолчанию

вы столько вопросов задаете, лучше бы помогли...
Nastya2406 вне форума Ответить с цитированием
Старый 22.12.2013, 20:15   #13
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

После этого комментария точно не помогут, думаю )
Son Of Pain вне форума Ответить с цитированием
Старый 23.12.2013, 12:40   #14
Nastya2406
Пользователь
 
Регистрация: 27.05.2011
Сообщений: 22
По умолчанию

тут и так никто не собирался помогать,главное было сказать что я ничего незнаю...если бы я всё поняла в этой задаче, но я бы к вам не обращалась бы...
Nastya2406 вне форума Ответить с цитированием
Старый 25.12.2013, 16:18   #15
Nastya2406
Пользователь
 
Регистрация: 27.05.2011
Сообщений: 22
По умолчанию

ну помогите пожалуйста...вопрос жизни и смерти....если можете хотя бы создать форму с подписями где и что вводить, а в коде попробую сама как нибудь разобраться
Nastya2406 вне форума Ответить с цитированием
Старый 25.02.2015, 14:12   #16
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,603
По умолчанию

Шифрование по схеме эль-Гамаля.


Код:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>

int pow1(int a, int b)
{
if (b == 1) 
return a;
return a*pow1(a, b-1);
}

void main() 
{
char* msg = "abc\0";
int i;

int p = 11; // простое число
int g = 12; // 1 < g < p
int x = 5; // 1 < x < p (закрытый ключ)
int y = pow1(g, x) % p; // g^x mod p ( открытый ключ)
int k = 6; // 1 < k < p-1 (сессионный ключ)

printf("p %d\n", p);
printf("g %d\n", g);
printf("x %d\n", x);
printf("y %d\n", y);
printf("k %d\n", k);
printf("pow1(%d, %d) %d\n", g, x, pow1(g, x) );
printf("\n\n");


for(i = 0; i < strlen(msg); i++)
{
printf("%d %c\n", msg[i], msg[i]);

int a = pow1(g,k) % p; // a = g^k mod p

printf("pow1(g %d, k %d) %d\n", g, k, pow1(g, k) );
printf("pow1(y %d, k %d) %d\n", y, k, pow1(y, k) );
printf("%d * msg[i] %d\n", pow1(y, k), pow1(y, k) * msg[i] );
printf("%d\n", (msg[i]-'a') );


int b = ( pow1(y, k) * (msg[i]-'a') ) % p; // b = y^k M mod p

printf("a %d\n", a);
printf("b %d\n", b);

printf("pow1(a %d, p-1-x %d) %d\n", a, p-1-x, pow1(a, p-1-x) );
printf("b * pow1(a, p-1-x) %d\n", b * pow1(a, p-1-x));

// расшифрование
int M = ( b * pow1(a, p-1-x) ) % p;
printf("M %c\n", M+'a');

printf("\n\n");
}

}
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
challengerr вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Описание алгоритма шифрования Эль-гамаль Mixim Свободное общение 10 14.12.2013 17:16
Шифрование текста методом Эль-Гамаля W. Aron Помощь студентам 1 27.10.2013 12:27
криптография (эль-гамаль) serega28 Общие вопросы Delphi 0 22.06.2011 11:54
шифрование информации по правилу алгоритма RSA chillin Помощь студентам 1 10.02.2011 17:00