Algebraic Structures: Groups, Rings, and FieldsThe RSA CryptosystemSlide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9An even simpler systemSlide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30Slide 31Slide 32Slide 33Slide 34Slide 35Slide 36Slide 37Slide 38Slide 39Slide 40Slide 41Slide 42Slide 43What about (Z_n^*, *) ?Slide 45Theorem (Non-trivial)Slide 47SubgroupsExamplesSlide 50Lagrange’s TheoremProof of Lagrange’s TheoremSlide 53Slide 54Slide 55Slide 56Slide 57Slide 58Slide 59CRYPTOGRAPHY based on the presumed computational difficulty of a number theoretic problem.Diffie and Hellman [1976] “New Directions In Cryptography.”Diffie Hellman has an *amazing* feature.Slide 63Study BeeGreat Theoretical Ideas In Computer ScienceAnupam GuptaCS 15-251 Fall 2006Lecture 15 Oct 17, 2006 Carnegie Mellon UniversityAlgebraic Structures:Groups, Rings, and FieldsThe RSA CryptosystemRivest, Shamir, and Adelman (1978)RSA is one of the most used cryptographic protocols on the net. Your browser uses it to establish a secure session with a site.Zn = {0, 1, 2, …, n-1}Zn* = {x 2 Zn | GCD(x,n) =1}Quick raising to power.<Zn, +n>1. Closed2. Associative3. 0 is identity4. Additive InversesFast + and -5. Cancellation6. Commutative<Zn*, *n>1. Closed2. Associative3. 1 is identity4. Multiplicative InversesFast * and /5. Cancellation6. CommutativeFundamental lemma of powers.Suppose x2 Zn*, and a,b,n are naturals.If a ´(n) b Then xa ´n xb Equivalently,xa ´n xa mod (n)Euler Phi Function(n) = size of Zn*p prime ) Zp*= {1,2,3,…,p-1}) (p) = p-1(pq) = (p-1)(q-1) if p,q distinct primesThe RSA CryptosystemRivest, Shamir, and Adelman (1978)RSA is one of the most used cryptographic protocols on the net. Your browser uses it to establish a secure session with a site.Pick secret, random large primes: p,q “Publish”: n = p*q (n) = (p) (q) = (p-1)*(q-1)Pick random e Z*(n)“Publish”: eCompute d = inverse of e in Z*(n)Hence, e*d = 1 [ mod (n) ]“Private Key”: dn,e is my public key. Use it to send me a message.p,q random primes, e random Z*(n)n = p*qe*d = 1 [ mod (n) ]n, ep,q prime, e random Z*(n)n = p*qe*d = 1 [ mod (n) ]message mme [mod n](me)d ´n mAn even simpler systemToday we are going to study the abstract properties of binary operationsRotating a Square in SpaceImagine we can pick up the square, rotate it in any way we want, and then put it back on the white frameIn how many different ways can we put the square back on the frame?R90R180R270R0F|F—F FR90R180R270R0F|F—F FWe will now study these 8 motions, called symmetries of the squareSymmetries of the SquareYSQ = { R0, R90, R180, R270, F|, F—, F , F }CompositionDefine the operation “-” to mean “first do one symmetry, and then do the next”For example,R90 - R180Question: if a,b YSQ, does a - b YSQ?Yes!means “first rotate 90˚ clockwise and then 180˚”= R270F| - R90means “first flip horizontally and then rotate 90˚”= FR90R180R270R0F|F—F FR0R90R180R270F|F—FFR0R90R180R270F|F—F FR90R180R270F|F—FFR180R270R0R270R0R90R0R90R180F F F|F—F—F|F FF F F—F|F F—FF F|FF—F F|F|F F—R0R0R0R0R180R90R270R180R270R90R270R90R180R90R270R180Some FormalismIf S is a set, S S is:the set of all (ordered) pairs of elements of SS S = { (a,b) | a S and b S }If S has n elements, how many elements does S S have? n2Formally, - is a function from YSQ YSQ to YSQ - : YSQ YSQ → YSQAs shorthand, we write -(a,b) as “a - b”“-” is called a binary operation on YSQDefinition: A binary operation on a set S is a function : S S → SExample:The function f: → defined byis a binary operation on f(x,y) = xy + yBinary OperationsIs the operation - on the set of symmetries of the square associative? A binary operation on a set S is associative if:for all a,b,cS, (ab)c = a(bc) AssociativityExamples:Is f: → defined by f(x,y) = xy + yassociative?(ab + b)c + c = a(bc + c) + (bc + c)?NO!YES!A binary operation on a set S is commutative ifFor all a,bS, a b = b a CommutativityIs the operation - on the set of symmetries of the square commutative? NO!R90 - F| ≠ F| - R90R0 is like a null motionIs this true: a YSQ, a - R0 = R0 - a = a?R0 is called the identity of - on YSQIn general, for any binary operation on a set S, an element e S such that for all a S, e a = a e = a is called an identity of on SIdentitiesYES!InversesDefinition: The inverse of an element a YSQ is an element b such that:a - b = b - a = R0 Examples:R90inverse: R270 R180inverse: R180 F|inverse: F|Every element in YSQ has a unique inverseR90R180R270R0F|F—F FR0R90R180R270F|F—FFR0R90R180R270F|F—F FR90R180R270F|F—FFR180R270R0R270R0R90R0R90R180F F F|F—F—F|F FF F F—F|F F—FF F|FF—F F|F|F F—R0R0R0R0R180R90R270R180R270R90R270R90R180R90R270R1803. (Inverses) For every a S there is b S such that:GroupsA group G is a pair (S,), where S is a set and is a binary operation on S such that:1. is associative2. (Identity) There exists an element e S such that:e a = a e = a, for all a S a b = b a = eIf is commutative, then G is called a commutative groupExamplesIs (,+) a group? Is + associative on ?YES!Is there an identity? YES: 0Does every element have an inverse? NO!(,+) is NOT a groupExamplesIs (Z,+) a group? Is + associative on Z?YES!Is there an identity? YES: 0Does every element have an inverse? YES!(Z,+) is a groupExamplesIs (YSQ, -) a group? Is - associative on YSQ?YES!Is there an identity? YES: R0Does every element have an inverse? YES!(YSQ, -) is a groupExamplesIs (Zn,+) a group? Is + associative on Zn?YES!Is there an identity? YES: 0Does every element have an inverse? YES!(Zn, +) is a groupExamplesIs (Zn*, *) a group? Is * associative on Zn*?YES!Is there an identity? YES: 1Does every element have an inverse? YES!(Zn*, *) is a groupTheorem: A group has at most one identity elementProof:Suppose e and f are both identities of G=(S,)Then f = e f = eIdentity Is UniqueTheorem: Every element in a group has a unique inverseProof:Inverses Are UniqueSuppose b and c are both inverses of a Then b = b e = b (a c) = (b a) c = cA group G=(S,) is finite if S is a finite setDefine |G| = |S|
View Full Document