Bitcoin Forum
April 25, 2024, 01:13:25 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 »  All
  Print  
Author Topic: Алгоритм SHA в форме полинома  (Read 5576 times)
tvv (OP)
Legendary
*
Offline Offline

Activity: 1302
Merit: 1005


View Profile WWW
September 14, 2012, 07:10:21 PM
 #1

Hello.

  Кому-нить попадался сам полином в математической записи по которому считается SHA?

Ну примерно вот как CRC алгоритм описан, полиномом, а не алгоритмом
http://ru.wikipedia.org/wiki/Циклический_избыточный_код

А то SHA описан в форме алгоритма на псевдокоде(а выковыривать оттуда полином лень Wink )
http://ru.wikipedia.org/wiki/SHA-2

Vladimir
1714050805
Hero Member
*
Offline Offline

Posts: 1714050805

View Profile Personal Message (Offline)

Ignore
1714050805
Reply with quote  #2

1714050805
Report to moderator
1714050805
Hero Member
*
Offline Offline

Posts: 1714050805

View Profile Personal Message (Offline)

Ignore
1714050805
Reply with quote  #2

1714050805
Report to moderator
According to NIST and ECRYPT II, the cryptographic algorithms used in Bitcoin are expected to be strong until at least 2030. (After that, it will not be too difficult to transition to different algorithms.)
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
Yurock
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250


View Profile
September 17, 2012, 03:45:10 AM
 #2

Наверно, такой полином не существует.
tvv (OP)
Legendary
*
Offline Offline

Activity: 1302
Merit: 1005


View Profile WWW
September 21, 2012, 06:20:13 AM
 #3

Наверно, такой полином не существует.

должен быть - они же из чего-то писали алгоритм!

Да и для доказательств стойкости нужно иметь математическую запись.
Yurock
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250


View Profile
September 22, 2012, 03:21:44 AM
 #4

они же из чего-то писали алгоритм!
Да, на основе чего-то. Не обязательно полинома.

Да и для доказательств стойкости нужно иметь математическую запись.
Вот здесь, например, есть математическая запись. А для доказательства стойкости к чему-либо, в первую очередь нужно знать, что это – что-либо. Smiley
tvv (OP)
Legendary
*
Offline Offline

Activity: 1302
Merit: 1005


View Profile WWW
September 22, 2012, 03:53:04 AM
 #5

Да, на основе чего-то. Не обязательно полинома.

там же вроде даже аппаратная последовательная схема приведена?..

Такие схемы 1:1 описываются полиномом.


Ладно, спросим по-другому Wink 

Последовательная реализация в виде схемы или логических функций где-нить описана?

Lis
Sr. Member
****
Offline Offline

Activity: 292
Merit: 251


Spice must flow!


View Profile
September 22, 2012, 11:45:50 AM
 #6

Да, на основе чего-то. Не обязательно полинома.

там же вроде даже аппаратная последовательная схема приведена?..

Такие схемы 1:1 описываются полиномом.


Ладно, спросим по-другому Wink 

Последовательная реализация в виде схемы или логических функций где-нить описана?


на википедии

You would like to thank?
btc: 14tAPpwzrfZqBeFVvfBZHiBdByYhsoFofn
SHawk
Sr. Member
****
Offline Offline

Activity: 658
Merit: 250


View Profile
September 25, 2012, 06:00:49 PM
 #7

Hello.

  Кому-нить попадался сам полином в математической записи по которому считается SHA?

Ну примерно вот как CRC алгоритм описан, полиномом, а не алгоритмом
http://ru.wikipedia.org/wiki/Циклический_избыточный_код

А то SHA описан в форме алгоритма на псевдокоде(а выковыривать оттуда полином лень Wink )
http://ru.wikipedia.org/wiki/SHA-2

Vladimir


Э... можно вопрос?
Что значит фраза "полином по которому считается SHA" ?
Вы сами понимаете, чего спрашиваете? Похоже, что нет.
Каким еще полиномом CRC описан? Принято говорить, что CRC "порождается полиномом", но при этом всегда уточняют, что это значит.
Кстати, CRC это обратимая функция в отличие от SHA.
Если же, вдруг, речь идет о какой-нибудь дизъюнктивной нормальной форме записи любой логической функции,  то зачем она вам? Она (даже для одного блока) займет несколько страниц мелкого текста и будет непригодна вообще ни для чего кроме как показывать девочкам...
ArsenShnurkov
Legendary
*
Offline Offline

