Перейти к содержанию

самая трудоемкая задача sha256


Рекомендуемые сообщения

Опубликовано

Кто разбирается подскажите какая из элементарных операций самая затратная машиночасы/энергопотребление:

 

 Основной цикл:    для i от 0 до 63        Σ0 := (a rotr 2) xor (a rotr 13) xor (a rotr 22)        Ma := (a and b) xor (a and c) xor (b and c)        t2 := Σ0 + Ma        Σ1 := (e rotr 6) xor (e rotr 11) xor (e rotr 25)        Ch := (e and f) xor ((not e) and g)        t1 := h + Σ1 + Ch + k[i] + w[i]        h := g        g := f        f := e        e := d + t1        d := c        c := b        b := a        a := t1 + t2

чисто визуально тянусь к xor я прав?

Опубликовано

@subw,уже читаю

меня интересует именно аппаратные затраты

счас на КМОП  пересчитаю

я так понимаю зависит от колва транзисторов в элементе

Опубликовано (изменено)

я не понимаю что такое "аппаратные затраты".

 

вот почитай что пишут - http://en.wikipedia.org/wiki/Performance_per_watt

только вот не понятен смысл твоих изысканий, если ты только не разработчик для плисин...

Изменено пользователем subw
Опубликовано (изменено)

Даже для очень старых процессоров логические операции выполняются за минимальное количество тактов, сложение дольше выполнялось, для современных процессоров может уже не актуально. В целом, все операции простые. КМОП немного другая тема.

Изменено пользователем mv7
Опубликовано (изменено)

@subw,

именно при аппаратном майнинге (виртуальный не интересует)

все сводится к элементарщине  перечисленом  в сабже

@mv7,

вот именно это я и пытаюсь выяснить что из перечисленного занимает больше всего машиночасов

вот сейчас имеем операций:

  • and — 5
  • xor — 7
  • rotr  — 6
  • + — 7

это в основном цикл

Изменено пользователем infoman
Опубликовано

виртуальный майнинг это что еще такое? ))

я только про облачный слышал

виртуальный - программный(фпга)

аппаратный - на основе логических элементов  жестко зашитыми непрограммируемыми схемами вычисления блоков(asic)

Опубликовано

и ещё вот говрится что используется

но в алгоритме http://ru.wikipedia.org/wiki/SHA-2 не нашел "or"

 

я правильно рассуждаю что "+" это лигическое побитное or ?:

0xFB6FEEE7 := 0x6A09E667 + 0xBB67AE85

или побитно

 

11111011011011111110111011100111 := 1101010000010011110011001100111 or 10111011011001111010111010000101

Опубликовано

OR там в чистом виде нет, в некоторых реализациях есть для циклического сдвига из двух логических. Под + понимается именно сложение, т.е. две единички в одном разряде добавляют единичку в следующем. В процессорах все логические операции NOT, AND, XOR, OR выполняются быстрее всего. При аппаратной реализации, не знаю, не моя область.

Опубликовано (изменено)

@mv7,вот знающий человек!!!!

1) тогда обьясните если сложение с добавлением единички то на выходе мы не получим слова по 32 бита

тоесть выходного хеша не получится.... я прав?

 

Добавить полученные значения к ранее вычисленному результату:    h0 := h0 + a    h1 := h1 + b     h2 := h2 + c    h3 := h3 + d    h4 := h4 + e    h5 := h5 + f    h6 := h6 + g     h7 := h7 + hПолучить итоговое значения хеша:digest = hash = h0 ǁ h1 ǁ h2 ǁ h3 ǁ h4 ǁ h5 ǁ h6 ǁ h7

в digest = hash = h0 это слово 32 бита  а если как вы предлагаете с добавлением единички то будет другое слово

 

2) меня не интересует скорость в процессорах или не процессорах меня интересует какой из логических аппаратных элементов сьедает больше всего времени машинного или аппаратного

я думаю зависит это от того сколько p-n переходов в аппаратном логическом элементе

ну и их скорости перехода из состояния 0 в 1 (но меня  эта скорость не интересует так как она величина постоянная для всех аппаратных логических элементов)

Изменено пользователем infoman
Опубликовано

 

2) меня не интересует скорость в процессорах или не процессорах меня интересует какой из логических аппаратных элементов сьедает больше всего времени машинного или аппаратного

тебе надо понять элементарную вещь, я ее уже озвучил: скорость зависит от КОНКРЕТНОЙ архитектуры, а ты какие то абстракции обсуждаешь, почитай книжки, не забивай форум мусором

Опубликовано (изменено)

@temrus63,@subw,

это я то забиваю?

ваши последние 2 сообщения это мусор(если я не прав да убьет мой аккаунт администратор!)

мои конкретные

хорошо берем конкретную архитектуру где у нас имеются все вышеперечисленные элементы логики

@subw,вот по вашему пожеланию вашу любимую и самую вам понятную архитектуру, и теперь когда все это добро ваше, ответте на простой вопрос что сложнее всего вычислить? сложение , и , или , исключающее или , логический сдвиг, циклический сдвиг ?

 

ну и во вторых остается вопрос по сложению, это or или всетаки сложение с добавлением единички(побитно)

Изменено пользователем infoman
Опубликовано

@mv7,вот знающий человек!!!!

1) тогда обьясните если сложение с добавлением единички то на выходе мы не получим слова по 32 бита

тоесть выходного хеша не получится.... я прав?

Нет, FFFF+0001=0000, остается все те же 32 бита. Зачем Вам все это? Не стоит пытаться найти здесь золотую жилу без доступа к производству микросхем.

