last modification 2018/12/11
Lecturer: prof.Ing. Miloš Drutarovský, CSc.
Abstract (3/2e)Subject is focused on acquiring basic knowledge in the area of cryptography with secret and public keys, on basic types of symmetric ciphers DES, AES, RC4 and asymmetric ciphers RSA, El Gamal and ciphers based on elliptic curves. Students obtain basic knowledge about management of cryptographic keys, user authentication and authorization data using hash functions and digital signatures. To obtain basic practical experiences students will implement specific cryptografic blocks (primitives) in selected micorcontroller. After completing the course, students obtain overview about cryptography application in the area of embedded security.
Main topics:Information about lessons, exercises and conditions to get credits are available in the document AC.pdf.
Lessons will be given in the KEMT laboratory V002, Vysokoškolská 4.
Topics of final projects (GF128_multiplicationon in C)
Topics of the final exam (winter 2018)
Study materials:
Book Understanding Cryptography written by Christof Paar and Jan Pelzl will be used as the main study material. The book web page contains additional useful information including slides, errata and links to additional practical tools. Information about selected target microcontroller will be provided during next weeks.
MCU for Final Project:
The final project will be implemented on 8-bit
Analog Devices
ADuC
836
MCU
(a member of
MicroConverters
family
that use
MCU
core
with Intel 8051
instruction set).
The
project will be developed and tested by using
free
Keil C51 Evaluation Tools.
The coorrect functionality will be tested in Keil
uVision Debugger
that provides precise simulation
capability by using precise
ADuC 836 simulation model.
Hardware development board ADuC836EB1 (schematic,
layout)
will be available for hardware related
testing.
The Final word on the
8051 - on-line book about Intel 8051 (local
PDF).
Exercises materials (from subject Microprocessor Technology) related to Intel
8051 and ADuC836 - mt1,
mt2,
mt3,
mt4,
mt5,
mt6,
mt7,
mt8. ADuC 83x bootload PC control
software.
Useful AES implementation related resources:
Rijndael
- original AES proposal submitted to the NIST contest.
AES
-
Silabs Application Note about AES implementation on 8051
MCU (local PDF &
zip).
Extreme
compact AES implementation.
ADuC83x User Download (ULOAD) Mode, MicroConverter Technical Note -
uC007 (local PDF).
Useful programs and tools:
Cryptool Portal
- web page of the tool with graphical user interface supporting teaching of
cryptography and cryptonalysis.
Magma Calculator -
environment for
on-line computation by using
MAGMA system optimized for algebraic
computations (including ECC support).
Online MAGMA calculator is free and supports only time limited
computations.
Calc -
programmable "calculator" which provides for easy large numeric calculations (calc
package for Windows).
OpenSSL - cryptographic
library and run-time environment for cryptographic algorithms and protocols used
e.g. also in SSL and TLS implementations.
Links to actual
instalation packages for Windows and Linux operating
systems.
Dev C++ -
C/C++ IDE to be used for simple C programs developed during exercises and
home-works (simple
Make Tutorial - a short
introduction how to create simple makefile.
Interesting links:
PGP program -
compmuter program
for
počítačový program for encrypted communication,
basic information and history.
AES Matlab -
iimplementation of AES encryption standard in Matlab by
using well documented
m-files.
Handbook of Applied Cryptography -
electronic version of the book with detailed information
about cryptographic algorithms.
Encyclopedia of
Cryptography and Security -
additional book with detailed information
about cryptographic algorithms (online
access).
RSA
- original paper of R.L. Rivesta, A. Shamira, a L. Adlemana published in
Communications of the ACM, v. 21, n. 2, Feb 1978.
First 100000
prime numbers.