Activity: 1386
Merit: 1000



View Profile
September 26, 2012, 03:10:21 AM
Last edit: September 26, 2012, 03:47:45 AM by ArsenShnurkov
 #8

будет непригодна вообще ни для чего

Зачем ты наступаешь на горло нашему потенциальному великому математику, второму Перельману, можно сказать?

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

У меня была такая же идея
that article describes all possible use cases, but we have a special one.
За счет чего вычисления можно оптимизировать:
1) функция вычисляется не один раз, а два раза подряд;
     (возможна оптимизация места склейки)
2) цель - не вычисление функции, а подбор значения дающего результат с нужным числом лидирующих нулей;
     (т.е. проводить вычисления только тех битов, которые должны стать нулевыми)
3) убедится надо в том, что нужные биты станут нулями (а не скажем единицами).
     (т.е. сократить функцию, зная её требуемое значение)
4) при переборе хешируемое значение меняется не целиком, а только его вариабельная часть
     (т.е. кешировать(вычислять единственный раз) часть промежуточных результатов вычислений)

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

Может быть будет даже возможно программирование FPGA на лету для каждого нового блока по-своему
Перепрограммирование FPGA существенно быстрее, чем временнОй интервал между двумя блоками:
Quote
Example: A LatticeECP3-95 device in Slave-Parallel PCM mode, and the CCLK is 33 MHz, the maximum EBR preload is 22.5Mb, and an 8-bit parallel bus, then configuration time is 22.5 Mb/(8b*33 MHz) = 0.086 seconds (86 milliseconds). When the initialization time for the LatticeECP3 device in slave mode is 6mS, then the total programming time is 6mS+86mS=92mS.
tvv (OP)
Legendary
*
Offline Offline

Activity: 1302
Merit: 1005


View Profile WWW
September 26, 2012, 05:19:06 AM
 #9

Во, уже теплее Wink

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

остальные дают куда более значительный рост скорости, не исключено что и 386 станет уже достаточно Wink
SHawk
Sr. Member
****
Offline Offline

Activity: 658
Merit: 250


View Profile
September 26, 2012, 02:45:43 PM
 #10

я так понимаю, тут уже два "потенциально великих математика"?

Написанное в пунктах 1-4 почти полностью бред.
Теоретически, какие-то крохи собрать на этом можно, но, в общем, не удастся поднять быстродействие даже на 10%.


PS. любой лидирующий ноль зависит от ВСЕХ входных бит второго SHA2. Таким образом, для выяснения этого (любого) бита нужно целиком и полностью выполнить первый SHA2. Здесь нет поля для оптимизации. Лучше уж бейтесь над обращением самой функции SHA2. На этом можно заработать значительно больше, чем количество всех нагенеренных биткоинов...
ArsenShnurkov
Legendary
*
Offline Offline

Activity: 1386
Merit: 1000



View Profile
September 26, 2012, 02:49:27 PM
 #11

Теоретически, какие-то крохи собрать на этом можно

кому-то крохи, кому-то хлеб.
SHawk
Sr. Member
****
Offline Offline

Activity: 658
Merit: 250


View Profile
September 26, 2012, 03:32:56 PM
 #12

кстати, пункты 2 и 4 давно реализованы в fpga-майнерах. Пункт 4 - благодаря использованию "midstate", а пункт 2 выполняет сам компилятор автоматически - всю логику, которая не влияет на результат (а результатом считаются только лидирующие нули), компилятор выбрасывает из проекта. Разработчику об этом даже думать не нужно.

Дополнительное веселье вызывает
Quote
программирование FPGA на лету
(кстати, "на лету" и "налету" это разные слова):
Сколько там по-вашему? 92ms? У меня через 60-70ms уже ответ из устройства выходит...
А еще эту прошивку нужно с диска прочитать, а еще и в fpga передать, как правило по небыстрому каналу. А компилировать, если вдруг придется, то это на часы растянется...
ArsenShnurkov
Legendary
*
Offline Offline

Activity: 1386
Merit: 1000



View Profile
September 26, 2012, 03:49:15 PM
 #13

У меня через 60-70ms уже ответ из устройства выходит...

сравнение котлет с устрицами. В вычисление блока Вами за 60-70ms как-то не верю, а одной шарой больше, одной меньше -
может лучше "пол дня тренироваться, а потом за полчаса долететь".

компилировать, если вдруг придется, то это на часы растянется...

