DST40トランスポンダヌ操䜜の原理、出珟ずハッキングの歎史、および少しのブルヌトフォヌスプラクティス

むかしむかし、前䞖玀の90幎代に、成長を続ける自動車垂堎では、深刻な盗難防止システム以䞋、むモビラむザヌず呌びたすが切実に必芁でした。 圓時の自動車泥棒にずっおは、キヌを機械的にコピヌしたり、キヌをたったく䜿甚せずに゚ンゞンを始動したりするための特別な障害はありたせんでした。 ゚ンゞンを始動するプロセスをさらに耇雑にし、ネむティブのむグニッションキヌなしで車をさらに盗むこずができるむモビラむザヌが必芁でした。



その時、コンパクトな無線モゞュヌル以䞋、トランスポンダヌず呌びたすを䜜成するずいうアむデアが浮かびたした。これは、車のむグニッションキヌに盎接組み蟌たれたした。 車には、むモビラむザヌが蚭眮され、無線チャネルを介しおトランスポンダヌず通信したした。 むモビラむザヌはトランスポンダヌにリク゚ストを送信し、トランスポンダヌは特定のコヌドで応答したしたが、それなしではむモビラむザヌぱンゞンの始動を蚱可したせんでした。 ただし、最初はトランスポンダヌはただかなり原始的で、デバむスを比范的簡単に耇補できたした。 亀換アルゎリズムを理解し、トランスポンダの応答をシミュレヌトするには、肩にラゞオむンタヌセプタヌずラむトヘッドがあれば十分です。 むモビラむザヌずトランスポンダヌ間の通信アルゎリズムの根本的な倉曎が必芁でした。



今日は、これらのアルゎリズムのいずれかの出珟ずその埌のハッキングの歎史、および秘密暗号化キヌのブルヌトフォヌスプロセスの実際の詳现に぀いお説明したす。



さらに、必芁に応じお詳现に調べるこずができるように、すべおの写真をクリックできたす。



パヌト1ネむティブアメリカンゞョヌ



そのため、需芁は䟛絊を生み出したす。デヌタを無線で送信するプロセスで暗号化を䜿甚するシステムが埐々に垂堎に登堎し始めたした。 実際、これらのシステムは、鍵の所有者をワむダレスで識別するプロセスを実行したした。 同時に、トランスポンダヌに保存された秘密鍵はどのような圢匏でもブロヌドキャストされたせんでしたが、むモビラむザヌから受信した芁求の暗号化「眲名」に䜿甚されたした。 これらのシステムの1぀は、テキサスむンスツルメンツの゚ンゞニアによっお開発されたした。 圌らが開発したトランスポンダヌは、 デゞタル眲名トランスポンダヌ DSTず略されたすず呌ばれおいたした。



DSTトランスポンダヌは非垞に小型であるこずが刀明したため、自動車のむグニッションキヌやキヌチェヌンなど、問題なくさたざたなコンパクトトヌクンに統合できたした。 䞊の写真では、ブレヌドの近くのハンドルに、トランスポンダヌがキヌの内偎に配眮されおいるプラ​​グで閉じられた穎がありたす。 そしお、その蚭蚈でハッシュスキヌムを䜿甚するず、無線スニッフィングプロセスが完党に圹に立たなくなりたしたしばらくの間-しかし、埌でさらに。 。



トランスポンダヌは、次の䞻芁コンポヌネントで構成されおいたす。





トランスポンダヌは、プログラマヌに盎接接続するこずなく、無線でプログラムされたす。 ほずんどすべおの情報を䞊曞きできたすが、曞き蟌み保護ビットが蚭定されおいない堎合のみです。 蚘録されたトランスポンダヌは、远加のデバむスを䜿甚せずにベヌスステヌションに簡単にリンクできたす前提条件は、トランスポンダヌずベヌスステヌションのメヌカヌIDの䞀臎です。



ワむダレス認蚌システム党䜓のアルゎリズムは次のずおりです。





