Я пытаюсь найти псевдокод алгоритма шифрования XOR. Однако у меня не было никакой удачи до сих пор. Кто-нибудь знает, где я могу найти его?
EDIT: XOR 32, если это помогает
EDIT 2: Для паролей
Я пытаюсь найти псевдокод алгоритма шифрования XOR. Однако у меня не было никакой удачи до сих пор. Кто-нибудь знает, где я могу найти его?
EDIT: XOR 32, если это помогает
EDIT 2: Для паролей
Самый простой «алгоритм шифрования XOR», вероятно, один, что просто XOR по открытому тексту с помощью ключа, например, так:
for each bit of the plaintext:
ciphertext = bit of plaintext XOR bit of key
где ключ просто оборачивается вокруг, когда он доходит до конца.
Поскольку XOR является его собственной инверсией, XORing зашифрованного с ключом снова таким же образом покажет открытый текст.
Вы имеете в виду что-то подобное?
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;
}
Для 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);
}
Предполагая, что вы имеете в виду шифр Вернама, это просто:
for i = 0 to length of input
output[i] = input[i] xor key[i mod key_length]
Следует отметить , что это довольно слабый , если ключ-поток не является , по крайней мере до тех пор , как вход, и никогда не использовать повторно.