Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-

crypteria 7

Name: FrozenVoid 2011-10-17 2:06

Critique design
pass->hash 1024 bytes
text->1024 bit chunks ->
each 9 bits from start of hash, generate fill order in chunk
i.e. each bit from 1024 bitchunk is given new place [0-1023],each next bit is fiven new place[0-1022],[0-1021]... from next 9 bits in hash, next chunk fill order starts with 1 bit right to get 9bits slightly to end(different 9 bits).
XOR the result with bytes from end of hash
[Optional step for sending secure data: each byte is diffused into a bitstring with each bit given N bit random data gap(gap length calculated from current 9 bits from hash),similar to previous crypteria ciphers]

Name: Anonymous 2011-10-17 2:08

jesus fucking christ

Name: FrozenVoid 2011-10-17 2:18

>>2
Pretty simple isn't? Its also more cryptographically stronger than AES-256 and thats without diffusion.

Name: Anonymous 2011-10-17 2:23

Looks like someone's been reading ##crypto logs from a few months ago.

Name: Anonymous 2011-10-17 2:25

>previous crypteria ciphers
What?

Name: FrozenVoid 2011-10-17 2:29

>>5
 Its a family of ciphers i wrote few years ago. They were posted on my blog before i deleted it.Quite strong in encryption strength though not optimized for fast encryption. The idea is to diffuse bytes into larger stream, and in the process transform the bytes themself. Here is example of one of old ciphers.