開発゚ンゞニアの考慮事項が䜕に基づいおいるのかは明確ではありたせんが、事実は残っおいたすハッシュプロセスで䜿甚される暗号化キヌの長さはわずか40ビットですこれが、アルゎリズムがDST40ず呌ばれた理由です。 最新の芳点から芋るず、このような暗号化キヌの長さは、少なくずもある皋床のセキュリティを確保するには完党に䞍十分です。 しかし、圓時、開発゚ンゞニアはそうは思わなかったようです。 さらに、DST40アルゎリズムは完党に独自仕様であり、最も厳栌な非開瀺サブスクリプションの䞋でのみメヌカヌに開瀺されたす。



長い間、アルゎリズムは途切れなかったため、将来、トランスポンダヌの安党性に察するメヌカヌの信頌はさらに高たりたした。



その結果、DST40トランスポンダヌは非垞に人気がありたす。 それらは、倚くの倧手自動車䌚瀟たずえば、トペタ、フォヌド、リンカヌン、日産などに採甚されたした。 むモビラむザヌがDST40トランスポンダヌを䜿甚する䜕癟䞇台もの車が、米囜垂堎だけでなく、米囜から車を積極的に茞入しおいる他の囜の垂堎にも埐々に殺到したした。 さらに、これらのトランスポンダヌは、 米囜のさたざたなファヌストフヌド、スヌパヌマヌケット、レストラン、ガ゜リンスタンドを急速に獲埗しおいるSpeedPass非接觊型決枈システムでも䜿甚され始めたした。



パヌト2そしお雷が襲いたした



誰もが、むンドのゞョヌが誰も圌を必芁ずしない瞬間たでずらえどころのないたたであるこずを長い間知っおいたした。 したがっお、このストヌリヌでは、DST40アルゎリズムは、若くお元気な人たちがそれを取り䞊げるたで途切れるこずはありたせんでした。



2004幎に起こりたした。 その時たでに、DST40アルゎリズムの堅牢性に察するテキサスむンスツルメンツの゚ンゞニアの自信は非垞に倧きくなり、圌らは単に誇りず、少なくずもその成果を誰ずでも共有したいずいう思いで砎裂しおいたした。 そしお、圌らは䌚瀟のドむツ郚門の埓業員の䞀人であるりルリッヒ・カむザヌ博士を第4回AES䌚議に掟遣し、DST40に関する小さな抂芁報告曞を送るこずにしたした。 このレポヌトは、むンディアンゞョヌの終わりの始たりでした。



実際、この䌚議には暗号化の専門家、ゞョンズホプキンス倧孊情報セキュリティ倧孊米囜の教授であるAviel D. Rubin教授が出垭したした。 アルゎリズムの䞀般的なスキヌムを䞀目芋ただけで、深刻なセキュリティホヌルを芋぀けるこずができたした。 これはこの図がどのように芋えるかです





スキヌムは非垞に䞀般的であり、倚くの埮劙な詳现が欠けおいたずいう事実にもかかわらず、経隓豊富な暗号䜜成者の蚓緎された目はすぐにいく぀かの脆匱性に気づきたしたたず、暗号化キヌずリク゚スト/レスポンスレゞスタが各クロックサむクルで最小限の修正を受けたこずほんの少しで。 第二に、れロのみで構成される「匱い」暗号化キヌがあるこずは明らかでした-ハッシュ凊理䞭、最埌たでれロのたたになりたす。 これにより、トランスポンダヌの内郚構造を明らかにできるさたざたな暗号解析実隓を行う可胜性が開かれたした。 そしお第䞉に、キヌの長さはわずか40ビットであり、2004幎の芏栌では、ハヌドりェアを䜿甚しお実行されるブルヌトフォヌスに耐えるには完党に䞍十分でした。



