All streams
Search
Write a publication
Pull to refresh
4
0
Andrey Breeze @security

User

Send message
Молодец! Нечто подобное было на конференции Adobe, и там подобная технология вызвала фурор: www.gizmag.com/official-adobe-deblur-video/20185/

p.s. Мы круче дельцов из кремниевой долины :)
Здесь можно долго философствовать :)
Правильно ли я понимаю, что мы говорим о том творчестве, где фигурирует фраза «Тогда оставайтесь в жопе»? Скажу откровенно, лично я не считаю, что я «в жопе».
Не используйте MD5 для хеширования паролей.
Но комментарий Вы ведь уже написали. В идеале, с разумной точки зрения, конечно, этот шаг следует уже после прочтения статьи.
Минусуют не за «Лебедева с факом». Минусуют за глупость. И этот его «фак» намекает на недалекость рассудка упомянутого индивида.

В статье рассказаны интересные вещи, а лично для меня и неизвестные доселе. Размещать здесь намек на известный детородный орган, IMHO, было бы как минимум неуместно.
Господа, а какой вывод из всей этой истории? Кому выгодно в итоге? Cui prodest?

— конкурентам? (на мой взгляд маловероятно, поскольку неинтересно и крайне очевидно)
— блоггеру? (самопиар, но блоггер в итоге он выставил себя совсем не в лучшем свете)
— самсунгу? (мне кажется наиболее подходящим вариантом… эдакое проявление «востойной мудрости» и смекалки)
После того, как я удалил со своего Samsung'а весь на самом деле ненужный шлак, который был установлен мной же на радостях после покупки обозначенного девайса, работать он стал как часы.
ZX Spectrum :) До сих пор помню визг магнитофона…
Взаимно :) Просто знаю лично, поэтому по имени.
Мои поздравления, Борис
Алексей, вопросами сертификации в конкретных странах из принципа не интересуюсь. У меня характер космополита и поэтому в вопросах разработки я привык доверять мировому опыту в первую очередь.

Думаю, на местах, это скорее правовые и организационные вопросы, на которые лучше ответят юристы.
Вопрос терминологии очень часто метит на звание «камня преткновения» в IT-среде. Но, к счастью, достигнуть этого у него не удается, поскольку понимаем мы друг друга зачастую с полуслова :) Контекст всё же первичен, а форма представления вторична.

В вопросе шифрации/шифрования я исхожу из следующей логики:

«шифрация» — как процесс (as process) — произвести шифрацию входящих данных;
«шифрование» — как возможность (as aptitude) — эта программа использует шифрование по алгоритму XXL.

По аналогии с «врач сейчас проводит «операцию» и «этот врач может «оперировать».

