41

Re: Шлях на криптографічну вершину

Щось інше - пошук колізій в імпортах функції длл (MessageBoxA - назва функції, за нею програми імпортують хвункції цієї длл). Я мав на увазі спарсити назви хвункцій та перевірити на колізії геш хвункції  за допомогою них

Говорила баба діду: «Я поїду к Білодіду, Ізучу двомовну мову І вернусь обратно знову». А дід бабі: «Не *изди, К Білодіду нєт їзди, — Туди не ходять поїзди»
Подякували: 221VOLT1

42

Re: Шлях на криптографічну вершину

Добре, пізніше пропарсю, повідомлю результати.

[x|x<-[2..],all(>0)[x`mod`y|y<-[2..x-1]]]
Подякували: 0xDADA11C7, 221VOLT2

43 Востаннє редагувалося /KIT\ (10.12.2017 17:48:00)

Re: Шлях на криптографічну вершину

Я вас щиро вітаю: колізій нема! Аргументи функції стандартні.
Назви брав тут: http://www.geoffchappell.com/studies/wi … nel32/api/

[x|x<-[2..],all(>0)[x`mod`y|y<-[2..x-1]]]
Подякували: 0xDADA11C71

44

Re: Шлях на криптографічну вершину

KERNELBASE.DLL - колізій нема :)

[x|x<-[2..],all(>0)[x`mod`y|y<-[2..x-1]]]
Подякували: 0xDADA11C71

45

Re: Шлях на криптографічну вершину

Перевірте ще User32, тоді я може на асмі напишу імплементацію вашої геш хвункції і застосую в простецькому шелкоді, як буде вільна хвилинка.

Говорила баба діду: «Я поїду к Білодіду, Ізучу двомовну мову І вернусь обратно знову». А дід бабі: «Не *изди, К Білодіду нєт їзди, — Туди не ходять поїзди»

46

Re: Шлях на криптографічну вершину

NTDLL.DLL - колізій нема! Можете юзати  *YES* .

Прихований текст

Тільки при використанні, в коментаріях до коду пишіть, будь-ласка, шо то я цю геш хвункцію нашкрябав

[x|x<-[2..],all(>0)[x`mod`y|y<-[2..x-1]]]
Подякували: 0xDADA11C71

47

Re: Шлях на криптографічну вершину

Написати скрипта для CFFExplorer`а - безцінна річ для низькорівневого кодера.

Говорила баба діду: «Я поїду к Білодіду, Ізучу двомовну мову І вернусь обратно знову». А дід бабі: «Не *изди, К Білодіду нєт їзди, — Туди не ходять поїзди»

48

Re: Шлях на криптографічну вершину

Написати скрипта для CFFExplorer`а - безцінна річ для низькорівневого кодера.

Говорила баба діду: «Я поїду к Білодіду, Ізучу двомовну мову І вернусь обратно знову». А дід бабі: «Не *изди, К Білодіду нєт їзди, — Туди не ходять поїзди»

49

Re: Шлях на криптографічну вершину

user32.dll - колізій нема! Юзайте на здоров'я!

[x|x<-[2..],all(>0)[x`mod`y|y<-[2..x-1]]]
Подякували: 0xDADA11C71

50

Re: Шлях на криптографічну вершину

Я правильно розумію, що ви інвертуєте число у десятковій системі?

51

Re: Шлях на криптографічну вершину

так

[x|x<-[2..],all(>0)[x`mod`y|y<-[2..x-1]]]

52

Re: Шлях на криптографічну вершину

а тепер розкажіть для нубів типу мене - яким чином перевіряються колізії?))

https://blog.clever-games.win/
Це ще не кінець. Це навіть не початок кінця. Але, можливо, це кінець початку.
Зростання мудрості можна точно вимірювати ступенем зменшення злоби.
///// у творчій відпустці. не турбувати /////

53

Re: Шлях на криптографічну вершину

Механічно, пошуком збігів.

Подякували: 0xDADA11C7, 221VOLT2

54 Востаннє редагувалося koala (11.12.2017 14:40:59)

