[ alex @ 16.01.2001. 18:53 ] @
Caos,

Algoritam koriscen za kriptovanje ove poruke sam veoma davno uradio, cak se i ne secam kako tacno izgleda (mada, iz source-a se moze provaliti).

Kriptovanu poruku saljem kao hexdump, jer neki karakteri ne mogu biti prikazani.

Kriptovana poruka sledi:
Code:

--- CUT ---
0000000    0d65    f5a6    314c    23ff    7a12    af46    5df8    bc46
0000010    52f5    484d    ce94    eb2c    362c    7914    ba03    2bdc
0000020    6d9c    15d3    0d55    91b6    a301    7aad    5116    b007
0000030    53dc    a895    41e9    025d    e1cc    62e1    7d2e    6e18
0000040    8617    e0c3    3c42    5cea    5848    a3c8    29d6    69ae
0000050    5e52    8d56    d0ba    bb08    4ff3    1655    c197    e6b3
0000060    756c    5a5d    d41f    ba9e    27d3    0cbe    5c0c    948c
0000070    aa91    71e6    535f    dc0d    9291    a889    51f6    a027
0000080    646e    2862    457d    004a    41cc    642a    3144    61d9
0000090    cb06    5f46    4205    4ac5    2f2d    66ef    1475    a41b
00000a0    63c4    fe2b    027e    fa34    417e    312d    79eb    7843
00000b0    2288    24d4    ed2d    5139    bb05    02e5    1266    6dfd
00000c0    185f    f181    33d0    b02d    2345    79a4    4b60    283e
00000d0    4cfe    f13e    0123    05eb    a567    3309    2ec8    57fd
00000e0    3f23    40f7    be74    0096                                
00000e7
--- CUT ---

(ispis komande hexdump -x fajl; sto ce reci, heksadecimalni dvobajtni ispis).

Ukoliko imate problema da prebacite poruku iz hex formata u binarni, javite mi se da vam posaljem poruku na mail.

Puno uspeha!

Poz, alex.
[ Gojko Vujovic @ 17.01.2001. 15:26 ] @
ehh izgleda da svi vole da kriptuju ali niko da provaljuje to

ja sam ga prebacio nije problem ako neko ne moze neka trazi poslacu mu na mail..

ali ovo je prvi ozbiljniji zadatak hehe nije kao ono Predatorovo..

(NVS)
[ ventura @ 18.01.2001. 00:12 ] @
alex, ajde meni posalji taj sadrzaj u ASCIIju na [email protected]...


pristupio sam svom disku, posto sam danas sredjivao neke stvari za fakultet pa cu sutra iz skole da posaljem jedan moj kriptovani prog..

[ alex @ 25.01.2001. 10:31 ] @
Ventura,

Poslao sam ti poruku na email.

Srecno svima u provaljivanju..

Sledece nedelje, ukoliko ne bude bilo nikakvih odgovora ili pokusaja razbijanja algoritma, poslacu malo hint-ova.

Pozdrav,alex.
[ Vojislav Milunovic @ 25.01.2001. 11:32 ] @
Samo pitanje jel ovo deo neke kriptovane poruke ili cela kriptovana poruka?
[ alex @ 25.01.2001. 12:58 ] @
Citat:
predator wrote:
Samo pitanje jel ovo deo neke kriptovane poruke ili cela kriptovana poruka?


Poruka je kompletna, nije nikakav deo.

