Tématické skupiny v rámci předmětu PB173 Tematicky zaměřený vývoj aplikací v jazyce C/C++

1. týden / 1st week 16.9.2014 (úvod, kryptografické knihovny / introduction, cryptographic libraries)

Materiály

Slidy ze cvičení: Scribd

Bc. práce popisující možnosti OpenSSL (Petr Lefner)

Krátký dokument popisující využití OpenSSL a způsob linkování ve Visual Studiu

Teoretická část

Praktický úkol

  • Základní knihovny, nástroje (IDE, debugger)
  • Stažení knihovny http://www.openssl.org/source/ (verze 1.0.1i)
    • ověření PGP podpisu
  • Stažení knihovny http://polarssl.org/download_overview (verze 1.3.8)
  • Zašifrování/hašování zadaného souboru - příprava pro šifrování/dešifrování balíku dat vyměňovaných v rámci videokonference
    • extrakce algoritmů AES a SHA-2
    • vytvoření kódu, který bude používat AES a SHA-2 z PolarSSL
    • výstupem bude zašifrovaný soubor s připojenou hash hodnotou
    • načtení zašifrovaného souboru, dešifrování, ověření hash hodnoty
    • (pro potřeby této domácí úlohy použijte fixní klíč pro AES (konstanta v kódu), není nutné řešit distribuci klíče)
  • Nahrání úkolu jako jednoho zip souboru do odevzdávárny ISu (Crypto - 1. homework (AES+SHA2))
  • TERMÍN: do 22.9. 23:59 (první část)
    • program, který umí načítat, šifrovat, dešifrovat a verifikovat hash
    • textový soubor obsahující popis, jak jste provedli verifikaci PGP podpisu na OpenSSL balíku včetně získu veřejného klíče apod.
    • vybraná řešení budou diskutována během semináře 23.9.
    • hodnocení 0-5 bodů
  • TERMÍN: do 29.9. 23:59 (druhá část)
    • doplnění existujícího kódu dle diskuze v semináři
    • doplnění unit testů
    • hodnocení 0-5 bodů
 
------------------------------------------------------------------------------------------------------------------------------------

Materials

Slides from seminar: Scribd

Short tutorial about OpenSSL usage and linking inside Visual Studio

Teoretická část

Practical assignment (homework)

  • Basic libraries, tools (IDE, debugger)
  • Download library http://www.openssl.org/source/ (version 1.0.1i)
    • verify PGP signature
  • Download library, http://polarssl.org/download_overview (version 1.3.8)
  • Develop application capable to encrypt & hash supplied file (preparation for project)
    • extract algorithms AES and SHA-2 from PolarSSL
    • read file, encrypt with AES, compute SHA-2 hash, write into output file (encrypted + hash)
    • read file, decrypt with AES, verify hash value
    • (for the moment, use static key for AES - no key distribution required)
  • Upload application source codes as single zip file into IS Homework vault (Crypto - 1. homework (AES+SHA2))
  • DEADLINE: 22.9. 23:59 (first part)
    • application capable to read, encrypt, decrypt, hash
    • Text file containing description how you did PGP signature verification (whole process including import of public keys etc.)
    • selected solutions will be discussed during next lecture (23.9.)
    • 0-5 points assigned
  • DEADLINE 29.9. 23:59 (second part)
    • finalization of codes based on the discussions during lecture
    • addition of unit tests
    • 0-5 points assigned