もちろん、Evieは、そのようなデバむスの生産においお重芁なセグメントを占める倧䌁業は、単に蚀葉だけではアルゎリズムの匱点ず脆匱性を確信できないこずを理解しおいたした。 その埌、圌はDST40をハッキングしお実践するずいうアむデアを思い付きたした。これが最も説埗力のある議論です。 たず、圌は数人の倧孊生のチヌムを線成するこずにしたした。 圌は、このビゞネスを行うこずを提案した最も粟力的で有胜な人を遞択したしたアルゎリズムを掘り䞋げるず同時に、暗号化ず暗号解読の理論的知識ず実践的スキルを匷化したす。 そのため、チヌムが誕生したした䞊写真の巊から右ぞ Adam Stubblefield 、 Aviel D. Rubin 、Stephen C. Bono、Matthew Green 。



次のステップは、TIシリヌズ2000開発キット-Texas InstrumentsのLF RFIDの買収でした。 このセットには、トランスポンダヌおよびいく぀かのトランスポンダヌず通信するためのトランシヌバヌが含たれおいたしたが、DST40アルゎリズムを䜿甚しお暗号化を実行しなかったため、これらはたったく圹に立ちたせんでした。 そのため、連䞭はトランスポンダヌを個別に入手する必芁がありたした。



ちなみに、この開発キットには、DST40アルゎリズムを䜿甚した暗号化を可胜にする゜フトりェアも含たれおいたした。 しかし、圌らは埌にUSENIXシンポゞりムに出垭する党員を保蚌するこずを誓ったため、ラむセンス契玄で犁止されおいるため、プロプラむ゚タリアルゎリズムの柔らかいピンク色のボディに到達するためにプログラムコヌドを分解およびデバッグしたせんでした。



代わりに、圌らはハッキングに「予枬」たたは「ブラックボックス」方匏を䜿甚するこずにしたした。 簡単に蚀えば、圌らはさたざたな実隓を行い、異なる暗号化キヌをトランスポンダヌに曞き蟌み、異なる芁求を送信し、それらから埗られたハッシュ結果を調査し始めたした。



Kaiserスキヌムから、暗号化スキヌムの基瀎は、固定真理倀衚を持぀論理芁玠䞊の他の暗号化アルゎリズムで広く䜿甚されおいるFeistelネットワヌクであるこずがわかりたした。 アルゎリズムを完党に解読するには、3぀の問題を解決する必芁がありたした。





実斜されおいる実隓の詳现には觊れたせん。2005幎にボルチモアで開催された第14回USENIXセキュリティシンポゞりムで䞀般公開されたこのドキュメントで 、興味のある人は誰でもこのドキュメントを芋るこずができたす。



その結果、3人が問題をすべお解決し、DST40暗号化モゞュヌルに含たれる機胜ブロックの完党な接続図これらのブロックの真理倀衚を含むを埩元できたず蚀えたす。 さらに、実際の機胜スキヌムは、カむザヌスキヌムず完党に䞀臎しおいないこずが刀明したこずに泚意しおください。 いく぀かの違いがありたした。





たた、暗号化キヌを倉曎するためのアルゎリズムを芋぀けるこずができたした。キヌは、2番目から3番目の枬定ごずに倉曎されたす。



それだけでなく、結果のハッシュはトランスポンダヌによっお゚ヌテルに送信されないこずが刀明したした。40ビットすべおではなく、そのうちの24ビットだけです。 この結果、暗号化キヌのすべおの可胜な組み合わせをさらに列挙する際に、倚数の誀った結果が衚瀺されたす。 ただし、これはそれほど倧きな問題にはなりたせんでした。次のキヌを再床確認するのに十分でしたが、異なるリク゚スト/レスポンスのペアを䜿甚したした。 2番目のチェックでも䞀臎した堎合、キヌは芋぀かったず芋なされたす。



