Find Jobs
Hire Freelancers

Cryptography/Python: Derive the secret using Quadratic Residue knowledge

$10-30 AUD

Ditutup
Dibuat lebih dari 6 tahun yang lalu

$10-30 AUD

Dibayar ketika dikirim
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.
ID Proyek: 15545014

Tentang proyek

3 proposal
Proyek remot
Aktif 6 tahun yang lalu

Ingin menghasilkan uang?

Keuntungan menawar di Freelancer

Tentukan anggaran dan garis waktu Anda
Dapatkan bayaran atas pekerjaan Anda
Uraikan proposal Anda
Gratis mendaftar dan menawar pekerjaan
3 freelancer menawar dengan rata-rata $52 AUD untuk pekerjaan ini
Avatar Pengguna
I am very proficient in c and c++. I have 16 years c++ developing experience now, and have worked for more than 6 years. My work is online game developing, and mainly focus on client side, using c++ under windows environment. I used c++ to make many great projects, for example, I made the tools which can convert java files into c++ scripts, of course garbage collection included, this job is very similar to a compiler, and is very complex. I also made our own mobile game using c++, I can show you the demo of client, if you like. I am very proficient in java also. I have a very good review on Freelancer.com, I never miss a project once I accept the job, you can check my review. Trust me, please let expert help you.
$100 AUD dalam 2 hari
4,9 (127 ulasan)
6,9
6,9
Avatar Pengguna
I have done a course on Cryptography and Number Theory. I am doing my Bachelor's thesis in the same field. I am already familiar with quadratic residues as well as the RSA Cryptosystem. Relevant Skills and Experience Cryptography, python, Number Theory, Quadratic Residues, Algorithms Proposed Milestones $25 AUD - The whole project
$30 AUD dalam 3 hari
5,0 (8 ulasan)
3,7
3,7

Tentang klien

Bendera PAKISTAN
Sargodha, Pakistan
4,1
14
Memverifikasi Metode pembayaran
Anggota sejak Jan 30, 2017

Verifikasi Klien

Terima kasih! Kami telah mengirim Anda email untuk mengklaim kredit gratis Anda.
Anda sesuatu yang salah saat mengirimkan Anda email. Silakan coba lagi.
Pengguna Terdaftar Total Pekerjaan Terpasang
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Memuat pratinjau
Izin diberikan untuk Geolokasi.
Sesi login Anda telah kedaluwarsa dan Anda sudah keluar. Silakan login kembali.