Πανεπιστήμιο Κύπρου Τμήμα Πληροφορικής (Χειμερινό Εξάμηνο 2014) ΕΠΛ 475: Ασφάλεια Δικτύων Η/Υ & Πληροφοριών. Εργαστήριο 5

Σχετικά έγγραφα
Αννα Νταγιου ΑΕΜ: 432. Εξαμηνο 8. Ερώτηση 1. Πληκτρολογήστε την εντολή: openssl help Παρατηρήστε τις πληροφορίες που λαµβάνετε.

EPL475:Εργαστήριο 4, openssl Assymmetric Encryption

EPL475:Εργαστήριο 2, openssl

Ρ ΓΑ Σ Τ Ή Ρ Ι Ο 8 Α Σ Φ Ά Λ Ε Ι Α Σ Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Ώ Ν Σ Υ Σ Τ Η Μ ΆΤ Ω Ν

1. Κατεβάστε και εγκαταστήσετε το openssl από τη διεύθυνση

Parts Manual. Trio Mobile Surgery Platform. Model 1033

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

ΕΑΠ/ΠΛΗ22/ΑΘΗ.3 4 η ΟΣΣ 15/03/2014 Συμπληρωματικές Διαφάνειες

Πίνακας ρυθμίσεων στο χώρο εγκατάστασης

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

derivation of the Laplacian from rectangular to spherical coordinates

Οι απειλές. Απόρρητο επικοινωνίας. Αρχές ασφάλειας δεδομένων. Απόρρητο (privacy) Μέσω κρυπτογράφησης

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Τμήμα Τηλεπληροφορικής & Διοίκησης

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών Ασφάλεια Δεδομένων.

Δίκτυα Υπολογιστών Ενότητα 6: Secure Sockets Layer - SSL

The Simply Typed Lambda Calculus

Finite Field Problems: Solutions

Homework 3 Solutions

Partial Trace and Partial Transpose

!"#$%& '!(#)& a<.21c67.<9 /06 :6>/ 54.6: 1. ]1;A76 _F -. /06 4D26.36 <> A.:4D6:6C C4/4 /06 D:43? C</ O=47?6C b*dp 12 :1?6:E /< D6 3:4221N6C 42 D:A6 O=

Matrices and Determinants

Block Ciphers Modes. Ramki Thurimella

6.1. Dirac Equation. Hamiltonian. Dirac Eq.

2. THEORY OF EQUATIONS. PREVIOUS EAMCET Bits.

Η ΑΝΘΥΦΑΙΡΕΤΙΚΗ ΕΡΜΗΝΕΙΑ ΤΗΣ ΕΞΩΣΗΣ ΤΗΣ ΠΟΙΗΣΗΣ ΣΤΟ ΔΕΚΑΤΟ ΒΙΒΛΙΟ ΤΗΣ ΠΟΛΙΤΕΙΑΣ ΤΟΥ ΠΛΑΤΩΝΟΣ

HY150a Φροντιστήριο 3 24/11/2017

9.09. # 1. Area inside the oval limaçon r = cos θ. To graph, start with θ = 0 so r = 6. Compute dr

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Τμήμα Τηλεπληροφορικής & Διοίκησης

Αυτό το κεφάλαιο εξηγεί τις ΠΑΡΑΜΕΤΡΟΥΣ προς χρήση αυτού του προϊόντος. Πάντα να μελετάτε αυτές τις οδηγίες πριν την χρήση.

Χρήστος Ξενάκης Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιά

Phys460.nb Solution for the t-dependent Schrodinger s equation How did we find the solution? (not required)

Οδηγίες Εγκατάστασης και Χρήσης Ψηφιακών Πιστοποιητικών

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο

Εισαγωγή στη Βιοπληροφορική

3.4 SUM AND DIFFERENCE FORMULAS. NOTE: cos(α+β) cos α + cos β cos(α-β) cos α -cos β

