Find Jobs
Hire Freelancers

cryptographic distinguisher.

$2-8 USD / hour

W trakcie realizacji
Opublikowano ponad 8 lat temu

$2-8 USD / hour

Make your own cryptographic distinguisher. Many definitions of security in cryptography involve the concept of a distinguisher. One such definition relates to _pseudorandomness_. Let G be a function which takes an n-bit binary string s and returns an l-bit binary string G(s), where l>n. We think of s as being the seed, G as being a random number generator, and G(s) being the output. The seed s is truly random, but the output G(s) is at best _pseudorandom_. Roughly, G is a pseudorandom number generator (PRNG) if there is no way to differentiate the output of G from a truly random l-bit binary string. Really there is no such thing as a particular output being random or not random. Rather we have to tell whether the distribution that G(s) gives rise to on the set of l-bit binary strings is distinguishable from the uniform distribution on l-bit binary strings with reasonable computational resources. A PRNG _distinguisher_ D is defined as follows: A truly random seed s is selected from the set of n-bit strings. A truly random string r is selected from the set of l-bit binary strings. We define a variable w, and flip a coin. If the outcome is heads, we set w=G(s). If the outcome is tails, we set w=r. Note that w is an l-bit binary string in either case. The distinguisher D is an algorithm that takes w as input. D does not know what w really is. But D must make a decision as to whether w=G(s) or w=r. The output of D is the decision it makes. We say that G is a PRNG if there is no efficient algorithm D that is a distinguisher for G which has better than a 50% chance of predicting whether w=G(s) or w=r. We give an example of all this in class -- refer to your notes for a concrete example. ASSIGNMENT: Read the Wikipedia article on Linear Feedback Shift Registers (LFSRs). There is a figure in this article which shows a particular 4-bit LFSR ([login to view URL]:[login to view URL]). We will be using this particular LFSR in this assignment. For definiteness, let us refer to this LFSR as Max. Define G(s) as follows. The seed s is a starting state for Max. This is a truly random 4-bit value. We produce G(s) by letting Max generate 64 bits of output. Thus l=64 and n=4 in this case. Your job is to show that G is not a PRNG by exhibiting a D which distinguishes G from the true uniform distribution on 64-bit strings. You must discover some property that the outputs of G have that true random 64-bit strings are very unlikely to have. You should start by coding up Max and producing some sample data. Can you see a pattern in Max's outputs that true random strings shouldn't have? This is the basis for how your D will work. Once you have designed your D, you should implement it and see how well it works. Please hand in: 1. Your code for Max 2. Your code for D 3. A mathematical argument that quantifies how likely D is to give the correct output 4. Empirical data that shows that D is correct with something close to this frequency. You can do (4) by writing code which produces w as described in the definition for distinguishers, gives it to D, and records whether D was right or wrong. Remember that D must succeed better than 50% of the time to be a real distinguisher. C++ ONLY!!!!
Identyfikator projektu: 8728461

Informację o projekcie

3 ofert
Zdalny projekt
Aktywny 9 lat temu

Szukasz sposobu na zarobienie pieniędzy?

Korzyści ze składania ofert na Freelancer.com

Ustal budżet i ramy czasowe
Otrzymuj wynagrodzenie za swoją pracę
Przedstaw swoją propozycję
Rejestracja i składanie ofert jest bezpłatne
Przyznano:
Awatar Użytkownika
Hi!, I specialize in cryptography and i think i can help you out here. Already many algorithms exist which can be used for creating a distinguisher for LFSR generated random sequences. If you are okay with the bidding, please come on chat . Regards, InkCoder.
$7 USD w 10 dni
4,9 (2 opinii)
1,1
1,1
3 freelancerzy składają oferty o średniej wysokości $38 USD/godz. dla tej pracy
Awatar Użytkownika
A proposal has not yet been provided
$100 USD w 3 dni
5,0 (24 opinii)
4,8
4,8
Awatar Użytkownika
I really love programming and I would like to become a C++ programmer, so it would be a good start! I wish I can solve your problem.
$6 USD w 14 dni
0,0 (0 opinii)
0,0
0,0

O kliencie

Flaga UNITED STATES
United States
0,0
0
Członek od paź 8, 2015

Weryfikacja Klienta

Dziękujemy! Przesłaliśmy Ci e-mailem link do odebrania darmowego bonusu.
Coś poszło nie tak podczas wysyłania wiadomości e-mail. Proszę spróbować ponownie.
Zarejestrowani Użytkownicy Całkowita Liczba Opublikowanych Projektów
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Wczytywanie podglądu
Udzielono pozwolenia na Geolokalizację.
Twoja sesja logowania wygasła i zostałeś wylogowany. Proszę, zalogować się ponownie.