1

コードを生成するために使用されるアルゴリズムをどのように特定しますか? 一般的なオープン ソースのアルゴリズムと、より難しいカスタムの非公開アルゴリズムの両方ですか? たとえば、ここにサンプルがあります...

x3vbhzcouy
g3zy453f4
srix1gtvri
3ewnubic5vz
4bu9ksba6yj
r1u3rxfd82n
fs30bew9eq
b8gr8w5f3
tz6t998ulr
ycd1zued
oizyviwv
7w6eownv0
s15zxpid9uoo
u8is4ulxm
bqg0c50luq
pqpwn6ty3

このようなコードを生成するために使用されるアルゴリズムを特定し、同じアルゴリズムを使用して独自のコードを生成できるようにするにはどうすればよいでしょうか??

4

7 に答える 7

1

簡単ではない。コードを読み取るプログラムがある場合は、プログラムがどのように機能するかを理解しようとすることができます。これにより、プログラムが必要とするコードを作成する方法の手がかりが得られます。ここを参照してください。

コードを持っているだけで、コードを読み取るプログラムを持っていない場合は、暗号化に取り組んでいます。

最悪の場合、それらは単なるランダムな一連のバイトであり、独自のバイトを作成する望みはありません。これは、イベントのチケットを購入した場合に得られるもので、コードが記載されています。このコードは、チケットを販売したシステムによって記録されるため、チケットを検証できます。独自のチケットを作成する唯一の方法は、データをランダムに生成することです。運が良ければ幸いです。(または、無限の数を生成します。最終的には 1 つが正しくなければなりません!)

于 2009-08-13T14:55:59.707 に答える
1

それは簡単ではありません。暗号化されていないサンプルと暗号化されたサンプルがある場合は、いくつかのアルゴリズムをテストして一致を試みることができます。

比較的単純な暗号化アルゴリズムであっても、統計的手法は暗号化手法の決定にはあまり役に立ちません。一部の不適切な実装では、ファイルにヘッダーが含まれている場合があり、これを使用して暗号化手法を判別できます。

暗号化アルゴリズムを (ヒントなしで) 識別する最も効率的な方法は、通常、ファイルを復号化することです。そのためのテクニックは「このホワイト ペーパーの範囲外」ですが、基本的には、ショートカットを使用して、いくつかの一般的な暗号化テクニック (一般的なパスワード、ファイルの小さな部分のテストなど) を使用して一連のパスワードを試すことになります。

于 2009-08-13T14:56:39.973 に答える
1

あなたのサンプルは明らかに、私自身の難しいカスタム未公開アルゴリズムによって生成されたものです。難しすぎてカスタム未公開、名前すら出ない…

于 2009-08-13T14:59:59.843 に答える
1

問題の鍵は、コードが検証される条件を知ることです。コードがランダムに生成され、アクセスできないサード パーティ (たとえば、プリペイド テレフォン カード、オンライン ゲーム用のタイムコード カードなど) によって検証された場合、問題が発生します。

于 2009-08-13T15:02:54.490 に答える
1

コード アルゴリズムを理解することは、大きくて複雑なテーマです。政府の全部門がこの任務に専念しています。

特定のコードを正しく理解するには、そのコードの使用に関する知識が必要です。より具体的な知識を得ることができれば、より良いチャンスを得ることができます。知識には次のようなものがあります。

  • コードの作成者の能力 (暗号化のバックグラウンドを持たない人は、悪用される可能性のある抜け穴を残すことがよくあります)
  • コードで使用されるプラットフォーム
  • コードの作成者の背景 (多くの場合、手がかりは私生活から得られます)
  • エンコードされていないテキストとそれに相当するエンコードされたテキストのサンプル

これらのいずれか/すべてが役立ちます。

何が関係しているかを把握するには、Applied Cryptographyのコピーを見つけるか購入してください。

于 2009-08-13T15:09:35.247 に答える
1

他の人が言うように、知るのは難しいですが、いくつかのヒントについて視覚的な分析を行い、十分な大きさのサンプルを使用して可能性を絞り込み、そこから作業することができます。次に例を示します。

Sample: 16 codes
Alphabet Usage: 0-9, a-z (36 chars)
Length of Codes:

 - 8 = 2 samples, no digits
 - 9 = 5 samples, between 2 and 5 digits
 - 10 = 5 samples, between 0 and 4 digits (we know now that digits shouldn't be relevant)

等々...

コードが暗号化されていると仮定しないでください。たとえば、さまざまなベース (base64 など) または rot13 でエンコードしたり、ある種のチェック ディジット アルゴリズム (Luhn、ISBN、Verhoeff など) で計算したりできます。

于 2009-08-13T15:10:14.013 に答える