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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.10.2012, 04:35   #1
AL_LORD
 
Регистрация: 12.10.2010
Сообщений: 6
Печаль криптосистема эль-гамаля C#

Доброе время суток.
Помогите с Эль-Гамалям
Я задался целью написать программу которая будет генерировать ключи, шифровать и разшифровывать текст.
Из конспекта я понял что открытый текст представляется в виде цифор, алфавит таков: а=1 б=2 в=3... я =33,' '=34
на зашифрования подается блок открытого текста, в цифровом виде, определенной размерностью, вот только какой???! ответ на этот вопрос предоставлен в виде E(mi)э(Zp*)^2 и... я не могу понять что это значит ... ((
1) разьясните пожалусто что это значит, и как это делать? E(mi)э(Zp*)^2
2) прошу вас, если можете привидите пример зашифрования "привет мир" с подробным описанием каждого этапа, что куда подается с какой размерностью куда пишится. Чтобы я мог внести в программу и проверить её на правельность работы.

так же я наткнуся на тему где Goldcoding предоставил программу, я посмотрел по скриншотам что у него шифр текст выдается как 4-х значное число, но когда я ввожу те же параметры себе в программу получаю даже не похожий результат
параметры : p 3571 g 3557 x 3559

программу пишу на C# в visual studio 2010

Код:
public char[] ch;
private void button2_Click(object sender, EventArgs e)
        {
            initAlf();//инициазизация алфавита
   
            int p = Convert.ToInt32(textBox1.Text);
            int g = Convert.ToInt32(textBox2.Text);
            int x = Convert.ToInt32(textBox3.Text);
            y = Convert.ToInt32(Convert.ToString(BigInteger.ModPow(g, x, p)));
            int vi = 0;
            int r2 = 0, i = 0; 
            do
            {         
                Random r = new Random();
                     do {
                         System.Threading.Thread.Sleep(10);  
                        r2 = r.Next(1, p-1);
                    } while (gcd(r2, p - 1) != 1);
                     vi = r2;
                    string s1 = Convert.ToString(BigInteger.ModPow(g, vi, p));
                    string s2 = Convert.ToString( BigInteger.Pow(y,vi) *serch( textBox4OT.Text[i])%p );

 
                    i++;
                    
 
            } while (i < textBox4OT.Text.Length);
        }
        public int serch(char c)
        {
            try
            {
                for (int i = 0; i < ch.Length; i++)
                {
                    if (c == ch[i]) { return i; }
                }
                return -1;
            }
            catch (Exception ep)
            {
                MessageBox.Show("ep = " + ep.Message);
                return -1;
            }
        }

        void initAlf()
        {
            ch = new char[ textBoxAlf.Text.Length];
            for (int i = 0; i < ch.Length; i++)
            {
                ch[i] = textBoxAlf.Text[i];
            }
        }
public int gcd(int a, int b)
        {
            int Remainder;
            while (b != 0)
            {
                Remainder = a % b;
                a = b;
                b = Remainder;
            }
            return a;
        }
Изображения
Тип файла: jpg 61V.jpg (265.1 Кб, 194 просмотров)

Последний раз редактировалось AL_LORD; 02.10.2012 в 04:39.
AL_LORD вне форума Ответить с цитированием
Старый 02.10.2012, 18:21   #2
AL_LORD
 
Регистрация: 12.10.2010
Сообщений: 6
По умолчанию

Спасибо вам, вы мне сново помогли ничем
AL_LORD вне форума Ответить с цитированием
Старый 02.10.2012, 23:38   #3
rUs_LAN
Форумчанин
 
Регистрация: 15.11.2008
Сообщений: 577
По умолчанию

просто всем не ....., ну ты понял. Я не знаю насколько модераторы одобряют такие ссылки но можешь посмотретьздесь
rUs_LAN вне форума Ответить с цитированием
Старый 03.10.2012, 01:20   #4
AL_LORD
 
Регистрация: 12.10.2010
Сообщений: 6
По умолчанию

rUs_LAN Огромное спасибо за ссылочку, она бы помогла мне пару часиков назад, но я уже разобрался в чем проблема самостоятельно, еще раз спасибо)))
AL_LORD вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
шифр эль гамаля на Delphi Athen Помощь студентам 9 04.03.2014 12:03
Генерация параметров (p и g ).Для ЭЦП Эль-Гамаля Mirrok Помощь студентам 0 21.05.2012 23:14
криптосистема Эль-Гамаля Nanochka Помощь студентам 16 21.04.2012 10:53
криптосистема rsa на delphi Paul11j Помощь студентам 1 05.06.2009 20:41