さらに、FPGA XILINXを搭茉したボヌドをベヌスにしたハヌドりェアキヌブルヌトフォヌサヌを開発したしたが、コストは200ドル匱でした。 このFPGAのチップには、100 MHzの呚波数で同期動䜜する32個のハッシュコアを配眮するこずができたした。 各コアは、暗号化キヌのサブ範囲を敎理したした。 理想的には、このようなボヌドの1぀で玄19時間の操䜜でキヌの党範囲を敎理する必芁がありたす 2 40 x200/100x10 6 x32x3600= 19.09時間。 しかし実際には、時間の䞀郚はオヌバヌヘッドに費やされたした-コンピュヌタヌからのコマンドの取埗。 したがっお、完党な怜玢には玄21時間かかりたした。 怜玢プロセスを高速化するために、同じボヌドをさらに15個賌入したした。 それらのそれぞれで、32個の同じコアをプログラムし、1぀のネットワヌク内でボヌドを互いに組み合わせた結果、512個の䞊列コアのクラスタヌを受け取りたした。 この堎合、各コアは最倧2 40/512 = 2 31フルハッシュサむクルを完了する必芁がありたした。 このクラスタヌは、1時間半でタスクを完了したした。



最初の実隓りサギは、たさにそのようなトランスポンダヌを備えた2005幎のFord Escape SUV車の点火キヌでした。 開発者のキットを䜿甚しお、2぀のランダムな芁求がキヌに送信され、2぀の察応する応答が受信されたした。 これらの2組の芁求/応答は、怜玢を開始する前にブルヌトフォヌス匷制に送信される゜ヌスデヌタになりたした。 怜玢の開始から1時間以内に、秘密鍵が正垞に芋぀かりたした。



次のステップは、このトランスポンダヌのシミュレヌタヌの補造でした。このシミュレヌタヌを䜿甚しお、この車を始動できたした。 トランシヌバヌボヌドがむンストヌルされ、このボヌドに倖郚ア​​ンテナが接続された、コンパクトなパヌ゜ナルコンピュヌタヌがベヌスになりたした。 すべおの鉄の自埋的な電源䟛絊を確保するために、UPSに远加のバッテリヌナニットを接続しお䜿甚したした。 コンピュヌタヌでプログラムが起動され、むモビラむザヌからの芁求を埅っおいる間にトランシヌバヌを介しおリッスンしたした。 そのようなリク゚ストを受信するず、プログラムはそれをハッシュし、結果を空䞭に送り返したした。 車の゚ンゞンを始動するために、トランスポンダヌを含たないむグニッションキヌの機械的なコピヌが䜿甚されたした。



以䞋のビデオでは、AdamずMatthewがシミュレヌタを䜿甚しお゚ンゞンを起動するプロセスを瀺しおいたす。







次に、このシミュレヌタを䜿甚しお、SpeedPass支払いシステムを備えたガ゜リンスタンドでガ゜リンを賌入したした。







これらすべおの実隓が正垞に完了した埌、受け取った情報を公開するこずが決定されたした。 圓時、EvieはUSENIX協䌚の理事䌚のメンバヌでした。したがっお、次のUSENIXセキュリティシンポゞりムでのこの情報の公開は論理的な決定になりたした。



しかし、支払いシステムの急速な厩壊を防ぎ、泥棒にむモビラむザヌに簡単に䟵入するためのツヌルを提䟛しないために、圌らはすべおの情報を公開したせんでした。 たずえば、最終的なハッシュ関数図は公開されおいたせん。 圌らが圌らの蚀葉の信of性の確認ずしお提䟛した唯䞀のものは、キヌハッシュアルゎリズムずFeistelネットワヌクを構成する機胜芁玠の真理倀衚を蚘述する公匏です。 これは、テキサスむンスツルメンツの゚ンゞニアがDST40アルゎリズムの完党な倱敗を実珟するのに十分なものでした。



パヌト3しかし、それから利益を埗るこずができたすか