Poz, alex.
[ Vojislav Milunovic @ 28.01.2001. 12:21 ] @
Pokusavao sam ali mi nije islo:o(
Jednostavno nisam dobar u tome.
[ alex @ 05.02.2001. 09:09 ] @
OK, posto se niko nije ni potrudio bar da pita nesto u vezi zadatka, evo objasnjenja algoritma kriptovanja:

- Za kriptovanje se koristi obican XOR.
- Srz sistema je sifra koja se unese na pocetku sifrovanja. Zatim se od sifre racuna kljuc, po kome se vrsi XOR operacija (cyph = chr ^ key) nad svakim karakterom u originalnoj poruci.
- Posle svake XOR operacije kljuc se rotira (bit rotiranje, rotiraju se bitovi u samom kljucu).
- Posle svakih 8 rotacija (kada se ponovo dobije isti kljuc), kljuc se inkrementuje za 1.
- Sve ispocetka, XOR-uje se sledecih 8 karaktera, a kljuc se bit-rotira, zatim ide inkrementacija, i tako sve do kraja poruke.

Isti algoritam funkcionise i prilikom dekriptovanja, jer je XOR operacija reverzna.

Eto, to je algoritam. Sad, znajuci algoritam, ne verujem da bi vam bilo tesko da razbijete kod.. Nisam namerno napisao po kom se sistemu racuna kljuc, jer bi onda bilo isuvise lako.

Valjda ce sad neko bar pokusati da resi zadatak. Ukoliko ne, za nekoliko dana cu poslati source kod. Inace, source kod (sa sve komentarima) ima 65 linija .

Spremio sam vam malo tezi zadatak, ali o tome kad zavrsimo sa ovim.

Pozdrav, alex.
[ Vojislav Milunovic @ 08.02.2001. 17:47 ] @
Evo probacu do nedelje da uradim...imam frke sa skolom pa nemogu da stignem...ali svakako da bih voleo da probam:o) Bas bih voleo da naucim malo oko enkripcije :o)
[ Gojko Vujovic @ 08.02.2001. 23:40 ] @
ja nesto sumljam da je matematika iz jedanaeste beogradske dovoljna za malo kriptografije..
[ Vojislav Milunovic @ 09.02.2001. 09:17 ] @
Pa i ti su u 11oj manijace:o)
Doduse sta fali matematika je matematika :o)
Barem ova nasa Ankica oce da poludi sto nas ima samo 5 od 51 koji je razumeju:o)))

Gojko uzgred jes ti cuo za Shelica? :o)))))))))
Epa onaj koji kod njega ima 3 taj je Mika Alas:o))))
[ Gojko Vujovic @ 09.02.2001. 17:43 ] @
hmm matematika je matematika ali je jos uvek srednjoskolska.. koja je smesna prema onome sto se radi na faxu.
to sam mislio
[ Vojislav Milunovic @ 10.02.2001. 18:38 ] @
Zahvaljujem se alex-u sto mi je poslao kompletan file sa kriptovanom porukom ali ne ide...Stvarno ne znam kako ovo da uradim,pokusao sam mali milion kombinacija sa xor i shiftovanjem bitova...ali ne ide...
Jel ima neko neke tekstove o kriptografiji bas me zainteresovalo:o)

Pzodrav...
[ m r v a @ 11.02.2001. 16:11 ] @
http://www.neworder.box.sk/box...ack-crypt&txt=Cryptography

enjoy
[ alex @ 12.02.2001. 15:09 ] @
Ovako, jos malo hintova - kljuc ima samo 1 bajt (256 kombinacija .

Program uzima pocetni karakter i radi XOR sa kljucem. Zatim se kljuc bit-rotira (shift ulevo za 1 bit, a prvi bit postaje 8. bit).. I tako redom, dok se ne dodje do 8. rotacije.. Tada se dobija isti kljuc kao i prvi, te se uvecava za jedan.

Poprilicno prosto! Sta je potrebno napisati - kod koji ce da u jednoj petlji prodje kroz svih 256 kombinacija samog kljuca i da XOR-uje sve karaktere (postujuci rotiranje i uvecavanje kljuca)...

Mislio sam da cete ovu kriptovanu sifru razbiti za jedan dan, no, izgleda sam se prevario..

Poz, alex.
[ Vojislav Milunovic @ 13.02.2001. 14:22 ] @
Da tako sam i krenuo
__asm__ __volatile__ ("xorb %1,%2n":"=a"(rez):"0"(rez),"b"(key));

moze i sa ~ ali nekako sam se nalozio na inline assembly pa mi nekako bolje a pri tom se ovaj deo vrteo 8 puta i shiftovao byte za 1 uvek :o)
key=key<<1;
a ovo se pozivalo iz funkcije koja je za svaki kod od mogucis 256 (255 + 0) vrteo celu poruku kroz ovaj algoritam:::

