Bitcoin Forum

Local => Новички => Topic started by: LifeChain on March 21, 2018, 02:12:06 PM



Title: 🔓 Шифруем приватные ключи своими силами
Post by: LifeChain on March 21, 2018, 02:12:06 PM

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

Что будет если они попадут в чужие руки? К вам домой зашли знакомые, родственники, сантехник, полиция с обыском и т.д. Флешку можно зашифровать разными программами, но не каждому человеку такой вариант подходит по разным причинам. Судя по форуму большинство людей не доверяет программам даже с открытым исходным кодом.

С бумажным вариантом еще сложнее. Я видел предложения каким-либо образом модифицировать ключ, например заменить один символ другим или поменять их местами. Проблема в том, что выполнять эти манипуляции вручную довольно не удобно и велика вероятность ошибиться при вводе такого количества символов.

Тогда я подумал, может это можно как-нибудь автоматизировать и вспомнил про JavaScript. Идея состоит в том, что создается простой HTML файл с JavaScript кодом который хранится на компьютере и в пару кликом мышью позволяет преобразовывать приватный ключ в соответствии с заданным алгоритмом. Тогда можно не просто изменить один символ, а "перетрясти" ключ до неузнаваемости и все это за несколько секунд. Все преобразования происходят внутри вашего браузера и никакие данные никуда не отправляются, вы можете даже отключить интернет в этот момент.

Преимущества:
  • Нет необходимости доверять чужому программному обеспечению, вы точно знаете, что ваши пароли никуда не отсылаются
  • Зашифровка и расшифровка выполняется легко и быстро
  • Невозможно ошибиться как при ручном вводе
  • Каждый может сам придумать свой алгоритм в соответствие со степенью паранойи. Даже если вы совсем не знаете JavaScript потратив немного времени или попросив помощи у других людей вы сможете это сделать.
  • Чувство гордости, что вы что сделали сами.
  • Не нужно запоминать и хранить пароль как при классическом шифровании, достаточно помнить алгоритм конвертации
  • Утрата файла с алгоритмом не ведет к катастрофе, если вы помните использованный алгоритм. Его всегда можно создать заново или расшифровать используя только ручку и бумагу.
  • Укравший ваш приватный ключ увидит пустой кошелек и не факт, что догадается, что вы зашифровали свой ключ
  • Скрытность. В отличие от программ шифрования, наш файл спрятанный на компьютере очень трудно обнаружить, особенно если не знать о его существовании. Его можно назвать index.html и спрятать где-нибудь в недрах компьютера в папке какой-нибудь программы или служебных папках операционной системы, где он будет выглядеть как служебный файл. Можно пойти еще дальше и изменить расширение файла с .html на любое другое например .dat сделав его еще более неприметным и он все равно будет работать, только придется указать, что открыть его надо именно в браузере. Впрочем никто не запрещает хранить его на съемном носителе, но только обязательно отдельно от приватного ключа.

Недостатки:
  • Нарушен принцип открытости системы, секретом является сам алгоритм, а пароль совсем отсутствует. Думаю в нашем случае это не критично. Хотя при желании можно дополнить систему и классическим паролем.
  • Любой человек получивший доступ к вашему файлу сможет расшифровать ваши ключи. Хотя тоже можно сказать про пароль, но файл думаю обнаружить даже сложнее.
  • Придется потратить время на создание файла или просить других людей сделать его.
  • Перемешивание символов не спасет от простого перебора всех комбинаций. Другое дело, что учитывая длину приватных ключей это не получится сделать за приемлемый период времени.
  • Хакер может не брутфорсить в лоб, а попытаться угадать использованный вами алгоритм шифрования, поэтому необходимо проявить фантазию и придумать что-нибудь менее тривиальное чем отзеркаливание текста. Хватит ли знаний и упорства у среднестатистического хакера укравшего ваши ключи взломать их большой вопрос, ведь зачастую он даже не будет знать сколько криптовалюты на этом кошельке.

Я подготовил несколько очень простых вариантов, чтобы любой мог попробовать этот способ на практике.
1) Отзеркаливает текст: 123456789 - 987654321
2) Меняет местами соседние символы 1 со 2, 3 с 4, 5 с 6 и так далее: 123456789 - 214365879
3) Делит текст на N частей и отзеркаливает их, например 3 части: 123456789 - 789456123
4) Меняет местами 3 и 6 символы: 123456789 - 126453789
5) Добавляет в 3 и 6 позицию случайные числа от 0 до 9: 123456789 - 12634576789
6) Способы можно комбинировать между собой, все зависит только от вашей фантазии и уровня знаний. В качестве примера: делит текст на части по 3 символа, меняет порядок символов и добавляет 4 случайное число: 123456789 - 321965419879

