17 июня 2015, 5:05:02 PM   # 1
 
 
Сообщения: 6
Цитировать по имени
цитировать ответ
по умолчанию Re: Bitcoin Research Report, часть 1

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
 Основная цель этого доклада заключается в уточнении ошибок, выявление уязвимостей, определить преимущества в сравнении с недостатками конкретной монеты и помочь устранить угрозу мошенников, лжецов и воров.

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

 Bitcoin использует библиотеку SHA256 для крипто. Алгоритм шифрования 256 бита является достойным шифрованием силы. В этом случае, однако, он не использует истинные 256 бит. Это фактически использует слои 16 бит, 32 бит и 64 бита. 16 бит на самом деле слой хеши из 20 бит. Общий выход для всех слоев в окрестностях 256 бит, а общий объем (сумма), не то же самое, как истинный 256 битовый выход. Это значительно легче взломать один слой 20, 32 и 64 бит по сравнению с одиночным 256 битовой строки.

 Использование открытого источника крипто хорошо для отладки, в целях обучения, выявление общих ошибок и etcetra. Но, будучи обоюдоострым мечом, он также позволяет гнусные программистам получить необходимую им информацию, чтобы взломать его. В случае SHA256, то мясорубка работает как положено. Процесс преобразования адекватно преобразует выходной сигнал. Но, то Chunker, что делит выход на куски для преобразования, только на самом деле куски из 30 и 60 бита. Оставляя 2 и 4 бита соответственно, чтобы висеть в подвешенном состоянии. Эти биты потенциально передаются через сеть в незашифрованном виде.

 Некоторые утверждают, что это только последние 4 бита, и не будет иметь значения. Ну, это только лотерея, и вы получили последние 4 цифры выигрышного номера бесплатно. Вы только должны придумать еще несколько цифр, чтобы ударить его большим. Предполагая, что последний 2 и 4 бита, оставшегося от Chunker включены в предыдущем бите для преобразования, то последний фрагмент становится 3 и 5 бит, вместо 1 бит в то время, которое требуется преобразовать. Вполне возможно, что последний кусок отбрасывается за нарушения, при этом оставаясь в незашифрованном виде. Или он автоматически преобразуется, но не улучшает шифрование или уменьшить вероятность успешной трещины. Это легко фиксируется перекодирования Chunker на самом деле кусок, чтобы в полной мере 32 и 64 битов, как показано на выходе из источника. Там также может быть незначительными корректировками для обеспечения эффективности и меньшего потребления ресурсов, но они не являются каким-либо видом обязательных изменений и не требуются для этого криптографического работать должным образом.

 Вот источник для заголовка Bitcoin. Как вы можете видеть, это ясно использует 16, 32 и 64-битных выходов.

// Copyright (с) 2014 Разработчики Bitcoin Основные
// Распространяется под лицензией MIT, см сопровождающего
// файл КОПИРОВАНИЕ или http://www.opensource.org/licenses/mit-license.php.

#ifndef BITCOIN_CRYPTO_COMMON_H
#define BITCOIN_CRYPTO_COMMON_H

#if определенной (HAVE_CONFIG_H)
#включают "Bitcoin-config.h"
#endif

#включают

#включают "Compat / endian.h"

uint16_t статический встроенный ReadLE16 (Const символ без знака * PTR)
{
    вернуться le16toh (* ((uint16_t *) PTR));
}

uint32_t статический встроенный ReadLE32 (Const символ без знака * PTR)
{
    вернуться le32toh (* ((uint32_t *) PTR));
}

uint64_t статический встроенный ReadLE64 (Const символ без знака * PTR)
{
    вернуться le64toh (* ((uint64_t *) PTR));
}

недействительный статический встроенный WriteLE16 (неподписанный символ * PTR, uint16_t х)
{
    * ((Uint16_t *) PTR) = htole16 (х);
}

недействительный статический встроенный WriteLE32 (неподписанный символ * PTR, uint32_t х)
{
    * ((Uint32_t *) PTR) = htole32 (х);
}

недействительный статический встроенный WriteLE64 (неподписанный символ * PTR, uint64_t х)
{
    * ((Uint64_t *) PTR) = htole64 (х);
}

uint32_t статический встроенный ReadBE32 (Const символ без знака * PTR)
{
    вернуться be32toh (* ((uint32_t *) PTR));
}

uint64_t статический встроенный ReadBE64 (Const символ без знака * PTR)
{
    вернуться be64toh (* ((uint64_t *) PTR));
}

