instructions are in the PDF file. due before Tuesday. prize negotiable.
here is the link to download muPAD 2.5.3:
http://seit.unsw.adfa.edu.au/staff/sites/hrp/teaching/
click on the words “MuPAD Light 2.5.3 (with Scilab)” to download it.
you do not have to register when you download it.
its due on the 19th!!!!!! PLEASE HELP!!!!!!!!!!!!!!!! đ
thank you.
IST 230 Exercise 15 – Mupad Number Theory Exercises
If you want to work on these exercises on your personal computer, download the free version of Mupad Light 2.5.3
here: http://acs.ist.psu.edu/courses/ist230/applets/mathsoftware/. The filename is mupad_light_scilab_253.exe
There are three important places you should look for information about how to use Mupad:
1. “MuPad – A Practical Guide” by Kai Gehrs and Frank Postel. You can download this in the directory
given above.
2. The Mupad Help Manual. When you run Mupad, click on the Help menu and click âBrowse Manualâ. In
this manual, you will find a number of resources:
There are tabs for Commands, Search, Contents, Topics, and Bookmarks. You can search for instructions
for any command by typing it into the search bar. The Contents tab gives an index of each type of Mupad
command, as well as a link to the Mupad Tutorial. The Topics tab gives quick references on some useful
functions. The Bookmarks tab gives links to the Mupad Libraries Overview, the Mupad Quick Reference,
and the Mupad Tutorial.
3. The Mupad Tutorial. You can open this from the Mupad Help Manual, as described above â or when you run
Mupad, click on the Help menu and click âOpen Tutorialâ. This is a tutorial similar to the Practical Guide
given above. Especially useful here are pages 23-28 on the basic approach to Mupad, pages 29-33 on the
basics of exact and approximate computations using Mupad, pages 35-37 on basic symbolic computation, pages
40-41 on elementary number theory, page 63 on defining functions, pages 103-104 on random number
generators and basic statistical summary functions like mean and standard deviation, pages 105-113 on basic
graphing and plotting functions, page 114 on accessing previous computations, and pages 115-121 on basic
Mupad input/output functions.
Important Point: Be sure to keep a Word, OpenOffice, or text file record of your results, so you don’t have to do
these over again between work sessions. Either use âSave Asâ in the File menu to save as a text file, or more simply,
just copy and paste your Mupad calculations into your file and save that.
Exercise 15.1:
Learning Goal: To become familiar with using some of the number theoretic functions in Mupad.
a. Generate at least four random 10-digit numbers; a, b, c, d; and compute whether there are any common factors
between any of them.
b. Determine two 10-digit prime numbers p and q. Compute the modular inverse a, b, c, and d mod pq.
c. Compute gcd(a,b) using Euclid’s algorithm, and show all details. This means you can’t use the igcd(a,b)
function.
You can use the following Mupad functions:
1. a mod b computes a mod b.
2. isprime(n) determine if the number n is prime
3. nextprime(n) computes the nearest prime number not smaller than n
4. numlib::prevprime(n) computes the nearest prime number not larger than n
5. igcd(x,y) computes the greatest common divisor of x and y, gcd(x,y).
6. igcdex(x,y) computes gcd(x,y) plus the solutions a, b of the equation ax + by = gcd(x,y)
7. numlib::primedivisors(n) computes all the prime divisors of n.
To figure out how to use these functions, first look them up in Mupad Help. Be sure to look at the examples given there
also. To see the examples, scroll down and click on the yellow-highlighted phrase See Examples. In the Mupad Help
Manual, this yellow highlighting is always a hyperlink to the page where the information is contained.
http://acs.ist.psu.edu/courses/ist230/applets/mathsoftware/
Exercise 15.2:
Learning goal: Learn how to compute public and private RSA keys using Mupad.
a. Generate two prime 128-bit binary numbers P and Q in Mupad. Before you start this, you need to read the last
section of the Topic 4 notes on converting between binary and decimal digits.
b. Choose a number E < PQ, and such that E and (P-1)(Q-1) are relatively prime.
c. Compute D such that (DE – 1) is divisible by (P-1)(Q-1). Note: D is the modular inverse of E mod (P-1)(Q-1),
or DE ⥠1 mod (P-1)(Q-1)
You will again find the Mupad functions isprime, nextprime, numlib::prevprime,igcd, igcdex, and numlib::primedivisor
useful.
Exercise 15.3:
Learning goal: Learn how to convert text to Ascii and do RSA encryption and decryption using Mupad.
a. Use the Mupad function numlib::toAscii to convert the text message âThis is a testâ to a sequence of 3-digit
numbers. Concatenate these 3-digit numbers into one large integer, and assign it to the variable T. Again, look
up this function in
the Mupad Help Manual.
b. Encrypt T by computing C = T^E mod PQ. Note that you cannot just compute this naively by exponentiating
and then reducing modulo PQ. You will need to use the powermod function. Again, look up this function in
the Mupad Help Manual.
c. Recover your original text T from C by computing U = C^D mod PQ. Again, you need the powermod
function.
Exercise 15.4:
Learning goal: Learn how to do RSA computations with secure large-number keys using Mupad.
Repeat Exercises 2 and 3, but now make P and Q 1024-bit prime numbers. You are now doing strong RSA
cryptography which should be secure from attack by any âregularâ hackers.
Exercise 15.5: Extra Credit (4 pts) – Individual Effort
Learning goal: Learn how to crack a pretty large cryptography key. You can use any resources you like to do this
except communicate directly with any living beings. Open web resources, books, math software are all fair game, but
you must compute the prime factors yourself.
a. Using the same T from Exercise 2, compute the encrypted text C using the modulus
PQ = 2027064039417196732355108541475399464665809520619570332761670802569484605677
Note – you’ll need to first compute a new encryption key E.
b. Factorize PQ into its prime factors P and Q.
c. Give a detailed demonstration how you can use this to crack the encrypted message C from part a.