|
| 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.
| |
|
|