Jump to content
Sign in to follow this  
infoman

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

Recommended Posts

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

 

 Основной цикл:    для 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 я прав?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

@subw,уже читаю

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

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

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

Share this post


Link to post
Share on other sites

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

 

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

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

Edited by subw

Share this post


Link to post
Share on other sites

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

Edited by mv7

Share this post


Link to post
Share on other sites

@subw,

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

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

@mv7,

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

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

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

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

Edited by infoman

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

Share this post


Link to post
Share on other sites

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

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

 

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

0xFB6FEEE7 := 0x6A09E667 + 0xBB67AE85

или побитно

 

11111011011011111110111011100111 := 1101010000010011110011001100111 or 10111011011001111010111010000101

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

@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 (но меня  эта скорость не интересует так как она величина постоянная для всех аппаратных логических элементов)

Edited by infoman

Share this post


Link to post
Share on other sites

.

Edited by temrus63

Share this post


Link to post
Share on other sites

 

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

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

Share this post


Link to post
Share on other sites

@temrus63,@subw,

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

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

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

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

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

 

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

Edited by infoman

Share this post


Link to post
Share on other sites

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

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

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

Edited by mv7

Share this post


Link to post
Share on other sites

@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 битными словами?

Edited by infoman

Share this post


Link to post
Share on other sites

А было интересно.... Нашел решение:?

Share this post


Link to post
Share on other sites

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

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

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

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

Edited by Krey

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Topics

    • Джером Пауэлл: «наша главная задача – регулирование стейблкоинов, а не выпуск цифрового доллара»

      Председатель Федеральной резервной системы (ФРС) США Джером Пауэлл заявил, что США не торопятся выпускать цифровой доллар. Гораздо важнее разработать регулирование стейблкоинов. Выступая на онлайн-конференции, организованной Принстонским университетом в Нью-Джерси, Пауэлл сказал, что у правительства США нет желания быть первыми в запуске цифровой валюты. В этом нет необходимости, так как США уже стали первопроходцами в создании резервной валюты – доллара США. По словам Пауэлла, ФРС вклады

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

    • B2BX самая профессиональная биржа

      Вы когда-либо сталкивались с проблемой выставить особый тип ордера, но не могли подобрать нужный тип ордера? Вы разрабатываете торговую стратегию, которая поможет вывести торговлю на новый уровень, но обычные типы ордеров не дают расправить крылья?   Теперь у Вас есть возможность реализовать все лучшие торговые стратегии с B2BX Exchange. Вы можете использовать 9 типов ордеров, которые реализует весь Ваш торговый потенциал.   Наши типы ордеров:   Fill or Kill

      in Биржи криптовалют

    • Председатель ФРС США: «цифровой доллар – не первоочередная задача»

      Председатель Федерального резерва США (ФРС) Джером Пауэлл (Jerome Powell) заявил, что регулятор не станет выпускать цифровой доллар, пока не будут устранены все связанные с ним риски. Об этом Пауэлл сообщил во время выступления на конференции Международного валютного фонда, посвященной трансграничным платежам. По его словам, США не стремятся стать первыми, кто выпустит собственную цифровую валюту. Выпуск государственного стейблкоина – серьезная задача, требующая разносторонних исследован

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

    • Опрос: Какая биржа самая надежная и удобная

      Последнее время все больше криптобирж сталкиваются с проблемами. Проблемы с верификацией на Bittrex и Poloniex, подозрения относительно состояния Bitfinex. Проблемы с выводом на Exmo. Взлом BTC-e. И тд. В связи с этим решил попробовать собрать общее мнение о том, где же сейчас наиболее спокойная обстановка (понятно что все может уже завтра поменяться, но тем не менее). Какую бы биржу вы бы выбрали сейчас? Исходя из степени доверия бирже ну и конечно с учетом удобности биржи (именно поэ

      in Биржи криптовалют

    • [FTM] Fantom - самая быстрая монета

      Наш чат @ezcoin     Fantom - это серия технологических компонентов, которые в сочетании образуют технологический стек, который позволяет создавать на их основе более обширную экосистему приложений. https://fantom.foundation https://xar.network/ Основное внимание уделяется разработке механизмов согласования асинхронной византийской ошибки Lachesis («aBFT») и TxFlow. «ABFT» означает, что транзакции подтверждаются как можно быстрее при входе в сеть, вместо ожидания подтвержден

      in Другие форки

×
×
  • Create New...