Архив с готовыми файлами этих примеров можно скачать здесь. (https://drive.google.com/file/d/1cUFEApkxwLJ8Hd0sI2gQpPBlHIT5S4GF/view)

Приведенные примеры сделаны с целью демонстрации, вы можете придумать свой алгоритм
Код примеров возможно не оптимален, я знаю JavaScript очень поверхностно.
Использованный алгоритм выбора случайного числа не всегда работает хорошо, порой генерируя однотипные значения.
Приведенные примеры не являются криптографически стойкими. Это хорошо видно на осмысленном тексте, например "ентзидпре". Можно без всяких программ догадаться, что здесь зашифровано слово "президент". Для случайных комбинаций какими являются пароли и приватные ключи, так уже не получится, только перебирать все варианты.

Так же при желании можно реализовать различные модификации шифра Цезаря, хэширование и фактически все что угодно. Хотя шифр Цезаря давно не стойкий мы имеем дело не с текстом, а со случайным набором символов и значит частотный анализ для его расшифровки не поможет.

Интересно ваше мнение о данном способе дополнительной защиты приватной информации. Особенно людей разбирающихся в криптографии.


Title: Re: 🔓 Шифруем приватные ключи своими силами €
Post by: Andrey123 on March 21, 2018, 03:47:26 PM
И всё это ради 10 токенов, общей стоимостью 0 долларов и 0.000001 эфира и 1000 сатош;D ;D ;D

А тот кто хранит огромные суммы, давно использует аппаратные ключи, да и это в основном богатые люди, которые хорошо знакомы с безопасностью....

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

Каким чудом другой человек поймёт от какого это кошелька и что это вообще за хрень и куда её пихать?! ;D
Да и надо быть параноиком и идиотом, чтобы пускать в квартиру людей, которые будут везде шариться.

А если придёт полиция с обыском, значит ты натворил что-то противозаконное и о безопасности и защите ничего не знаешь и хреновый хацкер  ;D



Title: Re: 🔓 Шифруем приватные ключи своими силами €
Post by: LifeChain on March 21, 2018, 08:29:40 PM
И всё это ради 10 токенов, общей стоимостью 0 долларов и 0.000001 эфира и 1000 сатош;D ;D ;D

А тот кто хранит огромные суммы, давно использует аппаратные ключи, да и это в основном богатые люди, которые хорошо знакомы с безопасностью....

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

Каким чудом другой человек поймёт от какого это кошелька и что это вообще за хрень и куда её пихать?! ;D
Да и надо быть параноиком и идиотом, чтобы пускать в квартиру людей, которые будут везде шариться.

А если придёт полиция с обыском, значит ты натворил что-то противозаконное и о безопасности и защите ничего не знаешь и хреновый хацкер  ;D


Так что здесь сложного? Все наоборот очень удобно и сделать не сложно, особенно если знаешь JavaScript.
Аппаратные кошельки вещь хорошая, но есть далеко не у всех. Покупать его из-за суммы в пару тысяч долларов идея сомнительная, соотношение его стоимости к имеющейся сумме слишком велико. Этот способ бесплатный и позволяет остальным людям повысить безопасность хранения приватных ключей да и любой другой приватной информации. Свет клином на ключах не сошелся. К тому же аппаратный кошелек тоже можно украсть и вы уверены, что вор не сможет им воспользоваться? Там вроде ПИН есть, но подозреваю его можно обойти.

Вы сейчас серьезно считаете, что если я найду флешку с набором символов я не догадаюсь, что это могут быть приватные ключи? :o Форматы ключей у разных монет разные и если он не зашифрован, то выяснить от чего он дело технике. Для этого не нужно пояснительных записок.

Параноик как раз наоборот никого на порог не пустит ;D Если серьезно, то все дело в человеческой психологии. Даже если вы храните флешку за диваном под плинтусом, это не значит, что она не может оказаться в неподходящий момент на самом видном месте. Так что шариться по всем углам вовсе не обязательно, а если ключ написан на бумажке, то даже красть ее нет необходимости, сейчас телефоны с камерами есть у всех, даже детей. Сколько людей клеит стикеры с паролями на монитор ;) В конце концов есть воры, есть пожарные и т.д.

Я просто предложил автоматизированный способ шифрования приватной информации полностью подконтрольный человеку, а воспользоваться им или предпочесть специализированный софт, аппаратные решения или не шифровать вовсе каждый решает сам.  


