Это копия, сохраненная 21 декабря 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

приватный ключ, это разве не файлик в .electrum/wallets папке? Его же надо бэкапить в разные места? И зачем его паролить в zip-архив (при бэкапе в облако на пример), он же зашифрован твоим паролем от кошелька? И нужно ли для каждого btc-адреса кошелька бэкапить отдельно?
И тот же вопрос про etherium. Тут проще я так понял 1 аккаунт = 1 кошелек = 1 адрес? Есть файлик формата json - я правильно понимаю, что там и публичный и приватный (зашифрованный паролем) ключ содержатся и его тоже надо бэкапить?
Пока скинул эти 2 файла на флешку
Поясните, плз, по хардкору и ткните в инфу конкретно по этой тему (ключи, подписи транзакций, что бэкапить и как)

>приватный ключ, это разве не файлик в .electrum/wallets папке
Не в курсе про Electrum, в Bitcoin Core в wallet.dat файле хранятся все приватные ключи, по умолчанию они не зашифрованы, но можно зашфровать через кошелек.
чем он не безопасен?
Приватный ключ - это 256-битное значение.
Например, secret-exponent на сайте https://brainwalletx.github.io/
Если ввести её в конвертер и из hex преобразовать в base58Check -
получишь priv в формате WIF. Тот самый, который видно, если нажать кнопку Toggle key и тот самый, который можно импортировать, и из которого можно получить адрес.
В wallet.dat - все привы от всех генерируемых в qt адресов.
>И нужно ли для каждого btc-адреса кошелька бэкапить отдельно?
Иногда, когда есть монеты на одном из адресов, и ты знаешь его priv,
при переводе мелкой суммы, сдача отправляется на сгенерированный адрес.
Этот адрес добавляется в wallet.dat, и если не сдампить его прив,
старый прив не даст доступ к переводу этих монет.
Примечательно то, что новый адрес порой можно увидеть только в block-explorer'e,
потому что не всегда сгенерированный адрес добавляется в адреса для получения -
просто видно баланс суммарный и всё. Поэтому priv'ы никто и не таскает особо, а только wallet.dat
priv полезен тогда, когда юзаешь brainwallet.
Сгенерировал priv, получил с него адрес, отправил адрес отправителю монет, получил монеты,
отследил перевод через block-explorer, а потом импортировал priv и гоняешь эти свои монеты.
До тех пор, пока никто не знает priv - никто не может стыбрить монеты,
а вот в кошельках, алгоритм генерации новых priv может быть хреновый и предсказуемый.
Пикчи отклеились.
Поясню. Public key - это private key умноженный на генераторную точку на эллиптической кривой.
Получить public key из private key - легко, а назад - трудно.
А вот хеш от public key (используется несколько уровней хеширования) - уже даёт адрес.
спасибо за подробный ответ. Но вопрос был немного в другом. В том, какие файлы бэкапить для безопасности. И в каком формате приватные ключи держатся, в зашифрованном или нет.
Вот я юзаю electrum, там есть файлик по адресу .electrum/wallets/ и в нем просто строка 6к+ символов
И у ethereum wallet есть файлик формата json
Дак вот - если я эти 2 файла буду бэкапить на флешку и в облако, это будет хорошим уровнем бэкапа или нужно еще их шифровать?
>в каком формате приватные ключи держатся
Формат приватных ключей - везде одинаков. Это WIF (Wallet Import Format) - ключи и адреса в кодировке Base58Check.
Получить привы и адреса можно командой:
$ ./electrum addresses -ak
Password:
1LGoehbyeX4QBEPK1a6dhyaoMQZfqg5LKX:5JBSttEGhjEcPidSovW66Rin2EZ6LEHZ2qx8Pu2RqqNaDTBVWaF
1KcsBJa2cCxVkGJfSsg5bUeXN7Y5uLa8mP:5KiP4uiNT6KG8jnXbainCM8rDWRrgxt3PAyut4FFpDoCo1Rh6VM
1PXsn7LVXTccGhJPTUL8r2EGB4fF9kvex3:5Kj8mvBJReyk8xEBMx5cTnciQCxto5JmudiTPkqwMcd61Kf1Jqc
1KteSFTAphyByLTtUfFiVQ9s7fMVmx7c2h:5JeZ3FTbWcksLt3PKydd5U9p952UQRHwv3LoxzCA9LZ7V2bku5p
1GE5ZChAobeTEPLHDCDDKTSg3XvLkcQFjS:5JwtGEygTwF2nouhRVzW3w5DWZd1sCgxLtnd1v51wjkbUrp5sqH
12YNehfAoYTiwjTXULwaZqTCauu2D61fq6:5Jvcq19ePCXKcVun4n7US99CsrEByUK2kgxXBA3rBVBqYZjhfwD
>Вот я юзаю electrum, там есть файлик по адресу .electrum/wallets/ и в нем просто строка 6к+ символов
Это, походу, зашифрованный паролем файл, содержащий адреса и ключи.
Забудешь пароль - и всё...
>И у ethereum wallet есть файлик формата json
У эфира приватным ключём является 32-байтный hex.
Его можешь просмотреть в MyEtherWallet на вкладке View Wallet Info.
А в JSON-файле хранится приватный ключ, зашифрованный паролем. Так просто его ты не увидишь.
>Дак вот - если я эти 2 файла буду бэкапить на флешку и в облако, это будет хорошим уровнем бэкапа или нужно еще их шифровать?
Лучше поставь себе TrueCrypt и кидай в облако .tc-файлы. Их легко монтировать и весить могут немного.
я правильно понял, что ты предлагаешь не использовать пароль к кошелькам вообще? Я так и не понял, что мне бэкапить если честно)
Если я буду зашифрованные ключи (вот этот файл-кошелек от electrum и + json-файл кошелек от ethereum wallet) хранить на флешке и в облаке - это же гуд или я где-то проебусь?
+ у меня seed для electrum на бумаге записан, ну а пароли к обоим кошелькам в электронном виде
+ 2 factor авторизация для electrum
>я правильно понял, что ты предлагаешь не использовать пароль к кошелькам вообще?
Ты можешь использовать что угодно для шифрования своих ключей,
но если там уже напаролена хуева туча паролей и сидов, то называть эти файлы, строки и хексы ключами - нельзя.
Я предлагаю получить из всей этой хероты сначала ключи в чистом виде, пригодном для импорта,
в том виде в каком они должны быть по стандарту, а потом уже паролить и шифровать их как тебе угодно.
>Если я буду зашифрованные ключи (вот этот файл-кошелек от electrum и + json-файл кошелек от ethereum wallet)
>хранить на флешке и в облаке - это же гуд или я где-то проебусь?
Тогда тебе надо будет и версию рабочую туда залить.
А то вдруг изменится какая-нибудь кодировка и твой сид вместе с его форматом - тупо пойдёт по пизде.
>+ у меня seed для electrum на бумаге записан, ну а пароли к обоим кошелькам в электронном виде
Вот иди знай что это за сид. Это, походу, какой-нибудь hex пароля шифрования в кодировке
Poetry, или Easy16 который может быть преобразован назад в hex - через конвертер здесь: https://brainwalletx.github.io/#converter Если так, то ключём уж точно этот сид не является - ключи в файле зашифрованном.
>+ 2 factor авторизация для electrum
А эти динамические OTP-пароли вообще на приложение 2FA-завязаны.
>А то вдруг изменится какая-нибудь кодировка и твой сид вместе с его форматом - тупо пойдёт по пизде.
Вот у этого Bip39
>>249589
А тут что??? >>249610 Derivation Path BIP44 и BIP32.
Вот декодер bip39: >>249614 но если ввести сид туда,
получишь какой-то BIP32 Root Key, ни адресом, ни приватным ключём не являющийся.
>>249808
т.е. ваше мнение, что всякие seed/2fa лучше не использовать, так как они завязываются на сторонние библиотеки (хотя они же open source тоже)?
Я вот сейчас экспортнул приватные ключи в чистом виде всех адресов своих. Конечно так они выглядят понятней))
Формат:
"address":"unencrypted_private_key"
"address":"unencrypted_private_key"
"address":"unencrypted_private_key"
т.е. вы говорите, что просто вот этот json нужно шифровать (через TrueCrypt на пример) и бекапить и не использовать всякие seed/2fa? Мне кажется все таки и seed и 2fa через trustedcoin дает приемущество в безопасности, разве нет?
>т.е. ваше мнение, что всякие seed/2fa лучше не использовать,
>так как они завязываются на сторонние библиотеки (хотя они же open source тоже)?
Да, ведь тогда прийдётся ещё и коды этих библиотек бекапить, а то вдруг стандарт изменится?
Что тогда делать будешь?
В 2FA вообще отдельный ключ сервера идёт, значит его надо бекапить тоже.
>>249811
Это сервис же. Они, как не странно временные и гокснутся могут. Если исходник не открыт.
А если открыт - поднимать на локалхосте будешь, что-ли?
>>249812
Интересно, как? Есть гайд?
>Я вот сейчас экспортнул приватные ключи в чистом виде всех адресов своих. Конечно так они выглядят понятней))
А теперь можешь поудалять адреса нафиг, и получить только привкеи.
А сами приватные ключи - в любой момент можно конвертировать в адрес
при помощи функций http://brainwalletx.github.io/, если скачать его в zip.
Алсо, можешь качнуть вот этот zip >>249278
- я туда пхнул поддержку сжатых приватных ключей на всё + XOR для криптостойкости.
Теперь этот брайнваллет может стать универсальным веб-валлетом,
для подписи и отправки транзакций в сети монет - без необходимости закачки их блокчейнов.
Но конечно это всё допиливать надо, юзая универсальные блок-эксплореры типа
http://yiimp.eu/explorer которые выдавали бы ответы в виде JSON,
как впринципе и задумано в оригинальном brainwalletX.
>Интересно, как? Есть гайд?
конечно, полно в инете. На пример вот:
https://www.macobserver.com/tmo/article/how-to-strongly-encrypt-a-file-for-free-in-os-x
скроль до "Page 2 - Method #2, the UNIX Command Line"
А вот с ethereum wallet как? Там json файлик и судя по man-у, там содержится приватный ключ УЖЕ зашифрованный паролем и экспортнуть ключ в НЕзашифрованном виде нереально (мб у этого есть какое-то обоснование).
Т.е. мне этот файлик получается не нужно шифровать самому и его можно бэкапить в таком виде "as is"?
>А сами приватные ключи - в любой момент можно конвертировать в адрес
>при помощи функций http://brainwalletx.github.io/ если скачать его в zip.
Там внутри, файл bitcoinjs-min.js содержит в себе все функции
для работы с эллиптической кривой биткоина, и может работать локально, без всяких серверов.
Для всех монет других альткоинов - всё то же самое, всё стандартно, только префиксы меняются.
>-aes-256-cbc
Ага, понятно. =)
В трукрипте так же и даже, вроде-бы такой же даже алгоритм есть там,
только там всё дисковое пространство в контейнере шифруется,
а он уже как папка или диск потом монтируется и не надо каждый отдельный файл расшифровывать.
Т. е. не надо для каждого конкретного файла команду вводить.
>ethereum wallet
>экспортнуть ключ в НЕзашифрованном виде нереально
Я же написал уже выше.
>>249606
>У эфира приватным ключём является 32-байтный hex.
>Его можешь просмотреть в MyEtherWallet на вкладке View Wallet Info.
>А в JSON-файле хранится приватный ключ, зашифрованный паролем. Так просто его ты не увидишь.
>Т.е. мне этот файлик получается не нужно шифровать самому и его можно бэкапить в таком виде "as is"?
Там палится твой адрес. Он незашифрован. Открой его как текст.
>Там палится твой адрес. Он незашифрован. Открой его как текст.
Т. е. если пароль у тебя простой, то зная адрес, можно применить к шифртексту атаку по словарю приложив туда гигафлопсы,
и ориентируясь на этот адрес.
Если бы там был просто адрес, но там же шифрованный прив, и открытый формат JSON-файла.
32-значный (цифры, буквы А/а, символы)
так что думаю вряд ли мой инвестиционный пакет из 200$ будут брутфорсить
а вот это да, понял. Лучше тоже шифрануть
>32-значный (цифры, буквы А/а, символы)
32-байтный (256-бит), и 64-значный так как каждый байт - 2-х значный,
итого 64 hex-символа в строке.
>так что думаю вряд ли мой инвестиционный пакет из 200$ будут брутфорсить
Если в облако заливается миллион JSON-файлов эфира, с привами, зашифрованными простыми паролями, я думаю админам имело бы смысл и скрипт написать,
да на гриды его поцепить. =)
я еще о чем подумал. Какой смысл в шифровании, если у меня пароль через который шифровал лежит на том же носителе грубо говоря, что и зашифрованный приват кей?
Смысл в том, что ты и знаешь о том, что это пароль.
А если вдруг носитель попадёт в сервисный центр -
хрен там поймут что это пароль, если ты конечно не напишешь:
ЭТО ПОРОЛЬ ОТ ПРИВКЕЕВ %МОНЕТА_НЕЙМ% ВАЛЕДАТ ОТ КОТОРОЙ В ПАПКЕ %DIRECTORY%.
>Шифранул csv файл ключей с помощью openssl, потом расшифровал, понравилось)
>>249813
>Интересно, как? Есть гайд?
>>249815
>конечно, полно в инете. На пример вот:
>https://www.macobserver.com/tmo/article/how-to-strongly-encrypt-a-file-for-free-in-os-x
Вообще-то у меня винда. Но уже разобрался.
Прикольная фича это твоё шифрование файлов через openssl - мне понравилось.
1. Скачал отсюда, короче binaries: http://gnuwin32.sourceforge.net/packages/openssl.htm
2. Unzip'нул его. openssl
3. Дальше, применил две команды из гайда что ты дал в bat-файлах. Это команды:
openssl enc -aes-256-cbc -salt -in secret.txt -out secret.enc
openssl enc -d -aes-256-cbc -in secret.enc > secret.txt
Получилось зашифровать файл. Начинается шифрофайл с "Salted__" дальше какие-то крякозяблики.
И получилось также расшифровать его. Получил исходный текст.
Но... Там надо вводить пароль. И его не видно.
Дальше... Ввёл в бат-файл сначала команду:
>openssl -help
а затем
>openssl enc -help
и написал внизу следующей строкой pause
чтоб окно не закрывалось.
Вижу там можно указать пароль через параметр -k, либо же можно указать паролем - первую строку какого-нибудь файла.
-k passphrase is the next argument
-kfile passphrase is the first line of the file argument
А поскольку алгоритм -aes-256-cbc шифрует данные 256-битным ключём,
то наверняка этим паролем может быть и приватный ключ от биткоина,
являющийся 256-битным значением.
Его можно положить в файл одной строкой, и им шифровать все файлы.
А можно для шифрования его специально сгенерировать, и завязать на простую парольную фразу.
Короче, смотри что я тут удумал...
1. Беру >>249278
2. Пишу свой random_seed в brainwallet.js
3. Ввожу туда простой пароль, получаю криптостойкий ключ.
4. Беру secret exponent ему соответствующую.
5. Создаю текстовый файл, и открываю его hex-редактором.
6. Вставляю туда hex, сохраняю.
7. шифрую все свои файлы при помощи этого ключевого файла с приватным ключём.
8. Удаляю его и закидываю брайнваллет с сидом в туда, держа в голове один лишь пароль.
9. И хрен кто сбрутит потом всё это добро, если не сумеет разобраться в этих премудростях ебучих.
10. ??????
11. Decrypt.
Может есть где-то программы, где через openssl автоматически ключевым файлом шифруется каждый конкретный?
>Шифранул csv файл ключей с помощью openssl, потом расшифровал, понравилось)
>>249813
>Интересно, как? Есть гайд?
>>249815
>конечно, полно в инете. На пример вот:
>https://www.macobserver.com/tmo/article/how-to-strongly-encrypt-a-file-for-free-in-os-x
Вообще-то у меня винда. Но уже разобрался.
Прикольная фича это твоё шифрование файлов через openssl - мне понравилось.
1. Скачал отсюда, короче binaries: http://gnuwin32.sourceforge.net/packages/openssl.htm
2. Unzip'нул его. openssl
3. Дальше, применил две команды из гайда что ты дал в bat-файлах. Это команды:
openssl enc -aes-256-cbc -salt -in secret.txt -out secret.enc
openssl enc -d -aes-256-cbc -in secret.enc > secret.txt
Получилось зашифровать файл. Начинается шифрофайл с "Salted__" дальше какие-то крякозяблики.
И получилось также расшифровать его. Получил исходный текст.
Но... Там надо вводить пароль. И его не видно.
Дальше... Ввёл в бат-файл сначала команду:
>openssl -help
а затем
>openssl enc -help
и написал внизу следующей строкой pause
чтоб окно не закрывалось.
Вижу там можно указать пароль через параметр -k, либо же можно указать паролем - первую строку какого-нибудь файла.
-k passphrase is the next argument
-kfile passphrase is the first line of the file argument
А поскольку алгоритм -aes-256-cbc шифрует данные 256-битным ключём,
то наверняка этим паролем может быть и приватный ключ от биткоина,
являющийся 256-битным значением.
Его можно положить в файл одной строкой, и им шифровать все файлы.
А можно для шифрования его специально сгенерировать, и завязать на простую парольную фразу.
Короче, смотри что я тут удумал...
1. Беру >>249278
2. Пишу свой random_seed в brainwallet.js
3. Ввожу туда простой пароль, получаю криптостойкий ключ.
4. Беру secret exponent ему соответствующую.
5. Создаю текстовый файл, и открываю его hex-редактором.
6. Вставляю туда hex, сохраняю.
7. шифрую все свои файлы при помощи этого ключевого файла с приватным ключём.
8. Удаляю его и закидываю брайнваллет с сидом в туда, держа в голове один лишь пароль.
9. И хрен кто сбрутит потом всё это добро, если не сумеет разобраться в этих премудростях ебучих.
10. ??????
11. Decrypt.
Может есть где-то программы, где через openssl автоматически ключевым файлом шифруется каждый конкретный?
И ещё я так подумал, вот было бы прикольно, если бы в TrueCrypt можно было шифровать приватным ключём биткоина.
Монтируешь контейнер или том трукрипта, и нифига, а потом вставил в USB какой-нибудь Ledger Nano S
и подмонтировалось всё в TrueCrypt и лазишь и шастаешь себе по этим своим порно-пакам. =)
Только вот прикол в том, что если шифровать приватным ключём, то этот ключ в памяти будет висеть,
поэтому лучше было бы шифровать хешем приватного ключа, а то memory dump KeyStealer'om.
Можно было бы даже в этот >>249278 brainwalletx -
добавить ссылку на закачку файла, содержащего 256-бит sha256-хеша от приватного ключа,
также, как создаётся и качается JSON-файл c зашифрованным паролем,
локально в браузере у MyEtherWallet,
и этим хешем шифровать и дешифровать инфу через openssl,
используя этот файл как файл ключей.
Получается - открыл локально брайнваллет со своим random_seed,
ввёл пароль - и скачал локально файл ключей завязанный на приватный ключ.
Только там, на JS - какой-то атрибут download, а он работает в HTML5.
https://stackoverflow.com/questions/3665115/create-a-file-in-memory-for-user-to-download-not-through-server
Кстати, в трукрипте тоже можно юзать ключевые файлы.
Это копия, сохраненная 21 декабря 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.