2009幎でした。 匷さを増しおいる危機の波は、倧声で地球に沿っお転がっおいたした。 スティヌブずゞョンずいう2人の人々は、盞察的に収入を皌ぐための遞択肢を積極的に探しおいたした。 DST40トランスポンダヌをハッキングするこずに぀いおのセンセヌショナルな物語は、圌らにこれで少しお金を皌ぐこずができるず考えるように促したした。 アむデアは、同様のむモビラむザヌを装備した車の所有者にリモヌト゚ンゞンスタヌトシステムのむンストヌルを提䟛するこずでした。 圓時、同様のシステムがすでに存圚しおいたしたが、それらのすべおが1台の車のキヌを犠牲にする必芁がありたした。それはリモヌトスタヌトデバむスのすぐ近くのキャビンに配眮する必芁がありたした。 これにより、むモビラむザヌの䜿甚が䞀切意味を倱い、車の所有者が車に別のアラヌムを取り付けるこずを䜙儀なくされたこずは明らかです。 この堎合、車の所有者はこれらの欠点のないシステムを提䟛されたした。むグニッションキヌ自䜓をシミュレヌトするず想定され、゚ンゞンを遠隔始動するコマンドが受信されたずきにのみこれを行いたす。



スティヌブずゞョンは仕事に取りかかり、USENIXシンポゞりムで公開されたドキュメントを研究し、ハッシュメカニズムを芋぀けたした。 圌らの努力の結果、そのようなスキヌムは、䞊蚘の文曞の14ペヌゞに公開された公匏に完党に準拠するようになりたした





次に、2぀のデザむンを䜜成したした。



それらの最初はDST40トランスポンダヌプログラマヌでした。 車のむモビラむザヌのように、トランスポンダヌからオヌプン情報を読み取り、トランスポンダヌにリク゚ストを送信し、ハッシュ結果を受信できたす。たた、暗号化キヌずずもにトランスポンダヌにオヌプン情報を曞き蟌むこずもできたした。 プログラマヌを䜿甚しお、2005トペタカムリからむグニッションキヌの2぀の芁求/応答ペアを受け取りたした。



2番目の蚭蚈は、Xilinx Spartan 3E FPGAチップに基づいお構築されたブルヌトフォヌス゚ンゞンでした。 ブルヌトフォヌサヌは、ブルヌトフォヌスメ゜ッドがトランスポンダヌに保存された暗号化キヌを芋぀けるこずを可胜にしたした。 これを行うために、ブルヌトフォヌスの入力には、芁求/応答ず暗号化キヌの2぀の組み合わせの圢匏で初期デヌタが提䟛され、そこから怜玢を開始する必芁がありたした。 ブルヌトフォヌスは135メガヘルツの呚波数で動䜜し、FPGAチップ䞊に32個のハッシュコアを含み、玄14時間ですべおの組み合わせの完党な列挙を実行したした。



結果は、率盎に蚀っお、勇気づけられるものではありたせんでした。匷匕な劎働者が仕事をしたずきに数時間埅぀のは、ずおも楜しい経隓ではありたせんでした。 そのため、スティヌブずゞョンは、トペタの䞭倮コンピュヌタヌずむモビラむザヌナニットの間のデヌタ転送の別の領域に目を向けたした。 小芏暡な怜査ずいく぀かのテストを実斜した埌、このサむトは送信デヌタのマスキングはある皋床ありたすが、非垞に原始的であるため、把握しおデバむスをこの領域の隙間に導入するこずは難しくありたせんでした。 デバむスがスタンバむモヌドで動䜜しおいる間、コンピュヌタヌからむモビラむザヌにデヌタを送信し、それ自䜓でデヌタを送り返したした。 リモヌト゚ンゞンプラントぞのコマンドを受信するず、むモビラむザヌをオフにし、むモビラむザヌからの肯定的な応答をシミュレヌトしお、コンピュヌタヌずの通信を開始したした。 そしお、このプロセス党䜓で最も重芁なこずは、むモビラむザヌの応答がコンピュヌタヌの芁求のみに䟝存するこずでした。 むグニッションキヌは必芁ありたせんでした。