Title: Re: 🔓 Шифруем приватные ключи своими силами €
Post by: gtx1060aa on March 21, 2018, 08:33:25 PM
И всё это ради 10 токенов, общей стоимостью 0 долларов и 0.000001 эфира и 1000 сатош;D ;D ;D

А тот кто хранит огромные суммы, давно использует аппаратные ключи, да и это в основном богатые люди, которые хорошо знакомы с безопасностью....

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

Каким чудом другой человек поймёт от какого это кошелька и что это вообще за хрень и куда её пихать?! ;D
Да и надо быть параноиком и идиотом, чтобы пускать в квартиру людей, которые будут везде шариться.

А если придёт полиция с обыском, значит ты натворил что-то противозаконное и о безопасности и защите ничего не знаешь и хреновый хацкер  ;D



Автор не знает, что если у человека много денег на счету, то люди покупают специальные флешки кошельки, точное название их забыл)
а еще для тех у кого параноя, те записывают свои пароли и приватные ключи на специальный блокнот)


Title: Re: 🔓 Шифруем приватные ключи своими силами €
Post by: youngsblin on March 21, 2018, 09:22:41 PM
И всё это ради 10 токенов, общей стоимостью 0 долларов и 0.000001 эфира и 1000 сатош;D ;D ;D

А тот кто хранит огромные суммы, давно использует аппаратные ключи, да и это в основном богатые люди, которые хорошо знакомы с безопасностью....

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

Каким чудом другой человек поймёт от какого это кошелька и что это вообще за хрень и куда её пихать?! ;D
Да и надо быть параноиком и идиотом, чтобы пускать в квартиру людей, которые будут везде шариться.

А если придёт полиция с обыском, значит ты натворил что-то противозаконное и о безопасности и защите ничего не знаешь и хреновый хацкер  ;D



Автор не знает, что если у человека много денег на счету, то люди покупают специальные флешки кошельки, точное название их забыл)
а еще для тех у кого параноя, те записывают свои пароли и приватные ключи на специальный блокнот)
Смысл в этих аппаратных кошельках отсутствует полностью,так как можно зашифровать файл где лежит инфа и положить на тот же гугл диск,с двойной аутификацией и на свои данные


Title: Re: 🔓 Шифруем приватные ключи своими силами €
Post by: LifeChain on March 22, 2018, 09:13:02 AM
Автор не знает, что если у человека много денег на счету, то люди покупают специальные флешки кошельки, точное название их забыл)
а еще для тех у кого параноя, те записывают свои пароли и приватные ключи на специальный блокнот)
Автор знает об аппаратных кошельках, а вот у вас странная логика. Если у человека только несколько десятков, сотен или тысяч долларов в криптовалюте ему по вашей логике не нужно думать о безопасности?
Да и что вы уперлись в эти леджеры, они не являются панацеей от всех болезней. С их помощью можно безопасно подтверждать транзакции, но они не решают проблему безопасного хранения во всем ее многообразии.
В конце концов свет клином на приватных ключах не сошелся, есть другая важная информация, например пароли от сайтов, ответы на секретные вопросы и т.д. Их вы в аппаратный кошелек не засунете. 


Title: Re: 🔓 Шифруем приватные ключи своими силами €
Post by: LifeChain on March 26, 2018, 09:51:59 AM
Перенес цитату из другой темы.

Ознакомился с вашей темой. Хорошо, понравилось. Единственный момент, который мешает лично моей паранойе :) это использование алгоритма при составлении пароля. Не люблю готовые маски, они рассабляют. Конечно, для первого уровня защиты - такой пароль это более чем надежно.
Для меня первый уровень - это простой и прямой брутфорс. (не буду говорить о поиске алгоритма).

В моем случае надо всего два пароля. Без масок и алгоритмов, 3 слова на 45-ой странице уголовного кодекса :) разделенные спецсимволами.
Не совсем понял вашу мысль про готовые маски и расслабление. Мы придумываем алгоритм один раз, кодируем его в JavaScript и пользуемся этим файлом для любого приватного ключа. Можно сделать несколько файлов с разным алгоритмом для определенных групп ключей. Можно конечно и для каждого ключа свой алгоритм, но это довольно неудобно.

Что касается брутфорса. Тут есть забавный момент. Когда мы пытаемся ломать архив, мы подбираем пароль и если он подошел, то бинго!