Re: Шлях на криптографічну вершину

Фігня цей ваш хеш. По-перше, він обробляє весь рядок визначену кількість ітерацій, тобто малоефективний на довгих рядках (якщо мені треба хешувати гігабайт, то він буде цей гігабайт 32 рази пробігати, навіть якщо переписати його, щоб не в пам'яті це крутив).
А по-друге, ефективна довжина хешу значно менша. Дивіться:

    result = 0xBA5E0FDA7AB17C01 //довжина хешу - 8 байт
    data = str(data)
    for i in range(itr):
        for char in data: 
            #розбираємо по частинах
            o = ord(char)|(ord(char)<<16)
            '''якщо ord(char)<256, то o - 256 значень до 3 байт; якщо char 2-байтовий, то до 4 байт. 
            Наприклад, для ASCII максимальне значення char дає 0x7f007f, що містить 23 біти'''
            r = int(str(result)[::-1])
            '''тут найцікавіше. Якщо число не ділиться на 10, то обернене має таку саму довжину в 10-й системі 
            (не факт, що у двійковій вона зберігається, іноді може навіть зростати, але в середньому без змін). 
            Але якщо ділиться - то число зменшується в 10 разів, тобто на 3 біти, раз на 10 операцій, 
            а іноді в 100 і в 1000.'''
            result = r^o
            '''ефективна довжина результату після досить довгого рядка - приблизно максимальна довжина
            символа+16 біт'''
       
        result = (int(str(result*salt)[::-1])<<i)%int(length*'F',16)
        '''Таким чином, ефективна довжина хешу довгого тексту з 2-байтовими сиволами - 4 байти, 32 біти.   
        Підбирається на сучасному компі за пару годин, і те тільки тому, що код дуже неоптимальний.'''
        
    return result
Подякували: 0xDADA11C7, /KIT\, 221VOLT, leofun01, ping5

55

Re: Шлях на криптографічну вершину

Ось вам колізія на 32 ітераціях:
https://ideone.com/ffOJpc

Подякували: /KIT\, 0xDADA11C7, 221VOLT, leofun014

56

Re: Шлях на криптографічну вершину

Дякую за критику і поради. Оскільки я тільки вчуся, то алгоритм малоефективний, проте теорію треба перевіряти на практиці.

[x|x<-[2..],all(>0)[x`mod`y|y<-[2..x-1]]]
Подякували: 0xDADA11C7, koala, 221VOLT3

57

Re: Шлях на криптографічну вершину

Чи можна використовувати клітинні автомати в хеш алгоритмах? Якщо ні - чому?
По моєму, це еффективно при правильному правилі.

[x|x<-[2..],all(>0)[x`mod`y|y<-[2..x-1]]]
Подякували: 221VOLT1

58

Re: Шлях на криптографічну вершину

/KIT\ написав:

Чи можна використовувати клітинні автомати в хеш алгоритмах? Якщо ні - чому?
По моєму, це еффективно при правильному правилі.

клітинні автомати - шо то є, і з чим тово їдять?

https://blog.clever-games.win/
Це ще не кінець. Це навіть не початок кінця. Але, можливо, це кінець початку.
Зростання мудрості можна точно вимірювати ступенем зменшення злоби.
///// у творчій відпустці. не турбувати /////

59

Re: Шлях на криптографічну вершину

https://en.wikipedia.org/wiki/Rule_30

[x|x<-[2..],all(>0)[x`mod`y|y<-[2..x-1]]]
Подякували: 221VOLT, leofun01, 0xDADA11C73

60

Re: Шлях на криптографічну вершину

Вже доведено, що клітинні автомати повні за Тюриногм, тому питання лише в якій якості їх застосовувати - збирати з них тюрингову машину і кодувати її чи якось інакше.

Говорила баба діду: «Я поїду к Білодіду, Ізучу двомовну мову І вернусь обратно знову». А дід бабі: «Не *изди, К Білодіду нєт їзди, — Туди не ходять поїзди»
Подякували: 221VOLT1