Форум программистов, компьютерный форум, киберфорум
Наши страницы
Алгоритмы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.76/21: Рейтинг темы: голосов - 21, средняя оценка - 4.76
Fire55
5 / 5 / 0
Регистрация: 15.09.2010
Сообщений: 70
1

Алгоритм Виженера

10.10.2010, 11:08. Просмотров 3807. Ответов 2
Метки нет (Все метки)

Вот я пишу расшифровщик алгоритма Виженера, расшифровка латиницы.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public static string decrypt(string key, string text)
        {
            string ntext=null;
            int k;
            int t;
            char[,] table = genTable(); /// Таблица виженера
            for (int i = 0,j = 0; i < text.Length; i++,j++)
            {
                if (j == key.Length) { j = 0; }    
                k = (int)key[j] - 97; /// Столбец таблицы
                t = (int)text[i] - 97; /// Зашифрованный ключ
                for (int y = 0; y < 26; y++) 
                {
                      if (table[y,k] == text[i]) { ntext += (char)y; }
// находим в таблице Виженера строку [b]table[k,y] == text[i] [/b], соответствующую первому символу ключевого слова
// [b]y[/b] - Номер строчки в которой находится данный символ, соответствует первому символу исходного текста
                }
            }
            return ntext;
        }
Расшифрование производится следующим образом: находим в таблице Виженера строку, соответствующую первому символу ключевого слова; в данной строке находим первый символ зашифрованного текста. Столбец, в котором находится данный символ, соответствует первому символу исходного текста. Следующие символы зашифрованного текста расшифровываются подобным образом.
http://ru.wikipedia.org/wiki/%D0%A8%D0%B8%...%B5%D1%80%D0%B0

Что я делаю не правильно?

Выложу, еще сам шифратор, он работает правильно, сам проверял:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public static string encrypt(string text, string key)
        {
            string ntext =null;
            int k;
            int t;
            char[,] table = genTable();
            for (int i = 0,j = 0; i < text.Length; i++,j++)
            {
                if (j == key.Length) { j = 0; }    
                k = (int)key[j] - 97;
                t = (int)text[i] - 97;
                ntext+=Convert.ToString(table[k, t]);
            }         
            return ntext;
        }
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2010, 11:08
Ответы с готовыми решениями:

шифрование по таблице виженера
ребята доброго времени суток в общем дело в следующем нужно расшифровать...

Построить алгоритм Маркова, который ищет НОД (Алгоритм Евклида)
Здравствуйте, ребята, выручайте. Весь инет перерыл, всю голову сломал, но не...

алгоритм сжатя? коке алгоритм взят?
всем доброго времени суток ест дани таком формате...

Алгоритм шифра Виженера!
Доброго времени суток господа! Нужна ваша помощь с шифром Виженера! Хотел...

Алгоритм вскрытия Виженера с нестандартным квадратом
Всем привет, подскажите каким образом проводится криптоанализ Виженера, в...

2
Fenix-Serg
0 / 0 / 0
Регистрация: 13.03.2011
Сообщений: 1
16.03.2011, 20:16 2
как работает функция genTable ?

напишите, пожалуйста, полную программу шифрования и дешифрования с использование форм.
0
CSharp
51 / 51 / 14
Регистрация: 12.01.2013
Сообщений: 770
06.02.2014, 15:33 3
можно глянуть как работаете функция genTable ?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.02.2014, 15:33

Нужен алгоритм поиска пути в этом лабиринте (будь то волновой алгоритм или алгоритм правой/левой руки )
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; using...

Шифр Виженера
Задача такая: Реализовать шифр Виженера с шифровкой как можно больше языков....

Шифр Виженера
Салют(; Написала прогу с реализацией одного метода, описанного на википедии,...


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

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

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