exploit the possibilities
Home Files News &[SERVICES_TAB]About Contact Add New

qcypher.c

qcypher.c
Posted Dec 21, 1999

qcypher.c

tags | encryption
SHA-256 | 9188ee7bb55ea947fd832b37da38ae19d859f5e00403dac1454ca1be0c12d867

qcypher.c

Change Mirror Download
/* Stream ciphers are often used because of their speed and simplicity of
implementation despite their inherent weakness against known-plaintext,
ciphertext-modification, and key-reuse attacks. The algorithm described
below provides a more secure alternative for encrypting data eight bits
at a time, which, while maintaining a simple self-inverting architecture,
provides resistance to the aforementioned attacks, and features a large
keyspace, small code size, back traffic protection, and resistance to
timing attacks and differential cryptanalysis. */


/* Qcypher.c */

#include <stdio.h>

unsigned char a,b,c,state[256];

unsigned char q(unsigned char i)
{
static unsigned char a0,a1,b0,b1,c1,c2,c3,c4,o,d1,d2,d3,d4;

a0=state[a];
a1=state[a0];
b0=state[b];
b1=state[b0];
c1=i^(0xAA&state[(i&0x55)^a]);
c2=c1^(0x55&state[(c1&0xAA)^b]);
c3=c2^(a+b)^(a0+b0);
c4=c3^(0x55&state[(c3&0xAA)^b]);
o=c4^(0xAA&state[(c4&0x55)^a]);
d1=i&o;
d2=i^o;
d3=c2&c3;
d4=c2^c3;
state[c&=255]^=a^d4;
state[c^0x80]^=b^d4;
a+=d1+b1+1;
b^=d2^d3^a1;
c++;
return(o);
}

void setkey(unsigned char *key, int len)
{
int x;
a=b=c=0;
for(x=256;x--;state[x]=0);
for(x=0;x<len;x++) state[x&255]^=key[x];
for(;len--;*(key++)=0) q(*key);
for(x=0;x<256;q(x++));
}

void main(int ac,unsigned char **av)
{
unsigned char byte;

setkey(av[1],strlen(av[1]));

while(fread(&byte,1,1,stdin)>0)
putchar(q(byte));
}
Login or Register to add favorites

File Archive:

April 2024

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Apr 1st
    10 Files
  • 2
    Apr 2nd
    26 Files
  • 3
    Apr 3rd
    40 Files
  • 4
    Apr 4th
    6 Files
  • 5
    Apr 5th
    26 Files
  • 6
    Apr 6th
    0 Files
  • 7
    Apr 7th
    0 Files
  • 8
    Apr 8th
    22 Files
  • 9
    Apr 9th
    14 Files
  • 10
    Apr 10th
    10 Files
  • 11
    Apr 11th
    13 Files
  • 12
    Apr 12th
    14 Files
  • 13
    Apr 13th
    0 Files
  • 14
    Apr 14th
    0 Files
  • 15
    Apr 15th
    30 Files
  • 16
    Apr 16th
    10 Files
  • 17
    Apr 17th
    22 Files
  • 18
    Apr 18th
    45 Files
  • 19
    Apr 19th
    0 Files
  • 20
    Apr 20th
    0 Files
  • 21
    Apr 21st
    0 Files
  • 22
    Apr 22nd
    0 Files
  • 23
    Apr 23rd
    0 Files
  • 24
    Apr 24th
    0 Files
  • 25
    Apr 25th
    0 Files
  • 26
    Apr 26th
    0 Files
  • 27
    Apr 27th
    0 Files
  • 28
    Apr 28th
    0 Files
  • 29
    Apr 29th
    0 Files
  • 30
    Apr 30th
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2022 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close