プログラマヌおよびブルヌトフォヌスフォワヌダヌは、請求されたせんでした。



パヌト4玔粋にスポヌツの興味



䞊蚘のむベントからさらに数幎が経ち、ある日、 DE0-Nano-SoCボヌドが私の手に萜ちたした。 圌女の心臓郚はアルテラCyclone V SE 5CSEMA4U23C6Nチップです。 これには、デュアルコアHPSプロセッサハヌドプロセッサシステムARM Cortex-A9および15094アダプティブロゞックモゞュヌルALMを備えたFPGAが含たれおいたす。 ボヌドに含たれおいるメヌカヌは、microSDメモリカヌドに展開されるLinuxを提䟛しおいたす。 これにより、倚くの時間を費やすこずなく、ナヌザヌむンタヌフェむスを簡単に実装できたす。 このデバむスを習埗した埌、DST40トランスポンダヌをハッキングしたずいう話を思い出したした。玔粋にスポヌツに興味がありたした-そのようなデバむスを䜿甚しお、DST40キヌのブルヌトフォヌスで1秒あたりいく぀のハッシュを圧瞮できたすか



スティヌブずゞョンが描いたスキヌムず、トペタキヌから受け取った2組のリク゚スト/レスポンスを手元に眮いお、仕事に取りかかりたした。 最初は、ハッシュコアの数を倧幅に増やす簡単な方法が遞択されたした。このコアの128個がこのボヌドのFPGAクリスタルに収たりたす。





この図には、次のコンポヌネントが衚瀺されたす。





デバむス党䜓の動䜜の近䌌アルゎリズムは次のずおりです。



  1. プログラムはナヌザヌに初期デヌタを芁求したす。トランスポンダヌに送信される2぀の芁求ずトランスポンダヌから受信される2぀の察応する応答、および怜玢を開始する暗号化キヌ。
  2. プログラムは最初の芁求/応答ずキヌをコントロヌルナニットにロヌドし、怜玢プロセスを開始したす。 その埌、制埡ナニットが䞀臎の怜出たたは怜玢䞭のキヌの枯枇を通知するのを埅ちたす。
  3. 制埡ナニットは、すべおのコアの゜ヌスデヌタの入力に芁求/応答およびキヌを蚭定し、それらにハッシュを開始するコマンドを䞎えたす。
  4. 各コアはリク゚ストをハッシュしたす。 これには200クロックサむクルかかりたす。 䜜業の最埌に、各コアはハッシュ結果ず応答を比范し、比范結果を制埡ナニットに送信したす。
  5. コントロヌルナニットは、すべおのコアの結果を評䟡したす。䞀臎するものが芋぀からない堎合、キヌをむンクリメントし、アルゎリズムのステップ3に進みたす。
  6. - , , .
  7. / .
  8. 3 5 . — .
  9. — , . . , .


デザむンのハヌドりェアは、200メガヘルツのクロック呚波数で獲埗しおいたす。結果ずしお、怜玢速床は、128x200x10た6秒/ 200 =1.28億ハッシュ。デバむスは、2時間24分ですべおのオプションの完党な列挙を実行したした。もちろん、これは非垞に良い結果でしたが、それでもそれほど良くはありたせんでした。



次に、怜玢プロセスを高速化するためのいく぀かの手順を説明したす。だから...



最初のステップ


アルゎリズムを最適化するこずから始めたしょう。䞊蚘のハッシュスキヌムをもう䞀床芋おください。ハッシュ結果がリク゚スト/レスポンスレゞスタの䞋䜍24ビットから読み取られるこずがわかりたす。䞊䜍16ビットは䜿甚されたせん。論理的な疑問が生じたす。結果が砎棄される堎合、最埌の8぀の枬定を実行するのはなぜですか回答たったく必芁ありたせん。192クロックサむクルを回路に適甚し、レゞスタの䞊䜍24ビットからハッシュ結果を取埗するだけで十分です。それでは、それをやっおみたしょう。これにより、速床が完党に無料で4向䞊したす。



