Apa yang istimewa tentang

12

Dalam Algoritma Enkripsi Kecil :

Kelipatan yang berbeda dari konstanta sihir digunakan untuk mencegah serangan sederhana berdasarkan simetri putaran. Konstanta ajaib, 2654435769 atau 9E3779B9 16 dipilih menjadi , dengan ϕ adalah rasio emas.232/ϕ

Properti apa yang dimiliki yang membuatnya berguna dalam konteks ini?232/ϕ

MS Dousti
sumber

Jawaban:

11

AFAIK, nilai "ajaib" tersebut memiliki dua properti berikut:

  1. Entah bagaimana mereka unik, dan terlihat acak.
  2. Mereka dapat mengambil bagian dalam operasi aljabar berulang kali; yaitu bahkan setelah menerapkan beberapa operasi tertentu (katakanlah multiplikasi atau eksponensial) berkali-kali, nilai "ajaib" masih dapat menghasilkan nilai baru.

Anda dapat menemukan kasus serupa di MD5 . Pertimbangkan baris berikut:

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

Di sini, sin(i + 1)dimaksudkan untuk menghasilkan nilai-nilai ajaib; yang unik, tampak acak, dan dapat bekerja untuk banyak i. (Sebenarnya, iberkisar 0,63).

Sunting: Membaca makalah asli tentang TEA , orang memahami bahwa jawaban yang diberikan oleh "Steven Stadnicki" benar. Perhatikan bahwa konstanta ajaib adalah nama delta:

Kelipatan delta yang berbeda digunakan di setiap putaran sehingga tidak ada kelipatan dari delta yang tidak akan sering berubah. Kami menduga algoritme tidak terlalu sensitif terhadap nilai delta dan kami hanya perlu menghindari nilai yang buruk. Perlu dicatat bahwa delta ternyata aneh dengan pemotongan atau pembulatan terdekat, sehingga tidak ada tindakan pencegahan tambahan yang diperlukan untuk memastikan bahwa semua digit perubahan jumlah.

Karena hanya 32 kelipatan dari delta yang digunakan (satu per setiap putaran), tidak aneh bahwa algoritma ini tidak terlalu sensitif terhadap delta tertentu. (Lihat jawaban Steven Stadnicki untuk info lebih lanjut.)

Sunting 2: Secara kebetulan, MD4 menggunakan akar kuadrat dari 2 (0x5a827999) dan 3 (0x6ed9eba1) sebagai konstanta "ajaib" dalam operasinya. Bagian 5.4.4 buku Keamanan Jaringan: Komunikasi Pribadi di Dunia Publik menjelaskan hal ini dengan baik:

Untuk menunjukkan bahwa desainer tidak sengaja memilih nilai jahat dari konstanta, konstanta didasarkan pada akar kuadrat dari 2.

Penjelasan ini sama dengan poin yang dibuat di bawah ini dalam komentar oleh Gilles.

MS Dousti
sumber
Kedengarannya masuk akal. Apakah 2 ^ 32 / pi atau 2 ^ 32 / sqrt (2) juga berfungsi dengan baik?
@Tim: Saya kira begitu, tetapi penting untuk memeriksa ulang angka ajaib baru dalam konteks operasi internal TEA.
MS Dousti
5
Selain itu, alasan untuk memilih konstanta matematika seperti 2 ^ 32 / phi, daripada nilai yang dihasilkan secara acak dengan properti yang dapat diterima, adalah untuk memberikan sedikit kepercayaan bahwa ini bukan nilai yang dipilih untuk properti yang belum terungkap tambahan - nilai backdoor .
Gilles 'SO- berhenti bersikap jahat'
2
@Gilles, memang, mereka bahkan disebut "nomor telepon saya" karena alasan itu, lihat en.wikipedia.org/wiki/Nothing_up_my_sleeve_number
Henno Brandsma
12

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

Cπ=232/π=1367130551C φ = 2 32 / φ= 2654435769 n | ( n C φ )(355Cπ)mod232=41157Cφ=232/φ=2654435769n n = 28657 X n X n + k k 2 32|(nCφ)mod232|216n=28657XnXn+k dari generator nomor acak kongruensial linier untuk beberapa bertubuh kecil ; Namun, untuk sebagian besar, itu adalah ilmu hitam folkloreish, lebih didasarkan pada intuisi bahwa 'kelipatan kecil dari jumlah ini menjadi mod kecil akan lebih buruk' daripada pada hasil teoritis tertentu.k232

Steven Stadnicki
sumber
1
Sadeq: 'mod 1' mengacu pada bagian fraksional dari kelipatan - dalam hal ini adalah [.62, .24, .85, .47, .09, .71, .33, .94, .94, .56,. 18]. Pemerataan dalam batas berarti bahwa setiap subinterval [a, b] dari [0, 1] berisi proporsi yang diharapkan (ba) dari nilai-nilai ini; sementara ternyata bagian fraksional dari kelipatan bilangan irasional terdistribusi secara merata pada [0, 1], bagian-bagian dari pendekatan rasio emas yang bahkan terdistribusi lebih cepat daripada angka lainnya; mereka tidak 'menggumpal' pada interval satuan.
Steven Stadnicki
8
113 π { ( n + 113 ) π } { n π }πPerkiraan dekat dengan 355/113, misalnya, berarti bahwa akan lebih dekat ke bilangan bulat daripada 'seharusnya' dan ini muncul sebagai pengelompokan bagian fraksional dari nilainya; akan sangat dekat dengan . Rasio emas tidak memiliki perkiraan yang baik; semua perkiraannya 'maksimal jauh' dari itu. ( en.wikipedia.org/wiki/... membahas ini)113π{(n+113)π}{nπ}
Steven Stadnicki
8
itu adalah properti yang sangat rapi dari rasio emas
Suresh Venkat
2
Terima kasih untuk penjelasannya. Benar-benar hebat! Apakah Anda memiliki komentar k[i], sebagaimana didefinisikan dalam MD5? (Lihat jawaban saya di atas.)
MS Dousti
2
Sayangnya, saya tidak; - Satu-satunya hal yang terlintas dalam pikiran adalah bahwa mereka dapat dipilih untuk kemandirian linier perkiraan, karena fungsi adalah bebas linear terhadap - tetapi saya tidak tahu alasan untuk percaya bahwa rangkaian nilai khusus ini harus menyebabkan nilai yang relatif besar untuk dalam setiap hubungan linear . xsin(nx)x Σ a i k [ i ] = 0aiΣaik[i]=0
Steven Stadnicki