Помогите с дешифровкой

Тема в разделе "WASM.CRYPTO", создана пользователем h0xe, 4 апр 2011.

  1. h0xe

    h0xe New Member

    Публикаций:
    0
    Вообщем ситуация такова есть хеши такого вида:

    lFSeHoGK-j2VSGI0OOC0
    8Skh8jDsSiOiU_o-4azt
    Ez2lH_vGp2KwZNuRAlg2
    D7uhtbq_6zzWUaHbrYN3

    В хеше храняться цифры а точне 16 цифр.

    1. Все хеши 20 символов.
    2.

    Код (Text):
    1. function safe_b64encode($string)
    2. {
    3.     $data = base64_encode($string);
    4.     $data = str_replace(array('+','/','='),array('-','_',''),$data);
    5.     return $data;
    6. }
    7. function safe_b64decode($string)
    8. {
    9.     $data = str_replace(array('-','_'),array('+','/'),$string);
    10.     $mod4 = strlen($data) % 4;
    11.     if ($mod4)
    12.         $data .= substr('====', $mod4);
    13.     return base64_decode($data);
    14. }
    15. function encode($value)
    16. {
    17.     if(!$value){return false;}
    18.     $text = $value;
    19.     $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
    20.     $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
    21.     $crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256,skey, $text, MCRYPT_MODE_ECB, $iv);
    22.     return trim(safe_b64encode($crypttext));
    23. }
    24. function decode($value)
    25. {
    26.     if(!$value){return false;}
    27.     $crypttext = safe_b64decode($value);
    28.     $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
    29.     $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
    30.     $decrypttext = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, skey, $crypttext, MCRYPT_MODE_ECB, $iv);
    31.     return trim($decrypttext);
    32. }
    Возможно что то с этого использовалось только не MCRYPT_RIJNDAEL_256 т.к при генерации дает подлиней строку.


    P.S
    Кто поможет разобратся тому подарок $ на хорошую пъянку)
     
  2. h0xe

    h0xe New Member

    Публикаций:
    0
    И так вижу тихо ...


    Ну что готов заплатить 1к $ за алгоритм. Кто поможет писать в асю 64567295-0

    Или оставлять свои подметки тут.
     
  3. h0xe

    h0xe New Member

    Публикаций:
    0
    Да и еще даный вид алгоритма был зделан средствами PHP а в 99% библиотекой mcrypt.
     
  4. gorodon

    gorodon New Member

    Публикаций:
    0
    h0xe, вкурите http://www.php.net/manual/en/function.mcrypt-decrypt.php
    и ищите "skey"
     
  5. h0xe

    h0xe New Member

    Публикаций:
    0
    skey ето переменая к декодировке т.е ключ выше указаный код не работает скорей всего ето модификация старого в етом используется RIJNDAEL 256 и safe_base64 но при генерации и декодировке ничего не канает длина получается большая а декодировка моих хешей без смысла.
     
  6. h0xe

    h0xe New Member

    Публикаций:
    0
    но как видно тут после кодировки сработал

    Код (Text):
    1. function safe_b64decode($string)
    2. {
    3.     $data = str_replace(array('-','_'),array('+','/'),$string);
    4.     $mod4 = strlen($data) % 4;
    5.     if ($mod4)
    6.         $data .= substr('====', $mod4);
    7.     return base64_decode($data);
    8. }
    т.е кто не знает php :

    1.сode ==> base64 ==> "+" заменяются "-" а "/" заменяются "_" все знаки равно удаляются.

    Mcrypt ето библиотека хешей я как варянт думаю она могла использоватся. Т.к в новой версии скрипта хеши похожие но очень длинные.
     
  7. gorodon

    gorodon New Member

    Публикаций:
    0
    h0xe, после преобразования base64 ==> hex получается:
    Код (Text):
    1. lFSeHoGK-j2VSGI0OOC0 => lFSeHoGK+j2VSGI0OOC0 => 94549e1e818afa3d9548623438e0b4
    - 15 байт информации.

    Код, приведенный в #1 должен генерить 32 байта информации (блок), т.к. в коде используется блочный симметричный алгоритм шифрования MCRYPT_RIJNDAEL_256 (AES-256)

    Ваши "хеши" длиной 15 байт никак не вяжутся с MCRYPT_RIJNDAEL_256... - Использовался другой алгоритм, возможно - нестандартный (или обрезанный стандартный), т.к. длина хешей обычно кратна 4 байтам.

    Для определения алгоритма хеширования надо приводить пары: пароль-хеш или тройки пароль+соль-хеш (либо еще вариант: логин+пароль+соль-хеш).
    Тогда возможно будет определить алгоритм...