int main(){
/* otvaram file */

for (i=0;i<=255;i++){
pa sad while ((chr!=get(stream))=EOF){
pa pozivaj onaj kod gore tj kao drugu funkciju :o(
}
pa sad sledeci znak kao key itd :o0
}
...
sta da se radi suvise sam los u ovome

[Ovu poruku je menjao predator dana 02-13-2001 u 02:23 PM GMT]
[ Vojislav Milunovic @ 13.02.2001. 14:25 ] @
cek se meni cini ili sam se ja zeznuo?? rekao si shifting ulevo a ja radio u desno......hmmm mozda sam tu gresio:o)
[ alex @ 13.02.2001. 16:28 ] @
Poenta u razbijanju kriptovanih poruka je da sigurno neces izprve dobiti krajnji rezultat. Moras probati sve kombinacije, a ne samo rotaciju ulevo ili samo udesno..

Takodje, moras biti spreman i na dosta pogresnog output-a, dok ne dodjes na pravi.. Stampaj sve zivo na ekran, kako bi pratio sta se dogadja..


Poz, alex.
[ Vojislav Milunovic @ 13.02.2001. 18:47 ] @
Heh pa normalno
#kript > proba
#vi proba

:o))

Ma ocu da poludim najaci trip je sto mi se u file posle sviju 256 kombinacija napise isto...e to me izludjuje
[ alex @ 14.02.2001. 08:41 ] @
Kako se napise isto za svakih 256 kljuceva?

Da li si dobro odradio rotaciju kljuca? Takodje, da li ga uvecavas za 1 posle cele rotacije (8 rotacija)?

Poz, alex.
[ Vojislav Milunovic @ 14.02.2001. 12:32 ] @
Mja greska u algoritmu:o) Zaboravio sam da stavim da se psoe svakog i++ (for petlja) kljuc promeni za i :o)
[ alex @ 14.02.2001. 20:22 ] @
Citat:
predator wrote:
Mja greska u algoritmu Zaboravio sam da stavim da se psoe svakog i++ (for petlja) kljuc promeni za i


Pa dobro, greska u algoritmu... Moglo se i pretpostaviti, cim za svaki kljuc dobijes isti izlaz.. Nego, sigurno imas jos koji problem ili gresku u algoritmu, jer nisi postovao resenje...

Oce li to ili da postujem source? Ostali, vidim, mrka kapa sto se ovog malog problema tice.. Sta li cete tek da uradite kad vam posaljem sledecu kriptovanu poruku?

Poz, alex.
[ Vojislav Milunovic @ 15.02.2001. 10:24 ] @
daj mi samo do kraja dana foru...
[ Vojislav Milunovic @ 15.02.2001. 16:02 ] @
Predajem se...

Ne vredi pokusavam i pokusavam ali mi stvarno ne ide...
Probao sam mali milion shifvtovanja,raznih xor kombinacija ali,sto kaze nas narod,nece slonce u lonce:o(
[ alex @ 20.02.2001. 11:23 ] @
Heh, ne znam zasto vam nije uspelo da razbijete kod, kada sam vam opisao algoritam i dao sve moguce hintove..

Source koji saljem je source za razbijanje mog algoritma, i dosledno prati nacin razbijanja koji sam opisao
u nekoj od prethodnih poruka.

Here it goes:

--- cut <breaker.c> ---
#include <stdio.h>
#include <stdarg.h>
#include <math.h>

/* Program koji razbija algoritam SOL1 */
/* Autor algoritma: Aleksandar Radulovic */
/* Sva prava zadrzana, bla bla bla.. */

unsigned char rotate(char c){
unsigned char a,b,d,e;

a = c << 1;
b = c & 0x80;
d = b >> 7;
e = a | d;
return e;
}

void main(int argc, char *argv[]) {
int rotn=1;
unsigned char key, chr, cyph, i;
FILE *fi;

if(argc!=2) {
printf("greska u parametrima...n");
printf("nKoriscenje : %s <fajl koji se sifruje>nn",argv[0]);
exit(1);
}

for (i=1; i<255; i++) {
key=i; chr=0; cyph=0; rotn=1;
printf("nnKey is : %dn",i);
if((fi=fopen(argv[1],"r"))==NULL) {
printf("Ne mogu da otvorim fajl %s !n",argv[1]);
exit(1);
}
while (!feof(fi)) {
chr = getc(fi);
cyph=chr ^ key;
if(rotn==9) {
rotn=1;
key++;
}
else {
key=rotate(key);
rotn++;
}
printf("%c",cyph);
}
fclose(fi);
}
}
--- end <breaker.c> ---

Program pokrecete sa:

$ ./breaker <ime_fajla_sa_sifrovanom_porukom>

Kljuc kojim je sifrovana poruka je 133, i pod njim cete videti poruku..


Malo kasnije cu poslati i sol1.c, originalni program kojim sam sifrovao poruku.
Vise srece sledeci put.


Pozdrav, alex.

[Ovu poruku je menjao alex dana 02-20-2001 u 11:25 AM GMT]

[Ovu poruku je menjao alex dana 02-20-2001 u 11:25 AM GMT]
[ Gojko Vujovic @ 20.02.2001. 16:24 ] @
hmm ja za sebe mogu samo da kazem da nemam pojma o kriptografiji, i zato nisam nista ovde uradio
[ SnOoP @ 11.07.2001. 19:51 ] @
jako pametni momci .. :) recite mi gde mogu da naucim o kriptografiji i XOR
[ kajla @ 13.07.2001. 14:14 ] @
Citat:
SnOoP je napisao:
jako pametni momci .. :) recite mi gde mogu da naucim o kriptografiji i XOR


Sto se tice XOR -a to ti je ekskluziv OR, tj u C-u to ti je ^.

Tablica istinosti ti ide ovako:

E1 E2 E1 ^ E2
------------------------------------
1 1 0
1 0 1
0 1 1
0 0 0


poz.

[Ovu poruku je menjao kajla dana 07-13-2001 u 02:16 PM GMT]

[Ovu poruku je menjao kajla dana 07-13-2001 u 02:19 PM GMT]
[ SnOoP @ 14.07.2001. 03:22 ] @
ehh kako i ja mogu nekad bit glup ko tocak... :)

xor:
Code:

          _____
------          
        | |          |-----    
------/ /____ /


sada sve shvatam.. radim digitalnu elektroniku na faks'u a nebi bi ni palo napamet da XOR encryption radi na tu bazu :P Hvala ti mnogo :)

[Ovu poruku je menjao Gojko dana 07-14-2001 u 12:30 PM GMT]
[ SnOoP @ 14.07.2001. 03:23 ] @
vups!!!!!!! ...

taj XOR gejt nije izasao kako sam ja mislijo ! :)
[ kajla @ 15.07.2001. 16:25 ] @
Citat:
SnOoP je napisao:
ehh kako i ja mogu nekad bit glup ko tocak... :)

xor:
Code:

          _____
------          
        | |          |-----    
------/ /____ /


sada sve shvatam.. radim digitalnu elektroniku na faks'u a nebi bi ni palo napamet da XOR encryption radi na tu bazu :P Hvala ti mnogo :)

[Ovu poruku je menjao Gojko dana 07-14-2001 u 12:30 PM GMT]


Malo cudno da radis digitalnu elektroniku a da nisi cuo za XOR, zapravo imas cip 4030B kome dovedes dva ulaza i izlaz ti je XOR-ovan takodje imas i cipove za NOR, NAND, XNOR...

PS. koja si godina na faks'u?

poz.
[ SnOoP @ 16.07.2001. 06:30 ] @
ma ne .. shvatijo si me pogresno .......
prva mi je godina ovo .. cuo sam naravno za sve gejtove.. NAND, AND, NOR, OR, XOR, XNOR... nego nije mi nikada palo napamet da se ta operacija izvrsava u kriptologiji.. tj algoritmima... inace dizajnujem sada svakavih nekih stvarciac sa gejtima... radio sam "shmit trigger", timers, GAL, PAL, asynchonus counters, syncrhnus counters, decoders, encoders itd......... inace kod nas (Australia) cipovi su 74HC**** modeli .. (motorola)

pozdrav ;) e za zadnje pitanje samo.. gde mogu da nadjem malo dokumentacije o shellcode'u (kako da se pravi etc.. i razumljevanje) ..
[ kajla @ 16.07.2001. 10:49 ] @
Da nisi mozda radio sa AD konverterom? Ako jesi trebao bi mi savet....


poz.