Find Jobs
Hire Freelancers

Cryptography

$10-30 USD

Selesai
Dibuat sekitar 8 tahun yang lalu

$10-30 USD

Dibayar ketika dikirim
Your program's goal is to find the plaintext used to compute this ciphertext within a reasonable amount of time. Specifically, your program should print on screen something like "Enter the ciphertext:", obtain the ciphertext from stdin, apply some cryptanalysis strategy and output on screen something like "My plaintext guess is:" followed by the plaintext found by your strategy. In doing that, your program is allowed access to: The ciphertext (to be taken as input from stdin) A plaintext dictionary (to be posted on top of this web page), containing a number q of plaintexts, each one obtained as a sequence of space-separated words from the English dictionary Partial knowledge of the encryption algorithm used (to be described below). The plaintext is a space-separated sequence of words from the English dictionary (the sentence may not be meaningful). The key is a map from each English alphabet (lower-case) letter to a list of numbers randomly chosen between 0 and 102, where the length of this list is the (rounded) letter’s frequency in English text, as defined in the table. The ciphertext is a space-separated sequence of encryptions of words, where each word is encrypted as a comma-separated list of numbers between 0 and 102, and these numbers are computed using the table(in given screenshot) The permutation cipher works as follows. It takes as input a plaintext from a message space and a key randomly chosen from a key space and returns a ciphertext. The message space is the set {<space>,a,..,z}^L. In other words the message m can be written as m[1]...m[L], where each m[i] is in {(space>,a,..,z} The ciphertext c can be written as c[1],...,c[L], where each c[i] is in {<space>,0,..,102}. To avoid ambiguities, cyphertext symbols are separated by a comma. The key space is the set of random maps from {0,..,26} to a permutation of all numbers in {0,…,102}, grouped in 26 lists, each list having length determined by column 2 of the table below. The encryption algorithm works as follows. A space in the plaintext is mapped to a space in the ciphertext. For each message character m[j], the algorithm finds m[j] in column 1 of the table below, and returns one of the keys in column 3 of the same row. The computation of which key is returned by the algorithm is based on a scheduling algorithm which is intentionally left unknown and is a deterministic algorithm (that is, it does not use new random bits) that may depend on j, L and the length of the list on that row. The decryption algorithm does the inverse process. It maps space to a space in the plaintext. On any ciphertext character different from a space, it finds the ciphertext character in column 3 of the table, and returns the column 1 plaintext letter that is on the same row. For instance, assume k(b,1)=23, k(c,1)=11, k(c,2)=98, k(c,3)=5, k(g,1)=34, k(g,2)=56. Then the plaintext “cbcb gbgg gcb” may be encrypted as “98,23,5,23 34,23,56,34 34,11,23”. We are currently choosing L=500, and a plaintext dictionary with q=5 plaintexts. In the first test, program will be run many times, each time on a new ciphertext, computed using the above encryption scheme and a plaintext randomly chosen from the plaintext dictionary, with a different scheduling algorithm. On the first execution, the scheduling algorithm will compute “j mod length(list)” and use this result to select the element of that position in the list. On the other executions, the scheduling algorithms will be more and more complex variations of this one. In the second test, program will be run a few times, each time on a new ciphertext, computed using a plaintext obtained as a space-separate sequence of words that are randomly chosen from the set of all English words (as in the attachment english_words at the top of this page) and the above encryption scheme, with a different scheduling algorithm 03/10/2016 at 16:59 EST - Additional information submitted NEED IT BY !13th 11:59 AM
ID Proyek: 9908962

Tentang proyek

12 proposal
Proyek remot
Aktif 8 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
Diberikan kepada:
Avatar Pengguna
can do it 100% ,can do it 100% ,can do it 100% ,can do it 100% ,can do it 100% ,can do it 100% ,can do it 100% ,can do it 100% ,can do it 100% ,can do it 100% ,can do it 100% ,can do it 100% ,can do it 100% ,
$30 USD dalam 1 hari
4,6 (16 ulasan)
3,9
3,9
12 freelancer menawar dengan rata-rata $46 USD 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 server side, using c++ under linux 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 similiar 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.
$80 USD dalam 1 hari
4,9 (84 ulasan)
6,5
6,5
Avatar Pengguna
Hello. How are u. I saw your description and attached files. I understood it and can do it well. I have done several project like this. I'm an expert in Data Structures and Algorithms. And I know Java ,C/C++,C# and Python well. I'm interested this project. I want to discuss with you about this project. If it's possible,please contact me and explain more detail. I wait your good reply. Bye.
$80 USD dalam 2 hari
5,0 (6 ulasan)
1,9
1,9
Avatar Pengguna
Hi, I am an undergraduate in Computer Science and Engineering. I can do this for you within 24 hours. Feel free to contact. Thanks
$100 USD dalam 1 hari
5,0 (1 ulasan)
2,0
2,0
Avatar Pengguna
Hello, I understand your question and i can program it. kindly reply me Thank You
$30 USD dalam 0 hari
5,0 (2 ulasan)
1,7
1,7
Avatar Pengguna
sir i have a good experience on c and c++ and also make different projects on it. i have made some games as well. i feel good if you assign me this project.
$25 USD dalam 1 hari
0,0 (0 ulasan)
0,0
0,0
Avatar Pengguna
U dnt know me. I dnt know u. Well give me the project and i will show u wat i have got in my hand ! I wll find u and i wll kill u ! Bitch !
$25 USD dalam 1 hari
0,0 (0 ulasan)
0,0
0,0
Avatar Pengguna
I already did many things with ciphering like this. I am experienced c++ programmer, can starting working on it immedieately and can finish it very quickly. Please contact me so we can discuss terms
$25 USD dalam 1 hari
5,0 (1 ulasan)
0,2
0,2

Tentang klien

Bendera UNITED STATES
Not Specified, United States
5,0
1
Memverifikasi Metode pembayaran
Anggota sejak Mar 10, 2016

Verifikasi Klien

Pekerjaan lain dari klien ini

Write some Software
$30-250 USD
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.