Question (Use Sage):

The following describes the simple hash function:

Choose p, q primes and compute N = pq.

Choose g relatively prime to N and less than N.

Then a number n is hashed as follows:

H = gn mod N

If there is an m that hashes to the same value as n, then

gm ≡ gn mod N


gm-n ≡ 1 mod N

which implies that

m –n ≡ 0 mod φ (N)

So breaking this amounts to finding a multiple of φ (N), which is the hard problem in RSA.

  1. Write a function that takes a bit length n and generates a modulus N of bitlength n and g less than N and relatively prime to it.
  2. Show the output of your function from part (a) for a few outputs.
  3. Using N, g, n as arguments write a function to perform the hashing.
  4. For the following parts (a)-(d) compute the simple hash:
  5. N = 600107, g = 154835, n = 239715
  6. N = 548155966307, g = 189830397891, n = 44344313866
  7. N = 604766153, g = 12075635, n = 443096843
  8. Write a function that creates a collision given p and q.  Show that your function works for a couple of examples.
Basic features
  • Free title page and bibliography
  • Unlimited revisions
  • Plagiarism-free guarantee
  • Money-back guarantee
  • 24/7 support
On-demand options
  • Writer’s samples
  • Part-by-part delivery
  • Overnight delivery
  • Copies of used sources
  • Expert Proofreading
Paper format
  • 275 words per page
  • 12 pt Arial/Times New Roman
  • Double line spacing
  • Any citation style (APA, MLA, Chicago/Turabian, Harvard)