Что происходит, если у приватного ключа перемешать символы? Мы получим приватный ключ, но от другого кошелька. Как в этом случае при переборе понять, что мы выиграли? Есть два случая.
В первом случае, нам известен адрес от которого этот перемешанный ключ, тогда делаем перебор, пока получившийся приватный ключ не совпадет с этим адресом. Во втором случае, у нас есть перемешанный приватный ключ и мы не знаем, какому адресу он должен соответствовать. Тогда остается у каждой получившейся комбинации проверять баланс и если там есть что то интересное красть это и так пока не надоест.
Только для такого тупого перебора не нужно похищать приватник, его с тем же успехом можно просто генерировать, результат будет тот же, а точнее никакого, если только в вашем распоряжении нет вечности.

Что касается вашего алгоритма создания пароля. Мне кажется его нельзя назвать сильно надежным. Дело в том, что простым брутфорсом никто вменяемый думаю заниматься не будет. Используют подбор по словарю плюс всякие маски и другие хитрости. В результате 3 слова разделенных спецсимволами не является чем то непреодолимым и вполне может быть подобрано за вменяемое время.


Title: Re: 🔓 Шифруем приватные ключи своими силами €
Post by: taikuri13 on March 26, 2018, 11:59:23 AM
Перенес цитату из другой темы.

Что касается вашего алгоритма создания пароля. Мне кажется его нельзя назвать сильно надежным. Дело в том, что простым брутфорсом никто вменяемый думаю заниматься не будет. Используют подбор по словарю плюс всякие маски и другие хитрости. В результате 3 слова разделенных спецсимволами не является чем то непреодолимым и вполне может быть подобрано за вменяемое время.


Маски - тема интересная, в моем методе их нет. Словарь - в которм будут комбинации из трех слов? Видел много разных баз с паролями, но с тремя словами не видел никогда.
В моем очень простом методе все сводится к тому, что надо все символы клавиатуры, включая спецсимволы и не только - необходимо будет смешать их миксером и поставить на перебор, так как ни один словарь не даст этого результата, а алгоритма -нет

