С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
komarov
0 / 0 / 0
Регистрация: 12.12.2011
Сообщений: 6
#1

Алгоритм шифрования WAKE - C++

07.12.2012, 14:52. Просмотров 851. Ответов 0
Метки нет (Все метки)

Пытаюсь реализовать алгоритм шифрования WAKE, нашел сайт, где функции вроде бы описаны, но не могу разобраться, как их применять, так же есть исходник, где видимо пытались реализовать алгоритм, но он тоже не работает, может кто-нибудь помочь?

Вот сайт: http://www.cix.co.uk/~klockstone/wake.htm

Исходник:
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#include <iostream>
#include <stdio.h>
 
using namespace std;
void cypher (long V[],long n,long k[],long r[],long t[]);
void genkey (long t[], long k[]);
 
int main()
{
    
    long V[7], n, k[4], r[6], t[256];
    int j = 1;
    n = -4;
    for (int i = 1; i<7; i++) 
    r[i] = rand()%10;
    for (int count = 0; count < 4; count ++)
    {
    k[count] = rand()%512;
}
    for (int count_t = 0; count_t < 256; count_t ++){
        t[count_t] = rand()%255;
        cout << "t= " << t[count_t] << "\n";
        }
    
    V[0] = 1;
    V[1] = 3;
    V[2] = 5;
    V[3] = 7;
    V[4] = 21;
    V[5] = 43;
    V[6] = 12;
    V[7] = 17;
    
    genkey (t, k);
    cypher (V,n,k,r,t);
    for(int i = 0; i <=7; i++)
    cout << V[i] << "\t";
    n = -4;
    cout << "\n\n";
    cypher (V,n,k,r,t);
    for(int i = 0; i <=7; i++)
    cout << V[i] << "\t";
    system ("PAUSE");
    
    return 0;
}
 
void cypher (long V[],long n,long k[],long r[],long t[]){
long r1,r2,r3,r4,r5,r6,d,*e,m=0x00ffffff ;
 
r3=k[0] ; r4=k[1] ; r5=k[2] ; r6=k[3] ;
if (n<0) d= -1 ; else d=1 ;
e=V+n ;
while (V-e) {
 r1 = *V ;
 r2 = r1^r6 ;
 *V = r2 ; // Change into r1 for decoding.
 V += d ;
 r3 = r3+r2 ;
 r3 = (r3>>8&m)^t[r3&255] ;
 r4 = r4+r3 ;
 r4 = (r4>>8&m)^t[r4&255] ;
 r5 = r5+r4 ;
 r5 = (r5>>8&m)^t[r5&255] ;
 r6 = r6+r5 ;
 r6 = (r6>>8&m)^t[r6&255] ; }
r[0] =r3 ; r[1]=r4 ; r[2]=r5 ; r[3]=r6 ; }
 
 
void genkey (long t[], long k[]){
long x, z, p ;
static long tt[10]= {
0x726a8f3b,                                 // table
0xe69a3b5c,
0xd3c71fe5,
0xab3c73d2,
0x4d3a8eb3,
0x0396d6e8,
0x3d4c2f7a,
0x9ee27cf3, } ;
for (p=0 ; p<4 ; p++) t[p]=k[p] ;          // copy k
for (p=4 ; p<256 ; p++) {
  x=t[p-4]+t[p-1] ;                        // fill t
  t[p]=x>>3 ^ tt[x&7] ; }
 
for (p=0 ; p<23 ;
 p++) t[p]+=t[p+89] ;           // mix first entries
x=t[33] ; z=t[59] | 0x01000001 ;
z=z&0xff7fffff ;
for (p=0 ; p<256 ; p++) {       //change top byte to
  x=(x&0xff7fffff)+z ;          // a permutation etc
  t[p]=t[p] & 0x00ffffff ^ x ; }
 
t[256]=t[0] ; x&=255 ;
for (p=0 ; p<256 ; p++) {     // further change perm.
  t[p]=t[x=(t[p^x]^x)&255] ;  // and other digits
  t[x]=t[p+1] ;  }     }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2012, 14:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Алгоритм шифрования WAKE (C++):

Алгоритм шифрования Рабина - C++
Привет всем! :) Очень нужен исходник на С++ или С# для алгоритма шифрования/дешифрования Рабина. Для написания курсовой работы... Если...

алгоритм шифрования MISTY1 - C++
Здравствуйте, у кого есть исходник misty1 желательно рабочий - поделитесь пожалуйста, просто в интернете нигде найти не могу. спасибо

Алгоритм шифрования по ГОСТу - C++
Вот уже второй день мучаюсь с этой программой. Хотел реализовать шифрование по госту методом простой вставки. Проблема в том, что все...

Алгоритм шифрования AES - C++
Всем доброго времени суток! Господа, прошу помочь определиться с тем как более правильно использовать алгоритм AES для лицензирования...

Алгоритм шифрования Anubis - C++
Приветствую! Заранее прошу прощения за нубскую просьбу: нужно применить готовые функции. Нашел чужой код, не могу в нём разобраться....

Алгоритм шифрования XTEA - C++
При построении решения, ошибок не выдает. Все работает. Вопрос вот в чем: при шифровании даже одной буквы, шифр текст выводится длиной 64...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.12.2012, 14:52
Привет! Вот еще темы с ответами:

Алгоритм шифрования DES - C++
Требуется написать программу реализующую симметричный алгоритм шифрования DES. В Инете много облазил сайтов, но так и не понял, какой тип...

Алгоритм шифрования RSA - C++
х*17(mod 84)=1 найти х Написать на с++

Алгоритм шифрования ГОСТ 28147-89 - C++
Всем привет, реализую алгоритм данный алгоритм шифрования, хотелось бы прояснить пару моментов. Не совсем понимаю, как считывать файлы:...

Алгоритм шифрования из exe файла - C++
Hola amigos! :) На C++ к слову я мало что понимаю и столкнулся с некой необходимостью получить алгоритм шифрования обычного CD-ключа из...


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

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

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