81

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

Сіль наскільки я знаю 16ти бітна. Як і всі хеші. 20 символів на 16 біт дає 2^36 комбінацій це десь в районі 70 міліардів комбінацій. І це без паролю.

82

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

коротше, можливо, але забере багато часу

Говоріть українською! Живіть українською! Відчувайте українською!

83

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

Май наувазі що це кількість варіантів для кожного слова по словнику по якому відбувається підбір.

84

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

та я ж не збираюсь то робити, просто цікавно, яке воно там є, так шо мені пофіг

Говоріть українською! Живіть українською! Відчувайте українською!

85

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

Сіль буває різна, але про 16-бітну, та ще й "як і всі хеші", я не чув. Брати сіль довшу, ніж хеш, звісно, не має особливого сенсу (як і пароль).
Ну і пане FakiNyan, ви ж на математичну вершину колись лізли, то невже не в стані самостійно розрахувати кількість комбінацій в залежності від довжини паролю/пари пароль-сіль?

Подякували: leofun011

86

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

koala написав:

Сіль буває різна, але про 16-бітну, та ще й "як і всі хеші", я не чув. Брати сіль довшу, ніж хеш, звісно, не має особливого сенсу (як і пароль).
Ну і пане FakiNyan, ви ж на математичну вершину колись лізли, то невже не в стані самостійно розрахувати кількість комбінацій в залежності від довжини паролю/пари пароль-сіль?

я все можу, але на все треба час і сили

Говоріть українською! Живіть українською! Відчувайте українською!

87

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

це, наче, є 94 символи, котрі можуть використовуватись в паролі (маленькі, великі англійські літери, цихври та спеціяльні знаки (без пробіла))
і якщо пароль має 8 символів, то мона нарахувати 6095689385410816 паролей?

Говоріть українською! Живіть українською! Відчувайте українською!

88

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

і якщо сіль - це таке ж саме, як і пароль, то виходе оте число в квадраті пар сіль-пароль ?

Говоріть українською! Живіть українською! Відчувайте українською!

89 Востаннє редагувалося Vo_Vik (06.04.2018 16:13:42)

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

Я мав наувазі що сіль по символах які містить така як хеш. Тобто кожен символ солі це цифри 0..9 та 6 букв a..f, саме цим вона є така як хеші. А не довжину солі. Довжину я брав з вашого повідомлення про 20 символів.
Просто я зауважив, що в тому повідомлені де згадується сіль вона містить символи які в хеші не можуть бути.

90

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

*WALL*
Добре, доведеться розжувати. Будь-яка інформація в цифрових комп'ютерах може бути представлена як числа, і це найзручніший спосіб її представлення для математики.
Пароль - це стрічка символів ASCII, тобто набір довільної довжини чисел певного діапазону (зазвичай 32-126) - кодів символів. Іноді запроваджуються інші вимоги до паролів, пов'язані зі способом введення, але в будь-якому разі це буде ланцюжок чисел-кодів символів. Тут є невеличка плутанина: коли ми говоримо про "довжину" пароля, можемо мати на увазі кількість цих символів, а можемо кількість інформації в паролі за Шенноном в бітах.
Хеш-код - це число з обмеженого діапазону (для MD5, наприклад, довжиною 128 біт, тобто від 0 до 3*10^38 з чимось). Коли хеш-код треба представити у читаному людиною форматі, його часто записують у 16-овій системі, тобто як набір символів від 0 до 9 і від a до f (чи від A до F); для MD5, відповідно, буде 32 таких символи.
Сіль при обчислені хеша використовується так само, як і пароль - просто на вхід хеш-функції подається не стрічка "пароль", а стрічка "парольсіль" (або ж "сільпароль", чи "пароль:сіль" і т.д., це не має значення для принципу). Вихідне значення ж буде такої ж довжини, як і будь-який хеш. Тому не має сенсу робити сіль довшою (за кількістю інформації) за хеш - це просто означатиме, що існує якийсь коротший рядок, що утворює такий самий хеш; із тих же міркувань не варто робити сіль і коротшою за хеш. Але очевидно, що якщо ми обмежуємо сіль 16-овими цифрами, то нам доведеться брати більше знаків, ніж можна було б взяти із довільними ASCII-символами.

Подякували: leofun011

91

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

дивлюся на bcrypt, це такий модуль для ноди, що допомагає шифрувати паролі, і бачу такий код