И в итоге, если брать проверку паролей от Касперского (https://password.kaspersky.com/) мы получим:


Причем самое интересное в том, что здесь два простых слова и два спецсимвола. И это только на то, чтобы сломать один архив из двух.

ps: Совсем не отрицаю вашего метода, есть просто несколько личных моментов, которые не люблю.


Title: Re: 🔓 Шифруем приватные ключи своими силами €
Post by: LifeChain on March 27, 2018, 01:36:23 PM
Изначально вы не говорили про перемешивание, "3 слова на 45-ой странице уголовного кодекса разделенные спецсимволами". Я понял это примерно так: закон@запрещает*воровать

Думаете такое можно только перебором всех символов делать? Ошибаетесь и словарь с комбинациями из 3 слов не нужен, нужны знания и полет фантазии.  Вот статья (https://www.securitylab.ru/analytics/485097.php) на эту тему и хотя описанное там я так понимаю не применимо к WinRar, никто не запрещает применять подобный подход и для других случаев.

Поэтому воспринимать серьезно сервис Касперского думаю не стоит. Он не проверяет стойкость пароля, а просто выдает усредненные данные "с потолка" исходя из длинны пароля, использованных символов и наверно проверяя по самым распространенным вариантам паролей. На деле все зависит как ломать, на чем ломать и от чего собственно пароль.


Title: Re: 🔓 Шифруем приватные ключи своими силами €
Post by: DustyNomad on March 27, 2018, 02:38:55 PM
А по-моему хорошая тема. Почему нет? Хочет человек спать спокойнее и немножко знает яваскрипт - взял и сделал себе дополнительный барьер. Насколько это удобно не возьмусь судить, т.к. надо пробовать.

Quote
Использованный алгоритм выбора случайного числа не всегда работает хорошо, порой генерируя однотипные значения.

Это от того что не существует алгоритма, генерирующего случайные числа. Есть функции, которые выдают один и тот же числовой ряд в зависимости от начальной величины. Вроде в с++ это называется srand() и туда в качестве отправной точки "вшивают" значение системного времени. Так что раз в сутки есть вероятность получить одно и тоже.


Title: Re: 🔓 Шифруем приватные ключи своими силами €
Post by: LifeChain on March 28, 2018, 09:37:43 AM
А по-моему хорошая тема. Почему нет? Хочет человек спать спокойнее и немножко знает яваскрипт - взял и сделал себе дополнительный барьер. Насколько это удобно не возьмусь судить, т.к. надо пробовать.

Quote
Использованный алгоритм выбора случайного числа не всегда работает хорошо, порой генерируя однотипные значения.

Это от того что не существует алгоритма, генерирующего случайные числа. Есть функции, которые выдают один и тот же числовой ряд в зависимости от начальной величины. Вроде в с++ это называется srand() и туда в качестве отправной точки "вшивают" значение системного времени. Так что раз в сутки есть вероятность получить одно и тоже.
Можете скачать примеры, я для этого их и сделал, чтобы можно было поиграться с ними и оценить удобство и возможности. Вы правы, со случайными числами в компьютерах действительно серьезные проблемы. Тот способ, что в примерах дает псевдослучайные числа, можно взять и более сложный алгоритм с лучшей рандомностью, но для данного применения думаю это не критично. К тому же на практике, надо думаю добавить еще к цифрам буквы.


Title: Re: 🔓 Шифруем приватные ключи своими силами €
Post by: gimpo on April 13, 2018, 03:02:25 PM
Очень интересный вариант. Именно из-за необходимости вводить все вручную в свое время отбросил вариант с заменой символов. Единственное что, думаю лучше не применять единый алгоритм ко всему ключу. Лучше разделить его допустим на 2 или 3 части и к каждой применить свой вариант перемешивания. Компьютеру это сделать легко, зато подбор алгоритма станет совсем маловероятным событием.


Title: Re: 🔓 Шифруем приватные ключи своими силами €
Post by: temarazin on May 20, 2018, 11:58:22 AM
Идея понятная. Я бы наверно, только, все алгоритмы шифрования сделал на одной странице и для каждого вывел чекбокс. Чекбоксы пронумеровать. При шифрование отмечаем чекбоксы с желаемыми алгоритмами - получаем набор цифр (набор номеров чекбоксов), который и будет подобием пароля.

Правда, если знать что есть зашифрованный пароль и есть такая утилита, где, чтобы рашифровать, нужно правильно выставить чекбоксы, то подобрать чекбоксы не так сложно. Если не ошибаюсь, получается 2n - 1 вариантов, где n - кол-во чекбоксов. При 6 чекбоксах - это всего-то 63 варианта.

Поэтому я больше склоняюсь к использованию ключа. Нужен алгоритм, который используют вводимую пользователем строку для шифрования, при этом зашифрованный приватник также должен быть в 16-ричном представлении и той же длины, что и оригинал. В таком случае обычный XOR не подходит (самый простой способ шифрования с ключом). Если есть варианты алгоритмов с ключом, то интересно будет послушать.


Title: Re: 🔓 Шифруем приватные ключи своими силами €
Post by: inbizin on May 20, 2018, 12:59:41 PM
Даже если вы храните флешку за диваном под плинтусом, это не значит, что она не может оказаться в неподходящий момент на самом видном месте.
надо использовать микросд карточку и закапывать ее в землю под фикусом на пару сантиметров - мало кто там рыться будет ;D


Title: Re: 🔓 Шифруем приватные ключи своими силами €
Post by: LifeChain on May 22, 2018, 10:46:01 AM
Идея понятная. Я бы наверно, только, все алгоритмы шифрования сделал на одной странице и для каждого вывел чекбокс. Чекбоксы пронумеровать. При шифрование отмечаем чекбоксы с желаемыми алгоритмами - получаем набор цифр (набор номеров чекбоксов), который и будет подобием пароля.

Правда, если знать что есть зашифрованный пароль и есть такая утилита, где, чтобы рашифровать, нужно правильно выставить чекбоксы, то подобрать чекбоксы не так сложно. Если не ошибаюсь, получается 2n - 1 вариантов, где n - кол-во чекбоксов. При 6 чекбоксах - это всего-то 63 варианта.
Ошибаетесь. Ответ зависит от логики работы программы.

Простой вариант. Порядок применения алгоритмов жестко прописан в программе, мы только выбираем количество алгоритмов которые будут использованы. Тогда количество вариантов равно n*(n+1)/2 что в вашем примере дает 21 вариант.

Сложный вариант. Порядок выбора чекбоксов определяет порядок их применения. Тогда количество вариантов равно сумме всех n! от 1 до n что дает 873 варианта, а если увеличить число чекбоксов до 9 то уже 409113 комбинаций.

Причем чтобы этот перебор делать, нужно иметь не только измененный приватный ключ, но и сам этот скрипт.

Поэтому я больше склоняюсь к использованию ключа. Нужен алгоритм, который используют вводимую пользователем строку для шифрования, при этом зашифрованный приватник также должен быть в 16-ричном представлении и той же длины, что и оригинал. В таком случае обычный XOR не подходит (самый простой способ шифрования с ключом). Если есть варианты алгоритмов с ключом, то интересно будет послушать.
Давно известно, что применяя простой алгоритм замены можно зашифровать так, что даже теоретически его будет невозможно расшифровать. Для этого нужно соблюсти несколько условий: ключ должен быть абсолютно случайным, длинной равной длине шифруемого сообщения и использоваться только один раз. После этого можно спать спокойно.

Только зачем все эти сложности? Ведь этот ключ придется тоже прятать. При этом приватный ключ сам по себе является набором случайных символов и если мы изменим хотя бы один символ в произвольном месте, то для приватного ключа эфира получим 1.1579208923731619542357098500869*1077 комбинаций, что равнозначно простой генерации приватника на удачу в надежде найти кошелек с миллионами на балансе.
В итоге мне кажется запомнить и сохранить в безопасности несложный алгоритм модификации проще, чем ключ длинной 64 символа.

Даже если вы храните флешку за диваном под плинтусом, это не значит, что она не может оказаться в неподходящий момент на самом видном месте.
надо использовать микросд карточку и закапывать ее в землю под фикусом на пару сантиметров - мало кто там рыться будет ;D
Ну да, про цветочный горшок конечно никто не в курсе ;D да и карточка там корродировать не будет... Хотя речь в приведенной вами цитате совсем о другом. Смысл в том, что вам ее нужно периодически доставать, чтобы войти в свой кошелек. А большинство людей не машины и она вполне может оказаться лежащей на столе когда рядом окажется соседский паренек.


Title: Re: 🔓 Шифруем приватные ключи своими силами €
Post by: Uderlord on May 22, 2018, 03:30:11 PM
Да хранение в архиве под поролем и когда другие о нём не знают уже достаточная мера,никто не хакает компы(особенно грамотных юзеров) чтобы лазить в их файлах и тд...


Title: Re: 🔓 Шифруем приватные ключи своими силами €
Post by: temarazin on May 22, 2018, 05:03:54 PM
Простой вариант. Порядок применения алгоритмов жестко прописан в программе, мы только выбираем количество алгоритмов которые будут использованы. Тогда количество вариантов равно n*(n+1)/2 что в вашем примере дает 21 вариант.

Нет, тут все-таки не так. У каждого чекбокса два положения "вкл" и "выкл". По сути 1 чекбокс - это бит информации. А 6 чекбоксов можно записать как 6-значное двоичное число. Вариантов получает 2n - 64. Но вариант "000000" в расчет не берем, поэтому 63.

Сложный вариант. Порядок выбора чекбоксов определяет порядок их применения. Тогда количество вариантов равно сумме всех n! от 1 до n что дает 873 варианта, а если увеличить число чекбоксов до 9 то уже 409113 комбинаций.

Причем чтобы этот перебор делать, нужно иметь не только измененный приватный ключ, но и сам этот скрипт.

Тут всё верно. Зашифрованный ключ наверняка будет храниться рядом со скриптом, уж на одном компьютере точно (иначе будет жутко неудобно им пользоваться). Поэтому я и предположил теоритически, что у злоумышенника есть и то, и другое. Эта задача мне интересна именно в этом контексте. Так вот, даже 400к+ вариантов ничто для брутфорса. Злоумышленник может понять логику шифрования и написать скрипт для перебора всех вариантов.


Title: Re: 🔓 Шифруем приватные ключи своими силами €
Post by: LifeChain on May 23, 2018, 11:36:42 AM
Простой вариант. Порядок применения алгоритмов жестко прописан в программе, мы только выбираем количество алгоритмов которые будут использованы. Тогда количество вариантов равно n*(n+1)/2 что в вашем примере дает 21 вариант.

Нет, тут все-таки не так. У каждого чекбокса два положения "вкл" и "выкл". По сути 1 чекбокс - это бит информации. А 6 чекбоксов можно записать как 6-значное двоичное число. Вариантов получает 2n - 64. Но вариант "000000" в расчет не берем, поэтому 63.
Согласен, что то я не то насчитал первый раз. Правильно 2n-1

Сложный вариант. Порядок выбора чекбоксов определяет порядок их применения. Тогда количество вариантов равно сумме всех n! от 1 до n что дает 873 варианта, а если увеличить число чекбоксов до 9 то уже 409113 комбинаций.

Причем чтобы этот перебор делать, нужно иметь не только измененный приватный ключ, но и сам этот скрипт.

Тут всё верно. Зашифрованный ключ наверняка будет храниться рядом со скриптом, уж на одном компьютере точно (иначе будет жутко неудобно им пользоваться). Поэтому я и предположил теоретически, что у злоумышленника есть и то, и другое. Эта задача мне интересна именно в этом контексте. Так вот, даже 400к+ вариантов ничто для брутфорса. Злоумышленник может понять логику шифрования и написать скрипт для перебора всех вариантов.

Почему считаете будет жутко неудобно пользоваться? Если сейчас храните допустим на флешке, то надо всего лишь дополнительно запустить скрипт и несколько раз щелкнуть мышкой, меньше минуты на все. 
Хранить рядом со скриптом это слишком беспечно, а хранить на этом же компьютере в другом месте вполне допустимо имхо, можно заархивировать с паролем дополнительно, неудобства минимальны.

Дело в том, что чтобы злоумышленник получил скрипт нужно чтобы он о нем знал и целенаправленно искал на компьютере, причем наверно придется создавать специальный вирус под эту задачу. Все это сложно и далеко не каждому под силу.
Можно пойти еще дальше и у части алгоритмов сделать необходимость вводить переменные руками. Например на сколько частей делить и тому подобное, что дополнительно усложнит возможность перебора.


Title: Re: 🔓 Шифруем приватные ключи своими силами €
Post by: Bam_Bam on May 23, 2018, 07:02:00 PM
Я не понимаю зачем эти ключи вообще шифровать, если их нельзя вообще хранить на цифровых носителях и устройствах. На бумажку выписал, а еще лучше две и спрятал в разные углы. Хрен кто что догадается


Title: Re: 🔓 Шифруем приватные ключи своими силами €
Post by: LifeChain on May 24, 2018, 10:17:43 AM
Я не понимаю зачем эти ключи вообще шифровать, если их нельзя вообще хранить на цифровых носителях и устройствах. На бумажку выписал, а еще лучше две и спрятал в разные углы. Хрен кто что догадается
С чего вы взяли, что нельзя хранить на цифровых носителях? Ну и как удобно руками их каждый раз набирать когда в кошелек нужно войти? ;) Что будет, если ваша бумажка с приватным ключом попадется на глаза кому-нибудь?


Title: Re: 🔓 Шифруем приватные ключи своими силами €
Post by: StartupAnalyst on July 16, 2018, 05:58:21 AM
Дело в том, что чтобы злоумышленник получил скрипт нужно чтобы он о нем знал и целенаправленно искал на компьютере, причем наверно придется создавать специальный вирус под эту задачу.

А если учесть что файлик переименован и спрятан в системной папке то такого типа "поиски ключа" практически непрактичны для любого взломщика, другое дело если человек знает что там 100 к Bitcoin-в лежит на кошельке, а так ну скомуниздил он у вас зашифрованные кеи, проверил - пустые, ну и пойдёт он дальше, не будет тормозить и рытся в системных файлах. Другое дело если ему вздумается проверить по датам открытия файлы, но это уж совсем из ряда фантастики.

Я не понимаю зачем эти ключи вообще шифровать, если их нельзя вообще хранить на цифровых носителях и устройствах. На бумажку выписал, а еще лучше две и спрятал в разные углы. Хрен кто что догадается
С чего вы взяли, что нельзя хранить на цифровых носителях? Ну и как удобно руками их каждый раз набирать когда в кошелек нужно войти? ;) Что будет, если ваша бумажка с приватным ключом попадется на глаза кому-нибудь?

