Cryptography
Fundamental
Nguyen Ngo, Ninh Dang
Agenda
Introduction
  Background
 • What ‘s Cryptography?
 • Purpose of Cryptography
Methodology
 • Key Definition
 • Cryptography Methods
 • Symmetric Encryption
        • Stream Cipher
        • Block Cipher
        • Mod of Operator
        • Padding Scheme
        • Code Example
 • Asymmetric Encryption
 • Hashing
Practical
  Key Exchange
  Digital Signature
INTRODUCTION
Background
What ‘s Cryptography?
Cryptography is the science
of using mathematics to
encrypt and decrypt data.
Cryptography enables you to
store sensitive information or
transmit it across insecure
networks (like the Internet) so
that it cannot be read by
anyone except the intended
recipient.
The Purpose of Cryptography
•   Authentication: this process to prove the identity of an entity can be
    based on something you know, such as a password; something you
    have, such as an encryption key or card; something you are, such as
    biometric measurements
•    Privacy/Confidentiality: information is NOT made available or
    disclosed to unauthorized individuals, entities, or processes
•    Integrity: This property refers to data that has NOT been changed,
    destroyed, or lost in an unauthorized or accidental manner.
•    Non-repudiation: Repudiation is the denial by one of the entities
    involved in a communication of having participated in all or part of the
    communication  Non-repudiation
    Authentication    : Xác thực người dùng
    Confidentiality   : Bảo mật thông tin
    Integrity       : Toàn vẹn dữ liệu
    Non-Repudiation : Chống lại sự thoái thác trách nhiệm
Key Definition
•Plaintext.   •Encryption.   •Key.
•Ciphertext   •Decryption.   •Key space.
METHODOLOGY
Cryptography Methods
• Symmetric
   Same key for encryption and decryption
   Key distribution problem
• Asymmetric
   Mathematically related key pairs for
   encryption and decryption
  Public and private keys
 Symmetric: Mã hóa đối xứng
 Asymetric : Mã hóa bất đối xứng
Symmetric Encryption



               

                       
Asymmetric Encryption



             

                        
Symmetric Algorithm
1. Block Ciphers
   •   Encrypt data one block at a time (typically 64 bits, or 128 bits)
   •   Used for a single message

2. Stream Ciphers
   •     Encrypt data one bit or one byte at a time
   •     Used if data is a constant stream of information




 Block Cipher: Mã hóa khối dữ liệu
 Stream Cipher: Mã hóa dòng dữ liệu
Block Cipher
•   Divide input bit stream into n-bit sections, encrypt only that section, no
    dependency/history between sections
Stream Cipher




         Stream Cipher
Mod of Operation
Modes of operation is the procedure of enabling the repeated
  and secure use of a block cipher under a single key
Mod of Operation Type:
• CBC (Cipher Block Chaining).
• ECB (Electronic Code Book).
• Propagating cipher-block chaining (PCBC)
• Cipher feedback (CFB)
• Output feedback (OFB)
• Counter (CTR)
ECB – Electronic Code Book




Disadvantage
CBC-Cipher Block Chaining





Padding
    Each TDES encrypts one block of 64 bits of data.

    What ‘s happen if PIN size have 30 bits data length ???
Padding Scheme: fill additional data to consist data block size.
Padding Type:
•     Bit padding:                       Byte padding:


         M            1 0…0                      M           L…L

        m bit        1 bit (L – 1) bit         m byte              L byte
Padding PKCS7
Padding is in whole bytes. The value of each added byte is the
number of bytes that are added.
Code Example
TDES ENCRYPTION:
public string SimpleTripleDes(string Data)
{
        byte[] key = Encoding.ASCII.GetBytes("passwordDR0wSS@P6660juht");
        byte[] iv   = Encoding.ASCII.GetBytes("password");
        byte[] data = Encoding.ASCII.GetBytes(Data);
        byte[] enc = new byte[0];

        TripleDES tdes = TripleDES.Create();
        tdes.IV = iv;
        tdes.Key = key;
        tdes.Mode = CipherMode.CBC;
        tdes.Padding = PaddingMode.PKCS7;


        ICryptoTransform ict = tdes.CreateEncryptor();
        enc = ict.TransformFinalBlock(data, 0, data.Length);
        return ByteArrayToString(enc);
}
Code Example
AES ENCRYPTION:
public static string EncryptData( byte[] plainText , byte[] keyBytes )

