![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 | |
Регистрация: 15.06.2010
Сообщений: 3
|
![]()
Шифр VMPC.
Из википедии: Цитата:
Кто может объяснить а как это будет на Delphi по-человечьи? Спасибо, если кто обратит внимание. http://fotki.yandex.ru/users/kanpu32...166556/?page=0 Так выглядит подобный алгоритм. Последний раз редактировалось KanPu3; 15.06.2010 в 14:27. Причина: не дописал... |
|
![]() |
![]() |
![]() |
#2 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,833
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 15.06.2010
Сообщений: 3
|
![]()
Я просто не понимаю что это означает(
Очень прошу,объяснить.Или лучше написать,можно за вознаграждение. |
![]() |
![]() |
![]() |
#4 | ||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,833
|
![]() Цитата:
Цитата:
Код:
|
||
![]() |
![]() |
![]() |
#5 | |
Форумчанин
Регистрация: 12.05.2010
Сообщений: 219
|
![]()
ЧТо-то ты невнимательно читал вики..
Цитата:
В конце этой статьи и википедии есть ссылка для скачивания готового алгоритма на С. А уж из С в Делфи перевести на раз плюнуть. Хочешь, выкладывай код С, помогу переделать в Делфи |
|
![]() |
![]() |
![]() |
#6 |
Регистрация: 15.06.2010
Сообщений: 3
|
![]()
Касательно этого шифра-он не блочный, а потоковый.
А код вот)Спасибо, если поможете. /* VMPC stream cipher. Ported to ISO C by Alexander Myasnikov. Web: www.darksoftware.narod.ru */ typedef unsigned char u8; u8 n = 0; u8 P[256]; u8 s = 0; void __stdcall __export setup (u8 * key, u8 * iv) { long m, i; u8 temp; s = 0; for (i = 0; i != 256; i++) { P[i] = (u8) i; } for (m = 0; m != 768; m++) { s = P[(s + P[m & 0xff] + key[m % 64]) & 0xff]; temp = P[m & 0xff]; P[m & 0xff] = P[s & 0xff]; P[s & 0xff] = temp; } for (m = 0; m < 768; m++) { s = P[(s + P[m & 0xff] + iv[m % 64]) & 0xff]; temp = P[m & 0xff]; P[m & 0xff] = P[s & 0xff]; P[s & 0xff] = temp; } n = 0; } void __stdcall __export crypt (u8 * input, u8 * output, long len) { long i; u8 z, temp; for (i = 0; i != len; i++) { s = P[(s + P[n & 0xff]) & 0xff]; z = P[(P[(P[s & 0xff]) & 0xff] + 1) & 0xff]; temp = P[n & 0xff]; P[n & 0xff] = P[s & 0xff]; P[s & 0xff] = temp; n = (u8) ((n + 1) & 0xff); output[i] = (u8) (input[i] ^ z); } } |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Шифрование на С | Jasper92 | Общие вопросы C/C++ | 1 | 23.12.2009 10:05 |
Шифрование | Sina | Помощь студентам | 0 | 15.12.2009 21:31 |
Шифрование | SnowSin | Помощь студентам | 0 | 13.12.2009 12:14 |
шифрование | Рахимжан | Помощь студентам | 5 | 29.11.2009 22:33 |
шифрование | Stanislav | Свободное общение | 10 | 04.03.2008 05:09 |