Random string'i random olmayan string'e çeviren fonksiyon mümkün müdür?

NapsakLan

Hectopat
Katılım
6 Eylül 2022
Mesajlar
97
Çözümler
1
Öyle bir fonksiyon mümkün müdür ki aldığı random veya random olmayan herhangi bir string'i işleyip çıktı olarak random olmayan özel bir string versin. Özelden kastım hash fonksiyonu gibi düşünün. Her string'in farklı bir özel hash değeri olması gibi aldığı herhangi bir string'e özel bir string çıktı vermesini istiyorum. Ve bu fonksiyonun tersinin olmasını istiyorum. Örnek olarak:
f(bir_random_string) -> random_olmayan_unique_string
f^-1(random_olmayan_unique_string) -> bir_random_string

"Random felsefik bir şeydir. Random ne demek ki tartışıyoruz?" vs. diyen olursa kolmogorov complexity'e bakabilir.
 
Yüksek miktarda veri içeren bir veri tabanı ile beslerseniz mümkün. Random oluşan bir string değerini okunabilir bir cümleye çevirebilir
 
Bunun için kendiniz bir fonksiyon yazabilir (stringi tersten yazdırmak gibi), veya şifreleme algoritmalarına göz atabilirsiniz. En azından tersi bulunan fonksiyonların nasıl çalıştığını anlamanıza yardımcı olabilir.
 
Yüksek miktarda veri içeren bir veri tabanı ile beslerseniz eğer, random oluşan bir string değerini okunabilir bir cümleye çevirebilir
Random tanım gereği örüntüsü bulunmayan anlamına geliyor. Örüntü yoksa yüksek miktarda veri içeren bir veri tabanı ile beslememin anlamı nedir? Ne kastettiğini daha detaylı anlatır mısın?
String'i tersten yazdırmayla sorumun alakasını göremedim. Modern şifreleme algoritmaları plaintext'i işleyip ciphertext'i çıktı olarak verirken aslında random olmayan bir veriyi(plaintext) pseudorandom veriye(ciphertext) çeviriyorlar. Ben ise random veya pseudorandom veya random olmayan herhangi bir string'i işleyip random olmayan unique bir string çıktısı versin istiyorum. Ve bu çıktıyı veren fonksiyonun tersinin de olmasını istiyorum.
 
Yanlış düşünüyorsunuz. Random üretilen bir değerin denk gelme ihtimali düşük olsa bile her zaman var. Makine öğrenmesi ile kolay bir şekilde cümleye çevirilebilir

Araştırın derim.
 
Yanlış düşünüyorsunuz. Random üretilen bir değerin denk gelme ihtimali düşük olsa bile her zaman var. Makine öğrenmesi ile kolay bir şekilde cümleye çevirilebilir

Araştırın derim.
Makine öğrenmesi verilen veri setinin örüntülerini inceliyor. Örüntüsü olmayan bir veri setiyle makine öğrenmesi kullanarak napmayı bekliyorsun? Nasıl bir verim umuyorsun? Kafanda ne olduğunu anlamaya çalışıyorum.
 
String'i tersten yazdırmayla sorumun alakasını göremedim.
String düz: random
String ters: random_olmayan_unique_string
şeklinde düşünebilirsiniz. Tekrardan ters çevirdiğinizde orijinal random metninizi elde edeceksiniz. Bu bir tersi olan fonksiyon örneği.
Modern şifreleme algoritmaları herhangi bir veriyi (bytearray, plaintext vs) bir anahtar yardımıyla bir matematiksel işleme sokarak random olmayan bir unique bytearray çıktısı verir. Daha sonra aynı anahtarı kullanarak orijinal random string elde edilebilir. Bu da bir tersi olan fonksiyon örneğidir.
Bkn. AES crypt/decrypt
 
Ne kastettiğini daha iyi anladım. Ancak sorun şu ki şifrelemelerdeki olayı kendi soruma nasıl uyarlayabileceğimi anlayamadım. Random veya random olmayan bir string'i random olmayan başka bir string'e dönüştürmeye çalışırken şifrelemelerden nasıl ilham alabilirim? Örnek veriyorum:
x = ababababab (random olmayan bir string)
f(x) -> abcabcabcabc (random olmayan başka bir string)
f^-1(abcabcabcabc) -> x

veya
x = q4aXJqJ (random/pseudorandom bir string)
f(x) -> abbaabbaabba (random olmayan başka bir string)
f^-1(abbaabbaabba) -> x

Bunu modern şifrelemelerle nasıl ilişkilendireceğim? Modern şifrelemelerde encrypt/decrypt olayı var diye problemime nasıl uyarlayabileceğimi anladığım anlamına gelmiyor.
 
x = q4aXJqJ
aes_crypt(x) = abbaabbaabba
aes_decrypt(abbaabbaabba) = x
 
x = q4aXJqJ
aes_crypt(x) = abbaabbaabba
aes_decrypt(abbaabbaabba) = x
aes'le istediğim random veya random olmayan plaintext'i pseudorandom olan ciphertext'e çevirebilirim ancak aes'le istediğim random veya random olmayan string'i başka bir random olmayan bir string'e çeviremem. aes'in böyle bir amacı yok.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…