{

     RijndaelManaged rijndaelCipher = new RijndaelManaged();

     rijndaelCipher.Mode = CipherMode.CBC;

     rijndaelCipher.Padding = PaddingMode.PKCS7;

     rijndaelCipher.KeySize = 128;

     rijndaelCipher.BlockSize = 128;

     rijndaelCipher.Key = keyBytes;

     rijndaelCipher.IV = keyBytes;

     ICryptoTransform transform = rijndaelCipher.CreateEncryptor();

     byte[] cipherBytes = transform.TransformFinalBlock(plainText, 0, plainText.Length);

     return Convert.ToBase64String(cipherBytes);

}
Asymmetric Algorithm
• A user has two keys: a public key and a private
  key.
• A message can be encrypted with the public key
  and decrypted with the private key to provide
  security.
RSA




  In RSA, e and n are announced to the
     public; d and Φ are kept secret.
Strengths of RSA
Example RSA



      Source Code
Hashing
• Hashing is an irreversible process with
no keys, the clear message is the only
input for the hashing process

• Its role is to
ensure the integrity
of a message
Hashing
Code Example
MD5 ENCRYPTION:
public string CalculateMD5Hash(string input) {

    // step 1, calculate MD5 hash from input
     MD5 md5 = System.Security.Cryptography.MD5.Create();
     byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(input);
     byte[] hash = md5.ComputeHash(inputBytes);

    // step 2, convert byte array to hex string
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < hash.Length; i++) {
      sb.Append(hash[i].ToString("X2"));
    }
    return sb.ToString();
}
PRACTICAL
Key Exchange
Digital Signature
                                     Creation of
                                     Digitally signature
                                     document
                                     (sender)




                                     Verifying the
                                     digital signature




 Digital Signature: Chữ ký điện tử
THANK YOU

More Related Content

PPTX
Overview of cryptography
PPT
Cryptography Intro
PPTX
Cryptography
PPTX
Cryptography and Network Security
PDF
Introduction to Cryptography
PPTX
Cryptography
PDF
Introduction to Cryptography
Overview of cryptography
Cryptography Intro
Cryptography
Cryptography and Network Security
Introduction to Cryptography
Cryptography
Introduction to Cryptography

What's hot (20)

PPTX
Cryptography
PPTX
Cryptography and network security Nit701
ODP
Encryption presentation final
PPT
6. cryptography
PPTX
Cryptography
PPTX
cryptography
PDF
Information Security Cryptography ( L02- Types Cryptography)
PDF
A Brief History of Cryptography
PPTX
Advanced cryptography and implementation
PPTX
Cryptography.ppt
PPTX
Network security and cryptography
PPTX
Cryptography
PPTX
Transposition Cipher
PPT
Cryptography
PPTX
Cryptography
PPT
Cryptography
PPTX
Introduction to Cryptography
PPTX
PPT
Criptografia
PPTX
Encryption
Cryptography
Cryptography and network security Nit701
Encryption presentation final
6. cryptography
Cryptography
cryptography
Information Security Cryptography ( L02- Types Cryptography)
A Brief History of Cryptography
Advanced cryptography and implementation
Cryptography.ppt
Network security and cryptography
Cryptography
Transposition Cipher
Cryptography
Cryptography
Cryptography
Introduction to Cryptography
Criptografia
Encryption
Ad

Similar to Cryptography Fundamentals (20)