Я думаю человек имел в виду что не доверяет сторонним программным продуктам и операционным системам, (а вообще мне кажется у него просто паранойя зашкаливает ;D ).



Title: Re: 🔓 Шифруем приватные ключи своими силами €
Post by: LifeChain on July 20, 2018, 08:17:30 PM
Дело в том, что чтобы злоумышленник получил скрипт нужно чтобы он о нем знал и целенаправленно искал на компьютере, причем наверно придется создавать специальный вирус под эту задачу.

А если учесть что файлик переименован и спрятан в системной папке то такого типа "поиски ключа" практически непрактичны для любого взломщика, другое дело если человек знает что там 100 к Bitcoin-в лежит на кошельке, а так ну скомуниздил он у вас зашифрованные кеи, проверил - пустые, ну и пойдёт он дальше, не будет тормозить и рытся в системных файлах. Другое дело если ему вздумается проверить по датам открытия файлы, но это уж совсем из ряда фантастики.
О том и речь, что вероятность похищения скрипта для обычного пользователя крайне мала. Вот если данный способ был бы популярным, тогда хакеры наверно озаботились бы зловредами под это дело для массового использования, а просто так никто не будет это делать. 


Title: Re: 🔓 Шифруем приватные ключи своими силами
Post by: Crypto Sunchezz on August 28, 2018, 04:45:31 PM
флэшку или листок можно не только дома так то хранить. к вам органы частят с обыском то вообще?)


Title: Re: 🔓 Шифруем приватные ключи своими силами
Post by: Tokingold on August 31, 2018, 02:24:36 AM
По мне так самый надёжный способ это две флешки, бумага и записать на CD диск и не надо нечего шифровать.


Title: Re: 🔓 Шифруем приватные ключи своими силами
Post by: esmanthra on August 31, 2018, 05:17:52 AM
Судя по форуму большинство людей не доверяет программам даже с открытым исходным кодом

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

Если же Вы изучали JS, Вам доступно несколько больше, чем модифицирование тега script в шапке страницы. Например, Вы сможете использовать спец. библиотеки для шифрования. Ну, и полагаться на Math.random() скорее всего не будете.

Хотя, как по мне, лучше было бы направить основные усилия не на шифрование, а на предотвращение попадания информации в руки злоумышленника. Вот здесь как раз для обывателей все гораздо прозрачнее - и, при должном усердии, для них это будет куда эффективнее, чем возня с кодом, который они не понимают.


Title: Re: 🔓 Шифруем приватные ключи своими силами
Post by: LifeChain on September 15, 2018, 07:04:03 PM
Судя по форуму большинство людей не доверяет программам даже с открытым исходным кодом

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

Если же Вы изучали JS, Вам доступно несколько больше, чем модифицирование тега script в шапке страницы. Например, Вы сможете использовать спец. библиотеки для шифрования. Ну, и полагаться на Math.random() скорее всего не будете.

Хотя, как по мне, лучше было бы направить основные усилия не на шифрование, а на предотвращение попадания информации в руки злоумышленника. Вот здесь как раз для обывателей все гораздо прозрачнее - и, при должном усердии, для них это будет куда эффективнее, чем возня с кодом, который они не понимают.
Судя по тому, что народ пишет на форуме у меня сложилось впечатление, что у большого числа пользователей очень слабо представление о компьютере, прямо на уровне секретарши блондинки. Не понимая как все работает и куча страшных историй с потерей денег на форуме приводит к тому, что они начинают боятся собственной тени. Отсутствие знаний компенсируется мифами. Как после этого можно доверять чужому софту?))
Причем как верно подмечено, проблема прежде всего психологическая, поскольку написать подобное сможет любой человек даже совсем не знакомый с JS. Требуется всего навсего желание и немного времени.


Title: Re: 🔓 Шифруем приватные ключи своими силами
Post by: esmanthra on September 16, 2018, 05:13:22 AM
у большого числа пользователей очень слабо представление о компьютере, прямо на уровне секретарши блондинки

В принципе, мы все с этого начинали. Но кто-то пошел дальше, а кто-то сконцентрировался на совсем иных вещах. Это вполне логично - нельзя быть докой во всем. Другое дело, что "нельзя быть докой" не равняется "быть полным ламером", и в век информации хоть какие-то знания об айти иметь необходимо - тем паче, если потом лезешь в такую сферу, как крипта. И вот тут у многих главный затык: они всю жизнь считали, что знания о компьютере им не пригодятся (поскольку занимались совсем другим) - а тут вдруг они не просто нужны, а буквально требуются. А на их любимом ютуб-канале "Как заработать миллион, не шевеля даже пальцем" об этом, естественно, упомянуть забыли.

Quote
написать подобное сможет любой человек даже совсем не знакомый с JS

Я помню, как начиналось лично мое знакомство с JS. Это был не первая попытка проникнуть в мир кода, но предыдущие явно были на поверхностном уровне, потому что начинать мне пришлось с самого тупого, конкретно - с вопроса "что такое переменная". Рили: ни один справочник по JS, даже позиционируемый как руководство для полных "нулей", не удосуживался "разжевать", что это, блин, такое. Обычно все стартовало со слов "создадим переменную блаблабла" или "var используется для создания переменных" - и далее уже с этими переменными производили какие-то базовые операции. То есть люди, составлявшие эти пособия, были убеждены, что понятие "переменная" всем доступно на интуитивном уровне, хотя это не так. Да, потом, в процессе "копания", все встало на свои места и были даже обнаружены всякие неочевидные нюансы. Но это было потом. Так что "написать подобное" человек, незнакомый с JS, конечно, сможет, но на уровне "переписал какую-то белиберду на неизвестном языке" - если, конечно, он секретарша-блондинка, а не секретарша-программист.