এটি দুটি এমডি 5 হ্যাশের সংমিশ্রণ।
এটি এর মত উত্পন্ন:
128bit_Key = MD5(Passphrase + Salt)
256bit_Key = 128bit_Key + MD5(128bit_Key + Passphrase + Salt)
আপনি এটি করে এটি পরীক্ষা করতে পারেন:
$ echo Testing > file
$ openssl enc -aes-256-cbc -p -in file -out file.aes -salt
: enter aes-256-cbc encryption password: abc
: Verifying - enter aes-256-cbc encryption password: abc
: salt=3025373CA0530C93
: key=E165475C6D8B9DD0B696EE2A37D7176DFDF4D7B510406648E70BAE8E80493E5E
: iv =B030394C16C76C7A94DC22FDDB6B0744
$ perl -e 'print pack "H*", "3025373CA0530C93"' > salt
$ echo -n abc > passphrase
$ cat passphrase > key.128.tmp
$ cat salt >> key.128.tmp
$ md5sum key.128.tmp
: e165475c6d8b9dd0b696ee2a37d7176d key.128.tmp
$ perl -e 'print pack "H*", "e165475c6d8b9dd0b696ee2a37d7176d"' > key.128
$ cat key.128 > key.256.tmp
$ cat passphrase >> key.256.tmp
$ cat salt >> key.256.tmp
$ md5sum key.256.tmp
: fdf4d7b510406648e70bae8e80493e5e key.256.tmp
লক্ষ্য করুন যে কীভাবে MD5 এর 'key.128.tmp' এবং 'key.256.tmp' উভয় মিলে প্রাথমিক কমান্ডে আউটপুট হিসাবে একই কী গঠন করে।
md5
পরিবর্তেsha1
, আমি মূলত পোস্ট হিসাবে একই ফলাফল পেয়েছি। প্রশ্নটি হল, এমডি 5 (128-বিট হ্যাশিং অ্যালগরিদম) থেকে এটি 256 বিট কীভাবে পাবে?