Опубликовано

@mv7,причем тут жила,

я просто пытаюсь понять,

попробовал на калькуляторе посчитать

если я ставлю 4 байта (разрядность) то да остаются теже 32 бита

если 8 байт то добавляется единичка

вы правы + и or разные вещи

тогда что же это "+" с точки зрения элементарной логики(читаю в нете пытаюсь понять 2 мне за забытые уроки информатики)

Опубликовано (изменено)

Все правильно, все действия в 32-битном представлении, соответственно при сложении все лишнее отсекается. Тогда ответ на вопрос простой, нет там сложных частей, все команды простейшие, процессор легко прогоняет десятки миллионов раз в секунду этот код. Scrypt, например, в 1000 и более раз медленнее в зависимости от настроек сложности алгоритма. Здесь главное относительная скорость, чтобы заработать денег, надо быть быстрее всех.

Изменено пользователем mv7
Опубликовано (изменено)

@mv7,помоему это оно http://digteh.ru/digital/sum.php проще говоря сумматоры построенные на xor + перенос

 

если мы отсекаем "все лишнее детям"

 

остаются чисто xor 232

 

итого получается что самое затратное в sha256   это именно xor  ибо элементарно в одном сумматоре для двух слов этих логических элементов будет 32 штуки

и таких операций с сумматорами в алгоритме туева хуча :huh: шифровальщики блин :ph34r:

роем дальше....

 

тогда получается что тут:

Основной цикл:    для i от 0 до 63        Σ0 := (a rotr 2) xor (a rotr 13) xor (a rotr 22)        Ma := (a and b) xor (a and c) xor (b and c)        t2 := Σ0 + Ma        Σ1 := (e rotr 6) xor (e rotr 11) xor (e rotr 25)        Ch := (e and f) xor ((not e) and g)        t1 := h + Σ1 + Ch + k[i] + w[i]

элемент xor тоже 232 ? ведь в цикле мы тоже оперируем 32 битными словами?

Изменено пользователем infoman
  • 3 месяца спустя...
Опубликовано (изменено)

Реализовали бы алгоритм и посмотрели, чего гадать то?

Я реализовывал и смотрел. На x86 самая затратная - rotr, оптимизированный алгоритм на языке высокого уровня там проводит 90% времени.

Если писать все на асме, даже при использовании новых инструкций интеля в хасвеле (пяток rotr и shr с различными сдвигами) все равно голяк на проце получается.

Очень приблизительно, опираясь на цифры данные Интелем (http://www.intel.com/content/dam/www/public/us/en/documents/white-papers/sha-256-implementations-paper.pdf) до 500Мхэш на ядро (?). В итоге зибил, проще купить ЮСБ свисток, чем вспоминать асм.

Изменено пользователем Krey

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Похожие топики

    • В поисках консенсуса: что такое и как решается «задача византийских генералов»

      Одной из главных целей любой децентрализованной системы является достижение консенсуса в алгоритме действий между участниками. Описать проблему позволяет так называемая «задача византийских генералов». Первоначально задача была сформулирована еще в 1982 году американским криптографом Лесли Лэмпортом (Leslie Lamport). Этот исследователь также известен разработкой криптосистемы «подпись Лэмпорта» с открытым ключом, «часов Лэмпорта» — механизма определения порядка событий в распределенной сред

      в Новости криптовалют

    • Чарльз Хоскинсон: «Cardano – самая большая угроза для Биткоина»

      Основатель Cardano Чарльз Хоскинсон (Charles Hoskinson) заявил, что именно его блокчейн всегда был главным конкурентом сети Биткоина. Разработчик уверен: криптовалюта Cardano способна бросить вызов биткоину, занимающему первое место по рыночной капитализации на рынке. Хоскинсон объяснил свою точку зрения: биткоин известен в первую очередь как средство сбережения, а Cardano — не просто еще одна криптовалюта, а платформа, которая «меняет правила игры». В качестве основного преимущества Cardano

      в Новости криптовалют

    • Майкл Сэйлор: «Биткоин — самая желанная собственность»

      Сооснователь американской компании-разработчика программного обеспечения MicroStrategy Майкл Сэйлор заявил, что биткоин стал самой желанной собственностью в киберпространстве. В интервью изданию Bloomberg Майкл Сэйлор (Michael Saylor) подчеркнул, что владеет биткоинами на сумму свыше $1 млрд.   «Примерно четыре года назад я опубликовал твит о владении 17 732 BTC. С тех пор я не продал ни одного биткоина, а лишь продолжаю покупать», — рассказал он.   По словам Сэйлора, первая

      в Новости криптовалют

    • Самая выгодная сделка!

      Ты ничего не получишь   TRC20 TGDUKQrQVZUSWPxEkFYCzGMggPN3kiGYim

      в Попрошайки

    • Математическая задача про ведро воды и, внезапно, бинанс.

      Предположим, у нас есть десятилитровое ведро, и в нём налит 1 литр воды. Эта вода обладает волшебным свойством, её объем плавно увеличивается (деление молекул, почему нет). Когда-нибудь этот литр увеличится в 100 раз (может быть, для удобства взять 128, тут хз), то есть в результате мы когда-нибудь получим (получили бы) 100 литров воды. Естественно, со временем она будет выливаться, и пусть вылившаяся вода сразу же теряет своё волшебное свойство.  Естественно, любая часть, уже увеличившаяся

      в Флейм

×
×
  • Создать...