roles) || in_array('administrator', $user->roles) || in_array('admin', $user->roles ) ) { ?>
probname); ?>
Topic Classification: nid, "Topic Classification"); ?> Tags: nid, "Problem Tag");?>
Topics: nid, "Topics"); ?> Prerequisites: nid, "Prerequisites"); ?>
Supplies: nid, "Supplies"); ?> Pedagogy: nid, "Pedagogy"); ?>
Grade Vs Difficulty:
  EasyModerateChallengingPerplexing
1-2
3-4
5-6
7-8
9-10
11-12
13-14
Solution: nid, "Solution"); ?>
Problem

This exercise is about the RSA cryptosystem, named after its discoverers Ron Rivest, Adi Shamir, and Leonard Adleman.
Here's how it works: You need two prime numbers $p$ and $q$, compute their product $m = pq$, find a number $b$ that is relatively prime to $\phi(m) = (p-1)(q-1)$, and compute an inverse $c$ of $b$ modulo $\phi(m)$, i.e., $bc \equiv 1 \bmod \phi(m)$.
You keep all of this private except for the numbers $m$ and $b$ which you make public (in particular, your friends know $m$ and $b$). To send you a message $d$, your friend encodes it as
\[
e = d^b \bmod m \, .
\]
You can decode your friend's message by computing
\[
d = e^c \bmod m \, .
\]
Explain why this decoding works.
What makes this cryptosystem safe? How could you make it safer? What would one need to break it?

Details
Contributer: Matt
Authors
nid); while ($data = db_fetch_object($authorresult)) { $authorfirstname = $data->firstname; $authorlastname = $data->lastname; $authors = $authorfirstname . ' ' . $authorlastname; print $authors; ?>
References
nid); if (mysql_num_rows($refresult) > 0 ) { ?> nmcreferenceid; $referenceauthor = $data->author; $referencetitle = $data->title; $referenceurl = $data->url; ?> 0 ) { print '
Reference Author Reference Title Reference URL
'; } ?>
nid); $totalSets = mysql_num_rows($setsResult); if ($totalSets > 0) { ?>
Problem Sets This Problem Belongs to:
parent_nid; ?> Set:
VARIABLES
nid, 1); while ($data = db_fetch_object($variablesresult)) { $variable = $data->elementdata; ?> •


DEFINITIONS
nid); while ($data = db_fetch_object($defresult)) { $definitionid = $data->nmcdefinitionid; $definition = $data->definition; $definitionname = $data->definitionname; ?> •