Это если компилятор неспециализированный. Кстати, что он там такое трудоемкое вычисляет?

Веселье вызывает

Если бы Вы написали популяризирующую статью как Советский Ученый - никаких бы претензий к Вам не было.
А так приходится разжигать ненависть к вашей социальной группе буржуазных морд (чё-то у меня перегибы пошли, из-за вас всё)

Кстати, btcsec.com предлагает по 3 BTC за статью.
tvv (OP)
Legendary
*
Offline Offline

Activity: 1302
Merit: 1005


View Profile WWW
September 26, 2012, 04:36:09 PM
 #14

я так понимаю, тут уже два "потенциально великих математика"?

Написанное в пунктах 1-4 почти полностью бред.
Теоретически, какие-то крохи собрать на этом можно, но, в общем, не удастся поднять быстродействие даже на 10%.


PS. любой лидирующий ноль зависит от ВСЕХ входных бит второго SHA2. Таким образом, для выяснения этого (любого) бита нужно целиком и полностью выполнить первый SHA2. Здесь нет поля для оптимизации. Лучше уж бейтесь над обращением самой функции SHA2. На этом можно заработать значительно больше, чем количество всех нагенеренных биткоинов...


во, сразу видно как думают не хакеры и не математики Wink)

Вот у меня например как тока узнал что там двойной SHA сразу-же первая мысль "а не дырка ли это?.." Wink

К тому-же судя по всему вы еще и с аналитическими преобразованиями совсем не дружите(а я аналитик Smiley )

Итого:

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

2  Возникают коды, которых быть не может вообще - их можно вычислить и не тратить время на перебор

3  Даже 10% это не мало - если это например будет 10% от всего пула, в карман...


PS  но похоже двойной SHA таки сработал, да Wink
naima53
Hero Member
*****
Offline Offline

Activity: 616
Merit: 502



View Profile
September 26, 2012, 04:36:22 PM
 #15

Если вы тут такие крутые матеметики, то скжите свое мнение на счет этого... https://bitcointalk.org/index.php?topic=92423.msg1190132#msg1190132 и ниже... Я тоже заметил странную закономерность когда таблицы делал для брутфорсера...  Undecided

Donate me) 16f6iWHHkVEnDReeBQPT9GwCNwUfPTXrp2
SHawk
Sr. Member
****
Offline Offline

Activity: 658
Merit: 250


View Profile
September 26, 2012, 06:19:20 PM
 #16


во, сразу видно как думают не хакеры и не математики Wink)

Вот у меня например как тока узнал что там двойной SHA сразу-же первая мысль "а не дырка ли это?.." Wink

Очень жаль, что эта мысль (единственная, похоже), возникнув так и повисла в воздухе. Настоящий математик сам себе бы на этот вопрос смог бы ответить Smiley



К тому-же судя по всему вы еще и с аналитическими преобразованиями совсем не дружите(а я аналитик Smiley )


А я криптоаналитик. И че?
tvv (OP)
Legendary
*
Offline Offline

Activity: 1302
Merit: 1005


View Profile WWW
September 26, 2012, 06:37:09 PM
 #17

Двойная функция хоть и не сильно, но снижает криптостойкость. 

К тому-же это еще от структуры полинома зависит - может и сильно снижать.
tvv (OP)
Legendary
*
Offline Offline

Activity: 1302
Merit: 1005


View Profile WWW
September 26, 2012, 06:39:15 PM
 #18

А я криптоаналитик. И че?

а я папа римский Wink

PS  хочешь сказать что обходишься без аналитической формы SHA, или издеваешься просто?
Какие программы знаешь для аналитических преобразований?
newminer7950
Full Member
***
Offline Offline

Activity: 124
Merit: 100


View Profile
September 26, 2012, 08:25:39 PM
 #19

Я наверное недопонимаю, но я думал что пошагово SHA256 описан в википедии ?

Donations: 1BKA3FsvrZzznSJueXbx3qokHYqmwe9QQC
SHawk
Sr. Member
****
Offline Offline

Activity: 658
Merit: 250


View Profile
September 26, 2012, 08:31:17 PM
 #20

Слышишь, аналитик-папа римский, я достаточно много ответов дал на твои вопросы. Ты же способен только задавать вопросы. Ни одного ответа или аргументированного "аналитического" утверждения от тебя не прозвучало. Так что тебе нужно доказывать, что ты аналитик, а не окружающим...

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

Pages: [1] 2 3 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!