Discussion:
AES przyk³ad
(Wiadomość utworzona zbyt dawno temu. Odpowiedź niemożliwa.)
Miron A. Kajfasz
2009-07-21 16:56:26 UTC
Permalink
Czy ktoś mógłby mi podac przykładowy tekst zakodowany AES?

Uzywam jak mi sie wydaje Rijndael/CBC 128
Otrzymalem wynik hex:
9af89a43d766101649f03b3c4727a942

Niestety nie bardzo sie to zgadza z tym co pokazuje OpenSSL

$echo -n "ABCDEFGHIJ" | openssl enc -aes-128-cbc -nosalt -k
"0123456789abcdef0123456789abcdef" | hexdump
0000000 e7da c758 6c96 0eb3 6194 7d0c 663b d9c5

Co robie nie tak? Jak sprawdzić czy czegoś nie pominąłem?
O ile pamiętam bouncycastle (bo to ta biblioteka szyfruje) jesli sie nie
poda iv ustawia na zero.
--
tryb internetowy
Szymon Sokó³
2009-07-21 22:17:39 UTC
Permalink
Post by Miron A. Kajfasz
Co robie nie tak? Jak sprawdzić czy czegoś nie pominąłem?
Obstawiam, że przede wszystkim nie doczytałeś man enc:

When only the key is specified using the -K option, the IV must explicitly
be defined. When a password s being specified using one of the other
options, the IV is generated from this password.

Ty używasz -k, nie -K, więc IV będzie generowane na podstawie hasła - czytaj
nie będzie równe 0. Jeśli dasz "-iv 0", wynik będzie zgoła inny niż przy
zupełnym braku -iv. Różnica między -k i -K też Ci umknęła? Bo:

echo -n "ABCDEFGHIJ" | openssl enc -aes-128-cbc -nosalt -iv 0 -K
"0123456789abcdef0123456789abcdef" | od -tx1

daje "9af89a43d766101649f03b3c4727a942", tak jak chciałeś (i zamiast
"hexdump" używaj "od -tx1", bo inaczej się natniesz na problem NUXI -
hexdump jest równoważny "od -x", które z kolei odpowiada "od -tx2").
--
Szymon Sokół (SS316-RIPE) -- Network Manager B
Computer Center, AGH - University of Scienice and Technology, Cracow, Poland O
http://home.agh.edu.pl/szymon/ PGP key id: RSA: 0x2ABE016B, DSS: 0xF9289982 F
Free speech includes the right not to listen, if not interested -- Heinlein H
Miron A. Kajfasz
2009-07-22 10:03:29 UTC
Permalink
Post by Szymon Sokó³
Ty używasz -k, nie -K, więc IV będzie generowane na podstawie hasła -
czytaj nie będzie równe 0. Jeśli dasz "-iv 0", wynik będzie zgoła inny niż
przy zupełnym braku -iv.
Czyli musze uzyc -iv 0
A jak jest generowane iv? Mi sie wydawało , że to losowe zupełnie powinno
być.
Post by Szymon Sokó³
echo -n "ABCDEFGHIJ" | openssl enc -aes-128-cbc -nosalt -iv 0 -K
"0123456789abcdef0123456789abcdef" | od -tx1
daje "9af89a43d766101649f03b3c4727a942", tak jak chciałeś
No właśnie chyba moje niedoczytanie. -k to hasło. Dokładnie takie jak się
podaje po prostu z konsoli. I o to mi chodziło. Chodzi mi o zasymulowanie
openssl wiec muszę bez tych wszystkich ozdobnikow to odtworzyć (ale, ze nie
wiem na razie jak generuje sie ziarenka Salted to to pominąłem)

Czyli -K to jest szesnastkowo parametr key jak iv a -k to haslo?
Czy -K to parametr key generowany z hasla? Jesli tak to jak generowany?
Jak to odtworzyć?

wziąć po prostu haslo zamienic na binarny napis i wstawic do -K?
Widzę, że mam źle napisany szyfr w javie, ale teraz juz sam nie bardzo
rozumiem co napisalem nie tak.
Post by Szymon Sokó³
(i zamiast
"hexdump" używaj "od -tx1", bo inaczej się natniesz na problem NUXI -
hexdump jest równoważny "od -x", które z kolei odpowiada "od -tx2").
to chyba, zadna różnica. Może gdyby dało sie wywalic te poczatkowe indexy
(cyfry przesunięcia) to może od by się do czegoś nadawało. Ale doczytam co
to te NUXI
--
tryb internetowy
Miron A. Kajfasz
2009-07-22 10:36:47 UTC
Permalink
Sam sobie odpowiadam

