Thread View: pl.comp.security
7 messages
7 total messages
Started by Piotr J. Kolanok
Thu, 03 Dec 2009 09:17
iv
Author: Piotr J. Kolanok
Date: Thu, 03 Dec 2009 09:17
Date: Thu, 03 Dec 2009 09:17
21 lines
1806 bytes
1806 bytes
Jak się generuje iv z hasła? $echo -n "0123456789abcdef" | openssl enc -aes-256-cbc -nosalt -P enter aes-256-cbc encryption password: Verifying - enter aes-256-cbc encryption password: key=0CC175B9C0F1B6A831C399E269772661CEC520EA51EA0A47E87295FA3245A605 iv =4FA92C5873672E20FB163A0BCB2BB4A4 hasło 'a' przy 128 bitach to jest chyba md5 $echo -n 'a' | openssl md5 0cc175b9c0f1b6a831c399e269772661 -K ale dalej? Może jakis inny tryb uzyć? A jak wygenerować iv? Szukałem w źródłach, ale nie znalazłem. To jest inne dla każdego trybu? A salt jak sie generuje? to po prostu losowe? czy jednak zależne od czasu albo jakas funkcja unikalna? -- ^^
Re: iv
Author: Bartosz Małkowski
Date: Fri, 04 Dec 2009 08:21
Date: Fri, 04 Dec 2009 08:21
13 lines
1937 bytes
1937 bytes
On 3 Gru, 10:17, "Piotr J. Kolanok" <kolano0...@m0.mx.poczta.tlen.pl> wrote: > Jak się generuje iv z hasła? Na przykład tak: http://juliusdavies.ca/commons-ssl/src/java/org/apache/commons/ssl/OpenSSL.java szukaj metody deriveKey() > A salt jak sie generuje? to po prostu losowe? czy jednak zależne od czasu > albo jakas funkcja unikalna? Po prostu losowe wartości. Oczywiście możesz użyć jakiegoś hashowanego licznika to już zależy od implementacji. Jaka jest dokładnie implementacja w openssl - nie wiem.
Re: iv
Author: Piotr J. Kolanok
Date: Fri, 04 Dec 2009 11:34
Date: Fri, 04 Dec 2009 11:34
38 lines
2781 bytes
2781 bytes
Bartosz Ma?kowski wrote: > On 3 Gru, 10:17, "Piotr J. Kolanok" <kolano0...@m0.mx.poczta.tlen.pl> > wrote: >> Jak się generuje iv z hasła? > > Na przykład tak: > http://juliusdavies.ca/commons- ssl/src/java/org/apache/commons/ssl/OpenSSL.java > szukaj metody deriveKey() Bardzo dziekuje. Znalazłem funkcję EVP_BytesToKey( ale niestety nie ma opisu jak to jest liczone. Nie ma też nigdzie opisu jak długi jest key i iv. Tu kod http://code.google.com/p/przyklad-open-ssl/source/browse/trunk/trzy.c Jesli znajdziesz tam jakąś nieścisłość ew. wiesz czy cos mozna zrobic lepiej prosze napisz. Wydaje mi sie, ze nie uzywam nieaktualnych wywolan od 0.97-1.0... ale mogę się mylić. >> A salt jak sie generuje? to po prostu losowe? czy jednak zależne od czasu >> albo jakas funkcja unikalna? > > Po prostu losowe wartości. Oczywiście możesz użyć jakiegoś hashowanego > licznika to już zależy od implementacji. Jaka jest dokładnie > implementacja w openssl - nie wiem. Moze inaczej. czy losowosc musi byc bardzo losowa. Czy musze mieć pewność, że nie będzie dwóch komunikatów z takim samym salt/ziarenkiem w obrębie jednego hasła? Przy okazji szukałem jakiejś ksiązki na polskim rynku o kryptografii dla praktyków z gotowymi kodami i nie znalazlem. jest bezpieczne programowanie, ale czesc kodu nie dziala, czesc to tylko kawałki bez wywołań. Bardziej jak czesc wiekszej calości, której nie ma. -- ^^
Re: iv
Author: Bartosz Małkowski
Date: Sat, 05 Dec 2009 08:24
Date: Sat, 05 Dec 2009 08:24
32 lines
3129 bytes
3129 bytes
On 4 Gru, 12:34, "Piotr J. Kolanok" <kolano0...@m0.mx.poczta.tlen.pl>
wrote:
> >> A salt jak sie generuje? to po prostu losowe? czy jednak zależne od czasu
> >> albo jakas funkcja unikalna?
Zgodnie z zasadami, przy wielokrotnym użyciu tego samego klucza
szyfrującego, należy zagwarantować unikalność IV, a przynajmniej
bardzo się postarać ;). W praktyce chyba zwykła "kryptograficzna"
losowość powinna wystarczyć. W końcu nie tak łatwo wylosować dwa
identyczne 128 bitowe ciągi ;) Ale to już Ty musisz oszacować, biorąc
pod uwagę ilość przesyłanych komunikatów szyfrowanych tym samym
kluczem.
Tutaj salt + passphrase jest używany do wygenerowania key oraz iv:
(key, iv) = keyDerive(salt, passphrase)
Więc zasady dotyczące salta są identyczne jak w przypadku IV. Różnica
polega na tym, że w przypadku stałego passphrase i zmieniającego się
salta, zmieniać się będzie zarówno IV jak i key.
> Przy okazji szukałem jakiejś ksiązki na polskim rynku o kryptografii dla
> praktyków z gotowymi kodami i nie znalazlem. jest bezpieczne programowanie,
> ale czesc kodu nie dziala, czesc to tylko kawałki bez wywołań. Bardziej jak
> czesc wiekszej calości, której nie ma.
Jak bardzo "z gotowymi kodami"? Schneier to za mało ("Kryptografia dla
praktyków" i "Kryptografia w praktyce")?
Kryptografia to dziwna dziedzina wiedzy: algorytmy są względnie
proste, zasady logiczne i wielokrotnie opisane. Jednak złożenie tego
wszystkiego do kupy może wcale nie być łatwe a rezultat składania może
dawać złudne bezpieczeństwo.
Jak nie czujesz się "mocny w temacie" to lepiej bardzo uważaj, bo o
błąd naprawdę nietrudno.
Re: iv
Author: Piotr J. Kolanok
Date: Sat, 05 Dec 2009 12:50
Date: Sat, 05 Dec 2009 12:50
46 lines
3403 bytes
3403 bytes
Bartosz Ma?kowski wrote:
>> >> A salt jak sie generuje? to po prostu losowe? czy jednak zależne od
>> >> czasu albo jakas funkcja unikalna?
>
> Zgodnie z zasadami
dziekuje
>> Przy okazji szukałem jakiejś ksiązki na polskim rynku o kryptografii dla
>> praktyków z gotowymi kodami i nie znalazlem. jest bezpieczne
>> programowanie, ale czesc kodu nie dziala, czesc to tylko kawałki bez
>> wywołań. Bardziej jak czesc wiekszej calości, której nie ma.
>
> Jak bardzo "z gotowymi kodami"? Schneier to za mało ("Kryptografia dla
> praktyków" i "Kryptografia w praktyce")?
Z fragmentow dostepnych w sieci wynika, ze jest tam tylko ogolnie opisana
metoda. Nie ma gotowych kodow. Jak zaszyfrowac, jak zakodowac np. base64
(ktore mi nie dziala i nie wiem nawet gdzie tkwi blad) itd...
A chodzi o to by takie przykłady były na tyle proste by dało sie to prosto
uzyc. Ot ktos ma gotowy program i szuka sposobu na dodanie szyfrowania np.
plikow na dysku, albo w jakis sposob przeslanie hasla przez sieć.
> Kryptografia to dziwna dziedzina wiedzy: algorytmy są względnie
> proste, zasady logiczne i wielokrotnie opisane. Jednak złożenie tego
> wszystkiego do kupy może wcale nie być łatwe a rezultat składania może
> dawać złudne bezpieczeństwo.
Tu sie zgadzam, ale chce uzyc po prostu gotowej biblioteki. Nie chce łaczyc
jakis roznych rzeczy, ani robic specyficznych spraw. Po prostu chce zrobić
kopie tego co jest pod konsola openssl na windows z ładnym gui itp. Nic
wiecej. A przy okazji sie czegos nauczyć.
> Jak nie czujesz się "mocny w temacie" to lepiej bardzo uważaj, bo o
> błąd naprawdę nietrudno.
No dlatego staram sie pisać jawnie licząc na to, ze jesli jest to złe to po
prostu ktoś poprawi. Nie czuje sie dobrze w temacie choc teoretycznie cos
tam czytalem, ale praktycznie jestem pewninie na poziomie pierwszaka
znajacego podstawy C ;(
--
^^
Re: iv
Author: Stachu 'Dozzie' K.
Date: Sat, 05 Dec 2009 15:06
Date: Sat, 05 Dec 2009 15:06
45 lines
3688 bytes
3688 bytes
On 05.12.2009, Piotr J. Kolanok wrote:
>>> Przy okazji szukałem jakiejś ksiązki na polskim rynku o kryptografii dla
>>> praktyków z gotowymi kodami i nie znalazlem. jest bezpieczne
>>> programowanie, ale czesc kodu nie dziala, czesc to tylko kawałki bez
>>> wywołań. Bardziej jak czesc wiekszej calości, której nie ma.
>>
>> Jak bardzo "z gotowymi kodami"? Schneier to za mało ("Kryptografia dla
>> praktyków" i "Kryptografia w praktyce")?
>
> Z fragmentow dostepnych w sieci wynika, ze jest tam tylko ogolnie opisana
> metoda. Nie ma gotowych kodow. Jak zaszyfrowac, jak zakodowac np. base64
> (ktore mi nie dziala i nie wiem nawet gdzie tkwi blad) itd...
>
> A chodzi o to by takie przykłady były na tyle proste by dało sie to prosto
> uzyc. Ot ktos ma gotowy program i szuka sposobu na dodanie szyfrowania np.
> plikow na dysku, albo w jakis sposob przeslanie hasla przez sieć.
Jeśli ktoś ma gotowy program i szuka sposobu na zaszyfrowanie plików na
dysku, to prawie na pewno to z**bie. Bo brak mu przygotowania
kryptograficznego i nie będzie zdawał sobie sprawy z możliwych ataków.
>> Kryptografia to dziwna dziedzina wiedzy: algorytmy są względnie
>> proste, zasady logiczne i wielokrotnie opisane. Jednak złożenie tego
>> wszystkiego do kupy może wcale nie być łatwe a rezultat składania może
>> dawać złudne bezpieczeństwo.
>
> Tu sie zgadzam, ale chce uzyc po prostu gotowej biblioteki. Nie chce łaczyc
> jakis roznych rzeczy, ani robic specyficznych spraw.
Tylko ty właśnie chcesz to zrobić: łączyć różne rzeczy i robić
specyficzne sprawy (mimo że ktoś już dawno takie coś wykonał). Dla
ciebie klockiem nie jest szyfr, tylko cały protokół SSL/TLS albo cała
operacja szyfrowania do formatu GnuPG/OpenPGP.
> Po prostu chce zrobić
> kopie tego co jest pod konsola openssl na windows z ładnym gui itp. Nic
> wiecej. A przy okazji sie czegos nauczyć.
Ale ty się nic nie nauczysz w ten sposób. Co najwyżej jak używać takiej
czy owakiej biblioteki i nijak nie będziesz umiał przenieść tej wiedzy
na, przykładowo, biblioteki javowe. Dlaczego? Bo nie znasz podstaw na
których zbudowano takiego OpenSSL-a.
--
Stanislaw Klekot
Re: iv
Author: Bartosz Małkowski
Date: Sun, 06 Dec 2009 09:02
Date: Sun, 06 Dec 2009 09:02
17 lines
2473 bytes
2473 bytes
On 5 Gru, 16:06, "Stachu 'Dozzie' K." <doz...@dynamit.im.pwr.wroc.pl.nospam> wrote: > Ale ty się nic nie nauczysz w ten sposób. Co najwyżej jak używać takiej > czy owakiej biblioteki i nijak nie będziesz umiał przenieść tej wiedzy > na, przykładowo, biblioteki javowe. Dlaczego? Bo nie znasz podstaw na > których zbudowano takiego OpenSSL-a. Sprecyzuję: podstaw teoretycznych, które są częściowo zawarte w literaturze, a częściowo w głowach specjalistów ;) Dla przykładu: jakie będą konsekwencje powtórzenia IV dla tego samego klucza? Jakie w trybie CBC a jakie w CTR? Dopóki tego nie będziesz widział, lepiej używaj wysokopoziomowych bibliotek udostępniających API do "przesłania hasła przez sieć". A jeśli chcesz się czegoś nauczyć, to czytaj, czytaj, czytaj, czytaj i jeszcze dwa razy: czytaj! I wtedy dopiero zamieniaj zdobytą wiedzą w wykonywalny kod.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads