Find Jobs
Hire Freelancers

Cryptography/Python: Derive the secret using Quadratic Residue knowledge !!!

$10-30 AUD

Imeghairiwa
Imechapishwa over 6 years ago

$10-30 AUD

Kulipwa wakati wa kufikishwa
This is straightforward assignment to derive secret using Quadratic Residue knowledge. Formula: c = (s ^ r) mod p - s is the secret (an integer) to be encrypted using above formula - r is a random 500-bit number - p is a random 500-bit prime number - c is the ciphertext computed using this formula Above design is vulnerable, because attacker can calculate the value of s if he/she got enough pairs of <c, p> values. There are 3 tasks: Part 1: Later, I will provide a text file of 30 groups of <c, p> values. We only know s is an integer in the interval of [2410, 2459], but do not know which value is it. The mission is to write a Python program to derive the value of s, using those 30 groups of <c, p> values as inputs. Remarks: 1. Hint: you MUST use the knowledge of Quadratic residue. I can provide some reference to explain Quadratic residue if you need. 2. I can provide a short and simple Python code that how c, r, and p are generated. 3. This is not a brute force mission. You cannot simply compute the values from 2410 to 2459 and compare the outputs. 4. After last, write a concise and clear summary of algorithm at comment or in a separate file. Part 2: In part 1, the 30 random r’s were chosen so that s can be identified. Actually, if the 30 r’s are chosen uniformly and randomly, then there is a chance that we cannot uniquely identify s using 30 tuples. The probability of successful identification increases with large number of <c, p> tuples. Based on part 1, the mission is to give the least number of tuples required in order to achieve 99% of success, and explain it. You can write down the answer analytically without writing a new code. Part 3: Same as part 2, but the interval size of s increases into 10^6. The mission is still to write down the answer analytically.
Kitambulisho cha mradi: 15545862

Kuhusu mradi

3 mapendekezo
Mradi wa mbali
Inatumika 6 yrs ago

Unatafuta kupata pesa?

Faida za kutoa zabuni kwenye Freelancer

Weka bajeti yako na muda uliopangwa
Pata malipo kwa kazi yako
Eleza pendekezo lako
Ni bure kujiandikisha na kutoa zabuni kwa kazi
3 wafanyakazi huru wana zabuni kwa wastani $32 AUD kwa kazi hii
Picha ya Mtumiaji
Hi... I am a Python specialist, certified by Freelancer. I fully understand your project and I am sure I can help you. Award me :) Add My WhatsApp -> +584265960160 Or my telegram -> @ejdecena Relevant Skills and Experience Python and Mathematics. Proposed Milestones $35 AUD - All the work.
$35 AUD ndani ya siku 2
5.0 (36 hakiki)
5.6
5.6
Picha ya Mtumiaji
A proposal has not yet been provided
$35 AUD ndani ya siku 4
5.0 (1 hakiki)
1.4
1.4

Kuhusu mteja

Bedera ya PAKISTAN
Sargodha, Pakistan
4.1
14
Njia ya malipo imethibitishwa
Mwanachama tangu Jan 30, 2017

Uthibitishaji wa Mteja

Asante! Tumekutumia kiungo cha kudai mkopo wako bila malipo kwa barua pepe.
Hitilafu fulani imetokea wakati wa kutuma barua pepe yako. Tafadhali jaribu tena.
Watumiaji Waliosajiliwa Jumla ya Kazi Zilizochapishwa
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Onyesho la kukagua linapakia
Ruhusa imetolewa kwa Uwekaji wa Kijiografia.
Muda wako wa kuingia umeisha na umetoka nje. Tafadhali ingia tena.