Crypteria5.c Cipher
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define ull unsigned long long
#define ll long long int
#define ui unsigned int
#define lu unsigned long
#define li long int
#define ch char
#define uc unsigned char
#define chp char*
#define ucp unsigned char*
#define stdargs int argc,char **argv
//==DEBUG
#define thisline  ;printf("%d,",__LINE__) ;
//debug scan,print number of last executed line
//==ASM
#define rdt(timer)  ;asm volatile("rdtsc\n\t":"=A"(timer)) ;
// unsigned long long timer
//==Bitutil//byte rotate left/right
#define brol(value,shift)  ((value << shift) | (value >> (8 - shift)))
#define getbit(byte,place) (byte&(1<<place))
#define delbit(byte,place) (byte&(0xFF^(1<<place)))
//get 2chunks of byte
#define byte04(bt) bt&0xc0  
//chunk[11000000]
#define byte14(bt) bt&0x30  
//chunk[00110000]
#define byte24(bt) bt&0xc  
//chunk[00001100]
#define byte34(bt) bt&0x3  
//chunk[00000011]
//erase 2chunks of byte
#define byte40(bt) bt&0x3f  
//chunk[00111111]
#define byte41(bt) bt&0xcf 
//chunk[11001111]
#define byte42(bt) bt&0xf3 
//chunk[11110011]
#define byte43(bt) bt&0xfc 
//chunk[11111100]
//get 1bit from byte
#define gbit0(bt) bt&0x80
#define gbit1(bt) bt&0x40
#define gbit2(bt) bt&0x20
#define gbit3(bt) bt&0x10
#define gbit4(bt) bt&0x8
#define gbit5(bt) bt&0x4
#define gbit6(bt) bt&0x2
#define gbit7(bt) bt&0x1
//erase 1 bit from byte
#define cbit0(bt)  bt&0x7f
#define cbit1(bt)  bt&0xbf
#define cbit2(bt) bt&0xdf
#define cbit3(bt) bt&0xef
#define cbit4(bt) bt&0xf7
#define cbit5(bt) bt&0xfb
#define cbit6(bt)  bt&0xfd
#define cbit7(bt)  bt&0xfe
//==File IO
#define fseekend(file)  ;fseek(file,0,SEEK_END) ;
#define fseekstart(file)  ;fseek(file,0,SEEK_SET) ;
#define rfp(pointer,filename)  ;FILE* pointer=fopen(filename,"rb") ;
#define srfp(pointer2,file)  ;FILE* pointer2=fopen(file,"rb") ;if(!pointer2){printf("%s",file) ;perror("<=srfp:") ;exit(1) ;}
#define wfp(pointer,filename)  ;FILE* pointer=fopen(filename,"wb") ;
#define swfp(pointer2,file)  ;FILE* pointer2=fopen(file,"wb") ;if(!pointer2){printf("%s",file) ;perror("<=swfp:") ;exit(1) ;}
#define fsize(name,rsize)  ;srfp(temp_1,name) ;fseekend(temp_1) ;rsize=ftell(temp_1) ;fclose(temp_1)
#define rdf(pointer3,name,rsize)  ;srfp(temp_2,name) ;fseekend(temp_2) ;li rsize=ftell(temp_2) ;rewind(temp_2) ;uc* pointer3=malloc(rsize) ;fread(pointer3,1,rsize,temp_2) ;fclose(temp_2) ;
#define wrf(pointer,name,size)  ;swfp(temp_3,name) ;fwrite(pointer,1,size,temp_3) ;fclose(temp_3) ;
#define SYNTAX  ;printf("Syntax : %s inputfile password [-decode]\n .ecf files are encrypted, .src files are decrypted",argv[0]) ;
inline uc rndbyte(void){ull tmp ;rdt(tmp) ;uc a,c,b,d ;a=tmp&0xFF ;d=a%5 ;if(d< ;3){d++ ;}rdt(tmp) ;b=tmp&0xFF ;d=(d*(b%5))^a ;if(d> ;10){d-=10 ;} ;rdt(tmp) ;c=tmp&0xFF ;if(d&1){return a^b^c ;}else{return b^c^a ;}}
void main(stdargs){
if(argc<3){SYNTAX ;return ;};
rdf(input,argv[1],inpsize) ;
int pwlen=strlen(argv[2]) ;
if(pwlen<8){printf("Password too short!\n") ;exit(1) ;}
uc pwshift=((pwlen%256)^(argv[2][0])) ;
chp outputname=malloc(512) ;
sprintf(outputname,"%s%s",argv[1],argv[3]?".src":".ecf") ;
printf("%s '%s' to '%s'",argv[3]?"Decoding":"Encoding",argv[1],outputname) ;
swfp(output,outputname) ;
li loop=0 ;
li gapbyte=0 ;
uc bitarr[8] ;
uc bitpos,byten,curgap,curgaph,s1,s2,endbyte ;
if(!argv[3]){for(loop=0 ;loop<inpsize ;loop++){
curgap=argv[2][loop%pwlen] ;
s2=((pwshift++)^curgap)%8 ;
curgaph=(brol(curgap,s2))%(((pwshift++)%16)+16)  ;
for(gapbyte=0 ;gapbyte< (curgaph) ;gapbyte++){
fputc(rndbyte(),output) ;} ;
for(bitpos=0 ;bitpos< 8 ;bitpos++){
s2=((pwshift++)^curgap)%8 ;
s1=(brol(curgap,s2))%8 ;
s1+=((pwshift++)|curgap) ;
s1%=8 ;
bitarr[bitpos]=((getbit(input[loop],(7-bitpos)))|(delbit(rndbyte(),(7-bitpos))))^(brol(curgap,s1))^((s1+s2)*(s1-s2)) ;
fputc(brol(bitarr[bitpos],(8-s1)),output) ;
}}}else{
while(1){
if(gapbyte==pwlen){gapbyte=0 ;} ;
curgap=argv[2][gapbyte++] ;
s2=((pwshift++)^curgap)%8 ;
loop+=((brol(curgap,s2))%(((pwshift++)%16)+16)) ;
if(loop> inpsize){break ;} ;
endbyte=0 ;
for(bitpos=0 ;bitpos< 8 ;bitpos++){
s2=((pwshift++)^curgap)%8 ;
bitarr[bitpos]=input[loop++] ;
s1=(brol(curgap,s2))%8 ;
s1+=((pwshift++)|curgap) ;
s1%=8 ;
byten=(brol(bitarr[bitpos],s1))^(brol(curgap,s1))^((s1+s2)*(s1-s2)) ;
endbyte|=(getbit(byten,(7-bitpos))) ;}
fputc(endbyte,output) ;}}}

Name: Anonymous 2011-10-17 2:50

Assuming good faith (which is a bit of a stretch in your case), nowadays we already have plenty of fairly secure symmetric cryptographic algorithms, and most of them are pretty fast too. Yet another "fairly secure" algorithm is of therefore no use. You should rather look into designing "P=NP"-resistant (by assuming that SAT can be solved in O(n2)) algorithms and provable security.

