1 / 1 / 0
Регистрация: 09.11.2013
Сообщений: 109
1

Шифрование по алгоритму RSA

27.09.2016, 23:43. Показов 6614. Ответов 1

Криптосистема шифрования данных RSA

Не получается дешифрование. Что не так?
Пара чисел (e,n) публикуется в качестве открытого ключа.
Пара чисел (d,n) является секретным ключом.
Все числа известны кроме n.
Шифрование сообщения с использованием открытого ключа:
Если m – сообщение (сообщениями являются целые числа в интервале от 0 до n-1), то зашифровать это сообщение можно как c=(m в степени е) mod(n).
Дешифрование сообщения с использованием секретного ключа:
Получатель расшифровывает, полученное сообщение с: m=(c в степени d) mod (n).
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace RSA
{
    class Program
    {
        static void Main(string[] args)
        {
 
            int p = 13, q = 7, e = 5, d = 29;
            int n, c=0, m,r=0;
            string s;
            n = p * q;
            Console.Write("Сообщение: ");
            s = Console.ReadLine();
            m = Convert.ToInt32(s);
            Console.WriteLine("Открытый ключ: ({0},{1})", e,n);
            Console.WriteLine("Секретный ключ: ({0},{1})", d, n);
            if (m >= 0 && m < (n - 1))
            {
                c = (int)Math.Pow(m, e)%n;
            }
            Console.WriteLine("Шифрование: {0} ", c);
            r = (int)Math.Pow(c, d) % n;
            Console.WriteLine("Дешифрование: {0} ", r);
            Console.ReadLine(); 
        }
 
 
    }
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.09.2016, 23:43
Ответы с готовыми решениями:

Как поменять результат шифрование \ Метод шифрование RSA
Здравствуйте! Прошу помощи! В просторах интернета нашла одну статью в которой реализован метод...

Прочитать текст из файла, зашифровать по алгоритму RSA и вывести результат в RichTextBox
Здравствуйте уважаемые форумчане программирую на шарпе сравнительно не долго - столкнулся с...

RSA шифрование
Доброго времени суток, у меня возникла такая проблема, преподаватель дал задание: &quot;написать свою...

Rsa шифрование
Доброго времени суток, пытаюсь разобраться с шифрованием, пару ключей генерирует, открытым ключом...

1
660 / 366 / 204
Регистрация: 02.06.2016
Сообщений: 624
28.09.2016, 00:33 2
Цитата Сообщение от KatyKova Посмотреть сообщение
r = (int)Math.Pow(c, d) % n;
В этой строке вычислется c^29, которое не помещается в int уже при c=7. Тебе нужно реализовать функцию степени которая сразу по модулю ее считает, самый простой вариант (вычисляет модуль на каждом умножении):
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
static int ModPow(int x, int y, int z) 
    => y == 0 ? 1 : (x * ModPow(x, y - 1, z)) % z;
    
static void Main()
{
    int p = 13, q = 7, e = 5, d = 29;
    int n, c = 0, m, r = 0;
    string s;
    n = p * q;
    Console.Write("Сообщение: ");
    s = Console.ReadLine();
    m = Convert.ToInt32(s);
    Console.WriteLine("Открытый ключ: ({0},{1})", e, n);
    Console.WriteLine("Секретный ключ: ({0},{1})", d, n);
    if (m >= 0 && m < (n - 1))
    {
        c = ModPow(m, e, n);
        Console.WriteLine("Шифрование: {0} ", c);
        r = ModPow(c, d, n);
        Console.WriteLine("Дешифрование: {0} ", r);
    }
    else Console.WriteLine("Слишком большое число");
    Console.ReadLine();
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.09.2016, 00:33

RSA шифрование
Всем привет, вопрос такой. Будет 2 приложения. 1 шифрует 2 расшифровывает. Я создал пару ключей,...

Шифрование файлов RSA
Дали задание зашифровать файлы при помоши RSA. Я нашел материалы как его используют со строками....

RSA шифрование файла
Всем привет, пишу программу, которая будет шифровать файл, дабы безопасно передавать его. Вычитал,...

Де/шифрование по алгоритму Эль-Гамаля
Суть в чём: мне необходимо реализовать шифрование и дешифрование текста с использованием алгоритма...

RSA шифрование с контейнером и сертификатом
Здравствуйте, есть программа для rsa шифрования, требуется с использованием самоподписного...

Шифрование строки методом RSA
Здравствуйте, возникла такая задача. Есть текст. Нужно его зашифровать, используя метод...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.