bcrypt.genSalt(saltRounds, function(err, salt) {
    bcrypt.hash(myPlaintextPassword, salt, function(err, hash) {
        // Store hash in your password DB.
    });
});

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

// Load hash from your password DB.
bcrypt.compare(myPlaintextPassword, hash, function(err, res) {
    // res == true
});
Говоріть українською! Живіть українською! Відчувайте українською!

92

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

а от при генерації солі тре вказати якесь число, зветься воно rounds, ось це число треба обирати якимось складним?

Говоріть українською! Живіть українською! Відчувайте українською!

93 Востаннє редагувалося P.Y. (10.04.2018 23:27:34)

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

Служба порятунку від помилки 502 прибула
P.S. Повторний ремонт

Post's attachments

trydetect.js 358 b, 164 downloads since 2018-04-10 

py -3 -m pip install git+https://github.com/snoack/python-goto
∩⍴○⌈⍴⍺/∧\∨/⊢○ ⌿⍀⍴⌊
Подякували: FakiNyan, koala2

94

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

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

Говоріть українською! Живіть українською! Відчувайте українською!

95

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

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

salt  $2b$10$PcrBoppC/H6yUXIC4xpf4e
hash  $2b$10$PcrBoppC/H6yUXIC4xpf4e0CxAXzM7tIGfGhENM62vKV49fxUNq5i

salt  $2b$15$1XhDAYyw7.XujUrlzCpO4O
hash  $2b$15$1XhDAYyw7.XujUrlzCpO4O3fLYdktBQa/W9.wf93AkIV/0355GlNW
Говоріть українською! Живіть українською! Відчувайте українською!

96

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

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

Говоріть українською! Живіть українською! Відчувайте українською!

97 Востаннє редагувалося Lace (08.04.2018 21:04:55)

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

і хеш паролю різний кожного разу, хоча пароль той самий

Ну так сіль різна, от і хеш буде також різний.

угу, одже - сіль кожного разу і має бути різною.

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

Мова - це форма нашого життя, життя культурного й національного, це форма національного організування. (Іван Огієнко)

Найбільше і найдорожче добро в кожного народу -  це його мова. Ота жива схованка людського духу, його багата скарбниця, в яку народ складає і своє давнє життя, і свої сподіванки, розум, досвід, почування. (Панас Мирний)

98

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

Lace написав:

і хеш паролю різний кожного разу, хоча пароль той самий

Ну так сіль різна, от і хеш буде також різний.

а як тоді порівнюється пароль з хешем, що у бд?

Говоріть українською! Живіть українською! Відчувайте українською!

99

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

а як тоді порівнюється пароль з хешем, що у бд?

Ну так ви ж знаєте сіль, пароль ви не знаєте, його вводить користувач, якщо хеш сіль+пароль збігається з тим, що у вас в БД, то все ок, пароль вірний, якщо хеш сіль+пароль не збігається, то пароль або сіль була неправильною, що й дало неправильний результат.

Мова - це форма нашого життя, життя культурного й національного, це форма національного організування. (Іван Огієнко)

Найбільше і найдорожче добро в кожного народу -  це його мова. Ота жива схованка людського духу, його багата скарбниця, в яку народ складає і своє давнє життя, і свої сподіванки, розум, досвід, почування. (Панас Мирний)
Подякували: leofun011

100

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

VTrim написав:

Сіль статична, всі паролі пишуться з однією і тією ж сіллю, головне щоб ця сіль була складна і "унеможливлювала" брутфорс хешу по відомим базам.

*FACEPALM* Схоже, що безпека даних користувачів вас зовсім не цікавить.

FakiNyan написав:

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

хеш(пароль + сіль) // або
хеш(сіль + пароль) // або
хеш(перемішати(пароль, сіль))
FakiNyan написав:

угу, одже - сіль кожного разу і має бути різною.

*YES*

FakiNyan написав:

Спочатку генериться сіль, вона додається до паролю, і обчислюється хеш результати.

*YES*

FakiNyan написав:

Потім до цього результату додається хеш самої солі, як я зрозумів, і вже це все зберігається в бд.

В базі в одній таблиці мають бути 2 (як мінімум) поля, в одному зберігається хеш (хеш посоленого пароля), в другому - сіль (чиста сіль, не хеш солі, бо потім треба солити пароль для перевірки).

Подякували: FakiNyan1