第二段階


ドキュメントの最埌にある論理芁玠の真理倀衚を芋おみたしょう。



関数Feの真理倀衚をよく芋おください
00000: 0

00001: 0

00010: 1

00011: 1

00100: 0

00101: 0

00110: 1

00111: 1

01000: 0

01001: 0

01010: 0

01011: 0

01100: 1

01101: 1

01110: 1

01111: 1

10000: 1

10001: 1

10010: 1

10011: 1

10100: 0

10101: 0

10110: 0

10111: 0

11000: 1

11001: 1

11010: 0

11011: 0

11100: 1

11101: 1

11110: 0

11111: 0









行がペアで耇補されおいるこずは簡単にわかりたす。 これは、最䞋䜍の入力ビットが結果に圱響せず、損傷なしで砎棄できるこずを意味したす。 すぐに蚀っおやった。



真理倀衚はこの圢匏を取埗したした
0000: 0

0001: 1

0010: 0

0011: 1

0100: 0

0101: 0

0110: 1

0111: 1

1000: 1

1001: 1

1010: 0

1011: 0

1100: 1

1101: 0

1110: 1

1111: 0









これにより、速床が明らかに向䞊するこずはありたせん。 ただし、ご存じのずおり、同期回路の組み合わせロゞックの数を枛らすず、クロック呚波数を䞊げる可胜性にプラスの効果がありたす。



その結果、䞊蚘の倉曎を考慮したカヌネルスキヌムが誕生したしたたた、カりントがれロから始たるようにレゞスタのビットの番号が付け盎されたす-これがより䞀般的です。





第䞉段階


プログラムのルヌプ郚分から最倧速床を取埗しようずするプログラマヌは、「ルヌプ展開」などの最適化方法を䜿甚したす。 これは、ルヌプカりンタヌがN回枛少し、このサむクルで実行される䞀連のコマンドが次々ずN回繰り返されるずいう事実にありたす。 これにより、サむクルカりンタヌメンテナンスチヌムによっお導入される冗長性が削枛されたす。



詊しおみお、この方法を䜿甚したす。192サむクルサむクル党䜓を1本の実線に拡匵したす。 各サむクルの䜜業は前のサむクルの結果にのみ䟝存し、他には䜕も䟝存しないため、このオプションの実装は非垞に可胜です。





このスキヌムでは、「CYCLE N」ずいう名前の各ロゞックブロックには、DST40アルゎリズムで䜿甚されるFeistelネットワヌク党䜓が含たれたす。 論理回路の長さが異垞に長くなり、クロック速床を倧幅に䜎䞋させる必芁があるこずは明らかです。 ただし、このようなスキヌムでは、元々の192番目のメゞャヌごずではなく、各メゞャヌごずに結果が生成されたす。詊しおみる䟡倀がありたす。



そのようなスキヌムを実装しおテストしたす。予想どおり、クロック呚波数を2メガヘルツに䞋げる必芁があり、8コアがほずんど氎晶に収たらないほど倚くのロゞックがありたした。 毎秒1600䞇のハッシュ-これは完党に軜薄です



このアむデアを埋め立お地に捚おたすか たさか スリヌブから匕き抜くこずができる別の切り札がありたす。 コンベアず呌ばれたす。 読者の倚くはパむプラむンに぀いお知っおいるず思いたす。 䞍明な堎合は、Ivan Shevchuk ishevchukずも呌ばれるのすばらしい蚘事で「 FPGAのパむプラむンに関するいく぀かの蚀葉 」でそれらに぀いお読むこずをお勧めしたす。



そのため、論理チェヌンを192個のリンクにカットし、そのゞョむントで2぀の40ビットレゞスタを配眮したす。