PDF
Analysis of Cryptographic Algorithms for Network Security
PPT
Network Security: Standards and Cryptography
PPT
Crypt
PPTX
Cryptography and Network Security Principles.pptx
PPTX
Cryptography
DOCX
Cryptography and security
PPTX
Cryptography .pptx
PPTX
big data and Iot , its security part ,hoe yoy help this
PPTX
Cryptography
PPTX
Sankar jayam
PPTX
Cryptography /Sankar jayam
PPTX
NS UNIT 1 Advanced Encryption Standard& RSA
PPTX
Cryptography by gaurav singh
PPTX
CH02-CompSec4e.pptx
PDF
Basic Cryptography.pdf
PDF
White Paper on Cryptography
DOCX
Cryptography- "A Black Art"
PPTX
CISSP - Chapter 3 - Cryptography
PPTX
Networking Advance Concepts with handson experience
Analysis of Cryptographic Algorithms for Network Security
Network Security: Standards and Cryptography
Crypt
Cryptography and Network Security Principles.pptx
Cryptography
Cryptography and security
Cryptography .pptx
big data and Iot , its security part ,hoe yoy help this
Cryptography
Sankar jayam
Cryptography /Sankar jayam
NS UNIT 1 Advanced Encryption Standard& RSA
Cryptography by gaurav singh
CH02-CompSec4e.pptx
Basic Cryptography.pdf
White Paper on Cryptography
Cryptography- "A Black Art"
CISSP - Chapter 3 - Cryptography
Networking Advance Concepts with handson experience
Ad

More from Duy Do Phan (13)

PPTX
Twitter Bootstrap Presentation
PPT
BlackBerry Basic
PPT
PCI DSS
PPT
PPTX
Location based AR & how it works
PPT
Linux Introduction
PPT
Iso8583
PPT
PPT
Android Programming Basic
PPTX
iOS Basic
PPT
SMS-SMPP-Concepts
PPT
One minute manager
PPTX
Work life balance
Twitter Bootstrap Presentation
BlackBerry Basic
PCI DSS
Location based AR & how it works
Linux Introduction
Iso8583
Android Programming Basic
iOS Basic
SMS-SMPP-Concepts
One minute manager
Work life balance

Cryptography Fundamentals

  • 2. Agenda Introduction  Background • What ‘s Cryptography? • Purpose of Cryptography Methodology • Key Definition • Cryptography Methods • Symmetric Encryption • Stream Cipher • Block Cipher • Mod of Operator • Padding Scheme • Code Example • Asymmetric Encryption • Hashing Practical  Key Exchange  Digital Signature
  • 5. What ‘s Cryptography? Cryptography is the science of using mathematics to encrypt and decrypt data. Cryptography enables you to store sensitive information or transmit it across insecure networks (like the Internet) so that it cannot be read by anyone except the intended recipient.
  • 6. The Purpose of Cryptography • Authentication: this process to prove the identity of an entity can be based on something you know, such as a password; something you have, such as an encryption key or card; something you are, such as biometric measurements • Privacy/Confidentiality: information is NOT made available or disclosed to unauthorized individuals, entities, or processes • Integrity: This property refers to data that has NOT been changed, destroyed, or lost in an unauthorized or accidental manner. • Non-repudiation: Repudiation is the denial by one of the entities involved in a communication of having participated in all or part of the communication  Non-repudiation Authentication : Xác thực người dùng Confidentiality : Bảo mật thông tin Integrity : Toàn vẹn dữ liệu Non-Repudiation : Chống lại sự thoái thác trách nhiệm
  • 7. Key Definition •Plaintext. •Encryption. •Key. •Ciphertext •Decryption. •Key space.
  • 9. Cryptography Methods • Symmetric  Same key for encryption and decryption  Key distribution problem • Asymmetric  Mathematically related key pairs for encryption and decryption Public and private keys Symmetric: Mã hóa đối xứng Asymetric : Mã hóa bất đối xứng
  • 12. Symmetric Algorithm 1. Block Ciphers • Encrypt data one block at a time (typically 64 bits, or 128 bits) • Used for a single message 2. Stream Ciphers • Encrypt data one bit or one byte at a time • Used if data is a constant stream of information Block Cipher: Mã hóa khối dữ liệu Stream Cipher: Mã hóa dòng dữ liệu
  • 13. Block Cipher • Divide input bit stream into n-bit sections, encrypt only that section, no dependency/history between sections
  • 14. Stream Cipher Stream Cipher
  • 15. Mod of Operation Modes of operation is the procedure of enabling the repeated and secure use of a block cipher under a single key Mod of Operation Type: • CBC (Cipher Block Chaining). • ECB (Electronic Code Book). • Propagating cipher-block chaining (PCBC) • Cipher feedback (CFB) • Output feedback (OFB) • Counter (CTR)
  • 16. ECB – Electronic Code Book Disadvantage
  • 18. Padding Each TDES encrypts one block of 64 bits of data. What ‘s happen if PIN size have 30 bits data length ??? Padding Scheme: fill additional data to consist data block size. Padding Type: • Bit padding: Byte padding: M 1 0…0 M L…L m bit 1 bit (L – 1) bit m byte L byte
  • 19. Padding PKCS7 Padding is in whole bytes. The value of each added byte is the number of bytes that are added.
  • 20. Code Example TDES ENCRYPTION: public string SimpleTripleDes(string Data) {         byte[] key = Encoding.ASCII.GetBytes("passwordDR0wSS@P6660juht");         byte[] iv = Encoding.ASCII.GetBytes("password");         byte[] data = Encoding.ASCII.GetBytes(Data);         byte[] enc = new byte[0];         TripleDES tdes = TripleDES.Create();         tdes.IV = iv;         tdes.Key = key;         tdes.Mode = CipherMode.CBC;         tdes.Padding = PaddingMode.PKCS7;         ICryptoTransform ict = tdes.CreateEncryptor();         enc = ict.TransformFinalBlock(data, 0, data.Length);         return ByteArrayToString(enc); }
  • 21. Code Example AES ENCRYPTION: public static string EncryptData( byte[] plainText , byte[] keyBytes ) { RijndaelManaged rijndaelCipher = new RijndaelManaged(); rijndaelCipher.Mode = CipherMode.CBC; rijndaelCipher.Padding = PaddingMode.PKCS7; rijndaelCipher.KeySize = 128; rijndaelCipher.BlockSize = 128; rijndaelCipher.Key = keyBytes; rijndaelCipher.IV = keyBytes; ICryptoTransform transform = rijndaelCipher.CreateEncryptor(); byte[] cipherBytes = transform.TransformFinalBlock(plainText, 0, plainText.Length); return Convert.ToBase64String(cipherBytes); }
  • 22. Asymmetric Algorithm • A user has two keys: a public key and a private key. • A message can be encrypted with the public key and decrypted with the private key to provide security.
  • 23. RSA In RSA, e and n are announced to the public; d and Φ are kept secret.
  • 25. Example RSA Source Code
  • 26. Hashing • Hashing is an irreversible process with no keys, the clear message is the only input for the hashing process • Its role is to ensure the integrity of a message
  • 28. Code Example MD5 ENCRYPTION: public string CalculateMD5Hash(string input) { // step 1, calculate MD5 hash from input MD5 md5 = System.Security.Cryptography.MD5.Create(); byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(input); byte[] hash = md5.ComputeHash(inputBytes); // step 2, convert byte array to hex string StringBuilder sb = new StringBuilder(); for (int i = 0; i < hash.Length; i++) { sb.Append(hash[i].ToString("X2")); } return sb.ToString(); }
  • 31. Digital Signature Creation of Digitally signature document (sender) Verifying the digital signature Digital Signature: Chữ ký điện tử

Editor's Notes

  • #2: Section divider 1
  • #3: Slide text 2
  • #4: Section divider 1
  • #9: Section divider 1
  • #30: Section divider 1
  • #33: Section divider 2