John Jones - MAT 448

Course Links

Main course page

Homework assignments
Algebra for Cryptologists

Notes for beginning of course

Course syllabus

Outside Links

Main ASU site
School of Mathematical and Statistical Sciences

The School of Mathematical and Statistical Sciences main site

MAT 448

Current Grade. Enter the last 4 digits of your affiliate id:

  • 3/10 Results for test 1 are available above. It is out of 100 points (there were extra credit points available). The high score was 108, and the median was 78.
  • 3/8 Here are solutions to Test 1.
  • 2/21 Test 1 is coming up. It covers from the beginning of the course through the homework due 2/22. Knowing how to do all of the homework problems will not guarantee a perfect score, but it is a really good place to start.

    Some topics to be sure you can work with are:

    • Homogenizing and dehomogenizing equations
    • Start with an affine equation and compute points at infinity
    • Test if an equation is singular
    • For an element of a group, the notions of order and torsion
    • Identify the structure of an abelian group given information about the orders of elements
    • LFSRs
    There may also be some proofs using the material described above, but the emphasis will be on computation.
  • 2/11 Office hours are cancelled for February 14 while I am covering a class for another faculty member.
  • 2/11 Here is the code we will use in class to produce a list of points on the elliptic curve $y^2=x^3+Ax+B$ over $\mathbb{F}_p$. It is the least efficient/most brute force way to find the points. For it to work, you need to substitute particular values for $A$, $B$, and $p$, so that is included at the beginning.
    for(x=0,p-1, for(y=0,p-1, if((y^2-(x^3+A*x+B)) % p == 0, group=concat(group,[[x,y]]))))
    You can do the same thing, a little more simply with the following. The difference is that this time we initialize the elliptic curve and let gp test if each point is on the curve.
    e = ellinit([A,B], p)
    for(x=0,p-1, for(y=0,p-1, if(ellisoncurve(e,[x,y]), group=concat(group,[[x,y]]))))
    One step further is to make our own function to search for points:
      if(e==[], return([])); /* It wasn't an elliptic curve */
      my(group=[[0]],p=component(e.disc,1)); /* Figures out p from the curve */
    	  if(ellisoncurve(e,[x,y]), group=concat(group,[[x,y]]))
    After loading this, you just need
    To get a list of orders of the points,
    e = ellinit([2,3],19)
    group = searche(e)
    To tally up how many elements of each order:
    tally(list) = my(v=vector(#list));for(j=1,#list, v[list[j]]++); return(v)
    e = ellinit([2,3],19)
    group = searche(e)
    print("Group: ", group)
    print("Orders: ", orders)
  • 2/11 The pari group has an online gp calculator for people to use. In testing, it worked better than the sage cell server.
  • 1/17 Here is a html version of the course notes. The content is the same, but the numbering of things (propositions, exercises, etc.) is different, a byproduct of the conversion process.
  • 12/29 Office hours are cancelled for January 10 and 11 while I am at a conference.
  • 12/7 In class, we will use Pari/gp for computations. It is free software, is good generally for number theory, and has many commands for working with elliptic curves.
  • The beginning of the course will be based on these notes Algebra for Cryptologists
  • About this course
    This is a course in elliptic curves in cryptography. The start of the course introduces some concepts from abstract algebra (groups, rings, and fields). We then define elliptic curves and look at some of their basic properties. Finally, we consider how they are used in a variety of cryptographic situations.
  • Exams:
    • Test 1: March 1
    • Test 2: April 17
    • Final: May 1
  • Office hours: Tuesdays and Thursdays 10:30-11:20, Wednesdays 1:00-1:50, and by appointment.
  • ASU Student Code of Conduct, especially F1 and G.
  • ASU policy on rescheduling final exams: ACD 304-01
  • ASU policy on missed classes.
  • Isogeny gallery
Last Update: March 10, 2018

Physical Sciences, A-Wing

Contact us



Apply to ASU: undergraduate | graduate

Course catalogs

Accessibility | Privacy| Copyright

Last Modified: March 10, 2018