最小の違法な(可能性のある)素数を見つける


8

違法素数を有することが違法である情報を符号化する素数である-具体的には、ある場合には、のgzipファイルDeCSSのソースコード解読コピー保護されたDVDへのソフトウェアのピース。

タスクには2つのフェーズがあります。

  1. 可能な限り少ないバイト数でDeCSSを実装するソースファイルをビルドします。これはどの言語でも行うことができます。

  2. このソースファイルを(お気に入りの圧縮アルゴリズムを使用して)圧縮し、素数に達するまで、同じものに解凍される可能性のあるファイルを(ディリクレの定理を使用して)反復します。

実際に素数性を証明するには計算能力が高すぎる可能性があるため、2番目の部分が2〜100未満の確率で「推定素数」テスト(例:Miller-Rabin)に合格するだけで十分です。

プライム確率が最小の人が勝ちます。


open("out.gz", 'wb')代わりに使用する必要がある場合があります。
Joe Z.

1
あなたは私たちが何をすべきかほとんど正確に言った。注文するだけで楽しいところはどこですか?
ugoren 2013

DeCSS自体は、私がサンドボックスで提案した課題そのもので十分ですが、誰も興味を持っていないようです。しかし、それ優れたテストスイートを必要とすることを確認するのは十分に簡単です。ディリクレの定理に関しては、それは同じものに圧縮するファイルとどう関係しているのでしょうか?同じものに解凍する無限の算術シーケンスを持つ圧縮ファイル形式はいくつありますか?
Peter Taylor

2
@PeterTaylor:Wikipediaのエントリ(最初にその情報を取得した場所)によると、gzipファイルに末尾のnull文字を追加すると、解凍時に同じコードが生成されます。有効なgzipファイルがあるとすると、ディリクレの定理は、最後にnull文字を追加し、全体に比較的素数の数値を追加することで、最終的に素数に到達すると述べています。
Joe Z.

1
GNUの実装はエラーを出さない可能性がありますが、その場合、ファイル形式の仕様で定義されているように、準拠する解凍プログラムではありません。テストケースについては、質問に埋め込むのに十分な小ささである必要があり、他人の著作権を侵害してはなりません。
Peter Taylor

回答:


4

Java(約2048ビット)

14951059135011030015480908520726485619103063818476057564660360628799292628035097139943806440612109515246411930476451010075357954683100898936593739762786721583164361680031433048702186473094092210118641364347032899100220949873928633438856732508590863996147513646363328498023218161000104939462296626885931085914071985322044175133733909287366858309877885352980365735019082872958155754848273583139151810812417879417661663044291630490856568568829579704849173609110647303708828534149066778229242936297219753177569833591637704406031011600073082097633261877649625598598670707453831253888534424016277678136396605413799234576729

コードは

void C(int[]s,int[]k){int a=k[0]^s[84]|256,b=k[1]^s[85],c=k[2]^k[3]<<8^k[4]<<16^s[86]^s[87]<<8^s[88]<<16,d=c&7,e=0,f,i=127;for(c=c*2+8-d;++i<2048;e>>=8){e+=S[f=(c>>17^c>>14^c>>13^c>>5)&255]+T[d=Q[b]^R[a]];b=a/2;a=a&1<<8^d;c=c<<8|f;s[i]=P[s[i]]^e&255;}}//!Y

私は、ルックアップテーブルの名前をCSSt1... CSSt5からP...にT、そしてメソッドをからCSSDescrambleに自由に変更しましたC。また、ソースよりも大きなファイルを提供していたため、gzipステップも破棄しました。


Ballie-PSWに合格。また、私はあなたの好きな圧縮アルゴリズムが何であることを理解していますNoneか?;)
プリモ2014年

2
@primo、私のお気に入りの圧縮アルゴリズムは状況依存型です。つまり、入力データの結果が最小になるものです。;)
ピーターテイラー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.