UNIVERSITY OF CALIFORNIA. EECS 150 Fall ) You are implementing an 4:1 Multiplexer that has the following specifications:

Οδηγίες Αγοράς Ηλεκτρονικού Βιβλίου Instructions for Buying an ebook

Ασφάλεια Υπολογιστικών Συστημάτων

ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός. Εργαστήριο Αρ. 2

Instruction Execution Times

Section 8.3 Trigonometric Equations

Section 9.2 Polar Equations and Graphs

Κρυπτογραφία. Κεφάλαιο 1 Γενική επισκόπηση

Space weather influences on atmospheric electricity

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 133: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade

Δημιουργία Λογαριασμού Διαχείρισης Business Telephony Create a Management Account for Business Telephony

VBA ΣΤΟ WORD. 1. Συχνά, όταν ήθελα να δώσω ένα φυλλάδιο εργασίας με ασκήσεις στους μαθητές έκανα το εξής: Version ΗΜΙΤΕΛΗΣ!!!!

Assalamu `alaikum wr. wb.

Solutions to Exercise Sheet 5

Supplementary Information 1.

ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΑΚΥΒΕΡΝΗΣΗ ΣΤΗΝ ΕΕ

ΤΕΙ Κρήτης Τμήμα Μηχανικών Πληροφορικής. Συμμετρική Κρυπτογραφία

Carolina Bernal, Frédéric Christophoul, Jean-Claude Soula, José Darrozes, Luc Bourrel, Alain Laraque, José Burgos, Séverine Bès de Berc, Patrice Baby

Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών. Aσφάλεια

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 11η Διάλεξη: Ασφάλεια στο Web

Εισαγωγή στην επιστήμη της Πληροφορικής και των. Aσφάλεια

SIEMENS Squirrel Cage Induction Standard Three-phase Motors

Example Sheet 3 Solutions

Section 7.6 Double and Half Angle Formulas

Εφαρμοσμένη Κρυπτογραφία Ι

8.3.4 Τεχνικές Ασφάλειας Συμμετρική Κρυπτογράφηση Ασυμμετρική Κρυπτογράφηση Ψηφιακές Υπογραφές

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής

ΑΣΚΗΣΕΙΣ ΓΙΑ ΤΟ ΕΡΓΑΣΤΗΡΙΟ 2

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο

CloudBox!: Ένα εργαλείο cloud αποθήκευσης αρχείων με κατανεμημένο τρόπο

A ΜΕΡΟΣ. 1 program Puppy_Dog; 2 3 begin 4 end. 5 6 { Result of execution 7 8 (There is no output from this program ) 9 10 }

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο. Ψηφιακή Υπογραφή και Αυθεντικοποίηση Μηνύματος

ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ Lab 3

ΠΡΟΣ: Κάθε ενδιαφερόμενο. Θεσσαλονίκη, 18 /11/2016

Ασφάλεια Υπολογιστικών Συστηµάτων

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

ANSWERSHEET (TOPIC = DIFFERENTIAL CALCULUS) COLLECTION #2. h 0 h h 0 h h 0 ( ) g k = g 0 + g 1 + g g 2009 =?

-! " #!$ %& ' %( #! )! ' 2003

CMOS Technology for Computer Architects

department listing department name αχχουντσ ϕανε βαλικτ δδσϕηασδδη σδηφγ ασκϕηλκ τεχηνιχαλ αλαν ϕουν διξ τεχηνιχαλ ϕοην µαριανι

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/2006

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #2

Modern Greek Extension

Ερµήνευση Boot Sector :

Θ. Ζαχαριάδης Αν. Καθηγητής. Λ. Σαράκης Καθ. Εφαρμογών

Διάλεξη 20: Χαμηλού Επιπέδου Προγραμματισμός II

ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ

Cable Systems - Postive/Negative Seq Impedance

CHAPTER 25 SOLVING EQUATIONS BY ITERATIVE METHODS

ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ)

MathCity.org Merging man and maths

Ρυθμίσεις Ψηφιακής Υπογραφής για έγγραφα μορφής PDF στο ΕΚΕΦΕ Δημόκριτος

Αλγόριθµοι δηµόσιου κλειδιού

Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης)

ΠΡΟΜΗΘΕΙΑ ΔΗΜΟ ΛΕΒΑΔΕΩΝ

Fractional Colorings and Zykov Products of graphs

ΤΕΧΝΟΛΟΓΙΕΣ ΠΟΛΥΜΕΣΩΝ

Mock Exam 7. 1 Hong Kong Educational Publishing Company. Section A 1. Reference: HKDSE Math M Q2 (a) (1 + kx) n 1M + 1A = (1) =


ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο

Transcript:

Πανεπιστήμιο Κύπρου Τμήμα Πληροφορικής (Χειμερινό Εξάμηνο 2014) ΕΠΛ 475: Ασφάλεια Δικτύων Η/Υ & Πληροφοριών Εργαστήριο 5 ΕΝΤΟΛΗ: openssl (Linux) Το OpenSSL είναι μια βιβλιοθήκη κρυπτογράφησης για την υλοποίηση των πρωτοκόλλων SSL (Secure Sockets Layer) και TLS (Transport Layer Security). Το πρόγραμμα openssl χρησιμοποιεί συναρτήσεις της βιβλιοθήκης OpenSSL για τη δημιουργία κλειδιών τόσο συμμετρικής όσο και ασύμμετρης κρυπτογράφησης, για την υλοποίηση διαδικασιών κρυπτογράφησης και αποκρυπτογράφησης καθώς και για τις διαδικασίες υπογραφής και επαλήθευσης. Γενική μορφή σύνταξης: openssl command <command_options> <command_args> Για να δείτε το σύνολο των εντολών (commands) που υποστηρίζονται, δώστε μια λάθος εντολή (που δεν υποστηρίζεται π.χ. openssl help) 1) Αφού συνδεθείτε μέσω στο εργαστήριο των Linux (μέσω nxclient), δημιουργείστε μέσα στον προσωπικό σας φάκελο (folder) το φάκελο openssl. Εν συνεχεία ανοίξτε ένα παράθυρο στο οποίο να βλέπετε τα περιεχόμενα του φακέλου openssl. a. Στον παραπάνω φάκελο δημιουργείστε το αρχείο lab5.txt στο οποίο θα γράψετε μέσα το όνομα, το επίθετο και το ID σας (π.χ. Pavlos Antoniou 817651). Αποθηκεύστε και κλείστε το αρχείο. b. Στο terminal πληκτρολογείστε την εντολή: openssl des3 e in lab5.txt out testdes3.txt Θα σας ζητηθεί συνθηματικό και επιβεβαίωσή του (επιλέγετε κατά βούληση). Η παραπάνω εντολή χρησιμοποιεί το συμμετρικό αλγόριθμο κρυπτογράφησης TripleDES (des3) προκειμένου να κρυπτογραφήσει (-e) το αρχείο που δηλώνετε ως είσοδος (-in lab5.txt) και να παράγει έξοδο το αρχείο testdes3.txt ( out testdes3.txt). c. Ανοίξτε το αρχείο testdes3.txt με ένα editor (emacs ή gedit). d. Για την αποκρυπτογράφηση (-d) του testdes3.txt στο testdes3dec.txt πληκτρολογείστε την εντολή: openssl des3 d in testdes3.txt out testdes3dec.txt Το αρχείο testdes3dec.txt θα πρέπει να περιέχει ότι και το αρχείο lab5.txt. e. οκιμάστε τις εντολές: openssl des3 e a in lab5.txt out testdes3b.txt και openssl des3 d a in testdes3b.txt out testdes3bdec.txt και συγκρίνετε τα αρχεία testdes3.txt και testdes3b.txt. Το αρχείο testdes3bdec.txt θα πρέπει να περιέχει ότι και το αρχείο lab5.txt. Η επιλογή της παραμέτρου a μαζί με το e επιτρέπει την κωδικοποίηση του περιεχομένου του lab5.txt σε base64 encoding (χρησιμοποιείται για κωδικοποίηση δυαδικών αρχείων binary files που πρέπει να σταλούν πάνω από μέσα τα οποία είναι σχεδιασμένα να επεξεργάζονται αρχεία κειμένου textual data βλέπε μεταφορά εικόνων σαν attachments μέσω μηνυμάτων ηλεκτρονικού ταχυδρομείου). 2) Μεταφερθείτε στο terminal: a. πληκτρολογείστε την εντολή: openssl enc help και θα δείτε τις επιλογές που έχετε για χρήση κρυπτογραφικών αλγορίθμων. - 1 -

b. Κρυπτογραφείστε και αποκρυπτογραφείστε το αρχείο lab5.txt με τον συμμετρικό αλγόριθμο Blowfish. Ονομάστε το κρυπτογραφημένο αρχείο testbf.txt και το αποκρυπτογραφημένο testbfdec.txt. 3) Ο RSA είναι αλγόριθμος ασύμμετρης κρυπτογράφησης. Κατά την κρυπτογράφηση απαιτεί τη χρήση δημοσίου κλειδιού, ενώ κατά την αποκρυπτογράφηση τη χρήση ιδιωτικού κλειδιού. a. Με την εντολή: openssl genrsa out private.key 1024 θα δημιουργηθεί το ιδιωτικό κλειδί private.key του RSA μήκους 1024 bits. b. Για τη δημιουργία του δημόσιου κλειδιού public.pem από το ιδιωτικό κλειδί private.key που φτιάξαμε στο προηγούμενο βήμα θα πρέπει να δώσετε την εντολή: openssl rsa in private.key pubout out public.pem c. Κατασκευάστε και ένα 2 ο δημόσιο κλειδί public2.pem από το ίδιο ιδιωτικό private.key. d. Ανοίξτε με το WordPad τα αρχεία private.key, public.pem και public2.pem. Τί παρατηρείτε για τα public.pem και public2.pem, είναι αναμενόμενο; e. Για να κρυπτογραφήσουμε το lab5.txt θα χρησιμοποιήσουμε το public.pem. Η εντολή είναι: openssl rsautl encrypt inkey public.pem pubin in lab5.txt out testrsa.txt f. Για να αποκρυπτογραφήσουμε το testrsa.txt θα χρησιμοποιήσουμε το private.key. Η εντολή είναι: openssl rsautl decrypt inkey private.key in testrsa.txt out testrsadec.txt 4) Ανταλλάξτε σε ζεύγη μέσω mail με τον διπλανό σας τα δημόσια κλειδιά σας. Για να γίνει αυτό αντιγράψτε, επικολλείστε και μετονομάστε το public.pem σε publicid.pem, όπου ID ο αριθμός ταυτότητάς σας, για παράδειγμα public811765.pem. Στη συνέχεια στείλτε στο διπλανό σας, του οποίου το δημόσιου κλειδί έχετε, ένα επισυναπτόμενο κρυπτογραφημένο αρχείο με το δικό του δημόσιο κλειδί. Αντίστοιχα θα παραλάβει ο καθένας σας ένα κρυπτογραφημένο αρχείο με το δικό σας δημόσιο κλειδί. Αποκρυπτογραφείστε το με το private.key σας. 5) Χρησιμοποιώντας το private.key μπορείτε να υπογράψετε ψηφιακά ένα αρχείο. a. Με την εντολή: openssl rsautl sign inkey private.key in lab5.txt out testsigned.txt θα παραχθεί από το αρχείο lab4.txt το υπογεγραμμένο testsigned.txt. b. Με την εντολή: openssl rsautl verify inkey public.pem pubin in testsigned.txt out testverified.txt κάνετε επαλήθευση της ψηφιακής υπογραφής. 6) Υπογράψτε ένα αρχείο και στείλτε το μέσω mail στον διπλανό σας ο οποίος έχει το δικό σας δημόσιο κλειδί. Αντίστοιχα θα παραλάβει ο καθένας σας ένα υπογεγραμμένο αρχείο με το ιδιωτικό κλειδί του διπλανού του. Επαληθεύστε την υπογραφή με το δημόσιο κλειδί του διπλανού σας. - 2 -

OpenSSL 1024 bit RSA Private Key Breakdown (http://etherhack.co.uk/asymmetric/docs/rsa_key_breakdown.html) On Linux, using the following command generated this key: openssl genrsa -out rsa_1024_priv.pem 1024 To understand how the key is broken down into its respective components, execute the following additional command: openssl rsa -text -in rsa_1024_priv.pem Alternatively, you can do what I did and breakdown the individual components by hand - in order to learn how the data structure actually works. Firstly, the data block has to be decoded from it's standard Base64 format, so remove the "-----BEGIN..." lines at the start and end of the file and convert the data into Hexadecimal. The data block is now in a format we can read (sort of). Using Abstract Syntax Notation 1 (or ASN.1), we can read and identify the Distinguished Encoding Rules (DER) encoded components contained within this data. Although the only data stored in this instance of the ASN format is of type Integer, other standard variable types are listed here for clarity. When the Integer type is used in this context, it is followed by the length in bytes for the following data object, and then the data itself, as can be seen below. 0x02 == Integer 0x03 == Bit String 0x04 == Octet String 0x05 == NULL 0x06 == Object Identifier 0x10 == "Sequence" and "Sequence of" 0x11 == "Set" and "Set of" 0x13 == Printable String 0x14 == T61 String 0x16 == IA5 String 0x17 == UTC Time 0x30 82 == ASN1 Sequence 1024 bit RSA Private Key in Base64 Format -----BEGIN RSA PRIVATE KEY----- MIICXgIBAAKBgQDHikastc8+I81zCg/qWW8dMr8mqvXQ3qbPAmu0RjxoZVI47tvs kylfaxof0sprho2nuuoojngnhv0639itteyg1vcknaw2r6u5qtdq5rq5u+uv3pmk 7w7Vs4n3urQ6jnqt2rTXbC1DNa/PFeAZatbf7ffBBy0IGO0zc128IshYcwIDAQAB AoGBALTNl2JxTvq4SDW/3VH0fZkQXWH1MM10oeMbB2qO5beWb11FGaOO77nGKfWc bygfp5ogrql4yhbvlaxnxh8bcqqwortfhlyv68u1y4r+8wxdnh0aevxh8hrs/1x5 031DJm1JlU0E+vStiktN0tC3ebH5hE+1OxbIHSZ+WOWLYX7JAkEA5uigRgKp8ScG auuijvdolzihhwq7y5wz+nohuudw8p7wotku34qjaowee771p9pf/gta/kr0bqnp QvWUDxGzJwJBAN05C6krwPeryFKrKtjOGJIniIoY72wRnoNcdEEs3HDRhf48YWFo rirbzylzzznfy/gmzt6xjqtfktgqq+fzd9ucqgijagrxhjgfmpduahmzgsusyttr irox0d1iqa7dhe693t5abg010of6mlqdza1cxrn5srtuvvacslzel/2j5uccqqda d3mxucnnn4npus/l9hmyjwd7lpoosaorcgyk77bssngk+u9wsjbh1uyiaipsffuz bti+jc1dug5wb+aezlgjakeaurrpmpqj5vg087zngkffgr5rozditsk5dcetv97k a3y+nzl+xwtxdbwk4yph2zlkv402hzefwbyxudn5zkh/bw== -----END RSA PRIVATE KEY----- - 3 -

Private Key in Hexadecimal Format In this example, the Hexadecimal values have been paired for clarity, but in the other examples (see links at the top of this page) the values have not been separated. Parts highlighted below, in order: ASN.1 Header Algorithm Version Modulus Public Exponent Private Exponent prime1 prime2 exponent 1 exponent 2 coefficient -----BEGIN RSA PRIVATE KEY----- 30 82 02 5e 02 01 00 02 81 81 00 c7 8a 46 ac b5 cf 3e 23 cd 73 0a 0f ea 59 6f 1d 32 bf 26 aa f5 d0 de a6 cf 02 6b b4 46 3c 68 65 52 38 ee db ec 91 89 45 01 73 9f d2 c3 eb 84 ed a7 52 ea 28 26 78 27 1d 5d 3a df d8 93 4c 46 06 d6 f7 24 35 a5 b6 47 a5 39 41 37 50 e5 1a b9 bb eb 95 de 93 24 ef 0e d5 b3 89 f7 ba b4 3a 8e 7a ad da b4 d7 6c 2d 43 35 af cf 15 e0 19 6a d6 df ed f7 c1 07 2d 08 18 ed 33 73 5d bc 22 c8 58 73 02 03 01 00 01 02 81 81 00 b4 cd 97 62 71 4e fa b8 48 35 bf dd 51 f4 7d 99 10 5d 61 f5 30 cd 74 a1 e3 1b 07 6a 8e e5 b7 96 6f 5d 45 19 a3 8e ef b9 c6 29 f5 9c 6d 88 1f a7 93 a0 ae a9 78 ca 10 6f 2c 05 e7 c4 7f 1b 72 aa b0 39 1b 45 86 5c 95 eb c5 35 cb 84 7e f1 6c 43 36 1d 1a 7a fc 47 f2 14 52 ff 55 f9 d3 7d 43 26 6d 49 95 4d 04 fa f4 ad 8a 4b 4d d2 d0 b7 79 b1 f9 84 4f b5 3b 16 c8 1d 26 7e 58 e5 8b 61 7e c9 02 41 00 e6 e8 a0 46 02 a9 f1 27 06 6a e5 22 8e f7 4e 2d 92 21 1d 6a bb cb 95 b3 fa 73 87 52 e0 f0 f0 fe f0 39 32 94 df 84 09 02 85 84 7b be f5 a7 d3 df fc 64 c0 fe 4a f4 05 09 cf 42 f5 94 0f 11 b3 27 02 41 00 dd 39 0b a9 2b c0 f7 ab c8 52 ab 2a d8 ce 18 92 27 88 8a 18 ef 6c 11 9e 83 5c 74 41 2c dc 70 d1 85 fe 3c 61 61 68 ae 24 5b 67 29 73 cf 33 45 cb f8 26 cd 3e 97 25 04 df 92 d1 aa ab e1 59 0f d5 02 40 62 09 68 6a f1 1c 98 1f 9a 90 ee 02 13 33 1a c5 2c 62 d4 eb 89 1a 31 d0 3d 48 a9 ae dd 84 4e bd de de 5a 04 6d 35 d0 e1 7a 30 ba 9d 64 0d 42 5e b9 f9 49 1b 6e 55 56 82 48 b6 44 2f fd 89 e5 47 02 41 00 c0 77 73 17 b9 c3 67 37 83 4f b9 2f cb f4 73 18 25 60 fb 94 fa 28 b1 a3 91 72 0c 8a ef b6 d2 48 d8 24 fa ef 56 4a 36 c7 d6 e6 08 00 83 d2 7d f5 19 6e d8 be 8d cd 5d 52 0e 70 6f e6 9e 66 58 09 02 41 00 ba ba e9 9a 9a a3 e6 f8 34 f3 b6 67 80 a7 c5 19 1e 6b a3 30 e2 4e c2 b9 0d c7 93 57 de ca 6b 76 3e 37 39 7e 5d 64 f1 0c 15 a4 e1 83 e1 d9 99 4a bf 8d 36 85 91 1f 58 16 31 50 39 f9 66 41 ff 6f -----END RSA PRIVATE KEY----- Extracted Key Components, in order of appearance Private-Key: header: 30 82 02 5e (0x3082 == ASN.1 Sequence) 02 01 (0x02 == Integer and 0x01 == 1 byte long) algorithm version: 00 (0x00 == version zero) 02 81 81 (0x02 == Integer and 0x81 == 129 bytes long) - 4 -

modulus: (129 bytes - starts with a null (0x00), remove this.) 00 c7 8a 46 ac b5 cf 3e 23 cd 73 0a 0f ea 59 6f 1d 32 bf 26 aa f5 d0 de a6 cf 02 6b b4 46 3c 68 65 52 38 ee db ec 91 89 45 01 73 9f d2 c3 eb 84 ed a7 52 ea 28 26 78 27 1d 5d 3a df d8 93 4c 46 06 d6 f7 24 35 a5 b6 47 a5 39 41 37 50 e5 1a b9 bb eb 95 de 93 24 ef 0e d5 b3 89 f7 ba b4 3a 8e 7a ad da b4 d7 6c 2d 43 35 af cf 15 e0 19 6a d6 df ed f7 c1 07 2d 08 18 ed 33 73 5d bc 22 c8 58 73 02 03 (0x02 == Integer and 0x03 == 3 bytes long) public exponent: (3 bytes) 01 00 01 (Integer value 65537, Fermat Number F4) 02 81 81 (0x02 == Integer and 0x81 == 129 bytes long) private exponent: (129 bytes - starts with a null, remove this) 00 b4 cd 97 62 71 4e fa b8 48 35 bf dd 51 f4 7d 99 10 5d 61 f5 30 cd 74 a1 e3 1b 07 6a 8e e5 b7 96 6f 5d 45 19 a3 8e ef b9 c6 29 f5 9c 6d 88 1f a7 93 a0 ae a9 78 ca 10 6f 2c 05 e7 c4 7f 1b 72 aa b0 39 1b 45 86 5c 95 eb c5 35 cb 84 7e f1 6c 43 36 1d 1a 7a fc 47 f2 14 52 ff 55 f9 d3 7d 43 26 6d 49 95 4d 04 fa f4 ad 8a 4b 4d d2 d0 b7 79 b1 f9 84 4f b5 3b 16 c8 1d 26 7e 58 e5 8b 61 7e c9 prime1: (65 bytes - starts with a null, remove this) 00 e6 e8 a0 46 02 a9 f1 27 06 6a e5 22 8e f7 4e 2d 92 21 1d 6a bb cb 95 b3 fa 73 87 52 e0 f0 f0 fe f0 39 32 94 df 84 09 02 85 84 7b be f5 a7 d3 df fc 64 c0 fe 4a f4 05 09 cf 42 f5 94 0f 11 b3 27 prime2: (65 bytes - starts with a null, remove this) 00 dd 39 0b a9 2b c0 f7 ab c8 52 ab 2a d8 ce 18 92 27 88 8a 18 ef 6c 11 9e 83 5c 74 41 2c dc 70 d1 85 fe 3c 61 61 68 ae 24 5b 67 29 73 cf 33 45 cb f8 26 cd 3e 97 25 04 df 92 d1 aa ab e1 59 0f d5 02 40 (0x02 == Integer and 0x40 == 64 bytes long) exponent1: (64 bytes) 62 09 68 6a f1 1c 98 1f 9a 90 ee 02 13 33 1a c5 2c 62 d4 eb 89 1a 31 d0 3d 48 a9 ae dd 84 4e bd de de 5a 04 6d 35 d0 e1 7a 30 ba 9d 64 0d 42 5e b9 f9 49 1b 6e 55 56 82 48 b6 44 2f fd 89 e5 47 exponent2: (65 bytes - starts with a null, remove this) 00 c0 77 73 17 b9 c3 67 37 83 4f b9 2f cb f4 73 18 25 60 fb 94 fa 28 b1 a3 91 72 0c 8a ef b6 d2 48 d8 24 fa ef 56 4a 36 c7 d6 e6 08 00-5 -

83 d2 7d f5 19 6e d8 be 8d cd 5d 52 0e 70 6f e6 9e 66 58 09 coefficient: (65 bytes - always starts with a null) 00 ba ba e9 9a 9a a3 e6 f8 34 f3 b6 67 80 a7 c5 19 1e 6b a3 30 e2 4e c2 b9 0d c7 93 57 de ca 6b 76 3e 37 39 7e 5d 64 f1 0c 15 a4 e1 83 e1 d9 99 4a bf 8d 36 85 91 1f 58 16 31 50 39 f9 66 41 ff 6f OpenSSL 1024 bit RSA Public Key Breakdown Using Linux, the following command generated this public key: openssl rsa -pubout -in rsa_1024_priv.pem -out rsa_1024_pub.pem -----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHikastc8+I81zCg/qWW8dMr8m qvxq3qbpamu0rjxozvi47tvskylfaxof0sprho2nuuoojngnhv0639itteyg1vck NaW2R6U5QTdQ5Rq5u+uV3pMk7w7Vs4n3urQ6jnqt2rTXbC1DNa/PFeAZatbf7ffB By0IGO0zc128IshYcwIDAQAB -----END PUBLIC KEY----- Public Key in Hexadecimal Format Parts in bold, in order: Modulus Public Exponent -----BEGIN PUBLIC KEY----- 30 81 9f 30 0d 06 09 2a 86 48 86 f7 0d 01 01 01 05 00 03 81 8d 00 30 81 89 02 81 81 00 c7 8a 46 ac b5 cf 3e 23 cd 73 0a 0f ea 59 6f 1d 32 bf 26 aa f5 d0 de a6 cf 02 6b b4 46 3c 68 65 52 38 ee db ec 91 89 45 01 73 9f d2 c3 eb 84 ed a7 52 ea 28 26 78 27 1d 5d 3a df d8 93 4c 46 06 d6 f7 24 35 a5 b6 47 a5 39 41 37 50 e5 1a b9 bb eb 95 de 93 24 ef 0e d5 b3 89 f7 ba b4 3a 8e 7a ad da b4 d7 6c 2d 43 35 af cf 15 e0 19 6a d6 df ed f7 c1 07 2d 08 18 ed 33 73 5d bc 22 c8 58 73 02 03 01 00 01 -----END PUBLIC KEY----- Extracted Public Key Components header: 30 81 9f 30 0d 06 09 2a 86 48 86 f7 0d 01 01 01 05 00 03 81 8d 00 30 81 89 02 81 81 modulus: 00 c7 8a 46 ac b5 cf 3e 23 cd 73 0a 0f ea 59 6f 1d 32 bf 26 aa f5 d0 de a6 cf 02 6b b4 46 3c 68 65 52 38 ee db ec 91 89 45 01 73 9f d2 c3 eb 84 ed a7 52 ea 28 26 78 27 1d 5d 3a df d8 93 4c 46 06 d6 f7 24 35 a5 b6 47 a5 39 41 37 50 e5 1a b9 bb eb 95 de 93 24 ef 0e d5 b3 89 f7 ba b4 3a 8e 7a ad da b4 d7 6c 2d 43 35 af cf 15 e0 19 6a d6 df ed f7 c1 07 2d 08 18-6 -

ed 33 73 5d bc 22 c8 58 73 02 03 public exponent: 01 00 01-7 -