2016-03-31 12 views
-1
bu tamsayılar X, P, R ve D vardır

basit cryptograpic fonksiyon

KX is known 
UP, UR, UD are unknown (secret) 
UD is much lower than KX*UP*UR 

Ne gerek bu gereksinimleri karşılayacak bilinecektir özel fonksiyon f (KX, UP, UR, UD) yazmaktır : bazı KX f bilinen sonuçları (KX, yukarı, UR, UD) kaynaktan

  1. bilinen sonuçlardan f sonuçlarını (KX + p, yukarı, UR, UD)
  2. bulmak mümkün değildir n = 0..100 için f (KX, UP + n, UR, UD) f (KX, UP + 101, UR, UD)
  3. sonucunu bulmak mümkün değildir.

Ben

f=KX*UP*UR mod UD 

gibi bir şeyle deneyler yapıyordu ama ikinci ihtiyacını karşılamak olmadığını, sezgi var.

Böyle bir işlev var mı?

+1

Bu sorunun konu dışı olarak kapatılmasına oy veriyorum çünkü programlama ile doğrudan ilgili değil. –

cevap

0

Tamam, bulduğum en basit çözüm, birleştirilen tamsayılardan oluşan dizgenin MD5 karma değerini basitçe hesaplamaktır. Bilinmeyen bir kaynak dizgede bilinen bir parçayı değiştirirsem, hesaplanmış olan bir hashı tahmin etmenin makul bir olasılık olmadığını düşünüyorum.

+0

HMAC-SHA256 daha iyi olurdu. –