Если относительно дешифрации/взлома/расшифрования — то любой процесс получения plain-text из зашифрованного — это в принципе так или иначе процесс дешифрации (расшифрования как. Просто, если это было сделано без полного ключа, то это еще и «взлом».

Но, как Вы правильно заметили ниже, «хоть горшком назови, только в печь не сажай» (:
Природная скромность не позволяет ^^

Да и к тому же, на Википедии есть уже статья, посвященная алгоритму Blowfish, которая, как мне кажется, вполне дает понять что из себя представляет данный алгоритм. Не так подробно как здесь, конечно, но всё же. Единственное, наверное, имеет смысл разместить там ссылку на эту страницу, для тех, кто хочет узнать более подробно по этой теме.

А так, Хабрахабр ведь тоже своего рода свободная энциклопедия…
Спасибо. AES в планах (:
Со слов Брюса Шнайера:

Ограничение размера ключа в 448 бит было сделано для достижения гарантии того, что каждый бит каждого под-ключа (имеются в виду раундовые ключи и элементы матрицы подстановки) непосредственно зависит от каждого бита исходного ключа (в целом), поскольку использование совокупности ключей P15, P16, P17 и P18 не оказывает влияние на каждый бит зашифрованного текста.
Хорошо. Жаль только, что там нет схемы Фейстеля для процесса расшифровки.
p.s. Имеется в виду, что функция F — линейная, и в процессе шифрации, и в процессе дешифрации ее задача одна и та же и принцип работы не меняется. Что касаемо самого алоритма, то в случае дешифрации меняется порядок использования ключей. Просто проследите за логикой работы на схемах шифрации/дешифрации, которая приведена в статье.
Функция F в обратную сторону не работает (: Это раундовые ключи местами меняются.
Да, так и есть. Запутали меня (:

013E1400   > 8BC7           MOV EAX,EDI
013E1402   . 2305 44303E01  AND EAX,DWORD PTR DS:[13E3044]
013E1408   . 8BE9           MOV EBP,ECX
013E140A   . 232D 40303E01  AND EBP,DWORD PTR DS:[13E3040]
013E1410   . 33C5           XOR EAX,EBP
013E1412   . 8BEA           MOV EBP,EDX
013E1414   . 232D 3C303E01  AND EBP,DWORD PTR DS:[13E303C]
013E141A   . 33C5           XOR EAX,EBP
013E141C   . 8BEE           MOV EBP,ESI
013E141E   . 232D 38303E01  AND EBP,DWORD PTR DS:[13E3038]

Похоже, использование таблиц в данном случае эффективнее.

Кстати, вот тоже работающий вариант не использующий XOR в принципе (:
(правда медленный):

.data
  SH_ dq 0FFFFFFFFFFFFFFFFh ; Sequence[127-64]
  SL_ dq 0FFFFFFFFFFFFFFFFh ;         [63-0]
  MH_ dq 00000000000000000h ; Mask[127-64] taps: 128,126,101,99
  ML_ dq 00000000028000005h ;     [63-0]
  RR_ dd 0001FFFE0h         ; Amount of rounds

  _55 dq 05555555555555555h
  _33 dq 03333333333333333h
  _0F dq 00F0F0F0F0F0F0F0Fh
  _FF dq 000FF00FF00FF00FFh

.code
  ; Initialize MMX registers
  movq mm(inRSH),SH_
  movq mm(inRSL),SL_
  movq mm(inRMH),MH_
  movq mm(inRML),ML_

  mov ecx, RR_
l1:
  ; Apply LFSR mask
  movq mm(inRTmpH),mm(inRSH)
  pand mm(inRTmpH),mm(inRMH)
  movq mm(inRTmpL),mm(inRSL)
  pand mm(inRTmpL),mm(inRML)

  ; Calculate new bit
  movq mm(inRTmp),mm(inRTmpH)
  movq mm(inRTmpH),mm(inRTmpL)
  psrlw mm(inRTmpH),01h
  pand mm(inRTmpH),_55
  pand mm(inRTmpL),_55
  paddw mm(inRTmpL),mm(inRTmpH)
  movq mm(inRTmpH),mm(inRTmpL)
  psrlw mm(inRTmpH),02h
  pand mm(inRTmpH),_33
  pand mm(inRTmpL),_33
  paddw mm(inRTmpL),mm(inRTmpH)
  movq mm(inRTmpH),mm(inRTmpL)
  psrlw mm(inRTmpH),04h
  pand mm(inRTmpH),_0F
  pand mm(inRTmpL),_0F
  paddw mm(inRTmpL),mm(inRTmpH)
  movq mm(inRTmpH),mm(inRTmpL)
  psrlw mm(inRTmpH),08h
  pand mm(inRTmpH),_FF
  pand mm(inRTmpL),_FF
  paddw mm(inRTmpL),mm(inRTmpH)
  movq mm(inRTmpH),mm(inRTmpL)
  psllq mm(inRTmpL),020h
  paddd mm(inRTmpH),mm(inRTmpL)
  movq mm(inRTmpL),mm(inRTmpH)
  psllq mm(inRTmpL),010h
  paddw mm(inRTmpH),mm(inRTmpL)
  psllq mm(inRTmpH),0Fh
  movq mm(inRTmpL),mm(inRTmp)
  movq mm(inRTmp),mm(inRTmpH)
  movq mm(inRTmpH),mm(inRTmpL)
  psrlw mm(inRTmpH),01h
  pand mm(inRTmpH),_55
  pand mm(inRTmpL),_55
  paddw mm(inRTmpL),mm(inRTmpH)
  movq mm(inRTmpH),mm(inRTmpL)
  psrlw mm(inRTmpH),02h
  pand mm(inRTmpH),_33
  pand mm(inRTmpL),_33
  paddw mm(inRTmpL),mm(inRTmpH)
  movq mm(inRTmpH),mm(inRTmpL)
  psrlw mm(inRTmpH),04h
  pand mm(inRTmpH),_0F
  pand mm(inRTmpL),_0F
  paddw mm(inRTmpL),mm(inRTmpH)
  movq mm(inRTmpH),mm(inRTmpL)
  psrlw mm(inRTmpH),08h
  pand mm(inRTmpH),_FF
  pand mm(inRTmpL),_FF
  paddw mm(inRTmpL),mm(inRTmpH)
  movq mm(inRTmpH),mm(inRTmpL)
  psllq mm(inRTmpL),020h
  paddd mm(inRTmpH),mm(inRTmpL)
  movq mm(inRTmpL),mm(inRTmpH)
  psllq mm(inRTmpL),010h
  paddw mm(inRTmpH),mm(inRTmpL)
  psllq mm(inRTmpH),0Fh
  paddw mm(inRTmpH),mm(inRTmp)
  psrlq mm(inRTmpH),03Fh
  psllq mm(inRTmpH),03Fh

  ; Append new bit
  psrlq mm(inRSL),01h
  movq mm(inRTmp),mm(inRSH)
  psllq mm(inRTmp),03Fh
  por mm(inRSL),mm(inRTmp)
  psrlq mm(inRSH),01h
  por mm(inRSH),mm(inRTmpH)

Information

Rating
Does not participate
Date of birth
Registered
Activity