RSA Data Security, Inc. PKCS #1 : RSA Cryptography Standard Jessica Staddon RSA Laboratories PKCS Workshop October 7, 1998.

Slides:



Advertisements
Similar presentations
Hash Function Firewalls in Signature Schemes Burt Kaliski, RSA Laboratories IEEE P1363 Working Group Meeting June 2, 2000 (Rev. June 8, 2000)
Advertisements

Revised 08/16/1999 IEEE P1363: Standard Specifications for Public-Key Cryptography Burt Kaliski Chair, IEEE P1363 August 17, 1999.
Hash Functions A hash function takes data of arbitrary size and returns a value in a fixed range. If you compute the hash of the same data at different.
Some New RSA Mechanisms for PKCS #11 Burt Kaliski, RSA Laboratories PKCS Workshop April 14, 2003.
Digital Signatures Good properties of hand-written signatures: 1. Signature is authentic. 2. Signature is unforgeable. 3. Signature is not reusable (it.
Cryptography and Network Security
Digital Signatures and Hash Functions. Digital Signatures.
Public Key Encryption Algorithm
Session 5 Hash functions and digital signatures. Contents Hash functions – Definition – Requirements – Construction – Security – Applications 2/44.
CNS2010handout 10 :: digital signatures1 computer and network security matt barrie.
CMSC 414 Computer and Network Security Lecture 5 Jonathan Katz.
Introduction to Modern Cryptography Homework assignments.
A Designer’s Guide to KEMs Alex Dent
Fall 2010/Lecture 311 CS 426 (Fall 2010) Public Key Encryption and Digital Signatures.
CS470, A.SelcukRSA1 CS 470 Introduction to Applied Cryptography Instructor: Ali Aydin Selcuk.
1 CIS 5371 Cryptography 9. Data Integrity Techniques.
Network Security – Part 2 V.T. Raja, Ph.D., Oregon State University.
Cryptography1 CPSC 3730 Cryptography Chapter 11, 12 Message Authentication and Hash Functions.
IEEE P1363: Standard Specifications for Public-Key Cryptography
1 Introduction to Information Security , Spring 2015 Lecture 7: Applied cryptography: asymmetric Eran Tromer Slides credit: John Mitchell, Stanford.
1 Message Authentication and Hash Functions Authentication Requirements Authentication Functions Message Authentication Codes Hash Functions Security of.
CN8816: Network Security1 Confidentiality, Integrity & Authentication Confidentiality - Symmetric Key Encryption Data Integrity – MD-5, SHA and HMAC Public/Private.
Csci5233 Computer Security1 GS: Chapter 6 Using Java Cryptography for Authentication.
8. Data Integrity Techniques
CS5204 – Fall Cryptographic Security Presenter: Hamid Al-Hamadi October 13, 2009.
Bob can sign a message using a digital signature generation algorithm
1 Lect. 15 : Digital Signatures RSA, ElGamal, DSA, KCDSA, Schnorr.
Digital Signatures Slides by Kent Seamons and Tim van der Horst Last Updated: Oct 7, 2013.
The RSA Algorithm Rocky K. C. Chang, March
Lecture 15 Lecture’s outline Public algorithms (usually) that are each other’s inverse.
CS555Topic 211 Cryptography CS 555 Topic 21: Digital Schemes (1)
Digital Signatures Good properties of hand-written signatures: 1. Signature is authentic. 2. Signature is unforgeable. 3. Signature is not reusable (it.
CMS Interoperability Matrix Jim Schaad Soaring Hawk Security.
Digital Signatures: Mathematics Zdeněk Říha. Data authentication Data integrity + data origin Digital signature Asymmetric cryptography public and private.
Network Security – Part 2 (Continued) Lecture Notes for May 8, 2006 V.T. Raja, Ph.D., Oregon State University.
1 Optimal Mail Certificates in Mail Payment Applications Leon Pintsov Pitney Bowes 2nd CACR Information Security Workshop 31 March 1999.
PKCS #1 v2.1: RSA Cryptography Standard
1 Lect. 13 : Public Key Encryption RSA ElGamal. 2 Shamir Rivest Adleman RSA Public Key Systems  RSA is the first public key cryptosystem  Proposed in.
Basic Cryptography 1. What is cryptography? Cryptography is a mathematical method of protecting information –Cryptography is part of, but not equal to,
Improving Encryption Algorithms Betty Huang Computer Systems Lab
Public Key Encryption CS432 – Security in Computing Copyright © 2005, 2008 by Scott Orr and the Trustees of Indiana University.
Cryptography Wei Wu. Internet Threat Model Client Network Not trusted!!
On OAEP, PSS, and S/MIME John Linn RSA Laboratories S/MIME WG, San Diego IETF, 13 December 2000.
Códigos y Criptografía Francisco Rodríguez Henríquez PKCS (Public-key cryptography standards)
1 Number Theory and Advanced Cryptography 5. Cryptanalysis of RSA Chih-Hung Wang Sept Part I: Introduction to Number Theory Part II: Advanced Cryptography.
Lecture 8 Overview. Secure Hash Algorithm (SHA) SHA SHA SHA – SHA-224, SHA-256, SHA-384, SHA-512 SHA-1 A message composed of b bits.
A Quick Tour of Cryptographic Primitives Anupam Datta CMU Fall A: Foundations of Security and Privacy.
Rennes, 02/10/2014 Cristina Onete Attacks on RSA. Safe modes.
PKCS #1 v2.1: RSA Cryptography Standard Burt Kaliski, RSA Laboratories PKCS Workshop, 5 October 2000.
Public Key Algorithms Lesson Introduction ●Modular arithmetic ●RSA ●Diffie-Hellman.
PKCS #5: Password-Based Cryptography Standard
Tae-Joon Kim Jong yun Jun
Application support functions Chapter Introduction ASN.1 Security Data encryption Nonrepudiation Authentication Public key certification authorities.
COM 5336 Lecture 8 Digital Signatures
RSA Data Security, Inc. PKCS #13: Elliptic Curve Cryptography Standard Burt Kaliski RSA Laboratories PKCS Workshop October 7, 1998.
Elgamal Public Key Encryption CSCI 5857: Encoding and Encryption.
PKCS #5 v2.0: Password-Based Cryptography Standard
1 Introduction to Information Security , Spring 2016 Lecture 4: Applied cryptography: asymmetric Zvi Ostfeld Slides credit: Eran Tromer.
1 The RSA Algorithm Rocky K. C. Chang February 23, 2007.
The Federal Information Processing Standards (FIPS) Encryption Suite Sean Smith COSC
Data Integrity / Data Authentication. Definition Authentication (Signature) algorithm - A Verification algorithm - V Authentication key – k Verification.
RSA Data Security, Inc. Emerging Standards for Public-Key Cryptography Burt Kaliski Chief Scientist, RSA Laboratories BRICS Summer School in Cryptology.
RSA Laboratories’ PKCS Series - a Tutorial
Dan Brown, Certicom Research November 10, 2004
RSA Digital Signature Standards
Digital signatures.
Cryptography and Network Security
Draft-lamps-cms-shakes-hash-00 (was draft-dang-lamps-cms-shakes-hash-00) Q. Dang, P. Kampanakis National Institute of Standards and Technology.
Diffie-Hellman Key Exchange
Digital Signature Standard (DSS)
Presentation transcript:

RSA Data Security, Inc. PKCS #1 : RSA Cryptography Standard Jessica Staddon RSA Laboratories PKCS Workshop October 7, 1998

© RSA 1998 Outline Update on status of v2.0 Overview of v2.0 content Technical highlights of v2.0 Possibilities for 2.x !

© RSA 1998 Status of v2.0 v2.0 was posted for 30-day review on 7/14/98 v2.0 was submitted as an Internet-Draft to the IETF on 8/6/98 a few comments were received…and the final document was posted on 9/4

© RSA 1998 Overview of v2.0 Encryption schemes: –OAEP-based encryption (Bellare- Rogaway) –v1.5 encryption, for backward compatibility v1.5 signature scheme with appendix ASN.1 syntax –new OIDs for the OAEP-based scheme

RSA Data Security, Inc. Technical Highlights Style RSAES-OAEP Auxiliary functions ASN.1

© RSA 1998 Style and terminology of v2.0 is similar to IEEE P1363: Primitives –encryption and decryption –signature and verification –data conversion Encryption and signature schemes Encoding methods –for encryption and signatures w/ appendix Auxiliary functions

© RSA 1998 Primitives Basic mathematical operations Primitives are used in schemes e.g. RSAEP( (n, e), m): 1. If m is not between 0 and n-1, output “message representative out of range” and stop. 2. Let c = m e mod n. 3. Output c.

© RSA 1998 Schemes Combine primitives and other techniques (e.g. encoding methods) to achieve a particular security goal.

© RSA 1998 RSAES-OAEP (Section 7.1) Within the random oracle model: Provably secure –can tie security to the RSA function Plaintext-aware –“can’t” generate valid ciphertext w/o the plaintext –chosen-ciphertext attacks are ineffective

© RSA 1998 RSAES-OAEP Encrypt (public key, M, P): –EM = EME-OAEP-Encode (M, P) –C = RSAEP (public key, EM) Decrypt (private key, C, P): –EM = RSADP (private key, C) –M = EME-OAEP-Decode (EM, P) M, C bounded, P arbitrary length

© RSA 1998 EME-OAEP-Encode(M, P, emLen) (Section ) Options : Hash output length hLen MGF mask generation function Input : M length at most emLen-1-2hLen P encoding parameters emLen length of output Output: encoded message, EM (length emLen) or, “message too long”, or “parameter string too long” RSAES-OAEP-Encrypt calls this with emLen = k -1

© RSA 1998 EME-OAEP-Encode

© RSA 1998 Auxiliary Functions (Section 10) Hash functions –deterministic functions, variable length input, fixed length output –collision resistance important to deter forgery of v1.5 signatures –SHA-1 is recommended for EME-OAEP –MD2, MD5 and SHA-1 are recommended for all other encoding methods

© RSA 1998 Mask generation functions –deterministic functions –take variable length input and output string of any predetermined length –v2.0 defines an MGF based on a hash function, MGF1 –SHA-1 is the recommended hash function for MGF1

© RSA 1998 MGF1(Z, l) Z is a seed, l is the length of the mask (the output) Let T be the empty string For counter from 0 to  l / hLen  -1, do the following: a.Convert counter to an octet string C of length 4 with the primitive I2OSP: C = I2OSP (counter, 4) b.Concatenate the hash of the seed Z and C to the octet string T: T = T || Hash (Z || C) Output the leading l octets of T as the octet string mask.

© RSA 1998 ASN.1 for RSA-OAEP (Section ) The syntax allows for increased functionality-- other hash functions, other types of MGFs, etc. OID for the RSAES-OAEP encryption scheme: id-RSAES-OAEP OBJECT IDENTIFIER ::= {pkcs-1 7} The parameters field associated with this OID in an AlgorithmIdentifier shall have type RSAEP-OAEP-params :

© RSA 1998 RSAES-OAEP-params ::= SEQUENCE { hashFunc [0] AlgorithmIdentifier{{oaepDigestAlgorith ms}} DEFAULT sha1Identifier, maskGenFunc [1] AlgorithmIdentifier{{pkcs1MGFAlgorithms }} DEFAULT mgf1SHA1Identifier, pSourceFunc [2] AlgorithmIdentifier {{pkcs1pSourceAlgorithms}} DEFAULT pSpecifiedEmptyIdentifier }

© RSA 1998 In v2.0, P is an octet string that’s specified explicitly, although the syntax is more flexible: pkcs1pSourceAlgorithms ALGORITHM- IDENTIFIER ::= {{OCTET STRING IDENTIFIED BY id-pSpecified}} (encoding parameters are specified explicitly) id-pSpecified OBJECT IDENTIFIER ::= {pkcs-1 9} The parameters field for id-pSpecified shall have type OCTET STRING, containing the encoding parameters. pSpecifiedEmptyIdentifier ::=AlgorithmIdentifier {id-pSpecified, OCTET STRING SIZE (0) }

© RSA 1998 If defaults for all the fields in RSAES- OAEP-params are used then the AlgID has the value: RSAES-OAEP-Default-Identifier ::= AlgorithmIdentifier { id-RSAES-OAEP, {sha1Identifier, mgf1SHA1Identifier, pSpecifiedEmptyIdentifier } }

© RSA 1998 Possibilities for v2.x Signature schemes –provable security (PSS) –message recovery (PSS-R, ISO/IEC 9796) –other options (X9.31…) Key generation methods Key validation methods

© RSA 1998 ISO/IEC 9796 An international standard for signatures with message recovery Process involves padding, extending and adding redundancy to messages Not provably secure

© RSA 1998 X9.31 rDSA A hash based encoding method: M  EM = header || padding || H(M) || trailer  f -1 (EM) (f -1 denotes the signature operation)

© RSA 1998 Key generation methods Prime generation methods from ANSI draft X9.79: Prime Number Generation and Validation Methods? Sieving procedures? Primality tests (probabilistic/deterministic)?

© RSA 1998 Key validation methods Still an area of research… Some possibilities... –methods for showing n is product of two primes –method of Liskov and Silverman for showing that the two factors of n are nearly equal