недействительный статический встроенный WriteBE32 (неподписанный символ * PTR, uint32_t х)
{
    * ((Uint32_t *) PTR) = htobe32 (х);
}

недействительный статический встроенный WriteBE64 (неподписанный символ * PTR, uint64_t х)
{
    * ((Uint64_t *) PTR) = htobe64 (х);
}

#endif // BITCOIN_CRYPTO_COMMON_H


 Еще один пример, взятый из источника, является выходом одного из слоев, как 20 бит. В другом месте в источнике она начинается, как 16 бит слоя с, но на самом деле выводит до 20. Это нормально.
// Copyright (с) 2014 Разработчики Bitcoin Основные
// Распространяется под лицензией MIT, см сопровождающего
// файл КОПИРОВАНИЕ или http://www.opensource.org/licenses/mit-license.php.

#ifndef BITCOIN_CRYPTO_SHA1_H
#define BITCOIN_CRYPTO_SHA1_H

#включают
#включают

/ ** На мясорубке класса для SHA1. * /
класс CSHA1
{
частный:
    uint32_t с [5];
    неподписанный символ BUF [64];
    size_t байт;

общественности:
    статического сопзЬ size_t OUTPUT_SIZE = 20;

    CSHA1 ();
    CSHA1& Write (Const символ без знака * данные, size_t LEN);
    Доработка недействительный (неподписанный символ хэш [OUTPUT_SIZE]);
    CSHA1& Сброс();
};

#endif // BITCOIN_CRYPTO_SHA1_H

Здесь 32 бит на выходе:

// Copyright (с) 2014 Разработчики Bitcoin Основные
// Распространяется под лицензией MIT, см сопровождающего
// файл КОПИРОВАНИЕ или http://www.opensource.org/licenses/mit-license.php.

#ifndef BITCOIN_CRYPTO_SHA256_H
#define BITCOIN_CRYPTO_SHA256_H

#включают
#включают

/ ** На мясорубке класса для SHA-256. * /
класс CSHA256
{
частный:
    uint32_t с [8];
    неподписанный символ BUF [64];
    size_t байт;

общественности:
    статического сопзЬ size_t OUTPUT_SIZE = 32;

    CSHA256 ();
    CSHA256& Write (Const символ без знака * данные, size_t LEN);
    Доработка недействительный (неподписанный символ хэш [OUTPUT_SIZE]);
    CSHA256& Сброс();
};

#endif // BITCOIN_CRYPTO_SHA256_H

 Используемый алгоритм работы. Библиотека используется, что криптография основана на, работает как положено. Названия были сделаны, чтобы быть немного вводит в заблуждение, но более чем вероятно, что это попытаться удержать потенциальных крекеры от попыток взломать шифрование и получить. Поскольку это касается денег, я бы рекомендовал крипто выписана чтобы быть полным 256 бит слой, или даже использовать 512 бит. На самом деле, все, что меньше, чем 256 бит могут быть взломаны ребенком с брутфорсер и временем.
 
  Все это можно найти на Github. Посмотрите здесь для источника криптографической и убедитесь сами: https://github.com/bitcoin/bitcoin/tree/master/src/crypto
j0kie_smurf сейчас офлайн Пожаловаться на j0kie_smurf   Ответить с цитированием Мультицитирование сообщения от j0kie_smurf Быстрый ответ на сообщение j0kie_smurf


Как заработать Биткоины?
Без вложений. Не майнинг.


19 июня 2015, 12:55:31 AM   # 2
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: Bitcoin Research Report, часть 1

Получил 1806 Биткоинов
Реальная история.





Привет j0kie_smurf,

Я приветствую ваш энтузиазм и интерес! Вы, вероятно, хотите, чтобы сделать некоторые исследования по криптосистемам: Выход из SHA256 действительно имеет длину 256 бит. Там нет примитивного 256 битого типа в C / C ++ существующего оборудования, так что это 256 битой функция возвращаемая с использованием меньших типов (например, 8 32-битовыми словами).

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

Я не уверен, где вы видя "использует только 20 бит" и такие из, если вы смогли показать такую ​​упрощенно отклонение от случайной выборки из SHA256 было бы замечательное открытие. Я подозреваю, вы просто неправильно код на этой точке.

В любом case-- я желаю вам удачи на ваших исследований и обучения. Ура,
gmaxwell сейчас офлайн Пожаловаться на gmaxwell   Ответить с цитированием Мультицитирование сообщения от gmaxwell Быстрый ответ на сообщение gmaxwell



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW