/ Forside / Teknologi / Internet / Sikkerhed / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Sikkerhed
#NavnPoint
stl_s 37026
arlet 26827
miritdk 20260
o.v.n. 12167
als 8951
refi 8694
tedd 8272
BjarneD 7338
Klaudi 7257
10  molokyle 6481
RC5 kryptering/dekryptering
Fra : Preben


Dato : 17-09-03 17:34

Hej

Ja, mange herinde kender vel til projektet distributed.net som i
øjeblikket kører med en 72bit kryptering hvor de IKKE er nået særlig
langt.. Dem vil jeg da godt hjælpe, men hvordan lærer jeg at forstå et
program som kan håndtere en 72bit kryptering (f.eks.) - lavere kan nok
også gøre det, men jeg vil gerne arbejde med et "skævt" tal lige nu. Og
evt. også kunne lave noget programmel som kan håndtere at kryptere mine
data samt dekryptere dem - derfor jeg vil lære det.

Jeg har læst lidt på lektien og kommet frem til flg. begreber:
- Encryption
- Decryption
- Key Expansion

som værende hovedbegreberne indenfor en RC5 kryptering.

Desuden kommer flg. parametre til en RC5-kryptering:
- w: word size (16, 32, 64)
- r: rounds ( 0 - 255)
- b: number of bytes in secret key K. ( 0 - 255)
- K: b-byte secret key: K[0], K[1], ..., K[b-1]

Hvordan beregner jeg så om krypteringen er på 72bit og ved hvilke parametre?

Hvad betyder det at min word size er på f.eks. 32bit? Er det størrelsen
af data-set som krypteres/dekrypteres ad gangen eller?

b? Er det også en valgfri parameter eller er den bestemt af w og r?

K? Hvad er K egentlig og hvad er sammenhængen til f.eks. Key Expansion

Hvis nogen kan forklare Key Expansion på en god måde vil jeg være lutter
øren!

Har jeg ret hvis jeg siger at Input-teksten f.eks. "Dette er en test"
vil blive opdelt således at med en w = 32 bliver teksten "Dett" taget
som del-input A og "e er" som del-input B. Dvs. jeg nupper 2 words fra
teksten og vælger dette som input til min kryptering og udfører derefter
flg.

A = A + S[0]
B = B + S[1]
for i = 1 to r do
A = ((A xor B) <<< B) + S[2*i]
B = ((B xor A) <<< A) + S[2*i + 1]

hvor "x <<< y" betyder noget med at rotere x til venstre y pladser? Men
hvordan roterer jeg B pladser - B er jo data?


Hvis jeg skulle kryptere teksten "Dette er" som i ovenstående eksempel i
hånden? Hvordan skulle jeg så gøre? Sådan en step-by-step guide ville
være lækker!


Håber nogen kan hjælpe?


Mvh / Preben


--
If your Dell laptop is unstable, try change the power supply - it works!
But the Dell will still stink! Nothing can change that!!!


 
 
Alex Holst (17-09-2003)
Kommentar
Fra : Alex Holst


Dato : 17-09-03 19:09

Preben <64bit@mailme.dk> wrote:
> Hej
>
> Ja, mange herinde kender vel til projektet distributed.net som i
> øjeblikket kører med en 72bit kryptering hvor de IKKE er nået særlig
> langt.. Dem vil jeg da godt hjælpe, [..]

Saa hent en klient?

http://www.distributed.net/download/clients.php

Mht. resten af dit indlaeg boer du nok faa fat i 'Applied Cryptography'
eller en lignende anderkendt basisbog.

--
I prefer the dark of the night, after midnight and before four-thirty,
when it's more bare, more hollow. http://a.mongers.org

Kasper Dupont (17-09-2003)
Kommentar
Fra : Kasper Dupont


Dato : 17-09-03 19:52

Preben wrote:
>
> Hej
>
> Ja, mange herinde kender vel til projektet distributed.net som i
> øjeblikket kører med en 72bit kryptering hvor de IKKE er nået særlig
> langt.. Dem vil jeg da godt hjælpe, men hvordan lærer jeg at forstå et
> program som kan håndtere en 72bit kryptering (f.eks.) - lavere kan nok
> også gøre det, men jeg vil gerne arbejde med et "skævt" tal lige nu. Og
> evt. også kunne lave noget programmel som kan håndtere at kryptere mine
> data samt dekryptere dem - derfor jeg vil lære det.
>
> Jeg har læst lidt på lektien og kommet frem til flg. begreber:
> - Encryption
> - Decryption
> - Key Expansion
>
> som værende hovedbegreberne indenfor en RC5 kryptering.
>
> Desuden kommer flg. parametre til en RC5-kryptering:
> - w: word size (16, 32, 64)
> - r: rounds ( 0 - 255)
> - b: number of bytes in secret key K. ( 0 - 255)
> - K: b-byte secret key: K[0], K[1], ..., K[b-1]
>
> Hvordan beregner jeg så om krypteringen er på 72bit og ved hvilke parametre?

Jeg ved ikke så meget om RC5, men det du beskriver er i hvert fald en
block cipher. Der findes flere forskellige block ciphers, f.eks. DES,
tripple-DES og AES. Fælles for alle ciphers er, at der bruges en
nøgle på et fast antal bits og data blokke på et fast antal bits. Når
du siger 72-bits kryptering er det ikke til at vide, om der er tale
om nøglestørrelse eller blokstørrelse.

For at gøre en blockcipher sikker er det nødvendigt at både nøgler og
blokke er tilstrækkeligt store. Når man har givet en nøgle og en
datablok af passende størrelse kan man vha. krypteringsfunktionen
beregne cipherblokken, som altid vil have samme størrelse som data
blokken. Ved at bruge dekrypteringsfunktionen med den samme nøgle og
cipherblokken som input får man datablokken ud igen.

Fælles for mange block ciphers er, at de ud fra nøglen genererer et
antal runde nøgler. DES genererer så vidt jeg husker (jeg har ikke
lige min krypto bog ved hånden) 16 32-bits runde nøgler udfra din
56-bits nøgle. AES med 128 bits nøgler og blokke generer 10 (eller
er det 11) runde nøgler på hver 128 bits ud fra din 128 bits nøgle.
Resten af detaljerne er forskellige fra algoritme til algoritme.

--
Kasper Dupont -- der bruger for meget tid paa usenet.
For sending spam use mailto:aaarep@daimi.au.dk
Their business was zero and it was shrinking.

Søg
Reklame
Statistik
Spørgsmål : 177548
Tips : 31968
Nyheder : 719565
Indlæg : 6408803
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste