This document provides an introduction to cryptography and security mechanisms. It includes sample quiz questions about block cipher block sizes, modes of operation, and key management for block and stream ciphers. It also outlines learning objectives and sections for a unit on public key algorithms, including explaining the basic principles of RSA, ElGamal, and Diffie-Hellman key exchange. Examples are provided for setting up and performing encryption and decryption with RSA and ElGamal.
This document discusses public key cryptography and the RSA encryption algorithm. It provides an overview of public key cryptography, how the RSA algorithm works using a public and private key pair, and some of its applications. The RSA algorithm is based on the difficulty of factoring large prime numbers and allows for secure communication without needing to share secret keys. Some advantages are convenience and enabling message authentication and non-repudiation using digital signatures, while disadvantages include slower performance and the need to authenticate public keys.
RSA is an asymmetric cryptographic algorithm used for encrypting and decrypting messages. It uses a public key for encryption and a private key for decryption such that a message encrypted with the public key can only be decrypted with the corresponding private key. The RSA algorithm involves three steps: key generation, encryption, and decryption. It addresses issues of key distribution and digital signatures.
Cryptography is the practice and study of techniques for conveying information security.
The goal of Cryptography is to allow the intended recipients of the message to receive the message securely.
The most famous algorithm used today is RSA algorithm
Public Key Cryptography uses two keys - a public key that can encrypt messages and verify signatures, and a private key that can decrypt messages and create signatures. The RSA algorithm, the most widely used public key algorithm, is based on the mathematical difficulty of factoring large prime numbers. It works by having users generate a public/private key pair using two large prime numbers and performing modular exponentiation. The security of RSA relies on the fact that it is computationally infeasible to derive the private key from the public key and modulus.
Cryptosystem An Implementation of RSA Using Verilogijcncs
This document describes an implementation of the RSA cryptosystem using Verilog for an FPGA. It presents the design of modules for key generation, encryption, and decryption. For key generation, it generates random prime numbers using an LFSR and primality tester, then calculates the public and private keys. Encryption and decryption are performed through modular exponentiation implemented with a right-to-left binary method. The modules are coded in Verilog and synthesized for an FPGA to provide a secure cryptosystem.
This document discusses public key cryptography and the RSA encryption algorithm. It provides an overview of public key cryptography, how the RSA algorithm works using a public and private key pair, and some of its applications. The RSA algorithm is based on the difficulty of factoring large prime numbers and allows for secure communication without needing to share secret keys. Some advantages are convenience and enabling message authentication and non-repudiation using digital signatures, while disadvantages include slower performance and the need to authenticate public keys.
RSA is an asymmetric cryptographic algorithm used for encrypting and decrypting messages. It uses a public key for encryption and a private key for decryption such that a message encrypted with the public key can only be decrypted with the corresponding private key. The RSA algorithm involves three steps: key generation, encryption, and decryption. It addresses issues of key distribution and digital signatures.
Cryptography is the practice and study of techniques for conveying information security.
The goal of Cryptography is to allow the intended recipients of the message to receive the message securely.
The most famous algorithm used today is RSA algorithm
Public Key Cryptography uses two keys - a public key that can encrypt messages and verify signatures, and a private key that can decrypt messages and create signatures. The RSA algorithm, the most widely used public key algorithm, is based on the mathematical difficulty of factoring large prime numbers. It works by having users generate a public/private key pair using two large prime numbers and performing modular exponentiation. The security of RSA relies on the fact that it is computationally infeasible to derive the private key from the public key and modulus.
Cryptosystem An Implementation of RSA Using Verilogijcncs
This document describes an implementation of the RSA cryptosystem using Verilog for an FPGA. It presents the design of modules for key generation, encryption, and decryption. For key generation, it generates random prime numbers using an LFSR and primality tester, then calculates the public and private keys. Encryption and decryption are performed through modular exponentiation implemented with a right-to-left binary method. The modules are coded in Verilog and synthesized for an FPGA to provide a secure cryptosystem.
RSA always uses two big prime numbers to deal with the encryption process. The public key is obtained from the multiplication of both figures. However, we can break it by doing factorization to split the public key into two individual numbers. Cryptanalysis can perform the public key crack by knowing its value. The private key will be soon constructed after the two numbers retrieved. The public key is noted as “N”, while "N = P . Q". This technique is unclassified anymore to solve the RSA public and private key. If it is successfully factored into p and q then ɸ (N) = (P - 1) . (Q - 1) can be further calculated. By having the public key e, the private key d will be solved. Factorization method is the best way to do the demolition. This study concerns to numbers factorization. GCD calculation will produce the encryption "E" and decryption "D" keys, but it depends on the computer speed.
Public-key cryptography uses two different but mathematically related keys for encryption and decryption. This allows one key to be public for encryption while keeping the other key secret for decryption. The Diffie-Hellman key exchange protocol allows two parties to establish a shared secret key over an insecure channel without any preexisting secret information. The RSA cryptosystem is an example of a public-key cryptosystem based on the difficulty of factoring large prime numbers."
This report to document the RSA code and how it works from encrypting certain message to how to decrypt it using general and private keys which will be generated in the given code.
This document describes the RSA algorithm for public key cryptography. RSA is based on the idea that factoring large integers into their prime factors is difficult. It involves choosing two prime numbers p and q, computing n=pq, and selecting a public key e such that gcd(e,(p-1)(q-1))=1. The private key d is computed such that ed=1 (mod φ(n)). To encrypt a message M, the sender computes C=Me (mod n) using the recipient's public key. The recipient decrypts by computing M=Cd (mod n) using their private key. The security of RSA relies on the difficulty of factoring the modulus n.
traditional private/secret/single key cryptography uses one key
Key is shared by both sender and receiver
if the key is disclosed communications are compromised
also known as symmetric, both parties are equal
hence does not protect sender from receiver forging a message & claiming is sent by sender
Public key cryptography uses two keys, a public key that can encrypt messages and a private key that decrypts messages. It has six components: plain text, encryption algorithm, public and private keys, ciphertext, and decryption algorithm. Some key characteristics are that it is computationally infeasible to determine the private key from the public key alone, and encryption/decryption is easy when the relevant key is known. The requirements of public key cryptography are that it is easy to generate a public-private key pair, easy to encrypt with the public key, easy for the recipient to decrypt with the private key, and infeasible to determine the private key from the public key or recover the plaintext from the ciphertext and public key alone
RSAAlgorithm is the first public key algorithm discovered in 1978 by Ron Rivest, Adi Shamir and Len Adleman. It uses different but related keys for encryption and decryption. The RSA algorithm can be used for both public key encryption and digital signatures. It works by selecting two large prime numbers to calculate the public and private keys. The public key is used to encrypt data and the private key is used to decrypt it.
This document discusses the RSA cryptosystem, including an overview of symmetric and asymmetric key algorithms, the founders of RSA, the RSA key generation algorithm in 5 steps, estimated times to crack RSA keys of different sizes, possible side-channel attacks on RSA, tutorials on implementing RSA, and references for further reading. It provides information on the basic concepts and implementation of the RSA cryptosystem.
Cryptography involves encryption and decryption of messages. Encryption scrambles a message using an algorithm and key, while decryption restores the original message. There are two main types: private key cryptography uses the same key for encryption and decryption, while public key cryptography uses separate keys - a public key to encrypt and a private key to decrypt. The RSA algorithm is an example of public key cryptography that is widely used for secure communication on the internet. It relies on the fact that multiplying two large prime numbers together is easy, but factoring their product into primes is very difficult.
Public key cryptography uses two keys: a public key to encrypt messages and a private key to decrypt them. The RSA algorithm is based on the difficulty of factoring large prime numbers. It works by having users generate a public/private key pair and publishing their public key. To encrypt a message, the sender uses the recipient's public key. Only the recipient can decrypt with their private key. The security of RSA relies on the computational difficulty of factoring the modulus used to generate the keys.
RSA Algorithem and information about rsaMohsin Ali
RSA was developed in 1977 by Ron Rivest, Adi Shamir and Leonard Adleman. It uses public and private key pairs to encrypt and decrypt messages. The security of RSA relies on the difficulty of factoring large prime numbers. It is commonly used for encryption and digital signatures in applications like SSL/TLS and SSH.
Implementation Secure Authentication Using Elliptic Curve CryptographyAM Publications
Elliptic curve cryptography is the most efficient public key encryption scheme based on the elliptic curve concepts that
can be used to create faster, smaller, and efficient cryptographic keys. As a use of network increase for critical transaction, so
huge damages are caused by intrusion attacks hence there is the need of computer network security. To protect network against
various active and passive attack, various technique have been suggested. Mobile devices have many differences in their
capabilities, computational powers and security requirements. The security of mobile communication has stopped the list of
concerns for mobile phone users. Confidentiality, Authentication, Integrity and Non-repudiation are required security services for mobile communication.
RSA RivestShamirAdleman is an algorithm used by modern computers to encrypt and decrypt messages. The purpose of the paper is how to produce two different keys. This is also called public key cryptography, because one of the keys can be given to anyone. In this paper also represent how to separate unwanted character by using Linux command. Soe Moe Myint | Moe Moe Myint | Aye Aye Cho "A Study of RSA Algorithm in Cryptography" Published in International Journal of Trend in Scientific Research and Development (ijtsrd), ISSN: 2456-6470, Volume-3 | Issue-5 , August 2019, URL: https://www.ijtsrd.com/papers/ijtsrd26749.pdf Paper URL: https://www.ijtsrd.com/computer-science/database/26749/a-study-of-rsa-algorithm-in-cryptography/soe-moe-myint
Public-key cryptography uses two keys, a public key that can be shared widely, and a private key that is kept secret. It allows for both encryption and digital signatures. The most widely used public-key cryptosystem is RSA, which relies on the difficulty of factoring large prime numbers. Diffie-Hellman key exchange allows two parties to securely exchange a secret key over an insecure channel without any prior secrets.
The document discusses public key cryptography and the RSA algorithm. It begins by explaining the basics of public key cryptography, including the use of public and private key pairs. It then goes into more detail about RSA, describing how it works by selecting prime numbers and using modular exponentiation and Fermat's theorem to encrypt and decrypt messages securely. An example of RSA encryption and decryption is provided to illustrate the process.
This document discusses public key cryptography and the RSA algorithm. It begins by outlining some misconceptions about public key encryption. It then provides an overview of the key concepts behind public key cryptosystems, including the use of public and private key pairs to enable encryption, digital signatures, and key exchange. The document goes on to provide detailed explanations of the RSA algorithm, including how it uses large prime numbers and modular arithmetic to encrypt and decrypt messages securely. It discusses the security of the RSA algorithm and analyzes approaches for attacking it, such as brute force key searching and mathematical attacks based on factoring the private key.
RSA is a widely used public-key cryptosystem. It works by generating a public and private key pair. The public key is used for encryption and digital signatures while the private key is used for decryption and signature verification. Key generation involves finding two prime numbers p and q, computing the modulus n as their product, and using these values to calculate the public and private exponents e and d respectively.
1. The document discusses public-key cryptography and some of its key concepts like asymmetric encryption where each user has a public and private key.
2. It also covers applications like encryption, digital signatures, and key exchange. It notes that while public-key crypto has advantages, symmetric crypto is still important due to public-key crypto's lower speed.
3. The RSA algorithm is presented as one of the first implementations of public-key cryptography based on the difficulty of factoring large integers.
Digital signatures provide authentication of digital messages or documents. There are three main algorithms involved: hashing, signature generation, and signature verification. Common digital signature schemes include ElGamal, Schnorr, and the Digital Signature Standard (DSS). The DSS is based on ElGamal and Schnorr schemes. It uses smaller signatures than ElGamal by employing two moduli, one smaller than the other. Digital signatures are widely used to provide authentication in protocols like IPSec, SSL/TLS, and S/MIME.
While transferring a file from one point to another through Intranet and Internet we need more file secure concepts. Ordinary, file Encryption-Decryption Concepts, which are readily available in java examples are easily captured by middle way itself. So we need more security combination. This project helps to send a file from one place to another in a secured manner. Firstly the target file is encrypted and it is embedded into an audio or video or any media file. The resultant file will be protected by a password. This resultant media file is not changed in its original format and it can be run in the player, we can’t find any encrypted data inside it. This format will be sent through net. In the destination point it will be retrieved only by our software and giving the relevant password. So it is highly secured.
RSA always uses two big prime numbers to deal with the encryption process. The public key is obtained from the multiplication of both figures. However, we can break it by doing factorization to split the public key into two individual numbers. Cryptanalysis can perform the public key crack by knowing its value. The private key will be soon constructed after the two numbers retrieved. The public key is noted as “N”, while "N = P . Q". This technique is unclassified anymore to solve the RSA public and private key. If it is successfully factored into p and q then ɸ (N) = (P - 1) . (Q - 1) can be further calculated. By having the public key e, the private key d will be solved. Factorization method is the best way to do the demolition. This study concerns to numbers factorization. GCD calculation will produce the encryption "E" and decryption "D" keys, but it depends on the computer speed.
Public-key cryptography uses two different but mathematically related keys for encryption and decryption. This allows one key to be public for encryption while keeping the other key secret for decryption. The Diffie-Hellman key exchange protocol allows two parties to establish a shared secret key over an insecure channel without any preexisting secret information. The RSA cryptosystem is an example of a public-key cryptosystem based on the difficulty of factoring large prime numbers."
This report to document the RSA code and how it works from encrypting certain message to how to decrypt it using general and private keys which will be generated in the given code.
This document describes the RSA algorithm for public key cryptography. RSA is based on the idea that factoring large integers into their prime factors is difficult. It involves choosing two prime numbers p and q, computing n=pq, and selecting a public key e such that gcd(e,(p-1)(q-1))=1. The private key d is computed such that ed=1 (mod φ(n)). To encrypt a message M, the sender computes C=Me (mod n) using the recipient's public key. The recipient decrypts by computing M=Cd (mod n) using their private key. The security of RSA relies on the difficulty of factoring the modulus n.
traditional private/secret/single key cryptography uses one key
Key is shared by both sender and receiver
if the key is disclosed communications are compromised
also known as symmetric, both parties are equal
hence does not protect sender from receiver forging a message & claiming is sent by sender
Public key cryptography uses two keys, a public key that can encrypt messages and a private key that decrypts messages. It has six components: plain text, encryption algorithm, public and private keys, ciphertext, and decryption algorithm. Some key characteristics are that it is computationally infeasible to determine the private key from the public key alone, and encryption/decryption is easy when the relevant key is known. The requirements of public key cryptography are that it is easy to generate a public-private key pair, easy to encrypt with the public key, easy for the recipient to decrypt with the private key, and infeasible to determine the private key from the public key or recover the plaintext from the ciphertext and public key alone
RSAAlgorithm is the first public key algorithm discovered in 1978 by Ron Rivest, Adi Shamir and Len Adleman. It uses different but related keys for encryption and decryption. The RSA algorithm can be used for both public key encryption and digital signatures. It works by selecting two large prime numbers to calculate the public and private keys. The public key is used to encrypt data and the private key is used to decrypt it.
This document discusses the RSA cryptosystem, including an overview of symmetric and asymmetric key algorithms, the founders of RSA, the RSA key generation algorithm in 5 steps, estimated times to crack RSA keys of different sizes, possible side-channel attacks on RSA, tutorials on implementing RSA, and references for further reading. It provides information on the basic concepts and implementation of the RSA cryptosystem.
Cryptography involves encryption and decryption of messages. Encryption scrambles a message using an algorithm and key, while decryption restores the original message. There are two main types: private key cryptography uses the same key for encryption and decryption, while public key cryptography uses separate keys - a public key to encrypt and a private key to decrypt. The RSA algorithm is an example of public key cryptography that is widely used for secure communication on the internet. It relies on the fact that multiplying two large prime numbers together is easy, but factoring their product into primes is very difficult.
Public key cryptography uses two keys: a public key to encrypt messages and a private key to decrypt them. The RSA algorithm is based on the difficulty of factoring large prime numbers. It works by having users generate a public/private key pair and publishing their public key. To encrypt a message, the sender uses the recipient's public key. Only the recipient can decrypt with their private key. The security of RSA relies on the computational difficulty of factoring the modulus used to generate the keys.
RSA Algorithem and information about rsaMohsin Ali
RSA was developed in 1977 by Ron Rivest, Adi Shamir and Leonard Adleman. It uses public and private key pairs to encrypt and decrypt messages. The security of RSA relies on the difficulty of factoring large prime numbers. It is commonly used for encryption and digital signatures in applications like SSL/TLS and SSH.
Implementation Secure Authentication Using Elliptic Curve CryptographyAM Publications
Elliptic curve cryptography is the most efficient public key encryption scheme based on the elliptic curve concepts that
can be used to create faster, smaller, and efficient cryptographic keys. As a use of network increase for critical transaction, so
huge damages are caused by intrusion attacks hence there is the need of computer network security. To protect network against
various active and passive attack, various technique have been suggested. Mobile devices have many differences in their
capabilities, computational powers and security requirements. The security of mobile communication has stopped the list of
concerns for mobile phone users. Confidentiality, Authentication, Integrity and Non-repudiation are required security services for mobile communication.
RSA RivestShamirAdleman is an algorithm used by modern computers to encrypt and decrypt messages. The purpose of the paper is how to produce two different keys. This is also called public key cryptography, because one of the keys can be given to anyone. In this paper also represent how to separate unwanted character by using Linux command. Soe Moe Myint | Moe Moe Myint | Aye Aye Cho "A Study of RSA Algorithm in Cryptography" Published in International Journal of Trend in Scientific Research and Development (ijtsrd), ISSN: 2456-6470, Volume-3 | Issue-5 , August 2019, URL: https://www.ijtsrd.com/papers/ijtsrd26749.pdf Paper URL: https://www.ijtsrd.com/computer-science/database/26749/a-study-of-rsa-algorithm-in-cryptography/soe-moe-myint
Public-key cryptography uses two keys, a public key that can be shared widely, and a private key that is kept secret. It allows for both encryption and digital signatures. The most widely used public-key cryptosystem is RSA, which relies on the difficulty of factoring large prime numbers. Diffie-Hellman key exchange allows two parties to securely exchange a secret key over an insecure channel without any prior secrets.
The document discusses public key cryptography and the RSA algorithm. It begins by explaining the basics of public key cryptography, including the use of public and private key pairs. It then goes into more detail about RSA, describing how it works by selecting prime numbers and using modular exponentiation and Fermat's theorem to encrypt and decrypt messages securely. An example of RSA encryption and decryption is provided to illustrate the process.
This document discusses public key cryptography and the RSA algorithm. It begins by outlining some misconceptions about public key encryption. It then provides an overview of the key concepts behind public key cryptosystems, including the use of public and private key pairs to enable encryption, digital signatures, and key exchange. The document goes on to provide detailed explanations of the RSA algorithm, including how it uses large prime numbers and modular arithmetic to encrypt and decrypt messages securely. It discusses the security of the RSA algorithm and analyzes approaches for attacking it, such as brute force key searching and mathematical attacks based on factoring the private key.
RSA is a widely used public-key cryptosystem. It works by generating a public and private key pair. The public key is used for encryption and digital signatures while the private key is used for decryption and signature verification. Key generation involves finding two prime numbers p and q, computing the modulus n as their product, and using these values to calculate the public and private exponents e and d respectively.
1. The document discusses public-key cryptography and some of its key concepts like asymmetric encryption where each user has a public and private key.
2. It also covers applications like encryption, digital signatures, and key exchange. It notes that while public-key crypto has advantages, symmetric crypto is still important due to public-key crypto's lower speed.
3. The RSA algorithm is presented as one of the first implementations of public-key cryptography based on the difficulty of factoring large integers.
Digital signatures provide authentication of digital messages or documents. There are three main algorithms involved: hashing, signature generation, and signature verification. Common digital signature schemes include ElGamal, Schnorr, and the Digital Signature Standard (DSS). The DSS is based on ElGamal and Schnorr schemes. It uses smaller signatures than ElGamal by employing two moduli, one smaller than the other. Digital signatures are widely used to provide authentication in protocols like IPSec, SSL/TLS, and S/MIME.
While transferring a file from one point to another through Intranet and Internet we need more file secure concepts. Ordinary, file Encryption-Decryption Concepts, which are readily available in java examples are easily captured by middle way itself. So we need more security combination. This project helps to send a file from one place to another in a secured manner. Firstly the target file is encrypted and it is embedded into an audio or video or any media file. The resultant file will be protected by a password. This resultant media file is not changed in its original format and it can be run in the player, we can’t find any encrypted data inside it. This format will be sent through net. In the destination point it will be retrieved only by our software and giving the relevant password. So it is highly secured.
This document is an introduction to cryptography presented by Amir Neziri and Jurlind Budurushi. It discusses the history and goals of cryptography, as well as symmetric and asymmetric cryptographic algorithms like AES, RSA, and digital signatures. It also covers cryptographic concepts such as public key encryption, message authentication codes, digital certificates, and concludes with a demo of encryption tools.
This session will address how complex social networks of various types can be built with Drupal. The nuances of Feeds, Walls, Sharing (both private and public), Friends, Following, and (most importantly) Privacy will be explored, and options for building these features with Drupal will be discussed, with examples from the real world.
This is an advanced session but anyone with social-networking dreams would benefit from learning the challenges in building one.
How do you make a network "Social"?
A Drupal site is a network of users and content, but it is not inherently social. It's greatest original feature was the ability for multiple users to collaborate in managing the system. We'll talk about what makes networks social and what makes them fun: Feeds, Activity, & Sharing.
"News Feeds" can show not only your friend's content, but your friends-of-your-friends content when the target is your friend. Sound complicated? It is!
"Activity" is when you become friends with someone, join the site, "like" something, commented on something... the list goes on. Without activity display, a social network feels more like a MySpace than Facebook. But be careful... if you list each new activity all of your friends make, it can get clogged with redundant announcements. Learn how we devised a system that lets us smartly group recent activity taken by user, taxonomy term, or node.
Great social networks may be easy to use, but the logic behind true social networks is very complex.
The Details
- Building news feeds for friends and "followed" terms with Search API with Apache Solr
- How to let users "share" content and write on other users "walls".
- Creating an "activity" system that shows users activity around the site and can group similar activity together.
- Privacy & Permissions: How to give control where control is due.
About the Speaker
Jonathan is the Founder & CTO of ThinkDrop Consulting, a Drupal consulting company in Brooklyn, New York and has been developing with Drupal for more than 7 years, coding with PHP for more than 11 years, and hypertexting with HTML since 1997.
This session was originally given at DrupalCampNYC 10 in December of 2012
Slides available at https://docs.google.com/present/view?id=dg3sc8t9_2cbxfbnqg
NOTE: I apologize for the layout problems, Google Docs Presentations look different on different operating systems
Social Networks and Security: What Your Teenager Likely Won't Tell YouDenim Group
John Dickson's presentation to a group of Chief Security Officers (CSOs) about the security implications of social networking sites such as LinkedIn, Facebook, Twitter and MySpace. He encourages CSOs to approach social networking as a business issue rather than a security issue if they want to maximize their influence.
This document discusses security and privacy issues related to social networks. It begins by defining social networks and providing examples. It then outlines common web vulnerabilities like phishing, spam, XSS attacks, and discusses how these risks are increased in social networks due to features like third-party apps, public profiles, and the amount of personal data shared. The document provides tips for securing accounts including using strong unique passwords, checking privacy settings, and being wary of emails or links asking for private information.
Data Visualization and Social Network Analysis for Recruiting.Matt Charney
This presentation focuses on how employers can leverage big data to analyze, visualize and utilize visualization to understand how their workforce is connected and who the real influencers are in any organization. Seeing networks at work can help increase retention, boost employee referrals and create higher impact outcomes by allowing HR to focus on who really matters in an organization.
Objectives of attending this session:
1. Attendees will understand what data visualization is, why it matters and how recruiting and HR leaders can apply some of its basic concepts to improving both day-to-day operations and long term strategic outcome within their own organizations.
2. Attendees will learn what data visualization tools, paid and unpaid, are available, how they compare and what they can do to select, implement and optimize these tools within their current HR Technology stack.
3. Attendees will see real life examples of how real recruiting and HR organizations over came real challenges in the real world by using data visualization and learn how these case studies can be applied to their current and future talent practices and processes.
This document provides an overview and summary of a presentation based on the book "Understanding Cryptography – A Textbook for Students and Practitioners" by Christof Paar and Jan Pelzl. It outlines the content covered in part one of the book, including an introduction to cryptography, symmetric cryptography, the one-time pad, substitution ciphers, shift ciphers and the affine cipher. It also mentions the Enigma machine, DES and AES block ciphers. The document provides some legal terms for using the slides and cites additional references for further reading.
OVERVIEW
Twitter Bootstrap is a wildly popular HTML and CSS framework for building websites and web applications. It is the number 1 project on GitHub. Bootstrap supports responsive web design, allowing the layout of your page to adapt to the device (desktop, tablet, mobile). This talk will introduce you to the basics of using Bootstrap and show you how to build responsive web layouts to build your own app.
TARGET AUDIENCE
Beginner web developers
ASSUMED AUDIENCE KNOWLEDGE
Working knowledge of HTML5 and CSS3.
OBJECTIVE
Learn how to use Twitter Bootstrap to quickly build a beautiful, responsive web app.
FIVE THINGS AUDIENCE MEMBERS WILL LEARN
Twitter Bootstrap basics
Bootstrap CSS basics
Bootstrap responsive layouts
Bootstrap components
JavaScript Bootstrap plugins
This talk has been presented for the Cryptographic Protocol Course at University of Salerno. It is about the hardness of online voting protocols. Other then describing which are the issues that need to be addressed while designing a voting protocol, it focuses on a web-based application: Helios 1.0. Any feedback is welcome.
Feedbacks are welcome! If you get inspired by this presentation, please let me know and add credits to your work ;)
(Practical) Beyond Responsive Web Design (WordCamp Miami 2011)arborwebsolutions
My presentation from WordCamp Miami 2011, Beyond "Responsive Web Design". This is a totally re-worked version of my previous presentation, with a focus on how to actually implement responsive design.
Social journalism: Community building through social networksJD Lasica
A presentation to the Pacific Northwest Newspaper Association Summit in Seattle on 10 ways to use social networks and social media to engage local readers.
The 10 ideas for building local community:
1. Be first with breaking news
2. Leverage Twitter
3. Enable conversations
4. Get widget-happy!
5. Community video
6. Geocoding & citizen photography
7. Create local map mashups
8. Hook up with Facebook
9. Tap into sharing economy
10. Study, borrow, steal
Responsive Web Design - Introduction & Workflow OverviewAidan Foster
Responsive Design's is a way of making a single website that works well on mobile, tablet, and desktop browsers. Back in 2010 Ethan Marcotte, first coined the term "responsive design" and described it as having 3 components:
Flexible Images
Fluid Grids
CSS Media Queries
Well it seems Ethan let quite a few cats of out bag with this one, and we've been trying to herd those cats ever since.
What started as exclusively a front-end web design technique has expanded to include a whole new range of both front-end and server-side programming techniques. The real challenge came when we also suddenly discovered that tried and true practices for project management, and creative concept development all started to fall apart. It’s not practical to create photoshop mockups of ever page in a site at every device size - There’s simply too many variables to account for in graphic design software.
Responsive Design requires a new process for creating websites, and new ways of interacting with teams and clients.
This presentation will outline a birds-eye-view of Responsive Techniques, Strategies, Tools, and Gotchas of RWD. It will focus on some of the new workflow techniques needed and cover some suggestions for where to go to learn more.
Slide Summary
1-25: History of Responsive Design
26-50: Coding Basics (Developer Focused)
51-57: Progressive Enhancement
58-70: Mobile First
71-93: Responsive Workflows
96-99: Selling Responsive Design
Introduction to Cryptography Parts II and IIIMaksim Djackov
These are the second and third parts of my introduction to cryptography lectures I have presented at numerous institutions in Lithuania. These introduce PRNGs, assymetric ciphers, key exchange, digital signatures and certificates. The presentation is based on the book by known cryptography expert Christof Paar.
The presentation covers the following:
Basic Terms
Cryptography
The General Goals of Cryptography
Common Types of Attacks
Substitution Ciphers
Transposition Cipher
Steganography- “Concealed Writing”
Symmetric Secret Key Encryption
Types of Symmetric Algorithms
Common Symmetric Algorithms
Asymmetric Secret Key Encryption
Common Asymmetric Algorithms
Public Key Cryptography
Hashing Techniques
Hashing Algorithms
Digital Signatures
Transport Layer Security
Public key infrastructure (PKI)
This document describes a project on lazy wavelet transform based steganography in video. It discusses hiding a secret video file in a cover video file by replacing the least significant bits of frames in the cover video with data from the secret video. The methodology section describes using MATLAB for lazy wavelet transforms on video frames to generate subbands, then using LSB substitution to hide the secret video data in the cover video's subbands. Results show high PSNR values, indicating the hidden video is imperceptible. Potential applications include confidential communication, copyright marking, and circumventing policies restricting encryption.
A short introduction to cryptography. What is public and private key cryptography? What is a Caesar Cipher and how do we decrypt it? How does RSA work?
Recommenders Systems tutorial slides from the European Summer School of Information Retrieval (ESSIR).
Covers basic ideas on Collaborative Filtering, Content-based methods, Matrix Factorization, Restricted Boltzmann Machines, Ranking, Diversity.
The slides include material from Xavier Amatriain, Saul Vargas and Linas Baltrunas.
Need a ten minute overview of responsive web design? In this talk we'll talk about the problem responsive web design (RWD) is trying to solve, what RWD is, the basic implementation aspects of RWD and some of the latest developments and sources of information if you want to learn more about RWD.
This document provides an overview of public key cryptography and the RSA algorithm. It discusses how public key cryptography solves issues with symmetric key distribution and digital signatures by using separate public and private keys. The RSA algorithm is then explained, including how key pairs are generated, how encryption and decryption work using modular exponentiation, and an example of computing keys and encrypting a message.
This document summarizes elliptic curve cryptography and proposes a method to enhance its security. It begins with an abstract that discusses how ECC is more secure than other public key cryptosystems and proposes enhancing ECC security using character conversion. It then provides background on encryption methods and key types, describing symmetric, asymmetric, and public key encryption. It explains how ECC works by defining a finite group where exponentiation is easy but solving the discrete logarithm problem is very difficult, making ECC secure even with smaller key sizes than other methods. Finally, it proposes enhancing ECC security against attacks by using a character conversion method.
This document provides an agenda and overview of topics related to cryptography. It discusses what cryptography is, the goals of cryptography including confidentiality, integrity, authentication and non-repudiation. It then covers terminologies used in cryptography and different types of cryptography including symmetric cryptography, asymmetric cryptography and digital signatures. It also mentions attacks on cryptography.
Alex WANG - What is the most effective cryptosystem for public-key encryption?AlexWang212277
The document discusses several cryptosystems used for public-key encryption, including RSA, Diffie-Hellman key exchange, and elliptic curve cryptography. It provides background on necessary mathematical concepts like modular arithmetic, primes, and discrete logarithms. The author analyzes the security, efficiency, and ability to withstand large adversaries of each cryptosystem to determine the most effective for public-key encryption.
1. Secret-key cryptography uses identical private keys between users but distributing the private keys confidentially is a challenge. This document proposes using NP problems to share private keys without a third party.
2. The method involves one user creating a complex equation related to the private key and sending it to the other user. That user then creates another equation linking the first one and sends it back. By solving the equations, each user can derive the private key without transmitting it directly.
3. This approach could allow secret-key cryptography benefits like changing keys for each message while avoiding the need to pre-share keys securely. Complex NP equations would make deriving the private key without the solutions incredibly difficult.
Using NP Problems to Share Keys in Secret-Key Cryptographyiosrjce
Public key cryptography has now become an important means for providing confidentiality by its use
of key distribution, in which users can do private communication with the help of encryption keys. It also
provides digital signatures which allow users to sign keys to verify their identities. But public key cryptography
has its own shortcoming regarding to high cost in keys distribution and excessive computation in encoding and
decoding it.
Whereas private key can omit all above problems but only if we can find a way to share private key
confidentially.
This research presents an innovation, which can be our future approach, using technology so-called NP
problems, of sending or sharing keys to the receiver without any need of the third party. This will provide an
open idea where sender and receiver can share any key for any number of times for encrypting data
confidentially that also helpful in overcoming problem of brute force attack
International Journal of Engineering and Science Invention (IJESI) is an international journal intended for professionals and researchers in all fields of computer science and electronics. IJESI publishes research articles and reviews within the whole field Engineering Science and Technology, new teaching methods, assessment, validation and the impact of new technologies and it will continue to provide information on the latest trends and developments in this ever-expanding subject. The publications of papers are selected through double peer reviewed to ensure originality, relevance, and readability. The articles published in our journal can be accessed online.
This document discusses cryptographic security. It defines informational and computational security, and explains how security is quantified in bits based on the difficulty of cracking a cipher. The document also covers achieving security through provable security via mathematical proofs or heuristic evidence from failed attacks. Additionally, it discusses generating keys randomly or from passwords, and protecting keys through wrapping or hardware tokens. Potential issues like incorrect security proofs, legacy support with short keys, and implementation flaws are also noted.
International Journal of Engineering Research and Applications (IJERA) is an open access online peer reviewed international journal that publishes research and review articles in the fields of Computer Science, Neural Networks, Electrical Engineering, Software Engineering, Information Technology, Mechanical Engineering, Chemical Engineering, Plastic Engineering, Food Technology, Textile Engineering, Nano Technology & science, Power Electronics, Electronics & Communication Engineering, Computational mathematics, Image processing, Civil Engineering, Structural Engineering, Environmental Engineering, VLSI Testing & Low Power VLSI Design etc.
PEC - AN ALTERNATE AND MORE EFFICIENT PUBLIC KEY CRYPTOSYSTEMijcisjournal
In an increasingly connected world, security is a top concern for Internet of Things (IoT). These IoT devices have to
be inexpensive implying that they will be constrained in storage and computing resources. In order to secure such
devices, highly efficient public key cryptosystems (PKC) are critical. Elliptic Curve Cryptography (ECC) is the most
commonly implemented PKC in use today. In this paper, an alternate and a more efficient PKC, called the PEC (Pells
Equation Cryptography) has been proposed based on Pells equation: x
2 − D ∗ y
2 ≡ 1 (mod p). It is shown that scalar
multiplication in PEC is significantly more efficient compared to ECC. It is also shown that the Discrete Logarithm
Problem - computing the private key from the public key - in PEC is at least as hard as that of ECC.
This document provides definitions and explanations of key concepts in information security and cryptography. It discusses symmetric and asymmetric cryptographic techniques such as stream ciphers, block ciphers, digital signatures, hash functions, and the use of random numbers for security applications. It also covers concepts like confidentiality, integrity, availability, cryptanalysis, plain text, cipher text, and the differences between symmetric and public key cryptography.
Data Security Using Elliptic Curve CryptographyIJCERT
Cryptography technique is used to provide data security. In existing cryptography technique the key generation takes place randomly. Key generation require shared key. If shared key is access by unauthorized user then security becomes disoriented. Hence existing problems are alleviated to give more security to data. In proposed system a algorithm called as Elliptic Curve Cryptography is used. The ECC generates the key by using the point on the curve. The ECC is used for generating the key by using point on the curve and encryption and decryption operation takes place through curve. In the proposed system the encryption and key generation process takes place rapidly.
The document discusses the RSA algorithm and its implementation in SSL-VPN architectures. It begins by introducing SSL-VPN and how it uses the RSA algorithm. It then provides a high-level overview of the mathematical concepts behind the RSA algorithm, including generating public and private key pairs using large prime numbers. It also describes how the RSA algorithm is used for encryption and decryption in SSL-VPN systems to securely transmit encrypted data between private networks over the internet.
This document provides an overview of symmetric and asymmetric cryptography. Symmetric cryptography uses the same key for encryption and decryption, while asymmetric cryptography uses different keys. The Merkle-Hellman knapsack cryptosystem was one of the earliest public key systems, but it was broken. The RSA algorithm uses a public/private key pair to encrypt and decrypt messages securely. DES was developed as a standard for encrypting sensitive data.
A project which implements the Elliptic Curve Cryptography for the Diffie-Hellman keys exchange, in order to establish a secure channel between two Android devices.
IRJET- Secure Data on Multi-Cloud using Homomorphic EncryptionIRJET Journal
This document discusses secure data storage on multi-cloud systems using homomorphic encryption. It begins by introducing homomorphic encryption and its uses for secure computation on encrypted data. It then describes different types of homomorphic encryption schemes, including partially homomorphic (e.g. RSA, Paillier) and fully homomorphic encryption. The document proposes a multi-cloud architecture using several distributed servers to partition and store encrypted data in a way that aims to achieve the capabilities of fully homomorphic encryption.
This document discusses enhancing security in cloud storage using elliptic curve cryptography (ECC). It begins by outlining threats to data stored in the cloud, such as unauthorized access and reduced privacy. It then describes common security methods like encryption, authentication, and authorization. The document proceeds to explain the RSA algorithm for encryption and digital signatures. It subsequently provides details on how ECC generates cryptographic keys using elliptic curve theory, offering stronger security with smaller key sizes. ECC is thus more efficient for applications like mobile. The document concludes ECC is a secure and efficient alternative to RSA for key exchanges between certificate authorities and users.
Secure Data Storage on Cloud System for Privacy PreservingIRJET Journal
The document describes a proposed system for secure data storage on cloud systems using elliptic curve cryptography and Shamir's secret sharing algorithm. It discusses how ECC and secret sharing can be used to encrypt data before storing it on the cloud to preserve privacy. The system aims to provide security services like confidentiality. It generates keys using ECC and secret sharing that are shared with authenticated users to allow access to encrypted data stored on the cloud. The system reduces storage and computational overhead for the customer and cloud storage server.
This document summarizes a lecture on public-key cryptography and the RSA algorithm. It begins by introducing public-key cryptography and how it can provide both confidentiality and authentication simultaneously. It then describes the basic idea behind the RSA algorithm, which uses modular exponentiation and the fact that exponents behave modulo the totient of a number when the number is a product of two primes. The document provides details on how to implement RSA, including choosing the modulus as a product of two large prime numbers, and proves that the RSA algorithm works as intended. It also discusses computational and security aspects of RSA.
Introduction- e - waste – definition - sources of e-waste– hazardous substances in e-waste - effects of e-waste on environment and human health- need for e-waste management– e-waste handling rules - waste minimization techniques for managing e-waste – recycling of e-waste - disposal treatment methods of e- waste – mechanism of extraction of precious metal from leaching solution-global Scenario of E-waste – E-waste in India- case studies.
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsVictor Morales
K8sGPT is a tool that analyzes and diagnoses Kubernetes clusters. This presentation was used to share the requirements and dependencies to deploy K8sGPT in a local environment.
Literature Review Basics and Understanding Reference Management.pptxDr Ramhari Poudyal
Three-day training on academic research focuses on analytical tools at United Technical College, supported by the University Grant Commission, Nepal. 24-26 May 2024
UNLOCKING HEALTHCARE 4.0: NAVIGATING CRITICAL SUCCESS FACTORS FOR EFFECTIVE I...amsjournal
The Fourth Industrial Revolution is transforming industries, including healthcare, by integrating digital,
physical, and biological technologies. This study examines the integration of 4.0 technologies into
healthcare, identifying success factors and challenges through interviews with 70 stakeholders from 33
countries. Healthcare is evolving significantly, with varied objectives across nations aiming to improve
population health. The study explores stakeholders' perceptions on critical success factors, identifying
challenges such as insufficiently trained personnel, organizational silos, and structural barriers to data
exchange. Facilitators for integration include cost reduction initiatives and interoperability policies.
Technologies like IoT, Big Data, AI, Machine Learning, and robotics enhance diagnostics, treatment
precision, and real-time monitoring, reducing errors and optimizing resource utilization. Automation
improves employee satisfaction and patient care, while Blockchain and telemedicine drive cost reductions.
Successful integration requires skilled professionals and supportive policies, promising efficient resource
use, lower error rates, and accelerated processes, leading to optimized global healthcare outcomes.
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesChristina Lin
Traditionally, dealing with real-time data pipelines has involved significant overhead, even for straightforward tasks like data transformation or masking. However, in this talk, we’ll venture into the dynamic realm of WebAssembly (WASM) and discover how it can revolutionize the creation of stateless streaming pipelines within a Kafka (Redpanda) broker. These pipelines are adept at managing low-latency, high-data-volume scenarios.
ACEP Magazine edition 4th launched on 05.06.2024Rahul
This document provides information about the third edition of the magazine "Sthapatya" published by the Association of Civil Engineers (Practicing) Aurangabad. It includes messages from current and past presidents of ACEP, memories and photos from past ACEP events, information on life time achievement awards given by ACEP, and a technical article on concrete maintenance, repairs and strengthening. The document highlights activities of ACEP and provides a technical educational article for members.
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELgerogepatton
As digital technology becomes more deeply embedded in power systems, protecting the communication
networks of Smart Grids (SG) has emerged as a critical concern. Distributed Network Protocol 3 (DNP3)
represents a multi-tiered application layer protocol extensively utilized in Supervisory Control and Data
Acquisition (SCADA)-based smart grids to facilitate real-time data gathering and control functionalities.
Robust Intrusion Detection Systems (IDS) are necessary for early threat detection and mitigation because
of the interconnection of these networks, which makes them vulnerable to a variety of cyberattacks. To
solve this issue, this paper develops a hybrid Deep Learning (DL) model specifically designed for intrusion
detection in smart grids. The proposed approach is a combination of the Convolutional Neural Network
(CNN) and the Long-Short-Term Memory algorithms (LSTM). We employed a recent intrusion detection
dataset (DNP3), which focuses on unauthorized commands and Denial of Service (DoS) cyberattacks, to
train and test our model. The results of our experiments show that our CNN-LSTM method is much better
at finding smart grid intrusions than other deep learning algorithms used for classification. In addition,
our proposed approach improves accuracy, precision, recall, and F1 score, achieving a high detection
accuracy rate of 99.50%.
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Sinan KOZAK
Sinan from the Delivery Hero mobile infrastructure engineering team shares a deep dive into performance acceleration with Gradle build cache optimizations. Sinan shares their journey into solving complex build-cache problems that affect Gradle builds. By understanding the challenges and solutions found in our journey, we aim to demonstrate the possibilities for faster builds. The case study reveals how overlapping outputs and cache misconfigurations led to significant increases in build times, especially as the project scaled up with numerous modules using Paparazzi tests. The journey from diagnosing to defeating cache issues offers invaluable lessons on maintaining cache integrity without sacrificing functionality.
3. Introduction to Cryptography and Security Mechanisms 2005 3
Quiz 1
From a security perspective, rather than an efficiency
perspective, which of the following statements about the
block size of a block cipher is most accurate?
A The bigger the block size the better
B The block size should neither be too small nor too
large
C The block size should neither be too small nor too
large, and should be a multiple of 8
D The block size is unimportant
4. Introduction to Cryptography and Security Mechanisms 2005 4
Quiz 2
The main reason for using different modes of operation
of a block cipher is to:
A Increase the strength of the block cipher
B Increase the efficiency of the block cipher
C Protect against error propagation
D Change the properties of the block cipher
5. Introduction to Cryptography and Security Mechanisms 2005 5
Quiz 3
Which of the following is most accurate?
A Key management for stream ciphers is easier than for
block ciphers, because the plaintext is not actually encrypted
directly with the key
B Key management for block ciphers is less critical when
using CBC mode, since the security of the ciphertext depends
on the preceding ciphertext as well as the key
C Key management for stream ciphers is more difficult than
for block ciphers because the key needs to kept
synchronised at each end of the communication link
D Key management is roughly of the same level of difficulty
for stream ciphers and block ciphers
6. Introduction to Cryptography and Security Mechanisms:
Unit 7
Public Key Algorithms
Dr Keith Martin
McCrea 349 01784 443099
keith.martin@rhul.ac.uk
7. Introduction to Cryptography and Security Mechanisms 2005 7
Learning Outcomes
• Explain the basic principles behind public key
cryptography
• Recognise the fundamental problems that need to be
solved before public key cryptography can be used
effectively
• Explain the concept of a one-way function
• Describe the RSA encryption system
• Describe the ElGamal encryption system
• Calculate very simple numerical examples of RSA and
ElGamal
• Compare the basic properties of RSA and ElGamal
• Describe the Diffie-Hellman key exchange mechanism
8. Introduction to Cryptography and Security Mechanisms 2005 8
Sections
1. Public key cryptography
2. RSA
3. ElGamal
4. Diffie-Hellman
10. Introduction to Cryptography and Security Mechanisms 2005 10
Symmetric assumptions
Consider the relationship between
two entities who are communicating
using a symmetric cipher.
What assumptions are being made
about the relationship between them?
12. Introduction to Cryptography and Security Mechanisms 2005 12
The briefcase example
Properties:
1. There is only one key for each padlock
2. The padlocks are so strong that they cannot be
removed by force
Problems:
3. You have no way of being sure that it is the correct
person who finally gets your message
4. The briefcase has to be sent back and forward three
times, which seems pretty inefficient.
13. Introduction to Cryptography and Security Mechanisms 2005 13
Desirable properties
Use the properties and problems for the briefcase
example to come up with a specification of four
properties that are desirable for any cipher
system that is to be used between two entities
who do not already share a symmetric key.
14. Introduction to Cryptography and Security Mechanisms 2005 14
Public key blueprint
• The keys used to encrypt and decrypt are different.
• Anyone who wants to be a receiver needs to
“publish” an encryption key, which is known as the
public key.
• Anyone who wants to be a receiver needs a unique
decryption key, which is known as the private key.
• It should not be possible to deduce the plaintext from
knowledge of the ciphertext and the public key.
• Some guarantee needs to be offered of the
authenticity of a public key.
15. Introduction to Cryptography and Security Mechanisms 2005 15
Important question
Do public key cipher systems solve all
the problems of symmetric key cipher
systems?
16. Introduction to Cryptography and Security Mechanisms 2005 16
Design of a public key algorithm
In a public key system, if everyone knows
everything necessary:
• the encryption algorithm and
• the encryption key
to determine the ciphertext then how is it
possible that they cannot then work out
what the plaintext (decryption key) is from
this information?
17. Introduction to Cryptography and Security Mechanisms 2005 17
One way functions
A one-way function is a function that is “easy” to
compute and “difficult” to reverse.
How might we express this notion of a one
way function informally in complexity
theoretic terms?
18. Introduction to Cryptography and Security Mechanisms 2005 18
OWF: Multiplying two primes
It is easy to take two prime numbers and multiply them
together.
If they are fairly small we can do this in our heads, on a
piece of paper, or on a calculator.
As they get bigger and bigger it is fairly easy to write
a computer program to compute the product.
Multiplication runs in polynomial time.
Multiplication of two primes is easy.
19. Introduction to Cryptography and Security Mechanisms 2005 19
OWF: Multiplying two primes
To factor: Comments
15
143
6887
31897
600 digit number
600 digit even
number
20. Introduction to Cryptography and Security Mechanisms 2005 20
OWF: Multiplying two primes
Multiplication of two prime numbers is believed to be a
one-way function.
We say believed because nobody has been able to
prove that it is hard to factorise.
Maybe one day someone will find a way of factorising
efficiently.
What will happen if someone does find an
efficient way of factorising ?
21. Introduction to Cryptography and Security Mechanisms 2005 21
OWF: Modular exponentiation
The process of exponentiation just means raising
numbers to a power.
Raising a to the power b, normally denoted ab
just means
multiplying a by itself b times. In other words:
ab
= a x a x a x … x a
Modular exponentiation means computing ab
modulo
some other number n. We tend to write this as
ab
mod n.
Modular exponentiation is “easy”.
22. Introduction to Cryptography and Security Mechanisms 2005 22
OWF: Modular exponentiation
However, given a, b, and ab
mod n (when n is prime),
calculating b is regarded by mathematicians as a hard
problem.
This difficult problem is often referred to as the discrete
logarithm problem.
In other words, given a number a and a prime number n,
the function
f(b) = ab
mod n
is believed to be a one-way function.
23. Introduction to Cryptography and Security Mechanisms 2005 23
OWF: Modular square roots
What is the square root of 1369?
Propose a technique for finding the square root
of 1369 that will generalise to any integer.
24. Introduction to Cryptography and Security Mechanisms 2005 24
OWF: Modular square roots
What is the square root of 56 module 101?
Let’s try 40…
Let’s try 30…
25. Introduction to Cryptography and Security Mechanisms 2005 25
Suitable OWFs
We have seen that the encryption process of a public
key cipher system requires a one way function.
Is every one way function suitable for
implementation as the encryption process
of a public key cipher system?
27. Introduction to Cryptography and Security Mechanisms 2005 27
RSA
The RSA public key encryption algorithm was the first
practical implementation of public key encryption
discovered.
It remains the most used public key encryption algorithm
today.
It is named after the three researchers Ron Rivest, Adi
Shamir and Len Adleman who first published it.
Make sure you are familiar with the concepts of
modular arithmetic, prime numbers, the Euclidean
Algorithm and the method of Repeated Squares.
28. Introduction to Cryptography and Security Mechanisms 2005 28
Setting up RSA
• Let n be the product of two large primes p
and q
– By “large” we typically mean at least 512 bits.
• Select a special number e
– greater than 1 and less than (p-1)(q-1). The precise
mathematical property that e must have is that there
must be no numbers that divide neatly into e and into
(p-1)(q-1), except for 1.
• Publish the pair of numbers (n,e)
• Compute the private key d from p, q and e
29. Introduction to Cryptography and Security Mechanisms 2005 29
Computing the private key
The private key d is computed to be the unique inverse of
e modulo (p-1)(q-1).
In other words, d is the unique number less than (p-1)(q-1)
that when multiplied by e gives you 1 modulo (p-1)(q-1).
Written mathematically:
ed = 1 mod (p-1)(q-1)
The Euclidean Algorithm is the process that you need to
follow in order to compute d.
30. Introduction to Cryptography and Security Mechanisms 2005 30
Computing the private key
1. Who is capable of running the Euclidean
Algorithm to find the private key?
2. How efficient is this process?
31. Introduction to Cryptography and Security Mechanisms 2005 31
Choosing e
Let’s consider p=3 and q=7. What choices of e are acceptable?
In this case (p-1)(q-1) = 2 x 6 = 12. Any suitable choice of e must
have the property that there are no numbers that neatly divide into e
and 12 except for 1. Let’s just try them all out:
e=2: this is no good, since 2 divides both e and 12. In fact this will be
true for all multiples of 2 as well, so e=4, e=6, e=8 and e=10 are also
not possible.
e=3: this is no good, since 3 divides both e and 12. In fact this will be
true for all multiples of 3 as well, so e=6 and e=9 are also not
possible.
The remaining choices are e=5, e=7 and e=11. Since in each case
there is no number that divides into them and 12 other than 1, all
these choices of e are possible.
32. Introduction to Cryptography and Security Mechanisms 2005 32
Setting up RSA: example
Step 1: Let p = 47 and q = 59. Thus n = 47 x 59 = 2773
Step 2: Select e = 17
Step 3: Publish (n,e) = (2773, 17)
Step 4: (p-1) x (q-1) = 46 x 58 = 2668
Use the Euclidean Algorithm to compute the modular
inverse of 17 modulo 2668. The result is d = 157
<< Check: 17 x 157 = 2669 = 1(mod 2668) >>
Public key is (2773,17)
Private key is 157
33. Introduction to Cryptography and Security Mechanisms 2005 33
Encryption and decryption
The first job is to represent the plaintext as a series of
numbers modulo n.
The encryption process to obtain the ciphertext C from
plaintext M is very simple:
C = Me
mod n
The decryption process is also simple:
M = Cd
mod n
34. Introduction to Cryptography and Security Mechanisms 2005 34
Encryption and decryption: example
Public key is (2773,17)
Private key is 157
Plaintext block represented as a number: M = 31
Encryption using Public Key: C = 3117
(mod 2773)
= 587
Decryption using Private Key: M = 587157
(mod 2773)
= 31
35. Introduction to Cryptography and Security Mechanisms 2005 35
Security of RSA
1. Trying to decrypt a ciphertext without
knowledge of the private key
2. Trying to determine the private key
We will look at two different strategies for
trying to “break” RSA:
36. Introduction to Cryptography and Security Mechanisms 2005 36
Decrypting ciphertext without the key
The encryption process in RSA involves computing the
function C = Me
mod n, which is regarded as being easy.
An attacker who observes this ciphertext, and has
knowledge of e and n, needs to try to work out what M is.
Computing M from C, e and n is regarded as a hard
problem.
Have we seen this one way function before?
37. Introduction to Cryptography and Security Mechanisms 2005 37
Determining the private key
Assuming that you know the public key of a
user, what would you need to do in order to
obtain the corresponding private key?
38. Introduction to Cryptography and Security Mechanisms 2005 38
RSA security summary
One-way function Description
Encryption
function
The encryption function is a trapdoor one-way
function, whose trapdoor is the private key.
The difficulty of reversing this function without
the trapdoor knowledge is believed (but not
known) to be as difficult as factoring.
Multiplication of
two primes
The difficulty of determining an RSA private
key from an RSA public key is known to be
equivalent to factoring n. An attacker thus
cannot use knowledge of an RSA public key
to determine an RSA private key unless they
can factor n. Because multiplication of two
primes is believed to be a one-way function,
determining an RSA private key from an RSA
public key is believed to be very difficult.
There are two one-way functions involved in the security of RSA.
39. Introduction to Cryptography and Security Mechanisms 2005 39
Length of an RSA modulus
What length of RSA modulus do you think is
roughly equivalent to:
1. An 80 bit symmetric key?
2. A 112 bit symmetric key?
3. A 128 bit symmetric key?
It is hard to compare the equivalent security parameters
for symmetric key cipher systems and RSA, however it is
roughly believed that factorising a 512 bit number is about
as hard as searching for a 56 bit symmetric key.
41. Introduction to Cryptography and Security Mechanisms 2005 41
ElGamal
• To show that RSA is not the only public key
system
• To exhibit a public key system based on a
different one way function
• ElGamal is the basis for several well-known
cryptographic primitives
We will also take a look at the ElGamal public key
cipher system for a number of reasons:
42. Introduction to Cryptography and Security Mechanisms 2005 42
Setting up ElGamal
• Let p be a large prime
– By “large” we mean here a prime rather typical in length to
that of an RSA modulus
• Select a special number g
– The number g must be a primitive element modulo p.
• Choose a private key x
– This can be any number bigger than 1 and smaller than p-1
• Compute public key y from x, p and g
– The public key y is g raised to the power of the private key x
modulo p. In other words:
y = gx
mod p
43. Introduction to Cryptography and Security Mechanisms 2005 43
Setting up ElGamal: example
Step 1: Let p = 23
Step 2: Select a primitive element g = 11
Step 3: Choose a private key x = 6
Step 4: Compute y = 116
(mod 23)
= 9
Public key is 9
Private key is 6
44. Introduction to Cryptography and Security Mechanisms 2005 44
ElGamal encryption
The first job is to represent the plaintext as a series
of numbers modulo p. Then:
1. Generate a random number k
2. Compute two values C1
and C2
, where
C1
= gk
mod p and C2
= Myk
mod p
3. Send the ciphertext C, which consists of the two
separate values C1
and C2
.
45. Introduction to Cryptography and Security Mechanisms 2005 45
ElGamal encryption: example
To encrypt M = 10 using Public key 9
1 - Generate a random number k = 3
2 - Compute C1= 113
mod 23 = 20
C2= 10 x 93
mod 23
= 10 x 16 = 160 mod 23 = 22
3 - Ciphertext C = (20 , 22 )
46. Introduction to Cryptography and Security Mechanisms 2005 46
ElGamal decryption
C1
= gk
mod p C2
= Myk
mod p
1 - The receiver begins by using their private key x to
transform C1
into something more useful:
C1
x
= (gk
)x
mod p
NOTE: C1
x
= (gk
)x
= (gx
)k
= (y)k
= yk
mod p
2 - This is a very useful quantity because if you divide
C2
by it you get M. In other words:
C2
/ yk
= (Myk
) / yk
= M mod p
47. Introduction to Cryptography and Security Mechanisms 2005 47
ElGamal decryption: example
To decrypt C = (20 , 22 )
1 - Compute 206
= 16 mod 23
2 - Compute 22 / 16 = 10 mod 23
3 - Plaintext = 10
48. Introduction to Cryptography and Security Mechanisms 2005 48
Security of ElGamal
1. Trying to decrypt a ciphertext without
knowledge of the private key
2. Trying to determine the private key
Recall the two different strategies for trying
to “break” RSA:
What hard problems do you come across if
you try to follow these two different strategies
to break ElGamal?
49. Introduction to Cryptography and Security Mechanisms 2005 49
ElGamal v RSA
PROS of ElGamal
• Does not rely on
factorisation being
hard
CONS of ElGamal
• Requires a random
number generator
• Message expansion
While regarded as similar from a security
perspective, are there any differences
between ElGamal and RSA from an efficiency
perspective?
50. Introduction to Cryptography and Security Mechanisms 2005 50
Public key systems in practice
• Public key cipher systems led to mini revolution in
cryptography in the mid 1970’s, with a further boom in
interest since the development of the Internet in the
1990’s.
• Public key cipher systems are only likely to grow in
importance in the coming years.
– In Unit 8 we discuss cryptographic services, some of which
involve public key techniques.
– One of the major applications of public key cipher systems is for
digital signatures, a topic that we explore in Unit 9
– We devote much of Unit 12 to considering the big problem of
authenticating public keys.
– We will discover in Unit 10 that a second major application of
public key cipher systems is to distribute and transfer symmetric
keys around a network, thus presenting public key cipher
systems as a useful enabler for faster symmetric cipher systems.
52. Introduction to Cryptography and Security Mechanisms 2005 52
Diffie-Hellman
The Diffie–Hellman (DH) key exchange technique was first defined
in their seminal paper in 1976.
DH key exchange is a method of exchanging public (i.e. non-secret)
information to obtain a shared secret.
DH is not an encryption algorithm.
DH key exchange has the following important properties:
1. The resulting shared secret cannot be computed by either of the
parties without the cooperation of the other.
2. A third party observing all the messages transmitted during DH
key exchange cannot deduce the resulting shared secret at the
end of the protocol.
53. Introduction to Cryptography and Security Mechanisms 2005 53
Principle behind DH
DH key exchange assumes first that there exists:
1. A public key cipher system that has a special property (we come to
this shortly).
2. A carefully chosen, publicly known function F that takes two
numbers x and y as input, and outputs a third number F(x,y) (for
example, multiplication is such a function).
DH key exchange was first proposed before there were any known
public key algorithms, but the idea behind it motivated the hunt for
practical public key algorithms.
DH key exchange is not only a useful and practical key
establishment technique, but also a significant milestone in the
history of modern cryptography.
54. Introduction to Cryptography and Security Mechanisms 2005 54
Principle behind DH
1. Alice and Bob exchange their public keys PA and PB.
2. Alice computes F(SA , PB)
3. Bob computes F(SB, PA)
4. The special property of the public key cipher system, and the choice
of the function F, are such that F(SA , PB) = F(SB, PA). If this is the
case then Alice and Bob now share a secret.
5. This shared secret can easily be converted by some public means
into a bitstring suitable for use as, for example, a DES key.
Assume that Alice and Bob are the parties who wish to establish a
shared secret, and let their public and private keys in the public key
cipher system be denoted by (PA , SA) and (PB , SB) respectively.
The basic principle behind Diffie–Hellman key exchange is as follows:
55. Introduction to Cryptography and Security Mechanisms 2005 55
Diffie-Hellman key exchange
The most commonly described implementation of DH key exchange uses
the keys of the ElGamal cipher system and a very simple function F.
The system parameters (which are public) are:
• a large prime number p – typically 1024 bits in length
• a primitive element g
1. Alice generates a private random value a, calculates ga
(mod p)
and sends it to Bob. Meanwhile Bob generates a private random
value b, calculates gb
(mod p) and sends it to Alice.
2. Alice takes gb
and her private random value a to compute
(gb
)a
= gab
(mod p).
3. Bob takes ga
and his private random value b to compute
(ga
)b
= gab
(mod p).
4. Alice and Bob adopt gab
(mod p) as the shared secret.
56. Introduction to Cryptography and Security Mechanisms 2005 56
DH questions
1. What is the hard problem on which the DH key
exchange algorithm is based?
2. Suppose that DH key exchange is used to
generate a symmetric key. Why might that key
be derived (but different from) the DH shared
secret?
3. The example of DH key exchange that we
described is based on ElGamal keys. Can you
use the public and private keys of any
established public key encryption algorithm to
implement DH key exchange?
57. Introduction to Cryptography and Security Mechanisms 2005 57
Man-in-the-middle attack
1. What will happen when Alice tries to send a message to
Bob, encrypted with a key based on her DH shared
secret?
2. Can Fred obtain the correct DH shared secret that
would have been established had he not interfered?
Alice BobFred
ga
(mod p) gf
(mod p)
gf
(mod p) gb
(mod p)
58. Introduction to Cryptography and Security Mechanisms 2005 58
Summary
• Public key systems replace the problem of distributing
symmetric keys with one of authenticating public keys
• Public key encryption algorithms need to be trapdoor one-way
functions
• RSA is a public key encryption algorithm whose security is
believed to be based on the problem of factoring large numbers
• ElGamal is a public key encryption algorithm whose security is
believed to be based on the discrete logarithm problem
• RSA is generally favoured over ElGamal for practical rather than
security reasons
• RSA and ElGamal are less efficient and fast to operate than
most symmetric encryption algorithms because they involve
modular exponentiation
• DH key exchange is an important protocol on which many real
key exchange protocols are based