παράμετροι αλγορίθμου κρυπτογράφησης AES

Θοδωρής Λύτρας thlytras at gmail.com
Tue Nov 8 21:42:20 EET 2011


Στις Τρι 08 Νοε 2011, ο/η Fotis Loukos έγραψε:
> Στην όλη υπόθεση λείπουν δύο πραγματάκια:
> 1) Πως από 160 bit SHA1 hash βγάζει 128 bit που είναι το block size του
> AES (το πιο πιθανό κάνει ένα trim)
> 2) Ποιο είναι το input του encryption; Αν είναι της μορφής good old unix
> crypt τότε κρυπτογραφεί ένα block από μηδενικά. Είναι όμως όντως έτσι;
> Αυτό με την υλοποίηση του AES δεν έχει καμία σχέση. Όποια και να είναι η
> υλοποίηση, είτε σε assembly, είτε σε logo, είτε στην openssl, είτε στην
> mcrypt, είτε οπουδήποτε, πρέπει να σου δώσει το ίδιο output.
> Μπορείς να δώσεις encrypted 1 password;
> 
> Φώτης

Παραπάνω από ένα! Ορίστε μερικά:

qwerty		--->            0JHzxN4f
asdfghjkl		--->            RHHPFE+f32cz
123456		--->            fdn6x+6V
hello world	--->            jWNiuYpL+u7xrc3=
abcdef		--->            2o9Itl+A
ABCDEF		--->            KciRs/Tz

Συνοψίζω τι ξέρουμε μέχρι στιγμής: το password (αριστερή στήλη) 
κρυπτογραφείται με κλειδί τον εαυτό του, με initialization vector το sha1 hash 
του εαυτού του, χωρίς κάποια προσθήκη salt, με cipher mode 8-bit CFB, και το 
αποτέλεσμα του encryption γίνεται base64 encode (δεξιά στήλη).

Δεν ξέρουμε το μήκος κλειδιού που χρησιμοποιείται (128-, 192- ή 256-bit), αλλά 
τι διάολο, τρείς επιλογές είναι. Το θέμα είναι οτι δοκιμάζοντας και τις τρείς, 
και πάλι δε μπορώ να πάρω το σωστό output! Άρα κάτι παίζει...

Αν μπορείς (και όποιος άλλος) να δοκιμάσει με τις παραμέτρους αυτές (σε όποια 
γλώσσα και με όποια βιβλιοθήκη) και να πάρει το "σωστό" output από τα ανωτέρω 
passwords, θα σου (του/της) ήμουν υπόχρεος!!

Πάντως αυτό με το SHA-1 ακούγεται πολύ εύστοχη παρατήρηση!

Και πάλι ευχαριστώ,
Θοδωρής


-- 
"Beauty is transitory"
"Beauty survives"
        - Mr. Spock & Capt. Kirk, "That which survives", stardate unknown
by Theodore Lytras <thlytras at gmail.com>



More information about the Linux-greek-users mailing list