特別な何かである


12

では小型暗号化アルゴリズム

ラウンドの対称性に基づく単純な攻撃を防ぐために、異なる定数のマジック定数が使用されます。マジック定数2654435769または9E3779B9 16は、に選択されます。ここで、ϕは黄金比です。232/ϕ

どのプロパティがないそれはこの文脈では、それは有用なものにする必要がありますか?232/ϕ


回答:


11

私の知る限り、そのような「マジック」値には次の2つのプロパティがあります。

  1. それらは何らかの形でユニークで、ランダムに見えます。
  2. 彼らは代数演算に繰り返し参加できます。つまり、特定の操作(乗算や累乗など)を何度も適用した後でも、「マジック」値は新しい値を生成できます。

MD5でも同様のケースが見つかる場合があります。次の行を検討してください。

k[i] := floor(abs(sin(i + 1)) × (2 pow 32))

ここでsin(i + 1)は、マジック値を生成するためのものです。ユニークでランダムに見えるもので、多くので機能しiます。(実際にiは、0..63の範囲)。

編集:TEA元の論文を読むと、「Steven Stadnicki」の回答が正しいことがわかります。マジック定数は名前デルタであることに注意してください。

デルタの異なる倍数が各ラウンドで使用されるため、倍数のビットが頻繁に変更されることはありません。アルゴリズムはデルタの値にあまり敏感でないので、悪い値を避ける必要があるだけです。デルタは切り捨てまたは最も近い丸めでは奇数になるため、合計の桁が確実に変更されるようにするための特別な予防措置は必要ありません。

32の倍数のデルタのみが使用されるため(各ラウンドに1つ)、アルゴリズムが特定のデルタにあまり敏感ではないことは奇妙ではありません。(詳細については、Steven Stadnickiの回答を参照してください。)

編集2:ちなみに、MD4は2(0x5a827999)と3(0x6ed9eba1)の平方根を操作の「マジック」定数として使用します。本「ネットワークセキュリティ:パブリックワールドでのプライベートコミュニケーション」のセクション5.4.4で、これについて詳しく説明しています。

設計者が意図的に定数の悪魔的な値を選択しなかったことを示すために、定数は2の平方根に基づいています。

この説明は、Gillesのコメントで下に述べたポイントと同じです。


合理的ですね。2 ^ 32 / piまたは2 ^ 32 / sqrt(2)は同様に機能しますか?

@Tim:そうだと思いますが、TEA内部操作のコンテキストで新しいマジックナンバーを再確認することは有益です。
MS Dousti

5
さらに、許容可能なプロパティを持つランダムに生成された値ではなく、2 ^ 32 / phiのような数学定数を選択する理由は、これが追加の明らかにされていないプロパティに選択された値ではないという確信を与えるためです—バックドア値。
ジル 'SO-悪であるのをやめる'

2
、確かに、彼らもその理由のために、「私の袖番号まで何も」と呼ばれていない@Gilles、参照en.wikipedia.org/wiki/Nothing_up_my_sleeve_number
Henno Brandsma

12

φnφφ{nφ}{nα}α

Cπ=232/π=1367130551(355Cπ)mod232=41157Cφ=232/φ=2654435769n|(nCφ)mod232|216n=28657XnXn+kk232


1
Sadeq: 'mod 1'は、倍数の小数部分を指します-この場合、これらは[.62、.24、.85、.47、.09、.71、.33、.94、.56、。 18]。限界の等分布は、[0、1]の部分区間[a、b]にこれらの値の予想割合(ba)が含まれることを意味します。無理数の倍数の小数部は[0、1]で均等に分布していることがわかりますが、黄金比の小数部は他の数よりも速く均等に分布します。単位間隔で「塊」になることはありません。
スティーブンスタドニッキー

8
π113π{(n+113)π}{nπ}

8
黄金比の非常に巧妙財産だという
スレシュヴェンカト

2
すばらしい説明をありがとう。本当に素晴らしかった!k[i]MD5で定義されているについて、コメントはありますか?(上記の私の答えを参照してください。)
MS Dousti

2
sin(nx)xaiΣaik[i]=0
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.