コンパむルしたす。 この蚭蚈は、128コアの元の蚭蚈ず同じ呚波数-200メガヘルツで動䜜したした。 しかし、新しい゜ヌスデヌタが各メゞャヌの入力になりたした。 たた、結果は各クロックサむクルクロックサむクル192から開始の回路の出力から削陀されたす。 加速は192倍でした やったヌ しかし、すべおが私たちが望むほどバラ色ではありたせん。 コアスキヌムは非垞に膚最しおいるため、1぀のコアのみが結晶に適合したす。 結果の列挙率は、1秒あたり2億ハッシュでした。



絶望しないでください-劥協点を探したしょう。 結果の図をもう䞀床よく芋おみたしょう。 192リンクのチェヌン党䜓が3リンクの64個の同䞀ブロックで構成されおいるこずが印象的ですブロックの最初のリンクでは、キヌレゞスタは倉曎されず、2番目では-1ビットシフトされ、3番目では再び倉曎されたせん。 スキヌムを倉曎しおみたしょう。これらのブロックを3぀の郚分に分割するレゞスタを削陀したす。 したがっお、チェヌンリンクの数は64に削枛され、各リンクの論理チェヌンの長さは3倍になりたす。 これにより、クロック呚波数を䞋げる必芁が生じたすが、同時に、コアのサむズを倧幅に削枛する必芁がありたす。





そのようなスキヌムを実装し、その結果、結晶䞊に4぀のそのような栞を配眮する機䌚を埗たす。 TimeQuestアナラむザヌでは、この回路を125メガヘルツで実行できたした。 しかし、4぀のコアがあり、スキヌムがサむクルごずに4぀の結果を提䟛するため64番目から開始、合蚈列挙速床は4x125x10 6 = 5億ハッシュ/秒でした。 すでにかなり良いです



第4ステップ


さお、最埌の仕䞊げはオヌバヌクロックです 圌なしではどこにいるのでしょうか 前のステップで埗られた125メガヘルツは、TimeQuestアナラむザヌが誓わない呚波数です。 しかし、Cyclone Vチップの速床にはかなりの「安党マヌゞン」がありたす。 これを利甚しお、回路が間違え始めるたで回路のクロック呚波数を䞊げたす-゜ヌスデヌタの正しい組み合わせで耳をすり抜けたす。 回路の正しい動䜜を評䟡するために、HPSプロセッサのプログラムはテストプログラムに眮き換えられたした各サむクルで、ランダムキヌ/リク゚ストペアを生成し、答えを蚈算し、これらすべおをパむプラむンにロヌドしお、回路を起動したした。 64クロックサむクル埌、回路が䞀臎怜出の成功を報告しなかった堎合、テストは䞍合栌ず芋なされ、回路の呚波数を䞋げる必芁がありたした。 このようにしお、回路が動䜜し続ける限界呚波数である170メガヘルツが芋぀かりたした。 175メガヘルツで、回路が故障し始めたした。 170メガヘルツでは、怜玢速床は4x170x10 6 = 680ミリ秒のハッシュです。 デバむスは、27分以内にキヌのすべおの可胜なオプションの培底的な怜玢に察凊したした。



以䞋は、このブルヌトフォヌスの実際の䜿甚を瀺すビデオです。







パヌト5最終



DE0-Nano-SoCベヌスのブルヌトフォヌサヌの党䜓的な効率は、Eviチヌムによっお構築された512コアクラスタヌの効率を玄90倍蚭蚈は30倍安く、3倍高速であるこずが刀明-珟圚の段階では驚くこずではありたせん。



誰かが゜ヌスを「掘り䞋げ」たい堎合、 ここで行うこずができたす 。 binディレクトリには、FPGAにアップロヌドするためのコンパむルされたファヌムりェア信頌性のためにクロック呚波数は150 MHzに制限されおいたすず、Linuxの䞋でHPSで実行するためのコンパむルされたプログラムがありたす。



それでは、䌑暇を取らせおください すべおの健康ず幞運を ご枅聎ありがずうございたした



All Articles