Key = MD5(password + salt)
IV = MD5(Key + password + salt)

Przy czym Key oczywiscie jest binarny

Jeszcze jedno pytanie jaki jest zatem format ziarenek? salt?

I czy jest mozliwość kompresji nagłówka by nie było napisu Salted?
Stachu 'Dozzie' K.
2009-07-22 00:19:43 UTC
Permalink
Post by Miron A. Kajfasz
Czy ktoś mógłby mi podac przykładowy tekst zakodowany AES?
Kodowany i AES w jednym zdaniu prostym się kłócą. AES jest algorytmem
szyfrowania, nie kodowania. Poza tym, jak niżej podałeś, tryb też jest
istotny.
Post by Miron A. Kajfasz
Uzywam jak mi sie wydaje Rijndael/CBC 128
9af89a43d766101649f03b3c4727a942
Niestety nie bardzo sie to zgadza z tym co pokazuje OpenSSL
$echo -n "ABCDEFGHIJ" | openssl enc -aes-128-cbc -nosalt -k
"0123456789abcdef0123456789abcdef" | hexdump
0000000 e7da c758 6c96 0eb3 6194 7d0c 663b d9c5
Co robie nie tak?
Ot, choćby klucz może się nie zgadzać. Albo ominąłeś jedno przesunięcie
bitowe. Albo cokolwiek, halny dzisiaj wiał i padało na Pomorzu.
Post by Miron A. Kajfasz
Jak sprawdzić czy czegoś nie pominąłem?
Bardzo dokładnie i starannie.
Post by Miron A. Kajfasz
O ile pamiętam bouncycastle (bo to ta biblioteka szyfruje) jesli sie nie
poda iv ustawia na zero.
Podaj najpierw co ci na twoim systemie wypisuje polecenie
`ls -l /dev/glass_orb'.
--
Stanislaw Klekot
Konrad Stepien
2009-07-22 09:46:20 UTC
Permalink
Post by Stachu 'Dozzie' K.
Post by Miron A. Kajfasz
Czy ktoś mógłby mi podac przykładowy tekst zakodowany AES?
Kodowany i AES w jednym zdaniu prostym się kłócą. AES jest algorytmem
szyfrowania, nie kodowania. Poza tym, jak niżej podałeś, tryb też jest
istotny.
No popatrz, a mi się wydawało, że kazde szyfrowanie jest kodowaniem.
Nawet na wikipedii stoi:

"Szyfr - rodzaj parametryzowanego _kodu_ ......"
--
WARNING: my e-mail is encrypted by ROT13
Xbaenq Fgrcvra <***@vagreqngn.arg.cy>
Marcin Gryszkalis
2009-07-22 02:04:58 UTC
Permalink
Post by Miron A. Kajfasz
Uzywam jak mi sie wydaje Rijndael/CBC 128
9af89a43d766101649f03b3c4727a942
Niestety nie bardzo sie to zgadza z tym co pokazuje OpenSSL
$echo -n "ABCDEFGHIJ" | openssl enc -aes-128-cbc -nosalt -k
"0123456789abcdef0123456789abcdef" | hexdump
0000000 e7da c758 6c96 0eb3 6194 7d0c 663b d9c5
Co robie nie tak? Jak sprawdzić czy czegoś nie pominąłem?
-k to password - i klucz i iv jest generowany na podstawie hasła (można
obejrzeć je opcją -p), natomiast to co chcesz zrobi -K

% echo -n "ABCDEFGHIJ" | openssl
enc -aes-128-cbc -nosalt -K "0123456789abcdef0123456789abcdef" -iv 0 |
hexdump -C
00000000 9a f8 9a 43 d7 66 10 16 49 f0 3b 3c 47 27 a9 42

pozdrawiam
--
Marcin Gryszkalis, PGP 0x9F183FA3
jabber jid:***@fork.pl, gg:2532994
http://the.fork.pl
Kontynuuj czytanie narkive:
Loading...