Name: =+=*=F=R=O=Z=E=N==C=H=E=F=*=+= 2011-10-17 2:55

>>5
Its a femeely ooff ceephers i vrute-a foo yeers egu. Bork Bork Bork! Zeey vere-a pusted oon my blug beffure-a i deleted it.Qooeete-a strung in incrypshun strengt thuoogh nut oopteemized fur fest incrypshun. Bork Bork Bork! Zee idea is tu deeffffoose-a bytes intu lerger streem, und in zee prucess trunsffurm zee bytes zeemselff. Bork Bork Bork! Here-a is ixemple-a ooff oone-a ooff oold ceephers. Bork Bork Bork!

Cryptereea5.c Ceepher
#incloode-a
#incloode-a
#incloode-a
#deffeene-a ull unseegned lung lung
#deffeene-a ll lung lung int
#deffeene-a uee unseegned int
#deffeene-a loo unseegned lung
#deffeene-a lee lung int
#deffeene-a ch cher
#deffeene-a uc unseegned cher
#deffeene-a chp cher*
#deffeene-a ucp unseegned cher*
#deffeene-a stdergs int ergc,cher **ergf
//==DEBOoG
#deffeene-a theesline-a  ;preentff("%d,",__LINE__) ;
//deboog scun,preent noomber ooff lest ixecooted leene-a
//==ESM
#deffeene-a rdt(teemer)  ;esm fuleteele-a("rdtsc\n\t":"=A"(teemer)) ;
// unseegned lung lung teemer
//==Beetootil//byte-a rutete-a lefft/reeght
#deffeene-a brul(felooe-a,sheefft)  ((felooe-a << sheefft) | (felooe-a >> (8 - sheefft)))
#deffeene-a getbeet(byte-a,plece-a) (byte-a&(1< ;10){d-=10 ;} ;rdt(tmp) ;c=tmp&0xFF ;iff(d&1){retoorn a^b^c ;}ilse-a{retoorn b^c^a ;}}
fueed meeen(stdergs){
iff(ergc<3){SYNTEX ;retoorn ;};
rdff(inpoot,ergf[1],inpseeze-a) ;
int pvlee=strlee(ergf[2]) ;
iff(pvlen<8){preentff("Pessvurd tuu shurt!\n") ;ixeet(1) ;}
uc pvsheefft=((pvlee%256)^(ergf[2][0])) ;
chp ooootpootneme-a=melluc(512) ;
spreentff(ooootpootneme-a,"%s%s",ergf[1],ergf[3]?".src":".icff") ;
preentff("%s '%s' tu '%s'",ergf[3]?"Decudeeng":"Incudeeng",ergf[1],ooootpootneme-a) ;
svffp(ooootpoot,ooootpootneme-a) ;
lee luup=0 ;
lee gepbyte-a=0 ;
uc beeterr[8] ;
uc beetpus,bytee,coorgep,coorgeph,s1,s2,indbyte-a ;
iff(!ergf[3]){fur(luup=0 ;luup inpseeze-a){breek ;} ;
indbyte-a=0 ;
fur(beetpus=0 ;beetpus< 8 ;beetpus++){
s2=((pvsheefft++)^coorgep)%8 ;
beeterr[beetpus]=inpoot[luup++] ;
s1=(brul(coorgep,s2))%8 ;
s1+=((pvsheefft++)|coorgep) ;
s1%=8 ;
bytee=(brul(beeterr[beetpus],s1))^(brul(coorgep,s1))^((s1+s2)*(s1-s2)) ;
indbyte-a|=(getbeet(bytee,(7-beetpus))) ;}
fpootc(indbyte-a,ooootpoot) ;}}}

Name: FrozenVoid 2011-10-17 3:39

>>7
Crypteria 8 will be public-key/private-key system(without stupid "guess the primes" system like RSA)

Name: Anonymous 2011-10-17 4:59

>>8
Hey you're back as well

Name: Anonymous 2011-10-17 6:13

God damn it, fuck off, the lot of you.

Name: Anonymous 2011-10-17 9:57

>>11
Damn you!
I was refreshing this thread every 10 minutes to get those dubs, and you stole them from me! Thief!

Don't change these.
Name: Email:
Entire Thread Thread List