Необходимость XOR шифрования Алгоритм псевдокода

голоса
0

Я пытаюсь найти псевдокод алгоритма шифрования XOR. Однако у меня не было никакой удачи до сих пор. Кто-нибудь знает, где я могу найти его?

EDIT: XOR 32, если это помогает

EDIT 2: Для паролей

Задан 28/04/2010 в 00:33
источник пользователем
На других языках...                            


4 ответов

голоса
2

Самый простой «алгоритм шифрования XOR», вероятно, один, что просто XOR по открытому тексту с помощью ключа, например, так:

for each bit of the plaintext:
    ciphertext = bit of plaintext XOR bit of key

где ключ просто оборачивается вокруг, когда он доходит до конца.

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

Ответил 28/04/2010 в 00:37
источник пользователем

голоса
2

Вы имеете в виду что-то подобное?


unsigned char key = 0x7F;  // or any 8-bit value.
//encrypt
for(int i=0; i < strlen(input); i++) { input[i] ^= key; }
//decrypt
for(int i=0; i < strlen(input); i++) { input[i] ^= key; }

Ответил 28/04/2010 в 00:38
источник пользователем

голоса
2

Для C:

void crypt(char key, char *msg, size_t l)
{
  int i;
  for(i=0; i<l; i++)
  msg[i]^=key;
}

void decrypt(char key, char *msg, size_t l)
{
  crypt(key, msg, l);
}
Ответил 28/04/2010 в 00:39
источник пользователем

голоса
3

Предполагая, что вы имеете в виду шифр Вернама, это просто:

for i = 0 to length of input
    output[i] = input[i] xor key[i mod key_length]

Следует отметить , что это довольно слабый , если ключ-поток не является , по крайней мере до тех пор , как вход, и никогда не использовать повторно.

Ответил 28/04/2010 в 00:41
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more