テキサス・インスツルメンツ署名鍵論争

テキサス・インスツルメンツ署名鍵論争は、テキサス・インスツルメンツ (TI) 社製品ファームウェアのリバースエンジニアリングに関して発生した論争である。
発端.
2009年7月、インターネットフォーラム"United-TI"ユーザーのベンジャミン・ムーディ（Benjamin Moody）は、TI社のグラフ電卓TI-83 シリーズのファームウェアの署名に用いられる、512ビットRSA暗号鍵の素因数を同フォーラム上に投稿した。
ファームウェアの署名鍵が特定されたことにより、ユーザーは特殊な手段を何ら用いることなく、TI社製グラフ電卓のフラッシュメモリに自作のオペレーティングシステムを自由に書き込むことが出来るようになった。素因数分解の実行にあたり、ムーディはMsieveとGGNFSの2種類の実装を用いて一般数体ふるい法を適用し、1.9 GHzで動作するデュアルコアCPUで73日を費やして計算を行った。この事実は、21世紀以降コンピュータハードウェアの性能が大きく向上したことを端的に示してもいる。1999年、同じく512ビットのRSA-155が同じく一般数体ふるい法を用いて破られたが、これは大規模な専門の研究グループがクレイ社のCray C916スーパーコンピュータを用いた上で、年間8000MIPSに及ぶ計算時間を費やした結果得られたものであった。
ムーディの試みに呼応して、インターネットフォーラム"yAronet"上に存在するTI製グラフ電卓の別のユーザーコミュニティが、BOINCを用いて"RSA Lattice Siever"(RSALS)と称する分散コンピューティングプロジェクトを立ち上げ、程なくしてアプリケーションの署名に用いられるもう一つの秘密鍵の素因数分解に成功した。RSALSプロジェクトは、当初の目的であったTI製電卓の秘密鍵解読に成功した後もおよそ3年近く存続し続け、累計400個近くの整数の素因数分解を行ったのち、2012年8月末、同プロジェクトの影響を受けて開始されたNFS@homeに移行した。
法的な対応.
これらの試みに対して、テキサス・インスツルメンツ（TI）社はフォーラムの投稿やユーザーのWebサイトに向けてデジタルミレニアム著作権法に基づくDMCAテイクダウン申請を出し、これを受け取ったユーザーらは、弁護士などに相談することなく、即座に暗号鍵の情報をサイトから削除した。これに続きTI社は、暗号鍵を掲載しているその他の様々なサイトに対してもDMCA通知を送付した。この時対象となったサイトには、United-TI、reddit、さらにはWikipediaも含まれていた。TI社のこうした対応は「ストライサンド効果」を発生させることとなり、かえってWikiLeaks などの数多くのサイトに暗号鍵の情報が掲載されることとなった。
2009年9月、ITニュースサイト記者のダン・グーディン（Dan Goodin）は、TI社による一連の措置を電子フロンティア財団（EFF）に報告し、EFF側もDMCA通知を受け取ったうちの3名に関してプロボノを行うことに決定した。2009年10月13日、EFFはTI社に「当該暗号鍵の公表はDMCAに違反しておらず、TI社は不当表示()の責任を負う可能性がある」として、TI社へ向けて警告する声明を発表した。声明発表後もしばらくの間TI社はDMCA通知を送付し続けていたが、2009年末には送付を停止した。EFFはTI社からDMCA通知を受け取った者のうち、代表して3名へDMCA第512条に基づく対抗通知（counter-notice）を出し、期日までにTI社からの返答が得られなかったため、暗号鍵は再びインターネット上で公開されて良いこととなった。
実際に特定された暗号鍵.
TI-83+ / TI-83+ Silver Editionのオペレーティングシステム署名鍵として用いられたRSA公開鍵のオリジナルの値は、次の通りである。なお、"n"は剰余演算の法として用いられる512ビットの自然数(16進数表記)、"e"は暗号化に用いられる指数。
 n = 82EF4009ED7CAC2A5EE12B5F8E8AD9A0AB9CC9F4F3E44B7E8BF2D57A2F2BEACE
 83424E1CFF0D2A5A7E2E53CB926D61F347DFAA4B35B205B5881CEB40B328E58F
 e = 11
ムーディは"n"を素因数分解し、252ビットの素数"p"と260ビットの素数"q"を得た。これらの値から、秘密鍵として復号に用いられる指数 が直ちに得られる。
 p = B709D3A0CD2FEC08EAFCCF540D8A100BB38E5E091D646ADB7B14D021096FFCD
 q = B7207BD184E0B5A0B89832AA68849B29EDFB03FBA2E8917B176504F08A96246CB
 d = 4D0534BA8BB2BFA0740BFB6562E843C7EC7A58AE351CE11D43438CA239DD9927
 6CD125FEBAEE5D2696579FA3A3958FF4FC54C685EAA91723BC8888F292947BA1
上記の秘密鍵"d"を用いることで、サードパーティ製のオペレーティングシステムにデジタル署名を行うことが可能となった。
"RSA Lattice Siever"プロジェクトにより特定された鍵（TI-73、TI-92+、Voyage 200、 TI-89、TI-89 Titanium、TI-84+ / TI-84 Silver Editionの、オペレーティングシステム電子署名・タイムスタンプ認証に用いられる）は、上記"n"・"p"・"q"・"d"と同種ながら異なる値が用いられていた。タイムスタンプ認証鍵に関しては、単一の値が全モデルで使い回されていた。